@charset "utf-8";
/* CSS Document */

header{
	width:100%;
	border-bottom: solid #5F00C7 10px;
	background: #FFF;
	height: 102px;
	position: relative;
	z-index: 1;
}
header::after{
  content: "";  /* 新しいコンテンツ */
  display: block;
  clear: both;
  height:2px;
	width:100%;
	background: #FF017E;

	position: absolute;
	bottom: 0px;
	left:00%;
	z-index:998;
}
header .inhead {
  width: 89.3%;
  max-width: 960px;
  margin: 0px auto 0;
  padding-top: 19px;
  padding-bottom: 18px;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 999;
  align-items: center;
  height: 100%;
}
@media only screen and (max-width:767px) {
header{
	width:100%;
	border-bottom:none;
	background:none;
	height: auto;
	position: relative;
		position: Fixed;
		top:0;
		left: 0;
	z-index: 999;
}

	header .inhead{

		
		width:100%;
		background: #FFF;
		padding: 0 0 0 5.3vw;
		height: 17.06vw;
	}
	
}
header nav{
	padding-top:17px;
	position: relative;
	z-index: 1;
}
@media only screen and (max-width:767px) {
	header .pcmenu{
		display: none;
	}
}

header nav ul li{
	display:inline-block;
	padding:0 10px;
}


header nav ul li a{
color: #D33283 !important;

}
@media only screen and (max-width:968px) {
	header nav ul li a{

	}
	
}
@media only screen and (max-width:767px) {
	header nav ul li a{
	color: #FFF !important;
	}
}
#logo{
	width:25.2%;
}
#logo a{
	display: block;
}
@media only screen and (max-width:767px) {
	#logo{
		width:51.2vw;
		padding-top:3.5vw;
	}
}
#rightlogo{
	width:16.45%;
	max-width: 158px;
	position: absolute;
	top:50%;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(-0%, -50%);
    -ms-transform: translate(-0%, -50%);
	right: 0;
}
@media only screen and (max-width:767px) {
	#rightlogo{
		display: none;
	}
	
}
header nav.pcmenu{
	margin-right: 17.45% ;
	
}
header nav a.ulink
{
	color:#D33283;
	letter-spacing: 0.04em;
	font-size: 15px;
	color: #D33283;
	padding-bottom: 15px;
	position: relative;
	line-height: 1;
}
@media only screen and (max-width:888px) {
	header nav a.ulink
	{

		font-size: 13px;

	}
}
header nav a.ulink:hover::after,.megamenu:hover::after{
  content: "";  /* 新しいコンテンツ */
  display: block;
  clear: both;
  height:1px;
	width:45px;
	background: #D33283;

	position: absolute;
	bottom: 0px;
	left:50%;
    transform: translate(-50%, -0%);
    -webkit-transform: translate(-50%, -0%);
    -ms-transform: translate(-50%, -0%);
	z-index:998;
}
.megamenu:hover::after{
	bottom: -15px;
	
}
header nav .megamenu a:hover::after{
  content: "";  /* 新しいコンテンツ */
  display: none;

}
header nav.pcmenu .megamenu li{
  padding:0;
	display: block;
}
@media only screen and (max-width:1085px) {
	header nav ul li{
		padding:0 2px;
	}
	header nav a {
	  font-size: 15px;
	
	}
}
@media only screen and (max-width:767px) {
		header nav ul li{
			padding:0 4px;
		}
	}
#pagetop{
	width:92px;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 7;
}
@media only screen and (max-width:767px) {
	#pagetop{
		width: 10vw;
	  right: 4vw;
	  bottom: 25vw;
	}
}
footer{
		background:url("../img/common/pcback1.png") repeat-y;
		background-size:100% auto;
	width:100%;
	padding:40px 0;
}
@media only screen and (max-width:767px) {
	footer{
		background:url("../img/common/spback1.png") repeat-y;
		background-size:100% auto;
	}	
	
}
footer h4{
	width:100%;
	font-size:15px;
	line-height: 1;
	margin-bottom: 30px;
	text-align: center;
}
footer .in{
	justify-content: space-between;
	width:455px;
	margin:0 auto;
}
footer .in .left{
	width:27.47%;
}
footer .in .right{
	width:61.5%;
}
#copyright{
	background: #FFF;
	width:100%;
	text-align: center;
	font-size: 14px;
	line-height: 1;
	padding:30px 0;
}
@media only screen and (min-width:768px) {
	footer h4 br,#copyright br{
		display: none;
	}
	
}
@media only screen and (max-width:767px) {
	footer{
		background:url("../img/common/pcback.png") no-repeat;
		background-size: cover;
		width:100%;
		padding:9.33vw 0 10.6vw;
	}
	footer h4{
		width:100%;
		font-size:4vw;
		line-height: 1.71;
		margin-bottom: 6.66vw;
		text-align: center;
	}
	footer .in{
		justify-content: space-between;
		width:89.3%;
		margin:0 auto;
		display: block;
	}
	footer .in .left{
		width:33.33vw;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 7.2vw;
	}
	footer .in .right{
		width:100%;
	}
	footer .in .right .morebtn{
		margin-left: auto;
		margin-right: auto;
	}
	#copyright{
		background: #FFF;
		width:100%;
		text-align: center;
		font-size: 3.2vw;
		line-height: 1.75;
		padding:4vw 0 10.66vw;
	}
}


/*sp*/


.spmenutab{
	background:#E87A8A ;
	padding:0vw 0 6.1vw 4.8vw;
	width:32vw;
	height: 17.06vw;
	color:#FFF;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:4.2vw;
	line-height: 1;
	display: none;
	align-items: flex-end;
}
@media only screen and (max-width:767px) {
	.spmenutab{
		display:flex;
	}
	
}
.spmenutab .menuiconlay{
	width:9.3vw;
	display: inline-block;
	position: relative;
	line-height:1;
	height: 3.7vw;
	margin-right: 2.4vw;
}
.spmenutab .menuiconlay span{
	width:100%;
	height: 2px;
	line-height: 0;
	background: #FFF;
	position: absolute;
	transition: all 0.3s ease; /* これでアニメーション */
}
.spmenutab .menuiconlay span:nth-child(1){
	top:0;
	left: 0;
}
.spmenutab .menuiconlay span:nth-child(2){
	bottom:0;
	left: 0;
}
.spmenutab.on .menuiconlay span:nth-child(1){
 	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%)  rotate(45deg);; /* 自分の幅・高さの半分だけ戻す */

}
.spmenutab.on .menuiconlay span:nth-child(2){
 	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%)  rotate(-45deg);; /* 自分の幅・高さの半分だけ戻す */
}
.spmenu{
	position: Fixed;
	top:17.06vw;
	left:-150vw;
	background: #E87A8A;

	height: calc(100vh - 17.06vw);
	z-index: 999;
	width:100%;
	transition: all 0.3s ease; /* これでアニメーション */
}
.spmenu.on{
	z-index: 8;
	top:17.06vw;
	left:0;

}
.spmenu nav{
	padding:16vw 5.3vw 0 21.8vw;
	overflow-y: auto;
  	height: 100%;
}
.spmenu nav ul{
	width:100%;
	display: block;
}
.spmenu nav ul li{
	margin-bottom: 8vw;
	display: block;
}
.spmenu nav ul li a{
	margin-bottom: 8vw;
	line-height: 1.4;
	font-size:4.8vw;
	color: #FFF;
	
}
.spmenu nav ul li a span{
	display: block;
	width: 13.6vw;
	height: 1px;
	background: #FFF;
	margin-top:3.4vw;
}
.spmenu .castnamemenu a{
	display: block;
	margin-bottom:8vw;
}
.spmenu .castnamemenu ul{
	padding-left: 8vw;
}
.spmenu .castnamemenu ul li a{
	font-size:4.2vw;
}
.spmenu .castnamemenu ul li a span{
	width:10.6vw;
}


/*megamenu*/
.megamenu{
	position: relative;
	
}
.megamenu .castmenu{
	width:163px;
	padding:30px 25px;
	background: rgba(255,255,255,0.9);
	position: absolute;
	top:44px;
	left:50%;
    transform: translate(-50%, -0%);
    -webkit-transform: translate(-50%, -0%);
    -ms-transform: translate(-50%, -0%);
	z-index: 999;
	display: none;
	transition: all 0.3s ease;  /* ふわっと出る動き */
}
.megamenu:hover .castmenu{
	display: block;
	transition: all 0.3s ease;  /* ふわっと出る動き */
}
.megamenu .castmenu ul{
	list-style: none;
	position: relative;
	z-index: 999;
	
}
.megamenu .castmenu ul li{
	list-style: none;
	
}
.megamenu .castmenu ul li a{
	font-size: 16px;
	line-height: 24px;
	
}
.megamenu .castmenu ul li.hrline{
	width:40px;
	height: 2px;
	background: #D33283;
	margin-bottom: 15px;
	margin-top:3px;
}
.megamenu .castmenu ul li:last-child.hrline{
	margin-bottom: 0px;
}