@import url('https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400&display=swap');
/*
header
*/

#header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	
	font-style: normal;
	font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif !important;
	letter-spacing: .05em !important;
	display: grid;
	grid-template-rows: 50px 52px;
    grid-template-columns: 1fr 250px 1fr;
    
	background-color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	box-shadow: 0 0 13px 5px rgba(0,0,0,0.1);
}

#header.overlay{
	background-color: rgba(255, 255, 255, 1);
}

#header a,
#header a:visited{
	color: #000;
}


#header #header_h1{
	grid-row: 1/3;
    grid-column: 2/3;
    border-left: 1px solid rgba(0,0,0,0.3);
    border-right: 1px solid rgba(0,0,0,0.3);
    border-bottom: 1px solid rgba(0,0,0,0.3);
    position: relative;   
}
#header #header_h1 h1{
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
}
#header #header_h1 h1 a{
	display: block;
	height: 100px;
}
#header #header_h1 h1 a span{
	position: absolute;
	display: block;
	margin: auto;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
}

#header #header_sns{
	grid-row: 1/2;
    grid-column: 3/4;
    margin-left: auto;
    margin-right: 120px;
	align-self: center;
}
#header #header_sns ul{
	display: flex;
}
#header #header_sns img{
	width: 25px;
}
#header #header_sns li{
	padding: 5px;
}

#header #header_nav1{
	grid-row: 2/3;
    grid-column: 1/2;
}
#header #header_nav2{
	grid-row: 2/3;
    grid-column: 3/4;
}

#header .header_nav > ul{
	display: flex;
}
#header .header_nav > ul > li{
	flex: 1 0 auto;
	text-align: center;
	position: relative;
	border-left: 1px solid rgba(0,0,0,0.3);
	border-top: 1px solid rgba(0,0,0,0.3);
	border-bottom: 1px solid rgba(0,0,0,0.3);
}
#header .header_nav > ul li:first-child{
	border-left: none;
}
#header .header_nav > ul li a{
	display: block;
	height: 50px;
}
#header .header_nav > ul li a span{
	position: absolute;
	display: block;
	margin: auto;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
}

#header li:hover,
#header h1:hover{
	background-color: rgba(255, 255, 255, 1);
}
#header .header_nav > ul > li:hover > a,
#header h1:hover a{
	color: #c97699;
}

#nav_btn_wrapper{
	display: none;
}

#header_inner{
	background-color: rgba(255, 255, 255, 0.7);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}
#header_inner .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header_inner.fixed{
	position: fixed;
	z-index: 999;
	top:0;
	left:0;
	bottom: unset;
	background-color: rgb(255,255,255,0.9);
}


#footer_sns{
	margin: 10px auto;
}
#footer_sns img{
	max-width: 100%;
	margin: 0 !important;
}
#footer_sns li{
	padding: 0 10px;
	width: 40px;
}

.header_nav ul ul {
	display:none;
	width:100%;
	min-width:255px;
	position:absolute;
	top:51px;
	left:0px;
	margin:0;
	padding:0;
	z-index:100;
	background-color: #69bbea;
}
.header_nav ul ul li {
	line-height:1.5;
	padding:0;
	margin:0;
	text-align:left;
	position:relative;
	display:block;
}
.header_nav ul ul a {
	font-size:14px;
	display:block;
	border:none;
	position:relative;
	padding:14px 25px 12px;
	height:auto;
	line-height:1.6;
	margin:0;
	height: auto !important;
	color: #fff !important;
}
.header_nav ul ul a:hover {
	text-decoration:none;
	border:none;
	background-color: #c97699;
}


#top_catch{
	font-family: 'Klee One';
	font-style: italic;
	text-align: center;
	color: #333;
	margin: 20px auto;
}

#top_campaign{
/*
	padding-top: 100px;
	margin-top: -100px;
*/
}

#top_campaign,
#top_photomenu{
	margin-bottom: 30px;
}
#top_campaign h2{
	background: url(/img/ttl_campaign.png) center center no-repeat;
	background-size: 405px 156px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 405px;
	height: 156px;
	margin: 30px auto;
}


#top_photomenu h2{
	background: url(/img/ttl_photo_menu.png) center center no-repeat;
	background-size: 405px 110.65px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 405px;
	height: 110.65px;
	margin: 30px auto;
}

#top_photomenu a{
	width: 32.5%;
	margin-bottom: 1.5%;
}
#top_photomenu a:first-child{
	width: 100%;
}

#top_firsttime{
/*
	padding-top: 100px;
	margin-top: -100px;
*/
	margin-bottom: 30px;
}
#top_firsttime h2{
	background: url(/img/ttl_first_time.png) center center no-repeat;
	background-size: 183px 50.9px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 183px;
	height: 50.9px;
}

#top_thought{
	position: relative;
}
#top_thought h3{
	background: url(/img/ttl_thought.png) center center no-repeat;
	background-size: 321px 59.5px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 321px;
	height: 59.5px;
}

#top_thought_header{
	background: url(/img/bg_firsttime1.png) left top no-repeat;
	/*background-size: 100% auto;
	height: 67px;*/
	background-size: cover;
	height: 0;
    padding-top: 5.234%; /* (画像の高さ / 画像の横幅) × 100 */
}
#top_thought_header::after{

}
#top_thought_body{
	background: url(/img/bg_firsttime2.png) left top repeat-y;
	background-size: 100% auto;
}
#top_thought_footer{
	background: url(/img/bg_firsttime3.png) left bottom no-repeat;
	/*background-size: 100% auto;*/
	background-size: cover;
	height: 0;
    padding-top: 5.234%; /* (画像の高さ / 画像の横幅) × 100 */
/*	height: 60px;*/
}
#top_thought_inner{
	padding: 0 60px;
	line-height: 2em;
	background: url(/img/bg_firsttime4.png) no-repeat;
	background-position: right 40px top -40px;
}

#top_important{
	margin-top: 50px;
}
#top_important .inner{
	max-width: 900px;
}

#top_retry{
	margin-top: 50px;
}
#top_retry .inner{
	max-width: 900px;
}

.top_frame_box{
	display: block;
	border-image-source: url(/img/brackets.png);
	border-style:solid;
	border-width: 17px;
	border-image-slice: 17 fill;
	padding: 40px 80px;
	line-height: 2em;
	font-style: normal;
	position: relative;
}
.top_frame_box .ttl{
	background: #4f6688;
	color: #fff;
	border-radius: 20px;
	height: 40px;
	line-height: 40px;
	display: inline-block;
	padding: 0 50px;
	font-weight: 400;
	font-size: 20px;
	position: absolute;
	top: -27px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	margin: auto;
}

#top_flow{
	margin-bottom: 30px;
}
#top_flow .inner{
	max-width: 600px;
}

.flow {
	font-style: normal;
}
.flow > li {
	padding: 30px;
}
.flow > li:not(:last-child) {
	position: relative;
}
.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow > li:not(:last-child)::before {
	border-width: 22px;
	border-top-color: #90ce9c;
}
.flow > li:not(:last-child)::after {
	border-width: 18px;
	border-top-color: #fff;
}
.flow > li dl {
	margin: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flow > li dl dt {
	font-size: 20px;
	font-weight: 600;
	color: rgb(107,144,219);
	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
	margin-right: 1vw;
	text-align: center;
}
.flow > li dl dt .icon {
	font-size: 14px;
	color: #fff;
	background: #90ce9c;

	background: -moz-linear-gradient(left, #90ce9c 0%, b0d4b7 100%);
	background: -webkit-linear-gradient(left, #90ce9c 0%,b0d4b7 100%);
	background: linear-gradient(to right, #90ce9c 0%,b0d4b7 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f57130', endColorstr='#f2b99d',GradientType=1 );
	padding: 5px 10px;
	margin-bottom: 10px;
	display: block;
	border-radius: 20px;
}
.flow > li > div{
	font-size: 14px;
}

#top_reservation{
	background: url(/img/bg_reservation.png) left top no-repeat;
	background-size: 120% auto;
	margin-bottom: 30px;
	padding: 20px 0;
}

#top_reservation h2{
	background: url(/img/ttl_reservation.png) center center no-repeat;
	background-size: 403px 186.05px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 403px;
	height: 186.05px;
	margin: 0 auto;
}

.reservation_tel{
	font-size: 30px;
	font-weight: bold;
	display: block;
	padding: 5px auto;
}
.reservation_btn{
	margin-top: 20px;
}
.reservation_btn img{
	max-width: 200px;
	padding: 0 20px;
}
#reservation_container{
	text-align: center;
}

#top_access{
/*
	padding-top: 100px;
	margin-top: -100px;
*/
}

#access_address{
	font-size: 14px;
	margin-top: 10px;
}

#access_address dl dd{
	margin-bottom: 5px;
}

body{
	color: #515152;
	line-height: 1.5;
	font-size: 18px;
	font-style: italic;
	font-family: 'Klee One',"Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	background: #fff;
}
.inner{
	width: 1180px;
	margin: 0 auto;
}
.img_inner{
	width: 1280px;
	margin: 0 auto;
}
.img_inner iframe{
	width: 100%;
}
.sub_inner{
	width: 1180px;
	margin: 0 auto;
}
.contact_inner{
	width: 660px;
	margin: 0 auto;
}
h1#main_banner{
	text-align: center;
	margin-bottom: 20px;
}
h1#main_banner img{
	max-width: 100%;
}

.d-block{
	display: block;
}

.sub_content{
	padding-top: 100px;
}

/*
flex
*/
.d-flex{
	-webkit-display: flex;
	display: flex;
}
.d-end{
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
.d-center{
	-webkit-justify-content: center;
	justify-content: center;
}
.d-between{
	-webkit-justify-content: space-between;
    justify-content: space-between;
}
.d-around{
	-webkit-justify-content: space-around;
    justify-content: space-around;
}
.d-align-center{
	align-items: center;
}
.d-align-end{
	align-items: flex-end;
}
.d-wrap{
	flex-wrap: wrap;
}

.w-auto{
	width: auto;
}
.w-10{
	width: 10%;
}
.w-20{
	width: 20%;
}
.w-30{
	width: 30%;
}
.w-40{
	width: 40%;
}
.w-45{
	width: 45%;
}
.w-50{
	width: 50%;
}
.w-60{
	width: 60%;
}
.w-70{
	width: 70%;
}
.w-80{
	width: 80%;
}
.w-90{
	width: 90%;
}
.w-100{
	width: 100%;
}

.w-340{
	max-width: 340px;
	margin: 0 auto;
}
.w-500{
	max-width: 500px;
	margin: 0 auto;
}
.w-640{
	max-width: 640px;
	margin: 0 auto;
}
.w-700{
	max-width: 700px;
	margin: 0 auto;
}
.w-800{
	max-width: 800px;
	margin: 0 auto;
}
.w-900{
	max-width: 900px;
	margin: 0 auto;
}


.mt-05{
	margin-top: 5px;
}
.mt-2{
	margin-top: 20px;
}
.mt-3{
	margin-top: 30px;
}
.mt-4{
	margin-top: 40px;
}
.mt-5{
	margin-top: 50px;
}
.mt-6{
	margin-top: 60px;
}
.mb-05{
	margin-bottom: 5px;
}
.mb-2{
	margin-bottom: 20px;
}
.mb-3{
	margin-bottom: 30px;
}
.mb-4{
	margin-bottom: 40px;
}
.mb-5{
	margin-bottom: 50px;
}
.mb-6{
	margin-bottom: 60px;
}

.m-center{
	margin: 0 auto;
}

.m-center div{
	margin-bottom: 20px;
}

.pt-10{
	padding-top: 10px !important;
}
.pt-20{
	padding-top: 20px !important;
}
.pt-30{
	padding-top: 30px !important;
}
.pt-40{
	padding-top: 40px !important;
}
.pb-20{
	padding-bottom: 20px !important;
}
.pb-30{
	padding-bottom: 30px !important;
}
.pb-40{
	padding-bottom: 40px !important;
}

.pl-20{
	padding-left: 20px !important;
}

/*
fade
*/
.fade {
	opacity: 0;
	transform: translatey(100px);
	transition: 2s;
}
.fade.is-show {
	transform: translatey(0);
	opacity: 1;
	z-index: 1;
	position: relative;
}

/*
align
*/
.text-center{
	text-align: center !important;
}
.text-right{
	text-align: right !important;
}
.text-left{
	text-align: left !important;
}

.pc{
	display: block;
}
.sp{
	display: none;
}

a{
	text-decoration: none;
}
a,
a:visited{
	color: #444;
}
	
img{
	max-width: 100%;
}


#main_img{
	display: block;
	margin: 0 auto;
}

#slide_main {
	position: relative; /* ← swiper.cssに含まれています */
}
#slide_main.swiper {
	margin: 0 auto;
	width: 100%;
	/*height: 100vh;*/
}

#slide_main .swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	
	position: relative;
}

/*
#slide_main .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
*/

.swiper-sub-content{
	z-index: 2;
}
.swiper-main-content{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}


/*
footer
*/
#footer_address{
	margin-top: 60px;
	text-align: left;
	font-size: 14px;
	line-height: 1.8em;
}

#footer_address img{
	width: 400px;
	display: block;
	margin: 26px auto 10px;
}

.footer_hour_ttl{
	font-weight: bold;
	
}


#footer_copyright{
	margin-top: 30px;
	text-align: center;
	font-size: 14px;
	line-height: 1.8em;
}


/*
title
*/
.ttl{
	margin-top: 40px;
	text-align: center;
	font-weight: 600;
	font-size: 30px;
	letter-spacing: 0.2em;
}
.ttl span{
	display: block;
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

iframe{
	width: 100%;
	height: 460px;
}

/*
btn
*/
.btn_1{
	width: 218px;
	height: 50px;
	font-size: 15px;
	text-align: center;
	background: #06bad3;
	border-radius: 10px;
	display: block;
	line-height: 50px;
	margin: 0 auto;
}
.btn_1::after{
	content: '>';
}
a.btn_1,
a:visited.btn_1{
	color: #fff;
}

/*
border
*/
.border-bottom{
	border-bottom: solid 2px #bf1329;
	box-shadow: 0px 2px #df8994,
	            0px 4px #bf1329;
}

/*
banner
*/
.banner{
	text-align: center;
}
.banner img{
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*
top
*/

#sns{
	background: #f0f0f0;
	padding: 125px 0;
}
#sns .w-50{
	height: 800px;
	overflow-y: auto;
	border-radius: 10px;
	margin: 0 10px;
	text-align: center;
}

#access iframe{
	width: 100%;
	height: 460px;
}

p.text-r{
	text-align: right;
}
@media screen and (min-width:768px){
p.text-r{
	margin-right: 30%;
}	
}
/*
contents
*/


/*
about
*/
.dl-1{
	margin: 0 auto 50px;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	font-size: 16px;
}
.dl-1 dt,
.dl-1 dd{
	box-sizing: border-box;
}
.dl-1 dt{
	width: 20%;
	padding: 15px 10px;
	text-align: left;
}
.dl-1 dd{
	width: 80%;
	padding: 15px 10px;
}

.dl-1 dt.border-top,
.dl-1 dd.border-top{
	border-top: 2px dotted #e9e9e9;
	padding-top: 35px;
	margin-top: 15px;
}


.dl-2{
	margin: 0 auto 50px;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	font-size: 16px;
}
.dl-2 dt,
.dl-2 dd{
	box-sizing: border-box;
}
.dl-2 dt{
	width: 20%;
	padding: 15px 10px;
	text-align: left;
}
.dl-2 dd{
	width: 80%;
	padding: 15px 10px;
}

.dl-2 dt.border-top,
.dl-2 dd.border-top{
	border-top: 2px dotted #e9e9e9;
	padding-top: 35px;
	margin-top: 15px;
}

.dl-3 dt{
	cursor: pointer;
	padding: 10px 20px 10px 10px;
	border-top: 1px solid #ccc;
	position: relative;
}
.dl-3 dt::before{
	content: "\f078";
	font-family: "Font Awesome 5 Free";
	font-size: 15px;
	font-weight: bold;
	color: #555;
	position: absolute;
	right: 5px;
	display: inline-block;
}
.dl-3 dt.dt-open::before{
	content: "\f077";
	font-family: "Font Awesome 5 Free";
	font-size: 15px;
	font-weight: bold;
	color: #555;
	position: absolute;
	right: 5px;
	display: inline-block;
}
.dl-3 dd{
	display: none;
	font-size: 16px;
	padding: 0 20px 10px;
	line-height: 1.5;
}

.dl-4{
	margin: 0 auto 50px;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	font-size: 16px;
}
.dl-4 dt,
.dl-4 dd{
	box-sizing: border-box;
}
.dl-4 dt{
	width: 45%;
	padding: 15px 10px;
	text-align: left;
}
.dl-4 dd{
	width: 55%;
	padding: 15px 5px;
}

.dl-4 dt.border-top,
.dl-4 dd.border-top{
	border-top: 2px dotted #e9e9e9;
	padding-top: 35px;
	margin-top: 15px;
}

.content-box1{

}
.content-box1 .ttl{
	border-bottom: 2px solid #888;
	text-align: left;
	padding-bottom: 20px;
	margin-bottom: 20px;
	font-size: 24px;
}
.content-box1 ul{
	font-size: 15px;
	margin: 0 20px;
	padding-left: 20px;
}
.content-box1 ul li{
	list-style-type: disc;
}


#wrapper{
	overflow: hidden;
}

a.link{
	text-decoration: underline;
	color: #e66130;
}

/*
price
*/
#price{
	font-style: normal !important;
}
#price a{
	text-decoration: underline;
	color: #e66130;
}
#price input[type=checkbox],
#price input[type=radio] {
	display: none;
}
.price-chk {
	position: relative;
	line-height: 1;
	padding: 0 20px 0 27px;
}
.price-chk:after,
.price-chk:before{
	position: absolute;
	content: ""; 
	display: block;
	top: 50%;
}
.price-chk:after {
	left: 0;
	margin-top: -9px;
	width: 16px;
	height: 16px;
	border: 2px solid #d1d1d1;
	border-radius: 3px;
}
.price-chk:before {
	left: 7px;
	margin-top: -7px;
	width: 4px;
	height: 11px;
	border-right: 3px solid #f57536;
	border-bottom: 3px solid #f57536;
	transform: rotate(45deg);
	opacity: 0;
}
#price input[type=checkbox]:checked + .price-chk:before,
#price input[type=radio]:checked + .price-chk:before {
	opacity: 1;
}

.price_container{
	max-width: 960px;
	margin: 0 auto 30px;
}
.price_container h3{
	border-bottom: 2px solid #555;
	padding-bottom: 10px;
	margin-bottom: 10px;
	font-size: 26px;
}
.price_container h3 span{
	font-weight: normal;
	font-size: 17px;
	margin-left: 20px;
	color: #48aad3;
}
.price_container label{
	font-size: 16px;
	cursor: pointer;
}

.price_container ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.price_container ul li{
	width: 48%;
	padding: 0 0 20px;
	box-sizing: border-box;
	display: flex;
}
.price_container ul li > div:nth-child(1){
	width: 85%;
}
.price_container ul li > div:nth-child(2){
	width: 15%;
}
.price_memo{
	font-size: 13px;
	display: block;
}
.price_notes{
	font-size: 14px;
	/*color: #e66130;*/
}

.price_detail{
	
}
.price_detail_btn{
	border: 1px solid #ccc;
	padding: 4px 23px 4px 10px;
	border-radius: 5px;
	margin-top: 5px;
	display: inline-block;
	cursor: pointer;
	font-size: 15px;
	position: relative;
}
.price_detail_btn::before{
	content: "\f078";
	font-family: "Font Awesome 5 Free";
	font-size: 15px;
	font-weight: bold;
	color: #555;
	position: absolute;
	right: 6px;
	display: inline-block;
}
.price_detail_btn.price-detail-open::before{
	content: "\f077";
	font-family: "Font Awesome 5 Free";
	font-size: 15px;
	font-weight: bold;
	color: #555;
	position: absolute;
	right: 6px;
	display: inline-block;
}
.price_detail_content{
	display: none;
	background: rgb(235, 241, 243,0.9);
	color: rgb(0, 0, 0);
	font-size: 15px;
	padding: 5px 10px;
	margin-top: 7px;
	position: relative;
	width: 600px;
	height: auto;
	z-index: 2;
	overflow: auto;
	border: 2px solid #eee;
}
.price_detail_img{
	text-align: center;
	padding: 5px;
}
.price_detail_img img{
	max-width: 350px;
}
.price_detail_body{
	font-size: 14px;
	margin-bottom: 10px;
}

.price_caution{
	font-size: 16px;
	line-height: 2em;
}


.price_container ul.plan_only li > div:nth-child(1){
	width: 100%;
}

.price_container ul.plan_seijin_date li > div:nth-child(1){
	width: 100%;
}
.price_container ul.plan_seijin_date li > div > div:nth-child(1){
	width: 40%;
}
.price_container ul.plan_seijin_date li > div > div:nth-child(2){
	width: 60%;
}

#price_amount_items{
	max-width: 800px;
	margin: 0 auto;
}
#price_amount_items ul{
	margin: 10px 0 20px;
}
#price_amount_items ul li p:nth-child(1){
	width: 70%;
	text-align: left;
}
#price_amount_items ul li p:nth-child(2){
	width: 30%;
	text-align: right;
}
#price_amount_items > div{
	border-top: 2px solid #000;
	padding-top: 10px;
}
#price_amount_items > div p:nth-child(1){
	width: 70%;
	text-align: left;
	font-weight: bold;
}
#price_amount_items > div p:nth-child(2){
	width: 30%;
	text-align: right;
}
#price_amount_items > div p:nth-child(2) span{
	font-weight: bold;
	font-size: 21px;
}
#price_amount_items > div p:nth-child(2) small{
	font-size: 90%;
}

#price .menu_main{
	width: 100%;
}

#plan2-1,
#plan2-2,
#option-1{
	display:none;
}

.price_suu{
	font-size: 13px;
}

#footer-price{
	background: #ebf1f3;
	color: #515152;
	font-size: 20px;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px 0px;
	z-index: 10;
}
#footer-price span{
	font-size: 25px;
	font-weight: bold;
	margin-left: 15px;
}
#footer-result{
	text-align: right;
	font-style: normal;
}

body.price{
	padding-bottom: 30px;
}

.custom-select {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.custom-select::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.custom-select select {
    appearance: none;
    min-width: 230px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}

/*
list
*/
.list_box section{
	width: 31%;
	margin-top: 50px;
	margin-bottom: 50px;
}
.list_box .list_main_img{
	max-height: 261.5px;
	overflow: hidden;
}
.list_box .list_main_img img{
	height: auto;
	
}
.list_box h3{
	color: #000;
	font-size: 21px;
	font-weight: 600;
	padding: 30px 0;
	border-bottom: 2px solid #aaa;
	min-height: 3.0em;
	max-height: 3.0em;
	overflow: hidden;
}
.list_box .list_content{
	font-size: 15px;
	padding: 25px 0;
	height: 4.5em;
}
.list_box .list_category{
	font-size: 13px;
}


#bread_list{
	padding: 25px 0 40px;
}
#bread_list ul li{
	font-size: 14px;
	margin-right: 10px;
}
#bread_list ul li a,
#bread_list ul li a:visited{
	color: #d10016;
}
#bread_list ul li::after{
	font-family: 'Font Awesome 5 Free';
    content: "\f105";
	color: #000;
	font-weight: 900;
	margin-left: 10px;
}
#bread_list ul li:last-child::after{
	content: "";
}


/*
contact
*/
.wpcf7{
	max-width: 700px;
	margin: 0 auto;
}

#contact .wpcf7 p{
	margin: 0 0 15px;
}

.font_red{
	color: #ae0c24;
}
.caution{
	color: #ec5422;
	font-weight: bold;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="date"],
textarea{
	width: 100%;
	padding: 10px 15px;
    font-size: 16px;
    border-radius: 3px;
    border: 2px solid #06bad3;
    box-sizing: border-box;
}
textarea{
	height: 198px;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="date"]:focus,
textarea:focus {
    border: 2px solid #ff9900; 
    z-index: 10;
    outline: 0;
}

/* ラジオボタン */
input[type=radio] {
  display: none;
}
input[type=radio] + span {
  cursor: pointer;
  position: relative;
  margin: 0; 
  padding: 0 1em 0 1.4em;
  font-size: inherit;
  transition: opacity .25s ease;
}
input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #aaa;
  border-radius: 50%;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
input[type=radio] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
input[type=radio]:checked + span {
  transition: opacity .25s ease;
}
input[type=radio]:checked + span::after {
  opacity: 1;
  top: 10px;
  left: 4px;
  width: 10px;
  height: 10px;
  background-color: #333;
  border-radius: 50%;
  box-sizing: border-box;
  transition: opacity .25s ease;
}

.wpcf7-list-item {
  display: block !important;
  margin: 0 0 0 1em !important;
  padding: 10px 0;
}


/*
reservation
*/
#reservation_form{
}
#reservation_form .wpcf7{
	max-width: 100%;
}
#reservation_form form > dl{
	display: flex;
	flex-wrap: wrap;
	max-width: 870px;
	width: 100%;
	box-sizing: border-box;
	border-bottom: 2px dotted #e8e8e8;
	margin: 0 auto;
}
#reservation_form form > dl > dt{
	width: 26%;
	font-size: 15px;
	padding: 15px 5px;
	font-weight: normal;
}
#reservation_form form > dl > dt p{
	font-size: 15px;
}
#reservation_form form > dl > dd{
	width: 74%;
	font-size: 15px;
	padding: 15px 5px;
}
#reservation_form form > dl > dd p{
	font-size: 18px;
}
#reservation_form form > dl > dt,
#reservation_form form > dl > dd{
	border-top: 2px dotted #e8e8e8;
	box-sizing: border-box;
}
#reservation_form input[type="text"],
#reservation_form input[type="tel"],
#reservation_form input[type="email"],
#reservation_form input[type="date"],
#reservation_form textarea{
	width: 100%;
	max-width: 590px;
	background: #fff;
	border: 1px solid #cccccc;
	border-radius: unset;
	padding: 5px;
	font-size: 15px;
}
#reservation_form input[type="text"]{
	width: 50%;
	margin-bottom: 0;
}
#reservation_form input[type="text"].w-100{
	width: 100%;
}
#reservation_form textarea{
	height: 290px;
}

#reservation_form .select_wrap {
	position: relative;
	width: 300px;
}
#reservation_form .select_wrap::after {
	position: absolute;
	top: 0;
	right: 10px;
	width: 10px;
	height: 10px;
	border-top: 3px solid #58504A;
	border-right: 3px solid #58504A;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	pointer-events: none;
	content: ""; 
}
#reservation_form select {
	appearance: none;
	width: 50%;
	max-width: 590px;
	height: 30px;
	background: #fff;
	border: 1px solid #cccccc;
	color: #58504A;
	padding: 5px;
	cursor: pointer;
	font-size: 15px;
}
#reservation_form select:focus {
	outline: none;
}
#reservation_form ::-ms-expand {
	display: none;
}

#reservation_form input[type="submit"] {
	width: 300px;
	max-width: 80%;
    font-size: 23px;
    color: #333;
	display: inline-block;
    padding: 15px 0px;
    text-align: center;
	background-color: #d2ef85;
    border: 1px solid #d2ef85;
    border-radius: 20px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 1s;
    margin: 50px auto 10px;
    display: block;
}

#reservation_form input[type="submit"]:hover {
    color: #333;
    background-color: #ffffff;
    border: 1px solid #d2ef85;
    cursor: pointer;
    transition: background-color 1s;
}

#reservation_form .wpcf7-not-valid-tip{
	color: #ff0000;
}
#reservation_form .wpcf7-response-output{
	color: #ff0000;
	border: 1px solid #fff;
}

#reservation_form .wpcf7-text{
	margin-bottom: 10px;
}


#reservation_form form > dl > dd > dl dt p{
	font-size: 15px;
}
#reservation_form form > dl > dd > dl dd{
	margin-bottom: 10px;
}

#reservation_caution{
	border: 10px solid #eee;
	padding: 10px;
	border-radius: 10px;
}

/*
pagination
*/
.pagination {
    padding: 0 0 40px;
}
.pagination > ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0px;
    list-style: none;
}
.pagination > ul > li {
    width: 70px;
    height: 70px;
    background-color: #ffbba8;
    color: #000;
}
.pagination > ul > li > a,
.pagination > ul > li > span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #000;
    box-sizing: border-box;
}
.pagination > ul > li > a {
    text-decoration: none;
}
.pagination > ul > li:hover,
.pagination > ul > li > .current {
    background-color: #ffdf66;
}

.pagination > ul > li > .prev,
.pagination > ul > li > .next {
    position: relative;
    border: none;
}
.pagination > ul > li > .prev::before,
.pagination > ul > li > .next::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.75em;
    height: 0.75em;
    border-right: 2px solid #535353;
    border-top: 2px solid #535353;
    content: "";
}
.pagination > ul > li > .prev::before {
    transform: translateX(-50%) translateY(-50%) rotate(225deg);
}
.pagination > ul > li > .next::before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

#page-top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 99999;
	width: 50px;
	height: 50px;
	color: #fff;
	font-size: 20px;
	text-decoration: none;
	background: #515152;
	text-align: center;
	line-height: 48px;
	cursor: pointer;
	border: 2px solid #fff;
}
#page-top a,
#page-top a:visited{
	color: #fff;
}


.wpcf7-spinner{
	display: block !important;
	margin: 10px auto !important;
}

.img_border{
	border: 1px solid #ccc;
}

#cboxClose{
	bottom: 5px !important;
	right: 5px !important;
}
#cboxContent{
	padding: 10px !important;
	border-radius: 10px !important;
}
#cboxTopLeft,
#cboxTopCenter,
#cboxTopRight,
#cboxMiddleLeft,
#cboxMiddleRight,
#cboxBottomLeft,
#cboxBottomCenter,
#cboxBottomRight{
	background: none !important;
}

.clothing-box{
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px dashed #aaa;
	width: 48%;
}
.clothing-box h3{
	font-size: 20px;
	text-align: center;
}
.swiper-sub{
	width: 300px;
	margin: 0 auto;
	overflow: hidden;
	font-style: normal;
}
.swiper-sub p{
	text-align: center;
	padding: 5px;
	background: rgb(0,0,0,0.3);
	color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
}
.swiper-button-next,
.swiper-button-prev{
	color: #515152 !important;
}

@media screen and (max-width: 1280px){
	.inner,
	.img_inner,
	.sub_inner,
	.contact_inner,
	#main_inner{
		max-width: 100%;
	}
	img{
		max-width: 100%;
	}
}


@media screen and (min-width: 1200px) {
	a:hover,
	a:hover img{
		opacity: 0.8;
	}
}

@media screen and (max-width: 768px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.sp_br{
		display: inline-block;
	}
	.inner{
		width: 100%;
		padding: 0 10px;
		box-sizing: border-box;
	}
	
	.btn{
		width: 95%;
	}
	
	/*
	sp-menu
	*/
	#header{
		font-family: 'Noto Serif JP', serif !important;
	}
	#header #header{
		border-bottom: 1px solid rgba(0,0,0,0.3);
	}
	#header #header_h1{
		border: none;
	}
	#header #header_sns,
	#header #header_nav1,
	#header #header_nav2{
		display: none;
	}
	
	header{
		position: static;
	}
	#header_sns{
		display: none;
	}
	#header_logo{
		background-size: auto 100px;
		height: 100px;
		align-items: start;
	}
	header h1{
		/*margin: 10px auto;*/
		margin: auto;
		position: absolute;
		left: 20px;
		top: 20px;
	}
	header h1 img{
		max-width: 300px !important;
		width: auto !important;
		background: rgba(255, 255, 255, 0.3);
	}
	#header_nav{
		display: none;
	}
	#header_inner{
		-webkit-display: flex;
		display: flex;
		-webkit-justify-content: end;
	    justify-content: end;
	    align-items: start;
	    position: static;
	}
	#nav_btn_wrapper{
		display: block;
		z-index: 2;
	}
	#nav_btn_item_wrapper{
		display: none;
		position: fixed;
		top: 0;
		right: 0;
		width: 300px;
		height: 100%;
		background-color: #e3e3e3;
		transition: all 0.2s;
		transform: translate(300px);
		z-index: 1000;
		font-style: normal;
		font-family: 'Noto Serif JP', serif !important;
		font-size: 20px;
	}
	#nav_btn_item_wrapper h2{
		text-align: center;
		padding: 20px 0;
		font-size: 15px;
		border-bottom: 1px solid #000;
	}
	
	.nav_btn_item_scroll{
		overflow-y: auto;
		position: fixed;
		height: 100%;
		width: 100%;
		top: 0;
	}
	#nav_btn_item_container{
		height: 100%;/*400px;*/
		background: #fff;
	}
	
	#nav_btn {
		display : block;
		position: fixed;
		z-index : 3;
		right : 20px;
		top   : 12px;
		width : 50px;
		height: 50px;
		cursor: pointer;
		text-align: center;
	    border-radius: 2px;
	}
	#nav_btn span {
		 display : block;
		 position: absolute;
		 width   : 40px;
		 height  : 3px ;
		 left    : 6px;
		 background : #000;
		 -webkit-transition: 0.3s ease-in-out;
		 -moz-transition   : 0.3s ease-in-out;
		 transition        : 0.3s ease-in-out;
	}
	#nav_btn span:nth-child(1) {
		top: 15px;
	}
	#nav_btn span:nth-child(2) {
		top: 25px;
	}
	#nav_btn span:nth-child(3) {
		top: 35px;
	}
	
	/*
	nav open
	*/
	/* スマホメニューを開いてる時のボタン */
	#nav_close_btn {
		display : block;
		position: fixed;
		z-index : 3;
		right : 20px;
		top   : 12px;
		width : 50px;
		height: 50px;
		cursor: pointer;
		text-align: center;
	    border-radius: 2px;
	}
	#nav_close_btn span {
		 display : block;
		 position: absolute;
		 width   : 40px;
		 height  : 3px ;
		 left    : 6px;
		 background : #000;
		 -webkit-transition: 0.3s ease-in-out;
		 -moz-transition   : 0.3s ease-in-out;
		 transition        : 0.3s ease-in-out;
	}
	#nav_close_btn span:nth-child(1) {
		top : 25px;
		left: 6px;
		background :#000;
		-webkit-transform: rotate(-45deg);
		-moz-transform   : rotate(-45deg);
		transform        : rotate(-45deg);
	}
	#nav_close_btn span:nth-child(2),
	#nav_close_btn span:nth-child(3) {
		top: 25px;
		background :#000;
		-webkit-transform: rotate(45deg);
		-moz-transform   : rotate(45deg);
		transform        : rotate(45deg);
	}
	
	#nav_btn_wrapper.nav_open #nav_btn_item_wrapper{
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		top: 0;
		animation: show 0.3s linear 0s;
		z-index: 11;
		transform: translate(0); 
		background: #fff;
	}
	
	#nav_btn_menu_item{
		padding: 0;
		background: #fff;
	}
	#nav_btn_menu_item ul li a,
	#nav_btn_menu_item ul li a:visited{
		color: #000 !important;
	}
	#nav_btn_menu_item ul li a{
		position: relative;
		display: block;
		padding-left: 2.5rem;
		
		font-weight: 600;
	}
	#nav_btn_menu_item ul li{
		position: relative;
	}
	#nav_btn_menu_item ul li:not(.sub_menu)::before {
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-top: 3px solid #000;
		border-left: 3px solid #000;
		transform: rotate(135deg);
		position: absolute;
		left: 15px;
		top: calc(50% - 5px);
	}
	#nav_btn_menu_item ul li.sub_menu span:not(.active)::before {
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-top: 3px solid #000;
		border-right: 3px solid #000;
		transform: translateY(-25%) rotate(135deg);
		position: absolute;
		left: 18px;
		top: calc(0% + 20px);
	}
	#nav_btn_menu_item ul li.sub_menu span.active::before {
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-top: 3px solid #000;
		border-right: 3px solid #000;
		transform: translateY(25%) rotate(-45deg);
		position: absolute;
		left: 18px;
		top: calc(0% + 20px);
	}
	
	.menu_item_inner > ul > li{
		width: 100%;
		padding: 0;
		line-height: 50px;
	}
	.menu_item_inner > ul > li span{
		display: block;
		padding-left: 2.5rem;
		color: #000;
		font-weight: bold;
	}
	
	.subnav_dropdown{
		text-indent: 0;
		padding-left: 40px;
	}
	.subnav_dropdown li a{
		padding-left: 2.3rem !important;
	}
	
	#nav_btn_sns img{
		width: 40px;
	}
	#nav_btn_sns{
		text-align: center;
		display: flex;
		justify-content: center;
		padding-bottom: 20px;
	}
	#nav_btn_sns li{
		padding: 10px;
	}
	
	/*
	footer
	*/
	#footer_address{
		line-height: 1.6;
		padding: 20px 0;
		margin-top: 0;
		text-align: center;
	}
	#footer_address img{
		display: block;
		margin: 0 auto;
		width: 300px;
	}
	#footer_address .inner{
		flex-wrap: wrap;
		max-width: 100%;
	}
	#footer_address .inner p{
		width: 100%;
		line-height: 1.8;
		font-size: 13px;
	}
	
	#footer_address .d-flex{
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#footer_address .d-flex > div{
		margin-top: 20px;
	}
	
	.footer_address{
		line-height: 1.8;
	}
	
	#footer_copyright{
		margin-top: 0;
		font-size: 12px;
	}
	
	#top_catch{
		font-size: 14px;
		padding: 0 10px;
	}
	
	#top_campaign h2{
		background-size: 304px 117.1px;
		width: 304px;
		height: 117.1px;
	}
	#top_photomenu h2{
		background-size: 304px 83.05px;
		width: 304px;
		height: 83.05px;
	}
	#top_photomenu a{
		width: 49.5%;
	}
	
	.banner img{
		max-width: 85%;
	}
	
	
	#top_firsttime h2{
		padding-left: 30px;
	}
	#top_thought{
		font-size: 14px;
	}
	#top_thought h3{
		background-size: 171px 31.7px;
		width: 171px;
		height: 31.7px;
		margin-bottom: 10px;
	}
	#top_thought_inner{
		padding: 0 20px;
		line-height: 1.6em;
		background-position: right 10px top 23px;
		background-size: 170px 170px;
	}
	
	#top_important .inner,
	#top_retry .inner{
		max-width: 100%;
	}
	
	.top_frame_box{
		border-width: 5px;
		border-image-slice: 12 fill;
		padding: 23px 30px;
		line-height: 1.6em;
		font-size: 14px;
	}
	.top_frame_box .ttl{
		font-size: 15px;
		width: 80%;
		padding: 0 10px;
	}
	
	#top_flow .inner{
		max-width: 100%;
	}
	
	.flow > li dl dt{
		flex-basis: 35%;
	}
	.flow > li dl dd{
		font-size: 15px;
	}
	
	#top_reservation h2{
		background-size: 304px 140.35px;
		width: 304px;
		height: 140.35px;
	}
	#top_reservation{
		background-size: 350% auto;
	}
	
	.reservation_btn{
		-webkit-justify-content: space-between;
		justify-content: space-between;
		margin: 20px 5px 0;
	}
	.reservation_btn a{
		width: 46%;
	}
	.reservation_btn img{
		max-width: 100%;
		padding: 0;
	}
	
	#top_access{
		padding: 10px;
	}
	#top_access .d-flex{
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#top_access .w-50{
		width: 100%;
	}
	
	#access_address{
		margin-top: 10px;
		margin-bottom: 20px;
		font-size: 12px;
	}
	
	/*
	price
	*/
	.price_container h3{
		font-size: 24px;
	}
	.price_container h3 span{
		font-size: 16px;
	}
	.price_container ul li{
		width: 100%;
	}
	.price_container label{
		font-size: 14px;
		display: inline-block;
		line-height: 1.4;
	}
	
	.price_container ul li > div:nth-child(1){
		width: 80%;
	}
	.price_container ul li > div:nth-child(2){
		width: 20%;
	}
	
	.price_detail_content{
		width: calc(100vw - 40px);
		box-sizing: border-box;
		font-size: 14px;
	}
	.price_detail_img img{
		max-width: 100%;
	}
	.price_detail_body{
		font-size: 13px;
		margin-bottom: 10px;
	}
	
	.plan_seijin_date{
		font-size: 14px;
	}
	.price_container ul.plan_seijin_date li > div > div:nth-child(1){
		width: 30%;
	}
	.price_container ul.plan_seijin_date li > div > div:nth-child(2){
		width: 70%;
	}
	
	.price_caution{
		font-size: 14px;
		line-height: 1.8em;
		padding: 0;
	}
	.price_caution li{
		padding-bottom: 10px;
	}
	
	#price_amount_items ul{
		font-size: 14px;
	}
	#price_amount_items > div p:nth-child(1){
		width: 50%;
	}
	#price_amount_items > div p:nth-child(2){
		width: 50%;
	}
	
	.dl-1 dt{
		width: 100%;
		padding: 5px 0;
	}
	.dl-1 dd{
		width: 100%;
		padding: 5px 10px;
		margin-bottom: 10px;
	}
	
	.dl-2 dt{
		width: 25%;
		padding: 5px 0;
	}
	.dl-2 dd{
		width: 75%;
		padding: 5px 0;
	}
	
	.dl-3 dt{
		font-size: 14px;
	}
	.dl-3 dd{
		font-size: 13px;
	}
	.dl-4 dt{
		width: 100%;
		padding: 5px 0;
	}
	.dl-4 dd{
		width: 100%;
		padding: 5px 10px;
		margin-bottom: 10px;
	}
	
	.content-box1 .ttl{
		font-size: 20px;
	}
	.content-box1 ul{
		margin: 0;
	}
	.content-box1 ul li{
		margin-bottom: 10px;
	}
	
	#footer-price{
		font-size: 15px;
		padding: 10px 0px;
	}
	
	/*
	title
	*/
	.ttl{
		margin-top: 20px;
		font-size: 23px;
	}
	
	
	.content{
		font-size: 14px;
	}
	
	/*
	reservation
	*/
	#reservation_form dt,
	#reservation_form dd{
		width: 100%;
		padding: 10px;
		font-size: 14px;
	}
	#reservation_form dd{
		padding-top: 0;
		border-top: none;
	}
	
	#reservation_form form > dl > dt,
	#reservation_form form > dl > dd{
		width: 100%;
		padding: 10px 5px;
	}
	#reservation_form form > dl > dt p,
	#reservation_form form > dl > dd p{
		font-size: 14px;
	}
	input[type="radio"] + span{
		font-size: 14px;
	}
	#reservation_form form > dl > dd > dl dt p
	{
		font-size: 14px;
	}
	#reservation_form textarea{
		height: 200px;
	}
	
	.clothing-box{
		width: 100%;
	}
	
	
	input[type=radio] + span::before {
		top: 4px;
	}
	input[type=radio]:checked + span::after {
		top: 8px;
	}
	input[type="radio"] + span{
		padding: 0 1em 0 1.8em;
	}
	
	.wpcf7-list-item{
		padding: 0;
	}
	.wpcf7-list-item label{
		display: block;
		padding: 10px;
	}
}