@charset "utf-8";

/*----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

	Common

--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------
	none
----------------------------------------------------------*/

@media print, screen and (min-width: 960px) {
.sp{ display:none !important;}
}

@media screen and (max-width: 959px) {
.pc{display:none !important;}
}

/*--------------------------------------------------------
	画像幅指定
----------------------------------------------------------*/

img{max-width:100%;}

#container {
  background: #FFF;
  padding-top: 0px;
}

/*--------------------------------------------------------
	headerSec
----------------------------------------------------------*/
.headerSec{
	background:#fff;
	width:100%;
	position:fixed; 
	height:70px;
	z-index:1000;
}
@media screen and (max-width: 959px) {
  .headerSec{
    overflow:hidden;
    padding:0px 0px 0px 0px;
    height:48px;
    margin:0px;
    width:100%;
    background: rgba(255,255,255,1.0);
  }
}

.headerSec .inner{
	position:relative;
	max-width:100%;
	margin:0px auto 0px auto;
}

/*	siteID */
.headerSec .siteID{
	position:absolute;
	top:10px;
	left:10px;
	width: 330px;
}

@media screen and (max-width: 959px) {
	.headerSec .siteID{
	position:absolute;
	top:10px;
	left:10px;
	font-size:1.8rem;
	letter-spacing:-2px;
	line-height:100%;
	width:250px;
	}
.headerSec .siteID span{
	font-size:1.2rem;
	letter-spacing:0px;
}
}

/*	gNavi */
.gNavi{
	float:right;
	top:0px;
	padding-right:8px;
}
@media only screen and (min-width: 959px) and (max-width: 1200px){
  .gNavi{
    float:right;
    top:0px;
    padding-right:5px;
  }
  .headerSec .siteID{
	position:absolute;
	top:20px;
	left:10px;
	width: 250px;
}
}

	.gNavi ul li{
		float: left;
	}
	
	.gNavi ul li a{
		position: relative;
		display:block;
		height:46px;
		padding:24px 14px 0px 14px;
		font-size:1.3rem;
	}
@media only screen and (min-width: 959px) and (max-width: 1200px){
  .gNavi ul li a{
    padding:24px 8px 0px 8px;
    font-size:1.2rem;
  }
}

	.gNavi ul li a::after{
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #5C2C61;
		content: '';
		opacity: 0;
		-webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
		-moz-transition: height 0.3s, opacity 0.3s, -moz-transform 0.3s;
		transition: height 0.3s, opacity 0.3s, transform 0.3s;
	}
	
	.gNavi ul li a:hover::after,
	.gNavi ul li a:focus::after,
	.gNavi ul li a.crnt::after{
		height: 2px;
		opacity: 1;
	}
	
	.gNavi ul li a.crnt{
		color:#5C2C61;
	}

/*	fmbtn */
.headerSec .fmbtn{
	float:right;
	right:0px;
	background:#5C2C61;
}

.headerSec .fmbtn a{
	display:block;
	height:48px;
	width:170px;
	text-align:center;
	padding-top:22px;
	color:#fff;
	font-weight:bold;
}
  
.headerSec .fmbtn a:hover{
	  background:#666;
	  color:#fff;
}
.headerSec .fmbtn a:visited{
	color: #fff;
}
@media only screen and (min-width: 959px) and (max-width: 1200px){
  .headerSec .fmbtn {
    padding-right:0px;
	color:#fff;
  }
}


@media screen and (max-width: 959px) {
	.headerSec .hMenu{
		background:#5DB8A2;
		float:right;
		display: block;
		width: 50px;
		height:52px;
		padding-top:16px;
		text-align:center; 
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;  
	}

	.headerSec .hMenu img{
		width: 24px;
	}
}

/*--------------------------------------------------------
	titleSec
----------------------------------------------------------*/

.titleSec{
	width:100%;
	background:url(../img/page_ttl.jpg) no-repeat center 70px;
	background-size:cover;
	height:140px;
	padding-top:120px;
  margin-bottom: 5px;
}
@media screen and (max-width: 959px) {
  .titleSec{
    background:url(../img/page_ttls.jpg) no-repeat center top;
	  background-size: cover;
    height:90px;
    padding-top:80px;
    margin-bottom: 25px;
  }
}


.titleSec h2{
	font-size:4.0rem;
	color:#fff;
	width:100%;
	text-align:center;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
  .titleSec h2{
    font-size:2.8rem;
  }
}

.titleSec .eng{
	font-family: 'Roboto', sans-serif;
	font-size:1.8rem;
	color:#fff;
	width:100%;
	text-align:center;
	letter-spacing:0.6rem;
}
@media screen and (max-width: 959px) {
  .titleSec .eng{
    font-size:1.3rem;
  }
}



/*--------------------------------------------------------
	topicpass
----------------------------------------------------------*/
 .topicpass-list {
    padding: 8px 0;
    width: 1180px;
    margin: 0 auto; }
 .topicpass-list li {
      float: left;
      position: relative;
      padding-right: 24px; }
  .topicpass-list li a, .topicpass-list li .topicpass__no-link {
        color:#2692FF;
        font-size: 1.3rem; }
  .topicpass-list li a:hover, .topicpass-list li .topicpass__no-link:hover {
          text-decoration: underline; }
 .topicpass-list li a::after, .topicpass-list li .topicpass__no-link::after {
          display: inline-block;
          content: ">";
          position: absolute;
          padding-right: 0px;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 8px;
          margin: auto; }



/*--------------------------------------------------------
	contentsSec
----------------------------------------------------------*/
.contentsSec .ttlBox01{
  text-align: center;
	margin-top: 50px;
  margin-bottom: 40px;
}

.contentsSec .ttlBox01 .ttl{
	font-size:3.8rem;
  font-weight: normal;
  line-height: 120%;
}
.contentsSec .ttlBox01 p{
font-family: 'Gabriola';
	font-size:1.8rem;
	line-height: 120%;
	display:block;
	color:#F6B6AB;
	font-weight: normal;
	letter-spacing: 0.2rem;
}

@media screen and (max-width: 959px) {
.contentsSec{
  padding: 0 10px;
}

}


@media screen and (max-width: 599px) {
.contentsSec .ttlBox01{
	margin-top: 20px;
  margin-bottom: 10px;
}
  .contentsSec .ttlBox01 .ttl{
    font-size:2.2rem;
  }
}

.cnt{
  text-align: center;
  font-size: 2.0rem;
  line-height: 2.0;
}
.catch{
  text-align: center;
  font-size: 2.0rem;
  line-height: 1.8;
  margin:0 auto 50px auto;
  max-width: 1120px;
}
@media screen and (max-width: 959px) {
  .catch{
    font-size: 1.4rem;
    line-height: 170%;
    margin :0px 10px 30px 10px;
    max-width:100%;
	text-align:left;
  }
}
.contentsSec .ttl02{
  position: relative;
	font-size:2.6rem;
	color:#666;
  line-height: 1.3;
  text-align: center;
  padding: 30px 15px 20px 15px;
  margin-bottom: 35px;
}
.contentsSec .ttl02 span{
	font-size:5.5rem;
  line-height: 1.3;
}

.contentsSec .ttl02:before {
  background: #eee;
  content: "";
  height: 8px;
  width: 172px;
  left:calc(50% - 86px);
  position: absolute;
  bottom: 0px;
}

@media screen and (max-width: 959px) {
.contentsSec .ttl02{
	font-size:2.0rem;
  line-height: 1.3;
  text-align: center;
  padding: 0px 15px 20px 15px;
  margin-bottom: 15px;
}
.contentsSec .ttl02 span{
	font-size:3.0rem;
  line-height: 1.3;
}

.contentsSec .ttl02:before {
  height: 3px;
  width: 172px;
}



}



/*----------- #pagetop -----------*/
#pagetop {
	display:none;
	position:fixed;
	bottom:0px;
	right:30px;
	width:92px;
	height:auto;
	z-index: 100;
	opacity:none;
}


@media screen and (max-width: 959px) {
	
#pagetop{
	width: 50px;
	height:auto;
  right: 10px;
}
}

/*--------------------------------------------------------
	contact-wrapper
----------------------------------------------------------*/

.contact-wrapper {
	margin: 0;
	padding: 80px 0;
	width: 100%;
	background-color: #fff;
	overflow:hidden;
	border-top:1px #ccc solid;
}

.contact-wrapper__inner {
	margin: 0 auto;
	width: 1200px;
}

.contact-wrapper__inner__title {
	width: 290px;
	float: left;
}
.contact-wrapper__inner__right {
	padding: 10px 0 0;
	height: 100px;
	float: right;
}
.contact-wrapper__inner__right__text {
	margin-bottom: 17px;
	font-size: 2.4rem;
	line-height: 1.2em;
	color: #111;
	font-weight: 500;
}
.contact-wrapper__inner__right__text span {
	margin-bottom: 10px;
	font-size: 1.3rem;
	color: #666;
}
.contact-wrapper__inner__right__tel {
	width: 530px;
	float:left;
	display:block;
}

.contact-wrapper__inner__right .mail{
	width: 320px;
	float: right;
}

@media screen and (max-width: 959px) {


.contact-wrapper {
	padding: 30px 0;
	margin-bottom:10px;
}

.contact-wrapper__inner {
	margin: 0 auto;
	width: 100%;
	overflow:hidden;
}

.contact-wrapper__inner__title {
	font-size: 2.2rem;
	line-height: 2.0em;
	margin:0 auto;
	width: 80%;
	float: none;
	overflow:hidden;
	text-align:center;
}
.contact-wrapper__inner__right {
	padding: 10px 0 0;
	width: 100%;
	height: 100px;
	float: none;
}
.contact-wrapper__inner__right__text {
	font-size: 1.4rem;
	line-height: auto;
	text-align:center;
	width:90%;
	margin:0 auto 10px;
}

.contact-wrapper__inner__right__tel {
	width: 80%;
	margin:0 auto 20px;
	text-align:center;
	float:none;
}

.contact-wrapper__inner__right .mail{
	width: 100%;
	float: right;
}

}



/*
link
-------------------------------------------*/
.contentsSec a.link{
	max-width:360px;
	margin:0px auto 0px auto;
	text-align:center;
	display:block;
	border:2px solid #46AC9B;
	font-size:1.6rem;
	color:#fff;
	padding:15px 0px;
	position:relative;
	background:#46AC9B;
	border-radius: 10px;
	-moz-border-radius: 10px; /* for Firefox */
    -webkit-border-radius: 10px; /* for Chrome */
}

.contentsSec a.link::after{
    display: block;
    content: '';
    position: absolute;
    top: 35%;
    right: 20px;
    width: 14px;
    height: 14px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  
  .contentsSec a.link:hover{
	  background:#fff;
	  color:#000;
}

.contentsSec a.link:hover::after{
    border-right: 2px solid #46AC9B;
    border-bottom: 2px solid #46AC9B;
  }


.contentsSec .back a.link::after{
    top: 35%;
    left: 20px;
    width: 14px;
    height: 14px;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
	 border-right: none;
    border-bottom: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
 .contentsSec .back a.link:hover::after{
    border-top: 2px solid #F98767;
    border-left: 2px solid #F98767;
  }
 
  .contentsSec .back{
 margin:80px 0;
  }
 
/*--------------------------------------------------------
	footerSec
----------------------------------------------------------*/
footer{
	padding-top:40px;
	width: 100%;
	background-color: #F9F0F8;
}
@media screen and (max-width: 959px) {
  footer{
    padding-top:30px;
  }
}

footer .inner{
	background: url(../img/ftlogo.png) no-repeat left top;
	margin:0px auto 30px auto;
	max-width:1180px;
	height:250px;
}

@media screen and (max-width: 959px) {
  footer .inner{
    margin:0px 0px 0px 0px;
    width:100%;
	background: url(../img/ftlogo.png) no-repeat center bottom;
  }
}

/* com */
footer dl.com {
  margin-bottom:5px;
  float:left;
  padding-left:230px;
}
footer dl.com a {
	color:#5B2C60;
}

@media screen and (max-width: 959px) {
  footer dl.com {
    margin-bottom:5px;
	width:100%;
	padding-left:0px;
  }
}

footer dl.com dt {
	font-size: 2.0rem;
	line-height: 1.3em;
	font-weight: 400;
}
@media screen and (max-width: 959px) {
  footer dl.com dt {
    float:none;
    padding-right:0px;
    font-size:1.8rem;
    text-align:center;
  }
}


@media screen and (max-width: 959px) {
  footer dl.com dt span {
    display:block;
  }
}

footer dl.com dd.ad {
  font-size: 1.6rem;
	line-height: 1.7em;
}
@media screen and (max-width: 959px) {
  footer dl.com dd.ad {
    line-height:160%;
    text-align:center;
    padding: 14px 0px 12px 0px;
    font-size:1.4rem;
  }
}

/* link area */
footer .link-area {
	padding:0px 0px 0px 0px;
	margin-left:300px;
	float:right;
}

footer ul.linkList {
  overflow:hidden;
  float:left;
}

footer ul.linkList li {
background: url(../img/arw01.png) no-repeat left center;
  padding-left:13px;
  padding-right:50px;
  font-size:1.4rem;
}

footer ul.linkList li a {
	color:#5B2C60;

}


ul.sns {
	clear: both;
	padding: 0px;
}

ul.sns li{
	float: left;
	margin-bottom: 20px;
	margin-right: 10px;
	width:45px;
}
ul.sns li a{
	text-align: center;
}

@media screen and (max-width: 959px) {
ul.sns {
	clear: both;
	padding-top: 120px;
	width:160px;
	margin: 0 auto;
}

ul.sns li{
	margin-bottom: 20px;
	margin-right: 10px;
	width:35px;
}
ul.sns li a{
	text-align: center;
}
}

@media screen and (max-width: 959px) {
.mesns {
	margin: 0 auto;
	padding-top:15px;
	overflow: hidden;
}

.mesns p{
	float: left;
	margin-bottom: 20px;
	margin-right: 8%;
	width:25%;
}
.mesns p a{
	text-align: center;
}
}


/* copyright */

#copy{
	width: 100%;
	height: 30px;
	color: #fff;
	text-align: center;
	background-color: #5C2C61;
	padding-top:10px;
}
@media screen and (max-width: 959px) {
  #copy{
    margin-top:80px;
  }
}

#copy p {
  font-size:1.2rem;
  font-weight:normal;
  text-align:center;
}


ul.caulist {
	background:#eee;
	padding: 15px 60px;
}

ul.caulist li{
	list-style: circle;
	margin-bottom: 10px;
}
ul.caulist li a{
	text-decoration: underline;
}



/*--------------------------------------------------------
	infoSec
----------------------------------------------------------*/

#top ul.infoList01{
	border-top:1px dotted #C8C8C8;
}
@media screen and (max-width: 959px) {
  ul.infoList01{
    margin:0px 0px 10px 0px;
    border:none;
  }
}
	ul.infoList01 li a{
		display: block;
		text-decoration: none;
		border-bottom:1px dotted #C8C8C8;
		padding:22px 4px 20px 4px;
		overflow: hidden;
		color:#333333 !important;
	}
  @media screen and (max-width: 959px) {
    ul.infoList01 li a{
      padding:12px 40px 20px 10px !important;
      overflow: hidden;
      color:#333333 !important;
      position: relative;
    }
    ul.infoList01 li a::after{
      position: absolute;
      top: 0;
      bottom: 0;
      right:20px;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 20px;
      height: 20px;
      border-top: 2px solid #9CBA28;
      border-right: 2px solid #9CBA28;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
    }
  }
	
	#top ul.infoList01 li a{
		padding:12px 4px 10px 4px;
	}
		ul.infoList01 li a:hover{
			background-color:#EDF5D8;
		}
    @media screen and (max-width: 959px) {
      ul.infoList01 ul li a:hover{
        background-color:#EDF5D8;
      }
    }
		ul.infoList01 li a .day{
			width: 155px;
			float: left;
			font-size: 1.3rem;
		}
    @media screen and (max-width: 959px) {

      ul.infoList01 li a .day{
          width: auto;
          font-size: 1.5rem;
          color:#88B500;
          float: none;
        }
    }
		
			ul.infoList01 li a .day .infoIcon,
			.infoTitle .infoIcon{
				background-color:#5977B5;
				color: #FFF;
				font-size:1.1rem;
				width: 65px;
				text-align: center;
				display: inline-block;
				margin:0px 0px 0px 10px;
				line-height: 1.0;
				padding:6px 0px 5px 0px;
			}
			
			ul.infoList01 li a .day .updata,
			.infoTitle .updata{
				background-color:#EC6286;
				color: #FFF;
				font-size:1.1rem;
				width: 65px;
				text-align: center;
				display: inline-block;
				margin:0px 0px 0px 10px;
				line-height: 1.0;
				padding:6px 0px 5px 0px;
			}
      
			ul.infoList01 li a .day .recIcon,
			.infoTitle .recIcon{
				background-color:#FEA005;
				color: #FFF;
				font-size:1.1rem;
				width: 65px;
				text-align: center;
				display: inline-block;
				margin:0px 0px 0px 10px;
				line-height: 1.0;
				padding:6px 0px 5px 0px;
			}
		
			ul.infoList01 li a .title01 .newIcon,
			.infoTitle .newIcon{
				color: #F00;
				font-size: 1.4rem;
			}
      @media screen and (max-width: 959px) {
          ul.infoList01 li a .day .infoIcon,
          ul.infoList01 li a .day .updata
          .infoTitle .infoIcon,
          .updata .infoIcon{
            font-size:1.2rem;
            width: 82px;
            padding:3px 0px 2px 0px;
          }
      }

		ul.infoList01 li a .title01{
			width: 538px;
			float: left;
		}
    @media screen and (max-width: 959px) {
        ul.infoList01 li a .title01{
          width: auto;
          float:none;
        }
      }			
			ul.infoList01 li a .title01 .newIcon{
				color: #F00;
				font-size: 1.3rem;
			}

/*--------------------------------------------------------
	pageSend01
----------------------------------------------------------*/

.pageSend01{
	margin:60px 10px 0px 10px;
	text-align:center;
	box-sizing:border-box;
}
@media screen and (max-width: 959px) {
	.pageSend01{
		margin:30px 5px 0px 5px;
	}
}

	.pageSend01 li{
		display: inline;
		margin:0px 1px 0px 1px;
		text-align: center;
		box-sizing:border-box;
	}
	
		.pageSend01 li a{
			background-color:#EDF4D9;
			padding:10px 15px 10px 15px;
			vertical-align:middle;
		}
    @media screen and (max-width: 959px) {
      .pageSend01 li a{
        margin:0px 1px 0px 1px;
        height:44px;
        width: 15%;
        text-align: center;
        box-sizing:border-box;
      }
    }

		.pageSend01 .active a,
		.pageSend01 a:hover{
			background:#8AB824;
			color: #fff;
			text-decoration: none;
		}
			
		.pageSend01 li.prev a{
			background-image:url(../img/common/ps_prev_arrow01.png);
			background-repeat:no-repeat;
			background-position:0px 50%;
			text-decoration: underline;
			background-color:#ffffff;
		}
    @media screen and (max-width: 959px) {
      .pageSend01 li.prev a{
        padding:10px 0px 10px 10px;
      }
    }
		
		.pageSend01 li.next a{
			background-image:url(../img/common/ps_next_arrow01.png);
			background-repeat:no-repeat;
			background-position:right 50%;
			text-decoration: underline;
			background-color:#ffffff;
		}
    @media screen and (max-width: 959px) {
      .pageSend01 li.next a{
        padding:10px 10px 10px 0px;
      }
    }
		
			.pageSend01 li.prev a:hover,
			.pageSend01 li.next a:hover{
				color: #F89700;
			}




