@charset "UTF-8";

#headblock {
	background:url('../images/bg_head_w.png') no-repeat top center;
	background-size:contain;
	padding:36px 0 0 0;
}

#headblock h1, #headblock .logo {
	max-width:60vw;
	margin-left:6vw;
}

	#headblock.mobile {padding:0;background:none;padding:0;30%;}
	#headblock.mobile h1, #headblock.mobile .logo {max-width:60vw;margin:0 0 20px 0;}
@media screen and (max-width: 1024px) {
	#headblock h1, #headblock .logo {max-width:35vw;}
}

@media screen and (max-width: 480px) {
	#headblock.mobile {background:none;padding:0;}
	#headblock.mobile h1, #headblock.mobile .logo {margin:0 0 30px 0;max-width:70vw;}
}
#reserve {
	margin:50px 6vw 0 0;
	white-space: nowrap;
}
@media screen and (max-width:1300px) {
	#reserve {margin-top:10px;}
}
#reserve a, #reserve span {
	display:inline-block;
	vertical-align: middle;
	margin-left:20px;
}
#reserve .tel, #reserveblock .tel, .reservesection .tel {
	font-size:30px;
	background:#fff;
	border:2px #f6d1e1 solid;
	border-radius:9999px;
	padding:8px 30px 8px 66px;
	margin-right:25px;
	position:relative;
	letter-spacing:2.5px;
}
@media screen and (max-width: 1024px) {
	#reserve .tel {margin-right:0;}
}

#reserve .tel::after, #reserveblock .tel::after, .reservesection .tel::after {
	content:url('../images/icon_mobile.png');
	display:block;
	position:absolute;
	left:28px;
	top:12px;
}
#reserve .web {
	max-width:12vw;
}
#global {
	max-width:1080px;
	margin:0 auto;
}
#global.mobile, #reserve.mobile {display:none;}
@media screen and (max-width:1300px) {
	#global {padding-top:30px;}
}
#global li {
}
#global li img {
}

#menu-btn {
	position:fixed;
	top:25px;
	right:15px;
	z-index:20;
}
#menu-btn .closemenu {display:none;}
#menu-btn.open .closemenu {display:block;}
#menu-btn.open .openmenu {display:none;}
#sp-menu {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:10;
	display:none;
	background:#eff8ff;
	height:100vh;overflow-y:auto;
}
#sp-menu .inner {}
#sp-menu dl {
	width:96%;
	margin:0 2%;
}
#sp-menu dt img {max-width:60vw;margin:10px 0 20px 0;}
#sp-menu dd {margin-bottom:20px;text-align:center;}
#sp-menu ul {flex-wrap:wrap;}
#sp-menu li {width:33%;}
#sp-menu dd.access {
	background:#e3f0fa;
	border-radius:8px;
	padding:10px;
	position:relative;
}
#sp-menu .access .map {
	position:absolute;
	top:15px;
	right:15px;
}
#sp-menu .access p {
	text-align:left;
	padding:10px;
	line-height:1.8;
}

#titleblock {
	margin-top:-150px;
	padding-top:430px;
	padding-bottom:150px;
	background:url('../images/bg_titleblock2.png') no-repeat top center;
}
#sp-menu .reservesection .tel, #sp-menu .reservesection .reserve {
	font-size:18px!important;
	letter-spacing:0;
	padding: 9px 12px 10px 38px;
	margin:0;
	display:inline-block;
	vertical-align:middle;
}
#sp-menu .reservesection .reserve {padding: 9px 12px 10px 46px;}
#sp-menu .reservesection .tel::after {
	left:12px;
}
#sp-menu .reservesection .reserve::after {
	left:12px;top:8px;
}
#sp-menu .reservesection img.insta {max-width:46px;}
#sp-menu .reservesection {padding:10px 2px 20px 2px;flex-wrap:nowrap;background:#fff;justify-content:center;}
#sp-menu .reservesection li {width:auto;margin:0 4px;}
@media screen and (max-width:380px) {
	#sp-menu .reservesection .tel, #sp-menu .reservesection .reserve {font-size:16px!important;}
}
@media screen and (min-width:420px) {
	#sp-menu .reservesection li {margin:0 10px;}
}
@media screen and (max-width:370px) {
	#sp-menu .tel span {display:none;}
}
#titleblock.mobile {background-size:contain;background-position:top right;margin-top:-40px;padding-top:70px;padding-bottom:60px;}

@media screen and (max-width:480px) {
	#titleblock.mobile {background-size:contain;margin-top:0;padding-top:0;padding-bottom:30px;}
}
#titleblock .inner{
	max-width:1450px;
	margin:0 auto;
}
	#titleblock.mobile .inner {max-width:96%;}

#bread.flex {
	align-items: center;
	margin-bottom:20px;
}
#bread li {
	margin-right:30px;
	position:relative;
}
#bread li.home {
	padding-left:30px;
}
#bread li.home::before {
	position:absolute;
	left:0;
	top:0;
	bottom:0;
    content:url('../images/icon_home.png');

}
#bread li:not(:first-child)::before {
    position:absolute;
	left:-20px;
	top:0;
	bottom:0;
    content: '>';
}
#titleblock h1, #titleblock .patitle {
	font-size:48px;
	letter-spacing:20px;
	padding:15px 0 25px 110px;
	position:relative;
}
#titleblock h1::before, #titleblock .patitle::before {
	position:absolute;
	left:0;
	top:0;
	bottom:0;
    content: url('../images/icon_main_title.png');
}
	#titleblock.mobile h1, #titleblock.mobile .patitle {font-size:28px;padding-left:40px;margin-left:7%;letter-spacing:8px;margin-top:6%;}
	#titleblock.mobile h1::before, #titleblock.mobile .patitle::before {content: url('../images/icon_main_title_s.png');top:16px;}

@media screen and (max-width:480px) {
	#bread {font-size:13px;}
	#bread li.home {padding-left:20px;}
	#bread li.home::before {content:url('../images/icon_home_s.png');}
	#titleblock.mobile h1, #titleblock .patitle {font-size:20px;padding-left:40px;margin-left:7%;letter-spacing:4px;margin-top:11%;}
	#titleblock.mobile h1::before, #titleblock .patitle::before {content: url('../images/icon_main_title_s.png');top:16px;}
}

footer {
	background:url('../images/bg_footer_upper.png') no-repeat top center, url('../images/bg_footer_lower.png') no-repeat bottom center;
	height:2627px;
	margin-top:-80px;
	overflow:hidden;
}
footer.front {
	background:url('../images/home/bg_footer_front_upper.png') no-repeat top center, url('../images/bg_footer_lower.png') no-repeat bottom center;
	margin-top:0;
	height:2407px;
}

#infoblock {
	max-width:1300px;
	margin:0 auto 40px auto;
	padding-top:380px;
	line-height:1.8;
}
footer.front #infoblock {padding-top:100px;}
@media screen and (max-width:1300px) {
	#infoblock {max-width:96%;}
}
#infoblock dl {
	width:55%;
}
#infoblock dt img {
	max-width:363px;
	margin-bottom:10px;
}
#infoblock div {
	width:42%;
	text-align:right;
}

@media screen and (max-width:480px) {
	footer {background-color:#dff7fe;background-image:url('../images/bg_spfoot_upper.png'), url('../images/bg_spfoot_lower.png');background-repeat:no-repeat, no-repeat;background-position:top center, bottom center;height:auto;padding-bottom:200px;}
	#infoblock {padding-top:100px;width:320px;}
	#infoblock.flex {display:block}
	#infoblock dl, #infoblock div {width:100%;margin-bottom:10px;}
	#infoblock dt img {max-width:100%;}
	footer.front {background-color:#dff7fe;background-image:url('../images/home/bg_footer_front_top.png'), url('../images/bg_spfoot_lower.png');background-repeat:no-repeat, no-repeat;background-position:top 80px right, bottom center;height:auto;padding-bottom:200px;}
}
#accessblock {
	max-width:1300px;
	margin:0 auto 40px auto;
	background:#fff;
	border-radius:20px;
	padding:30px;
	line-height:1.8;
}
@media screen and (max-width:1300px) {
	#accessblock {max-width:96%;}
}
#accessblock dl {
	width:50%;
	box-sizing:border-box;
	margin-left:5%;
}
#accessblock dl:first-child {
	border-right:1px #bad2d9 solid;
	padding-right:5%;
	margin-left:0;
}
#accessblock dt {
	font-size:24px;
	margin-bottom:6px;
}
#accessblock dt img {
	vertical-align:baseline;
}
@media screen and (max-width:480px) {
	#accessblock.flex {display:block;width:320px;}
	#accessblock dl {width:100%;margin-left:0;}
	#accessblock dl:first-child {border-bottom:1px #bad2d9 solid;border-right:0px;padding-right:0;padding-bottom:15px;margin-bottom:15px;}
	#accessblock dt {font-size:20px;}
}
#reserveblock {
	max-width:1304px;
	height:auto;
	margin:0 auto 100px auto;
	background:url('../images/bg_reserve_banner.png') no-repeat top center;
	background-size:cover;
	text-align:center;
	aspect-ratio: 260 / 59;
	box-sizing:border-box;
}
@media screen and (max-width:1300px) {
	#reserveblock {max-width:96%;}
}
#reserveblock dt {
	padding-top:2.6%;
	font-size:34px;
	line-height:1.4;
}
#reserveblock dt span {
	font-size:30px;
	display:block;
}
#reserveblock dd {
	padding-top:2.2%;
	padding-left:90px;
}
#reserveblock a, #reserveblock span, .reservesection a, .reservesection span {
	display:inline-block;vertical-align: top;
}
#reserveblock .reserve, .reservesection .reserve {
	font-size:28px;
	color:#fff;
	background-image: -moz-linear-gradient( 0deg, rgb(240,157,193) 30%, rgb(212,161,234) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(240,157,193) 30%, rgb(212,161,234) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(240,157,193) 30%, rgb(212,161,234) 100%);
	border-radius:9999px;
	padding:10px 30px 10px 66px;
	margin-right:25px;
	position:relative;
	letter-spacing:1px;
}
.reservesection .reserve span {vertical-align:top;}
#reserveblock .reserve::after, .reservesection .reserve::after {
	content:url('../images/icon_clock.png');
	display:block;
	position:absolute;
	left:28px;
	top:12px;
}
@media screen and (max-width:960px) {
	#reserveblock dt {font-size:28px;}
	#reserveblock span {font-size:22px;display:inline;}
	#reserveblock dd {padding-top:2%;padding-left:0;}
	#reserveblock .tel, .reservesection .tel {font-size:26px;padding: 3px 20px 4px 58px;}
	#reserveblock .reserve, .reservesection .reserve {font-size:24px;padding:6px 20px 7px 62px;}
	#reserveblock img.insta, .reservesection img.insta {max-width:55px;}
	#reserveblock .tel::after, .reservesection .tel::after {top:8px;}
	#reserveblock .reserve::after, .reservesection .reserve::after {top:10px;}
}
@media screen and (max-width:480px) {
	#reserveblock {width:320px;height:430px;background:url('../images/bg_spreserve_banner.png') no-repeat top center;background-size:cover;aspect-ratio:auto;}
	#reserveblock dt {font-size:26px;padding-top:80px;}
	#reserveblock dt span {display:block;}
	#reserveblock dd a {display:block!important;max-width:260px;margin:15px auto!important;white-space:nowrap;}
}
#mapblock {
	max-width:1800px;
	margin:0 auto 70px auto;
	border:15px #fff solid;
	border-radius:60px;
	aspect-ratio:100 / 38;
	overflow: hidden;
    position: relative;
}
@media screen and (max-width:1800px) {
	#mapblock {max-width:96%;}
}
@media screen and (max-width:480px) {
	#mapblock {width:320px;height:400px;aspect-ratio:32 / 40;border-width:3px;border-radius:8px;}
}
#mapblock iframe {
	float:left;
}
#naviblock {
	max-width:1300px;
	margin:0 auto 45px auto;
}

#naviblock .left {
	width:23%;
}
#naviblock .center {
	width:62%;
	padding:0 30px;
	box-sizing:border-box;
	border-left:1px #bad2d9 solid;
	border-right:1px #bad2d9 solid;
}
#naviblock .right {
	width:15%;
	padding-left:30px;
	box-sizing:border-box;
}
#naviblock li, #naviblock dt {
	position:relative;
	margin-bottom:8px;
}
#naviblock dd {
	align-items:center;
}
.list_a {
	font-size:20px;
	padding-left:32px;
}
.list_a.sp2 {display:none;}
.list_a::before {
	content:url('../images/icon_arrow.png');
	position:absolute;
	left:0;
	top:0;
	bottom:0;
}
.list_b {
	font-size:18px;
	padding-left:24px;
}
.list_b::before {
	content:url('../images/icon_list_b.png');
	position:absolute;
	left:5px;
	top:0;
	bottom:0;
}
.list_c {
	font-size:16px;
	padding-left:24px;
}
.list_c::before {
	content:url('../images/icon_list_s.png');
	position:absolute;
	left:5px;
	top:0;
	bottom:0;
}
@media screen and (max-width:1300px) {
	#naviblock {max-width:96%;}
	#naviblock .left {width:30%;padding-right:30px;}
	#naviblock .right {display:none;} 
	#naviblock .center {width:70%;border-right:none;}
	#naviblock .center ul {width:30%;}
	.list_a.sp2 {display:block;}
	#infoblock, #accessblock, #reserveblock, #mapblock {margin-bottom:80px;}
}
@media screen and (max-width:768px) {
	#naviblock.flex.between {display:block;}
	#naviblock .left {width:100%;}
	#naviblock .right {display:block;width:100%;padding:20px 0;} 
	#naviblock .center {width:100%;border-right:none;border-left:none;padding:20px 0;}
	.list_a.sp2 {display:none;}
	#infoblock, #accessblock, #reserveblock, #mapblock {margin-bottom:60px;}
}
@media screen and (max-width:480px) {
	#naviblock.flex.between {display:none;}
	#infoblock, #accessblock, #reserveblock, #mapblock {margin-bottom:45px;}
}
#copy {
	text-align:center;
	font-size:13px;
}
.reservesection {padding:10px 0;}
.reservesection li {
	text-align:center;
	margin-bottom:15px;
}
