@charset "UTF-8";

/*
Theme Name: kidsbase
*/

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}
/*
@font-face {
	font-family: 'Noto Sans JP';
	src: local(''), url('font/NotoSansJP.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
	*/
.en,
.lang_en {
	font-family: 'Concert One', sans-serif;
}

/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: var(--light_brown);
}
body.menu-open {
  overflow: hidden;
}
a {
	text-decoration: none;
	color: var(--brown);
}
.container {
	overflow: hidden;
}
@media ( min-width: 1060px ){
	.sptab {
		display: none !important;
	}
}
@media ( min-width: 768px ){
	body {
		font-size: min(1.2931vw, 15px);
	}
	body .lang_en {
		font-size: min(1.465vw, 17px);
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 1100px;
		padding: 0 min(2.5862vw, 30px);
		margin: 0 auto;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media ( max-width: 1200px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 767px ){
	body {
		font-size: 4vw;
	}
	.pc,
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 8.666vw;
	}
}

:root {
	--brown: #564141;
	--light_brown: #6e514b;
	--purple: #a794b6;
	--light_purple: #e9ddf2;
	--pink: #f0e5de;
	--blue: #e4f2f8;
	--green: #eef6ef;
	--yellow: #feffb8;
	--light_yellow: #fffddb;
	--red: #ff6046;
	--note_brown: #937a76;
}
/* =header
-------------------------------------------------------------- */
#header {
	position: fixed;
	z-index: 3;
	width: 100%;
	top: 0;
	left: 0;
  	border-image: linear-gradient(90deg, rgba(255,229,129,0.99608) 0%, rgb(229,80,97) 24%, rgb(144,101,178) 51%, rgb(89,119,182) 76%, rgb(127,159,149) 86%, rgb(164,198,116) 100% ) 1;
}	
#header .navi {
	display: flex;
	justify-content: space-between;
}
#header .navi .btn_area ul {
	display: flex;
}
#header .navi .btn_area ul li.menu_btn {
	display: flex;
	flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}
#header .gnav {
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	background: #937a76;
	-webkit-overflow-scrolling: touch;
	z-index: 5;
	transform: translateX(100%);
    transition: transform 0.4s ease;
    box-sizing: border-box;
}
#header .gnav .close {
	position: absolute;
	content: "";
}
#header .gnav ul li a {
	display: block;
	color: #fff;
}
#header .gnav.open {
	transform: translateX(0);
}
@media ( min-width: 768px ){
	#header {
		border-top: min(0.344vw, 4px) solid transparent;
  		padding: min(0.603vw, 7px) 0;
		background: rgba( 255, 255, 255, 0.65 );
	}
	#header .logo {
		width: min(8.879vw, 103px);
	}
	#header .navi .btn_area ul {
		gap: 0 min(1.724vw, 20px);
		align-items: flex-end;
	}
	#header .navi .btn_area ul li.language a {
		display: flex;
		flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: min(0.603vw, 7px) 0;
    transition: 0.5s;
	}
	#header .navi .btn_area ul li.language a:hover {
		transition: 0.5s;
    opacity: 0.8;
	}
	#header .navi .btn_area ul li.menu_btn {
		gap: min(0.603vw, 7px) 0;
		font-size: min(1.379vw, 16px);
	}
	#header .navi .btn_area ul li.menu_btn {
		cursor: pointer;
	}
	#header .navi .btn_area ul li .btn.more a {
		width: min(19.827vw, 230px);
		height: min(3.879vw, 45px);
		font-size: min(1.12vw, 13px);
		padding-right: min(0.517vw, 6px);
		box-sizing: border-box;
	}
	#header .navi .btn_area ul li .btn.more a::after {
		right: min(1.293vw, 15px);
		width: min(1.465vw, 17px);
        height: min(1.465vw, 17px);
	}
	.overlay {
		position: fixed;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100vh;
	    background: rgba(0, 0, 0, 0.2);
	    opacity: 0;
	    visibility: hidden;
	    transition: opacity 0.4s ease;
	    z-index: 4;
	}
	.overlay.open {
		opacity: 1;
    	visibility: visible;
	}
	#header .gnav {
		width:min(38.62vw, 448px);
		padding: min(4.31vw, 50px) min(4.31vw, 50px) 0;
	}
	#header .gnav .close {
		width: min(2.586vw, 30px);
		height: min(2.586vw, 30px);
		top: min(2.327vw, 27px);
		right: min(2.586vw, 30px);
		cursor: pointer;
	}
	#header .gnav ul {
		margin-bottom: min(2.155vw, 25px);
	}
	#header .gnav ul li + li {
		border-top: 1px solid #fff;
	}
	#header .gnav ul li a {
		padding: min(1.724vw, 20px);
		transition: 0.5s;
	}
	#header .gnav ul li a:hover {
		opacity: 0.8;
		transition: 0.5s;
	}
}
@media ( max-width: 767px ){
	#header {
		border-top: 0.9333vw solid transparent;
  		padding: 3.066vw 0 0;
	}
	#header .inner {
		padding: 0 4vw;
	} 
	#header .logo {
		width: 23.066vw;
	}
	#header .navi .btn_area ul {
		gap: 0 3vw;
		align-items: flex-start;
	}
	#header .navi .btn_area ul li.language a {
		display: flex;
		align-items: center;
    flex-direction: row;
    gap: 0 2.666vw;
    font-size: 3.7333vw;
   }
	#header .navi .btn_area ul li.language a .img_box {
		width: 7.5vw;
	}
	#header .navi .btn_area ul li.menu_btn {
		gap: 1vw 0;
		font-size: 3.333vw;
		color: #fff;
		background: var(--brown);
		height: 17.333vw;
		margin: -4.9333vw 0 -1.6vw;
		padding: 4.266vw 4vw;
		box-sizing: border-box;
		border-radius: 0 0 8vw 8vw;
	}
	#header .navi .btn_area ul li.menu_btn .img_box {
		width: 8vw;
	}
	#header .gnav {
		width:100%;
		padding: 6vw 8.666vw 0;
	}
	#header .gnav .close {
		width: 8vw;
		height: 8vw;
		top: 6vw;
		right: 6vw;
	}
	#header .gnav ul {
		margin-bottom: 4vw;
	}
	#header .gnav ul li + li {
		border-top: 0.2666vw solid #fff;
	}
	#header .gnav ul li a {
		padding: 3vw;
	}
}

/* =footer
-------------------------------------------------------------- */
#footer_reservation {
	color: #fff;
	position: relative;
	z-index: 2;
}
#footer_reservation .sub_title {
	color: #fff;
}
#footer_reservation .lead_txt .red {
	color: var(--red);
}
@media ( min-width: 768px ){
	#footer_reservation {
		background: url(img/footer_reservation_bg.png) center top / cover no-repeat;
		padding: min(30.172vw, 350px) 0 min(13.793vw, 160px);
		margin-top: max(-30.172vw, -350px);
	}
}
@media ( max-width: 767px ){
	#footer_reservation {
		background: url(img/footer_reservation_bg_sp.png) center top / cover no-repeat;
		padding:  38.666vw 0 20vw;
		margin-top: -38.666vw;
	}
	#footer_reservation .lead_txt {
		text-align: left;
	}
}
#footer_link {
	background: var(--purple);
	color: #fff;
}
#footer_link .footer_link_list ul {
	display: flex;
	flex-wrap: wrap;
}
#footer_link .btn_area ul {
	display: flex;
	justify-content: center;
}
#footer_link .footer_link_list a {
	color: #fff;
}
@media ( min-width: 768px ){
	#footer_link {
		padding: min(5.1724vw, 60px) 0 min(6.8965vw, 80px);
	}
	#footer_link .footer_link_list ul {
		max-width: 750px;
		margin: 0 auto;
		gap: min(2.155vw, 25px);
		margin-bottom: min(4.31vw, 50px);
		justify-content: center;
	}
	#footer_link .btn_area ul {
		gap: min(2.155vw, 25px);
		margin-bottom: min(4.31vw, 50px);
	}
	.lang_en #footer_link .footer_link_list ul {
		max-width: 800px;
	}
	#footer_link .copyright {
		font-size: min(1.12vw, 13px);
	}
}
@media ( max-width: 767px ){
	#footer_link {
		padding: 16vw 0 12vw;
	}
	#footer_link .footer_link_list ul {
		margin-bottom: 10vw;
		justify-content: space-between;
	}
	#footer_link .btn_area ul {
		gap: 4vw;
		margin-bottom: 17.333vw;
	}
	#footer_link .footer_link_list ul li {
		width: 49%;
		text-align: left;
		justify-content: space-between;
		line-height: 2.333;
		font-size: 3.6vw;
	}
	#footer_link .copyright {
		font-size: 2.666vw;
	}
}

/* =title / btn
-------------------------------------------------------------- */
.title_wrap .en {
	display: inline-block;
	background: linear-gradient( 0deg, rgba(255,147,129,0.99608) 0%, rgb(229,80,97) 24%, rgb(144,101,178) 51%, rgb(89,119,182) 76%, rgb(127,159,149) 86%, rgb(164,198,116) 100%);
	background: -webkit-linear-gradient( 0deg, rgba(255,147,129,0.99608) 0%, rgb(229,80,97) 24%, rgb(144,101,178) 51%, rgb(89,119,182) 76%, rgb(127,159,149) 86%, rgb(164,198,116) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.title_wrap .title {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	font-weight: 700;
	color: var(--brown);
}
.sub_title {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	font-weight: 700;
	position: relative;
	display: inline-block;
}
.lang_en .title_wrap .title,
.lang_en .sub_title {
	font-family: 'Concert One', sans-serif;
	font-weight: normal;
}
.lang_en .title_wrap .en {
	font-weight: 700;
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
}
.sub_title::before,
.sub_title::after {
	position: absolute;
	content: "";
	background: url(img/sub_title_side.svg) center / contain no-repeat;
	top: 0;
	bottom: 0;
	margin: auto;
}
.sub_title::after {
	transform: rotate(180deg);
}
.btn a {
	color: #fff;
	display: flex;
	align-items: center;
  justify-content: center;
  position: relative;
  font-weight: bold;
}
.lang_en .btn a {
	font-weight: normal;
}
.btn a::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(img/btn_arrow.svg) center / contain no-repeat;
}
.btn.more a {
	background: var(--brown);
}
.btn.line a {
	background: #06c655;
}

.btn.reservation a {
	background-image: -moz-linear-gradient( -20deg, rgba(255,229,129,0.99608) 0%, rgb(229,80,97) 24%, rgb(144,101,178) 51%, rgb(89,119,182) 76%, rgb(127,159,149) 86%, rgb(164,198,116) 100%);
	background-image: -webkit-linear-gradient( -20deg, rgba(255,229,129,0.99608) 0%, rgb(229,80,97) 24%, rgb(144,101,178) 51%, rgb(89,119,182) 76%, rgb(127,159,149) 86%, rgb(164,198,116) 100%);
	background-image: -ms-linear-gradient( -20deg, rgba(255,229,129,0.99608) 0%, rgb(229,80,97) 24%, rgb(144,101,178) 51%, rgb(89,119,182) 76%, rgb(127,159,149) 86%, rgb(164,198,116) 100%);
	flex-direction: column;
}
.btn.reservation a .en {
	font-weight: normal;
}
.btn.reservation .btn_cach {
	color: var(--brown);
	display: inline-block;
	position: relative;
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
}
.lang_en .btn.reservation .btn_cach {
	font-family: 'Concert One', sans-serif;
}
.btn.reservation .btn_cach::before,
.btn.reservation .btn_cach::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	margin: auto;
}
.btn.reservation .btn_cach::before {
	background: url(img/reservation_btn_cach_before.svg) center / contain no-repeat;
}
.btn.reservation .btn_cach::after {
	background: url(img/reservation_btn_cach_after.svg) center / contain no-repeat;
}
.notes {
	color: var(--note_brown);
	line-height: 1.6;
	text-align: left;
}
.notes ul li {
	padding-left: 1em;
    text-indent: -1em;
}
@media ( min-width: 768px ){
	.title_wrap {
		margin-bottom: min(5.172vw, 60px);
	}
	.title_wrap .title {
		font-size: min(3.448vw, 40px);
		margin-bottom: min(3.448vw, 40px);
	}
	.lang_en .title_wrap .title {
		font-size: min(4.31vw, 50px);
	}
	.title_wrap .en {
		font-size: min(1.724vw, 20px);
	}
	.sub_title {
		font-size: min(2.413vw, 28px);
		margin-bottom: min(5.172vw, 60px);
	}
	.sub_title::before,
	.sub_title::after {
		width: min(2.586vw, 30px);
		height: min(1.206vw, 14px);
	}
	.sub_title::before {
		left: max(-4.31vw, -50px);
	}
	.sub_title::after {
		right: max(-4.31vw, -50px);
	}
	.btn a {
		width: min(31.034vw, 360px);
		height: min(7.327vw, 85px);
		margin: 0 auto;
		border-radius: min(3.366vw, 42.5px);
		font-size: min(1.603vw, 18.6px);
		transition: 0.5s;
	}
	.btn a::after {
		width: min(1.81vw, 21px);
		height: min(1.81vw, 21px);
		right: min(2.586vw, 30px);
	}
	.btn a:hover {
		transition: 0.5s;
		opacity: 0.8;
	}
	.btn.reservation a {
		gap: min(0.862vw, 10px);
		box-shadow: 0 5px 4.6px 0.4px rgba(147, 181, 150, 0.25);
	}
	.btn.reservation a:hover {
		box-shadow: none;
	}
	.btn.reservation a .en {
		font-size: min(1.146vw, 13.3px);
	}
	.btn.reservation .btn_cach {
		font-size: min(1.896vw, 22px);
		line-height: 1.59;
		margin-bottom: min(3.448vw, 40px);
	}
	.btn.reservation .btn_cach::before,
	.btn.reservation .btn_cach::after {
		width: min(4.051vw, 47px);
		height: min(6.379vw, 74px);
	}
	.btn.reservation .btn_cach::before {
		left: max(-6.465vw, -75px);
	}
	.btn.reservation .btn_cach::after {
		right: max(-6.465vw, -75px);
	}
	.lead_txt {
		line-height: 2.333;
		margin-bottom: min(5.172vw, 60px);
	}
}
@media ( max-width: 767px ){
	.title_wrap {
		margin-bottom: 12vw;
	}
	.title_wrap .title {
		font-size: 7.333vw;
		margin-bottom: 5.333vw;
	}
	.lang_en .title_wrap .title {
		font-size: 10vw;
	}
	.sub_title {
		font-size: 6vw;
		margin-bottom: 8.666vw;
	}
	.sub_title::before,
	.sub_title::after {
		width: 4.5333vw;
		height: 2vw;
	}
	.sub_title::before {
		left: -8vw;
	}
	.sub_title::after {
		right: -8vw;
	}
	.btn a {
		width: 100%;
		height: 21.333vw;
		border-radius: 10.666vw;
		font-size: 4.666vw;
	}
	.btn a::after {
		width: 5.2vw;
		height: 5.2vw;
		right: 8vw;
	}
	.btn.reservation a {
		gap: 2.666vw;
		box-shadow: 0 0.666vw 0.613vw 0.0533vw rgba(147, 181, 150, 0.25);
	}
	.btn.reservation a .en {
		font-size: 3.333vw;
	}
	.btn.reservation .btn_cach {
		line-height: 1.5;
		margin-bottom: 8vw;
	}
	.btn.reservation .btn_cach::before,
	.btn.reservation .btn_cach::after {
		width: 8.266vw;
		height: 13.0666vw;
	}
	.btn.reservation .btn_cach::before {
		left: -12.666vw;
	}
	.btn.reservation .btn_cach::after {
		right: -12.666vw;
	}
	.lead_txt {
		line-height: 2.16;
		margin-bottom: 12vw;
	}
	.notes {
		font-size: 3.333vw;
	}
}

/* =news_common
-------------------------------------------------------------- */
.news_list {
	text-align: left;
}
.news_list ul li a {
	display: flex;
	align-items: center;
}
.news_list ul li a .ymd {
	background: url(img/news_ymd_bg.svg) center top / cover no-repeat;
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--purple);
}
.news_list ul li a .article_tit {
	line-height: 1.6;
}
@media ( min-width: 768px ){
	.news_list {
		margin-bottom: min(2.586vw, 30px);
	}
	.news_list ul li a {
		padding: min(1.293vw, 15px) 0;
		gap: 0 min(1.724vw, 20px);
		transition: 0.5s;
	}
	.news_list ul li a:hover .article_tit {
		text-decoration: underline;
		transition: 0.5s;
	}
	.news_list ul li + li,
	.news_list ul li:first-child:last-child {
		background: url(img/underline_dot.svg) left top / cover repeat-x;
		background-size: min(1.724vw, 20px) min(0.344vw, 4px);
	}
	.news_list ul li:first-child:last-child {
		background-position: left bottom;
	}
	.news_list ul li a .ymd {
		width: min(7.758vw, 90px);
		height: min(7.758vw, 90px);
		font-size: min(1.551vw, 18px);
	}
	.news_list ul li a .article {
		width: calc(100% - min(9.482vw, 110px));
	}
}
@media ( max-width: 767px ){
	.news_list {
		margin-bottom: 9.333vw;
	}
	.news_list ul li a {
		padding: 6.666vw 0;
		gap: 0 4.666vw;
	}
	.news_list.no_list ul li span {
		display: block;
		text-align: center;
		padding: 6.666vw 0;
	}
	.news_list ul li + li,
	.news_list ul li:first-child:last-child {
		background: url(img/underline_dot.svg) left top / cover repeat-x;
		background-size: 6vw 1.2vw;
	}
	.news_list ul li:first-child:last-child {
		background-position: left bottom;
	}
	.news_list ul li a .ymd {
		width: 19.466vw;
		height: 19.466vw;
	}
	.news_list ul li a .article {
		width: calc(100% - 24.132vw);
	}
}

/* =news_all
-------------------------------------------------------------- */
.news_all .news_list ul li .article_tit {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
}
.lang_en .news_all .news_list ul li .article_tit {
	font-family: 'Concert One', sans-serif;
	}
.news_all .news_list ul li p {
	line-height: 1.6;
	color: var(--note_brown);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	}
.news_all .news_list ul li a {
	align-items: flex-start;
}
.pager ol {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}
.pager ol li {
	color: var(--brown);
}
.pager ol li.prev,
.pager ol li.next {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	margin: auto;
}
.pager ol li a {
    color: var(--purple);
	transition: 0.5s;
}
@media ( min-width: 768px ){
	.news_all .news_list {
		margin-bottom: min(6.896vw, 80px);
	}
	.news_all .news_list ul li a {
		padding: min(2.586vw, 30px) 0;
	}
	.news_all .news_list.no_list ul li span {
		display: block;
		text-align: center;
		padding: min(2.586vw, 30px) 0;
	}
	.news_all .news_list ul li .article_tit {
		font-size: min(4.31vw, 20px);
		margin-bottom: min(0.862vw, 10px);
	}
	.pager ol {
		font-size: min(2.586vw, 30px);
        column-gap: min(4.137vw, 48px);
    	max-width: min(25.862vw, 300px);
    }
    .pager ol li a:hover {
    	color: var(--light_brown);
		transition: 0.5s;
    }
    .pager ol li.prev,
	.pager ol li.next {
		width: min(2.586vw, 30px);
		height: min(2.586vw, 30px);
	}
	.pager ol li.prev a:hover img,
	.pager ol li.next a:hover img {
		animation: heartBeat 0.5s ease;
	}
	@keyframes heartBeat {
	  0%   { transform: scale(1); }
	  20%  { transform: scale(0.95); }
	  50%  { transform: scale(1.12); }
	  100% { transform: scale(1); }
	}
    .pager ol li.prev {
    	left: max(-5.172vw, -60px);
    }
    .pager ol li.next {
    	right: max(-5.172vw, -60px);
    }
}
@media ( max-width: 767px ){
	.news_all .news_list ul li p {
		font-size: 3.4vw;
	}
	.news_list ul li a .ymd {
		width: 16vw;
		height: 16vw;
	}
	.news_list ul li a .article {
		width: calc(100% - 20.666vw);
	}
	.news_all .news_list ul li .article_tit {
		margin-bottom: 2vw;
	}
	.pager ol {
		font-size: 6vw;
        column-gap: 6vw;
        width: 60vw;
    }
    .pager ol li.prev,
	.pager ol li.next {
		width: 8vw;
		height: 8vw;
	}
    .pager ol li.prev {
    	left: -4vw;
    }
    .pager ol li.next {
    	right: -4vw;
    }
}

/* =news_detail
-------------------------------------------------------------- */
.news_detail .main {
	text-align: left;
}
.news_detail .main .ymd {
	color: var(--purple);
}
.news_detail .main .article_tit,
.article_body h2 {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	line-height: 1.6;
}
.lang_en .news_detail .main .article_tit,
.lang_en .article_body h2 {
	font-family: 'Concert One', sans-serif;
}
body.article_body {
	text-align: left;
	margin: 1em;
}
.article_body p {
	line-height: 2;
}
.article_body p strong {
	color: var(--red);
}
.article_body p a {
	color: var(--purple);
	text-decoration: underline;
}
@media ( min-width: 768px ){
	.news_detail .main {
		margin-bottom: min(6.896vw, 80px);
	}
	.news_detail .main .ymd {
		font-size: min(1.724vw, 20px);
		padding-bottom: min(1.293vw, 15px);
	}
	.news_detail .main .article_tit {
		font-size: min(2.413vw, 28px);
		padding-bottom: min(1.724vw, 20px);
		background: url(img/underline_dot.svg) left bottom / cover repeat-x;
		background-size: min(1.724vw, 20px) min(0.344vw, 4px);
		margin-bottom: min(5.172vw, 60px);
	}
	.article_body h2 {
		font-size: min(1.896vw, 22px);
		margin-bottom: min(3.448vw, 40px);
		padding: min(0.862vw, 10px) 0 min(0.862vw, 10px) min(1.724vw, 20px);
		border-left: min(0.344vw, 4px) solid var(--light_purple);
	}
	.article_body p {
		margin-bottom: min(3.448vw, 40px);
	}
	.article_body p a:hover {
		text-decoration: none;
	}
}
@media ( max-width: 767px ){
	.news_detail .main {
		margin-bottom: 16vw;
	}
	.news_detail .main .ymd {
		font-size: 4vw;
		padding-bottom: 3vw;
	}
	.news_detail .main .article_tit {
		font-size: 4.8vw;
		padding-bottom: 6vw;
		background: url(img/underline_dot.svg) left bottom / cover repeat-x;
		background-size: 6vw 1.2vw;
		margin-bottom: 8vw;
	}
	.article_body h2 {
		font-size: 4vw;
		margin-bottom: 6vw;
		padding: 1.333vw 0 1.333vw 4.333vw;
		border-left: 0.9333vw solid var(--light_purple);
	}
	.article_body p {
		margin-bottom: 6vw;
		font-size: 3.5vw;
	}
}


/* =top_fv
-------------------------------------------------------------- */
#top_fv {
	background: var(--pink);
	position: relative;
}
#top_fv .kv .cach_wrap .kv_cach {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	color: var(--brown);
	position: relative;
	display: inline-block;
}
.lang_en #top_fv .kv .cach_wrap .kv_cach {
	font-family: 'Concert One', sans-serif;
}
#top_fv .kv .btn.reservation {
	position: relative;
	z-index: 1;
}
#top_fv .kv .cach_wrap .txt_wrap {
	position: relative;
	z-index: 1;
}
#top_fv .kv .cach_wrap .txt_wrap .kv_cach::after {
	position: absolute;
	content: "ゼロ";
}
.lang_en #top_fv .kv .cach_wrap .txt_wrap .kv_cach::after {
	display: none;
}
#top_fv .top_second .txt_wrap {
	position: relative;
}
#top_fv .top_second .txt_wrap .lead_txt {
	position: relative;
	z-index: 1;
}
.scroll {
  animation: float 2s ease-in-out infinite;
  position: relative;
  z-index: 1;
  transform: 0.5s;
}
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); } /* 上に20px移動 */
  100% { transform: translateY(0px); }
}
#top_fv .top_second .txt_wrap .second_title {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	line-height: 1.6;
	position: relative;
	z-index: 1;
}
.lang_en #top_fv .top_second .txt_wrap .second_title {
	font-family: 'Concert One', sans-serif;
}
#top_fv .top_second .txt_wrap .img_box {
	margin: 0 auto;
}
#top_fv .top_second .txt_wrap p {
	text-align: left;
}
#top_fv .top_second .img_wrap .img_block {
	display: flex;
	gap: 2%;
	margin-bottom: 2%;
	position: relative;
	z-index: 1;
}
#top_fv .top_second .img_wrap .img_block .img_block01 {
	display: flex;
	flex-direction: column;
    justify-content: space-between;
}
@media ( min-width: 768px ){
	#top_fv {
		padding: min(1.379vw, 16px) 0 min(31.465vw, 365px);
	}
	#top_fv .kv {
		margin-bottom: min(8.62vw, 100px);
	}
	#top_fv .kv .cach_wrap {
		display: flex;
		gap: 0 max(-2.586vw, -30px);
		margin-left: max(-28.879vw, -335px);
		align-items: flex-start;
	}
	#top_fv .kv .cach_wrap .kv_slide {
		width: min(85.862vw, 996px);
	}
	#top_fv .kv .cach_wrap .txt_wrap {
		width: min(41.379vw, 480px);
		font-size: min(3.448vw, 40px);
		line-height: 1.454;
		padding-top: min(17.241vw, 200px);
	}
	#top_fv .kv .cach_wrap .txt_wrap .kv_cach span {
		font-size: min(4.741vw, 55px);
	}
	#top_fv .kv .cach_wrap .txt_wrap .kv_cach::after {
		font-size: min(0.862vw, 16px);
		top: 0;
		left: min(19.137vw, 222px);
	}
	#top_fv .kv .btn.reservation {
		margin-top: max(-16.81vw, -195px);
		margin-bottom: min(2.586VW, 30PX);
	}
	.scroll a:hover {
		opacity: 0.7;
		transform: 0.5s;
	}
	#top_fv .top_second {
		display: flex;
		justify-content: space-between;
	}
	#top_fv .top_second .txt_wrap {
		width: min(40.517vw, 470px);
	}
	#top_fv .top_second .img_wrap {
		width: min(50vw, 580px);
	}
	#top_fv .top_second .txt_wrap .img_box {
		width: min(30.258vw, 351px);
		margin-bottom: min(2.586vw, 30px);
	}
	#top_fv .top_second .txt_wrap .second_title {
		text-align: left;
		font-size: min(2.586vw, 30px);
		margin-bottom: min(3.448vw, 40px);
	}
	#top_fv .kv .cach_wrap,
	#top_fv .top_second .img_wrap {
		position: relative;
	}
	#top_fv .kv .cach_wrap::before,
	#top_fv .kv .cach_wrap .txt_wrap::before,
	#top_fv .top_second .txt_wrap::before,
	#top_fv .top_second .img_wrap::before {
		position: absolute;
		content: "";
		background: url(img/top_fv_bg_before_img.png) center top / contain no-repeat;
	}
	#top_fv .kv .cach_wrap::before,
	#top_fv .kv .cach_wrap .txt_wrap::before,
	#top_fv .top_second .txt_wrap::before {
		width: min(56.637vw, 657px);
		height: min(55.431vw, 643px);
	}
	#top_fv .kv .cach_wrap::before {
		left: max(-36.293vw, -421px);
		top: max(-39.224vw, -455px);
	}
	#top_fv .kv .cach_wrap .txt_wrap::before {
		right: max(-33.189vw, -385px);
		top: max(-33.62vw, -390px);
	}
	#top_fv .top_second .txt_wrap::before {
		left: max(-53.793vw, -624px);
		top: 0;
	}
	#top_fv .top_second .img_wrap::before {
		width: min(69.396vw, 805px);
		height: min(67.844vw, 787px);
		right: max(-35.086vw, -407px);
		top: max(-22.844vw, -265px);
	}
	#top_fv .kv .cach_wrap .txt_wrap::after {
		position: absolute;
		content: "";
		background: url(img/top_kv_sub_img.png) center top / contain no-repeat;
		width: min(31.551vw, 366px);
		height: min(28.62vw, 332px);
		bottom: max(-34.482vw, -400px);
		right: max(-4.31vw, -50px);
	}
}
@media ( max-width: 767px ){
	#top_fv {
		padding: 8.266vw 0 68vw;
	}
	#top_fv .kv {
		margin-bottom: 12.666vw;
	}
	#top_fv .kv .cach_wrap .kv_slide {
		width: 100vw;
		margin: 0 -8.666vw;
	}
	#top_fv .kv .cach_wrap .txt_wrap {
		font-size: 7vw;
		line-height: 1.363;
		margin-top: -85.6vw;
		margin-bottom: 5.333vw;
	}
	#top_fv .kv .cach_wrap .txt_wrap .kv_cach span {
		font-size: 10vw;
	}
	#top_fv .kv .cach_wrap .txt_wrap .kv_cach::after {
		font-size: 2.666vw;
		top: 0;
		left: 39.2vw;
	}
	#top_fv .kv .btn.reservation {
		margin-bottom: 9.333vw;
	}
	#top_fv .top_second .txt_wrap .img_box {
		width: 60.666vw;
		margin-bottom: 8vw;
	}
	#top_fv .top_second .txt_wrap .second_title {
		font-size: 5.333vw;
		margin-bottom: 8vw;
	}
	#top_fv .top_second .txt_wrap .btn.more {
		position: absolute;
		content: "";
		bottom: -122.666vw;
		left: 0;
		right: 0;
		margin: auto;
	}
	#top_fv .kv .cach_wrap,
	#top_fv .top_second .txt_wrap,
	#top_fv .top_second .img_wrap {
		position: relative;
	}
	#top_fv .kv .cach_wrap::before,
	#top_fv .top_second .txt_wrap::before {
		position: absolute;
		content: "";
		background: url(img/top_fv_bg_before_img.png) center top / contain no-repeat;
		width: 87.6vw;
		height: 85.733vw;
		left: -53.599vw;
		top: -85.733vw;
	}
	#top_fv .kv .cach_wrap .txt_wrap::before,
	#top_fv .top_second .txt_wrap::before {
		width: 87.6vw;
		height: 85.733vw;	
	}
	#top_fv .kv .cach_wrap .txt_wrap::before {
		left: -33.189vw;
		top: -33.62vw;
	}
	#top_fv .top_second .txt_wrap::before {
		left: -68.933vw;
		top: 0;
	}
	#top_fv .top_second .img_wrap::before {
		position: absolute;
		content: "";
		background: url(img/top_fv_bg_before_img.png) center top / contain no-repeat;
		width: 123.733vw;
		height: 121.066vw;
		right: -86.933vw;
		top: -56.933vw;
	}
	#top_fv .kv .btn.reservation::after {
		position: absolute;
		content: "";
		background: url(img/top_kv_sub_img_sp.png) center top / contain no-repeat;
		width: 40.8vw;
		height: 49.333vw;
		bottom: -50.666vw;
		right: -8.666vw;
	}
	.scroll {
		margin: 0 auto;
		width: 57.333vw;
	}
}

/* =top_news
-------------------------------------------------------------- */
#top_news {
	background: var(--light_yellow);
	position: relative;
}
#top_news::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
@media ( min-width: 2000px ){
	#top_news::before {
		background: url(img/top_news_bg.png) center top / cover no-repeat;
		background-size: 100% min(32.327vw, 375px);
	}
}
@media ( min-width: 768px ){
	#top_news {
		padding: 0 0 min(30.172vw, 350px);
	}
	#top_news::before {
		background: url(img/top_news_bg.png) center top / cover no-repeat;
		height: min(32.327vw, 375px);
		top: max(-32.241vw, -374px);
	}
	#top_news::after {
		position: absolute;
		content: "";
		width: min(7.327vw, 85px);
		height: min(6.637vw, 77px);
		top: max(-18.706vw, -217px);
		background: url(img/top_news_bg_after.png) center top / contain no-repeat;
		left: calc(50% + max(-34.913vw, -405px));
	}
	#top_news .btn.more a {
		margin-right: 0;
	}
}
@media ( max-width: 767px ){
	#top_news {
		padding: 9.333vw 0 42.933vw;	
	}
	#top_news::before {
		background: url(img/top_news_bg_sp.png) center top / cover no-repeat;
		height: 30.933vw;
		top: -29.933vw;
	}
}

/* =top_facility
-------------------------------------------------------------- */
#top_facility {
	background: var(--green);
	position: relative;
}
#top_facility::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
@media ( min-width: 2000px ){
	#top_facility::before {
		background: url(img/top_facility_bg.png) center top / cover no-repeat;
		background-size: 100% min(30.086vw, 349px);
	}
}
@media ( min-width: 768px ){
	#top_facility {
		padding: 0 0 min(30.172vw, 350px);
	}
	#top_facility::before {
		background: url(img/top_facility_bg.png) center top / cover no-repeat;
		height: min(30.086vw, 349px);
		top: max(-30vw, -348px);
	}
	#top_facility::after {
		position: absolute;
		content: "";
		width: min(7.155vw, 83px);
		height: min(2.963vw, 34px);
		top: max(-24.655vw, -286px);
		background: url(img/top_facility_bg_after.png) center top / contain no-repeat;
		left: calc(50% + min(4.568vw, 53px));
	}
}
@media ( max-width: 767px ){
	#top_facility {
		padding: 9.333vw 0 37.333vw;	
	}
	#top_facility::before {
		background: url(img/top_facility_bg_sp.png) center top / cover no-repeat;
		height: 29.333vw;
		top: -28.333vw;
	}
	#top_facility .lead_txt {
		text-align: left;
	}
}

/* =top_play_area
-------------------------------------------------------------- */
#top_play_area {
	background: var(--pink);
	position: relative;
}
#top_play_area::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
#top_play_area .play_area_list ul li {
	position: relative;
	z-index: 2;
}
#top_play_area .play_area_list ul li:before {
	position: absolute;
	content: "";
	z-index: 1;
}
#top_play_area .play_area_list ul li .img_box,
#top_play_area .play_area_list ul li .txt_wrap,
#top_play_area .play_area_list ul li .txt_wrap p {
	position: relative;
	z-index: 2;
}
#top_play_area .play_area_list ul li .txt_wrap p {
	display: block;
}
@media ( min-width: 2000px ){
	#top_play_area::before {
		background: url(img/top_play_area_bg.png) center top / cover no-repeat;
		background-size: 100% min(24.913vw, 289px);
	}
}
@media ( min-width: 768px ){
	#top_play_area {
		padding: 0 0 min(66.982vw, 777px);
	}
	#top_play_area::before {
		background: url(img/top_play_area_bg.png) center top / cover no-repeat;
		height: min(24.913vw, 289px);
		top: max(-24.827vw, -288px);
	}
	#top_play_area .play_area_list ul li {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: min(4.31vw, 50px);
	}
	#top_play_area .play_area_list ul li:nth-child(even) {
	  flex-direction: row-reverse;
	}
	#top_play_area .play_area_list ul li:nth-child(2)::before {
		width: min(67.5vw, 783px);
		height: min(65.344vw, 758px);
		left: max(-32.931vw, -382px);
		top: 0;
		background: url(img/top_play_area_bg_before01.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li:nth-child(3)::before {
		width: min(42.5vw, 493px);
		height: min(64.224vw, 745px);
		right: max(-30.344vw, -352px);
		top: max(-7.758vw, -90px);
		background: url(img/top_play_area_bg_before02.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li:nth-child(5)::before {
		width: min(60.862vw, 706px);
		height: min(54.827vw, 636px);
		left: max(-42.758vw, -496px);
		top: max(-23.275vw, -270px);
		background: url(img/top_play_area_bg_before03.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li:nth-child(6)::before {
		width: min(64.655vw, 750px);
		height: min(62.844vw, 729px);
		right: max(-53.448vw, -620px);
		top: max(-30.172vw, -350px);
		background: url(img/top_play_area_bg_before04.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li .img_box {
		max-width: min(46.034vw, 534px);	
	}
	#top_play_area .play_area_list ul li .txt_wrap {
		width: min(44.827vw, 520px);	
	}
	#top_play_area .play_area_list ul li .txt_wrap .sub_title {
		margin-bottom: min(4.31vw, 50px);
	}
	#top_play_area .play_area_list ul li .txt_wrap p {
		line-height: 2.666;
	}
}
@media ( max-width: 767px ){
	#top_play_area {
		padding: 9.333vw 0 100vw;	
	}
	#top_play_area::before {
		background: url(img/top_play_area_bg_sp.png) center top / cover no-repeat;
		height: 28.266vw;
		top: -27.266vw;
	}
	#top_play_area .play_area_list ul li {
		margin-bottom: 12vw;
	}
	#top_play_area .play_area_list ul li:nth-child(2)::before {
		width: 44.4vw;
		height: 82.4vw;
		left: -8.666vw;
		top: 6.666vw;
		background: url(img/top_play_area_bg_before01_sp.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li:nth-child(3)::before {
		width: 15.333vw;
		height: 99.333vw;
		right: -8.666vw;
		top: 51.733vw;
		background: url(img/top_play_area_bg_before02_sp.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li:nth-child(4)::before {
		width: 32vw;
		height: 70.4vw;
		left: -8.666vw;
		top: 77.333vw;
		background: url(img/top_play_area_bg_before03_sp.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li:nth-child(6)::before {
		width: 12.9333vw;
		height: 97.2vw;
		right: -8.666vw;
		top: -36.8vw;
		background: url(img/top_play_area_bg_before04_sp.png) center top / cover no-repeat;
	}
	#top_play_area .play_area_list ul li .img_box {
		max-width: 92.666vw;
		margin-bottom: 4vw;
	}
	#top_play_area .play_area_list ul li:nth-child(odd) .img_box {
		margin-right: 5vw;
		margin-left: -13.333vw;
	}
	#top_play_area .play_area_list ul li:nth-child(even) .img_box {
		margin-right: -13.333vw;
		margin-left: 5vw;
	}
	#top_play_area .play_area_list ul li .txt_wrap .sub_title {
		margin-bottom: 5.333vw;
	}
	#top_play_area .play_area_list ul li .txt_wrap p {
		line-height: 2;
	}
}


/* =top_equipment
-------------------------------------------------------------- */
#top_equipment {
	background: #fff;
	position: relative;
}
#top_equipment::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
#top_equipment .equipment_list {
	text-align: left;
}
#top_equipment .equipment_list ul li {
	display: flex;
}
#top_equipment .equipment_list ul li .txt_wrap .equipment_title {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	line-height: 1.4;
}
.lang_en #top_equipment .equipment_list ul li .txt_wrap .equipment_title {
	font-family: 'Concert One', sans-serif;
}
#top_equipment .equipment_list ul li .txt_wrap p {
	color: var(--note_brown);
}
@media ( min-width: 2000px ){
	#top_equipment::before {
		background: url(img/top_equipment_bg.png) center top / cover no-repeat;
		background-size: 100% min(59.396vw, 689px);
	}
}
@media ( min-width: 768px ){
	#top_equipment {
		padding: 0 0 min(42.241vw, 490px);	
	}
	#top_equipment::before {
		background: url(img/top_equipment_bg.png) center top / cover no-repeat;
		height: min(59.396vw, 689px);
		top: max(-59.31vw, -688px);
	}
	#top_equipment::after {
		position: absolute;
		content: "";
		width: min(76.724vw, 890px);
		height: min(28.534vw, 331px);
		top: max(-42.241vw, -490px);
		background: url(img/top_equipment_bg_after.png) center top / contain no-repeat;
		left: calc(50% + max(-39.224vw, -455px));
	}
	#top_equipment .equipment_list ul {
		display: flex;
		gap: 0 4%;
		flex-wrap: wrap;
	}
	#top_equipment .equipment_list ul li {
		padding: min(3.448vw, 40px) 0;
		width: 48%;
		gap: 0 min(1.724vw, 20px);
		background: url(img/underline_dot.svg) left bottom / cover repeat-x;
		background-size: min(1.724vw, 20px) min(0.344vw, 4px);
	}
	#top_equipment .equipment_list ul li:last-child {
		background: none;
	}
	#top_equipment .equipment_list ul li .img_box {
		width: min(8.62vw, 100px);
	}
	#top_equipment .equipment_list ul li .txt_wrap {
		width: calc(100% - min(10.344vw, 120px));
	}
	#top_equipment .equipment_list ul li .txt_wrap .equipment_title {
		font-size: min(2.413vw, 28px);
		margin-bottom: min(1.293vw, 15px);
	}
	#top_equipment .equipment_list ul li .txt_wrap p {
		line-height: 2;
	}
}
@media ( max-width: 767px ){
	#top_equipment {
		padding: 9.333vw 0 55vw;	
	}
	#top_equipment::before {
		background: url(img/top_equipment_bg_sp.png) center top / cover no-repeat;
		height: 88.133vw;
		top: -87.133vw;
	}
	#top_equipment .equipment_list ul li {
		padding: 6.666vw 0;
		width: 100%;
		gap: 0 5.333vw;
		background: url(img/underline_dot.svg) left bottom / cover repeat-x;
		background-size: 6vw 1.2vw;
		align-items: center;
	}
	#top_equipment .equipment_list ul li:last-child {
		background: none;
	}
	#top_equipment .equipment_list ul li .img_box {
		width: 22.666vw;
	}
	#top_equipment .equipment_list ul li .txt_wrap {
		width: calc(100% - 11.999vw);
	}
	#top_equipment .equipment_list ul li .txt_wrap .equipment_title {
		font-size: 4.666vw;
		margin-bottom: 2vw;
	}
	#top_equipment .equipment_list ul li .txt_wrap p {
		line-height: 1.73;
		font-size: 3.466vw;
	}
}

/* =top_price
-------------------------------------------------------------- */
#top_price {
	background: var(--pink);
	position: relative;
}
#top_price::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
.price .price_wrap dl {
	background: var(--blue);
	overflow: hidden;
	box-sizing: border-box;
}
.price .price_wrap dl dt {
	color: var(--brown);
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
}
.lang_en .price .price_wrap dl dt {
	font-family: 'Concert One', sans-serif;
}
.price .price_wrap dl dd {
	background: #fff;
}
.price .price_wrap dl dd .price_box {
	display: flex;
	align-items: center;
}
.price .price_wrap dl dd .price_box .price_title {
	background: var(--yellow);
	text-align: left;
	display: block;
}
.price .price_wrap dl dd .price {
	color: var(--red);
	text-align: right;
	display: block;
}
.price .price_wrap.ver2 dl dd .sub_title {
	color: var(--light_brown);
}
.price .price_wrap.ver2 dl .notes {
	text-align: left;
}
.price .price_wrap.ver2 dl .notes .time {
	display: block;
}
.price .price_wrap dl dd .notes p {
	line-height: 1.6;
}
@media ( min-width: 2000px ){
	#top_price::before {
		background: url(img/top_price_bg.png) center top / cover no-repeat;
		background-size: 100% min(32.586vw, 378px);
	}
}
@media ( min-width: 768px ){
	#top_price {
		padding: 0 0 min(45.689vw, 530px);	
	}
	#top_price::before {
		background: url(img/top_price_bg.png) center top / cover no-repeat;
		height: min(32.586vw, 378px);
		top: max(-32.5vw, -377px);
	}
	#top_price::after {
		position: absolute;
		content: "";
		width: min(46.465vw, 539px);
		height: min(25.689vw, 298px);
		top: max(-34.482vw, -400px);
		background: url(img/top_price_bg_after.png) center top / contain no-repeat;
		left: calc(50% + max(-35.348vw, -410px));
	}
	.price .price_wrap dl {
		border-radius: min(1.724vw, 20px);
		display: flex;
		align-items: center;
		border: min(0.172vw, 2px) solid var(--note_brown);
		margin-bottom: min(3.448vw, 40px);
	}
	.price .price_wrap.ver2 {
		margin-bottom: min(6.896vw, 80px);
	}
	.price .price_wrap.ver2 {
		border-radius: min(1.724vw, 20px);
		border: min(0.172vw, 2px) solid var(--note_brown);
		overflow: hidden;
		box-sizing: border-box;
	}
	.price .price_wrap.ver2 dl {
		margin-bottom: 0;
		border-radius: 0;
		border: none;
	}
	.price .price_wrap.ver2 dl +dl {
		border-top: min(0.172vw, 2px) solid var(--note_brown);
		box-sizing: border-box;
	}
	.price .price_wrap dl dt {
		width: 32%;
		text-align: left;
		padding: min(3.448vw, 40px);
		font-size: min(2.155vw, 25px);
	}
	.price .price_wrap dl dd {
		width: 68%;
		border-left: min(0.172vw, 2px) solid var(--note_brown);
	}
	.price .price_wrap dl dd .price_box {
		font-size: min(1.724vw, 20px);
	}
	.price .price_wrap.ver2 dl dd .sub_title {
		margin-left: min(4.31vw, 50px);
		margin-bottom: min(1.724vw, 20px);
	}
	.price .price_wrap dl dd div + div {
		border-top: min(0.172vw, 2px) solid var(--note_brown);
	}
	.price .price_wrap dl dd .price_box .price_title {
		width: 41%;
		padding: min(3.448vw, 40px);
	}
	.price .price_wrap.ver2 dl dd .price_box .price_title {
		padding: min(3.879vw, 45px);
	}
	.price .price_wrap dl dd .price_box .price {
		width: 59%;
		padding: min(3.448vw, 40px);
	}
	.price .price_wrap dl dd .price_box .price .tax {
		font-size: min(1.2vw, 14px);
	}
	.price .price_wrap dl dd .notes {
		padding: min(1.89vw, 22px) min(3.448vw, 40px);
	}
	.price .price_wrap.ver2 dl dd .notes {
		padding: min(2.586vw, 30px) min(3.448vw, 40px);
	}
	.price .price_wrap.ver2 dl dd .notes .time {
		font-size: min(2.155vw, 25px);
	}
	.price .price_wrap.ver2 dl dd .notes p {
		font-size: min(1.465vw, 17px);
		margin-bottom: min(0.603vw, 7px);
	}
}
@media ( max-width: 767px ){
	#top_price {
		padding: 9.333vw 0 46vw;	
	}
	#top_price::before {
		background: url(img/top_price_bg_sp.png) center top / cover no-repeat;
		height: 47.6vw;
		top: -46.6vw;
	}
	.price .price_wrap.ver2 {
		margin-bottom: 10vw;
	}
	.price .price_wrap dl {
		border-radius: 4vw;
		border: 0.266vw solid var(--note_brown);
		margin-bottom: 5.333vw;
	}
	.price .price_wrap.ver2 {
		border-radius: 4vw;
		border: 0.266vw solid var(--note_brown);
		overflow: hidden;
		box-sizing: border-box;
	}
	.price .price_wrap.ver2 dl {
		margin-bottom: 0;
		border-radius: 0;
		border: none;
	}
	.price .price_wrap.ver2 dl +dl {
		border-top: 0.266vw solid var(--note_brown);
		box-sizing: border-box;
	}
	.price .price_wrap dl dt {
		padding: 4.666vw;
		font-size: 4.666vw;
	}
	.price .price_wrap dl dd div {
		border-top: 0.266vw solid var(--note_brown);
		box-sizing: border-box;
	}
	.price .price_wrap.ver2 dl dd div.sub_title {
		border-top: none;
		margin-bottom: 3vw;
	}
	.price .price_wrap dl dd .price_box .price_title {
		width: 50%;
		padding: 5vw 4vw;
	}
	.price .price_wrap.ver2 dl dd .price_box .price_title {
		width: 45%;
	}
	.price .price_wrap dl dd .price_box .price {
		width: 50%;
		padding: 4vw;
		font-size: 4.666vw;
	}
	.price .price_wrap.ver2 dl dd .price_box .price {
		width: 55%;
	}
	.price .price_wrap dl dd .price_box .price .tax {
		font-size: 2.4vw;
	}
	.price .price_wrap.ver2 dl dd .notes.sp_center {
		text-align: center;
	}
	.price .price_wrap dl dd .notes {
		padding: 3.333vw;
	}
	.price .price_wrap.ver2 dl dd .notes .time {
		font-size: 5vw;
	}
	.price .price_wrap.ver2 dl dd .notes p {
		font-size: 4vw;
		margin-bottom: 2vw;
	}
}

/* =top_party
-------------------------------------------------------------- */
#top_party {
	background: var(--light_yellow);
	position: relative;
}
#top_party::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
#top_party .play_wrap .txt_wrap {
	text-align: left;
}
@media ( min-width: 2000px ){
	#top_party::before {
		background: url(img/top_party_bg.png) center top / cover no-repeat;
		background-size: 100% min(30.862vw, 358px);
	}
}
@media ( min-width: 768px ){
	#top_party {
		padding: 0 0 min(28.448vw, 330px);	
	}
	#top_party::before {
		background: url(img/top_party_bg.png) center top / cover no-repeat;
		height: min(30.862vw, 358px);
		top: max(-30.775vw, -357px);
	}
	#top_party .play_wrap {
		display: flex;
		max-width: min(82.758vw, 960px);
		margin: 0 auto;
		gap: 0 10%;
		justify-content: space-between;
		align-items: flex-start;
	}
	#top_party .play_wrap .party_slide {
		width: 48%;
	}
	#top_party .play_wrap .txt_wrap {
		width: 43%;
	}
	#top_party .play_wrap .txt_wrap p {
		line-height: 3;
		margin-bottom: min(4.31vw, 50px);
	}
}
@media ( max-width: 767px ){
	#top_party {
		padding: 9.333vw 0 52vw;	
	}
	#top_party::before {
		background: url(img/top_party_bg_sp.png) center top / cover no-repeat;
		height: 29.333vw;
		top: -28.333vw;
	}
	#top_party .play_wrap .party_slide {
		margin-bottom: 12vw;
	}
	#top_party .play_wrap .txt_wrap p {
		line-height: 2.166;
		margin-bottom: 9.333vw;
	}
}

/* =top_payment
-------------------------------------------------------------- */
#top_payment {
	background: var(--pink);
	position: relative;
}
#top_payment::after {
	position: absolute;
	content: "";
	right: 0;
	left: 0;
	margin: auto;
	background: url(img/top_payment_bg_after.png) center top / contain no-repeat;
}
#top_payment .payment_wrap {
	background: #fff;
	box-sizing: border-box;
}
#top_payment .payment_wrap dl dt {
	background: var(--light_purple);
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	color: var(--brown);
}
.lang_en #top_payment .payment_wrap dl dt {
	font-family: 'Concert One', sans-serif;
}
#top_payment .payment_wrap dl dd {
	display: flex;
	align-items: center;
    justify-content: center;
}
@media ( min-width: 768px ){
	#top_payment {
		padding: min(19.827vw, 230px) 0 min(44.396vw, 515px);
	}
	#top_payment::after {
		width: min(46.12vw, 535px);
		height: min(33.706vw, 391px);
		top: max(-19.827vw, -230px);
	}
	#top_payment .payment_wrap {
		border-radius: min(2.586vw, 30px);
		border: min(0.172vw, 2px) solid var(--light_brown);
		padding: min(3.448vw, 40px);
	}
	#top_payment .payment_wrap dl + dl {
		margin-top: min(3.448vw, 40px);
	} 
	#top_payment .payment_wrap dl dt {
		font-size: min(1.589vw, 22px);
		border-radius: min(2.586vw, 30px);
		padding: min(1.724vw, 20px);
		margin-bottom: min(1.589vw, 22px);
	}
	#top_payment .payment_wrap dl dd {
		font-size: min(1.724vw, 20px);
	}
}
@media ( max-width: 767px ){
	#top_payment {
		padding: 46vw 0 44vw;
	}
	#top_payment::after {
		width: 86.4vw;
		height: 62.666vw;
		top: -38vw;
	}
	#top_payment .payment_wrap {
		border-radius: 4vw;
		border: 0.2666vw solid var(--light_brown);
		padding: 5.333vw 4vw;
	}
	#top_payment .payment_wrap dl + dl {
		margin-top: 8vw;
	} 
	#top_payment .payment_wrap dl dt {
		font-size: 4.266vw;
		border-radius: 5.333vw;
		padding: 2.666vw;
		margin-bottom: 4vw;
	}
	#top_payment .payment_wrap dl dd img {
		height: 10.4vw;
		width: auto;
	}
}

/* =opening_hours
-------------------------------------------------------------- */
.opening_hours {
	background: var(--blue);
	position: relative;
}
.opening_hours::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
.opening_hours .lead_txt .red {
	color: var(--red);
}
.opening_hours .opening_hours_wrap dl {
	background: #fff;
	overflow: hidden;
}
.opening_hours .opening_hours_wrap dl dt {
	background: var(--yellow);
}
.opening_hours .opening_hours_wrap dl dd {
	color: var(--red);
}
@media ( min-width: 2000px ){
	.opening_hours::before {
		background: url(img/opening_hours_bg.png) center top / cover no-repeat;
		background-size: 100% min(31.896vw, 370px);
	}
}
@media ( min-width: 768px ){
	.opening_hours {
		padding: 0 0 min(39.655vw, 460px);	
	}
	.container.calendar .opening_hours {
		padding: 0 0 min(17.241vw, 200px);
	}
	.opening_hours::before {
		background: url(img/opening_hours_bg.png) center top / cover no-repeat;
		height: min(31.896vw, 370px);
		top: max(-31.81vw, -369px);
	}
	.opening_hours::after {
		position: absolute;
		content: "";
		width: min(76.465vw, 887px);
		height: min(15.775vw, 183px);
		top: max(-30.862vw, -358px);
		background: url(img/opening_hours_bg_after.png) center top / contain no-repeat;
		left: calc(50% + max(-43.965vw, -510px));
	}
	.opening_hours .opening_hours_wrap {
		display: flex;
		gap: 0 3.65%;
		margin-bottom: min(7.758vw, 90px);
	}
	.opening_hours .opening_hours_wrap dl {
		width: 30.9%;
		border-radius: min(1.724vw, 20px);
		font-size: min(1.724vw, 20px);
	}
	.opening_hours .opening_hours_wrap dl dt,
	.opening_hours .opening_hours_wrap dl dd {
		padding: min(2.586vw, 30px) min(1.724vw, 20px);
	}
}
@media ( max-width: 767px ){
	.opening_hours {
		padding: 9.333vw 0 54.666vw;	
	}
	.container.calendar .opening_hours {
		padding: 0 0 30vw;
	}
	.opening_hours::before {
		background: url(img/opening_hours_bg_sp.png) center top / cover no-repeat;
		height: 27.333vw;
		top: -26.333vw;
	}
	.opening_hours .lead_txt {
		text-align: left;
	}
	.opening_hours .opening_hours_wrap {
		margin-bottom: 13.333vw;
	}
	.opening_hours .opening_hours_wrap dl {
		display: flex;
		border-radius: 4vw;
		align-items: center
	}
	.opening_hours .opening_hours_wrap dl + dl {
		margin-top: 4vw;
	}
	.opening_hours .opening_hours_wrap dl dt,
	.opening_hours .opening_hours_wrap dl dd {
		padding: 8vw 2vw;
	}
	.opening_hours .opening_hours_wrap dl dt {
		width: 46%;
	}
	.opening_hours .opening_hours_wrap dl dd {
		width: 54%;
		font-size: 4.666vw;
	}
}

/* =notice
-------------------------------------------------------------- */
.notice {
	background: var(--pink);
	position: relative;
}
.notice::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
.notice .notice_wrap {
	text-align: left;
}
.notice .notice_wrap ul li {
	box-sizing: border-box;
}
@media ( min-width: 2000px ){
	.notice::before {
		background: url(img/notice_bg.png) center top / cover no-repeat;
		background-size: 100% min(32.5vw, 377px);
	}
}
@media ( min-width: 768px ){
	.notice {
		padding: 0 0 min(60.344vw, 700px);	
	}
	.notice::before {
		background: url(img/notice_bg.png) center top / cover no-repeat;
		height: min(32.5vw, 377px);
		top: max(-32.413vw, -376px);
	}
	.notice::after {
		position: absolute;
		content: "";
		width: min(70.948vw, 823px);
		height: min(23.017vw, 267px);
		top: max(-33.362vw, -390px);
		background: url(img/notice_bg_after.png) center top / contain no-repeat;
		left: 0;
		right: 0;
		margin: auto;
	}
	.notice .notice_wrap {
		max-width: min(82.758vw, 960px);
		margin: 0 auto;
	}
	.notice .notice_wrap ul li {
		line-height: 2;
		padding: min(0.862vw, 10px) 0 min(0.862vw, 10px) min(1.724vw, 20px);
		border-left: min(0.344vw, 4px) solid var(--yellow);
	}
	.notice .notice_wrap ul li + li {
		margin-top: min(1.724vw, 20px);
	}
}
@media ( max-width: 767px ){
	.notice {
		padding: 13.333vw 0 90vw;	
	}
	.notice::before {
		background: url(img/notice_bg_sp.png) center top / cover no-repeat;
		height: 36.533vw;
		top: -35.533vw;
	}
	.notice .notice_wrap ul li {
		line-height: 1.78;
		font-size: 3.7333vw;
		padding: 1.333vw 0 1.333vw 5.333vw;
		border-left: 0.9333vw solid var(--yellow);
	}
	.notice .notice_wrap ul li + li {
		margin-top: 5.333vw;
	}
}

/* =access
-------------------------------------------------------------- */
.access {
	position: relative;
	background: #fff;
}
.calendar .access {
	background: var(--light_yellow);
}
.access::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
.access .map_wrap {
	text-align: right;
}
.access .map_wrap iframe {
	max-width: 100%;
	width: 100%;
}
.access .map_wrap a {
	text-decoration: underline;
	color: var(--light_brown);
}
.access .transportation_wrap {
	text-align: left;
}
.access .transportation_wrap dl {
	color: var(--brown);
}
.access .transportation_wrap dl dt {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	line-height: 1.5;
}
.lang_en .access .transportation_wrap dl dt {
	font-family: 'Concert One', sans-serif;
}
.access .transportation_wrap dl.train dt {
	background: url(img/access_train.svg) left top / contain no-repeat;
}
.access .transportation_wrap dl.bus dt {
	background: url(img/access_bus.svg) left top / contain no-repeat;
}
.access .transportation_wrap dl dd {
	line-height: 1.666;
	padding-left: 1em;
	text-indent: -1em;
}
.access .transportation_wrap dl dd .purple {
	color: var(--purple);
}
@media ( min-width: 2000px ){
	.access::before {
		background: url(img/access_bg.png) center top / cover no-repeat;
		background-size: 100% min(52.672vw, 611px);
	}
}
@media ( min-width: 768px ){
	.access {
		padding: min(3.448vw, 40px) 0 min(42.241vw, 490px);	
	}
	.calendar .access {
		padding: 0 0 min(42.241vw, 490px);	
	}
	.access::before {
		background: url(img/access_bg.png) center top / cover no-repeat;
		height: min(52.672vw, 611px);
		top: max(-52.586vw, -610px);
	}
	.calendar .access::before {
		background: url(img/top_party_bg.png) center top / cover no-repeat;
        height: min(30.862vw, 358px);
        top: max(-30.775vw, -357px);
	}
	.access::after {
		position: absolute;
		content: "";
		width: min(54.741vw, 635px);
		height: min(38.793vw, 450px);
		top: max(-38.793vw, -450px);
		background: url(img/access_bg_after.png) center top / contain no-repeat;
		left: 0;
		right: 0;
		margin: auto;
	}
	.calendar .access::after {
		display: none;
	}
	.access .map_wrap {
		margin-bottom: min(1.724vw, 20px);
	}
	.access .map_wrap iframe {
		height: min(39.655vw, 460px);
		border-radius: min(1.724vw, 20px);
		margin-bottom: min(1.724vw, 20px);
	}
	.access .map_wrap a {
		text-underline-offset: min(0.344vw, 4px);
	}
	.access .map_wrap a:hover {
		text-decoration: none;
	}
	.access .map_txt {
		line-height: 3;
		margin-bottom: min(5.172vw, 60px);
	}
	.access .transportation_wrap {
		display: flex;
		gap: 0 9.092%;
		justify-content: space-between;
	}
	.access .transportation_wrap dl {
		width: 45.454%;
	}
	.access .transportation_wrap dl dt {
		font-size: min(1.896vw, 22px);
		padding: 0 0 min(2.2413vw, 26px) min(3.879vw, 45px);
		border-bottom: min(0.172vw, 2px) solid var(--light_brown);
		margin-bottom: min(4.31vw, 50px);
	}
	.access .transportation_wrap dl.train dt {
		background-size: min(2.068vw, 24px) min(2.758vw, 32px);
	}
	.access .transportation_wrap dl.bus dt {
		background-size: min(2.586vw, 30px) min(2.586vw, 30px);
	}
	.calendar .access .img_box {
		border-radius: min(2.586vw, 30px);
        border: min(0.172vw, 2px) solid var(--light_brown);
		overflow: hidden;
		width: min(77.586vw, 900px);
		margin: 0 auto;
		box-sizing: border-box;
	}
}
@media ( max-width: 767px ){
	.access {
		padding: 13.333vw 0 62.666vw;	
	}
	.calendar .access {
		padding: 9.333vw 0 40vw;
	}
	.access::before {
		background: url(img/access_bg_sp.png) center top / cover no-repeat;
		height: 79.2vw;
		top: -78.2vw;
	}
	.calendar .access::before {
		background: url(img/top_party_bg_sp.png) center top / cover no-repeat;
        height: 29.333vw;
        top: -28.333vw;
	}
	.access .map_wrap {
		margin-bottom: 8vw;
	}
	.access .map_wrap iframe {
		height: 82.666vw;
		border-radius: 4vw;
		margin-bottom: 4vw;
	}
	.access .map_wrap a {
		text-underline-offset: 1vw;
	}
	.access .map_txt {
		line-height: 1.8333;
		margin-bottom: 12vw;
		text-align: left;
	}
	.access .transportation_wrap dl dt {
		font-size: 4.666vw;
		padding: 0 0 3.333vw 8vw;
		border-bottom: 0.2666vw solid var(--light_brown);
		margin-bottom: 5.333vw;
	}
	.access .transportation_wrap dl.train dt {
		background-size: 4.8vw 6.4vw;
	}
	.access .transportation_wrap dl.bus dt {
		background-size: 5.8666vw 6.1333vw;
	}
	.access .transportation_wrap dl + dl {
		margin-top: 9.333vw;
	}
	.calendar .access .img_box {
		border-radius: 4vw;
        border: 0.2666vw solid var(--light_brown);
		overflow: hidden;
		box-sizing: border-box;
	}
}

/* =faq
-------------------------------------------------------------- */
.faq {
	background: var(--green);
	position: relative;
}
.faq::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
.faq .faq_wrap {
	text-align: left;
}
.faq .faq_wrap dl dt .en,
.faq .faq_wrap dl dd .en {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
    align-items: center;
}
.faq .faq_wrap dl dt .en {
	color: var(--purple);
}
.faq .faq_wrap dl dd .en {
	background: var(--purple);
	color: #fff;
}
.faq .faq_wrap dl dt,
.faq .faq_wrap dl dd {
	display: flex;
}
.faq .faq_wrap dl dt {
	align-items: flex-start;
}
.faq .faq_wrap dl dt p {
	color: var(--brown);
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
}
.lang_en .faq .faq_wrap dl dt p {
	font-family: 'Concert One', sans-serif;
}
.faq .faq_wrap dl dd p {
	background: #fff;
	position: relative;
	display: inline-block;
	box-sizing: border-box;
}
.faq .faq_wrap dl dd p::before {
	position: absolute;
	content: "";
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
@media ( min-width: 2000px ){
	.faq::before {
		background: url(img/faq_bg.png) center top / cover no-repeat;
		background-size: 100% min(32.931vw, 382px);
	}
}
@media ( min-width: 768px ){
	.faq {
		padding: min(4.741vw, 55px) 0 min(36.206vw, 420px);	
	}
	.faq::before {
		background: url(img/faq_bg.png) center top / cover no-repeat;
		height: min(32.931vw, 382px);
		top: max(-32.844vw, -381px);
	}
	.faq::after {
		position: absolute;
		content: "";
		width: min(59.482vw, 690px);
		height: min(25.517vw, 296px);
		top: max(-32.844vw, -381px);
		background: url(img/faq_bg_after.png) center top / contain no-repeat;
		left: calc(50% + max(-34.448vw, -400px));
	}
	.faq .faq_wrap {
		margin-bottom: min(6.465vw, 75px);
		line-height: 1.666;
	}
	.faq .faq_wrap dl + dl {
		margin-top: min(2.586vw, 30px);
	}
	.faq .faq_wrap dl dt .en,
	.faq .faq_wrap dl dd .en {
		font-size: min(3.017vw, 35px);
		width: min(4.051vw, 47px);
		height: min(4.051vw, 47px);
		border-radius: min(2.06vw, 24px);
		border: min(0.172vw, 2px) solid var(--purple);
	}
	.faq .faq_wrap dl dt {
		gap: 0 min(1.724vw, 20px);
		margin-bottom: min(1.724vw, 20px);
	}
	.faq .faq_wrap dl dt p {
		font-size: min(1.896vw, 22px);
		padding-top: min(0.431vw, 5px);
		max-width: calc(100% - min(5.775vw, 67px));
	}
	.faq .faq_wrap dl dd {
		gap: 0 min(3.448vw, 40px);
	}
	.faq .faq_wrap dl dd p {
		max-width: calc(100% - min(7.5vw, 87px));
		padding: min(2.586vw, 30px) min(3.017vw, 35px);
		border-radius: min(2.586vw, 30px);
		box-sizing: border-box;
	}
	.faq .faq_wrap dl dd p::before {
	    top: -50px; 
		left: -15px;
		border: 50px solid transparent;
		border-right: 50px solid #fff;
	}
}
@media ( max-width: 767px ){
	.faq {
		padding: 12vw 0 46.666vw;	
	}
	.faq::before {
		background: url(img/faq_bg_sp.png) center top / cover no-repeat;
		height: 45.2vw;
		top: -44.2vw;
	}
	.faq .faq_wrap {
		margin-bottom: 13.333vw;
		line-height: 1.5;
	}
	.faq .faq_wrap dl + dl {
		margin-top: 8vw;
	}
	.faq .faq_wrap dl dt .en,
	.faq .faq_wrap dl dd .en {
		font-size: 4.666vw;
		width: 6.2666vw;
		height: 6.2666vw;
		border-radius: 3.2vw;
		border: 0.5333vw solid var(--purple);
	}
	.faq .faq_wrap dl dt {
		gap: 0 2.666vw;
		margin-bottom: 3.4666vw;
	}
	.faq .faq_wrap dl dt p {
		font-size: 4.266vw;
		max-width: calc(100% - 8.932vw);
	}
	.faq .faq_wrap dl dd {
		gap: 0 5.333vw;
	}
	.faq .faq_wrap dl dd p {
		max-width: calc(100% - 11.5996vw);
		padding: 5.333vw 4vw;
		border-radius: 4vw;
	}
	.faq .faq_wrap dl dd p::before {
	    top: -6vw; 
		left: -3vw;
		border: 6vw solid transparent;
		border-right: 6vw solid #fff;
	}
}

/* =top_about
-------------------------------------------------------------- */
#top_about {
	background: var(--pink);
	position: relative;
}
#top_about::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
#top_about .about_wrap .txt_wrap {
	text-align: left;
}
#top_about .about_detail_wrap {
	background: #fff;
}
#top_about .about_detail_wrap dl dt {
	background: var(--blue);
	font-weight: bold;
	color: var(--brown);
}
#top_about .about_detail_wrap dl dd a {
	color: var(--purple);
	text-decoration: underline;
}
@media ( min-width: 2000px ){
	#top_about::before {
		background: url(img/top_about_bg.png) center top / cover no-repeat;
		background-size: 100% min(31.555vw, 366px);
	}
}
@media ( min-width: 768px ){
	#top_about {
		padding: 0 0 min(40.517vw, 470px);
	}
	#top_about::before {
		background: url(img/top_about_bg.png) center top / cover no-repeat;
		height: min(31.555vw, 366px);
		top: max(-31.465vw, -365px);
	}
	#top_about::after {
		position: absolute;
		content: "";
		width: min(26.637vw, 309px);
		height: min(14.396vw, 167px);
		top: max(-31.465vw, -365px);
		background: url(img/top_about_bg_after.png) center top / contain no-repeat;
		left: calc(50% + min(10.517vw, 122px));
	}
	#top_about .about_wrap {
		display: flex;
		padding: 0 min(60.344vw, 70px);
		margin-bottom: min(60.344vw, 70px);
		gap: min(4.310vw, 50px);
		justify-content: space-between;
	}
	#top_about .about_wrap .img_box {
		width: min(30.258vw, 351px);
	}
	#top_about .about_wrap .txt_wrap {
		width: min(49.137vw, 570px);
		line-height: 3;
	}
	#top_about .about_detail_wrap {
		border-radius: min(4vw, 30px);
		padding: min(4.31vw, 50px) min(3.448vw, 40px);
	}
	#top_about .about_detail_wrap dl {
		display: flex;
		align-items: center;
		gap: 0 min(4vw, 30px);
	}
	#top_about .about_detail_wrap dl + dl {
		margin-top: min(2vw, 15px);
	}
	#top_about .about_detail_wrap dl dt {
		width: min(29.482vw, 342px);
		border-radius: min(2.155vw, 25px);
		padding: min(1.551vw, 18px);
	}
	#top_about .about_detail_wrap dl dd a {
		text-underline-offset: min(0.344vw, 4px);
	}
	#top_about .about_detail_wrap dl dd a:hover {
		text-decoration: none;
	}
}
@media ( max-width: 767px ){
	#top_about {
		padding: 8vw 0 58.666vw;
	}
	#top_about::before {
		background: url(img/top_about_bg_sp.png) center top / cover no-repeat;
		height: 29.066vw;
		top: -28.066vw;
	}
	#top_about .about_wrap {
		margin-bottom: 9.333vw;
	}
	#top_about .about_wrap .img_box {
		width: 60.666vw;
		margin: 0 auto 9.333vw;
	}
	#top_about .about_wrap .txt_wrap {
		line-height: 2.1666;
	}
	#top_about .about_detail_wrap {
		border-radius: 4vw;
		padding: 6.666vw 4vw;
	}
	#top_about .about_detail_wrap dl {
		font-size: 3.7333vw;
	}
	#top_about .about_detail_wrap dl + dl {
		margin-top: 4vw;
	}
	#top_about .about_detail_wrap dl dt {
		border-radius: 4.2666vw;
		padding: 2.666vw;
		margin-bottom: 2.666vw;
	}
	#top_about .about_detail_wrap dl dd {
		line-height: 1.5;
	}
	#top_about .about_detail_wrap dl dd a {
		text-underline-offset: 1vw;
	}
}

/* =sub_page
-------------------------------------------------------------- */
.container.sub_page .sub_page_title_area {
	background: var(--pink);
}
.container.sub_page .sub_page_title_area .inner,
.container.sub_page .sub_page_title_area .page_title_wrap {
	position: relative;
}
.container.sub_page .sub_page_title_area .lead_txt {
	text-align: left;
}
.container.sub_page .sub_page_title_area .page_title_wrap::before,
.container.sub_page .sub_page_title_area .page_title_wrap::after {
	position: absolute;
	content: "";
}
.container.sub_page .sub_page_title_area .page_title {
	display: inline-block;
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	font-weight: 700;
}
.container.sub_page.lang_en  .sub_page_title_area .page_title {
	font-family: 'Concert One', sans-serif;
	font-weight: normal;
}
.container.sub_page .second_block {
	background: var(--light_yellow);
	position: relative;
}
.container.sub_page .second_block::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
@media ( min-width: 2000px ){
	.container.sub_page .second_block::before {
		background: url(img/top_news_bg.png) center top / cover no-repeat;
		background-size: 100% min(32.327vw, 375px);
	}
}
@media ( min-width: 768px ){
	.container.sub_page .sub_page_title_area {
		padding: min(14.655vw, 170px) 0 min(38.793vw, 450px);
	}
	.container.sub_page .sub_page_title_area .page_title {
		font-size: min(3.793vw, 44px);
		padding: min(2.586vw, 30px) min(2.586vw, 10px);
		background: url(img/sub_page_title_dot.svg) left bottom repeat-x;
		background-size: min(2.931vw, 34px) min(0.862vw, 11px);
	}
	.container.sub_page .sub_page_title_area .inner::before,
	.container.sub_page .sub_page_title_area .inner::after {
		position: absolute;
		content: "";
		background: url(img/top_fv_bg_before_img.png) center top / contain no-repeat;
		width: min(56.637vw, 657px);
		height: min(55.431vw, 643px);
	}
	.container.sub_page .sub_page_title_area .inner::before {
		left: max(-64.913vw, -753px);
		top: max(-53.706vw, -623px);
	}
	.container.sub_page .sub_page_title_area .inner::after {
		right: max(-39.224vw, -455px);
		top: max(-43.362vw, -503px);
	}
	.container.sub_page .sub_page_title_area .page_title_wrap {
		margin-bottom: min(10.344vw, 120px);
	}
	.container.sub_page .sub_page_title_area .page_title_wrap::before {
		width: min(21.293vw, 247px);
		height: min(18.62vw, 216px);
		left: 0;
		top: max(-6.637vw, -77px);
		background: url(img/sub_page_title_before.png) center top / contain no-repeat;
	}
	.container.sub_page .sub_page_title_area .page_title_wrap::after {
		width: min(19.137vw, 222px);
		height: min(17.413vw, 202px);
		right: max(2.586vw, -30px);
		top: max(-2.068vw, -24px);
		background: url(img/sub_page_title_after.png) center top / contain no-repeat;
	}
	.container.sub_page .second_block {
		padding: 0 0 min(40.517vw, 470px);
	}
	.container.sub_page .second_block::before {
		background: url(img/top_news_bg.png) center top / cover no-repeat;
		height: min(32.327vw, 375px);
		top: max(-32.241vw, -374px);
	}
	.container.sub_page .second_block::after {
		position: absolute;
		content: "";
		width: min(7.327vw, 85px);
		height: min(6.637vw, 77px);
		top: max(-18.706vw, -217px);
		background: url(img/top_news_bg_after.png) center top / contain no-repeat;
		left: calc(50% + max(-34.913vw, -405px));
	}
}
@media ( max-width: 767px ){
	.container.sub_page .sub_page_title_area {
		padding: 22.133vw 0 30vw;
	}
	.container.sub_page.calendar .sub_page_title_area {
		padding: 22.133vw 0 40vw;
	}
	.container.sub_page .sub_page_title_area .page_title_wrap {
		margin-bottom: 16vw;
	}
	.container.sub_page .sub_page_title_area .page_title {
		font-size: 7.333vw;
		padding: 6.666vw 1.5vw;
		background: url(img/sub_page_title_dot.svg) left bottom repeat-x;
		background-size: 5.466vw 1.866vw;
	}
	.container.sub_page .sub_page_title_area .inner::before {
		position: absolute;
		content: "";
		background: url(img/top_fv_bg_before_img.png) center top / contain no-repeat;
		width: 87.6vw;
		height: 85.733vw;
		width: 87.6vw;
		height: 85.733vw;	
	}
	.container.sub_page .sub_page_title_area .inner::before {
		left: -44.9333vw;
		top: -84.533vw;
	}
	.container.sub_page .sub_page_title_area .page_title_wrap::before {
		width: 28.666vw;
		height: 27.466vw;
		right: -8.666vw;
		bottom: -16.266vw;
		background: url(img/sub_page_title_before_sp.png) center top / contain no-repeat;
	}
	.container.sub_page .second_block {
		padding: 9.333vw 0 45vw;
	}
	.container.sub_page .second_block::before {
		background: url(img/top_news_bg_sp.png) center top / cover no-repeat;
		height: 30.933vw;
		top: -29.933vw;
	}
}

/* =paty
-------------------------------------------------------------- */
.container.paty .sub_page_title_area .first_area .party_img_wrap {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.container.paty .gallery {
	background: var(--blue);
	position: relative;
}
.container.paty .gallery::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
.container.paty .gallery .gallery_img_wrap {
	display: flex;
	gap: 2%;
	flex-wrap: wrap;
}
.container.paty .gallery .gallery_img_wrap .img_box {
	width: 32%;
	margin-bottom: 2%;
	border-radius: 6%;
	overflow: hidden;
}
@media ( min-width: 2000px ){
	.container.paty .gallery::before {
		background: url(img/opening_hours_bg.png) center top / cover no-repeat;
		background-size: 100% min(31.896vw, 370px);
	}
}
@media ( min-width: 768px ){
	.container.paty .sub_page_title_area .first_area .party_img_wrap {
		gap: min(1.724vw, 20px);
	 	max-width: min(82.758vw, 960px);
        margin: 0 auto min(6.896vw, 80px);
	}
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box {
		border-radius: min(17.241vw, 20px);
		overflow: hidden;
		box-sizing: border-box;
		width: min(50.86vw, 590px);
	}
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box:first-child,
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box:last-child {
		width: min(30.17vw, 350px);
	}
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box img {
		transition: transform .6s ease;
	}
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box:hover img {
		transform: scale(1.1);
	}
	.container.paty .notice {
		padding: 0 0 min(43.103vw, 500px);
	}
	.container.paty .gallery {
		padding: 0 0 min(39.655vw, 460px);	
	}
	.container.paty .gallery::before {
		background: url(img/opening_hours_bg.png) center top / cover no-repeat;
		height: min(31.896vw, 370px);
		top: max(-31.81vw, -369px);
	}
	.container.paty .gallery::after {
		position: absolute;
		content: "";
		width: min(76.465vw, 887px);
		height: min(15.775vw, 183px);
		top: max(-30.862vw, -358px);
		background: url(img/opening_hours_bg_after.png) center top / contain no-repeat;
		left: calc(50% + max(-43.965vw, -510px));
	}
	.container.paty .gallery .gallery_img_wrap {
		max-width: min(82.758vw, 960px);
        margin: 0 auto;
	}
}
@media ( max-width: 767px ){
	.container.paty .sub_page_title_area .first_area .party_img_wrap {
		gap: 2.084%;
        margin: 0 auto 12vw;
	}
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box {
		border-radius: 4vw;
		overflow: hidden;
		box-sizing: border-box;
		width: 61.458%;
		margin-bottom: 2.084%;
	}
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box:first-child,
	.container.paty .sub_page_title_area .first_area .party_img_wrap .img_box:last-child {
		width: 36.458%;
	}
	.container.paty .weekdays .title {
		line-height: 1.4;
	}
	.container.paty .weekdays .lead_txt {
		text-align: left;
	}
	.container.paty .notice {
		padding: 13.333vw 0 55vw;
	}
	.container.paty .gallery {
		padding: 9.333vw 0 54.666vw;	
	}
	.container.paty .gallery::before {
		background: url(img/opening_hours_bg_sp.png) center top / cover no-repeat;
		height: 27.333vw;
		top: -26.333vw;
	}
}

/* =calendar
-------------------------------------------------------------- */
.container.calendar .calendar_wrap iframe {
	max-width: 100%;
}
.container.calendar .link_wrap dl {
	background: #fff;
    overflow: hidden;
}
.container.calendar .link_wrap dl dd p {
	line-height: 1.8;
}
@media ( min-width: 768px ){
	.container.calendar .first_area .lead_txt {
		text-align: center;
	}
	.container.calendar .calendar_wrap {
		margin-bottom: min(2.586vw, 30px);
	}
	.container.calendar .link_wrap {
		display: flex;
        gap: 0 3.65%;
		margin-top: min(6.896vw, 80px);
	}
	.container.calendar .link_wrap dl {
		width: 30.9%;
        border-radius: min(1.724vw, 20px);
        padding: min(3.448vw, 40px) min(2.586vw, 30px);
	}
	.container.calendar .link_wrap .sub_title {
		font-size: min(2.068vw, 24px);
		margin-bottom: min(2.586vw, 30px);
	}
	.container.calendar .link_wrap .sub_title::before {
        left: max(-3.879vw, -45px);
    }
	.container.calendar .link_wrap .sub_title::after {
        right: max(-3.879vw, -45px);
    }
    .container.calendar .link_wrap dl dd .img_box {
    	width: min(9.482vw, 110px);
    	margin: 0 auto min(1.724vw, 20px);
    }
    .container.calendar .link_wrap dl dd p {
		margin-bottom: min(1.724vw, 20px);
		min-height: min(4.913vw, 57px);
    }
    .container.calendar .link_wrap .btn a {
    	width: 100%;
    	height: min(5.603vw, 65px);
    }
}
@media ( max-width: 767px ){
	.container.calendar .calendar_wrap {
		margin-bottom: 8vw;
	}
	.container.calendar .link_wrap {
		margin-top: 12vw;
	}
	.container.calendar .link_wrap dl {
        border-radius: 4vw;
        padding: 8vw 5vw;
	}
	.container.calendar .link_wrap dl + dl {
		margin-top: 6vw;
	}
    .container.calendar .link_wrap dl dd .img_box {
    	width: 22.666vw;
    	margin: 0 auto 4vw;
    }
    .container.calendar .link_wrap dl dd p {
		margin-bottom: 4vw;
    }
    .container.calendar .link_wrap .btn a {
    	height: 16vw;
    }
}

/* =contact
-------------------------------------------------------------- */
.container.contact .contact_form {
	background: var(--pink);
	position: relative;
}
.container.contact .contact_form::before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
}
.container.contact .contact_form .form_tbl dl {
	line-height: 1.6;
}
.container.contact .contact_form .form_tbl dl dd input:focus,
.container.contact .contact_form .form_tbl dl dd textarea:focus {
    outline: none;
}
.container.contact .contact_form .form_tbl .required_check a {
	text-decoration: underline;
}
.container.contact .contact_form .form_btn {
	color: #fff;
	display: flex;
	align-items: center;
  justify-content: center;
  position: relative;
  font-weight: bold;
	background: var(--brown);
	border: none;
	padding: 0;
}
.container.contact.lang_en .contact_form .form_btn {
	font-weight: normal;
}
.container.contact .contact_form .form_btn::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(img/btn_arrow.svg) center / contain no-repeat;
}
.container.contact .contact_form .form_btn input[type="submit"] {
	width: 100%;
	height: 100%;
	border: none;
	background: none;
	color: #fff;
}
@media ( min-width: 2000px ){
	.container.contact .contact_form::before {
		background: url(img/notice_bg.png) center top / cover no-repeat;
		background-size: 100% min(32.5vw, 377px);
	}
}
@media ( min-width: 768px ){
	.container.contact .sub_page_title_area .lead_txt {
		text-align: center;
	}
	.container.contact .btn_wrap {
		display: flex;
		justify-content: center;
		gap: 0 3.65%;
	}
	.container.contact .btn_wrap .btn {
		width: 30.9%;
	}
	.container.contact .btn_wrap .btn a {
		width: 100%;
	}
	.container.contact .opening_hours {
		padding: 0 0 min(34.482vw, 400px);
	}
	.container.contact .contact_form {
		padding: 0 0 min(17.241vw, 200px);	
	}
	.container.contact .contact_form::before {
		background: url(img/notice_bg.png) center top / cover no-repeat;
		height: min(32.5vw, 377px);
		top: max(-32.413vw, -376px);
	}
	.container.contact .contact_form::after {
		position: absolute;
		content: "";
		width: min(70.948vw, 823px);
		height: min(23.017vw, 267px);
		top: max(-33.362vw, -390px);
		background: url(img/notice_bg_after.png) center top / contain no-repeat;
		left: 0;
		right: 0;
		margin: auto;
	}
	.container.contact .contact_form .form_tbl dl {
		display: flex;
		width: min(68.965vw, 800px);
		margin: 0 auto;
		gap: 20px;
		font-size: min(1.724vw, 20px);
		margin-bottom: min(3.448vw, 40px);
		text-align: left;
	}
	.container.contact .contact_form .form_tbl dl dt {
		width: min(17.24vw, 200px);
		padding:  min(0.862vw, 10px) 0;
	}
	.container.contact .contact_form .form_tbl dl dd {
		width: calc(100% - min(18.965vw, 220px));
	}
	.container.contact .contact_form .form_tbl dl dd input,
	.container.contact .contact_form .form_tbl dl dd textarea {
		width: 100%;
		border: none;
		border-radius: min(0.862vw, 10px);
		padding:  min(0.862vw, 10px) min(1.293vw, 15px);
		box-sizing: border-box;
	}
	.container.contact .contact_form .form_tbl dl dd textarea {
		height: min(12.931vw, 150px);
	}
	.container.contact .contact_form .form_tbl .required_check {
		margin-bottom: min(3.448vw, 40px);
	}
	.container.contact .contact_form .form_tbl .required_check a:hover {
		text-decoration: none;
	}
	.container.contact .contact_form .form_btn {
		width: min(31.034vw, 360px);
		height: min(7.327vw, 85px);
		margin: 0 auto;
		border-radius: min(3.366vw, 42.5px);
		font-size: min(1.603vw, 18.6px);
		transition: 0.5s;
	}
	.container.contact .contact_form .form_btn input[type="submit"] {
		border-radius: min(3.366vw, 42.5px);
	}
	.container.contact .contact_form .form_btn::after {
		width: min(1.81vw, 21px);
		height: min(1.81vw, 21px);
		right: min(2.586vw, 30px);
	}
	.container.contact .contact_form .form_btn:hover {
		transition: 0.5s;
		opacity: 0.8;
	}
}
@media ( max-width: 767px ){
	.container.contact .btn_wrap .btn {
		margin-bottom: 6vw;
	}
	.container.contact .opening_hours {
		padding: 9.333vw 0 40vw;
	}
	.container.contact .contact_form {
		padding: 13.333vw 0 30vw;	
	}
	.container.contact .contact_form::before {
		background: url(img/notice_bg_sp.png) center top / cover no-repeat;
		height: 36.533vw;
		top: -35.533vw;
	}
	.container.contact .contact_form .form_tbl dl {
		font-size: 4.6vw;
		margin-bottom: 4vw;
		text-align: left;
	}
	.container.contact .contact_form .form_tbl dl dt {
		padding:  4vw 0;
	}
	.container.contact .contact_form .form_tbl dl dd {
		width: 100%;
	}
	.container.contact .contact_form .form_tbl dl dd input,
	.container.contact .contact_form .form_tbl dl dd textarea {
		width: 100%;
		border: none;
		border-radius: 2vw;
		padding:  2vw 4vw;
		box-sizing: border-box;
	}
	.container.contact .contact_form .form_tbl dl dd textarea {
		height: 20vw;
	}
	.container.contact .contact_form .form_tbl .required_check {
		margin-bottom: 8vw;
		margin-top: 8vw;
	}
	.container.contact .contact_form .form_btn {
		width: 100%;
		height: 21.333vw;
		border-radius: 10.666vw;
		font-size: 4.666vw;
	}
	.container.contact .contact_form .form_btn input[type="submit"] {
		border-radius: 10.666vw;
	}
	.container.contact .contact_form .form_btn::after {
		width: 5.2vw;
		height: 5.2vw;
		right: 8vw;
	}
}

/* =othrer_page
-------------------------------------------------------------- */
.container.other {
	background: var(--light_yellow);
}
@media ( min-width: 768px ){
	.container.other {
		padding: min(12.931vw, 150px) 0 min(43.103vw, 500px);
	}
}
@media ( max-width: 767px ){
	.container.other {
		padding: 24vw 0 58.666vw;
	}
}
.txt_main .main {
	text-align: left;
}
.txt_main .main h2 {
	font-family: 'Zen Maru Gothic', 'Concert One', sans-serif;
	line-height: 1.6;
}
.lang_en.txt_main .main h2 {
	font-family: 'Concert One', sans-serif;
}
.txt_main .main p,
.txt_main .main dl dd ul  {
	line-height: 2;
}
.txt_main .main a {
	color: var(--purple);
	text-decoration: underline;
}
.txt_main .main dl dd ul li,
.txt_main .main dl dd ul li ul li ul li {
	padding-left: 1em;
    text-indent: -1em;
}
.txt_main .main dl dd ul li ul li {
	padding-left: 2em;
    text-indent: -2em;
}
.txt_main .main .campany span {
	display: block;
	line-height: 2;
}
@media ( min-width: 768px ){
	.txt_main .main h2 {
		font-size: min(1.896vw, 22px);
		margin-bottom: min(3.448vw, 40px);
		padding: min(0.862vw, 10px) 0 min(0.862vw, 10px) min(1.724vw, 20px);
		border-left: min(0.344vw, 4px) solid var(--light_purple);
	}
	.txt_main .main p + dl {
		margin-top: min(5.172vw, 60px);
	}
	.txt_main .main dl {
		margin-bottom: min(5.172vw, 60px);
	}
	.txt_main .main p + ul {
		margin-top: min(2.586vw, 30px);
	}
	.txt_main .main dl dd ul li ul {
		margin-top: min(0.862vw, 10px);
	}
	.txt_main .main dl dd ul li ul li ul {
		margin-top: min(0.431vw, 5px);
	}
	.txt_main .main dl dd ul li + li {
		margin-top: min(0.862vw, 10px);
	}
	.txt_main .main a:hover {
		text-decoration: none;
	}
	.txt_main .main .campany {
		margin-top: min(2.586vw, 30px);
		border: min(0.172vw, 2px) solid var(--light_brown);
		padding: min(1.724vw, 20px) min(2.586vw, 30px);
		width: min(34.827vw, 400px);
	}
	.lang_en.txt_main .main .campany {
		width: min(43.103vw, 500px);
	}

}
@media ( max-width: 767px ){
	.txt_main .main {
		font-size: 3.5vw;
	}
	.txt_main .main h2 {
		font-size: 4.6vw;
		margin-bottom: 6vw;
		padding: 1.333vw 0 1.333vw 4.333vw;
		border-left: 0.9333vw solid var(--light_purple);
	}
	.txt_main .main p + dl {
		margin-top: 12vw;
	}
	.txt_main .main dl {
		margin-bottom: 12vw;
	}
	.txt_main .main p + ul {
		margin-top: 4vw;
	}
	.txt_main .main dl dd ul li ul {
		margin-top: 2vw;
	}
	.txt_main .main dl dd ul li ul li ul {
		margin-top: 2vw;
	}
	.txt_main .main dl dd ul li + li {
		margin-top: 2vw;
	}
	.txt_main .main .campany {
		margin-top: 8vw;
		border: 0.5vw solid var(--light_brown);
		padding: 3vw 4vw;
	}
}