@charset "utf-8";

/**
 * About MediaQueries
 * default style
 * @media (min-width: 768px) {}
 * @media (max-width: 767.98px) {}
 * @media (max-width: 479.98px) {}
 * @media (max-width: 359.98px) {}
 * -------------------------------------------------- */
.l-nav,
.l-modal { z-index: 5; }
.l-header { z-index: 4; }
.l-conversion { z-index: 3; }
.l-main { z-index: 2; }
.l-footer { z-index: 1; }


/**
 * Header
 * -------------------------------------------------- */
body {
	--modalButtonSize: min(var(--cw) * 43 / var(--breakpoint), 43px);
	--headerHeight: 64px;
}
@media (max-width: 767.98px) {
	body {
		--headerHeight: calc(var(--cw) * 48 / 375);
	}
}
.l-header {
	--sidegap: min(var(--cw) * 16 / 375, 48px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: min(var(--cw) * 16 / var(--breakpoint), 16px);
	position: fixed;
	inset: 0 0 auto;
	height: var(--headerHeight);
	padding: 0 var(--sidegap);
	pointer-events: none;
}
.l-header > * {
	pointer-events: auto;
}
.l-header .logo {
	align-self: start;
	position: relative;
	top: 18px;
}
.l-header .logo img {
	width: min(var(--cw) * 100 / var(--breakpoint), 100px);
}
.l-header .insta {
	margin-left: auto;
	padding: min(var(--cw) * 8 / var(--breakpoint), 8px);
	line-height: 0;
}
.l-header .insta img {
	width: min(var(--cw) * 28 / var(--breakpoint), 28px);
	height: auto;
}
.l-header .drawer {
	display: grid;
	align-items: center;
	justify-items: end;
	width: var(--modalButtonSize);
	height: var(--modalButtonSize);
	color: inherit;
}
@media not (hover) {
	.l-header .drawer:focus {
		outline: 0;
	}
}
@media (hover) {
	.l-header .drawer {
		cursor: pointer;
	}
}
.l-header .drawer svg {
	grid-area: 1 / 1;
	fill: none;
	stroke-width: min(var(--cw) * 2 / var(--breakpoint), 2px);
	stroke: currentcolor;
	stroke-linecap: round;
}
.l-header .drawer .bar1 {
	width: 100%;
	translate: 0 max(var(--cw) * -3 / var(--breakpoint), -3px);
}
.l-header .drawer .bar2 {
	width: 67%;
	translate: 0 min(var(--cw) * 3 / var(--breakpoint), 3px);
}
@media (min-width: 768px) {
	.l-header {
		--breakpoint: 768;
	}
}
@media (max-width: 767.98px) {
	body {
		--modalButtonSize: calc(var(--cw) * 30 / var(--breakpoint));
	}
	.l-header {
		column-gap: calc(var(--cw) * 8 / var(--breakpoint));
	}
	.l-header .logo {
		top: 11px;
		line-height: .25;
	}
	.l-header .logo img {
		width: calc(var(--cw) * 68 / var(--breakpoint));
	}
	.l-header .insta img {
		width: calc(var(--cw) * 18 / var(--breakpoint));
	}
	.l-header .drawer svg {
		stroke-width: calc(var(--cw) * 1.5 / var(--breakpoint));
	}
}


/**
 * Navigation
 * -------------------------------------------------- */
.l-nav {
	position: fixed;
	inset: 0;
}
.l-nav .nav_overlay,
.l-nav .nav_container {
	position: absolute;
	inset: 0;
}
.l-nav .nav_container {
	overscroll-behavior: contain;
	overflow-y: auto;
	width: max(var(--cw) * 306 / var(--breakpoint), 306px); /* conversion と同じ */
	height: 100%;
	padding-top: var(--headerHeight);
	padding-bottom: min(var(--cw) * 24 / 375, 48px);
	padding-inline: var(--sidegap);
	color: white;
	font-family: var(--fontEn);
}
.l-nav .nav_close {
	display: grid;
	place-items: center;
	z-index: 1;
	position: absolute;
	top: min(var(--cw) * 16 / var(--breakpoint), 16px);
	right: min(var(--cw) * 16 / var(--breakpoint), 16px);
	width: var(--modalButtonSize);
	height: var(--modalButtonSize);
	color: white;
}
@media not (hover) {
	.l-nav .nav_close:focus {
		outline: 0;
	}
}
.l-nav .nav_close svg {
	grid-area: 1 / 1;
	width: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
}
.l-nav .nav_close svg:first-child {
	rotate: 45deg;
}
.l-nav .nav_close svg:last-child {
	rotate: -45deg;
}
.l-nav .nav_container .title {
	font-weight: 400;
	font-size: 2.5rem;
	transform-origin: left bottom;
	scale: .9 1;
	letter-spacing: .02em;
}
.l-nav .nav_container .list {
	display: grid;
	justify-items: start;
	margin-top: 1em;
	font-weight: 500;
	font-size: .9375rem;
	letter-spacing: .05em;
}
.l-nav .nav_container .list .and {
	width: .75em;
	height: auto;
	margin-inline: .1em;
	fill: currentcolor;
}
.l-nav .nav_container .list a {
	display: grid;
	width: fit-content;
	padding: .25em .5em;
}
.l-nav .nav_container .insta {
	margin-top: 1em;
}
.l-nav .nav_container .insta a {
	padding-block: .5em;
}
.l-nav .nav_container .insta svg {
	width: 1.4em;
	height: auto;
	fill: currentcolor;
}
.l-nav .nav_container .pic {
	position: absolute;
	bottom: var(--sidegap);
	right: var(--sidegap);
}
.l-nav .nav_container .pic .txt {
	--tw: 46;
	top: -25%;
	right: 0;
	rotate: 14deg;
	fill: currentcolor;
}
/* motion */
.l-nav:not(.is-active) {
	pointer-events: none;
	visibility: hidden;
}
.l-nav:not(.is-open) .nav_overlay,
.l-nav:not(.is-open) .nav_container {
	opacity: 0;
}
.l-nav:not(.is-open) .nav_close {
	opacity: 0;
	transform: scale(.5);
}
.l-nav:not(.is-open) .nav_container .title,
.l-nav:not(.is-open) .nav_container .list li {
	opacity: 0;
	transform: translateX(24px);
}
.l-nav:not(.is-open) .nav_container .pic {
	visibility: hidden;
}
.l-nav .nav_overlay.is-anim {
	transition: opacity .2s, transform .2s var(--easeOut);
}
.l-nav:not(.is-open) .nav_overlay.is-anim {
	transition-delay: .1s;
}
.l-nav .nav_container.is-anim {
	transition: opacity .2s var(--easeOut), transform .2s var(--easeOut);
}
.l-nav .nav_close.is-anim,
.l-nav .nav_container .title.is-anim,
.l-nav .nav_container .list.is-anim li {
	transition: opacity .2s, transform .2s var(--easeOut);
}
.l-nav .nav_container .pic.is-anim {
	animation: picPopn .4s both;
	animation-delay: .4s;
}
.l-nav.is-open .nav_overlay.is-anim,
.l-nav.is-open .nav_container.is-anim,
.l-nav.is-open .nav_close.is-anim,
.l-nav.is-open .nav_container .title.is-anim,
.l-nav.is-open .nav_container .list.is-anim li {
	transition-duration: .4s;
}
.l-nav.is-open .nav_container .list.is-anim li:nth-child(1) { transition-delay: .04s; }
.l-nav.is-open .nav_container .list.is-anim li:nth-child(2) { transition-delay: .08s; }
.l-nav.is-open .nav_container .list.is-anim li:nth-child(3) { transition-delay: .12s; }
.l-nav.is-open .nav_container .list.is-anim li:nth-child(4) { transition-delay: .16s; }
.l-nav.is-open .nav_container .list.is-anim li:nth-child(5) { transition-delay: .2s; }
.l-nav.is-open .nav_container .list.is-anim li:nth-child(6) { transition-delay: .24s; }
.l-nav.is-open .nav_container .list.is-anim li:nth-child(7) { transition-delay: .28s; }
.l-nav.is-open .nav_container .list.is-anim li:nth-child(8) { transition-delay: .32s; }
.l-nav.is-open .nav_close.is-anim {
	transition-delay: .3s;
	transition-timing-function: ease, var(--easeBack);
}
@media (hover) {
	.l-nav .nav_close {
		cursor: pointer;
	}
	.l-nav .nav_container .list a {
		position: relative;
	}
	.l-nav .nav_container .list a::before {
		content: "";
		position: absolute;
		inset: auto .25em 0;
		height: 6px;
		background: linear-gradient(currentcolor, currentcolor) right bottom / 0 100% no-repeat;
		mask: url(../img/underline_mask.svg) center / 100% 100% no-repeat;
		transition: background-size .4s var(--easeOut);
	}
	.l-nav .nav_container .list a:hover::before {
		background-position: left bottom;
		background-size: 100% 100%;
		transition-duration: .2s;
	}
	.l-nav .nav_container .insta a::before {
		display: none;
	}
}
@media not (hover) {
	.l-nav .nav_container .list .underline {
		visibility: hidden;
	}
}
@media (min-width: 768px) {
	.l-nav:not(.is-open) .nav_container {
		transform: translateX(24px);
	}
	.l-nav .nav_overlay {
		background: #0002;
	}
	.l-nav .nav_container {
		left: auto;
		background: var(--themecolor);
	}
	.l-nav .nav_container .pic img {
		width: 88px;
	}
}
@media (max-width: 767.98px) {
	.l-nav .nav_close {
		top: calc(var(--cw) * 16 / var(--breakpoint));
		right: calc(var(--cw) * 16 / var(--breakpoint));
	}
	.l-nav .nav_overlay {
		background: var(--themecolor);
	}
	.l-nav .nav_container {
		pointer-events: none;
		width: 100%;
		padding-inline: calc(var(--sidegap) * 2);
	}
	.l-nav .nav_container .title,
	.l-nav .nav_container .list {
		pointer-events: auto;
		width: fit-content;
	}
	.l-nav .nav_container .title {
		font-size: calc(var(--cw) * 43 / var(--breakpoint));
	}
	.l-nav .nav_container .list {
		font-size: calc(var(--cw) * 17 / var(--breakpoint));
	}
	.l-nav:not(.is-open) .nav_overlay {
		transform: scale(.9, .92);
	}
	.l-nav:not(.is-open) .nav_container .title,
	.l-nav:not(.is-open) .nav_container .list li {
		transform: translateY(-24px);
	}
	.l-nav:not(.is-open) .nav_overlay.is-anim {
		transition-delay: .1s;
		transition-duration: .4s;
	}
	.l-nav:not(.is-open) .nav_container.is-anim,
	.l-nav:not(.is-open) .nav_container .title.is-anim,
	.l-nav:not(.is-open) .nav_container .list.is-anim li {
		transition-delay: 0s, .2s;
	}
	.l-nav.is-open .nav_container .title.is-anim { transition-delay: .1s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(1) { transition-delay: .14s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(2) { transition-delay: .18s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(3) { transition-delay: .22s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(4) { transition-delay: .26s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(5) { transition-delay: .3s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(6) { transition-delay: .34s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(7) { transition-delay: .38s; }
	.l-nav.is-open .nav_container .list.is-anim li:nth-child(8) { transition-delay: .42s; }
	.l-nav.is-open .nav_close.is-anim {
		transition-delay: .4s;
		transition-timing-function: ease, var(--easeBack);
	}
	.l-nav .nav_container .pic {
		--w: 244;
		margin-right: 8%;
	}
	.l-nav .nav_container .pic .txt {
		--tw: 98;
	}
}


/**
 * Footer
 * -------------------------------------------------- */
.l-footer {
	display: grid;
	position: relative;
	width: min(100% - var(--sidegap) * 2, 900px);
	margin: min(var(--cw) * 200 / var(--breakpoint), 200px) auto 0;
	padding-top: calc(var(--sidegap) * 1.25);
	padding-bottom: var(--sidegap);
}
.l-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	border-top: 1px solid transparent;
	border-image: linear-gradient(currentcolor, currentcolor) 1 0 0 / 1px 0 0 / 0 50vw;
}
.l-footer .pic {
	z-index: -1;
	position: absolute;
	bottom: calc(100% - 1px);
}
.l-footer .-p1 {
	--w: 182;
	left: calc(var(--breakout) + var(--sidegap));
}
.l-footer .-p2 {
	--w: 210;
	right: var(--breakout);
}
.l-footer .logo img {
	width: min(var(--cw) * 248 / var(--breakpoint), 248px);
}
.l-footer .menu {
	font-size: min(var(--cw) * 15 / var(--breakpoint), .9375rem);
}
.l-footer .menu a {
	display: block;
	padding: .5em 1em;
}
.l-footer .insta {
	align-self: end;
	padding: min(var(--cw) * 8 / var(--breakpoint), 8px);
	line-height: 0;
}
.l-footer .insta img {
	width: min(var(--cw) * 28 / var(--breakpoint), 28px);
}
.l-footer .copyright {
	font-weight: 300;
	font-size: clamp(.625rem, var(--cw) * 12 / 375, .75rem);
	line-height: 1.25;
	letter-spacing: .03em;
}
@media (min-width: 768px) {
	.l-footer {
		--breakpoint: 768;
		grid-template-columns: 1fr auto auto;
		column-gap: min(var(--cw) * 40 / var(--breakpoint), 40px);
	}
	.l-footer .logo {
		grid-area: 1 / 1;
	}
	.l-footer .menu {
		grid-area: 1 / 2;
		display: grid;
		grid-template-columns: auto auto;
		column-gap: 2em;
		margin-left: auto;
	}
	.l-footer .insta {
		grid-area: 1 / 3;
	}
	.l-footer .copyright {
		grid-column: span 3;
		margin-top: 80px;
		text-align: center;
	}
}
@media (max-width: 767.98px) {
	.l-footer {
		grid-template-columns: 1fr auto;
		margin-top: calc(var(--cw) * 120 / var(--breakpoint));
		padding-bottom: calc(var(--bannerHeight) + var(--sidegap) / 2);
	}
	.l-footer .-p1 {
		--w: 182;
		left: 0;
	}
	.l-footer .-p2 {
		--w: 210;
		right: calc(var(--sidegap) * -1);
	}
	.l-footer .logo img {
		width: calc(var(--cw) * 128 / var(--breakpoint));
	}
	.l-footer .menu {
		grid-area: 2 / span 2;
		margin-block: 1.5em;
		font-size: max(var(--cw) * 11 / var(--breakpoint), .6875rem);
	}
	.l-footer .menu a {
		padding: .25em 0;
	}
	.l-footer .insta {
		grid-area: 3 / 2;
		align-self: center;
	}
	.l-footer .insta img {
		width: calc(var(--cw) * 18 / var(--breakpoint));
	}
	.l-footer .copyright {
		grid-area: 3 / 1;
		align-self: center;
	}
}


/**
 * Banner
 * -------------------------------------------------- */
body {
	--bannerHeight: max(var(--cw) * 84 / var(--breakpoint), 84px);
}
.l-conversion {
	display: grid;
	place-items: center;
	position: fixed;
	right: 0;
	bottom: 0;
	height: var(--bannerHeight);
	color: white;
	font-weight: 600;
	font-size: max(var(--cw) * 18 / var(--breakpoint), 1.125rem);
	letter-spacing: .25em;
	background: var(--themecolor);
}
.l-conversion .text {
	display: grid;
	align-items: center;
	place-content: center;
	column-gap: .25em;
	position: relative;
	fill: currentcolor;
}
.l-conversion .t {
	grid-area: 1 / 1;
}
.l-conversion .arr {
	grid-area: 1 / 2;
	margin-top: .25em;
	width: min(var(--cw) * 25 / var(--breakpoint), 25px);
}
.l-conversion .txt {
	width: min(var(--cw) * 28 / var(--breakpoint), 28px);
	position: absolute;
	bottom: 80%;
	right: 96%;
	rotate: -30deg;
}
.l-conversion .underline {
	grid-area: 2 / 1 / 3 / 3;
	overflow: visible;
	width: 100%;
	stroke: currentcolor;
	stroke-width: 6;
	mask: url(../img/underline_mask.svg) center / 100% 100% no-repeat;
}
.l-conversion .-p1 img {
	width: min(var(--cw) * 44 / var(--breakpoint), 44px);
}
.l-conversion .-p1 .txt {
	--tw: 80;
	top: -40%;
	right: -40%;
	rotate: 8deg;
	fill: currentcolor;
}
/* motion */
.l-conversion.is-standby {
	transform: translateX(100%);
}
.l-conversion.is-anim {
	transition: transform 1.2s var(--easeOut);
	transition-delay: 1.2s;
}
@media (hover) {
	.l-conversion:not(:hover) .arr svg,
	.l-conversion:not(:hover) .txt svg {
		animation-play-state: paused;
	}
	.l-conversion .underline {
		stroke-dasharray: var(--w) var(--w);
	}
	.l-conversion.is-motion .underline {
		animation: through .8s var(--easeOut);
	}
}
@media (min-width: 768px) {
	.l-conversion {
		width: max(var(--cw) * 375 / var(--breakpoint), 375px);
		padding-right: max(var(--cw) * 80 / var(--breakpoint), 80px);
	}
	.l-conversion .-p1 {
		position: absolute;
		right: max(var(--cw) * 44 / var(--breakpoint), 44px);
		bottom: 0;
	}
	.l-conversion .-p2 { display: none; }
}
@media (max-width: 767.98px) {
	body {
		--bannerHeight: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.l-conversion {
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		width: 100%;
		font-size: calc(var(--cw) * 17 / var(--breakpoint));
	}
	.l-conversion .text {
		left: -.5em;
		width: 9em;
	}
	.l-conversion .arr {
		position: absolute;
		left: 100%;
		top: calc(50% - var(--cw) * 14 / var(--breakpoint));
	}
	.l-conversion .underline {
		grid-column: 1;
	}
	.l-conversion .-p1 {
		align-self: end;
	}
	.l-conversion .-p1 img {
		width: calc(var(--cw) * 88 / var(--breakpoint));
	}
	.l-conversion .-p1 .txt {
		--tw: 94;
	}
	.l-conversion .-p2 {
		order: -1;
		position: relative;
		top: calc(var(--cw) * -8 / var(--breakpoint));
		left: calc(var(--cw) * -16 / var(--breakpoint));
	}
	.l-conversion .-p2 img {
		width: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.l-conversion.is-standby {
		transform: translateY(100%);
	}
	.l-conversion.is-anim {
		transition-duration: .8s;
	}
}


/**
 * Modal
 * -------------------------------------------------- */
.l-modal {
	position: fixed;
	inset: 0;
}
.l-modal .modal_close {
	display: grid;
	place-items: center;
	z-index: 1;
	position: absolute;
	top: min(var(--cw) * 16 / var(--breakpoint) + 48px, 16px + 48px);
	right: max(50vw - var(--cw) * 520 / var(--breakpoint), 50vw - 520px);
	width: var(--modalButtonSize);
	height: var(--modalButtonSize);
	color: currentcolor;
}
.l-modal .modal_close svg {
	grid-area: 1 / 1;
	width: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
}
.l-modal .modal_close svg:first-child {
	rotate: 45deg;
}
.l-modal .modal_close svg:last-child {
	rotate: -45deg;
}
.l-modal .modal_overlay {
	position: absolute;
	inset: 0;
	background: #0002;
}
.l-modal .modal_container {
	overscroll-behavior: contain;
	overflow-y: auto;
	position: absolute;
	inset: 0;
	background: #ffffff;
}
.l-modal .modal_container {
	overflow: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--themecolor) whitesmoke;
}
.l-modal .modal_container::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
.l-modal .modal_container::-webkit-scrollbar-thumb {
	border-radius: 6px;
	background: var(--themecolor);
}
.l-modal .modal_container::-webkit-scrollbar-track {
	border-radius: 6px;
	background: whitesmoke;
}
.l-modal .modal_container::-webkit-scrollbar-button {
	display: none;
}
.l-modal .pic {
	position: absolute;
}
.l-modal[data-modal-id="reservation-contents"] {
	color: white;
}
.l-modal[data-modal-id="reservation-contents"] .modal_container {
	background: var(--themecolor);
}
.l-modal[data-modal-id="reservation-contents"] .modal_container {
	scrollbar-color: whitesmoke var(--themecolor);
}
.l-modal[data-modal-id="reservation-contents"] .modal_container::-webkit-scrollbar-thumb {
	background: whitesmoke;
}
.l-modal[data-modal-id="reservation-contents"] .modal_container::-webkit-scrollbar-track {
	background: var(--themecolor);
}
/* motion */
.l-modal:not(.is-active),
.l-modal .modal_section:not(.is-active) {
	visibility: hidden;
	pointer-events: none;
}
.l-modal .modal_section:not(.is-active) {
	display: none;
}
.l-modal:not(.is-open) .modal_close,
.l-modal:not(.is-open) .modal_overlay,
.l-modal:not(.is-open) .modal_container {
	opacity: 0;
}
.l-modal:not(.is-open) .modal_close {
	transform: scale(.6);
}
.l-modal:not(.is-open) .modal_container {
	transform: scale(.96);
}
.l-modal .modal_overlay.is-anim {
	transition: opacity .2s;
}
.l-modal .modal_close.is-anim,
.l-modal .modal_container.is-anim {
	transition: opacity .2s, transform .2s var(--easeOut);
}
.l-modal .modal_close.is-anim {
	transition-timing-function: var(--easeBack);
}
.l-modal.is-open .modal_close.is-anim,
.l-modal.is-open .modal_overlay.is-anim,
.l-modal.is-open .modal_container.is-anim {
	transition-duration: .4s;
}
.l-modal.is-open .modal_container.is-anim,
.l-modal:not(.is-open) .modal_overlay.is-anim {
	transition-delay: .2s;
}
.l-modal.is-open .modal_close.is-anim {
	transition-delay: .4s;
}
@media (hover) {
	.l-modal .modal_close {
		cursor: pointer;
	}
}
@media (min-width: 768px) {
	.l-modal {
		display: grid;
		place-items: center;
	}
	.l-modal .modal_container {
		width: min(100% - var(--sidegap), 1200px - var(--sidegap));
		height: calc(100% - var(--sidegap));
		margin: auto;
		border: 1px solid #ebd8bfe6;
	}
	.l-modal[data-modal-id="reservation-contents"] .modal_container {
		border-color: var(--themecolor);
	}
}
@media (max-width: 767.98px) {
	.l-modal .modal_close {
		top: calc(var(--cw) * 24 / var(--breakpoint));
		right: calc(var(--cw) * 24 / var(--breakpoint));
	}
	.l-modal .modal_container {
		width: 100%;
		height: 100svh;
	}
	.l-modal .pic .txt {
		width: calc(var(--cw) * var(--tw) * 1.3 / var(--breakpoint));
	}
}

/* Section */
.modal_section {
	--sectionSide: min(var(--cw) * 80 / var(--breakpoint), 80px);
	position: relative;
	padding: var(--sectionSide);
	padding-top: min(var(--cw) * 48 / var(--breakpoint), 48px);
	padding-bottom: min(var(--cw) * 144 / var(--breakpoint), 144px);
}
.modal_section > .title {
	display: grid;
	font-weight: normal;
	font-size: min(var(--cw) * 20 / var(--breakpoint), 1.25rem);
	letter-spacing: .22em;
}
.modal_section > .title .main {
	font-weight: 700;
	font-size: 150%;
}
@media (min-width: 768px) {
	.modal_section > .title .sub {
		margin-left: max(var(--cw) * -24 / var(--breakpoint), -1.5rem);
	}
}
@media (max-width: 767.98px) {
	.modal_section > .title {
		font-size: calc(var(--cw) * 18 / var(--breakpoint));
	}
	.modal_section > .title .main {
		margin-left: calc(var(--cw) * 16 / var(--breakpoint));
	}
	.modal_section {
		padding-top: var(--headerHeight);
		padding-inline: calc(var(--cw) * 24 / var(--breakpoint));
		padding-bottom: calc(var(--cw) * 144 / var(--breakpoint));
	}
}

/* :::::: 店舗アクセス :::::: */
.p-access-contents > .title .sub .txt {
	width: min(var(--cw) * 108 / var(--breakpoint), 108px);
}
.p-access-contents {
	padding-bottom: 96px;
}
.p-access-contents > .-p1 {
	--w: 150;
	top: min(var(--cw) * 80 / var(--breakpoint), 80px);
	right: 18%;
}
.p-access-contents > .-p1 .txt {
	--tw: 44;
	top: -16%;
	right: -4%;
	rotate: 15deg;
}
.p-access-contents > .-p2 {
	--w: 90;
	bottom: min(var(--cw) * 64 / var(--breakpoint), 64px);
	left: 12%;
}
.p-access-contents > .-p3 {
	--w: 109;
	bottom: min(var(--cw) * 24 / var(--breakpoint), 24px);
	right: 12%;
}
.p-access-contents > .-p3 .txt {
	--tw: 32;
	bottom: 96%;
	right: 0;
}
@media (max-width: 767.98px) {
	.p-access-contents > .title .sub .txt {
		width: calc(var(--cw) * 68 / var(--breakpoint));
	}
	.p-access-contents > .-p1 {
		--w: 187;
		top: calc(var(--cw) * 200 / var(--breakpoint));
		right: 10%;
	}
	.p-access-contents > .-p2 {
		--w: 132;
		bottom: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.p-access-contents > .-p3 {
		--w: 157;
		bottom: calc(var(--cw) * 24 / var(--breakpoint));
	}
}
.access_lineup .item {
	display: grid;
}
.access_lineup .data {
	margin-top: .6em;
	font-size: min(var(--cw) * 16 / var(--breakpoint), 1rem);
	letter-spacing: .1em;
}
.access_lineup .data .name {
	font-weight: 400;
	font-size: min(var(--cw) * 25 / var(--breakpoint), 1.5625rem);
	letter-spacing: .1em;
}
.access_lineup .data .name img {
	position: relative;
	top: -.1em;
	width: auto;
	height: 1em;
	margin-right: .25em;
}
.access_lineup .data .tel {
	margin-top: .6em;
}
.access_lineup .data .tel .ico {
	position: relative;
	margin: -.25em .25em 0 0;
}
.access_lineup .data .address {
	margin-top: .3em;
}
.access_lineup .data .address .zip {
	font-size: 87.5%;
}
.access_lineup .number {
	color: #ebd8bf88;
	font: 400 min(var(--cw) * 185 / var(--breakpoint), 11.5625rem) / .9 var(--fontEn);
}
.access_lineup .photo {
	align-self: start;
	position: relative;
}
.access_lineup .photo .label {
	display: flex;
	align-items: center;
	gap: 1em;
	position: absolute;
	font: 400 min(var(--cw) * 11 / var(--breakpoint), .6875rem) / .9 var(--fontEn);
	text-transform: uppercase;
	white-space: nowrap;
	transform-origin: left bottom;
	rotate: 90deg;
}
.access_lineup .photo .label::after {
	content: "";
	display: block;
	width: 8em;
	border-top: .25px solid currentcolor;
}
.access_lineup .map {
	position: relative;
	padding-top: 24px;
}
.access_lineup .map img {
	width: min(var(--cw) * 220 / var(--breakpoint), 220px);
}
.access_lineup .map .label {
	position: absolute;
	top: 0;
	right: 2.5em;
	width: 7em;
	padding: .25em;
	color: white;
	font-size: min(var(--cw) * 14 / var(--breakpoint), .875rem);
	text-align: center;
	line-height: 1.5;
	background: var(--themecolor);
}
.access_lineup .item.-nakamachi .pic {
	--w: 64;
	bottom: 100%;
	left: 8%;
}
.access_lineup .item.-mizonoguchi .pic {
	--w: 78;
	bottom: 100%;
	right: 12%;
}
@media (min-width: 768px) {
	.access_lineup {
		margin-top: min(var(--cw) * 40 / var(--breakpoint), 40px);
	}
	.access_lineup .item {
		grid-template-columns: 5fr 4fr;
		column-gap: min(var(--cw) * 40 / var(--breakpoint), 40px);
		padding-block: min(var(--cw) * 80 / var(--breakpoint), 80px);
	}
	.access_lineup .item:not(:first-child) {
		border-top: 1px solid transparent;
		border-image: linear-gradient(#ebd8bf88, #ebd8bf88) 1 0 0 / 1px 0 0 / 1 var(--sectionSide);
	}
	.access_lineup .photo {
		grid-area: 1 / 1 / 3 / 2;
	}
	.access_lineup .photo .label {
		bottom: 100%;
		left: calc(100% + 1em);
	}
	.access_lineup .data,
	.access_lineup .number {
		grid-area: 2 / 2;
		align-self: end;
	}
	.access_lineup .number {
		justify-self: center;
	}
	.access_lineup .map {
		grid-area: 1 / 2 / 3 / 3;
		justify-self: end;
	}
}
@media (max-width: 767.98px) {
	.access_lineup {
		margin-top: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.access_lineup .title {
		font-size: calc(var(--cw) * 17 / var(--breakpoint));
	}
	.access_lineup .item:not(:first-child) {
		margin-top: calc(var(--cw) * 40 / var(--breakpoint));
	}
	.access_lineup .photo {
		grid-area: 1 / 1 / 2 / 3;
	}
	.access_lineup .photo .label {
		top: 100%;
		left: calc(100% - 1em);
		font-size: calc(var(--cw) * 10 / var(--breakpoint));
	}
	.access_lineup .map {
		grid-area: 2 / 2;
		width: calc(var(--cw) * 176 / var(--breakpoint));
		padding-right: calc(var(--cw) * 16 / var(--breakpoint));
	}
	.access_lineup .data,
	.access_lineup .number {
		grid-area: 2 / 1 / 3 / 3;
	}
	.access_lineup .data {
		padding-block: calc(var(--cw) * 48 / var(--breakpoint));
		font-size: calc(var(--cw) * 13 / var(--breakpoint));
	}
	.access_lineup .data .name {
		font-size: calc(var(--cw) * 17 / var(--breakpoint));
	}
	.access_lineup .number {
		align-self: end;
		font-size: calc(var(--cw) * 144 / var(--breakpoint));
	}
	.access_lineup .map .label {
		margin-top: -.5em;
		font-size: calc(var(--cw) * 12 / var(--breakpoint));
	}
	.access_lineup .item.-nakamachi .pic {
		--w: 81;
	}
	.access_lineup .item.-mizonoguchi .pic {
		--w: 110;
	}
}

/* :::::: 料金システム :::::: */
.p-plan-contents > .title .sub .txt {
	width: min(var(--cw) * 87 / var(--breakpoint), 87px);
}
.p-plan-contents > .-p1 {
	--w: 155;
	top: min(var(--cw) * 120 / var(--breakpoint), 120px);
	right: 12%;
}
.p-plan-contents > .-p1 .txt {
	--tw: 68;
	top: -16%;
	left: 0;
	rotate: 3deg;
}
.p-plan-contents > .-p2 {
	--w: 94;
	bottom: min(var(--cw) * 24 / var(--breakpoint), 24px);
	left: 20%;
}
.p-plan-contents > .-p3 {
	--w: 64;
	bottom: 0;
	right: 8%;
}
.p-plan-contents > .-p3 .txt {
	--w: 48;
	top: -28%;
	left: 8%;
}
.plan_lineup .item.-price .pic {
	--w: 115;
	top: min(var(--cw) * 96 / var(--breakpoint), 96px);
	right: 8%;
}
.plan_lineup .item.-price .pic .-t1 {
	--tw: 60;
	top: -10%;
	left: -18%;
	rotate: -32deg;
}
.plan_lineup .item.-price .pic .-t2 {
	--tw: 50;
	top: -35%;
	left: 36%;
}
.plan_lineup .item.-price .pic .-t3 {
	--tw: 46;
	top: -16%;
	right: -22%;
	rotate: 34deg;
}
@media (max-width: 767.98px) {
	.p-plan-contents > .title .sub .txt {
		width: calc(var(--cw) * 57 / var(--breakpoint));
	}
	.p-plan-contents > .-p1 {
		--w: 200;
		top: calc(var(--cw) * 216 / var(--breakpoint));
		right: var(--sidegap);
	}
	.p-plan-contents > .-p2 {
		--w: 196;
		bottom: calc(var(--cw) * 24 / var(--breakpoint));
		left: 12%;
	}
	.p-plan-contents > .-p3 {
		--w: 110;
		right: 16%;
	}
	.plan_lineup .item.-price .pic {
		--w: 182;
		top: calc(var(--cw) * 160 / var(--breakpoint));
	}
}
.plan_lineup {
	margin-top: min(var(--cw) * 64 / var(--breakpoint), 64px);
}
.plan_lineup .item {
	position: relative;
}
.plan_lineup .item:not(:first-child) {
	margin-top: 40px;
}
.plan_lineup .item .title {
	display: flex;
	align-items: center;
	font-size: min(var(--cw) * 25 / var(--breakpoint), 1.5625rem);
	white-space: nowrap;
}
.plan_lineup .item .title::after {
	content: "";
	flex-grow: 1;
	margin-left: .8em;
	border-top: 1px solid #808080;
}
.plan_lineup .item .data {
	margin-top: 1.5em;
	font-size: min(var(--cw) * 16 / var(--breakpoint), 1rem);
}
.plan_lineup .item .data small {
	font-size: smaller;
}
@media (min-width: 768px) {
	.plan_lineup {
		width: min(var(--cw) * 850 / var(--breakpoint), 850px);
		margin-inline: auto;
	}
	.plan_lineup .item .data {
		padding-left: min(var(--cw) * 48 / var(--breakpoint), 48px);
	}
}
@media (max-width: 767.98px) {
	.plan_lineup {
		margin-top: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.plan_lineup .item .title {
		font-size: calc(var(--cw) * 16 / var(--breakpoint));
	}
	.plan_lineup .item .data {
		margin-top: 1em;
		font-size: calc(var(--cw) * 13 / var(--breakpoint));
	}
}
/* 営業時間 */
.plan_lineup .item.-time .data {
	display: grid;
	column-gap: 1.25em;
	grid-template-columns: auto 1fr;
}
.plan_lineup .item.-time .data dt {
	grid-column: 1;
	text-align-last: justify;
	white-space: nowrap;
}
.plan_lineup .item.-time .data dd {
	grid-column: 2;
}
/* 料金プラン */
.plan_lineup .item.-price .data dt {
	font-weight: 600;
}
.plan_lineup .item.-price .data.-d1 > dd {
	margin-top: .5em;
}
.plan_lineup .item.-price .data.-d2 > dd {
	margin-top: .75em;
}
.plan_lineup .item.-price .lineup dt {
	white-space: nowrap;
}
.plan_lineup .item.-price .lineup dt::before {
	content: "";
	display: inline-block;
	position: relative;
	top: -.2em;
	aspect-ratio: 1 / 1;
	width: 1.5em;
	height: auto;
	margin-right: .25em;
	vertical-align: middle;
	background: url(../img/contents2_plan1.webp) center / cover no-repeat;
}
.plan_lineup .item.-price .lineup dt:nth-of-type(2)::before {
	background-image: url(../img/contents2_plan2.webp);
}
.plan_lineup .item.-price .lineup dt:nth-of-type(3)::before {
	background-image: url(../img/contents2_plan3.webp);
}
.plan_lineup .item.-price .lineup dd::before {
	content: "…";
}
@media (min-width: 768px) {
	.plan_lineup .item.-price .data {
		font-size: min(var(--cw) * 15 / var(--breakpoint), .9375rem);
	}
	.plan_lineup .item.-price .data dt {
		font-size: 133%;
	}
	.plan_lineup .item.-price .lineup {
		display: grid;
		align-items: center;
		gap: .5em .25em;
		grid-template-columns: auto 1fr;
	}
	.plan_lineup .item.-price .lineup dt {
		grid-column: 1;
		font-size: 120%;
	}
	.plan_lineup .item.-price .lineup dd {
		grid-column: 2;
	}
}
@media (max-width: 767.98px) {
	.plan_lineup .item.-price .lineup dd {
		margin-top: -.25em;
	}
	.plan_lineup .item.-price .lineup dd + dt {
		margin-top: .5em;
	}
}
/* システム */
.plan_lineup .item.-system .data {
	list-style: outside disc;
}
.plan_lineup .item.-system .data li {
	margin-left: 1.5em;
}
@media (max-width: 767.98px) {
	.plan_lineup .item.-system .data li:nth-child(n+2) {
		margin-top: .5em;
	}
}

/* :::::: セミパーソナル :::::: */
.p-semi-personal-contents > .title .sub .txt {
	width: min(var(--cw) * 167 / var(--breakpoint), 167px);
}
.p-semi-personal-contents > .-p1 {
	--w: 144;
	top: min(var(--cw) * 96 / var(--breakpoint), 96px);
	right: 16%;
}
.p-semi-personal-contents > .-p1 .txt {
	--tw: 74;
	top: -12%;
	left: 28%;
	rotate: 14deg;
}
.p-semi-personal-contents > .-p2 {
	--w: 39;
	bottom: min(var(--cw) * 46 / var(--breakpoint), 46px);
}
.p-semi-personal-contents > .-p3 {
	--w: 84;
	bottom: min(var(--cw) * 48 / var(--breakpoint), 48px);
}
@media (min-width: 768px) {
	.p-semi-personal-contents > .-p2 {
		right: 18%;
	}
	.p-semi-personal-contents > .-p3 {
		right: 9%;
	}
}
@media (max-width: 767.98px) {
	.p-semi-personal-contents > .title .sub .txt {
		width: calc(var(--cw) * 126 / var(--breakpoint));
	}
	.p-semi-personal-contents > .-p1 {
		--w: 206;
		top: calc(var(--cw) * 290 / var(--breakpoint));
		right: 8%;
	}
	.p-semi-personal-contents > .-p2 {
		--w: 54;
		bottom: calc(var(--cw) * 168 / var(--breakpoint));
		left: 36%;
	}
	.p-semi-personal-contents > .-p3 {
		--w: 126.5;
		bottom: calc(var(--cw) * 48 / var(--breakpoint));
		left: 10%;
	}
}
.p-semi-personal-contents .subject {
	margin-top: min(var(--cw) * 64 / var(--breakpoint), 64px);
	font-size: min(var(--cw) * 25 / var(--breakpoint), 1.5625rem);
}
.p-semi-personal-contents .paragraph {
	margin-top: 1em;
	font-size: min(var(--cw) * 16 / var(--breakpoint), 1rem);
}
@media (min-width: 768px) {
	.p-semi-personal-contents .subject,
	.p-semi-personal-contents .paragraph {
		width: min(var(--cw) * 620 / var(--breakpoint), 620px);
		margin-inline: auto;
	}
}
@media (max-width: 767.98px) {
	.p-semi-personal-contents .subject {
		margin-top: calc(var(--cw) * 64 / var(--breakpoint));
		font-size: calc(var(--cw) * 16 / var(--breakpoint));
	}
	.p-semi-personal-contents .paragraph {
		font-size: calc(var(--cw) * 13 / var(--breakpoint));
	}
}

/* :::::: 体験トレーニング :::::: */
.p-trial-contents > .title .sub .txt {
	width: min(var(--cw) * 180 / var(--breakpoint), 180px);
}
.p-trial-contents > .-p1 {
	--w: 87;
	--tw: 42;
	top: min(var(--cw) * 80 / var(--breakpoint), 80px);
	right: 20%;
}
.p-trial-contents > .-p1 .txt {
	top: -18%;
	right: -32%;
	rotate: 2deg;
}
.p-trial-contents > .-p2 {
	--w: 83;
	bottom: min(var(--cw) * 24 / var(--breakpoint), 24px);
	left: 10%;
}
.p-trial-contents > .-p2 .txt {
	--tw: 24;
	top: 6%;
	left: 106%;
}
.p-trial-contents .-step1 .pic {
	--w: 48;
	--tw: 50;
}
.p-trial-contents .-step1 .pic .txt {
	top: -20%;
	right: -44%;
	rotate: 13deg;
}
.p-trial-contents .-step2 .pic {
	--w: 80;
	--tw: 50;
}
.p-trial-contents .-step2 .pic .txt {
	top: -17%;
	left: -22%;
	rotate: -13deg;
}
.p-trial-contents .-step3 .pic {
	--w: 68;
	--tw: 40;
}
.p-trial-contents .-step3 .pic .txt {
	top: 2%;
	right: -46%;
	rotate: 29deg;
}
.p-trial-contents .-step4 .pic {
	--w: 93;
	--tw: 60;
	align-self: end;
}
.p-trial-contents .-step4 .pic .txt {
	top: -18%;
	right: -16%;
	rotate: 29deg;
}
@media (max-width: 767.98px) {
	.p-trial-contents > .title .sub .txt {
		width: calc(var(--cw) * 125 / var(--breakpoint));
	}
	.p-trial-contents > .-p1 {
		--w: 106;
		top: calc(var(--cw) * 216 / var(--breakpoint));
		right: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.p-trial-contents > .-p1 .txt {
		top: -20%;
		rotate: 12deg;
	}
	.p-trial-contents > .-p2 {
		--w: 104;
	}
	.p-trial-contents .trial_step .pic {
		left: 70%;
	}
	.p-trial-contents .-step1 .pic {
		--w: 60;
		top: 8%;
	}
	.p-trial-contents .-step2 .pic {
		--w: 111;
		top: 34%;
	}
	.p-trial-contents .-step3 .pic {
		--w: 85;
		bottom: -22%;
		left: 72%;
	}
	.p-trial-contents .-step4 .pic {
		--w: 124;
		top: 39%;
		left: 68%;
	}
}
.p-trial-contents .lead {
	margin-top: min(var(--cw) * 64 / var(--breakpoint), 64px);
}
.p-trial-contents .lead,
.p-trial-contents .trial_step {
	font-size: min(var(--cw) * 16 / var(--breakpoint), 1rem);
}
.p-trial-contents .trial_step .item {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: min(var(--cw) * 24 / var(--breakpoint), 24px);
	margin-top: min(var(--cw) * 40 / var(--breakpoint), 40px);
}
.p-trial-contents .trial_step .label {
	grid-area: 1 / 1 / 2 / 3;
	display: flex;
	align-items: center;
	position: relative;
	color: var(--themecolor);
}
.p-trial-contents .trial_step .label .txt {
	fill: currentcolor;
	width: min(var(--cw) * 64 / var(--breakpoint), 64px);
	margin-top: max(var(--cw) * -12 / var(--breakpoint), -12px);
	rotate: -4deg;
}
.p-trial-contents .trial_step .label .bln {
	position: absolute;
	overflow: visible;
	bottom: max(var(--cw) * -24 / var(--breakpoint), -24px);
	left: max(var(--cw) * -12 / var(--breakpoint), -12px);
	width: min(var(--cw) * 98 / var(--breakpoint), 98px);
	height: auto;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.p-trial-contents .trial_step .label::after {
	content: "";
	flex-grow: 1;
	margin-left: 2em;
	border-top: 1px solid #808080;
}
.p-trial-contents .trial_step .arr {
	--size: min(var(--cw) * 40 / var(--breakpoint), 40px);
	grid-area: 1 / 2;
	justify-self: end;
	aspect-ratio: 1 / 1;
	z-index: 0;
	width: var(--size);
	height: var(--size);
	padding: calc(var(--size) * .2);
	border-radius: var(--size);
	fill: white;
	background: var(--themecolor);
}
.p-trial-contents .trial_step .text {
	align-self: start;
}
.p-trial-contents .trial_step .subject {
	font-weight: 600;
	font-size: 125%;
}
.p-trial-contents .trial_step .paragraph {
	margin-top: .25em;
}
@media (min-width: 768px) {
	.p-trial-contents .lead,
	.p-trial-contents .trial_step {
		width: min(var(--cw) * 800 / var(--breakpoint), 800px);
		margin-inline: auto;
	}
	.p-trial-contents .trial_step .text {
		grid-area: 2 / 1;
		padding-left: min(var(--cw) * 48 / var(--breakpoint), 48px);
	}
	.p-trial-contents .trial_step .pic {
		grid-area: 2 / 2;
		position: relative;
		width: fit-content;
		margin-left: 16%;
	}
}
@media (max-width: 767.98px) {
	.p-trial-contents .lead,
	.p-trial-contents .trial_step {
		font-size: calc(var(--cw) * 13 / var(--breakpoint));
	}
	.p-trial-contents .lead {
		margin-top: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.p-trial-contents .trial_step .item {
		position: relative;
		gap: calc(var(--cw) * 8 / var(--breakpoint));
		margin-top: calc(var(--cw) * 20 / var(--breakpoint));
	}
	.p-trial-contents .trial_step .item:first-child {
		margin-top: calc(var(--cw) * 32 / var(--breakpoint));
	}
	.p-trial-contents .trial_step .text {
		grid-area: 2 / 1 / 3 / 3;
	}
	.p-trial-contents .trial_step .label .txt {
		width: calc(var(--cw) * 44 / var(--breakpoint));
		margin-top: calc(var(--cw) * -16 / var(--breakpoint));
	}
	.p-trial-contents .trial_step .label .bln {
		bottom: calc(var(--cw) * -16 / var(--breakpoint));
		left: calc(var(--cw) * -8 / var(--breakpoint));
		width: calc(var(--cw) * 68 / var(--breakpoint));
	}
	.p-trial-contents .trial_step .arr {
		--size: calc(var(--cw) * 24 / var(--breakpoint));
	}
}

/* :::::: 体験トレーニングのご予約 :::::: */
.p-reservation-contents {
	color: white;
	fill: currentcolor;
	padding-top: min(var(--cw) * 64 / var(--breakpoint), 64px);
	padding-bottom: min(var(--cw) * 48 / var(--breakpoint), 48px);
}
.p-reservation-contents > .title {
	row-gap: .25em;
	line-height: 1.5;
}
.p-reservation-contents > .title .sub .txt {
	width: min(var(--cw) * 148 / var(--breakpoint), 148px);
}
.reservation_lineup {
	position: relative;
}
.reservation_lineup .item {
	padding: min(var(--cw) * 64 / var(--breakpoint), 64px) min(var(--cw) * 32 / var(--breakpoint), 32px);
}
.reservation_lineup .item:nth-child(n+2) {
	border-top: 1.5px solid white;
}
.reservation_lineup .image {
	display: grid;
	gap: 12px;
}
.reservation_lineup .subject {
	position: relative;
	width: fit-content;
	font-size: min(var(--cw) * 25 / var(--breakpoint), 1.5625rem);
	white-space: nowrap;
}
.reservation_lineup .subject a {
	display: grid;
}
.reservation_lineup .subject .arr {
	order: -1;
	position: absolute;
	top: .4em;
	right: 100%;
	width: 1.2em;
	height: auto;
	margin-right: .3em;
	fill: currentcolor;
}
@media (hover) {
	.reservation_lineup .subject a:not(:hover) .arr svg {
		animation-play-state: paused;
	}
}
.reservation_lineup .subject .underline {
	grid-area: 2 / 1 / 3 / 3;
	overflow: visible;
	height: auto;
	stroke: currentcolor;
	stroke-width: 6;
	mask: url(../img/underline_mask.svg) center / 100% 100% no-repeat;
}
.reservation_lineup .access_data {
	margin-top: 1em;
}
.reservation_lineup .access_data > li {
	margin-top: .5em;
	padding-left: 1.5em;
	text-indent: -1.5em;
	font-size: min(var(--cw) * 16 / var(--breakpoint), 1rem);
	line-height: 1.5;
	letter-spacing: .1em;
}
.reservation_lineup .access_data > li .ico {
	width: 1.2em;
	height: auto;
	margin-right: .3em;
	fill: currentcolor;
	vertical-align: middle;
}
.reservation_lineup .access_data > li .zip {
	font-size: 87.5%;
}
.reservation_lineup .access_data .route li {
	text-indent: 0;
	line-height: 2;
	letter-spacing: .06em;
}
.reservation_lineup .access_data .route li::before {
	content: "";
	display: inline-block;
	width: .5em;
	height: .5em;
	margin: -.1em .5em 0 0;
	border-radius: .5em;
	vertical-align: middle;
	background: currentcolor;
}
.reservation_lineup .pic {
	--w: 64;
	right: var(--sidegap);
	bottom: max(100% - var(--cw) * 32 / var(--breakpoint), 100% - 32px);
}
.reservation_lineup .pic .txt {
	--tw: 66;
	bottom: 108%;
	left: 0;
	rotate: 8deg;
}
@media (min-width: 768px) {
	.reservation_lineup .item {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: min(var(--cw) * 64 / var(--breakpoint), 64px);
	}
	.reservation_lineup .pic {
		bottom: max(100% - var(--cw) * 32 / var(--breakpoint), 100% - 32px);
	}
}
@media (max-width: 767.98px) {
	.p-reservation-contents > .title .sub .txt {
		width: calc(var(--cw) * 116 / var(--breakpoint));
	}
	.reservation_lineup .item {
		padding: calc(var(--cw) * 48 / var(--breakpoint)) calc(var(--cw) * 8 / var(--breakpoint));
	}
	.reservation_lineup .image {
		gap: 8px;
		margin-top: 1em;
	}
	.reservation_lineup .text {
		padding-left: calc(var(--cw) * 16 / var(--breakpoint));
	}
	.reservation_lineup .access_data > li {
		font-size: calc(var(--cw) * 15 / var(--breakpoint));
	}
	.reservation_lineup .access_data > li:last-child {
		padding-left: .25em;
	}
	.reservation_lineup .subject {
		font-size: calc(var(--cw) * 20 / var(--breakpoint));
	}
	.reservation_lineup .pic {
		--w: 112;
		top: 0;
		right: calc(var(--sidegap) * .5);
	}
	.reservation_lineup .pic .txt {
		--tw: 66;
		bottom: 108%;
		left: 0;
		rotate: 8deg;
	}
}


/**
 * Main Contents
 * -------------------------------------------------- */
.c-more {
	--arrSize: 15;
	--viewSize: 106;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	row-gap: min(var(--cw) * 12 / var(--breakpoint), 12px);
	column-gap: min(var(--cw) * 8 / var(--breakpoint), 8px);
	width: 129px;
	color: var(--themecolor);
}
@media (max-width: 767.98px) {
	.c-more {
		width: calc(var(--cw) * 129 / var(--breakpoint));
	}
}
.c-more .arr,
.c-more .view {
	fill: currentcolor;
}
.c-more .arr {
	grid-column: 2;
	width: min(var(--cw) * var(--arrSize) / var(--breakpoint), var(--arrSize) * 1px);
}
.c-more .view {
	grid-column: 1;
	width: min(var(--cw) * var(--viewSize) / var(--breakpoint), var(--viewSize) * 1px);
}
.c-more .underline {
	grid-row: 2;
	grid-column: span 2;
	overflow: visible;
	height: min(var(--cw) * 6 / var(--breakpoint), 6px);
	stroke: currentcolor;
	stroke-width: 6;
	mask: url(../img/underline_mask.svg) center / 100% 100% no-repeat;
}
@media (hover) {
	.c-more {
		cursor: pointer;
	}
	.c-more:not(:hover) .c-flickering svg {
		animation-play-state: paused;
	}
	.c-more .arr {
		transition: transform .4s var(--easeOut);
	}
	.c-more:hover .arr {
		transform: translateX(4px);
		transition-duration: .2s;
	}
	.c-more .underline {
		stroke-dasharray: var(--w) var(--w);
	}
	.c-more.is-motion .underline {
		animation: through .6s var(--easeOut);
	}
}
@media (max-width: 767.98px) {
	.c-more {
		row-gap: .8em;
		column-gap: calc(var(--cw) * 8 / var(--breakpoint));
	}
	.c-more .arr {
		width: calc(var(--cw) * var(--arrSize) / var(--breakpoint));
	}
	.c-more .view {
		width: calc(var(--cw) * var(--viewSize) / var(--breakpoint));
	}
	.c-more .underline {
		height: calc(var(--cw) * 6 / var(--breakpoint));
	}
}
.c-title {
	display: grid;
	justify-items: center;
	gap: 1em;
	position: relative;
	width: fit-content;
	margin-inline: auto;
	font-size: min(var(--cw) * 16 / var(--breakpoint), 1rem);
}
.c-title .main {
	font: 400 min(var(--cw) * 90 / var(--breakpoint), 5.625rem) / .9 var(--fontEn);
	transform-origin: center bottom;
	scale: .9 1;
}
.c-title .pic {
	position: absolute;
}
@media (max-width: 767.98px) {
	.c-title {
		font-size: calc(var(--cw) * 13 / var(--breakpoint));
	}
	.c-title .main {
		font-size: calc(var(--cw) * 52.5 / var(--breakpoint));
	}
}


/**
 * Visual
 * -------------------------------------------------- */
.p-visual {
	display: grid;
	position: relative;
	height: max(var(--cw) * 654 / var(--breakpoint), 654px);
	color: white;
	fill: currentcolor;
	background: #d7b280 url(../img/texture.png) center / 500px auto;
}
.p-visual {
	background-image: url(../img/texture_visual.png);
}
.p-visual > * {
	grid-area: 1 / 1;
}
.p-visual .title {
	z-index: 1;
	place-self: center;
	display: grid;
	justify-items: center;
	row-gap: max(var(--cw) * 30 / var(--breakpoint), 30px);
	line-height: 1;
}
.p-visual .title .logo {
	width: max(var(--cw) * 403 / var(--breakpoint), 403px);
	height: auto;
}
.p-visual .title .tagline {
	width: max(var(--cw) * 295 / var(--breakpoint), 295px);
	height: auto;
}
.p-visual .c-ghost {
	z-index: 1;
	position: absolute;
}
.p-visual .c-ghost[data-pos="1"],
.p-visual .c-ghost[data-pos="2"] {
	scale: -1 1;
}
.p-visual .picture {
	position: absolute;
	inset: 0;
	overflow: hidden;
	padding-top: var(--headerHeight);
}
.p-visual .pic {
	position: absolute;
	width: max(var(--cw) * var(--w) / var(--breakpoint), var(--w) * 1px);
}
.p-visual .pic img {
	width: 100%;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
@media (min-width: 768px) {
	.p-visual .picture {
		padding-bottom: calc(var(--cw) * 72 / var(--breakpoint));
	}
	.p-visual .pic .txt {
		width: max(var(--cw) * var(--tw) / var(--breakpoint), var(--tw) * 1px);
	}
	.p-visual .c-ghost {
		top: 68.2%;
		left: 43%;
		width: max(var(--cw) * 84 / var(--breakpoint), 84px);
	}
	.p-visual .c-ghost[data-pos="1"] {
		top: 18%;
		left: 50%;
	}
	.p-visual .c-ghost[data-pos="2"] {
		top: 44%;
		left: 77%;
	}
	.p-visual .c-ghost[data-pos="3"] {
		top: 44%;
		left: 22%;
	}
}
@media (max-width: 767.98px) {
	.p-visual {
		--breakpoint: 750;
		height: max(100svh, 548px);
	}
	.p-visual .title {
		row-gap: calc(var(--cw) * 40 / var(--breakpoint));
		position: relative;
		top: calc(var(--cw) * -32 / var(--breakpoint));
	}
	.p-visual .title .logo {
		width: calc(var(--cw) * 518 / var(--breakpoint));
	}
	.p-visual .title .tagline {
		width: calc(var(--cw) * 378 / var(--breakpoint));
	}
	.p-visual .c-ghost {
		top: 58.6%;
		left: 46%;
		width: calc(var(--cw) * 84 / var(--breakpoint));
	}
	.p-visual .c-ghost[data-pos="1"] {
		top: 5%;
		left: 52%;
	}
	.p-visual .c-ghost[data-pos="2"] {
		top: 49%;
		left: 84%;
	}
	.p-visual .c-ghost[data-pos="3"] {
		top: 46%;
		left: 4%;
	}
	.p-visual .pic {
		width: calc(var(--cw) * var(--w) / var(--breakpoint));
	}
}
/* 透かし */
/* .p-visual { background: url(../assets/visual_.jpg) center / 100% auto no-repeat; }
@media (max-width: 767.98px) { .p-visual { background: url(../assets/visual_md_.jpg) center / 100% auto no-repeat; } } */

/* :::::: Layout :::::: */
@media (min-width: 768px) {
	.p-visual .-p1  { --w: 240; top: 18.6%; left: 1.7%; }
	.p-visual .-p2  { --w: 62; top: 9%; left: 26%; }
	.p-visual .-p3  { --w: 96; top: 14.9%; left: 32.4%; }
	.p-visual .-p4  { --w: 53; top: 11%; right: 35.8%; }
	.p-visual .-p5  { --w: 51; top: 7.5%; right: 14.6%; }
	.p-visual .-p6  { --w: 168; top: 24.4%; right: 16.4%; }
	.p-visual .-p7  { --w: 64; top: 18.5%; right: 7.5%; }
	.p-visual .-p8  { --w: 52; top: 44.8%; right: 0; }
	.p-visual .-p9  { --w: 89; bottom: 30.3%; left: 22.4%; }
	.p-visual .-p10 { --w: 66; bottom: 19%; left: 14.3%; }
	.p-visual .-p11 { --w: 132; bottom: 14.2%; left: 1%; }
	.p-visual .-p12 { --w: 288; bottom: 3.8%; left: 0; }
	.p-visual .-p13 { --w: 98; bottom: 20.6%; left: 30%; }
	.p-visual .-p14 { --w: 89; bottom: 0; left: 32.4%; }
	.p-visual .-p15 { --w: 64; bottom: 6.8%; right: 40.9%; }
	.p-visual .-p16 { --w: 40; bottom: 25.9%; right: 34.4%; }
	.p-visual .-p17 { --w: 295; bottom: -2.4%; right: 4.3%; }
	
	.p-visual .-p1 .txt  { --tw: 64; top: -9%; right: 29%; rotate: 6deg; }
	.p-visual .-p4 .txt  { --tw: 64; top: -36%; left: -45%; rotate: -26deg; }
	.p-visual .-p7 .txt  { --tw: 43; top: -24%; left: 4%; rotate: -15deg; }
	.p-visual .-p10 .txt { --tw: 85; top: -25%; right: -4%; }
	.p-visual .-p14 .txt { --tw: 63; top: -23%; right: -21%; rotate: 30deg; }
	.p-visual .-p15 .txt { --tw: 57; top: -18%; left: -12%; rotate: -10deg; }
	.p-visual .-p17 .txt { --tw: 30; top: 4%; left: 20%; }
}
@media (max-width: 767.98px) {
	.p-visual .-p1  { --w: 252; top: 20.5%; left: -6.2%; }
	.p-visual .-p2  { --w: 82; top: 9%; left: 16%; }
	.p-visual .-p3  { --w: 128; top: 10%; left: 31.6%; }
	.p-visual .-p4  { --w: 189; top: 17.2%; right: 8.7%; }
	.p-visual .-p5  { --w: 73; top: 8.9%; right: 9.3%; }
	.p-visual .-p6  { --w: 96; top: 29.2%; right: 43.4%; }
	.p-visual .-p8  { --w: 52; top: 37.4%; right: 0; }
	.p-visual .-p10 { --w: 73; bottom: calc(12% + var(--cw) * 236 / var(--breakpoint)); left: 21.6%; }
	.p-visual .-p11 { --w: 145; bottom: calc(11.5% + var(--cw) * 240 / var(--breakpoint)); left: .8%; }
	.p-visual .-p12 { --w: 315; bottom: calc(11.5% + var(--cw) * 128 / var(--breakpoint)); left: 0; }
	.p-visual .-p13 { --w: 145; bottom: 15.1%; left: 25.3%; }
	.p-visual .-p14 { --w: 96;  bottom: calc(var(--cw) * 128 / var(--breakpoint)); left: 5.7%; }
	.p-visual .-p15 { --w: 73.5; bottom: calc(23.2% + var(--cw) * 128 / var(--breakpoint)); right: 8.2%; }
	.p-visual .-p16 { --w: 79; bottom: calc(20% + var(--cw) * 128 / var(--breakpoint)); right: 30.7%; }
	.p-visual .-p17 { --w: 318; bottom: 4.4%; right: 2.5%; }
	.p-visual .-p7, .p-visual .-p9 { display: none; }
	
	.p-visual .-p1 .txt  { --tw: 108; top: -13%; right: 12%; rotate: -1deg; }
	.p-visual .-p4 .txt  { --tw: 100; top: -13%; left: -19%; rotate: -26deg; }
	.p-visual .-p10 .txt { --tw: 135; top: -35%; left: -50%; }
	.p-visual .-p14 .txt { --tw: 85; top: -32%; right: -32%; rotate: 30deg; }
	.p-visual .-p15 .txt { --tw: 75; top: -26%; left: -36%; rotate: -10deg; }
	.p-visual .-p17 .txt { --tw: 44; top: 1%; left: 22%; }
}
/* motion */
.p-visual.is-standby .pic,
.p-visual.is-standby .title,
.p-visual.is-standby .c-ghost {
	visibility: hidden;
}
.p-visual .pic.is-anim,
.p-visual .title.is-anim {
	animation: picPopn .4s both;
}
.p-visual .pic.-p8.is-anim {
	transform-origin: right center;
	animation: picAppear .4s var(--easeOut) both;
}
.p-visual .c-ghost.is-anim {
	animation: goastAppear .6s both;
	animation-delay: 1.2s;
}
.p-visual .c-ghost.is-hide {
	animation: goastHide .4s both;
}
@keyframes picPopn {
	from { opacity: 0; transform: scale(1.12); }
	50% { transform: scale(.98); }
	80% { opacity: 1; transform: scale(1.005); }
	to { opacity: 1; transform: none; }
}
@keyframes picAppear {
	from { transform: translateX(100%); }
	50% { transform: scale(1.08, .94) translateX(0); }
	80% { transform: scaleX(.98); }
	to { transform: none; }
}
@keyframes goastAppear {
	from { opacity: 0; transform: translateY(-10%) scale(.9, 1.2); }
	50% { opacity: 1; transform: translateY(10%) scale(1.08, .98); }
	to { opacity: 1; transform: none; }
}
@keyframes goastHide {
	50% { opacity: 1; transform: translateY(5%) scale(1.06, .96); }
	to { opacity: 0; transform: translateY(-10%) scale(.92, 1.1); }
}


/**
 * Interlude
 * -------------------------------------------------- */
.p-interlude .splide__pagination {
	position: absolute;
	inset: auto 0 8px;
}
.p-interlude .splide__pagination li {
	line-height: 0;
}
.p-interlude .splide__pagination__page {
	width: 24px;
	height: 24px;
	padding: 8px;
	border-radius: 24px;
	background: #fff8;
	background-clip: content-box;
}
.p-interlude .splide__pagination__page.is-active {
	background: white;
	background-clip: content-box;
}
@media (min-width: 768px) {
	.photogallery .item {
		max-width: min(var(--cw) * 707 / var(--breakpoint), 707px);
	}
	.p-interlude .splide__pagination {
		bottom: min(var(--cw) * 16 / var(--breakpoint), 16px);
	}
}


/**
 * Section
 * -------------------------------------------------- */
.main_section {
	--maxWidth: 928px;
	--dtSpace: 160;
	--spSpace: 56;
	width: min(100% - var(--sidegap) * 2, var(--maxWidth));
	margin-inline: auto;
	margin-block: min(var(--cw) * var(--dtSpace) / var(--breakpoint), var(--dtSpace) * 1px);
	scroll-margin-top: min(var(--cw) * var(--dtSpace) / var(--breakpoint), var(--dtSpace) * 1px);
}
.pic {
	display: inline-block;
	position: relative;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.pic img {
	width: min(var(--cw) * var(--w) / var(--breakpoint), var(--w) * 1px);
	max-width: none;
}
.pic .txt {
	position: absolute;
	width: min(var(--cw) * var(--tw) / var(--breakpoint), var(--tw) * 1px);
}
@media (max-width: 767.98px) {
	.main_section {
		margin-block: calc(var(--cw) * var(--spSpace) / var(--breakpoint));
		scroll-margin-top: calc(var(--cw) * var(--spSpace) / var(--breakpoint));
	}
	.pic {
		--breakpoint: 750;
	}
	.pic img {
		width: calc(var(--cw) * var(--w) / var(--breakpoint));
	}
	.pic .txt {
		width: calc(var(--cw) * var(--tw) / var(--breakpoint));
	}
}


/**
 * About us
 * -------------------------------------------------- */
.p-about {
	display: grid;
	margin-bottom: min(var(--cw) * 48 / var(--breakpoint), 56px);
}
.p-about > .title .txt {
	width: min(var(--cw) * 112 / var(--breakpoint), 112px);
	margin-left: max(var(--cw) * -8 / var(--breakpoint), -8px);
}
.p-about .subject {
	display: grid;
	grid-gap: min(var(--cw) * 36 / var(--breakpoint), 40px);
	margin-top: 48px;
}
.p-about .subject img {
	width: auto;
	height: min(var(--cw) * 64 / var(--breakpoint), 70px);
}
.p-about .pic {
	--breakpoint: inherit;
	--w: 181;
}
.p-about .pic .txt.-t1 {
	--tw: 64;
	top: 1%;
	rotate: 30deg;
}
.p-about .pic .txt.-t2 {
	--tw: 33;
	top: 26%;
}
.p-about .paragraph {
	margin-top: 2em;
	font-size: min(var(--cw) * 13 / var(--breakpoint), .9375rem);
	font-feature-settings: "palt";
	letter-spacing: .17em;
	line-height: 2.2;
	white-space: nowrap;
}
.p-about .motto .text {
	margin-right: -.2em;
	color: var(--accentcolor);
	font: 400 min(var(--cw) * 144 / var(--breakpoint), 11.8125rem) / .9 var(--fontEn);
	transform-origin: left bottom;
	scale: .9 1;
}
/* おばけちゃん */
.p-about .motto .c-ghost {
	width: min(var(--cw) * 120 / var(--breakpoint), 144px);
	color: var(--themecolor);
}
.p-about .motto .c-ghost .balloon {
	display: grid;
	place-items: center;
	position: absolute;
	bottom: 100%;
	left: 60%;
	width: 70px;
}
.p-about .motto .c-ghost .balloon > * {
	grid-area: 1 / 1;
}
.p-about .motto .c-ghost .balloon .bg {
	width: 100%;
	height: auto;
	fill: var(--themecolor);
	rotate: -30deg;
}
.p-about .motto .c-ghost .balloon .bg .bln {
	transform-origin: center center;
	animation: rotate 30s linear infinite;
}
.p-about .motto .c-ghost .balloon .serif {
	width: 80%;
	margin-top: 8%;
	fill: white;
}
@media (min-width: 768px) {
	.p-about {
		--breakpoint: 768;
		grid-template-columns: 6fr 5fr;
	}
	.p-about .title {
		grid-column: 1;
	}
	.p-about .subject {
		grid-row: span 3;
		grid-column: 1;
		align-self: start;
	}
	.p-about .pic {
		--breakpoint: 768;
		grid-row: span 2;
		grid-column: 2;
		justify-self: end;
	}
	.p-about .pic .txt.-t1 {
		right: 10%;
	}
	.p-about .pic .txt.-t2 {
		left: 95%;
	}
	.p-about .paragraph {
		grid-column: 2;
		margin-inline-end: -.5em;
	}
	.p-about .paragraph:nth-of-type(1) {
		grid-row: 3;
	}
	.p-about .paragraph:nth-of-type(2) {
		grid-row: 4;
	}
	.p-about .paragraph:nth-of-type(3) {
		grid-row: 5;
	}
	.p-about .motto {
		grid-row: 5 / 7;
		grid-column: 1 / 3;
		display: grid;
		justify-content: start;
		margin-inline: max(var(--breakout) + var(--sidegap), -120px);
	}
	.p-about .motto .text {
		margin-top: -.2em;
	}
	.p-about .motto .c-ghost {
		grid-column: 2;
		align-self: end;
	}
}
@media (max-width: 767.98px) {
	.p-about > * {
		width: 88%;
		margin-inline: auto;
	}
	.p-about .title .txt {
		width: calc(var(--cw) * 106 / var(--breakpoint));
		margin-left: calc(var(--cw) * -4 / var(--breakpoint));
	}
	.p-about .subject {
		grid-gap: calc(var(--cw) * 24 / var(--breakpoint));
	}
	.p-about .subject img {
		height: calc(var(--cw) * 43 / var(--breakpoint));
	}
	.p-about .paragraph {
		font-size: max(var(--cw) * 12.5 / var(--breakpoint), .625rem);
	}
	.p-about .paragraph:first-of-type {
		margin-top: 2.4em;
	}
	.p-about .pic {
		--w: 142;
		order: 1;
		margin-block: calc(var(--cw) * 64 / var(--breakpoint));
	}
	.p-about .pic .txt.-t1 {
		--tw: 52;
		left: calc(var(--cw) * 78 / var(--breakpoint));
	}
	.p-about .pic .txt.-t2 {
		--tw: 24;
		left: calc(var(--cw) * 132 / var(--breakpoint));
	}
	.p-about .motto {
		order: 1;
		width: 100%;
		position: relative;
	}
	.p-about .motto .text {
		font-size: calc(var(--cw) * 86 / var(--breakpoint));
	}
	.p-about .motto .c-ghost {
		position: absolute;
		top: calc(var(--cw) * -32 / var(--breakpoint));
		right: calc(var(--sidegap) / 1.6);
		width: calc(var(--cw) * 112 / var(--breakpoint));
	}
	.p-about .motto .c-ghost .balloon {
		width: calc(var(--cw) * 70 / var(--breakpoint));
	}
}


/**
 * Contents
 * -------------------------------------------------- */
.p-contents {
	--topPadding: min(var(--cw) * 48 / var(--breakpoint), 48px);
	position: relative;
	width: 100%;
	margin-top: calc(var(--cw) * var(--spSpace) / var(--breakpoint) * 3.6);
}
@media (min-width: 768px) {
	.p-contents {
		--breakpoint: 768;
	}
}
.p-contents .contents_title {
	z-index: 1;
	position: absolute;
	bottom: calc(100% - .24em);
	left: 0;
	height: 1.1em;
	color: var(--accentcolor);
	font: 400 min(var(--cw) * 120 / var(--breakpoint), 9.75rem) / .9 var(--fontEn);
	transform-origin: left bottom;
	scale: .9 1;
}
.p-contents .contents_title .pic {
	--w: 59;
	position: absolute;
	top: .27em;
	line-height: 0;
}
.p-contents .contents_title .pic .txt {
	--tw: 32;
	bottom: 104%;
	right: -40%;
}
@media (min-width: 768px) {
	.p-contents .contents_title {
		bottom: calc(100% - .24em - var(--topPadding));
	}
	.p-contents .contents_title .pic {
		left: calc(100% + .2em);
	}
}
@media (max-width: 767.98px) {
	.p-contents .contents_title {
		z-index: 2;
		width: var(--cw);
		/* left: calc(var(--sidegap) * -1); */
		font-size: calc(var(--cw) * 86 / var(--breakpoint));
	}
	.p-contents .contents_title .pic {
		--w: 85;
		top: 84%;
		right: -2%;
	}
}
@media (min-width: 768px) {
	.p-contents .pic.-p2 {
		--w: 147;
		z-index: 1;
		position: absolute;
		top: calc(var(--topPadding) * -1);
		left: max(50vw + var(--cw) * 200 / var(--breakpoint), var(--cw) / 2 + 200px);
	}
	.p-contents .pic.-p3 {
		--w: 126;
		z-index: 1;
		position: absolute;
		bottom: min(var(--cw) * 40 / var(--breakpoint), 40px);
		left: max(50vw, var(--cw) / 2 + 24px);
	}
	.p-contents .contents_wrap {
		padding-top: var(--topPadding);
	}
}
@media (max-width: 767.98px) {
	.p-contents .contents_title .pic .txt {
		--tw: 44;
	}
	.p-contents .pic.-p2,
	.p-contents .pic.-p3 {
		display: none;
	}
}
/* Splide Arrows */
.p-contents .splide__arrow {
	--size: 36px;
	--shift: min(var(--cw) * 40 / var(--breakpoint), 40px);
	display: grid;
	place-items: center;
	z-index: 1;
	position: absolute;
	top: 50%;
	width: var(--size);
	height: var(--size);
	border-radius: var(--size);
	color: white;
	fill: currentcolor;
	background: var(--themecolor);
}
.p-contents .splide__arrow--prev {
	left: var(--shift);
}
.p-contents .splide__arrow--next {
	right: calc(var(--sidegap) + var(--shift));
}
.p-contents .splide__arrow .arr {
	width: 16px;
	height: auto;
}
.p-contents .splide__arrow--prev .arr {
	scale: -1 1;
}
@media (hover) {
	.p-contents .splide__arrow {
		cursor: pointer;
	}
	.p-contents .splide__arrow {
		transition: transform .4s var(--easeOut);
	}
	.p-contents .splide__arrow:hover {
		transition-duration: .2s;
	}
	.p-contents .splide__arrow--prev:hover {
		transform: translateX(-4px);
	}
	.p-contents .splide__arrow--next:hover {
		transform: translateX(4px);
	}
	.p-contents .splide__arrow:not(:hover) .arr svg {
		animation-play-state: paused;
	}
}
@media (max-width: 767.98px) {
	.p-contents .splide__arrow {
		--size: calc(var(--cw) * 26 / var(--breakpoint));
		--shift: calc(var(--cw) * 12 / var(--breakpoint));
	}
	.p-contents .splide__arrow--next {
		right: var(--shift);
	}
	.p-contents .splide__arrow .arr {
		width: calc(var(--cw) * 12 / var(--breakpoint));
	}
}

/* :::::: Contents Section :::::: */
.contents_section .inner {
	display: grid;
	z-index: 0;
	position: relative;
	width: min(100% - var(--sidegap)* 2, var(--maxWidth));
	margin-inline: auto;
	padding: min(var(--cw) * 74 / var(--breakpoint), 74px) 0;
}
.contents_section::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0;
	right: calc(var(--breakout) + var(--sidegap));
	left: var(--breakout);
	background: #dcc4aa url(../img/texture.png) center / 500px auto;
}
.contents_section::before {
	background-image: url(../img/texture_contents.png);
}

@media (max-width: 767.98px) {
	.contents_section::before {
		inset: 0 calc(var(--sidegap) * -1);
	}
}
/* Number */
.contents_section .number {
	position: absolute;
	top: 0;
	left: calc(var(--breakout) + .2em);
	color: #fff8;
	font: 400 min(var(--cw) * 127 / var(--breakpoint), 7.9375rem) / .9 var(--fontEn);
}
@media (min-width: 768px) {
	.contents_section .inner {
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap:  min(var(--cw) * 32 / var(--breakpoint), 96px);
	}
}
@media (max-width: 767.98px) {
	.contents_section .inner {
		justify-items: center;
		row-gap: calc(var(--cw) * 16 / var(--breakpoint));
		padding-top: calc(var(--cw) * 56 / var(--breakpoint));
		padding-bottom: calc(var(--cw) * 40 / var(--breakpoint));
	}
	.contents_section .number {
		font-size: calc(var(--cw) * 78 / var(--breakpoint));
	}
}
/* Image */
.contents_section .image {
	display: grid;
	place-content: center;
	place-items: center;
	z-index: 0;
	position: relative;
	width: var(--circle);
	height: var(--circle);
	margin: 0 auto;
}
.p-contents .p-access .image { --w: 545; }
.p-contents .p-plan .image { --w: 667; }
.p-contents .p-semi-personal .image { --w: 641; }
.p-contents .p-trial .image { --w: 479; }

.contents_section .image img {
	grid-area: 1 / 1;
	max-width: none;
}
.contents_section .image::before {
	content: "";
	grid-area: 1 / 1;
	width: var(--circle);
	height: var(--circle);
	border-radius: 50%;
	background: white;
}
@media (min-width: 768px) {
	.contents_section .image {
		--breakpoint: 1200;
		--circle: min(var(--cw) * 450 / var(--breakpoint), 450px);
	}
	.contents_section .image img {
		width: min(var(--cw) * (var(--w) * 0.8257) / var(--breakpoint), (var(--w) * 0.8257) * 1px);
	}
}
@media (max-width: 767.98px) {
	.contents_section .image {
		--circle: calc(var(--cw) * 272.5 / var(--breakpoint));
	}
	.contents_section .image img {
		width: calc(var(--cw) * var(--w) / var(--breakpoint) * .5);
	}
}
/* Text */
.contents_section .text {
	display: grid;
	padding-left: 1.9em;
	font-size: min(var(--cw) * 14 / var(--breakpoint), 1.0625rem);
	letter-spacing: .12em;
}
.contents_section .title {
	font-weight: 500;
	font-size: inherit;
	font-feature-settings: "palt";
}
.contents_section .title .sub {
	position: relative;
}
.contents_section .title .sub::before {
	content: "";
	position: absolute;
	top: .7em;
	right: calc(100% + .5em);
	width: 1.4em;
	border-top: 1px solid currentcolor;
}
.contents_section .title .main {
	font-weight: 700;
	font-size: 218%;
	letter-spacing: .22em;
}
.contents_section .lead {
	font-size: min(var(--cw) * 12 / var(--breakpoint), .875rem);
}
.contents_section .c-more {
	margin-left: auto;
}
.contents_section .c-more::after {
	content: "";
	position: absolute;
	inset: 0;
}
@media (min-width: 768px) {
	.contents_section .text {
		width: min(var(--cw) * 304 / var(--breakpoint), 304px);
	}
	.contents_section .title {
		white-space: nowrap;
	}
	.contents_section .title .main {
		margin-right: -1.5em;
	}
	.contents_section .lead {
		margin-top: 1.5em;
	}
	.contents_section .c-more {
		margin-top: 1.5em;
	}
}
@media (max-width: 767.98px) {
	.contents_section .text {
		min-width: calc(var(--cw) * 240 / var(--breakpoint));
	}
	.contents_section .text {
		font-size: calc(var(--cw) * 12 / var(--breakpoint));
	}
	.contents_section .lead {
		display: none;
	}
	.contents_section .c-more {
		margin-top: .5em;
	}
}


/**
 * Question
 * -------------------------------------------------- */
.p-question {
	--maxWidth: 780px;
	display: grid;
}
.p-question > .c-title .pic {
	--w: 148;
	z-index: 1;
	top: -3.2em;
	left: calc(100% + 2.5em);
}
.p-question > .c-title .pic .txt {
	--tw: 88;
	top: 32%;
	right: -10%;
	rotate: 58deg;
}
.p-question > .c-title .sub .txt {
	width: min(var(--cw) * 152 / var(--breakpoint), 152px);
}
.question_container {
	--padding: min(var(--cw) * 40 / var(--breakpoint), 40px);
	position: relative;
	margin-top: min(var(--cw) * 56 / var(--breakpoint), 56px);
	padding: var(--padding);
	border: 1px solid currentcolor;
}
.question_container .pic {
	--w: 114;
	position: absolute;
	bottom: max(var(--cw) * -32 / var(--breakpoint), -32px);
	left: var(--padding);
}
.question_container .pic .txt {
	--tw: 32;
	top: -6%;
	left: 44%;
}
@media (min-width: 768px) {
	.p-question {
		--breakpoint: 768;
	}
}
@media (max-width: 767.98px) {
	.p-question > .title {
		font-size: calc(var(--cw) * 52 / var(--breakpoint));
	}
	.p-question > .c-title .pic {
		--w: 187;
		top: 1.5em;
		left: calc(100% - 2em);
	}
	.p-question > .c-title .pic .txt {
		--tw: 98;
		right: 0;
	}
	.p-question > .c-title .sub .txt {
		width: calc(var(--cw) * 82 / var(--breakpoint));
	}
	.question_container {
		--padding: calc(var(--cw) * 24 / var(--breakpoint));
		margin-top: calc(var(--cw) * 40 / var(--breakpoint));
		padding-top: calc(var(--cw) * 32 / var(--breakpoint));
	}
	.question_container .pic {
		--w: 165;
		bottom: calc(var(--cw) * -64 / var(--breakpoint));
	}
	.question_container .pic .txt {
		--tw: 44;
	}
}

/* :::::: Question List :::::: */
.question_list .item:not(:first-child) {
	margin-top: 1em;
}
.question_list .q {
	display: grid;
	align-items: center;
	grid-template-columns: 2.8em 1fr 2.5em;
	padding: .75em 1em;
	padding-right: 0;
	border-bottom: 1px solid currentcolor;
	font-weight: 500;
	font-size: min(var(--cw) * 18 / var(--breakpoint), 1.125rem);
}
.question_list .q::before {
	content: "Q.";
	position: relative;
	top: -.1em;
	font: 400 211% / 1.2 var(--fontEn);
	letter-spacing: .1em;
}
.question_list .a {
	padding: .5em 1.25em;
	padding-right: 0;
	font-size: min(var(--cw) * 15 / var(--breakpoint), .9375rem);
}
.question_list .a.inner {
	display: block;
}
.question_list .a::before {
	content: "A.";
	position: relative;
	top: .05em;
	margin-right: .25em;
	font: 400 200% / 1.2 var(--fontEn);
	letter-spacing: .1em;
}
.question_more {
	display: grid;
}
.question_more .c-more {
	order: 1;
	justify-self: end;
	margin-top: 2em;
}
.question_more .question_list .item:first-child {
	padding-top: 1em;
}
@media (max-width: 767.98px) {
	.question_list .q {
		padding-left: 0;
		font-size: calc(var(--cw) * 13 / var(--breakpoint));
		line-height: 1.7;
	}
	.question_list .a {
		padding-left: 0;
		font-size: calc(var(--cw) * 12.5 / var(--breakpoint));
		line-height: 1.8;
	}
	.question_more .c-more {
		margin-top: 1.6em;
	}
}


/**
 * News
 * -------------------------------------------------- */
.p-news {
	display: grid;
}
.p-news > .c-title {
	padding-bottom: min(var(--cw) * 48 / var(--breakpoint), 48px);
}
.p-news > .c-title::after {
	content: "";
	position: absolute;
	inset: auto auto 0;
	width: min(var(--cw), 928px);
	border-bottom: 1px solid currentcolor;
}
.p-news > .c-title .pic {
	--w: 176;
	z-index: 1;
	top: 25%;
	right: calc(100% + 5em);
}
.p-news > .c-title .pic .txt {
	--tw: 70;
	top: -28%;
	left: -4%;
	rotate: -16deg;
}
.p-news > .c-title .sub .txt {
	width: min(var(--cw) * 96 / var(--breakpoint), 96px);
}
@media (min-width: 768px) {
	.p-news {
		--breakpoint: 768;
	}
}
@media (max-width: 767.98px) {
	.p-news > .c-title {
		padding-bottom: calc(var(--cw) * 24 / var(--breakpoint));
	}
	.p-news > .c-title::after {
		width: calc(var(--cw) - var(--sidegap) * 2);
	}
	.p-news > .c-title .pic {
		--w: 191;
		top: 50%;
		right: calc(100% + 1em);
	}
	.p-news > .c-title .pic .txt {
		--tw: 74;
	}
	.p-news > .c-title .sub .txt {
		width: calc(var(--cw) * 60 / var(--breakpoint));
	}
}

/* :::::: News List :::::: */
.news_list {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: baseline;
	column-gap: 2em;
	width: min(100%, 480px);
	margin-inline: auto;
	padding-top: 2em;
	line-height: 1.5;
	font-feature-settings: "palt";
}
.c-accordion .news_list {
	padding: 0;
}
.news_list dt,
.news_list dd {
	padding: .75em 0;
}
.news_list dt {
	grid-column: 1;
	font-weight: 300;
	font-size: min(var(--cw) * 18 / var(--breakpoint), 1.125rem);
	letter-spacing: .11em;
}
.news_list dd {
	grid-column: 2;
	font-weight: 500;
	font-size: min(var(--cw) * 15 / var(--breakpoint), .9375rem);
	font-family: var(--fontZen);
	letter-spacing: .055em;
}
.p-news .c-more {
	margin: 1em 0 0 auto;
}
@media (min-width: 768px) {
	.p-news .c-more {
		margin-right: calc(var(--cw) * 80 / var(--breakpoint));
	}
}
@media (max-width: 767.98px) {
	.news_list {
		column-gap: 1em;
		padding-top: 1em;
	}
	.news_list dt {
		font-size: max(var(--cw) * 10 / var(--breakpoint), .625rem);
	}
	.news_list dd {
		font-size: max(var(--cw) * 11 / var(--breakpoint), .625rem);
	}
}


/**
 * Utility / JavaScript
 * -------------------------------------------------- */
.u-visuallyhidden {
	position: absolute;
	top: 0;
	left: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
}

/* :::::: おばけちゃん :::::: */
.c-ghost {
	pointer-events: none;
	aspect-ratio: 1 / 1;
	place-self: center;
	position: relative;
	height: auto;
}
.c-ghost .frame {
	aspect-ratio: inherit;
	position: absolute;
	inset: 0;
	overflow: hidden;
	animation: goastFloat 2.4s var(--easeInOut) alternate infinite,
	 goastFloat2 4s var(--easeInOut) alternate infinite;
}
.c-ghost .frame svg {
	width: 500%;
	height: 200%;
	fill: currentcolor;
	stroke: currentcolor;
	animation: goastAnim .7s steps(1) infinite;
}
@keyframes goastAnim {
	from { transform: translate(0, 0); }
	11% { transform: translate(-20%, 0); }
	22% { transform: translate(-40%, 0); }
	33% { transform: translate(-60%, 0); }
	44% { transform: translate(-80%, 0); }
	55% { transform: translate(0, -50%); }
	66% { transform: translate(-20%, -50%); }
	77% { transform: translate(-40%, -50%); }
	88% { transform: translate(-60%, -50%); }
	to { transform-position: -80% -50%; }
}
@keyframes goastFloat {
	from { transform: translateY(-8px); }
	to { transform: translateY(8px); }
}
@keyframes goastFloat2 {
	from { translate: 4px 0; }
	to { translate: -4px 0; }
}

/* :::::: パラパラ文字 :::::: */
.c-flickering {
	display: grid;
}
.c-flickering svg {
	--len: 3; --dur: .4;
	grid-area: 1 / 1;
	width: 100%;
	height: auto;
	animation: fliping calc(var(--dur) * 1s) steps(1) infinite;
}
.c-flickering svg:nth-of-type(n+2) {
	opacity: 0;
}
.c-flickering[data-len="4"] svg {
	--len: 4; --dur: .5;
	animation-name: fliping4;
}
.c-flickering[data-len="5"] svg {
	--len: 5; --dur: .6;
	animation-name: fliping5;
}
.c-flickering svg:nth-of-type(2) { animation-delay: calc(var(--dur) / var(--len) * 1s); }
.c-flickering svg:nth-of-type(3) { animation-delay: calc(var(--dur) / var(--len) * 2s); }
.c-flickering svg:nth-of-type(4) { animation-delay: calc(var(--dur) / var(--len) * 3s); }
.c-flickering svg:nth-of-type(5) { animation-delay: calc(var(--dur) / var(--len) * 4s); }
@keyframes fliping {
	from { opacity: 1; } 33.33333%, 66.66666%, to { opacity: 0; }
}
@keyframes fliping4 {
	from { opacity: 1; } 25%, 50%, 75%, to { opacity: 0; }
}
@keyframes fliping5 {
	from { opacity: 1; } 20%, 40%, 60%, 80%, to { opacity: 0; }
}

/* :::::: Accordion :::::: */
.c-accordion {
	position: relative;
}
.c-accordion .acc_body {
	overflow: hidden;
}
.c-accordion .acc_head .ico {
	--size: 28px;
	justify-self: end;
	width: var(--size);
	height: var(--size);
	padding: calc(var(--size) * .2);
	border-radius: var(--size);
	fill: white;
	background: var(--themecolor);
	transition: transform .4s var(--easeOut);
}
.c-accordion.is-active > .acc_head > .ico {
	transform: rotate(-179.9deg);
}
.c-accordion .acc_body.is-anim {
	transition:  height .4s var(--easeInOut), opacity .4s;
}
@media (hover) {
	.c-accordion .acc_head:not(:hover) .ico .c-flickering svg {
		animation-play-state: paused;
	}
}
@media (hover: hover) {
	.c-accordion .acc_head {
		cursor: pointer;
	}
	.c-accordion .acc_head .ico {
		cursor: inherit;
	}
	.c-accordion .acc_head:hover .ico {
		transform: translateY(10%);
		transition-duration: .2s;
	}
	.c-accordion.is-active > .acc_head:hover > .ico {
		transform: rotate(-179.9deg) translateY(10%);
	}
}
@media (max-width: 767.98px) {
	.c-accordion .acc_head .ico {
		--size: calc(var(--cw) * 20 / var(--breakpoint));
	}
}

@keyframes rotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
@keyframes through {
	from { stroke-dashoffset: calc(var(--w) * 2); }
	30% { stroke-dashoffset: var(--w); }
	to { stroke-dashoffset: 0; }
}
@keyframes katakata {
	from, to { transform: none; }
	15% { transform: rotate(4deg) translate(2px,2px); }
	30% { transform: rotate(-6deg) translate(4px,-2px); }
	45% { transform: rotate(2deg) translate(-2px,4px); }
	60% { transform: rotate(-2deg) translate(2px,-2px); }
	75% { transform: rotate(4deg) translate(2px,2px); }
	90% { transform: rotate(2deg) translate(-2px,-2px); }
}
.pic.is-katakata img {
	animation: katakata .8s steps(1);
}

:root {
	--themecolor: #eb6c36;
	--accentcolor: #d9c5ab;
	--font: "Inter", "Noto Sans JP", sans-serif;
	--fontJa: "Noto Sans JP", sans-serif;
	--fontZen: "Zen Kaku Gothic New", sans-serif;
	--fontEn: "Playfair Display", serif;
	--easeIn: cubic-bezier(.3,0,.7,0);
	--easeOut: cubic-bezier(.3,1,.7,1);
	--easeInOut: cubic-bezier(.7,0,.3,1);
	--easeBack: cubic-bezier(.3,1.6,.7,1);
}
body {
	--cw: 100vw;
	--breakpoint: 1200;
	--breakout: calc(50% - var(--cw) / 2);
	--sidegap: min(var(--cw) * 24 / 375, 48px);
}
@media (max-width: 767.98px) {
	body {
		--breakpoint: 375;
	}
}
html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}
body {
	overscroll-behavior: auto;
	color: black;
	font: 400 1em / 1.75 var(--font);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	background: #ffece6;
}
*,*::before,*::after{box-sizing:border-box;}
:where(ul,ol){list-style:none;padding:0;}
:where(img,svg,video,iframe){vertical-align:middle;}
:where(img[height],picture>img,video[height]){height:auto;}
:where(input,button,textarea,select,small){font:inherit;}
:where(body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl,dd){margin:0;}
:where(img,picture,video,iframe){display:inline-block;max-width:100%;}
:where(a){color:inherit;text-decoration:inherit;text-decoration-skip-ink:auto;}
:where(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:none;}
:where(sub){vertical-align:baseline;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}

/** splide-core.min.css */
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}