/* CSS Document */

/*
フォーム入力時に選択範囲が判り難いのでコメントアウト
	::selection {
		background: rgb(var(--base-fg));
		color: rgb(var(--base-bg));
		}
	::-moz-selection {
		background: rgb(var(--base-fg));
		color: rgb(var(--base-bg));
		}
*/





#step {
	/*display: none;*/
	margin-bottom: var(--space);
}

#step ul {
	display: grid;
	grid-gap: 2em;
	counter-reset: count;
	3
}

#step li {
	grid-row: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	grid-gap: 1em;
}

#step li:before {
	counter-increment: count;
	content: counter(count)"";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2em;
	height: 2em;
	padding-bottom: 0.2em;
	background: #fff;
	border: 2px solid currentColor;
	border-radius: 100%;
	font-size: 1.2em;
	font-weight: 700;
}

#step li:after {
	content: "";
	position: absolute;
	top: 1em;
	left: -50%;
	width: 200%;
	height: 0;
	margin-top: 2px;
	border-top: 2px solid currentColor;
	transform-origin: left center;
	z-index: -1
}

#step li:first-child:after,
#step li:last-child:after {
	transform: scaleX(0.5);
}

#step li:first-child:after {
	transform-origin: right center;
}

#step li:not([class]) {
	opacity: 0.5;
}

#step li.clear {}

#step li.clear:before {
	background: var(--theme-color);
	border-color: transparent;
	color: var(--theme-font-color);
}




.button.dim {
	background: rgb(var(--btn-dim-bg));
	color: rgb(var(--btn-dim-fg));
}

.button:where(#btnSend, .primary) {
	background: rgb(var(--btn-primary-bg));
	color: rgb(var(--btn-primary-fg));
}

.button:where(#btnModify, .dim) {
	background: rgb(var(--btn-dim-bg));
	color: rgb(var(--btn-dim-fg));
}

.buttonid:where(#lsfBtnConfirm, #discard, .danger) {
	background: rgb(var(--btn-danger-bg));
	color: rgb(var(--btn-danger-fg));
}

.button[disabled="disabled"] {
	opacity: 0.5;
	pointer-events: none;
}

































/* CSS Document */
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

:root {
	--base-color: #333;
	--base-color-rgb: 51, 51, 51;
	--wrap: min(calc(100% - 48px), 1140px);
	--wrap-fit: calc(100% - 48px);
	--wrap-min: 980px;
	--wrap-max: 1140px;
	--space: 48px;
}

@media (min-width: 992px) {
	:root {
		--space: 80px;
	}
}

[src="[url]"] {
	background: var(--theme-color-drken);
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--base-color);
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	overflow-wrap: break-word;
	line-height: 1;
}

::selection {
	background: var(--theme-color);
	color: #fff;
}

::-moz-selection {
	background: var(--theme-color);
	color: #fff;
}


a {
	color: inherit;
	word-break: break-word;
}

main {}

main a {
	color: var(--theme-color-drken);
	text-decoration: none;
}

main a:where(:hover, :focus) {
	text-decoration: underline;
}

main p {
	line-height: 1.7;
}

main p a {
	text-decoration: underline;
}

article {
	width: var(--wrap);
	margin: var(--space) auto;
}

:where(input, textarea, select) {
	accent-color: var(--theme-color);
}

:where(input, textarea, select):focus {
	border: 1px solid var(--theme-color-drken);
}

:where(input[type="radio"], input[type="checkbox"]) {}

:where(input[type="radio"], input[type="checkbox"])+label {
	line-height: 1.6;
}

:where(input[type="radio"], input[type="checkbox"])+label:before {
	color: rgba(var(--base-color-rgb), 0.2);
	transform: translateY(0.3em);
}

:where(input[type="radio"], input[type="checkbox"]):checked+label {}

:where(input[type="radio"], input[type="checkbox"]):checked+label:before {
	animation: checked 0.2s forwards;
	color: var(--theme-color-drken);
}

@keyframes checked {
	30% {
		box-shadow: 0 0 0 1em rgba(var(--theme-color-rgb), 0.5);
	}
}

#wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	min-height: 100vh;
}

#wrapper>* {
	grid-column: 1;
}

#header {
	position: sticky;
	top: 0;
	display: grid;
	grid-template-columns: auto 72px;
	height: 72px;
	padding-left: 24px;
	background: var(--theme-color);
	color: var(--theme-font-color);
	z-index: 120;
}

#siteName {
	position: relative;
	display: grid;
	justify-self: start;
	grid-template-columns: 48px auto;
	align-items: center;
	grid-gap: 0.5em;
}

#siteName h1 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1.2;
	overflow: hidden;
}

#siteName figure {
	order: -1;
	position: relative;
	width: 48px;
	height: 48px;
	border-radius: 100%;
	overflow: hidden;
}

#siteName figure>* {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: currentColor;
	object-fit: cover;
}

#siteName a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}

#navButton {
	position: relative;
	width: 72px;
	height: 72px;
	margin: 0;
	padding: 0;
	background: var(--theme-color);
	border: none;
	color: inherit;
	text-align: center;
	box-sizing: border-box;
	overflow: hidden;
	pointer-events: all;
	cursor: pointer;
}

#navButton i {
	position: absolute;
	top: calc(50% - 1px);
	left: 25%;
	width: 50%;
	height: 2px;
	background: currentColor;
	border-radius: var(--theme-corner);
	animation-duration: 0.75s;
	animation-fill-mode: forwards;
	transition: transform 0.75s;
}

#navButton i:nth-of-type(1) {
	transform: translateY(-400%);
}

#navButton i:nth-of-type(2) {}

#navButton i:nth-of-type(3) {
	transform: translateY(400%);
}

#navButton.on {}

#navButton.on i {}

#navButton.on i:nth-of-type(1) {
	animation-name: navButton-bar01_on;
}

#navButton.on i:nth-of-type(2) {
	animation-delay: 0.375s;
	animation-duration: 0.1875s;
	animation-name: navButton-bar02_on;
}

#navButton.on i:nth-of-type(3) {
	animation-name: navButton-bar03_on;
}

#navButton.off {}

#navButton.off i {}

#navButton.off i:nth-of-type(1) {
	animation-name: navButton-bar01_off;
}

#navButton.off i:nth-of-type(2) {
	animation-name: navButton-bar02_off;
}

#navButton.off i:nth-of-type(3) {
	animation-name: navButton-bar03_off;
}


@keyframes navButton-bar01_on {
	0% {
		transform: translateY(-400%);
	}

	50% {
		transform: translateY(0) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(45deg);
	}
}

@keyframes navButton-bar01_off {
	0% {
		transform: translateY(0) rotate(45deg);
	}

	50% {
		transform: translateY(0) rotate(0);
	}

	100% {
		transform: translateY(-400%);
	}
}

@keyframes navButton-bar02_on {
	0% {
		transform: scaleX(1);
	}

	100% {
		transform: scaleX(0);
	}
}

@keyframes navButton-bar02_off {
	0% {
		transform: scaleX(0);
	}

	100% {
		transform: scaleX(1);
	}
}

@keyframes navButton-bar03_on {
	0% {
		transform: translateY(400%);
	}

	50% {
		transform: translateY(0) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(-45deg);
	}
}

@keyframes navButton-bar03_off {
	0% {
		transform: translateY(0) rotate(-45deg);
	}

	50% {
		transform: translateY(0) rotate(0);
	}

	100% {
		transform: translateY(400%);
	}
}

#nav {
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 72px 24px;
	background: rgba(255, 255, 255, 0.8);
	color: var(--base-color);
	transition: transform 0.2s ease-out;
	backdrop-filter: blur(20px);
	transform: translateY(-100%);
	z-index: 110;
}

_::-webkit-full-page-media,
_:future,
:root #nav {
	background: rgba(255, 255, 255, 1);
	backdrop-filter: none;
}

.nav #nav {
	transform: translateY(0);
}

@media (min-width: 576px) {
	#nav {
		width: min(100%, 360px);
		transform: translateX(100%);
	}

	.nav #nav {
		transform: translateX(0);
	}
}

#navTool {
	display: grid;
	grid-gap: 1em;
	margin-top: 24px;
}

#navTool a {
	display: grid;
	grid-template-columns: 1em auto;
	padding: 1em 2em;
	background: var(--theme-color);
	border-radius: calc(var(--theme-corner) * 16);
	color: var(--theme-font-color);
	font-weight: 700;
	text-align: center;
}

#navTool a:before {
	content: "";
	width: 1em;
	height: 1em;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background: currentColor;
	transform: translateX(-50%);
}

#navTool a[href="/mypage/login.html"] {}

#navTool a[href="/mypage/login.html"]:before {
	-webkit-mask-image: var(--icon-login);
}

#navTool a[href="/mypage/logout.html"]:before {
	-webkit-mask-image: var(--icon-logout);
}

#navTool a[href="/mypage/index.html"] {}

#navTool a[href="/mypage/index.html"]:before {
	-webkit-mask-image: var(--icon-user);
}

#navTool a[href="/booking/index.html"] {}

#navTool a[href="/booking/index.html"]:before {
	-webkit-mask-image: var(--icon-calendar);
}

#navLink {
	display: grid;
	grid-gap: 1em;
	justify-items: center;
	margin-top: 2em;
}

#navLink a {
	display: grid;
	grid-template-columns: auto 1em;
	grid-gap: 0.5em;
	align-items: center;
	justify-content: center;
	line-height: 1.6;
}

#navLink a:after {
	content: "";
	width: 1em;
	height: 1em;
	-webkit-mask: var(--icon-popout) center no-repeat;
	-webkit-mask-size: contain;
	background: currentColor;
}

#navSns {
	display: flex;
	grid-gap: 20px;
	justify-content: center;
	margin-top: 2em;
}

#navSns a {
	display: block;
	width: 24px;
	height: 24px;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background: currentColor;
	white-space: nowrap;
	overflow: hidden;
}

#navSns a:hover {
	opacity: 0.75;
}

#nav a[href*="facebook.com"] {
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg>');
}

#nav a[href*="instagram.com"] {
	-webkit-mask-image: var(--icon-instagram);
}

#nav a[href*="twitter.com"] {
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>');
}

#nav a[href*="twitter.com"] {
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><text x="2" y="31" style="font-size:36px; font-weight:900">X</text></svg>');
}

#nav a[href*="youtube.com"] {
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>');
}

#nav a[href*="pinterest.jp"] {
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"/></svg>');
}

#nav a:where([href*="line.me"], [href*="linebiz.com"]) {
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M25.82 13.151c0.465 0 0.84 0.38 0.84 0.841 0 0.46-0.375 0.84-0.84 0.84h-2.34v1.5h2.34c0.465 0 0.84 0.377 0.84 0.84 0 0.459-0.375 0.839-0.84 0.839h-3.181c-0.46 0-0.836-0.38-0.836-0.839v-6.361c0-0.46 0.376-0.84 0.84-0.84h3.181c0.461 0 0.836 0.38 0.836 0.84 0 0.465-0.375 0.84-0.84 0.84h-2.34v1.5zM20.68 17.172c0 0.36-0.232 0.68-0.576 0.795-0.085 0.028-0.177 0.041-0.265 0.041-0.281 0-0.521-0.12-0.68-0.333l-3.257-4.423v3.92c0 0.459-0.372 0.839-0.841 0.839-0.461 0-0.835-0.38-0.835-0.839v-6.361c0-0.36 0.231-0.68 0.573-0.793 0.080-0.031 0.181-0.044 0.259-0.044 0.26 0 0.5 0.139 0.66 0.339l3.283 4.44v-3.941c0-0.46 0.376-0.84 0.84-0.84 0.46 0 0.84 0.38 0.84 0.84zM13.025 17.172c0 0.459-0.376 0.839-0.841 0.839-0.46 0-0.836-0.38-0.836-0.839v-6.361c0-0.46 0.376-0.84 0.84-0.84 0.461 0 0.837 0.38 0.837 0.84zM9.737 18.011h-3.181c-0.46 0-0.84-0.38-0.84-0.839v-6.361c0-0.46 0.38-0.84 0.84-0.84 0.464 0 0.84 0.38 0.84 0.84v5.521h2.341c0.464 0 0.839 0.377 0.839 0.84 0 0.459-0.376 0.839-0.839 0.839zM32 13.752c0-7.161-7.18-12.989-16-12.989s-16 5.828-16 12.989c0 6.415 5.693 11.789 13.38 12.811 0.521 0.109 1.231 0.344 1.411 0.787 0.16 0.401 0.105 1.021 0.051 1.44l-0.219 1.36c-0.060 0.401-0.32 1.581 1.399 0.86 1.721-0.719 9.221-5.437 12.581-9.3 2.299-2.519 3.397-5.099 3.397-7.957z"/></svg>');
}

#nav a[href*="threads.net"] {
	-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><text x="-1" y="27" style="font-size:32px; font-weight:900">@</text></svg>');
}

#main {
	padding-bottom: var(--space);
}

#footer {
	background: rgba(var(--theme-color-gray-rgb), 0.1);
}

#fNavTool {
	position: sticky;
	bottom: 0;
	display: none;
	grid-gap: 1px;
	grid-template-columns: 1fr 1px 1fr;
	width: 100%;
	background: var(--theme-color);
	color: var(--theme-font-color);
	z-index: 100;
}

#fNavTool li+li:before {
	content: "";
	width: 1px;
	background: currentColor;
	opacity: 0.5;
}

#fNavTool li {
	display: contents;
	;
}

#fNavTool a {
	display: grid;
	grid-template-columns: 1em auto;
	grid-gap: 1em;
	place-items: center;
	padding: 1em;
	color: inherit;
	font-weight: 700;
}

#fNavTool a:before {
	content: "";
	width: 1em;
	height: 1em;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background: currentColor;
}

#fNavTool a {
	display: grid;
	grid-template-columns: 1em auto;
	grid-gap: 1em;
	place-items: center;
	padding: 1em;
	color: inherit;
	font-weight: 700;
}

#fNavTool a[href="/mypage/login.html"] {}

#fNavTool a[href="/mypage/login.html"]:before {
	-webkit-mask-image: var(--icon-login);
}

#fNavTool a[href="/mypage/logout.html"] {
	display: none;
}

#fNavTool a[href="/mypage/index.html"] {}

#fNavTool a[href="/mypage/index.html"]:before {
	-webkit-mask-image: var(--icon-user);
}

#fNavTool a[href="/booking/index.html"] {}

#fNavTool a[href="/booking/index.html"]:before {
	-webkit-mask-image: var(--icon-calendar);
}

@media (max-width: 767.98px) {
	#fNavTool {
		display: grid;
	}
}


#copyright {
	display: grid;
	grid-template-columns: auto var(--wrap) auto;
	grid-gap: 0.5em 0;
	padding: calc(var(--space) * 0.5) 0;
}

#copyright>* {
	justify-self: center;
	grid-column: 2;
}

#copyright p {
	font-size: 12px;
}

#copyright p a {
	font-weight: 700;
}

#copyright p+p {
	font-size: 10px;
}

#pagenation {
	width: var(--wrap);
	margin: 0 auto;
}

#pagenation :where(ul, ol) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	grid-gap: 1em;
	list-style: none;
}

#pagenation a {
	display: grid;
	place-items: center;
	text-decoration: none;
}

#pagenation a:not([rel]) {
	width: 3em;
	height: 3em;
	background: rgba(var(--theme-color-tint-rgb), 0.1);
	border-radius: calc(var(--theme-corner) * 16);
}

#pagenation a:not([rel]).lsc-current-page {
	background: var(--theme-color);
	color: var(--theme-font-color);
	font-weight: 700;
	pointer-events: none;
}

#pagenation a[rel] {
	grid-template-columns: auto auto;
	grid-gap: 0.25em;
}

#pagenation a[rel="list"] {
	height: 3em;
	padding: 0 1.5em;
	background: rgba(var(--theme-color-gray-rgb), 0.1);
	border-radius: calc(var(--theme-corner) * 16);
}

#pagenation a[rel="prev"]:before,
#pagenation a[rel="next"]:after {
	content: "";
	width: 1em;
	height: 1em;
	-webkit-mask: var(--icon-angle-right) center no-repeat;
	-webkit-mask-size: contain;
	background: currentColor;
}

#pagenation a[rel="prev"] {
	margin-right: 0.5em;
}

#pagenation a[rel="prev"]:before {
	transform: scale(-1, 1);
}

#pagenation a[rel="next"] {
	margin-left: 0.5em;
}

#globalLoading {
	position: fixed;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(1px);
	z-index: 1900;
}

#globalLoading.lscNone {
	display: none;
}

#globalLoading .loading {}

#globalLoading .loading:before {
	width: min(25vw, 200px);
	height: min(25vw, 200px);
}


/* class */
.anchor {
	scroll-margin: 4em;
}

.title {
	font-weight: 900;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.huge {
	font-size: 24px;
}

@media (min-width: 992px) {
	.huge {
		font-size: 36px;
	}
}

.large {
	font-size: 18px;
}

@media (min-width: 992px) {
	.large {
		font-size: 24px;
	}
}

.medium {
	font-size: 16px;
}

.buttonSet {
	display: grid;
	grid-gap: 1em 24px;
}

@media (min-width: 768px) {
	.buttonSet {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
}

.button {
	display: grid;
	align-items: center;
	padding: 0.8em 1.5em;
	background: var(--theme-color);
	border-color: transparent;
	border-radius: var(--theme-corner);
	color: var(--theme-font-color);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.button:has(a.button) {
	padding: 0;
	background: none;
}

.button[data-icon] {
	grid-gap: 1em;
}

.button[data-icon]:before {
	transform: translateX(-25%);
}

.button.primary {
	background: var(--theme-color-variable);
	color: #fff;
}

.button.danger {
	background: var(--theme-color-danger);
	color: #fff;
}

.button.cancel {
	background: #fff;
	border-color: currentColor;
	color: var(--base-color);
}

.errorText:not(.lscNone) {
	/* display: grid; spanやa が改行されるためコメントアウト	*/
	justify-content: center;
	padding: calc(var(--space) * 0.25);
	border-radius: var(--theme-corner);
	background: rgba(var(--theme-color-danger-rgb), 0.1);
	color: var(--theme-color-danger);
	font-weight: 700;
	margin-bottom: 2em;
	line-height: 1.75em;
}

.errorText p {
	line-height: 1.75em;
}

.list {
	display: grid;
	grid-gap: 0.5em;
	line-height: 1.7;
}

.list.point {}

.list.point li {
	position: relative;
	padding-left: 1.5em;
}

.list.point li:before {
	content: "";
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 1em;
	height: 1em;
	background: currentColor;
	border-radius: 100%;
	transform: scale(0.5);
	opacity: 0.5;
}

.list.check li {
	position: relative;
	padding-left: 1.5em;
}

.list.check li:before,
.list.check li:after {
	content: "";
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 1em;
	height: 1em;
	transform-origin: center center;
}

.list.check li:before {
	background: var(--theme-color);
	border-radius: 100%;
	transform: scale(1.2);
}

.list.check li:after {
	content: "";
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 1em;
	height: 1em;
	-webkit-mask: var(--icon-check) center no-repeat;
	-webkit-mask-size: contain;
	background: var(--theme-font-color);
	transform: scale(0.8);
}

.entry {
	display: flex;
	flex-direction: column;
	grid-gap: 0.5em;
	line-height: 1.6;
}

.entry dt {
	font-weight: 700;
}

.entry dt.required {}

.entry dt.required:after {
	content: "*";
	color: var(--theme-color-danger);
}

.entry dd {
	display: grid;
	grid-gap: 0.5em 1em;
}

.entry dd;

where(p, ul, li) {
	display: none;
}

.entry dd+dd {
	padding: 0;
	border: none;
}

.entry ul {
	display: flex;
	flex-wrap: wrap;
	grid-gap: 0.5em 1em;
}

@media (max-width: 575.98px) {
	.entry dd+dt {
		margin-top: 0.5em;
	}
}

@media (min-width: 576px) {
	.entry {
		display: grid;
		grid-template-columns: 10em auto;
		grid-gap: 1em;
		align-items: center;
	}

	.entry dd {
		grid-column: 2;
	}

	.entry dd:has(input[type="hidden"]) {
		padding: 0.25em 0;
	}

	.entry dd+dd {
		margin-top: -0.5em;
	}
}

.table {
	display: flex;
	flex-direction: column;
	grid-gap: 1px;
	border-radius: var(--theme-corner);
	overflow: hidden;
}

.table :where(dt, dd) {
	padding: 0.75em;
	line-height: 1.6;
}

.table dt {
	background: var(--theme-color-tint);
	font-weight: 700;
}

.table dd {
	background: rgba(var(--theme-color-tint-rgb), 0.1);
}

@media (min-width: 576px) {
	.table {
		display: grid;
		grid-template-columns: 10em auto;
	}
}

.modal {
	position: fixed;
	display: grid;
	place-items: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.75);
	transition: opacity 0.2s ease-out;
	opacity: 0;
	z-index: 1000;
}

.modal:not(.open) {
	opacity: 0;
	pointer-events: none;
}

.modal.open {
	opacity: 1;
	pointer-events: all;
}

.modal .modalWrapper {
	display: grid;
	width: min(calc(100vw - 20px), var(--wrap-min));
}

.modal .modalInner {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	grid-gap: 2em;
	padding: calc(var(--space) / 2);
	background: #fff;
	border-radius: var(--theme-corner);
	max-height: calc(100vh - 20px);
	overflow-y: auto;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.modal .modalInner .title {
	font-size: 1.25em;
	line-height: 2em;
}

.modal .modalInner .msg {
	line-height: 1.75em;
}

.modal .modalClose {
	grid-column: 1;
	grid-row: 1;
	justify-self: end;
	align-self: start;
	width: 1.5em;
	height: 1.5em;
	margin: 0.25em;
	padding: 0;
	-webkit-mask: var(--icon-x) center no-repeat;
	-webkit-mask-size: contain;
	background: var(--base-color);
	cursor: pointer;
	overflow: hidden;
}

.programList {
	display: grid;
	grid-gap: 2em;
}

.programList dl {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	grid-gap: 0.5em 1.5em;
	padding: calc(var(--space) * 0.25);
	background: rgba(255, 255, 255, 0.75);
	border-radius: var(--theme-corner);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	line-height: 1.4;
	overflow: hidden;
}

.programList dl:before,
.programList [data-bind="text:bkgAttrString"] {
	position: absolute;
	top: 2em;
	right: 2em;
	display: grid;
	place-items: center;
	width: 10em;
	height: 2em;
	background: var(--theme-color);
	color: var(--theme-font-color);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.05em;
	transform: translate(50%, -50%) rotate(45deg);
	z-index: 1;
}

@media (max-width: 575.98px) {
	.programList dl {
		padding-bottom: 1.5em;
	}
}

@media (min-width: 576px) {
	.programList dl {
		padding-bottom: 2em;
	}
}

.programList dt {
	width: calc(100% - 5em);
	margin: 0 0 0.25em -0.5em;
	font-weight: 900;
	font-size: 18px;
	letter-spacing: 0.05em;
}

.programList dd {
	font-feature-settings: "palt";
}

.programList dd:nth-of-type(1) {
	order: -1;
	align-self: flex-start;
	display: grid;
	place-items: center;
	width: 4em;
	height: 1.8em;
	background: var(--theme-color-tint);
	border-radius: 1em;
	font-size: 14px;
	font-weight: 900;
	transform: translateY(0.1em);
}

.programList dd[data-type] {
	display: grid;
	grid-template-columns: auto auto auto;
	align-items: start;
	justify-content: start;
	grid-gap: 0.5em;
	font-weight: 700;
}

.programList dd[data-type]:before,
.programList dd[data-type]:after {
	order: -1;
	content: attr(data-type)" : ";
	font-weight: normal;
	font-size: 14px;
	transform: translateY(10%);
}

.programList dd[data-type]:before {
	content: attr(data-type);
}

.programList dd[data-type]:after {
	content: ":";
}

.programList dd[data-type="日時"] {
	width: 100%;
}

.programList dd:last-child {
	width: 100%;
	margin-top: 0.25em;
}

.programList ul {
	display: flex;
	grid-gap: 0.5em 1em;
}

.programList li {
	display: grid;
	grid-template-columns: auto auto;
	grid-gap: 0.25em;
	align-items: center;
	font-size: 12px;
	line-height: 1;
}

.programList progress {
	-webkit-appearance: none;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 10px;
	background-color: rgba(var(--theme-color-gray-rgb), 0.1);
	overflow: hidden;
}

.programList a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.programList [data-bind="text:bkgAttrString"] {
	background: var(--theme-color-variable);
	color: #fff;
}

.programList .full {}

.programList .full:before {
	content: "満席";
	background: red;
	color: #fff;
}

.programList .full ::-webkit-progress-value {
	background: red;
}

.programList .full ::-moz-progress-bar {
	background: red;
}

.programList .myBkg {
	pointer-events: none;
}

.programList .myBkg:before {
	content: "予約済み";
	background: var(--theme-color);
	color: var(--theme-font-color);
	letter-spacing: normal;
}

.programList .myBkg ::-webkit-progress-value {
	background: var(--theme-color);
}

.programList .myBkg ::-moz-progress-bar {
	background: var(--theme-color);
}

.programList .cancel {
	pointer-events: none;
}

.programList .cancel:before {
	content: "開催中止";
	background: var(--base-color);
	color: #fff;
	letter-spacing: normal;
}

.programList .cancel ::-webkit-progress-value {
	background: transparent;
}

.programList .cancel ::-moz-progress-bar {
	background: transparent;
}

.programList ::-webkit-progress-bar {
	background-color: rgba(var(--theme-color-gray-rgb), 0.1);
}

.programList ::-webkit-progress-value {
	background-color: var(--theme-color);
}

.programList ::-moz-progress-bar {
	background-color: var(--theme-color);
}

.topicsList {
	display: grid;
}

.topicsList:not(:last-child) {
	margin-bottom: 2em;
}

.topicsList dl {
	position: relative;
	padding: 24px;
	border-bottom: 1px solid currentColor;
}

.topicsList dl {
	position: relative;
	display: grid;
	grid-gap: 8px 24px;
	padding: 24px 0;
	border-bottom: 1px solid currentColor;
}

.topicsList dt {
	font-weight: 700;
	line-height: 1.7;
}

.topicsList dt+dd {
	order: -1;
}

.topicsList dd {}

.topicsList dd:nth-child(3):not(:last-child) {
	font-size: 14px;
	line-height: 1.7;
}

.topicsList dd:nth-child(n+3):last-child {
	display: contents;
}

.topicsList dd time {
	font-size: 12px;
	opacity: 0.75;
}

.topicsList dd a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	overflow: hidden;
}

.topicsList p {
	padding: 10% 0;
	text-align: center;
}

.loading,
.loadingBack {
	position: relative;
}

.loading:before,
.loadingBack:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(25%, 200px);
	height: min(25%, 200px);
	font-weight: 900;
	-webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"/></svg>') center no-repeat;
	-webkit-mask-size: contain;
	background-image: conic-gradient(rgba(var(--theme-color-rgb), 0.5) 0deg 270deg, rgba(200, 200, 200, 0.5) 270deg);
	border-radius: 100%;
	transform: translate(-50%, -50%);
	animation: loadingSpinner 0.75s infinite linear;
}

.loadingBack {}

.loadingBack:before {
	animation-direction: reverse;
}

@keyframes loadingSpinner {
	from {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}




/* icon */
.lscFcIcon {
	font-style: normal;
}

.lscFcIcon svg {
	width: auto;
	height: 1em;
}

.lscFcIcon.text {
	display: inline-grid;
	place-items: center;
	padding: 0.3em;
	border-radius: 2px;
	font-size: 10px;
	line-height: 1;
}


[data-icon] {
	display: grid;
	grid-template-columns: 1em auto;
	align-items: center;
}

[data-icon]:not(.button) {
	display: inline-grid;
	grid-gap: 0.5em;
	grid-template-columns: auto 1em;
	justify-content: start;
}

[data-icon]:not(.button):before {
	order: 1;
	opacity: 0.75;
}

[data-icon]:before {
	content: "";
	width: 1em;
	height: 1em;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background: currentColor;
}

[data-icon="outlink"]:before {
	-webkit-mask-image: var(--icon-popout);
}

[data-icon="calendar"]:before {
	-webkit-mask-image: var(--icon-calendar);
}

[data-icon="user"]:before {
	-webkit-mask-image: var(--icon-user);
}

[data-icon="login"]:before {
	-webkit-mask-image: var(--icon-login);
}

[data-icon="logout"]:before {
	-webkit-mask-image: var(--icon-logout);
}

:root {
	--icon-angle-right: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg>');
	--icon-check: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>');
	--icon-popout: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
	--icon-user: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H398.7c-8.9-63.3-63.3-112-129-112H178.3c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z"/></svg>');
	--icon-login: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>');
	--icon-logout: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z"/></svg>');
	--icon-calendar: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192z"/></svg>');
	--icon-mail: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"/></svg>');
	--icon-unlock: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 64c-44.2 0-80 35.8-80 80v48H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64"/></svg>');
	--icon-x: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>');
	--icon-instagram: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg>');
}