@charset "utf-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,600,700&display=swap&subset=japanese");
body{
	overflow-x: hidden;
}
html,body,aside,article,p,ul,ol{
	margin:0;
	padding:0;
	font-size:16px;
	color:#1c1c1c;
	line-height:1.5;
	font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	text-size-adjust: 100%;
	font-weight: 600;
	vertical-align:bottom;
}
h1,h2, h3, h4, h5, h6{
	font-size:100%;
	margin:0;
	padding:0;
	font-weight: 600;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{
	display:block;
}
ol,ul,p,i,dl,dt,dd{
	list-style:none;
	font-style:normal;
	padding:0;
	margin:0;
}
li{
	padding:0;
}
img{
	max-width:100%;
	border:none;
	overflow:hidden;
	vertical-align:bottom;
}
a{
	text-decoration:none;
	color:#0044cc;
	tap-highlight-color:transparent;
}
a img:hover,
a:hover{
	opacity: 0.7;
	transition:all 0.2s ease-out 0s;
	filter: alpha(opacity=70) !important;        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)" !important;  /* ie 8 */
	-moz-opacity:0.7 !important;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7 !important;              /* Safari 1.x */
	zoom:1;
}
h1{
	border-top: 10px solid #080055;
	padding: 20px 0;
	text-align: center;
	font-size: 45px;
	color: #080055;
	font-weight: bold;
}
h2,h3{
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 60px;
	font-size: 40px;
	position: relative;
	color: #080055;
}
h2:after,
h3:after{
	content: "";
	width: 100%;
	height: 4px;
	max-width: 126px;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0 auto;
	background: #080055;
}
h3 span{
	display: block;
	padding-top: 10px;
	font-size: 15px;
	letter-spacing: 2px;
}
.base{
	max-width: 1040px;
	margin: 0 auto;
}
.sp_display,
.device_display{
	display: none !important;
}
.flexed{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
.stuhio_movie{
	background: url(../images/tourube_bg.png) no-repeat;
	background-size: cover;
	background-position: 50%;
}
/*
.stuhio_movie iframe{
	display: block;
	margin: 0 auto;
}
*/
.relative.w-full video{
	width: 100%;
	max-height: 585px;
	margin: 0 auto;
	display: block;
	max-width: 1040px;
}
.main_viz{
	background: url(../images/main_viz.png) no-repeat;
	background-position: 50%;
	background-size: cover;
	padding: 30px 0 70px;
}
.main_viz p{
	text-align: right;
}
.content01{
	padding-top: 100px;
	position: relative;
}
.content01 .base{
	z-index: 1;
	position: relative;
}
.content01:before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../images/worries_bg01.png) no-repeat;
	background-position: 0 100%;
	max-height: 460px;
}
.content01:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url(../images/worries_bg02.png) no-repeat;
	max-height: 460px;
	background-position: 100% 0;
}
.flexed_bad,
.flexed_good{
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	align-content: stretch;
}
.content01 ul li{
	margin-bottom: 15px;
	padding-left: 30px;
	background: url(../images/check_icon.png) no-repeat;
	background-position: 0 40%;
	background-size: 20px;
}
.content01 ul li:last-child{
	margin-bottom: 0;
}
.content01 .flexed_good p{
	font-size: 40px;
	line-height: 60px;
	font-weight: bold;
	color: #080055;
	position: relative;
}
.content01 .flexed_good p span{
	display: block;
	z-index: 1;
	position: relative;
}
.content01 .flexed_good p:first-child:after{
	content: "";
	width: 100%;
	height: 10px;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 8px;
	margin: 0 auto;
	background: #fbd0de;
}
.content02{
	padding: 30px 0;
	background: url(../images/catch_bg.png) no-repeat;
	background-position: 50% 0;
	background-size: cover;
}
.content02 .base{
	padding: 40px;
	background: rgba(0,0,0,0.8);
}
.content02 p:first-child{
	font-size: 30px;
	line-height: 50px;
	margin-bottom: 15px;
	color: #fff;
}
.content02 p:last-child{
	font-size: 45px;
	font-weight: bold;
	color: #fff;
}
.contact_base{
	margin: 100px 0;
}
.contact_base dl{
	width: calc( 50% - 30px );
	margin-bottom: 20px;
	padding: 10px;
	box-shadow: 2px 2px 5px #b8b8b8;
	border-radius: 4px;
}
.contact_base dl:last-child{
	margin-bottom: 0;
}
.contact_base dl dt{
	display: inline-block;
	margin-right: 5px;
	vertical-align: top;
	width: 160px;
	height: 160px;
	overflow: hidden;
	position: relative;
}
.contact_base dl dd{
	width: calc( 100% - 170px );
	display: inline-block;
}
.contact_base dl dd p.right_txt{
	text-align: right;
	font-size: 14px;
	margin-bottom: 7px;
}
.contact_base dl dd p.menu_title{
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 5px;
}
.contact_base dl dd p{
	font-size: 12px;
}
.contact_base dl dd p.menu_cate{
	font-weight: bold;
	color: #080055;
}
.contact_base dl dd .conditions{
	margin: 6px 0 10px;
}
.contact_base dl dd .conditions p{
	display: inline-block;
	vertical-align: middle;
	border: 1px solid #080055;
	padding: 2px 6px;
}
.contact_base dl dd .reserve p.plaice{
	font-size: 15px;
	font-weight: bold;
}
.contact_base dl dd .reserve p.reserve_btn a{
	display: block;
	padding: 9px 30px;
	font-size: 11px;
	color: #fff;
	border-radius: 6px;
	background: #080055;
	letter-spacing: 2px;
}
.contact_base dl dd .reserve.flexed{
	align-items: center;
}
.content03 h4{
	font-size: 35px;
	line-height: 45px;
	color: #080d55;
	padding-bottom: 20px;
	margin-bottom: 40px;
	border-bottom: 1px solid;
}
.content03 h4 span,
.content03 h4 i{
	display: inline-block;
	vertical-align: middle;
}
.content03 h4 span{
	padding: 0 40px 0 25px;
}
.content03 .most_content{
	margin-bottom: 60px;
}
.content03 .most_content:last-child{
	margin-bottom: 0;
}
.float_area > p{
	max-width: 620px;
	max-height: 387px;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
	display: inline-block;
	vertical-align: top;
}
.float_txt{
	display: inline-block;
	width: calc( 100% - 525px );
	margin-left: -210px;
	z-index: 1;
	position: relative;
	margin-top: 30px;
	padding: 30px 40px;
	background: rgba(255,255,255,0.8);
}
.most_content.most02 > p{
	margin-left: 30px;
}
.most_content.most02 .float_txt{
	margin-left: 0;
	margin-right: -270px;
	width: calc( 100% - 465px );
}
.most_content:last-child .float_txt p{
	margin-bottom: 20px;
}
.most_content:last-child .float_txt p:last-child{
	margin-bottom: 0;
}
.most_content:last-child .float_txt p span{
	display: block;
}
.most_content:last-child .float_txt p i{
	color: #080d55;
	font-weight: bold;
	padding-bottom: 15px;
	display: inline-block;
	font-size: 18px;
}
.most_content:last-child .float_txt p span i{
	padding-bottom: 0;
	padding-right: 5px;
}
.content04{
	padding: 100px 0;
	background: url(../images/voice_bg.png) no-repeat;
	background-position: 50% 0;
	background-size: cover;
}
.content04 ul.flexed{
	justify-content: space-evenly;
	margin-left: 40px;
}
.content04 ul li{
	position: relative;
}
.content04 ul li:first-child:before{
	content: "Before";
	padding: 5px 30px;
	background: rgba(8,0,85,0.6);
	font-size: 40px;
	color: #fff;
	letter-spacing: 2px;
	line-height: 1;
	position: absolute;
	top: -25px;
	left: -40px;
	max-width: 135px;
	width: 100%;
	text-align: center;
}
.content04 ul li:last-child:after{
	content: "After";
	padding: 5px 30px;
	background: rgba(8,0,85,0.6);
	font-size: 40px;
	color: #fff;
	letter-spacing: 2px;
	line-height: 1;
	position: absolute;
	top: -25px;
	left: -40px;
	max-width: 135px;
	width: 100%;
	text-align: center;
}
.content05,
.content06{
	margin-bottom: 100px;
}
.content05 p{
	padding: 40px;
	border: 1px solid #080d55;
}
.content06 ul li{
	width: calc( 50% - 10px );
	margin-bottom: 20px;
}
.content06 ul li dl dt{
	width: 220px;
	height: 220px;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	overflow: hidden;
}
.content06 ul li dl dt img{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	height: 100%;
	max-width: 300%;
}
.content06 ul li dl dd{
	display: inline-block;
	vertical-align: middle;
	width: calc( 100% - 238px );
	margin-left: 10px;
}
.content06 ul li dl dd h5{
	font-weight: bold;
	margin-bottom: 10px;
}
.content06 ul li dl dd p,
.content06 ul li dl dd p.plice_list span{
	font-size: 13px;
}
.content06 ul li dl dd p.plice_list{
	font-size: 23px;
	text-align: right;
	margin-top: 15px;
	font-weight: bold;
	color: #d31a1a;
}
.content06 ul li dl dd p.plice_list span{
	padding-left: 5px;
}
.content07 .question_base dl{
	margin-bottom: 35px;
}
.content07 .question_base dl dt{
	font-size: 30px;
	color: #080055;
	padding-bottom: 12px;
	border-bottom: 3px solid;
	position: relative;
	cursor: pointer;
}
.content07 .question_base dl dt:before{
	content: "";
	width: 30px;
	height: 3px;
	background: #080d55;
	position: absolute;
	right: 18px;
	top: calc( 50% - 7px );
}
.content07 .question_base dl dt:after{
	content: "";
	width: 30px;
	height: 3px;
	background: #080d55;
	position: absolute;
	right: 18px;
	top: calc( 50% - 7px );
	transform: rotate(90deg);
	transition: 0.5s;
}
.content07 .question_base dl.active dt:after{
	transition: 0.5s;
	transform: rotate(180deg);
}
.content07 .question_base dl dt span{
	display: inline-block;
	width: 35px;
	margin-right: 30px;
}
.content07 .question_base dl dt i{
	max-width: calc( 100% - 105px );
	width: 100%;
	display: inline-block;
}
.content07 .question_base dl dd{
	display: none;
	margin-top: 35px;
	padding: 0 40px 20px;
	border-bottom: 1px solid #eee;
}
.content07 .question_base dl dd span{
	width: 35px;
	display: inline-block;
	margin-right: 25px;
	vertical-align: text-top;
}
.content07 .question_base dl dd i{
	display: inline-block;
	font-style: normal;
	width: calc( 100% - 60px );
	vertical-align: top;
	font-weight: 580;
}
.content08{
	padding: 50px 0;
	background: url(..../images/shop_bg.png) no-repeat;
	background-size: cover;
	background-position: 50%;
}
.content08 .base{
	padding: 40px;
	background: rgba(255,255,255,0.8);
}
.content08 .shop_img,
.content08 .shop_txt{
	width: calc( 50% - 15px );
}
.content08 .shop_img p:first-child{
	margin-bottom: 30px;
}
.content08 .shop_img p iframe{
	width: 100%;
}
.content08 .shop_txt dl{
	font-size: 20px;
	margin-bottom: 10px;
}
.content08 .shop_txt dl dt,
.content08 .shop_txt dl dd{
	display: inline-block;
	vertical-align: top;
}
.content08 .shop_txt dl:nth-child(3) dt{
	width: 100%;
	margin-bottom: 10px;
}
.content08 .shop_txt dl:nth-child(3) dd{
	margin-bottom: 25px;
}
.content08 .shop_txt dl:nth-child(3) dd p:first-child{
	margin-bottom: 25px;
}
.content08 .shop_txt dl.small_acsess dt{
	width: 100%;
	font-size: 18px;
}
.content08 .shop_txt dl.small_acsess dd{
	font-size: 16px;
}
footer{
	padding: 15px 0;
	text-align: center;
}
footer p{
	font-size: 12px;
}
.scroll_top{
	display: none;
	position: fixed;
	right: 20px;
	bottom: 15px;
	cursor: pointer;
}
@media screen and (max-width: 768px){
	section{
		padding: 0 10px;
	}
	.stuhio_movie iframe{
		width: 100%;
		height: 450px;
	}
	.main_viz{
		background-size: cover;
		background-position: 0 50%;
		padding: 20px;
	}
	.main_viz p{
		text-align: center;
	}
	h1{
		padding: 15px 0;
		font-size: 40px;
	}
	h2,
	h3{
		padding-bottom: 20px;
		margin-bottom: 30px;
		font-size: 35px;
	}
	h2:after,
	h3:after{
		height: 3px;
		max-width: 100px;
	}
	.content01{
		padding-top: 50px;
	}
	.content01 ul li{
		padding-left: 25px;
		background-position: 0 30%;
		background-size: 17px;
	}
	.content01 .flexed_good p{
		font-size: 35px;
		line-height: 1.5;
	}
	.content02{
		padding: 50px 10px;
		background-position: 70% 0;
	}
	.content02 p:first-child{
		font-size: 25px;
		line-height: 1.8;
		margin-bottom: 10px;
	}
	.content02 p:last-child{
		font-size: 35px;
	}
	.contact_base{
		margin: 50px 0;
	}
	.contact_base dl{
		width: 97%;
	}
	.contact_base dl dd{
		width: calc( 100% - 175px );
	}
	.contact_base dl dd p.right_txt{
		font-size: 20px;
	}
	.contact_base dl dd p.menu_title{
		font-size: 18px;
	}
	.contact_base dl dd p{
		font-size: 15px;
	}
	.contact_base dl dd .reserve p.plaice{
		font-size: 20px;
	}
	.contact_base dl dd p.reserve_btn{
		width: 60%;
		text-align: center;
	}
	.contact_base dl dd p.reserve_btn a{
		font-size: 17px;
	}
	.content03 h4{
		font-size: 25px;
		line-height: 1.5;
		padding-bottom: 10px;
		margin-bottom: 30px;
	}
	.content03 h4 span{
		padding: 0 30px 0 20px;
		width: 26px;
	}
	.float_txt{
		width: calc( 100% - 215px );
		margin-left: -490px;
		margin-top: 135px;
	}
	.most_content.most02 .float_txt{
		width: calc( 100% - 187px );
		margin-right: -518px;
	}
	.content04{
		padding: 50px 10px;
	}
	.content04 ul.flexed{
		margin-top: 60px;
		justify-content: space-between;
	}
	.content04 ul li:last-child:after,
	.content04 ul li:first-child:before{
		top: -15px;
		left: 0;
		max-width: 135px;
		font-size: 33px;
	}
	.content05,
	.content06{
		margin-bottom: 50px;
	}
	.content05 p{
		padding: 0;
		border: none;
	}
	.content06 ul li{
		width: 100%;
		margin-bottom: 20px;
		border: 1px solid;
	}
	.content06 ul li dl dd{
		padding: 10px;
		margin-left: 0;
		width: calc( 100% - 245px );
	}
	.content06 ul li dl dd p.plice_list{
		font-size: 28px;
	}
	.content07 .question_base dl dt{
		font-size: 25px;
	}
}
@media only screen and (max-width: 600px){
	.sp_display{
		display: block !important;
	}
	.pc_display,
	.device_display{
		display: none !important;
	}
	html, body, aside, article, p, ul, ol{
		font-size: 15px;
	}
	h1{
		padding: 10px 0;
		font-size: 27px;
	}
	h2,
	h3{
		padding-bottom: 10px;
		margin-bottom: 30px;
		font-size: 23px;
	}
	h2:after,
	h3:after{
		height: 2px;
		max-width: 65px;
	}
	body .drawer--top .drawer-nav{
		height: 100vh;
		background: rgba(68, 55, 42, 0.8);
	}
	.drawer button{
		background: url(..../images/menu_null.png) no-repeat;
		background-size: contain;
		background-position: 50%;
		transition: 0.3s;
	}
	.drawer.drawer-open button{
		background: url(..../images/menu_close.png) no-repeat;
		transition: 0.3s;
		background-size: contain;
		background-position: 50%;
	}
	.drawer--top .drawer-hamburger, .drawer--top.drawer-open .drawer-hamburger{
		top: 3% !important;
		right: 4.7% !important;
	}
	nav.drawer-nav{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
	}
	.stuhio_movie iframe{
		width: 100%;
		height: 380px;
	}
	.main_viz p{
		width: 22%;
		margin: 0 auto;
	}
	.content01{
		padding-top: 5vh;
	}
	.flexed_bad p:first-child,
	.flexed_good p:last-child{
		width: 50%;
		margin-bottom: 2vh;
	}
	.content01 ul li{
		background-size: 15px;
	}
	.content01 .flexed_good p{
		margin: 30px 0 15px;
		font-size: 30px;
	}
	.content01 .flexed_good p:last-child{
		margin: 0;
	}
	.content02{
		padding: 30px 10px;
	}
	.content02 .base{
		padding: 15px;
	}
	.content02 p:first-child{
		font-size: 15px;
	}
	.content02 p:last-child{
		font-size: 21px;
	}
	.contact_base dl dt{
		max-height: 120px;
	}
	.contact_base dl dd{
		width: calc( 100% - 170px );
	}
	.contact_base dl dd .conditions,
	.contact_base dl dd .reserve.flexed{
		width: calc(100% + 160px);
		margin-left: -168px;
	}
	.contact_base dl dd .conditions{
		margin: 0 0 0 -170px;
	}
	.contact_base dl dd .conditions p{
		margin: 0;
	}
	.contact_base dl dd p.menu_title{
		font-size: 13px;
		margin-top: 0;
	}
	.contact_base dl dd p.right_txt{
		font-size: 14px;
	}
	.contact_base dl dd p{
		font-size: 13px;
		margin: 10px 0;
	}
	.contact_base dl dd .reserve p.plaice{
		font-size: 20px;
		margin-bottom: 0;
		width: 50%;
		text-align: left;
	}
	.contact_base dl dd p.menu_cate{
		margin: 0 0 -10px;
	}
	.contact_base dl dd p.reserve_btn{
		margin-bottom: 0;
		width: 50%;
	}
	.contact_base dl dd .reserve p.reserve_btn a{
		padding: 6px 0;
		font-size: 16px;
	}
	.content03 h4 span{
		width: 17px;
		padding: 0 20px;
		vertical-align: text-bottom;
	}
	.content03 h4 i{
		width: calc( 100% - 57px );
		font-size: 18px;
		vertical-align: middle;
	}
	.content03 h4 i br{
		display: none;
	}
	.float_area > p{
		max-width: 100%;
		display: none;
	}
	.float_txt{
		width: 100%;
		margin-left: 0;
		margin-top: 0;
		background: rgba(255,255,255,0.8);
		display: block;
		box-sizing: border-box;
		padding: 20px;
	}
	.content03 .most_content{
		margin-bottom: 30px;
	}
	.content03 .most_content .float_area{
		background: url(../images/beauty_img01.jpg) no-repeat;
		width: calc( 100% + 20px );
		margin-left: -10px;
		background-size: cover;
		background-position: 50%;
	}
	.content03 .most_content.most02{
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.content03 .most_content.most02 h4{
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: 0;
		-webkit-order: 0;
		order: 0;
		width: 100%;
	}
	.content03 .most_content.most02 .float_area{
		background: url(../images/beauty_img02.jpg) no-repeat;
		background-size: cover;
		background-position: 50%;
	}
	.content03 .most_content.most02 .float_area .float_txt{
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 2;
		-webkit-order: 2;
		order: 2;
		width: 100%;
		margin-right: 0;
		display: block;
		margin-top: 0;
		margin-bottom: 30px;
	}
	.content03 .most_content.most02 .float_area .float_txt + p{
		display: none;
	}
	.content03 .most_content:last-child .float_area{
		background: url(../images/beauty_img03.png) no-repeat;
		background-size: cover;
		background-position: 50%;
	}
	.content04 ul li{
		width: 100%;
	}
	.content04 ul li img{
		width: 100%;
		height: auto;
	}
	.content04 ul li:first-child{
		margin-bottom: 35px;
	}
	.content06 ul li{
		border-bottom: 1px solid;
		border-top: none;
		border-right: none;
		border-left: none;
	}
	.content06 ul li dl dt{
		width: 40%;
		height: 160px;
		display: inline-block;
		vertical-align: top;
		margin-top: 10px;
	}
	.content06 ul li dl dd{
		padding: 10px;
		margin-left: 0;
		width: calc( 60% - 25px );
	}
	.content06 ul li dl dd p,
	.content06 ul li dl dd p.plice_list span{
		font-size: 12px;
	}
	.content07 .question_base dl dt{
		font-size: 16px;
		font-weight: bold;
		border-bottom: 1px solid;
		vertical-align: middle;
		display: inline-block;
		width: 100%;
	}
	.content07 .question_base dl dt span{
		width: 25px;
		margin-right: 15px;
		vertical-align: text-top;
	}
	.content07 .question_base dl dt i{
		vertical-align: text-top;
		max-width: calc( 100% - 70px );
	}
	.content07 .question_base dl dt:before,
	.content07 .question_base dl dt:after{
		width: 20px;
		height: 2px;
		right: 0;
	}
	.content07 .question_base dl dd{
		margin-top: 25px;
		padding: 0 20px;
	}
	.content07 .question_base dl dd span{
		width: 25px;
		margin-right: 20px;
	}
	.content07 .question_base dl dd i{
		padding-bottom: 20px;
		width: calc( 100% - 45px );
		font-weight: bold;
	}
	.content08{
		padding: 30px 10px;
	}
	.content08 .base{
		padding: 20px;
	}
	.content08 .shop_img,
	.content08 .shop_txt{
		width: 100%;
	}
	.content08 .shop_img p iframe{
		max-height: 250px;
	}
	.content08 .shop_txt{
		margin-top: 20px;
	}
	.content08 .shop_txt dl{
		font-size: 17px;
	}
	.content08 .shop_txt dl.small_acsess dt{
		font-size: 15px;
	}
	.scroll_top{
		z-index: 1;
		background: rgba(255,255,255,0.7);
		padding: 10px 5px;
		right: 5px;
		bottom: 5px;
	}
}