@charset "utf-8";

:root {

	/* サイズ */
	--Size_01: 0.1rem;	--Size_02: 0.2rem;	--Size_03: 0.3rem;	--Size_04: 0.4rem;	--Size_05: 0.5rem;
	--Size_06: 0.6rem;	--Size_07: 0.7rem;	--Size_08: 0.8rem;	--Size_09: 0.9rem;	--Size_10: 1.0rem;
	--Size_12: 1.2rem;	--Size_14: 1.4rem;	--Size_16: 1.6rem;	--Size_18: 1.8rem;	--Size_20: 2.0rem;
	--Size_22: 2.2rem;	--Size_24: 2.4rem;	--Size_26: 2.6rem;	--Size_28: 2.8rem;	--Size_30: 3.0rem;
	--Size_32: 3.2rem;	--Size_34: 3.4rem;	--Size_36: 3.6rem;	--Size_38: 3.8rem;	--Size_40: 4.0rem;
	--Size_42: 4.2rem;	--Size_44: 4.4rem;	--Size_46: 4.6rem;	--Size_48: 4.8rem;	--Size_50: 5.0rem;
	--Size_52: 5.2rem;	--Size_54: 5.4rem;	--Size_56: 5.6rem;	--Size_58: 5.8rem;	--Size_60: 6.0rem;
	--Size_62: 6.2rem;	--Size_64: 6.4rem;	--Size_66: 6.6rem;	--Size_68: 6.8rem;	--Size_70: 7.0rem;
	--Size_72: 7.2rem;	--Size_74: 7.4rem;	--Size_76: 7.6rem;	--Size_78: 7.8rem;	--Size_80: 8.0rem;
	--Size_90: 9.0rem;
	--Size_100: 10.0rem;
	--Size_110: 11.0rem;	--Size_120: 12.0rem;	--Size_130: 13.0rem;	--Size_140: 14.0rem;	--Size_150: 15.0rem;
	--Size_160: 16.0rem;	--Size_170: 17.0rem;	--Size_180: 18.0rem;	--Size_190: 19.0rem;	--Size_200: 20.0rem;
	--Size_210: 21.0rem;	--Size_220: 22.0rem;	--Size_230: 23.0rem;	--Size_240: 24.0rem;	--Size_250: 25.0rem;
	--Size_260: 26.0rem;	--Size_270: 27.0rem;	--Size_280: 28.0rem;	--Size_290: 29.0rem;	--Size_300: 30.0rem;

	/* キーカラー #ff9900 */
	--Color_A: #ff9900;
	--Color_A100: rgba(255,153,0,1.00);
	--Color_A080: rgba(255,153,0,0.80);
	--Color_A060: rgba(255,153,0,0.60);
	--Color_A040: rgba(255,153,0,0.40);
	--Color_A020: rgba(255,153,0,0.20);
	--Color_A000: rgba(255,153,0,0.00);

	/* キーカラー #ffcc30 */
	--Color_B: #ffcc30;
	--Color_B100: rgba(255,204,48,1.00);
	--Color_B080: rgba(255,204,48,0.80);
	--Color_B060: rgba(255,204,48,0.60);
	--Color_B040: rgba(255,204,48,0.40);
	--Color_B020: rgba(255,204,48,0.20);
	--Color_B000: rgba(255,204,48,0.00);

	/* キーカラー #2b9dcd */
	--Color_C: #2b9dcd;
	--Color_C100: rgba(43,157,205,1.00);
	--Color_C080: rgba(43,157,205,0.00);
	--Color_C060: rgba(43,157,205,0.60);
	--Color_C040: rgba(43,157,205,0.40);
	--Color_C020: rgba(43,157,205,0.20);
	--Color_C000: rgba(43,157,205,0.00);

	/* キーカラー #aeddf0 */
	--Color_D: #aeddf0;
	--Color_D100: rgba(174,221,240,1.00);
	--Color_D080: rgba(174,221,240,0.80);
	--Color_D060: rgba(174,221,240,0.60);
	--Color_D040: rgba(174,221,240,0.40);
	--Color_D020: rgba(174,221,240,0.20);
	--Color_D000: rgba(174,221,240,0.00);

	/* キーカラー #f0e8dd */
	--Color_E: #f0e8dd;
	--Color_E100: rgba(240,232,221,1.00);
	--Color_E080: rgba(240,232,221,0.80);
	--Color_E060: rgba(240,232,221,0.60);
	--Color_E040: rgba(240,232,221,0.40);
	--Color_E020: rgba(240,232,221,0.20);
	--Color_E000: rgba(240,232,221,0.00);

	/* キーカラー #FFFFFF */
	--Color_FF: #FFFFFF;
	--Color_FF100: rgba(255,255,255,1.00);
	--Color_FF080: rgba(255,255,255,0.80);
	--Color_FF060: rgba(255,255,255,0.60);
	--Color_FF040: rgba(255,255,255,0.40);
	--Color_FF020: rgba(255,255,255,0.20);
	--Color_FF000: rgba(255,255,255,0.00);

	/* グレー */
	--Color_1D100: rgba(29,29,29,1.00);
	--Color_1D080: rgba(29,29,29,0.80);
	--Color_1D060: rgba(29,29,29,0.60);
	--Color_1D040: rgba(29,29,29,0.40);
	--Color_1D020: rgba(29,29,29,0.20);
	--Color_1D000: rgba(29,29,29,0.00);

	/* ギミック */
	--Transition_02s: all 0.2s ease;
	--Transition_04s: all 0.4s ease;
	--Transition_06s: all 0.6s ease;
	--Transition_08s: all 0.8s ease;
	--Transition_10s: all 1.0s ease;

	/* フィルタ */
	--backdrop-filter_blur: blur(6px);

	--Border-radius_S: var(--Size_04); /* 角丸 全部 */
	--Border-radius_L: var(--Size_100); /* 角丸 全部 */
	
	
	--Guide_Navi_gap: var(--Size_04);
}

@media (prefers-color-scheme: dark) {
	:root {

	}
}

/* モバイル　ALL */
@media screen and (max-width: 425px) {
	:root {

		/* ベース */
		--Body_padding: 0 4vw;

		/* ヘッダー */
		--Header_Wrap_justify-content: center;
		--Header_Wrap_A_align-items: center;
		--Header_Wrap_A_P_display: none;
		--Header_Wrap_A_H1_A_Img_width: 80%;
		--Header_Wrap_B_display: none;
		--Header_Nav_display: none;

		--menu-iconA_display: flex;

		/* キービジュアル */
		--KeyImage_margin: var(--Size_10) 0;

		/* アーティクル */
		--Article_gap: var(--Size_10);
		--Content_Wrap_margin: 4vw 0 0;

		/* サイドバー */
		--Sidebar_gap: var(--Size_10);
		--Sidebar_flex-basis: 100%;
		--Sidebar_Ul_Li_A_Img_width: 220px;
		--Sidebar_Sns_display: none;

		/* トップ */
		--Today_Li_flex-basis: 100%;

		/* 営業時間／料金 */
		--Guide_Navi_Li_flex-basis: calc( calc( 100% - calc( var(--Guide_Navi_gap) * 2 ) ) / 3 );

		/* 地下鉄 */
		--Subway_border-radius: var(--Border-radius_S);
		--Subway_A_flex-basis: auto;
		--Subway_A_padding: var(--Size_06);
		--Subway_Em_padding: var(--Size_04) var(--Size_06) 0;
		--Subway_Strong_padding: var(--Size_04) var(--Size_06);

		/* 施設 */
		--Image_Dt_order: 2;
		--Image_Dd_flex-basis: 100%;
		--Image_Dd_order: 1;

		/* カレンダー */
		--IframePc_display: none;
		--IframeSp_display: block;

		/* フッター */
		--Footer_padding: var(--Size_10) 0 var(--Size_20);

		--Flex-direction_CRRRRR: column;
		--Flex-direction_CCRRRR: column;
		--Flex-direction_RCCCCC: row;
	}
}

/* タブレット */
@media screen and (min-width:426px) and (max-width: 768px) {
	:root {

		/* ベース */
		--Body_padding: 0 4vw;

		/* ヘッダー */
		--Header_Wrap_justify-content: center;
		--Header_Wrap_A_align-items: center;
		--Header_Wrap_A_P_display: block;
		--Header_Wrap_A_H1_A_Img_width: 100%;
		--Header_Wrap_B_display: none;
		--Header_Nav_display: none;

		--menu-iconA_display: flex;

		/* キービジュアル */
		--KeyImage_margin: var(--Size_10) 0;

		/* アーティクル */
		--Article_gap: var(--Size_10);
		--Content_Wrap_margin: 4vw 0 0;

		/* サイドバー */
		--Sidebar_gap: var(--Size_10);
		--Sidebar_flex-basis: 100%;
		--Sidebar_Ul_Li_A_Img_width: 220px;
		--Sidebar_Sns_display: none;

		/* トップ */
		--Today_Li_flex-basis: calc( calc( 100% - var(--Size_10) ) / 2 );

		/* 営業時間／料金 */
		--Guide_Navi_Li_flex-basis: calc( calc( 100% - calc( var(--Guide_Navi_gap) * 4 ) ) / 5 );

		/* 地下鉄 */
		--Subway_border-radius: var(--Border-radius_L);
		--Subway_A_flex-basis: var(--Size_80);
		--Subway_A_padding: 0 var(--Size_06);
		--Subway_Em_padding: var(--Size_04) 0;
		--Subway_Strong_padding: 0;

		/* 施設 */
		--Image_Dt_order: 1;
		--Image_Dd_flex-basis: 36%;
		--Image_Dd_order: 2;

		/* カレンダー */
		--IframePc_display: none;
		--IframeSp_display: block;

		/* フッター */
		--Footer_padding: var(--Size_10) 0;

		--Flex-direction_CRRRRR: row;
		--Flex-direction_CCRRRR: column;
		--Flex-direction_RCCCCC: column;
	}
}

/* ノートパソコン */
@media screen and (min-width:769px) and ( max-width:1024px) {
	:root {

		/* ベース */
		--Body_padding: 0 4vw;

		/* ヘッダー */
		--Header_Wrap_justify-content: space-between;
		--Header_Wrap_A_align-items: flex-start;
		--Header_Wrap_A_P_display: block;
		--Header_Wrap_A_H1_A_Img_width: 100%;
		--Header_Wrap_B_display: flex;
		--Header_Nav_display: flex;

		--menu-iconA_display: none;

		/* キービジュアル */
		--KeyImage_margin: var(--Size_20) 0;

		/* アーティクル */
		--Article_gap: var(--Size_10);
		--Content_Wrap_margin: var(--Size_20) 0 0;

		/* サイドバー */
		--Sidebar_gap: var(--Size_10);
		--Sidebar_flex-basis: var(--Size_180);
		--Sidebar_Ul_Li_A_Img_width: 100%;
		--Sidebar_Sns_display: flex;

		/* トップ */
		--Today_Li_flex-basis: calc( calc( 100% - var(--Size_10) ) / 2 );

		/* 営業時間／料金 */
		--Guide_Navi_Li_flex-basis: calc( calc( 100% - calc( var(--Guide_Navi_gap) * 4 ) ) / 5 );

		/* 地下鉄 */
		--Subway_border-radius: var(--Border-radius_L);
		--Subway_A_flex-basis: var(--Size_80);
		--Subway_A_padding: 0 var(--Size_06);
		--Subway_Em_padding: var(--Size_04) 0;
		--Subway_Strong_padding: 0;

		/* 施設 */
		--Image_Dt_order: 1;
		--Image_Dd_flex-basis: 36%;
		--Image_Dd_order: 2;

		/* カレンダー */
		--IframePc_display: block;
		--IframeSp_display: none;

		/* フッター */
		--Footer_padding: var(--Size_10) 0;

		--Flex-direction_CRRRRR: row;
		--Flex-direction_CCRRRR: row;
		--Flex-direction_RCCCCC: column;
	}
}

/* ノートパソコン L */
@media screen and (min-width:1025px) and ( max-width:1440px) {
	:root {

		/* ベース */
		--Body_padding: 0 6vw;

		/* ヘッダー */
		--Header_Wrap_justify-content: space-between;
		--Header_Wrap_A_align-items: flex-start;
		--Header_Wrap_A_P_display: block;
		--Header_Wrap_A_H1_A_Img_width: 100%;
		--Header_Wrap_B_display: flex;
		--Header_Nav_display: flex;

		--menu-iconA_display: none;

		/* キービジュアル */
		--KeyImage_margin: var(--Size_20) 0;

		/* アーティクル */
		--Article_gap: var(--Size_20);
		--Content_Wrap_margin: var(--Size_20) 0 0;

		/* サイドバー */
		--Sidebar_gap: var(--Size_20);
		--Sidebar_flex-basis: var(--Size_220);
		--Sidebar_Ul_Li_A_Img_width: 100%;
		--Sidebar_Sns_display: flex;

		/* トップ */
		--Today_Li_flex-basis: calc( calc( 100% - var(--Size_10) ) / 2 );

		/* 営業時間／料金 */
		--Guide_Navi_Li_flex-basis: calc( calc( 100% - calc( var(--Guide_Navi_gap) * 4 ) ) / 5 );

		/* 地下鉄 */
		--Subway_border-radius: var(--Border-radius_L);
		--Subway_A_flex-basis: var(--Size_80);
		--Subway_A_padding: 0 var(--Size_06);
		--Subway_Em_padding: var(--Size_04) 0;
		--Subway_Strong_padding: 0;

		/* 施設 */
		--Image_Dt_order: 1;
		--Image_Dd_flex-basis: 36%;
		--Image_Dd_order: 2;

		/* カレンダー */
		--IframePc_display: block;
		--IframeSp_display: none;

		/* フッター */
		--Footer_padding: var(--Size_10) 0;

		--Flex-direction_CRRRRR: row;
		--Flex-direction_CCRRRR: row;
		--Flex-direction_RCCCCC: column;
	}
}

/* 2K以上 */
@media screen and (min-width:1441px) and ( max-width:2560px) {
	:root {

		/* ベース */
		--Body_padding: 0 8vw;

		/* ヘッダー */
		--Header_Wrap_justify-content: space-between;
		--Header_Wrap_A_align-items: flex-start;
		--Header_Wrap_A_P_display: block;
		--Header_Wrap_A_H1_A_Img_width: 100%;
		--Header_Wrap_B_display: flex;
		--Header_Nav_display: flex;

		--menu-iconA_display: none;

		/* キービジュアル */
		--KeyImage_margin: var(--Size_20) 0;

		/* アーティクル */
		--Article_gap: var(--Size_20);
		--Content_Wrap_margin: var(--Size_20) 0 0;

		/* サイドバー */
		--Sidebar_gap: var(--Size_20);
		--Sidebar_flex-basis: var(--Size_220);
		--Sidebar_Ul_Li_A_Img_width: 100%;
		--Sidebar_Sns_display: flex;

		/* トップ */
		--Today_Li_flex-basis: calc( calc( 100% - var(--Size_10) ) / 2 );

		/* 営業時間／料金 */
		--Guide_Navi_Li_flex-basis: calc( calc( 100% - calc( var(--Guide_Navi_gap) * 4 ) ) / 5 );

		/* 地下鉄 */
		--Subway_border-radius: var(--Border-radius_L);
		--Subway_A_flex-basis: var(--Size_80);
		--Subway_A_padding: 0 var(--Size_06);
		--Subway_Em_padding: var(--Size_04) 0;
		--Subway_Strong_padding: 0;

		/* 施設 */
		--Image_Dt_order: 1;
		--Image_Dd_flex-basis: 36%;
		--Image_Dd_order: 2;

		/* カレンダー */
		--IframePc_display: block;
		--IframeSp_display: none;

		/* フッター */
		--Footer_padding: var(--Size_10) 0;

		--Flex-direction_CRRRRR: row;
		--Flex-direction_CCRRRR: row;
		--Flex-direction_RCCCCC: column;
	}
}

/* 4K以上 */
@media screen and (min-width:2561px) {
	:root {

		/* ベース */
		--Body_padding: 0 8vw;

		/* ヘッダー */
		--Header_Wrap_justify-content: space-between;
		--Header_Wrap_A_align-items: flex-start;
		--Header_Wrap_A_P_display: block;
		--Header_Wrap_A_H1_A_Img_width: 100%;
		--Header_Wrap_B_display: flex;
		--Header_Nav_display: flex;

		--menu-iconA_display: none;

		/* キービジュアル */
		--KeyImage_margin: var(--Size_20) 0;

		/* アーティクル */
		--Article_gap: var(--Size_20);
		--Content_Wrap_margin: var(--Size_20) 0 0;

		/* サイドバー */
		--Sidebar_gap: var(--Size_20);
		--Sidebar_flex-basis: var(--Size_220);
		--Sidebar_Ul_Li_A_Img_width: 100%;
		--Sidebar_Sns_display: flex;

		/* トップ */
		--Today_Li_flex-basis: calc( calc( 100% - var(--Size_10) ) / 2 );

		/* 営業時間／料金 */
		--Guide_Navi_Li_flex-basis: calc( calc( 100% - calc( var(--Guide_Navi_gap) * 4 ) ) / 5 );

		/* 地下鉄 */
		--Subway_border-radius: var(--Border-radius_L);
		--Subway_A_flex-basis: var(--Size_80);
		--Subway_A_padding: 0 var(--Size_06);
		--Subway_Em_padding: var(--Size_04) 0;
		--Subway_Strong_padding: 0;

		/* 施設 */
		--Image_Dt_order: 1;
		--Image_Dd_flex-basis: 36%;
		--Image_Dd_order: 2;

		/* カレンダー */
		--IframePc_display: block;
		--IframeSp_display: none;

		/* フッター */
		--Footer_padding: var(--Size_10) 0;

		--Flex-direction_CRRRRR: row;
		--Flex-direction_CCRRRR: row;
		--Flex-direction_RCCCCC: column;
	}
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	リセット
ーーーーーーーーーーーーーーーーーーーー */

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;
	border: 0;
	font-size: 62.5%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

html {
	max-width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 100 to 900

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

body {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: var(--Body_padding);
	min-height: 100vh;
	
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	background: #F0F0F0;
	-webkit-animation: fadeIn 4s ease 0s 1 normal;
	animation: fadeIn 2s ease 0s 1 normal;
	transition: var(--Transition_04s);
	-o-transition: var(--Transition_04s);
	-moz-transition: var(--Transition_04s);
	-webkit-transition: var(--Transition_04s);
}

@keyframes fadeIn         { 0% { opacity: 0 } 100% { opacity: 1 } }
@-webkit-keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }

header, article, section, div, footer,
table, tr, th, td, ol, ul, li, dl, dt, dd,
h1, h2, h3, h4, h5, h6, p, span, b, i, a {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

ol, ul {
	list-style: none;
}

p, ol li, ul li, dl dt, dl dd {
	font-size: var(--Size_10);
	color: var(--Color_1D100);
	line-height: 1.6;
}

span {
	font-size: var(--Size_08);
}

a:hover {

}

figure {
	margin: 0;
}

img {
	max-width: 100%;
	vertical-align: bottom;
	object-fit: cover;
}

a {
	position: relative;
	text-decoration: none;
	border: 0;
	transition: var(--Transition_04s);
	-o-transition: var(--Transition_04s);
	-moz-transition: var(--Transition_04s);
	-webkit-transition: var(--Transition_04s);
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	ヘッダー
ーーーーーーーーーーーーーーーーーーーー */

header {
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	background: rgba(240,240,240,0.80);
	z-index: 9999;
	backdrop-filter: var(--backdrop-filter_blur);
	-o-backdrop-filter: var(--backdrop-filter_blur);
	-moz-backdrop-filter: var(--backdrop-filter_blur);
	-webkit-backdrop-filter: var(--backdrop-filter_blur);
}

header #wrap {
	display: flex;
	justify-content: var(--Header_Wrap_justify-content);
	padding: var(--Size_10) 0;
}

header #wrap #A {
	display: flex;
	flex-direction: column;
	align-items: var(--Header_Wrap_A_align-items);
	gap: var(--Size_06);
}

header #wrap #A p {
	display: var(--Header_Wrap_A_P_display);
	font-size: var(--Size_08);
	line-height: 1;
}

header #wrap #A h1 a {
	display: flex;
	flex-direction: column;
	align-items: center;
}

header #wrap #A h1 a img {
	width: var(--Header_Wrap_A_H1_A_Img_width);
}

header #wrap #B {
	display: var(--Header_Wrap_B_display);
	flex-direction: column;
	align-items: flex-end;
	gap: var(--Size_06);
}

header #wrap #B p {
	line-height: 1;
}

header #wrap #B p:nth-of-type(1) a {
	font-size: var(--Size_10);
	font-weight: 600;
	color: var(--Color_1F080);
}

header #wrap #B p:nth-of-type(1) a:hover {
	color: var(--Color_A100);
}

header #wrap #B p:nth-of-type(2) a {
	padding: var(--Size_02) var(--Size_08);
	font-size: var(--Size_08);
	color: var(--Color_FF100);
	font-weight: 400;
	background: var(--Color_1D080);
	border-radius: var(--Border-radius_L);
}

header #wrap #B p:nth-of-type(2) a:hover {
	background: var(--Color_A080);
}

header nav {
	display: var(--Header_Nav_display);
	justify-content: space-around;
	gap: var(--Size_04);
	padding: var(--Size_04) 0;
	background: var(--Color_A100);
	border-radius: var(--Border-radius_S);
}

header nav a {
	padding: var(--Size_04);
	font-size: var(--Size_08);
	line-height: 1;
	color: var(--Color_FF100);
	background: var(--Color_A100);
	border-radius: var(--Border-radius_S);
}

header nav a:hover {
	color: var(--Color_1D100);
	background: var(--Color_B100);
}








/* ーーーーーーーーーーーーーーーーーーーー
	ヘッダー
	ハンバーガー
ーーーーーーーーーーーーーーーーーーーー */

#hum {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	z-index: 9999;
}

.menu-btnA {
	display: none;
}

.menu-iconA {
	position: relative;
	display: var(--menu-iconA_display);
	flex-direction: column;
	gap: var(--Size_03);
	padding: var(--Size_06);
	background: var(--Color_A100);
	border-radius: var(--Border-radius_S);
	animation: BGAnimation 10s ease infinite;
	z-index: 1;
}

.menu-iconA span {
	content: '';
	position: relative;
	display: inline-block;
	width: var(--Size_10);
	height: 2px;
	background: var(--Color_FF100);
	border-radius: var(--Border-radius_S);
}

.lang_menuA {
	position: absolute;
	top: var(--Size_18);
	left: var(--Size_06);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	gap: var(--Size_04);
	margin: 0;
	padding: var(--Size_24) 0 var(--Size_06);
	background: var(--Color_1D080);
	border-radius: var(--Border-radius_S);
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transform: scale( 1, 0 );
	transform-origin: top;
	backdrop-filter: var(--backdrop-filter_blur);
	-o-backdrop-filter: var(--backdrop-filter_blur);
	-moz-backdrop-filter: var(--backdrop-filter_blur);
	-webkit-backdrop-filter: var(--backdrop-filter_blur);
}

.lang_menuA li {
	padding: 0;
	opacity: 0;
	transition: 0.5s;
}

.lang_menuA a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding: var(--Size_04) var(--Size_08);
	text-transform: capitalize;
	color: var(--Color_FF100);
	font-size: var(--Size_10);
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
	transition: var(--Transition_04s);
}

.lang_menuA a span {
	display: flex;
	align-items: center;
	gap: var(--Size_02);
	padding: var(--Size_04) var(--Size_06);
	font-size: var(--Size_10);
	background: var(--Color_A100);
	border-radius: var(--Border-radius_L);
	transition: var(--Transition_04s);
	-o-transition: var(--Transition_04s);
	-moz-transition: var(--Transition_04s);
	-webkit-transition: var(--Transition_04s);
}

.lang_menuA a span img {
	width: var(--Size_08);
}

#hum a:hover {
	color: var(--Color_A100);
	opacity: 1;
}

.menu-btnA:checked ~ .lang_menuA {
	transform: scale(1, 1);
	transform-origin: top;
	transition: var(--Transition_04s);
}

.menu-btnA:checked ~ .lang_menuA a,
.menu-btnA:checked ~ .lang_menuA li {
	opacity: 1;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	キービジュアル
ーーーーーーーーーーーーーーーーーーーー */

#key_image {
	margin: var(--KeyImage_margin);
	& img {
		width: 100%;
		border-radius: var(--Border-radius_S);
	}
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	セクション
ーーーーーーーーーーーーーーーーーーーー */

article {
	display: flex;
	flex-wrap: wrap;
	gap: var(--Article_gap);
}

#sidebar {
	flex-basis: var(--Sidebar_flex-basis);
	display: flex;
	flex-direction: column;
	gap: var(--Sidebar_gap);
	overflow: hidden;
}

#content {
	flex: 1;
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	サイドバー
ーーーーーーーーーーーーーーーーーーーー */

#sidebar {
	& ul {
		margin: 0;
		list-style: none;
		& li {
			& a {
				display: flex;
				justify-content: center;
				& img {
					width: var(--Sidebar_Ul_Li_A_Img_width);
					transform: rotate(0);
					transition: var(--Transition_04s);
					-o-transition: var(--Transition_04s);
					-moz-transition: var(--Transition_04s);
					-webkit-transition: var(--Transition_04s);
				}
			}
			& a:hover {
				& img {
					transform: rotate(-2deg);
				}
			}
		}
	}
	& .sns {
		display: var(--Sidebar_Sns_display);
		& a {
			display: flex;
			justify-content: center;
			padding: var(--Size_04);
			width: 100%;
			color: var(--Color_1D100);
			background: var(--Color_FF100);
			border-radius: var(--Border-radius_S);
		}
	}
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	要素
ーーーーーーーーーーーーーーーーーーーー */

#content h2 {
	margin: 0 0 var(--Size_10);
	padding: var(--Size_10) var(--Size_06);
	font-size: var(--Size_20);
	color: var(--Color_1D100);
	line-height: 1;
	letter-spacing: .5px;
	border-left: 3px var(--Color_A100) solid;
}

#content .read {
	margin: 0 0 var(--Size_20);
	font-size: var(--Size_10);
}

section .wrap {
	margin: var(--Content_Wrap_margin);
	padding: var(--Size_10);
	background: var(--Color_FF100);
	border-radius: var(--Border-radius_S);
}

section#sidebar .wrap {
	margin: 0;
}




#content h3 {
	position: relative;
	margin: 0 0 var(--Size_12);
	padding: 0 0 0 var(--Size_24);
	font-size: var(--Size_16);
	color: var(--Color_1D100);
	font-weight: 500;
	line-height: 1;
	letter-spacing: .5px;
}

#content h3 span {
	content: '';
	position: absolute;
	width: var(--Size_08);
	height: var(--Size_08);
}

#content h3 span:nth-of-type(1) {
	top: 0;
	left: 0;
	background: var(--Color_B100);
	animation: zoom1 2s linear infinite alternate;
}

#content h3 span:nth-of-type(2) {
	top: 0;
	left: var(--Size_08);
	background: var(--Color_D100);
	animation: zoom2 2s linear infinite alternate;
}

#content h3 span:nth-of-type(3) {
	top: var(--Size_08);
	left: 0;
	background: var(--Color_D100);
	animation: zoom2 2s linear infinite alternate;
}

#content h3 span:nth-of-type(4) {
	top: var(--Size_08);
	left: .8rem;
	background: var(--Color_B100);
	animation: zoom1 2s linear infinite alternate;
}

@keyframes zoom1 {
	0% { transform: scale(1); }
	100% { transform: scale(.2); }
}

@keyframes zoom2 {
	0% { transform: scale(.2); }
	100% { transform: scale(1); }
}




#content .wrap p {
	margin: 0;
	font-size: var(--Size_10);
	color: var(--Color_1D100);
	line-height: 1.6;
}

#content .wrap p a {
	display: inline-flex;
	align-items: center;
	gap: var(--Size_02);
	margin: 0 var(--Size_01);
	padding: var(--Size_01) var(--Size_03);
	font-size: var(--Size_10);
	color: var(--Color_C100);
	line-height: 1.2;
	background: var(--Color_D020);
	border-radius: var(--Border-radius_L);
}

#content .wrap p a:hover {
	color: var(--Color_A100);
	background: var(--Color_B020);
}

#content .wrap p a i {
	font-size: var(--Size_09);
}

#content .wrap .footnote {
	padding: var(--Size_06) 0 0;
	text-align: right;
	font-size: var(--Size_08);
	color: var(--Color_1D060);
}

#content .wrap .text {
	padding: var(--Size_10) 0 0;
}

#content .wrap .comment em {
	display: inline-block;
	padding: 0 var(--Size_02);
	color: var(--Color_A100);
	font-weight: 600;
}

#content .wrap .name {
	padding: var(--Size_10) 0 0;
	text-align: right;
}

#content .wrap > figure {
	margin: var(--Size_10) 0 0;
}

#content .wrap > figure.key {
	margin: 0 0 var(--Size_10);
}

#content .wrap figure img {
	width: 100%;
}








/* ーーーーーーーーーーーーーーーーーーーー
	トップ
	営業内容
ーーーーーーーーーーーーーーーーーーーー */

#content.index .wrap:first-child {
	margin: 0;
}

#today {
	display: flex;
	flex-direction: var(--Flex-direction_CRRRRR);
	flex-wrap: wrap;
	gap: var(--Size_06);
}

#today li:nth-of-type(1),
#today li:nth-of-type(2) {
	flex-basis: var(--Today_Li_flex-basis);
	display: flex;
	flex-direction: column;
	padding: var(--Size_06);
	background: var(--Color_D020);
	border-radius: var(--Border-radius_S);
}

.today_title {
	margin: 0 0 var(--Size_06);
	padding: 0 0 var(--Size_02);
	color: var(--Color_1D100);
	font-size: var(--Size_12);
	font-weight: 600;
	border-bottom: 1px var(--Color_C060) solid;
}

#today li figure {
	width: 100%;
}

#today li figure img {
	width: 100%;
}




/* 営業内容　共通 */

.todayinfo {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--Size_04);
	padding: var(--Size_06) 0;
	& div {
		display: flex;
		justify-content: center;
		align-items: baseline;
		gap: var(--Size_04);
		font-size: var(--Size_10);
		color: var(--Color_1D100);
		font-weight: 400;
		line-height: 1.2;
		& span {
			font-size: var(--Size_10);
		}
	}
}



/* 営業する場合 */

.ontime {
	& .n1 {
		color: var(--Color_C100);
		font-weight: 600;
		&  em {
			font-size: var(--Size_20);
		}
		& span {
			color: var(--Color_1D100);
			font-size: var(--Size_16);
		}
	}
	& .n2 {
		& em {
			font-size: var(--Size_14);
			font-weight: 600;
		}
	}
}




/* 営業しない場合 */

.notime {
	& .n1 {
		color: var(--Color_C100);
		font-weight: 600;
		& em {
			font-size: var(--Size_16);
		}
	}
}




/* 男湯の場合 */

.outdoor_men {
	& .n1 {
		& em {
			color: var(--Color_C100);
			font-size: var(--Size_20);
			font-weight: 600;
		}
	}
}



/* 女湯の場合 */

.outdoor_women {
	& .n1 {
		& em {
			color: var(--Color_A100);
			font-size: var(--Size_20);
			font-weight: 600;
		}
	}
}




/* メンテナンスの場合 */

.outdoor_no {
	& .n2 {
		& em {
			font-size: var(--Size_16);
		}
	}
}




/* おやすみの場合 */

.outdoor_off {
	& .n2 {
		& em {
			font-size: var(--Size_16);
		}
	}
}




#today li:last-child {
	flex-basis: 100%;
	text-align: center;
}








/* ーーーーーーーーーーーーーーーーーーーー
	リスト
	メトロ
ーーーーーーーーーーーーーーーーーーーー */

.subway {
	display: flex;
	flex-direction: var(--Flex-direction_CRRRRR);
	align-items: stretch;
	gap: 0 var(--Size_06);
	width: 100%;
	border: 1px var(--Color_A040) solid;
	border-radius: var(--Subway_border-radius);
	overflow: hidden;
}

.subway:nth-of-type(2) {
	margin: var(--Size_06) 0 0;
}

.subway > a {
	flex-basis: var(--Subway_A_flex-basis);
	display: flex;
	align-items: center;
	gap: var(--Size_04);
	padding: var(--Subway_A_padding);
	color: var(--Color_FF100);
	line-height: 1;
}

.subway > .toyoko {
	background: #e83817;
}

.subway > .metro {
	background: #00a3d9;
}

.subway > a:hover {
	background: var(--Color_C100);
}

.subway a img {
	width: var(--Size_12);
}

.subway em {
	display: flex;
	align-items: center;
	gap: var(--Size_03);
	padding: var(--Subway_Em_padding);
	color: var(--Color_1D100);
	line-height: 1;
}

.subway em span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--Size_01);
	width: var(--Size_20);
	font-size: var(--Size_07);
	color: var(--Color_1D100);
	font-weight: 600;
	line-height: 0.8;
	border-radius: var(--Border-radius_L);
	aspect-ratio: 1 / 1;
}

/* 東急東横線 */
.subway em .ty {
	border: 3px #db0143 solid;
}

/* 東京メトロ日比谷線 */
.subway em .mh {
	border: 3px #b5b5ac solid;
}

.subway em img {
	width: var(--Size_18);
}

.subway strong {
	display: flex;
	align-items: center;
	gap: 0 var(--Size_04);
	padding: var(--Subway_Strong_padding);
	color: var(--Color_1D100);
	line-height: 1;
}

.subway strong a i {
	color: var(--Color_A100);
}

.subway strong a:hover i {
	color: var(--Color_C100);
}







/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	リスト
ーーーーーーーーーーーーーーーーーーーー */

#content .wrap dl {
	display: flex;
	justify-content: space-between;
	gap: var(--Size_10);
	padding: var(--Size_04) 0;
	border-bottom: 1px var(--Color_1D020) solid;
}

#content .wrap dl dt {
}

#content .wrap dl dt h4 {
	font-size: var(--Size_10);
}

#content .wrap dl dt h4 span {
	padding: 0 0 0 var(--Size_02);
	font-size: var(--Size_08);
	color: var(--Color_1D060);
}

#content .wrap dl dd {
}

#content .wrap dl dd p {
	font-size: var(--Size_10);
}

#content .wrap dl dd p span {
	padding: 0 0 0 var(--Size_02);
	font-size: var(--Size_08);
	color: var(--Color_1D060);
}








/* ーーーーーーーーーーーーーーーーーーーー
	ご利用案内
	ナビ
ーーーーーーーーーーーーーーーーーーーー */

#content #topnews {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	gap: var(--Size_02);
	margin: 0;
}

#content #topnews li {
	display: flex;
	gap: var(--Size_06);
	padding: var(--Size_06) 0;
	border-bottom: 1px var(--Color_1D020) solid;
}

#content #topnews li:last-child {
	border-bottom: 0px var(--Color_1D000) solid;
}

#content #topnews li em {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--Size_02) var(--Size_06);
	font-size: var(--Size_08);
	color: var(--Color_FF100);
	line-height: 1;
	background: var(--Color_1D040);
	border-radius: var(--Border-radius_S);
}















/* ーーーーーーーーーーーーーーーーーーーー
	ご利用案内
	トップ用リスト
ーーーーーーーーーーーーーーーーーーーー */

#content.guide .wrap dl {
	display: flex;
	flex-direction: var(--Flex-direction_CRRRRR);
	justify-content: space-between;
	gap: var(--Size_10);
	padding: 0;
	border-bottom: none;
}

#content.guide .wrap dl dt {
	flex-basis: var(--Image_Dd_flex-basis);
}

#content.guide .wrap dl dd {
	flex: 1;
}

#content.guide .wrap dl img {
	width: 100%;
}








/* ーーーーーーーーーーーーーーーーーーーー
	ご利用案内
	設備用リスト
ーーーーーーーーーーーーーーーーーーーー */

#content.facility .wrap dl {
	display: flex;
	flex-direction: var(--Flex-direction_CRRRRR);
	justify-content: space-between;
	gap: var(--Size_10);
	padding: 0;
	border-bottom: none;
}

#content.facility .wrap dl dt {
	flex: 1;
}

#content.facility .wrap dl dd {
	flex-basis: var(--Image_Dd_flex-basis);
}

#content.facility .wrap dl img {
	width: 100%;
}








/* ーーーーーーーーーーーーーーーーーーーー
	ご利用案内
	マナー用リスト
ーーーーーーーーーーーーーーーーーーーー */

#content.manner .wrap dl {
	display: flex;
	flex-direction: var(--Flex-direction_CRRRRR);
	justify-content: space-between;
	gap: var(--Size_10);
	margin: var(--Size_10) 0 0;
	padding: 0;
	border-bottom: none;
}

#content.manner .wrap dl dt {
	flex: 1;
}

#content.manner .wrap dl dt h4 {
	margin: 0 0 var(--Size_04);
	padding: 0 0 var(--Size_04);
	color: var(--Color_C100);
	font-size: var(--Size_12);
	border-bottom: 1px var(--Color_C040) solid;
}

#content.manner .wrap dl dd {
	flex-basis: var(--Image_Dd_flex-basis);
}

#content.manner .wrap dl img {
	width: 100%;
}








/* ーーーーーーーーーーーーーーーーーーーー
	よくある質問
	リスト
ーーーーーーーーーーーーーーーーーーーー */

#content.question .wrap dl {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--Size_04);
	padding: var(--Size_04) 0;
	border-bottom: 1px var(--Color_1D020) solid;
}

#content.question .wrap dl:last-child {
	border-bottom: 1px var(--Color_1D000) solid;
}

#content.question .wrap dl dt {
	display: flex;
	align-items: center;
	gap: var(--Size_04);
	padding: var(--Size_06) 0 0;
}

#content.question .wrap dl dt:before {
	content: 'Q';
	padding: var(--Size_01) var(--Size_06);
	font-size: var(--Size_10);
	color: var(--Color_A100);
	font-weight: 600;
	line-height: 1;
	background: var(--Color_A020);
	border-radius: var(--Border-radius_L);
}

#content.question .wrap dl dt h4 {
	display: flex;
	font-size: var(--Size_10);
	color: var(--Color_A100);
	font-weight: 600;
	line-height: 1;
}

#content.question .wrap dl dd {
	display: flex;
	align-items: flex-start;
	gap: var(--Size_04);
	padding: var(--Size_06) 0 0;
	font-size: var(--Size_10);
}

#content.question .wrap dl dd:before {
	content: 'A';
	padding: var(--Size_01) var(--Size_06);
	font-size: var(--Size_10);
	color: var(--Color_C100);
	font-weight: 600;
	line-height: 1;
	background: var(--Color_C020);
	border-radius: var(--Border-radius_L);
}









/* ーーーーーーーーーーーーーーーーーーーー
	ご利用案内
	カレンダー
ーーーーーーーーーーーーーーーーーーーー */

#content.calendar iframe.pc {
	display: var(--IframePc_display);
}

#content.calendar iframe.sp {
	display: var(--IframeSp_display);
}








/* ーーーーーーーーーーーーーーーーーーーー
	交通のご案内
ーーーーーーーーーーーーーーーーーーーー */

#content.access .wrap iframe {
	margin: var(--Size_20) 0 0;
	width: 100%;
	border-radius: var(--Border-radius_S);
	aspect-ratio: 4 / 3;
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	キャプション
ーーーーーーーーーーーーーーーーーーーー */

.caption {
	display: flex;
	flex-wrap: wrap;
	gap: var(--Size_04);
	margin: var(--Size_08) 0;
}

dt .caption {
	display: flex;
	flex-wrap: wrap;
	gap: var(--Size_04);
	margin: 0 0 var(--Size_08);
}

.caption em {
	padding: var(--Size_04) var(--Size_08);
	font-size: var(--Size_08);
	font-weight: 600;
	line-height: 1;
	background: var(--Color_A020);
	border-radius: var(--Border-radius_S);
}








/* ーーーーーーーーーーーーーーーーーーーー
	ご利用案内
	ナビ
ーーーーーーーーーーーーーーーーーーーー */

#content #navi {
	display: flex;
	flex-wrap: wrap;
	gap: var(--Guide_Navi_gap);
	margin: 0 0 var(--Size_20);
}

#content #navi li {
	flex-basis: var(--Guide_Navi_Li_flex-basis);
	padding: 0;
}

#content #navi li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--Size_04);
	font-size: var(--Size_08);
	color: #FFF;
	line-height: 1;
	background: linear-gradient(var(--Color_B100), var(--Color_A100));
	border-radius: var(--Border-radius_L);
}

#content #navi li a.now {
	background: linear-gradient(var(--Color_D100), var(--Color_C100));
}

#content #navi li a:hover {
	background: linear-gradient(var(--Color_D100), var(--Color_C100));
}








/* ーーーーーーーーーーーーーーーーーーーー
	共通項目
	フッター
ーーーーーーーーーーーーーーーーーーーー */

footer {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: var(--Footer_padding);
}

footer address a {
	color: var(--Color_1D100);
}

footer address a:hover {
	color: var(--Color_A100);
}






