
@charset "UTF-8";

:root {
	--color-base: #78316C;
	--color-accent01: #E62E8B;
	--color-white: #ffffff;
	--color-intro01: #FAD7E6;
	--color-room01: #F4D7F4;
	--color-room02: #FFF0FF;
	--color-menu01: #C3E9FF;
	--color-vp01: #6EC8DB;
	--color-fdd01: #E99801;
	--color-fdd02: #014190;
	--color-park01: #FFF4E0;
	--color-sns01: #F4D7F4;
	--color-ribbon01: #e74291;
	--color-ribbon02: #23abdd;
	--color-ribbon03: #eeb141;
	--color-gradient01: linear-gradient(#e62e8b 0%, #e62e8b 39.41%, #9a1984 100%);
	--color-gradient02: linear-gradient(#78316c 0%, #e62e8b 100%);

	--rounded-lg: calc(60 * var(--scale-ratio));
	--rounded-md: calc(50 * var(--scale-ratio));
}

body {
	-webkit-highlight: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: text;
	-webkit-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

body p, body span, body dl, h1, h2, h3, h4, h5, h6, li {
    transform: rotate(0.03deg);
    -moz-transform: rotate(0.03deg);
    -ms-transform: rotate(0.03deg);
    -o-transform: rotate(0.03deg);
    -webkit-transform: rotate(0.03deg);
}

/*--- layout ---*/
ul[class] {
	list-style: none;}
ul.note-list {
	clear:both;}
ul.note-list li {
	font-size: 11px;
	list-style:none;
	text-indent: -1em;
	padding-left: 1em;
	margin:0;
	text-align: left;}
ul.note-list li a {
	color: inherit;
    text-decoration: underline;}
.ta-left {
	text-align: left !important;}
.ta-center {
	text-align: center !important;}
.ta-right {
	text-align: right !important;}
.ta-s-left {
	text-align: left !important;}
.ta-s-center {
	text-align: center !important;}
.ta-s-right {
	text-align: right !important;}
button {
	margin: 0;
	padding: 0;
	border: none;
	cursor: pointer;}
.art {
	pointer-events: none;
	display: block;
}
.art img {
	margin: 0 auto;
	display: block;
	max-width: unset;
	width: 100%;
}

.content-main {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	overflow: hidden;
	overflow: clip;
}
.content-main {
	color: var(--color-base);
	font-size: 16px;
}
.content-main * {
	box-sizing: border-box;
}
.content-main strong {
	font-weight: 800;
}
.content-main img,
.content-footer img {
	max-width: 100%;
	height: auto;
}
.content-main a.over {
	overflow: hidden;
}
.content-main a.over img {
	opacity: 1;
	transition: all .1s;
}
.content-main a.over:hover img{
	opacity: 0;
}

.content-main .ico,
.content-main .art {
	pointer-events: none;
}

/* mainContent */
#mainContents A:link ,
#mainContents A:visited,
#mainContents A:active {text-decoration:underline; }
#mainContents A:hover {text-decoration:none; }


@media screen and (min-width: 769px) {
	:root {
		--scale-ratio: 1px;
		--font-ratio: 1px;
		--nav-height: 146px;
	}

	/* ----------------------------------------------------------------------------------------------------
	*  main layout
	* --------------------------------------------------------------------------------------------------*/
	.display-sp{
		display: none !important;
	}

	/*--- font ---*/
	.fs-lg {
		font-size: 18px !important;}
	.fs-l {
		font-size: 16px !important;}
	.fs-m {
		font-size: 14px !important;}
	.fs-s {
		font-size: 12px !important;}
	.fs-big {
		font-size: 130%;
	    vertical-align: text-bottom; }
	.fs-small {
		font-size: 80%;
	    vertical-align: baseline; }
	.fw-normal {
		font-weight: normal !important;}
	.fw-bold {
		font-weight: 800 !important;}
	.note {
		font-size: 80%;}

	.contentIn {
		font-size: 16px;
	}
	.wrap{
		min-width: 1100px;
	}

	/* ----------------------------------------------------------------------------------------------------
	*  scrollAnime
	* --------------------------------------------------------------------------------------------------*/
	.scrollTrigger.-fadeUp {
		transform: translate(0, 25%);
		opacity: 0;
	}
	.scrollTrigger.-fadeUp.is-active {
		animation: fadeUp 1.5s cubic-bezier(.23,1,.32,1) forwards;
	}
	.scrollTrigger.-scaleUp.is-active {
		animation: scaleUp 0.5s cubic-bezier(0.12, 0, 0.39, 0) forwards;
	}
	.scrollTrigger.-moveUp {
		transform: translate(0, 50%);
	}
	.scrollTrigger.-moveUp.is-active {
		animation: moveUp 0.5s cubic-bezier(.23,1,.32,1) 0.1s forwards;
	}
	.scrollTrigger.-moveBumpy.is-active {
		animation: moveBumpy 0.5s cubic-bezier(.23,1,.32,1) forwards;
	}
	.scrollTrigger.-slideMoveBumpy.is-active {
		animation: slideMoveBumpy 0.5s cubic-bezier(.23,1,.32,1) both;
	}
	@keyframes fadeUp {
		0% {transform: translate(0, 50%); opacity: 0;}
		100% {transform: translate(0, 0); opacity: 1;}
	}
	@keyframes fadeIn {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
	@keyframes fadeScale {
		0% {transform: scale(0.5); opacity: 0;}
		100% {transform: scale(1); opacity: 1;}
	}
	@keyframes scaleUp {
		0% {transform: scale(0.5);}
		100% {transform: scale(1);}
	}
	@keyframes moveUp {
		0% {transform: translate(0, 25%);}
		100% {transform: translate(0, 0);}
	}
	@keyframes moveBumpy {
		0% {transform: rotate(0deg);}
		25% {transform: rotate(-3deg);}
		50% {transform: rotate(3deg);}
		75% {transform: rotate(-3deg);}
		100% {transform: rotate(0deg);}
	}
	@keyframes moveDown {
		0% {transform: translate(0, -100vh);}
		60% {transform: translate(0, 0);}
		80% {transform: translate(0,-5%);}
		100% {transform: translate(0, 0);}
	}
	@keyframes slideMoveBumpy {
		0% {transform: translate(-80%, 0) rotate(0deg);}
		20% {transform: translate(-70%, 0) rotate(-3deg);}
		40% {transform: translate(-50%, 0) rotate(3deg);}
		60% {transform: translate(-30%, 0) rotate(-3deg);}
		80% {transform: translate(-10%, 0) rotate(3deg);}
		100% {transform: translate(0, 0) rotate(0deg);}
	}


	/* ----------------------------------------------------------------------------------------------------
	*  sec common
	* --------------------------------------------------------------------------------------------------*/
	.sec {
		position: relative;
		min-width: 980px;
	}
	.sec-inner{
		margin: 0 auto;
		width: 980px;
	}
	.size-dl dt,
	.size-dl dd {
		font-size: calc(15 * var(--font-ratio));
		line-height: 1.46;
		letter-spacing: 0.025em;
		display: inline-block;
	}
}

@media screen and (max-width: 768px) {
	:root {
		--scale-ratio: calc(100vw / 750);
		--font-ratio: 0.5px;
		--nav-height: calc(163 * var(--scale-ratio));
	}

	/* ----------------------------------------------------------------------------------------------------
	*  main layout
	* --------------------------------------------------------------------------------------------------*/
	.display-pc{
		display: none !important;
	}

	/*--- font ---*/
	.fs-l {
		font-size: 114% !important;}
	.fs-m {
		font-size: 100% !important;}
	.fs-s {
		font-size: 85.7% !important;}
	.fs-big {
		font-size: 130%;
	    vertical-align: text-bottom; }
	.fs-small {
		font-size: 80%;
	    vertical-align: baseline; }
	.fw-normal {
		font-weight: normal !important;}
	.fw-bold {
		font-weight: bold !important;}
	.fw-normal {
		font-weight: normal !important;}
	.note {
		font-size: 11px;
		letter-spacing: 0.05em;
		padding: 5px 0 ;}

	.contentIn {
		font-size: 13px;
	}
	.wrap{
		width: 100%;
	}


	/* ----------------------------------------------------------------------------------------------------
	*  sec common
	* --------------------------------------------------------------------------------------------------*/
	.sec {
		position: relative;
	}
	.sec-inner{
		padding: 0 calc(40 * var(--scale-ratio));
	}
	.txt-lead {
		margin-top: calc(100 * var(--scale-ratio));
	}

	.size-dl dt,
	.size-dl dd {
		font-size: calc(22 * var(--font-ratio));
		line-height: 1.54;
		display: inline;
	}

}


/* ----------------------------------------------------------------------------------------------------
*  scrollAnime
* --------------------------------------------------------------------------------------------------*/
.scrollTrigger.-fadeUp {
	transform: translate(0, 25%);
	opacity: 0;
}
.scrollTrigger.-fadeUp.is-active {
	animation: fadeUp 1.5s cubic-bezier(.23,1,.32,1) both;
}
.scrollTrigger.-scaleUp.is-active {
	animation: scaleUp 0.5s cubic-bezier(0.12, 0, 0.39, 0) both;
}
.scrollTrigger.-moveUp {
	transform: translate(0, 50%);
}
.scrollTrigger.-moveUp.is-active {
	animation: moveUp 0.5s cubic-bezier(.23,1,.32,1) 0.1s both;
}
.scrollTrigger.-moveBumpy.is-active {
	animation: moveBumpy 0.5s cubic-bezier(.23,1,.32,1) both;
}
.scrollTrigger.-slideMoveBumpy.is-active {
	animation: slideMoveBumpy 0.5s cubic-bezier(.23,1,.32,1) both;
}
.scrollTrigger.-clipImage {
	clip-path: inset(0 100% 0 0);
}
.scrollTrigger.-clipImage.is-active {
	animation: clipImage .5s ease-in .2s forwards;
}
.scrollTrigger.-fadeIn {
	opacity: 0;
}
.scrollTrigger.-fadeIn.is-active {
	animation: fadeIn 1.5s cubic-bezier(.23,1,.32,1) .2s forwards;
}

@keyframes fadeUp {
	0% {transform: translate(0, 50%); opacity: 0;}
	100% {transform: translate(0, 0); opacity: 1;}
}
@keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
@keyframes fadeScale {
	0% {transform: scale(0.5); opacity: 0;}
	100% {transform: scale(1); opacity: 1;}
}
@keyframes scaleUp {
	0% {transform: scale(0.5);}
	100% {transform: scale(1);}
}
@keyframes moveUp {
	0% {transform: translate(0, 25%);}
	100% {transform: translate(0, 0);}
}
@keyframes moveBumpy {
	0% {transform: rotate(0deg);}
	25% {transform: rotate(-3deg);}
	50% {transform: rotate(3deg);}
	75% {transform: rotate(-3deg);}
	100% {transform: rotate(0deg);}
}
@keyframes moveDown {
	0% {transform: translate(0, -100vh);}
	60% {transform: translate(0, 0);}
	80% {transform: translate(0,-5%);}
	100% {transform: translate(0, 0);}
}
@keyframes slideMoveBumpy {
	0% {transform: translate(-80%, 0) rotate(0deg);}
	20% {transform: translate(-70%, 0) rotate(-3deg);}
	40% {transform: translate(-50%, 0) rotate(3deg);}
	60% {transform: translate(-30%, 0) rotate(-3deg);}
	80% {transform: translate(-10%, 0) rotate(3deg);}
	100% {transform: translate(0, 0) rotate(0deg);}
}
@keyframes clipImage {
	0%{ clip-path: inset(0 100% 0 0); }
	100%{ clip-path: inset(0 0 0 0); }
}

@keyframes bubbleAnime01 {
	0% { transform: translate(0, 5%); }
	25% { transform: translate(0, 10%); }
	75% { transform: translate(0, 0); }
	100% { transform: translate(0, 5%); }
}

@keyframes bubbleAnime02 {
	0% { opacity: 0; }
	100% { opacity: .85; }
}

/* ----------------------------------------------------------------------------------------------------
*  content-header
* --------------------------------------------------------------------------------------------------*/
.content-header {
	background: linear-gradient(#f0459c 0%, #ee87b5 100%);
	position: relative;
	z-index: 21;
	.bg-grid {
		background: url("../images/header_bg01.png") 50% 50% / calc(150 * var(--scale-ratio)) auto;
		position: absolute;
		width: 100%;
		height: 100%;
		opacity: .4;
		z-index: 1;
	}
	.img {
		position: relative;
		left: 50%;
		z-index: 2;
		display: block;
		width: 1612px;
		transform: translateX(calc(-50% - 44px));
	}
	.bubble {
		position: absolute;
		top: 0;
		left: 50%;
		z-index: 5;
		display: block;
		width: 1933px;
		transform: translateX(calc(-50% - 13px));
	}
	.belt {
		border-top: calc(11 * var(--scale-ratio)) solid #FBE53Ce0;
		border-bottom: calc(11 * var(--scale-ratio)) solid #FBE53Ce0;
		background: #E62E8Bb3;
		position: absolute;
		bottom: 0;
		z-index: 3;
		width: 100%;
		height: calc(204 * var(--scale-ratio));
		.ribbon {
			margin-inline: auto;
			position: absolute;
			top: calc(-79 * var(--scale-ratio));
			left: 0;
			right: 0;
			width: calc(350 * var(--scale-ratio));
		}
		.ttl {
			margin: -14px 0 0;
			position: relative;
			left: 50%;
			width: 1232px;
			transform: translateX(calc(-50% + 10px));
			animation: clipImage .5s ease-in .2s forwards;
		}
	}
}

.bubble-parts {
	background: no-repeat 50% 50% / 100% auto;
	position: absolute;
	opacity: 0;
	animation: bubbleAnime01 8s ease 0s infinite, bubbleAnime02 .5s linear forwards;
	&.bubble-xl {
		background-image: url("../images/bubble_xl.png");
		width: calc(203 * var(--scale-ratio));
		height: calc(211 * var(--scale-ratio));
		animation-delay: 1.5s;
	}
	&.bubble-lg {
		background-image: url("../images/bubble_lg.png");
		width: calc(162 * var(--scale-ratio));
		height: calc(165 * var(--scale-ratio));
		animation-delay: .3s;
	}
	&.bubble-md {
		background-image: url("../images/bubble_md.png");
		width: calc(88 * var(--scale-ratio));
		height: calc(91 * var(--scale-ratio));
		animation-delay: .6s;
	}
	&.bubble-sm {
		background-image: url("../images/bubble_sm.png");
		width: calc(59 * var(--scale-ratio));
		height: calc(62 * var(--scale-ratio));
		animation-delay: .7s;
	}
}

@media screen and (min-width: 769px) {
	.content-header .bubble {
		.-xl01 {
			left: 0;
			bottom: 0;
		}
		.-xl02 {
			top: -80px;
			right: 154px;
		}
		.-lg01 {
			top: 289px;
			right: 98px;
		}
		.-lg02 {
			right: 52px;
			bottom: 26px;
		}
		.-lg03 {
			top: 100px;
			left: 193px;
		}
		.-md01 {
			top: -43px;
			left: 133px;
		}
		.-md02 {
			bottom: 338px;
			left: 105px;
		}
		.-md03 {
			bottom: 203px;
			right: 220px;
		}
		.-sm01 {
			left: 251px;
			bottom: 144px;
		}
		.-sm02 {
			left: 238px;
			top: 331px;
		}
		.-sm03 {
			right: 154px;
			bottom: 363px;
		}
	}
}
@media screen and (max-width: 768px) {
	.content-header {
		.img, .bubble {
			left: 0;
			width: 100%;
			transform: translateX(0);
		}
		.bubble {
			height: calc(751 * var(--scale-ratio));
			.bubble-xl {
				width: calc(147 * var(--scale-ratio));
				height: calc(153 * var(--scale-ratio));
			}
			.bubble-lg {
				width: calc(99 * var(--scale-ratio));
				height: calc(102 * var(--scale-ratio));
			}
			.bubble-md {
				width: calc(67 * var(--scale-ratio));
				height: calc(69 * var(--scale-ratio));
			}
			.-xl01 {
				top: calc(-38 * var(--scale-ratio));
				right: calc(-21 * var(--scale-ratio));
			}
			.-lg01 {
				bottom: calc(42 * var(--scale-ratio));
				left: calc(-29 * var(--scale-ratio));
			}
			.-lg02 {
				right: calc(-38 * var(--scale-ratio));
				bottom: 0;
				width: calc(150 * var(--scale-ratio));
				height: calc(154 * var(--scale-ratio));
			}
			.-md01 {
				top: calc(84 * var(--scale-ratio));
				left: calc(-22.5 * var(--scale-ratio));
			}
			.-md02 {
				top: calc(-22 * var(--scale-ratio));
				right: calc(288 * var(--scale-ratio));
				width: calc(65 * var(--scale-ratio));
				height: calc(67 * var(--scale-ratio));
			}
			.-md03 {
				top: calc(49 * var(--scale-ratio));
				right: calc(96 * var(--scale-ratio));
				width: calc(78 * var(--scale-ratio));
				height: calc(81 * var(--scale-ratio));
			}
			.-md04 {
				bottom: calc(107 * var(--scale-ratio));
				right: calc(46 * var(--scale-ratio));
				width: calc(88 * var(--scale-ratio));
				height: calc(90 * var(--scale-ratio));
			}
		}
		.belt {
			border: none;
			background: transparent;
			position: relative;
			height: auto;
			.ribbon {
				z-index: 3;
				width: calc(350 * var(--scale-ratio));
			}
			.ttl {
				margin: 0;
				left: auto;
				width: 100%;
				transform: translateX(0);
			}
		}
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec common
* --------------------------------------------------------------------------------------------------*/
.em {
	font-style: normal;
}

.block {
	display: block;
}

.tac {
	text-align: center;
}

.tal {
	text-align: left;
}

.tar {
	text-align: right;
}

.grad-text {
	position: relative;
}
.grad-text .txt-body {
	background: var(--color-gradient01);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
	position: relative;
	&.-reserve {
		background: var(--color-gradient02);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
}
.grad-text .txt-white {
	color: var(--color-white);
	-webkit-text-stroke: 4px var(--color-white);
	text-stroke: 4px var(--color-white);
	paint-order: stroke;
	filter: blur(calc(2 * var(--scale-ratio)));
	position: absolute;
	opacity: .9;
}

@media screen and (max-width: 768px) {
	.content-main .grad-text .txt-white {
		-webkit-text-stroke: calc(6 * var(--scale-ratio)) var(--color-white);
		text-stroke: calc(6 * var(--scale-ratio)) var(--color-white);
	}
}
.bg-gradient {
	background: no-repeat 50% 50%;
	background-image: var(--color-gradient03);
}
.sec {
	padding-top: calc(15 * var(--scale-ratio));
}
.sec-ti-area {
	margin-inline: calc(-60 * var(--scale-ratio));
	padding-top: calc(80 * var(--scale-ratio));
	background: url("../images/sec_ttl_heart01.png") no-repeat 50% 0 / calc(264 * var(--scale-ratio)) auto;
	position: relative;
	z-index: 5;
	.art.bubble {
		position: absolute;
		top: calc(175 * var(--scale-ratio));
		left: 0;
		width: calc(249 * var(--scale-ratio));
		&.-bubble02 {
			top: calc(120 * var(--scale-ratio));
			left: auto;
			right: calc(45 * var(--scale-ratio));
			width: calc(237 * var(--scale-ratio));
		}
	}
	.sec-ti {
		margin-inline: auto;
	}
	.ja {
		margin: calc(-25 * var(--scale-ratio)) auto 0;
		font-size: calc(24 * var(--font-ratio));
		text-align: center;
		display: block;
	}
	.art.line {
		margin: calc(6 * var(--scale-ratio)) auto 0;
		width: calc(524 * var(--scale-ratio));
	}
}
.txt-lead {
	margin-top: calc(80 * var(--scale-ratio));
	text-align: center;
	.em {
		font-weight: 800;
	}
}

.reservation-accordion {
	border-radius: calc(10 * var(--scale-ratio));
	overflow: hidden;
}
.reservation-accordion .reservation-accordion-summary {
	background: var(--color-base);
	color: var(--color-white);
	font-size: calc(24 * var(--font-ratio));
	text-align: center;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(65 * var(--scale-ratio));
	cursor: pointer;
}
.reservation-accordion .reservation-accordion-summary::-webkit-details-marker {
	display: none;
}
.reservation-accordion .reservation-accordion-summary .icon {
	content: "";
	background: url("../images/intro_btn_arrow01.svg") no-repeat 50% 50% / contain;
	position: absolute;
	right: calc(10 * var(--scale-ratio));
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: calc(20 * var(--scale-ratio));
	height: calc(11 * var(--scale-ratio));
	pointer-events: none;
	transition: transform .2s ease-out;
}
.reservation-accordion .reservation-accordion-body {
	padding: calc(26 * var(--scale-ratio)) calc(30 * var(--scale-ratio));
	background: var(--color-white);
}

.reservation-accordion[open] .reservation-accordion-summary .icon {
	transform: translateY(-50%) scaleY(-1);
}
.reservation-accordion .reservation-accordion-body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .5s ease;
}
.reservation-accordion[open] .reservation-accordion-body {
	grid-template-rows: 1fr;
}
.reservation-accordion .reservation-accordion-body > * {
	overflow: hidden;
}
@supports selector(::details-content) {
	:root { interpolate-size: allow-keywords; }
	.reservation-accordion::details-content {
		transition: height .5s ease, content-visibility .5s allow-discrete;
		height: 0;
		overflow: clip;
	}
	.reservation-accordion[open]::details-content {
		height: auto;
	}
	.reservation-accordion .reservation-accordion-body {
		display: block;
		grid-template-rows: none;
		transition: none;
	}
	.reservation-accordion .reservation-accordion-body > * {
		overflow: visible;
	}
}
@media (prefers-reduced-motion: reduce) {
	.reservation-accordion .reservation-accordion-body {
		transition: none;
	}
	@supports selector(::details-content) {
		.reservation-accordion::details-content {
			transition: none;
		}
	}
}

.sec .btn .btn-link {
	margin: 0 auto;
	color: var(--color-white);
	border-radius: var(--rounded-md);
	background: var(--color-base);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	.arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.link-txt {
		line-height: 1;
		font-weight: 800;
	}
}

.btn-link {
	overflow: hidden;
	position: relative;
}
.btn-link::after {
	content: "";
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100px;
	height: 100%;
	opacity: .8;
	transform: translateX(-200px) skewX(-30deg);
	transition: transform .2s ease-out;
}
.sec .-disabled .btn-link::after,
.sec .btn-link.-disabled::after {
	display: none;
}
.btn-link .arrow {
	transition: transform .5s ease-out;
}
.sec .btn-link:hover .arrow {
	transform: translateX(5px) !important;
}
.sec .btn-link:hover .arrow.-middle {
	transform: translate(5px,-50%) !important;
}
.sec .-disabled .btn-link:hover .arrow {
	transform: translateX(0) !important;
}
.sec .-disabled .btn-link:hover .arrow.-middle {
	transform: translate(0,-50%) !important;
}
.btn-link:hover::after {
	transform: translateX(550px) skewX(-30deg);
}

.sec .btn.-disabled .btn-link,
.sec .btn-reservation.-disabled .btn-link {
	background: #CBCBCB;
}
.sec .-disabled .link-txt {
	color: #8E8E8E;
}
.sec .-disabled .arrow {
	background: #8E8E8E;
	-webkit-mask-image: url("../images/btn_arrow02.svg");
	mask-image: url("../images/btn_arrow02.svg");
	mask-size: 100% 100%;
	img {
		opacity: 0;
	}
}

.sec .txt-start {
	font-size: calc(22 * var(--font-ratio));
	font-weight: 900;
	vertical-align: middle;
	.em {
		padding-right: 0.5em;
		color: var(--color-accent01);
		vertical-align: middle;
	}
}
.sec .number {
	font-size: 120%;
	vertical-align: baseline;
}
.sec .week {
	font-size: 85%;
	vertical-align: baseline;
}

.sec.-ribbon::before {
	content: "";
	background: url("../images/bg_dots.png") 50% 50% / auto 100%;
	pointer-events: none;
	position: absolute;
	left: 0;
	top: calc(-51 * var(--scale-ratio));
	display: block;
	width: 100%;
	height: calc(51 * var(--scale-ratio));
}

.sec.sec-room::before {
	background-color: var(--color-ribbon01);
}
.sec.sec-menu::before {
	background-color: var(--color-ribbon02);
}
.sec.sec-park::before {
	background-color: var(--color-ribbon03);
}

@media screen and (max-width: 768px) {
	.sec-ti-area {
		margin-inline: calc(-40 * var(--scale-ratio));
		padding-top: calc(78 * var(--scale-ratio));
		.art.bubble {
			position: absolute;
			top: calc(175 * var(--scale-ratio));
			left: calc(-175 * var(--scale-ratio));
			&.-bubble02 {
				right: calc(-130 * var(--scale-ratio));
			}
		}
		.ja {
			margin: calc(-17 * var(--scale-ratio)) auto 0;
		}
		.art.line {
			margin-top: 0;
		}
	}
	.reservation-accordion .reservation-accordion-summary {
		padding-block: calc(27 * var(--scale-ratio));
		font-size: calc(26 * var(--font-ratio));
		line-height: 1.46;
		height: auto;
	}
	.reservation-accordion .reservation-accordion-summary .icon {
	    right: calc(20 * var(--scale-ratio));
		width: calc(26 * var(--scale-ratio));
		height: calc(14 * var(--scale-ratio));
	}

	.sec .txt-start {
		font-size: calc(26 * var(--font-ratio));
	}

}

/* ----------------------------------------------------------------------------------------------------
*  sec-intro
* --------------------------------------------------------------------------------------------------*/
.sec-intro {
	padding-block: calc(90 * var(--scale-ratio)) calc(208 * var(--scale-ratio));
	background: var(--color-intro01);
	.lead-area {
		padding-block: calc(25 * var(--scale-ratio)) calc(80 * var(--scale-ratio));
		display: flex;
		justify-content: center;
		align-items: flex-start;
		.txt-lead {
			margin-top: 0;
			margin-inline: calc(-30 * var(--scale-ratio));
			text-indent: .5em;
			font-size: calc(34 * var(--font-ratio));
			line-height: 1.5;
			.em {
				text-indent: 0;
			}
		}
		.art {
			margin-top: calc(-15 * var(--scale-ratio));
			width: calc(98 * var(--scale-ratio));
			&.-right {
				margin: auto calc(-15 * var(--scale-ratio)) calc(-15 * var(--scale-ratio)) calc(15 * var(--scale-ratio));
				width: calc(94 * var(--scale-ratio));
			}
		}
	}
	.intro-nav {
		margin-bottom: calc(130 * var(--scale-ratio));
		.intro-nav-item {
			display: flex;
			align-items: center;
			&:nth-child(n+2) {
				margin-top: calc(-15 * var(--scale-ratio));
			}
			&:nth-child(odd) {
				gap: calc(40 * var(--scale-ratio));
				.body-column {
					padding-bottom: calc(40 * var(--scale-ratio));
				}
				.ttl {
					margin-left: calc(-90 * var(--scale-ratio));
					.ja {
						padding-left: calc(58 * var(--scale-ratio));
					}
				}
				.btn-intro {
					margin-left: 0;
				}
			}
			&:nth-child(even) {
				margin-right: calc(-15 * var(--scale-ratio));
				gap: calc(30 * var(--scale-ratio));
				flex-direction: row-reverse;
				text-align: right;
				.body-column {
					padding-bottom: calc(10 * var(--scale-ratio));
				}
				.ttl {
					margin-inline: auto calc(-80 * var(--scale-ratio));
					.ja {
						margin-bottom: calc(-10 * var(--scale-ratio));
						padding-right: calc(18 * var(--scale-ratio));
						display: block;
					}
				}
				.btn-intro {
					margin-right: 0;
				}
			}
			&.-nav01 {
				.ttl {
					width: calc(456 * var(--scale-ratio));
				}
			}
			&.-nav02 {
				.ttl {
					width: calc(240 * var(--scale-ratio));
				}
			}
			&.-nav03 {
				margin-top: 0;
				.ttl {
					width: calc(494 * var(--scale-ratio));
				}
			}
			.img-column {
				position: relative;
				width: calc(400 * var(--scale-ratio));
				aspect-ratio: 1;
				flex-shrink: 0;
				&::before {
					content: "";
					border: calc(6 * var(--scale-ratio)) solid var(--color-white);
					border-radius: 100%;
					background: var(--color-white);
					filter: blur(calc(8 * var(--scale-ratio)));
					position: absolute;
					left: calc(-6 * var(--scale-ratio));
					top: calc(-6 * var(--scale-ratio));
					z-index: 5;
					width: 100%;
					aspect-ratio: 1;
				}
				.photo {
					border-radius: 100%;
					background: var(--color-white);
					overflow: hidden;
					aspect-ratio: 1;
					position: relative;
					z-index: 10;
					width: 100%;
				}
				.ribbon {
					position: absolute;
					z-index: 20;
					left: calc(70 * var(--scale-ratio));
					bottom: calc(-44 * var(--scale-ratio));
					width: calc(266 * var(--scale-ratio));
				}
			}
			.body-column {
				position: relative;
				z-index: 20;
				.ttl .ja {
					color: var(--color-accent01);
					font-size: calc(22 * var(--font-ratio));
				}
				.txt {
					font-size: calc(24 * var(--font-ratio));
					line-height: 1.5;
				}
				.btn-intro {
					margin-top: calc(14 * var(--scale-ratio));
					padding-bottom: calc(3 * var(--scale-ratio));
					background: url("../images/intro_btn_arrow01.svg") no-repeat right calc(10 * var(--scale-ratio)) top calc(28 * var(--scale-ratio)) / calc(16 * var(--scale-ratio)) calc(9 * var(--scale-ratio)), url("../images/intro_btn_bg01.png") no-repeat 50% 50% / 100% 100%;
					border-radius: var(--rounded-md);
					color: var(--color-white);
					font-weight: 800;
					font-size: calc(32 * var(--font-ratio));
					overflow: hidden;
					display: grid;
					place-content: center;
					width: calc(200 * var(--scale-ratio));
					height: calc(60 * var(--scale-ratio));
				}
			}
		}
	}
	.intro-bnr {
		margin-inline: auto;
		position: relative;
		width: calc(1000 * var(--scale-ratio));
		.mask {
			border-radius: var(--rounded-md);
			overflow: hidden;
			aspect-ratio: 1000 / 560;
			position: relative;
			.txt-copy {
				color: var(--color-white);
				font-weight: 800;
				font-size: calc(30 * var(--font-ratio));
				line-height: 1.3;
				position: absolute;
				display: flex;
				align-items: flex-end;
				z-index: 3;
				&.-copy01 {
					padding-bottom: calc(40 * var(--scale-ratio));
					padding-right: calc(51 * var(--scale-ratio));
					background: linear-gradient(#e62e8bb3 0%, #f7c9ddb3 100%);
					-webkit-mask-image: url("../images/intro_bnr_wave01.svg");
					mask-image: url("../images/intro_bnr_wave01.svg");
					mask-size: 100% 100%;
					justify-content: flex-end;
					top: calc(-38 * var(--scale-ratio));
					right: calc(-15 * var(--scale-ratio));
					width: calc(986 * var(--scale-ratio));
					height: calc(140 * var(--scale-ratio));
				}
				&.-copy02 {
					padding-bottom: calc(45 * var(--scale-ratio));
					padding-left: calc(32 * var(--scale-ratio));
					background: linear-gradient(#f7c9ddb3 0%, #e62e8bb3 100%);
					-webkit-mask-image: url("../images/intro_bnr_wave02.svg");
					mask-image: url("../images/intro_bnr_wave02.svg");
					mask-size: 100% 100%;
					justify-content: flex-start;
					left: 0;
					bottom: calc(-11 * var(--scale-ratio));
					width: calc(1068 * var(--scale-ratio));
					height: calc(180 * var(--scale-ratio));
				}
				.heart {
					&.-heart01 {
						margin-right: calc(1 * var(--scale-ratio));
						margin-bottom: calc(5 * var(--scale-ratio));
						width: calc(23 * var(--scale-ratio));
					}
					&.-heart02 {
						margin-left: calc(-10 * var(--scale-ratio));
						width: calc(44 * var(--scale-ratio));
					}
					&.-heart03 {
						margin-left: calc(12 * var(--scale-ratio));
						margin-bottom: calc(-7 * var(--scale-ratio));
						width: calc(60 * var(--scale-ratio));
					}
				}
			}
		}
		.art.-bnr-art {
			position: absolute;
			z-index: 5;
			&.-art01 {
				top: calc(-56 * var(--scale-ratio));
				left: calc(-51 * var(--scale-ratio));
				width: calc(286 * var(--scale-ratio));
			}
			&.-art02 {
				bottom: calc(-52 * var(--scale-ratio));
				right: calc(-50 * var(--scale-ratio));
				width: calc(270 * var(--scale-ratio));
			}
		}
	}
}

@media screen and (max-width: 768px) {
	.sec-intro {
		padding-block: calc(100 * var(--scale-ratio)) calc(260 * var(--scale-ratio));
		.lead-area {
			padding-block: 0 calc(150 * var(--scale-ratio));
			position: relative;
			.txt-lead{
				margin-inline: calc(-15 * var(--scale-ratio));
				em {
					margin-top: calc(15 * var(--scale-ratio));
				}
			}
			.art {
				margin-top: calc(20 * var(--scale-ratio));
				position: absolute;
				top: 0;
				left: 0;
				&.-right {
					margin-top: calc(30 * var(--scale-ratio));
					left: auto;
					right: calc(15 * var(--scale-ratio));
				}
			}
		}
		.intro-nav {
			margin-bottom: calc(160 * var(--scale-ratio));
			.intro-nav-item {
				align-items: flex-start;
				&:nth-child(n+2) {
					margin-top: calc(134 * var(--scale-ratio));
				}
				&:nth-child(odd) {
					gap: calc(17 * var(--scale-ratio));
					.ttl {
						float: right;
					}
					.txt {
						clear: both;
					}
				}
				&:nth-child(even) {
					margin-right: 0;
					gap: calc(17 * var(--scale-ratio));
					.body-column {
						margin-top: 0;
					}
					.txt {
						text-align: left;
					}
					.btn-intro {
						margin-right: calc(22 * var(--scale-ratio));
					}
				}
				&.-nav03 {
					margin-top: calc(145 * var(--scale-ratio));
				}
				.body-column {
					margin-top: calc(-60 * var(--scale-ratio));
					padding-bottom: 0;
					flex: 1;
					min-width: 0;
					.ttl .ja {
						font-size: calc(26 * var(--font-ratio));
					}
					.txt {
						font-size: calc(28 * var(--font-ratio));
						line-height: 1.7;
					}
					.btn-intro {
						margin-top: calc(23 * var(--scale-ratio));
						background-position: right calc(12 * var(--scale-ratio)) top calc(32 * var(--scale-ratio)), 50% 50% ;
						background-size: calc(16 * var(--scale-ratio)) calc(9 * var(--scale-ratio)), 100% 100%;
						font-size: calc(36 * var(--font-ratio));
						width: calc(230 * var(--scale-ratio));
						height: calc(70 * var(--scale-ratio));
					}
				}
			}
		}
		.intro-bnr {
			margin-inline: calc(-40 * var(--scale-ratio));
			width: calc(750 * var(--scale-ratio));
			.mask {
				border-radius: 0;
				aspect-ratio: 1;
				.txt-copy {
					font-size: calc(36 * var(--font-ratio));
					&.-copy01 {
						padding-bottom: calc(26 * var(--scale-ratio));
						padding-right: calc(45 * var(--scale-ratio));
						top: -1px;
						right: -2px;
						width: calc(1000 * var(--scale-ratio));
					}
					&.-copy02 {
						padding-bottom: calc(35 * var(--scale-ratio));
						padding-left: calc(30 * var(--scale-ratio));
						bottom: calc(-10 * var(--scale-ratio));
					}
					.heart {
						&.-heart01 {
							margin-bottom: calc(47 * var(--scale-ratio));
							width: calc(27 * var(--scale-ratio));
						}
						&.-heart02 {
							margin-left: calc(-22 * var(--scale-ratio));
							width: calc(51 * var(--scale-ratio));
						}
						&.-heart03 {
							margin-left: 0;
							margin-bottom: 0;
							width: calc(68 * var(--scale-ratio));
						}
					}
				}
			}
			.art.-bnr-art {
				position: absolute;
				z-index: 5;
				&.-art01 {
					top: calc(-66 * var(--scale-ratio));
					left: 0;
					width: calc(290 * var(--scale-ratio));
				}
				&.-art02 {
					bottom: calc(-87 * var(--scale-ratio));
					right: 0;
					width: calc(330 * var(--scale-ratio));
				}
			}
		}
	}
}

/* ----------------------------------------------------------------------------------------------------
*  bubble-frame
* --------------------------------------------------------------------------------------------------*/
.bubble-frame {
	top: 0;
	left: 50%;
	position: fixed;
	z-index: 1;
	transform: translateX(-50%);
	width: 1995px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s, visibility .5s;
	&.-is-show {
		opacity: 1;
		visibility: visible;
	}
}

.sec > * {
	position: relative;
	z-index: 2;
}

@media screen and (min-width: 769px) {
	.bubble-frame {
		.bubble-xl {
			&.-xl01 {
				top: 495px;
				left: 128px;
				width: calc(211 * var(--scale-ratio));
				height: calc(220 * var(--scale-ratio));
			}
			&.-xl02 {
				top: 210px;
				right: 72px;
				width: calc(201 * var(--scale-ratio));
				height: calc(209 * var(--scale-ratio));
			}
		}
		.bubble-lg {
			&.-lg01 {
				left: 0;
				top: 254px;
				width: calc(175 * var(--scale-ratio));
				height: calc(179 * var(--scale-ratio));
			}
			&.-lg02 {
				top: 705px;
				right: 12px;
				width: calc(188 * var(--scale-ratio));
				height: calc(192 * var(--scale-ratio));
			}
		}
		.bubble-md {
			width: calc(98 * var(--scale-ratio));
			height: calc(101 * var(--scale-ratio));
			&.-md01 {
				top: 51px;
				left: 175px;
			}
			&.-md02 {
				top: 831px;
				left: 95px;
			}
			&.-md03 {
				top: 3px;
				right: 0;
			}
			&.-md04 {
				top: 553px;
				right: 0;
			}
		}
	}
}

@media screen and (max-width: 768px) {
	.bubble-frame {
		top: calc(8 * var(--scale-ratio));
		width: calc(895 * var(--scale-ratio));
		.bubble-xl {
			&.-xl01 {
				top: calc(849 * var(--scale-ratio));
				left: 0;
				width: calc(194 * var(--scale-ratio));
				height: calc(201 * var(--scale-ratio));
			}
			&.-xl02 {
				top: calc(316 * var(--scale-ratio));
				right: 0;
				width: calc(168 * var(--scale-ratio));
				height: calc(175 * var(--scale-ratio));
			}
		}
		.bubble-lg {
			&.-lg01 {
				left: calc(101 * var(--scale-ratio));
				top: calc(514 * var(--scale-ratio));
				width: calc(97 * var(--scale-ratio));
				height: calc(98 * var(--scale-ratio));
			}
			&.-lg02 {
				top: calc(969 * var(--scale-ratio));
				right: calc(28 * var(--scale-ratio));
				width: calc(176 * var(--scale-ratio));
				height: calc(180 * var(--scale-ratio));
			}
		}
		.bubble-md {
			&.-md01 {
				top: calc(49 * var(--scale-ratio));
				left: calc(14 * var(--scale-ratio));
				width: calc(130 * var(--scale-ratio));
				height: calc(133 * var(--scale-ratio));
			}
			&.-md02 {
				top: calc(1330 * var(--scale-ratio));
				left: calc(29 * var(--scale-ratio));
				width: calc(77 * var(--scale-ratio));
				height: calc(79 * var(--scale-ratio));
			}
			&.-md03 {
				top: calc(152 * var(--scale-ratio));
				right: calc(37 * var(--scale-ratio));
				width: calc(71 * var(--scale-ratio));
				height: calc(73 * var(--scale-ratio));
			}
			&.-md04 {
				top: calc(722 * var(--scale-ratio));
				right: calc(36 * var(--scale-ratio));
				width: calc(98 * var(--scale-ratio));
				height: calc(101 * var(--scale-ratio));
			}
		}
	}
}

/* ----------------------------------------------------------------------------------------------------
*  top-nav
* --------------------------------------------------------------------------------------------------*/
.top-nav {
	margin: 0 auto;
	display: none;
	&.-is-fixed {
		position: fixed;
		top: calc(20 * var(--scale-ratio));
		left: 0;
		right: 0;
		z-index: 999;
		display: block;
		transform: translateY(-100%);
		height: var(--nav-height);
		animation: navFixed .5s linear forwards;
	}
	.art.ribbon {
		margin: 0 auto calc(-20 * var(--scale-ratio));
		width: calc(180 * var(--scale-ratio));
	}
	.top-nav-list {
		margin: auto;
		padding-top: calc(6 * var(--scale-ratio));
		border-radius: var(--rounded-md);
		border: calc(5 * var(--scale-ratio)) solid #FBE53C;
		background: var(--color-white);
		display: flex;
		justify-content: center;
		align-items: center;
		width: 1100px;
		height: calc(85 * var(--scale-ratio));
		.art.heart {
			margin-inline: calc(40 * var(--scale-ratio));
			width: calc(19 * var(--scale-ratio));
		}
		.top-nav-item {
			a {
				transition: .3s;
				&:hover {
					opacity: .8;
				}
			}
			.en {
				margin: auto;
				display: block;
				&.-top-nav01 {
					width: calc(198 * var(--scale-ratio));
				}
				&.-top-nav02 {
					width: calc(85 * var(--scale-ratio));
					& + .ja {
						margin-top: calc(3 * var(--scale-ratio));
					}
				}
				&.-top-nav03 {
					width: calc(217 * var(--scale-ratio));
				}
			}
			.ja {
				margin-top: calc(-6 * var(--scale-ratio));
				color: var(--color-accent01);
				font-size: calc(15 * var(--font-ratio));
				line-height: 1.44;
				text-align: center;
				display: block;
			}
		}
	}
}

/* .anchor-area {
	margin-top: calc(-1 * var(--nav-height));
	padding-top: var(--nav-height);
	display: block;
} */

.btn-fixed-reserve {
	&:not(.-is-fixed) {
		display: none;
	}
	&.-is-fixed {
		margin: auto;
		position: fixed;
		right: calc(20 * var(--scale-ratio));
		bottom: calc(21 * var(--scale-ratio));
		z-index: 999;
		width: calc(280 * var(--scale-ratio));
		height: calc(140 * var(--scale-ratio));
		animation: navFixedReverse .5s linear forwards;
		.link-txt {
			.-line01,
			.-line02 {
				font-weight: 800;
				text-align: center;
				line-height: 1.47;
				display: block;
				.txt-white,
				.txt-body {
					justify-content: center;
				}
				.txt-white {
					left: 0;
					right: 0;
				}
			}
			.-line01 {
				font-size: calc(23 * var(--font-ratio));
			}
			.-line02 {
				margin-top: calc(-6 * var(--scale-ratio));
				font-size: calc(27 * var(--font-ratio));
			}
			.arrow-cover {
				transition: .3s;
				display: block;
				.txt-white {
					margin: auto;
					left: 0;
					right: 0;
				}
				.art.arrow {
					margin: auto;
					transform: rotate(90deg);
					display: block;
				}
			}
		}
		.btn-link:hover {
			.arrow-cover {
				transform: translateY(5px);
			}
		}
		.art.heart {
			position: absolute;
			top: 0;
			left: calc(-9 * var(--scale-ratio));
			width: calc(290 * var(--scale-ratio));
		}
	}
}

@keyframes navFixed {
	0%{
		transform: translateY(-100%);
	}
	100%{
		transform: translateY(0);
	}
}
@keyframes navFixedReverse {
	0%{
		transform: translateY(100%);
	}
	100%{
		transform: translateY(0);
	}
}

@media screen and (max-width: 768px) {
	.top-nav {
		&.-is-fixed {
			top: calc(22 * var(--scale-ratio));
		}
		.top-nav-list {
			width: calc(730 * var(--scale-ratio));
			height: calc(100 * var(--scale-ratio));
			.art.heart {
				margin-inline: 0;
				width: calc(21 * var(--scale-ratio));
			}
			.top-nav-item {
				&.-nav01 {
					margin-right: calc(18 * var(--scale-ratio));
				}
				&.-nav02 {
					margin-inline: calc(27 * var(--scale-ratio)) calc(22 * var(--scale-ratio));
				}
				&.-nav03 {
					margin-left: calc(12 * var(--scale-ratio));
				}
				.en {
					&.-top-nav01 {
						width: calc(217 * var(--scale-ratio));
					}
					&.-top-nav02 {
						width: calc(93 * var(--scale-ratio));
						& + .ja {
							margin-top: 0;
						}
					}
					&.-top-nav03 {
						width: calc(237 * var(--scale-ratio));
					}
				}
				.ja {
					margin-top: calc(-10 * var(--scale-ratio));
					font-size: calc(22 * var(--font-ratio));
					line-height: 1.5;
				}
			}
		}
	}
	.btn-fixed-reserve {
		&.-is-fixed {
			margin: auto;
			right: 0;
			left: 0;
			bottom: 0;
			width: calc(730 * var(--scale-ratio));
			height: calc(115 * var(--scale-ratio));
			.link-txt {
				margin-bottom: calc(6 * var(--scale-ratio));
				display: grid;
				grid-template-columns: auto auto;
				align-items: center;
				column-gap: calc(10 * var(--scale-ratio));
				.-line01 {
					grid-column: 1 / -1;
					font-size: calc(32 * var(--font-ratio));
					line-height: 1.3;
				}
				.-line02 {
					margin-top: 0;
					font-size: calc(32 * var(--font-ratio));
					line-height: 1.3;
				}
				.arrow-cover {
					margin-top: calc(4 * var(--scale-ratio));
					width: calc(27 * var(--scale-ratio));
					.art.arrow {
						width: calc(15 * var(--scale-ratio));
						height: calc(27 * var(--scale-ratio));
					}
				}
			}
			.art.heart {
				position: absolute;
				top: auto;
				left: 50%;
				transform: translateX(-50%);
				bottom: calc(9 * var(--scale-ratio));
				width: calc(510 * var(--scale-ratio));
			}
			.btn-link {
				padding-bottom: 0;
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0;
				.link-cover {
					border-bottom: 0;
					border-bottom-left-radius: 0;
					border-bottom-right-radius: 0;
				}
			}
		}
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec-room
* --------------------------------------------------------------------------------------------------*/
.sec-room {
	padding-block: calc(120 * var(--scale-ratio)) calc(170 * var(--scale-ratio));
	background-color: var(--color-room01);
	.sec-ti-area {
		.sec-ti {
			padding-right: calc(6 * var(--scale-ratio));
			width: calc(577 * var(--scale-ratio));

		}
	}
	.room-ti-area {
		.room-ti {
			display: flex;
			flex-direction: column;
			align-items: center;
			.ja {
				margin-top: calc(10 * var(--scale-ratio));
				font-size: calc(25 * var(--font-ratio));
			}
			.art {
				margin-top: calc(15 * var(--scale-ratio));
				width: calc(56 * var(--scale-ratio));
			}
		}
	}
}

.sec-room .area-interior {
	.interior-item {
		--p: 0;
	}
	.interior-item:first-child {
		--p: 1;
	}
	.interior-item .img {
		margin: 0;
		overflow: hidden;
	}
	.interior-item .img img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.txt-box {
		position: relative;
		text-align: center;
	}
	.txt-box .ribbon {
		margin: 0 auto;
	}
	.txt-box .txt {
		position: relative;
		z-index: 1;
		letter-spacing: 0.05em;
	}
	.txt-box .art-box {
		position: absolute;
		z-index: 0;
	}
	.txt-box .art-box img {
		width: auto;
		height: 100%;
	}
}

.sec-room .area-detail {
	.logo-tdh {
		margin: calc(50 * var(--scale-ratio)) auto calc(40 * var(--scale-ratio));
		width: calc(370 * var(--scale-ratio));
	}
	.ti-detail {
		margin-bottom: calc(15 * var(--scale-ratio));
	}
	.ti-detail .txt-ti {
		font-size: calc(26 * var(--font-ratio));
		font-weight: 800;
		display: block;
	}
	.ti-detail .art-line-stone {
		text-align: center;
		position: relative;
	}
	.ti-detail .art.ribbon {
		margin: calc(30 * var(--scale-ratio)) auto 0;
		width: calc(183 * var(--scale-ratio));
	}
	.txt-date {
		margin-bottom: calc(66 * var(--scale-ratio));
		padding-bottom: calc(12 * var(--scale-ratio));
		background: url("../images/line_dot01.svg") no-repeat 0 100% / auto calc(8 * var(--scale-ratio));
		text-align: center;
		font-weight: 800;
		font-size: calc(22 * var(--font-ratio));
		display: inline-block;
		.number {
			font-size: calc(26 * var(--font-ratio));
		}
	}
	.txt {
		font-size: calc(22 * var(--font-ratio));
		.em {
			margin-bottom: calc(9 * var(--scale-ratio));
			color: var(--color-accent01);
			display: block;
		}
	}
	.detail-cover {
		margin-top: calc(36 * var(--scale-ratio));
	}
	.detail-item {
		padding-block: calc(30 * var(--scale-ratio)) calc(20 * var(--scale-ratio));
		background: url("../images/line_dot01.svg") no-repeat 50% 100% / auto calc(8 * var(--scale-ratio));
		font-size: calc(22 * var(--font-ratio));
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: calc(18 * var(--scale-ratio));
	}
	.detail-item-title {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: calc(18 * var(--scale-ratio));
		flex-shrink: 0;
		width: 22%;
		.art-ribbon {
			width: calc(74 * var(--scale-ratio));
			flex-shrink: 0;
		}
		.title {
			color: var(--color-accent01);
			font-weight: 800;
			text-align: center;
		}
		.art-heart {
			width: calc(15 * var(--scale-ratio));
			flex-shrink: 0;
		}
	}
	.detail-item-body {
		padding: calc(15 * var(--scale-ratio)) 0;
		font-size: calc(22 * var(--font-ratio));
		display: flex;
		align-items: center;
		flex: 1;
		min-width: 0;
		.note-list li {
			margin-left: calc(17 * var(--scale-ratio));
			font-size: calc(15 * var(--font-ratio));
		}
	}
}

.sec-room .area-items {
	margin-top: calc(100 * var(--scale-ratio));
	.room-ti-area {
		margin-bottom: calc(-98 * var(--scale-ratio));
		.room-ti {
			.ti {
				width: calc(450 * var(--scale-ratio));
			}
			.ja {
				font-weight: 500;
			}
		}
	}
	.items-list {
		margin-inline: calc(30 * var(--scale-ratio));
		padding: calc(160 * var(--scale-ratio)) calc(30 * var(--scale-ratio)) calc(34 * var(--scale-ratio));
		border-radius: var(--rounded-lg);
		background: var(--color-room02);
	}
	.items-item {
		.ti-items-cover {
			margin-bottom: calc(20 * var(--scale-ratio));
			padding-bottom: calc(12 * var(--scale-ratio));
			background: url("../images/line_dot02.svg") repeat-x 0 100% / auto calc(8 * var(--scale-ratio));
			display: flex;
			align-items: center;
			gap: calc(4 * var(--scale-ratio));
			.ti-items {
				color: var(--color-accent01);
				font-weight: 800;
				font-size: calc(30 * var(--font-ratio));
			}
			.art-heart02 {
				width: calc(34 * var(--scale-ratio));
			}
		}
		.txt-box {
			display: flex;
			flex-direction: column;
			gap: calc(12 * var(--scale-ratio));
		}
		.txt {
			font-size: calc(18 * var(--font-ratio));
			line-height: 1.77;
		}
		.note-list li {
			font-size: calc(15 * var(--font-ratio));
			line-height: 1.46;
		}
		&.-pouch {
			margin-bottom: calc(47 * var(--scale-ratio));
			display: flex;
			gap: calc(30 * var(--scale-ratio));
			.img01 {
				margin-left: calc(-70 * var(--scale-ratio));
				width: calc(600 * var(--scale-ratio));
				flex-shrink: 0;
			}
			.item-body {
				padding-top: calc(20 * var(--scale-ratio));
			}
		}
		&.-postcard {
			.img-column {
				margin-inline: auto calc(-70 * var(--scale-ratio));
				display: flex;
				justify-content: space-between;
				width: calc(620 * var(--scale-ratio));
			}
			.img02, .img03 {
				flex-shrink: 0;
				width: calc(327 * var(--scale-ratio));
			}
			.img03 {
				margin-left: calc(-34 * var(--scale-ratio));
			}
			.item-body {
				margin-top: calc(-152 * var(--scale-ratio));
				.ti-items-cover {
					width: calc(386 * var(--scale-ratio));
				}
			}
		}
	}
}

.sec-room .room-line {
	margin: calc(100 * var(--scale-ratio)) calc(-60 * var(--scale-ratio)) calc(75 * var(--scale-ratio));
}

.sec-room .area-reservation {
	.room-ti-area {
		margin-bottom: calc(50 * var(--scale-ratio));
		.room-ti .ti {
			width: calc(638 * var(--scale-ratio));
		}
	}
	.txt {
		margin-bottom: calc(45 * var(--scale-ratio));
		font-size: calc(22 * var(--font-ratio));
		line-height: 1.5;
		.em {
			margin-bottom: calc(9 * var(--scale-ratio));
			color: var(--color-accent01);
		}
	}
	.reservation-accordion {
		margin: 0 auto calc(55 * var(--scale-ratio));
		width: calc(900 * var(--scale-ratio));
		.note-list li {
			font-size: calc(15 * var(--font-ratio));
			line-height: 1.46;
		}
	}

	.txt-start-cover {
		margin-bottom: calc(6 * var(--scale-ratio));
		display: flex;
		justify-content: center;
		align-items: flex-end;
		.art.art-kira {
			margin-inline: calc(10 * var(--scale-ratio));
			width: calc(35 * var(--scale-ratio));
			&.-reserve {
				transform: scaleX(-1);
			}
		}
	}
	.note-list li {
		font-size: calc(15 * var(--font-ratio));
		line-height: 1.6;
		text-align: center;
	}
}


.btn-reservation {
	margin: calc(12 * var(--scale-ratio)) auto calc(47 * var(--scale-ratio));
	position: relative;
	display: block;
	width: calc(560 * var(--scale-ratio));
	height: calc(140 * var(--scale-ratio));
	&.-disabled {
		filter: grayscale(1);
		 .btn-link {
			background: var(--color-white) !important;
			.link-cover {
				border-color: #626262;
			}
			.grad-text .txt-body {
				background-image: linear-gradient(#b7b7b7 0%, #939393 39.41%, #606060 100%);
				.arrow {
					background-image: linear-gradient(#ccc 0%, #9d9d9d 39.41%, #717171 100%);
				}
			}
		 }
	}
	.btn-link {
		padding: calc(10 * var(--scale-ratio));
		background: var(--color-white);
		border-radius: calc(70 * var(--scale-ratio));
		display: block;
		width: 100%;
		height: 100%;
	}
	.link-cover {
		border: calc(7 * var(--scale-ratio)) solid var(--color-base);
		border-radius: calc(60 * var(--scale-ratio));
		background: url("../images/btn_bg01.png") repeat 50% 50% /  calc(190 * var(--scale-ratio)) auto;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		.link-txt {
			font-weight: 800;
			font-size: calc(36 * var(--font-ratio));
		}
		.arrow {
			margin-left: calc(5 * var(--scale-ratio));
			display: inline-block;
			width: calc(15 * var(--scale-ratio));
			height: calc(27 * var(--scale-ratio));
			vertical-align: middle;
		}
		.txt-white {
			display: flex;
			align-items: center;
			.arrow {
				line-height: 0;
				svg {
					width: 100%;
					height: 100%;
					vertical-align: bottom;
				}
				path {
					stroke: var(--color-white);
					stroke-width: calc(4 * var(--scale-ratio));
				}
			}
		}
		.txt-body {
			display: flex;
			align-items: center;
			.arrow {
				background: var(--color-gradient01);
				-webkit-mask-image: url("../images/btn_arrow02.svg");
				mask-image: url("../images/btn_arrow02.svg");
				mask-size: 100% 100%;
			}
		}
	}
	.art-stone {
		position: absolute;
		top: 0;
		left: calc(-9 * var(--scale-ratio));
		width: calc(576 * var(--scale-ratio));
		height: calc(157 * var(--scale-ratio));
	}
	& + .note-list {
		text-align: center;
	}
}

.room-line.-heart-stone {
	margin: calc(40 * var(--scale-ratio)) auto;
	width: calc(121 * var(--scale-ratio));
}

.area-links {
	margin-inline: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc(840 * var(--scale-ratio));
	gap: calc(60 * var(--scale-ratio));
	.area-link-item {
		border-radius: var(--rounded-lg);
		padding: calc(8 * var(--scale-ratio));
		position: relative;
		z-index: 2;
		&.-vpn {
			background: var(--color-vp01);
			.link-ti .logo {
				margin-bottom: calc(30 * var(--scale-ratio));
				width: calc(250 * var(--scale-ratio));
			}
		}
		&.-fdd {
			background: var(--color-fdd01);
			.area-link-item-cover {
				padding-top: calc(65 * var(--scale-ratio));
			}
			.link-ti .logo {
				margin-bottom: calc(18 * var(--scale-ratio));
				width: calc(400 * var(--scale-ratio));
			}
			.link-ti .hotel {
				margin-bottom: calc(10 * var(--scale-ratio));
				color: var(--color-fdd01);
				font-weight: 800;
				font-size: calc(20 * var(--font-ratio));
				display: flex;
				justify-content: center;
				align-items: center;
				.art-tdh-heart {
					margin-right: calc(5 * var(--scale-ratio));
					width: calc(15 * var(--scale-ratio));
					&.-reserve {
						margin-inline: calc(5 * var(--scale-ratio)) 0;
						transform: scaleX(-1);
					}
				}
			}
			.txt-date {
				padding-bottom: calc(14 * var(--scale-ratio));
				background: url("../images/line_dot03.svg") no-repeat 50% 100% / auto calc(8 * var(--scale-ratio));
				color: var(--color-accent01);
				font-weight: 800;
				font-size: calc(20 * var(--font-ratio));
			}
			.fdd-column {
				margin-top: calc(35 * var(--scale-ratio));
				padding-bottom: calc(40 * var(--scale-ratio));
				display: flex;
				gap: calc(30 * var(--scale-ratio));
				.img-column {
					padding-left: calc(20 * var(--scale-ratio));
					.img-cover {
						position: relative;
						transform: rotate(-6deg);
						.art {
							position: absolute;
							left: calc(38 * var(--scale-ratio));
							bottom: calc(-30 * var(--scale-ratio));
							width: calc(200 * var(--scale-ratio));
						}
					}
					.img {
						padding: calc(8 * var(--scale-ratio));
						width: calc(270 * var(--scale-ratio));
						height: calc(380 * var(--scale-ratio));
						position: relative;
						&::before {
							content: "";
							border-radius: calc(40 * var(--scale-ratio));
							background: url("../images/bg_gradient01.svg") no-repeat 50% 50% / 100% 100%;
							position: absolute;
							left: 0;
							top: 0;
							width: 100%;
							height: 100%;
						}
						img {
							border-radius: calc(32 * var(--scale-ratio));
							position: relative;
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
					}
				}
				.body-column {
					margin-right: calc(-5 * var(--scale-ratio));
					padding-top: calc(35 * var(--scale-ratio));
					.txt {
						margin-bottom: 0;
						font-size: calc(18 * var(--font-ratio));
						line-height: 1.77;
						.em {
							color: var(--color-fdd01);
							font-weight: 800;
						}
					}
					.txt-start {
						margin-block: calc(25 * var(--scale-ratio)) calc(10 * var(--scale-ratio));
						font-size: calc(20 * var(--font-ratio));
						.em {
							color: var(--color-accent01);
							font-size: calc(18 * var(--font-ratio));
						}
					}
				}
			}
		}
	}
	.art-heart01 {
		position: absolute;
		top: calc(25 * var(--scale-ratio));
		right: calc(25 * var(--scale-ratio));
		width: calc(98 * var(--scale-ratio));
		&.-reserve {
			top: auto;
			right: auto;
			bottom: calc(25 * var(--scale-ratio));
			left: calc(20 * var(--scale-ratio));
			transform: scaleX(-1);
		}
	}
	.area-link-item-cover {
		padding: calc(46 * var(--scale-ratio)) calc(65 * var(--scale-ratio)) calc(42 * var(--scale-ratio));
		border-radius: calc(52 * var(--scale-ratio));
		background: var(--color-room02);
	}
	.area-link-item .link-ti {
		margin-bottom: calc(25 * var(--scale-ratio));
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		.ti {
			font-weight: 800;
			font-size: calc(26 * var(--font-ratio));
			line-height: 1;
		}
		.art-line {
			margin-bottom: calc(20 * var(--scale-ratio));
		}
	}
	.txt {
		margin-bottom: calc(38 * var(--scale-ratio));
		font-size: calc(18 * var(--font-ratio));
		line-height: 1.77;
	}
	.btn-link {
		background: var(--color-base);
		font-size: calc(20* var(--font-ratio));
		width: calc(220 * var(--scale-ratio));
		height: calc(40 * var(--scale-ratio));
		.arrow {
			right: calc(10 * var(--scale-ratio));
			width: calc(9 * var(--scale-ratio));
			height: calc(16 * var(--scale-ratio));
		}
	}
}

.sec-room .area-links .area-link-item.-fdd {
	.fdd-column {
		.img-column {
			padding-left: calc(20 * var(--scale-ratio));
			.img-cover {
				.art {
					position: absolute;
					left: calc(10 * var(--scale-ratio));
					bottom: calc(9 * var(--scale-ratio));
					width: calc(264 * var(--scale-ratio));
				}
			}
		}
	}

}

@media screen and (min-width: 769px) {
	html.-is-interior {
		overflow-x: clip;
	}
	.sec-room {
		.area-interior {
			width: 100vw;
			max-width: 100%;
			--slide-count: 4;
			/* 1920×1000基準で、画面の幅・高さどちらにも収まるよう拡大縮小 */
			--u: min(calc(100vw / 1920), calc(100vh / 1000), 1px);
			height: calc(var(--slide-count) * 100vh);
		}
		.interior-stage {
			position: sticky;
			top: 0;
			height: 100vh;
			overflow: hidden;
		}
		.interior-item {
			position: absolute;
			inset: 0;
			display: flex;
			align-items: center;
		}
		.interior-item .img {
			flex-shrink: 0;
			width: calc(1150 * var(--u));
			height: calc(820 * var(--u));
			border-radius: 0 calc(40 * var(--u)) calc(40 * var(--u)) 0;
		}
		.interior-item:not(.is-current) .img {
			visibility: hidden;
		}
		.interior-item .area-body {
			padding-right: min(17%, 130px);
			position: relative;
			flex-grow: 1;
			align-self: stretch;
			display: flex;
			justify-content: center;
			align-items: center;
			@media screen and (max-width: 1400px) {
				padding-inline: 3%;
			}
		}
		.txt-box {
			margin-top: calc(-80 * var(--u));
			opacity: 0;
			transition: opacity .6s ease;
			position: relative;
		}
		.interior-item.is-current .txt-box {
			opacity: 1;
		}
		.txt-box .ribbon {
			width: calc(276 * var(--u));
		}
		.txt-box .txt {
			margin-top: calc(16 * var(--u));
			font-size: max(calc(15 * var(--font-ratio)) ,calc(22 * var(--u)));
			line-height: 2;
		}
		.txt-box .art-box {
			top: 0;
			transform: translateX(-50%);
		}
		.interior-item:nth-child(odd) .txt-box .art-box {
			margin-top: 42%;
			left: calc(50% + 120 * var(--u));
			width: calc(351 * var(--u));
			height: calc(336 * var(--u));
		}
		.interior-item:nth-child(even) .txt-box .art-box {
			margin-top: 38.4%;
			left: calc(50% + 20 * var(--u));
			width: calc(585 * var(--u));
			height: calc(340 * var(--u));
		}
	}
}

@media screen and (max-width: 768px) {
	.btn-reservation {
		margin-bottom: calc(60 * var(--scale-ratio));
		width: calc(651 * var(--scale-ratio));
		height: calc(163 * var(--scale-ratio));
		.btn-link {
			border-radius: calc(82 * var(--scale-ratio));
		}
		.link-cover {
			border-radius: calc(72 * var(--scale-ratio));
			background-size: calc(220 * var(--scale-ratio)) auto;
			.link-txt {
				font-size: calc(41 * var(--font-ratio));
			}
			.arrow {
				margin-left: calc(12 * var(--scale-ratio));
				width: calc(18 * var(--scale-ratio));
				height: calc(31 * var(--scale-ratio));
			}
		}
		.art-stone {
			left: calc(-11 * var(--scale-ratio));
			width: calc(670 * var(--scale-ratio));
			height: calc(182 * var(--scale-ratio));
		}
		& + .note-list {
			text-align: left;
		}
	}

	.sec-room {
		padding-top: calc(100 * var(--scale-ratio));
		.sec-ti-area {
			margin-bottom: calc(100 * var(--scale-ratio));
		}

		.area-interior {
			.interior-item {
				position: sticky;
				top: calc(var(--nav-height) + 22 * var(--scale-ratio));
				background-color: var(--color-room01);
			}
			.interior-item .img {
				width: 100%;
				aspect-ratio: 750 / 535;
			}
			.txt-box {
				padding: calc(40 * var(--scale-ratio)) calc(40 * var(--scale-ratio)) calc(213 * var(--scale-ratio));
			}
			.interior-item:nth-child(odd) .txt-box {
				padding-bottom: calc(256 * var(--scale-ratio));
			}
			.interior-item:last-child .txt-box {
				padding-bottom: calc(277 * var(--scale-ratio));
			}
			.txt-box .ribbon {
				width: calc(276 * var(--scale-ratio));
			}
			.txt-box .txt {
				margin-top: calc(10 * var(--scale-ratio));
				font-size: calc(28 * var(--font-ratio));
				line-height: 2;
			}
			.txt-box .art-box {
				top: 0;
				left: 50%;
				transform: translateX(-50%);
			}
			.interior-item:nth-child(odd) .txt-box .art-box {
				margin-top: calc(215 * var(--scale-ratio));
				left: calc(50% + 136 * var(--scale-ratio));
				width: calc(398 * var(--scale-ratio));
			}
			.interior-item:nth-child(even) .txt-box .art-box {
				margin-top: calc(129 * var(--scale-ratio));
				left: calc(50% + 8 * var(--scale-ratio));
				width: calc(654 * var(--scale-ratio));
			}
		}

		.room-ti-area .room-ti {
			.ja {
				font-size: calc(28 * var(--font-ratio));
			}
			.art-line {
				width: calc(91 * var(--scale-ratio));
			}
		}

		.area-detail {
			.logo-tdh {
				margin: auto;
				width: calc(460 * var(--scale-ratio));
			}
			.ti-detail {
				margin-bottom: calc(25 * var(--scale-ratio));
				.txt-ti {
					margin-top: calc(43 * var(--scale-ratio));
					font-size: calc(28 * var(--font-ratio));
					line-height: 1.7;
				}
				.art.ribbon {
					width: calc(226 * var(--scale-ratio));
				}
			}
			.txt-date {
				margin-bottom: calc(84 * var(--scale-ratio));
				background-image: url("../images/line_dot01_sp.svg");
				background-size: auto  calc(10 * var(--scale-ratio));
				font-size: calc(24 * var(--font-ratio));
				.number {
					font-size: calc(28 * var(--font-ratio));
				}
			}
			.txt {
				font-size: calc(28 * var(--font-ratio));
				.em {
					white-space: nowrap;
				}
			}
			.detail-cover {
				margin-top: calc(35 * var(--scale-ratio));
				.detail-item {
					padding-block: calc(23 * var(--scale-ratio)) calc(20 * var(--scale-ratio));
					background-image: url("../images/line_dot01_sp.svg");
					background-size: auto calc(10 * var(--scale-ratio));
					font-size: calc(26 * var(--font-ratio));
					line-height: 1.46;
					gap: calc(14 * var(--scale-ratio));
				}
				.detail-item-title {
					width: calc(274 * var(--scale-ratio));
					.art-ribbon {
						width: calc(112 * var(--scale-ratio));
					}
					.art-heart {
						width: calc(19 * var(--scale-ratio));
					}
				}
				.detail-item-body {
					display: block;
					.note-list li {
						margin-top: calc(10 * var(--scale-ratio));
						margin-left: 0;
						font-size: calc(22 * var(--font-ratio));
					}
				}
			}
		}
		.area-items {
			.room-ti-area {
				margin-bottom: calc(-145 * var(--scale-ratio));
				.room-ti .ti {
					width: calc(450 * var(--scale-ratio));
				}
			}
			.items-list {
				margin-inline: 0;
				padding: calc(195 * var(--scale-ratio)) calc(30 * var(--scale-ratio)) calc(55 * var(--scale-ratio));
			}
			.items-item {
				.ti-items-cover {
					margin-bottom: calc(24 * var(--scale-ratio));
					padding-bottom: calc(20 * var(--scale-ratio));
					background-image: url("../images/line_dot02.svg");
					.ti-items {
						font-size: calc(32 * var(--font-ratio));
					}
					.art-heart02 {
						width: calc(37 * var(--scale-ratio));
					}
				}
				.txt-box {
					gap: calc(17 * var(--scale-ratio));
				}
				.txt {
					font-size: calc(26 * var(--font-ratio));
					line-height: 1.46;
				}
				.note-list li {
					font-size: calc(22 * var(--font-ratio));
				}
				&.-pouch {
					margin-bottom: calc(31 * var(--scale-ratio));
					display: block;
					.img01 {
						margin-left: calc(-60 * var(--scale-ratio));
						width: calc(662 * var(--scale-ratio));
					}
				}
				&.-postcard {
					.img-column {
						margin-right: calc(-60 * var(--scale-ratio));
						display: block;
						width: calc(670 * var(--scale-ratio));
					}
					.img02, .img03 {
						display: block;
						width: calc(336 * var(--scale-ratio));
					}
					.img03 {
						margin: calc(-212 * var(--scale-ratio)) 0 0 auto;
					}
					.item-body {
						margin-top: calc(-90 * var(--scale-ratio));
						.ti-items-cover {
							width: calc(476 * var(--scale-ratio));
						}
					}
				}
			}
		}

		.room-line {
			margin-bottom: calc(55 * var(--scale-ratio));
			margin-inline: 0;
			&.-heart-stone {
				margin: calc(70 * var(--scale-ratio)) auto calc(80 * var(--scale-ratio));
				width: calc(153 * var(--scale-ratio));
			}
		}

		.area-reservation {
			.room-ti-area {
				margin-bottom: calc(53 * var(--scale-ratio));
			}
			.room-ti .ti {
				width: calc(637 * var(--scale-ratio));
			}
			.txt {
				margin-bottom: calc(52 * var(--scale-ratio));
				font-size: calc(28 * var(--font-ratio));
				line-height: 1.7;
			}
			.reservation-accordion {
				margin-bottom: calc(60 * var(--scale-ratio));
				width: auto;
				.note-list li {
					font-size: calc(22 * var(--font-ratio));
					line-height: 1.54;
				}
			}
			.txt-start-cover {
				.art.art-kira {
					margin-inline: calc(15 * var(--scale-ratio));
					width: calc(42 * var(--scale-ratio));
				}
			}
			.note-list li {
				font-size: calc(22 * var(--font-ratio));
			}
		}
	}

	.area-links {
		width: 100%;
		gap: calc(60 * var(--scale-ratio));
		.area-link-item {
			&.-vpn {
				.link-ti .logo {
					margin-bottom: calc(40 * var(--scale-ratio));
					width: calc(279 * var(--scale-ratio));
				}
				.link-ti .art {
					margin-bottom: calc(35 * var(--scale-ratio));
				}
			}
			&.-fdd {
				.area-link-item-cover {
					padding-top: calc(92 * var(--scale-ratio));
					text-align: center;
				}
				.link-ti .logo {
					margin-bottom: calc(40 * var(--scale-ratio));
					width: calc(445 * var(--scale-ratio));
				}
				.link-ti .hotel {
					margin-bottom: calc(14 * var(--scale-ratio));
					font-size: calc(26 * var(--font-ratio));
					.art-tdh-heart {
						margin-right: calc(3 * var(--scale-ratio));
						width: calc(25 * var(--scale-ratio));
						&.-reserve {
							margin-inline: calc(3 * var(--scale-ratio)) 0;
						}
					}
				}
				.txt-date {
					padding-bottom: calc(17 * var(--scale-ratio));
					background-image: url("../images/line_dot03_sp.svg");
					background-size: auto calc(10 * var(--scale-ratio));
					font-size: calc(24 * var(--font-ratio));
					.lg {
						font-size: calc(28 * var(--font-ratio));
						vertical-align: baseline;
					}
				}
				.fdd-column {
					margin-top: calc(50 * var(--scale-ratio));
					padding-bottom: calc(20 * var(--scale-ratio));
					flex-direction: column;
					align-items: center;
					gap: calc(67 * var(--scale-ratio));
					.img-column {
						padding-left: 0;
						width: calc(365 * var(--scale-ratio));
						.img-cover {
							.art {
								left: calc(50 * var(--scale-ratio));
								bottom: calc(-40 * var(--scale-ratio));
								width: calc(276 * var(--scale-ratio));
							}
						}
						.img {
							padding: calc(11 * var(--scale-ratio));
							width: calc(365 * var(--scale-ratio));
							height: calc(513 * var(--scale-ratio));
							&::before {
								border-radius: calc(55 * var(--scale-ratio));
							}
							img {
								border-radius: calc(44 * var(--scale-ratio));
							}
						}
					}
					.body-column {
						padding-top: 0;
						.txt {
							font-size: calc(26 * var(--font-ratio));
						}
						.txt-start {
							margin-block: calc(30 * var(--scale-ratio)) calc(12 * var(--scale-ratio));
							font-size: calc(28 * var(--font-ratio));
							text-align: center;
							.em {
								font-size: calc(26 * var(--font-ratio));
							}
						}
					}
				}
			}
			.art-heart01 {
				top: calc(30 * var(--scale-ratio));
				right: calc(30 * var(--scale-ratio));
				&.-reserve {
					top: auto;
					right: auto;
					bottom: calc(30 * var(--scale-ratio));
					left: calc(30 * var(--scale-ratio));
				}
			}
			.area-link-item-cover {
				padding: calc(58 * var(--scale-ratio)) calc(22 * var(--scale-ratio)) calc(72 * var(--scale-ratio));
			}
			.link-ti .ti {
				line-height: 1.333;
				font-size: calc(30 * var(--font-ratio));
			}
			.link-ti .art {
				width: calc(91 * var(--scale-ratio));
			}
			.txt {
				margin-bottom: calc(35 * var(--scale-ratio));
				font-size: calc(26 * var(--font-ratio));
				text-align: center;
			}
			.btn-link {
				font-size: calc(28 * var(--font-ratio));
				width: calc(322 * var(--scale-ratio));
				height: calc(58 * var(--scale-ratio));
				.arrow {
					right: calc(14 * var(--scale-ratio));
					width: calc(13 * var(--scale-ratio));
					height: calc(23 * var(--scale-ratio));
				}
			}
		}
	}
}


/* ----------------------------------------------------------------------------------------------------
*  sec-menu
* --------------------------------------------------------------------------------------------------*/
.sec-menu {
	padding-block: calc(120 * var(--scale-ratio)) calc(170 * var(--scale-ratio));
	background-color: var(--color-menu01);
	.sec-ti-area {
		margin-bottom: calc(97 * var(--scale-ratio));
		.sec-ti {
			width: calc(597 * var(--scale-ratio));
		}
	}
	.ti-detail {
		margin-bottom: calc(24 * var(--scale-ratio));
	}
	.ti-detail .txt-ti {
		font-size: calc(26 * var(--font-ratio));
		font-weight: 800;
		display: block;
	}
	.ti-detail .art-line-stone {
		text-align: center;
		position: relative;
	}
	.ti-detail .art.ribbon {
		margin: calc(30 * var(--scale-ratio)) auto calc(24 * var(--scale-ratio));
		width: calc(183 * var(--scale-ratio));
	}
	.txt-date {
		margin-bottom: calc(66 * var(--scale-ratio));
		padding-bottom: calc(12 * var(--scale-ratio));
		background: url("../images/line_dot01.svg") no-repeat 0 100% / auto calc(8 * var(--scale-ratio));
		text-align: center;
		font-weight: 800;
		font-size: calc(22 * var(--font-ratio));
		display: inline-block;
		.number {
			font-size: calc(26 * var(--font-ratio));
		}
	}
	.txt {
		font-size: calc(22 * var(--font-ratio));
		.em {
			color: var(--color-accent01);
		}
	}
	.area-hotels {
		margin-block: calc(74 * var(--scale-ratio)) calc(80 * var(--scale-ratio));
		.hotel-item {
			.hotel-dots {
				margin-inline: auto;
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: calc(1000 * var(--scale-ratio));
				&::before, &::after {
					content: "";
					background: url("../images/line_dot01.svg") repeat-x 50% 50% / auto 100%;
					flex-grow: 1;
					height: calc(8 * var(--scale-ratio));
				}
				.hotel {
					flex-shrink: 0;
				}
			}
			.hotel-ja {
				margin-bottom: calc(26 * var(--scale-ratio));
        		font-size: calc(22 * var(--font-ratio));
			}
			.scroll-slide {
				display: flex;
				width: max-content;
				animation: scrollLoop 60s linear infinite;
			}
			.scroll-slide-item {
				margin-right: calc(40 * var(--scale-ratio));
				padding: calc(8 * var(--scale-ratio));
				border-radius: var(--rounded-lg);
				background: linear-gradient(#f7c9dd 0%, #e370a3 39.41%, #f7c9dd 100%);
				overflow: hidden;
				position: relative;
				width: calc(850 * var(--scale-ratio));
				aspect-ratio: 850 / 530;
				img {
					border-radius: calc(52 * var(--scale-ratio));
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
			.note-list {
				margin-block: calc(11 * var(--scale-ratio)) calc(25 * var(--scale-ratio));
				li {
					font-size: calc(15 * var(--font-ratio));
				}
			}
			.btn {
				margin-inline: auto;
				width: calc(300 * var(--scale-ratio));
				.btn-link {
					font-size: calc(26 * var(--font-ratio));
					height: calc(60 * var(--scale-ratio));
					.arrow {
						right: calc(15 * var(--scale-ratio));
					}
				}
			}
			&.-tdh {
				margin-bottom: calc(75 * var(--scale-ratio));
				.hotel-dots {
					margin-bottom: calc(32 * var(--scale-ratio));
					gap: calc(12 * var(--scale-ratio));
				}
				.hotel {
					width: calc(500 * var(--scale-ratio));
				}
				.hotel-ja {
					margin-top: calc(-32 * var(--scale-ratio));
				}
			}
			&.-dah {
				.hotel-dots {
					margin-bottom: calc(40 * var(--scale-ratio));
					gap: calc(20 * var(--scale-ratio));
				}
				.hotel {
					width: calc(300 * var(--scale-ratio));
				}
				.hotel-ja {
					margin-top: calc(-40 * var(--scale-ratio));
				}
			}
		}
	}
	.area-link-item.-fdd {
		background: var(--color-fdd02);
		.area-link-item-cover {
			padding-bottom: calc(68 * var(--scale-ratio));
			background: #FFF8FF;
			text-align: center;
		}
		.link-ti .hotel {
			color: var(--color-fdd02);
			.art-tdh-heart {
				background: var(--color-fdd02);
				-webkit-mask-image: url("../images/fdd_heart01.svg");
				mask-image: url("../images/fdd_heart01.svg");
				mask-size: 100% 100%;
				img {
					opacity: 0;
				}
			}
		}
		.txt-date {
			margin-bottom: 0;
		}
		.fdd-column {
			gap: calc(20 * var(--scale-ratio));
			.img-column {
				padding-left: calc(10 * var(--scale-ratio));
				position: relative;
				.img-circle {
					border-radius: 100%;
					background: #D3D3D3;
					overflow: hidden;
					position: absolute;
					left: calc(100% - 10 * var(--scale-ratio));
					bottom: calc(-70 * var(--scale-ratio));
					width: calc(220 * var(--scale-ratio));
					img {
						width: 100%;
						aspect-ratio: 1;
						object-fit: cover;
					}
				}
			}
			.body-column {
				margin-top: calc(-10 * var(--scale-ratio));
				padding-top: 0;
				text-align: left;
				.txt {
					margin-bottom: 0;
					.em {
						color: var(--color-fdd02);
					}
				}
				.txt-start {
					margin-top: calc(18 * var(--scale-ratio));
				}
			}
		}
	}
}

@keyframes scrollLoop {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media screen and (max-width: 768px) {
	.sec-menu {
		padding-top: calc(100 * var(--scale-ratio));
		.sec-ti-area {
			padding-top: calc(70 * var(--scale-ratio));
		}
		.ti-detail {
			margin-bottom: calc(32 * var(--scale-ratio));
			.txt-ti {
				margin: calc(43 * var(--scale-ratio)) auto calc(40 * var(--scale-ratio));
				font-size: calc(28 * var(--font-ratio));
			}
			.art.ribbon {
				width: calc(226 * var(--scale-ratio));
			}
		}
		.txt-date {
			margin-bottom: calc(84 * var(--scale-ratio));
			background-image: url("../images/line_dot01_sp.svg");
			background-size: auto  calc(10 * var(--scale-ratio));
			font-size: calc(24 * var(--font-ratio));
			.number {
				font-size: calc(28 * var(--font-ratio));
			}
		}
		.txt {
			font-size: calc(28 * var(--font-ratio));
		}
		.area-hotels {
			margin-top: calc(88 * var(--scale-ratio));
			.hotel-item {
				.hotel-dots {
					width: calc(670 * var(--scale-ratio));
					&::before, &::after {
						height: calc(10 * var(--scale-ratio));
					}
				}
				.hotel-ja {
					font-size: calc(28 * var(--font-ratio));
				}
				.scroll-slide-item {
					margin-right: calc(30 * var(--scale-ratio));
					width: calc(610 * var(--scale-ratio));
				}
				.note-list {
					margin-block: calc(14 * var(--scale-ratio)) calc(24 * var(--scale-ratio));
					li {
						font-size: calc(22 * var(--font-ratio));
					}
				}
				.btn {
					width: calc(370 * var(--scale-ratio));
					.btn-link {
						font-size: calc(32 * var(--font-ratio));
						height: calc(66 * var(--scale-ratio));
					}
				}
				&.-tdh {
					.hotel-dots {
						margin-bottom: calc(30 * var(--scale-ratio));
						gap: calc(24 * var(--scale-ratio));
					}
					.hotel {
						width: calc(470 * var(--scale-ratio));
					}
					.hotel-ja {
						margin-top: calc(-21 * var(--scale-ratio));
					}
				}
				&.-dah {
					.hotel-dots {
						margin-bottom: calc(28 * var(--scale-ratio));
						gap: calc(30 * var(--scale-ratio));
					}
					.hotel {
						width: calc(282 * var(--scale-ratio));
					}
					.hotel-ja {
						margin-top: calc(-21 * var(--scale-ratio));
					}
				}
			}
		}
		.area-link-item.-fdd {
			.area-link-item-cover {
            	padding-bottom: calc(75 * var(--scale-ratio));
			}
			.link-ti .art.art-line {
				margin-bottom: calc(30 * var(--scale-ratio));
			}
			.txt-date {
				margin-bottom: calc(5∂ * var(--scale-ratio));
			}
			.fdd-column {
            	gap: calc(75 * var(--scale-ratio));
				align-items: flex-start;
				.img-column {
					.img-cover {
						margin-left: calc(20 * var(--scale-ratio));
					}
					.img-circle {
						left: calc(100% - 20 * var(--scale-ratio));
						bottom: calc(30 * var(--scale-ratio));
						width: calc(260 * var(--scale-ratio));
					}
				}
			}
		}
	}
}

/* ----------------------------------------------------------------------------------------------------
*  sec-park
* --------------------------------------------------------------------------------------------------*/
.sec-park {
	padding-block: calc(80 * var(--scale-ratio)) calc(120 * var(--scale-ratio));
	background-color: var(--color-park01);
	.ti-park {
		margin-bottom: calc(40 * var(--scale-ratio));
		position: relative;
		.art.art-ti-park {
			margin: 0 auto calc(-17 * var(--scale-ratio));
			width: calc(458 * var(--scale-ratio));
		}
		.pop {
			position: absolute;
			top: calc(85 * var(--scale-ratio));
			left: calc(-10 * var(--scale-ratio));
			width: calc(211 * var(--scale-ratio));
		}
		.sub {
			margin-bottom: calc(8 * var(--scale-ratio));
			font-size: calc(26 * var(--font-ratio));
			display: block;
		}
		.ti {
			color: var(--color-accent01);
			font-size: calc(30 * var(--font-ratio));
			display: block;
		}
	}
	.park-figure-cover {
		margin-bottom: calc(40 * var(--scale-ratio));
		.park-figure {
			margin-inline: auto;
			width: calc(500 * var(--scale-ratio));
			aspect-ratio: 1;
		}
	}
	.btn {
		margin: auto;
		width: calc(300 * var(--scale-ratio));
		.btn-link {
			background: var(--color-gradient01);
			height: calc(60 * var(--scale-ratio));
			.link-txt {
				font-size: calc(26 * var(--font-ratio));
			}
			.arrow {
				right: calc(10 * var(--scale-ratio));
				width: calc(11 * var(--scale-ratio));
			}
		}
	}
}

@media screen and (max-width: 768px) {
	.sec-park {
		padding-top: calc(100 * var(--scale-ratio));
		.ti-park {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			.art.art-ti-park {
				margin-bottom: calc(16 * var(--scale-ratio));
			}
			.pop {
				margin-left: calc(10 * var(--scale-ratio));
				position: static;
				width: calc(220 * var(--scale-ratio));
				flex-shrink: 0;
			}
			.txt {
				margin-inline: calc(-22 * var(--scale-ratio)) calc(-20 * var(--scale-ratio));
				flex-shrink: 0;
			}
			.sub {
				margin-bottom: calc(16 * var(--scale-ratio));
				line-height: 1.5;
			}
			.ti {
				line-height: 1.5;
			}
		}
		.btn {
			width: calc(370 * var(--scale-ratio));
			.btn-link {
				height: calc(66 * var(--scale-ratio));
				.link-txt {
					font-size: calc(32 * var(--font-ratio));
				}
				.arrow {
					right: calc(16 * var(--scale-ratio));
					width: calc(15 * var(--scale-ratio));
				}
			}
		}
	}
}

/* ----------------------------------------------------------------------------------------------------
*  art-area
* --------------------------------------------------------------------------------------------------*/
.art-area {
	background-color: #FBE4ED;
	overflow: hidden;
	.dot-belt {
		background: linear-gradient(90deg, #f7c9dd 0%, #e370a3 39.41%, #f7c9dd 100%);
		height: 15px;
	}
	.sec-inner {
		width: 1100px;
	}
}
@media screen and (max-width: 768px) {
	.art-area {
		.dot-belt {
			height: calc(20 * var(--scale-ratio));
		}
		.sec-inner {
			padding: 0;
			width: 100%;
		}
	}
}

/* ----------------------------------------------------------------------------------------------------
*  content-footer
* --------------------------------------------------------------------------------------------------*/
.content-footer {
	padding: 20px 0 50px;
	background: var(--color-sns01);
	position: relative;
	#sns .snsCap p,
	.note-list li {
		color: var(--color-base);
	}
	.txt-follow {
		margin-top: -10px;
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}
	.txt-follow .ico {
		margin-bottom: calc(6 * var(--scale-ratio));
		width: calc(116 * var(--scale-ratio));
		&.-reserve {
			transform: scaleX(-1);
		}
	}
	.txt-follow .txt {
		padding: 0 10px 13px;
		background: url(../images/line_dot04.svg) no-repeat 50% 100% / auto 8px;
		text-align: center;
		font-weight: 800;
		font-size: calc(26 * var(--font-ratio));
		display: inline-block;
	}
}

@media screen and (min-width: 769px) {
	.content-footer > .note-list li {
		margin-bottom: 23px;
		font-size: 14px;
		text-align: center;
	}

	footer #sns{
		margin: 40px auto 0;
		font-weight: normal;
	}
	footer #sns .snsBtn{
		text-align: center;
		margin-bottom: 35px;
	}
	footer #sns .snsBtn li{
		width: 67px;
		display: inline-block;
	}
	footer #sns .snsBtn li + li{
		margin-left: 16px;
	}
	footer #sns .snsBtn li img{
		width: 100%;
	}
	footer #sns .snsCap{
		padding: 0 40px;
		text-align: center;
	}
	footer #sns .snsCap p{
		margin-bottom: 2em;
		font-weight: bold;
		font-size: 16px;
	}
	footer #sns .note-list {
		display: inline-block;
	}
	footer #sns .note-list li {
		font-size: 14px;
		line-height: 2;
		text-align: left;
	}
}

@media screen and (max-width: 768px) {
	.content-footer {
		padding-block: calc(30 * var(--scale-ratio)) calc(74 * var(--scale-ratio));
	}
	.content-footer > .note-list li {
		margin-bottom: calc(66 * var(--scale-ratio));
		font-size: calc(24 * var(--font-ratio));
		text-align: center;
	}

	.content-footer .txt-follow {
		margin-top: calc(8 * var(--scale-ratio));
	}

	.content-footer .txt-follow .txt {
		padding: 0 calc(8 * var(--scale-ratio)) calc(22 * var(--scale-ratio));
		background-image: url(../images/line_dot04_sp.svg);
		background-size: auto calc(10 * var(--scale-ratio));
		font-size: calc(34 * var(--font-ratio));
		white-space: nowrap;
		max-width: calc(389 * var(--scale-ratio));
	}

	footer #sns{
		margin: calc(60 * var(--scale-ratio)) auto 0;
		font-weight: normal;
	}
	footer #sns .snsBtn{
		text-align: center;
		margin-bottom: calc(60 * var(--scale-ratio));
	}
	footer #sns .snsBtn li{
		width: calc(98 * var(--scale-ratio));
		display: inline-block;
	}
	footer #sns .snsBtn li + li{
		margin-left: 4%;
	}
	footer #sns .snsBtn li img{
		width: 100%;
	}
	footer #sns .snsCap p {
		margin-bottom: 0.5em;
		font-size: 12.5px;
		font-weight: bold;
		text-align: center;
	}
	footer #sns .note-list li {
		font-size: 12px;
		line-height: 1.58;
	}
}