
@charset "UTF-8";

:root {
	--color-base: #49227c;
	--color-accent: #d41880;
	--color-bg01: #e74291;
	--color-bg02: #23abdd;
	--color-gradient01: linear-gradient( 172deg, #a26cbc 0%, #e74291 44%, #7d4698 100%);
	--color-gradient02: linear-gradient( 172deg, #a26cbc 0%, #e74291 44%, #a26cbc 100%);
	--color-gradient03: linear-gradient( 90deg, #c7e8fa 0%, #cbc1df 17%, #f6bec8 35%, #fffde5 56%, #a4d6c1 79%, #c7e8fa 92%, #c7e8fa 100%);
}

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;
}
.content-main .txt,
.content-main .note-list li,
.content-main .key-dl {
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
}
.contentIn {
	color: var(--color-base);
	font-size: 16px;
}
.contentIn * {
	box-sizing: border-box;
}
.contentIn p,
.contentIn li {
	letter-spacing: 0.02em;
}
.contentIn strong {
	font-weight: 800;
}
.contentIn 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;
}

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

/* ----------------------------------------------------------------------------------------------------
*  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); }
}

/* ----------------------------------------------------------------------------------------------------
*  content-header
* --------------------------------------------------------------------------------------------------*/
.content-header {
	background: #daabcd;
	position: relative;
	z-index: 1;
}
.content-header .art {
	position: absolute;
}
.content-header .header-bg {
	text-align: center;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	width: 100%;
	height: 100%;
}
.content-header .header-line-bg,
.content-header .header-line-ribbon {
	background: repeat-x 50% 50% / auto 100%;
	position: absolute;
	bottom: calc(-50 * var(--scale-ratio));
	left: 50%;
	transform: translateX(-50%);
	z-index: 4;
	width: 100%;
	height: calc(106 * var(--scale-ratio));
}
.content-header .header-line-bg {
	z-index: 1;
}
.content-header-inner {
	position: relative;
	z-index: 3;
}
.header-title {
	margin: auto;
	position: relative;
	z-index: 5;
}
.header-title .art-title {
	z-index: 6;
	animation: hdAnime01 5s ease 0s infinite, hdAnime03 .5s linear forwards;
}
.header-title .ti {
	text-align: center;
	position: absolute;
	z-index: 6;
	width: 100%;
	height: 100%;
}
.header-img {
	margin: 0 auto;
	text-align: center;
}
.header-parts,
.header-part {
	position: absolute;
}
.header-parts {
	left: 50%;
	transform: translateX(-50%);
}

.header-part.-photo01 {
	animation: hdAnime01 5s ease 0s infinite, hdAnime03 .5s linear forwards;
}
.header-part.-photo02 {
	animation: hdAnime02 5s ease 0s infinite, hdAnime03 .5s linear forwards;
}
.header-part.-photo03 {
	animation: hdAnime01 5s ease 0s infinite, hdAnime03 .5s linear forwards;
}
.header-part.-photo04 {
	animation: hdAnime02 5s ease 0s infinite, hdAnime03 .5s linear forwards;
}
.hd-logo {
	margin: 0 auto;
	text-align: center;
	position: relative;
}

.-fadeAnime {
	opacity: 0;
	animation: hdAnime03 1s linear forwards;
}
.-hdFade01 {
	animation-delay: .2s !important;
}
.-hdFade02 {
	animation-delay: .8s !important;
}
.-hdFade03 {
	animation-delay: 1.2s !important;
}
.-hdFade04 {
	animation-delay: 1.5s !important;
}
.-hdFade05 {
	animation-delay: 1.7s !important;
}
@keyframes hdAnime01 {
	0% { transform: translate(0, 0); }
	50% { transform: translate(0, 3%); }
	100% { transform: translate(0, 0); }
}
@keyframes hdAnime02 {
	0% { transform: translate(0, 1.5%); }
	25% { transform: translate(0, 3%); }
	75% { transform: translate(0, 0); }
	100% { transform: translate(0, 1.5%); }
}
@keyframes hdAnime03 {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes hdAnime04 {
	0% { transform: translate(0, 0); }
	50% { transform: translate(0, -10px); }
	100% { transform: translate(0, 0); }
}

/* ----------------------------------------------------------------------------------------------------
*  sec common
* --------------------------------------------------------------------------------------------------*/
.em {
	font-style: normal;
}
.fc-gradient {
	background: var(--color-gradient01);
	background-position: 50% 50%;
	background-size: 150%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bg-gradient {
	background: no-repeat 50% 50%;
	background-image: var(--color-gradient03);
}
.sec {
	padding-top: calc(15 * var(--scale-ratio));
}
.sec-ti-area {
	padding-top: calc(200 * var(--scale-ratio));
	background: no-repeat 48% 0;
	position: relative;
	z-index: 5;
}
.sec-ti-area .sec-ti {
	text-align: center;
}
.sec-ti-area .ja {
	margin: calc(-27 * var(--scale-ratio)) auto 0;
	display: block;
}
.txt-lead {
	margin-top: calc(80 * var(--scale-ratio));
	font-size: calc(30 * var(--font-ratio));
	text-align: center;
}
.txt-lead .em {
	font-weight: 900;
}
.stone-area {
	border-radius: calc(40 * var(--font-ratio));
	background: #fff;
	position: relative;
}
.stone-area .art-stone01,
.stone-area .art-stone02 {
	position: absolute;
	width: calc(62 * var(--scale-ratio));
}
.stone-area .art-stone01 {
	top: calc(15 * var(--scale-ratio));
	left: calc(15 * var(--scale-ratio));
}
.stone-area .art-stone02 {
	bottom: calc(15 * var(--scale-ratio));
	right: calc(15 * var(--scale-ratio));
	transform: scale(-1,-1);
}
.deco-star {
	padding: 0 calc(40 * var(--scale-ratio));
	position: relative;
	display: inline;
}
.deco-star::before,
.deco-star::after {
	content: "";
	background: url("../images/ico_kira01.png") no-repeat 50% 50% / contain;
	position: absolute;
	width: calc(36 * var(--scale-ratio));
	height: calc(44 * var(--scale-ratio));
	pointer-events: none;
}
.deco-star::before {
	top: calc(-8 * var(--scale-ratio));
	left: 0;
}
.deco-star::after {
	bottom: calc(3 * var(--scale-ratio));
	transform: scale(-1,-1);
	right: 0;
}
.key-dl dt,
.key-dl dd {
	font-size: calc(15 * var(--font-ratio));
	line-height: 1.46;
	letter-spacing: 0.025em;
	display: inline-block;
}
.detail-item {
	position: relative;
	z-index: 3;
	display: flex;
	justify-content: space-between;
}
.detail-item .art-ribbon {
	top: 50%;
	left: calc(-16 * var(--scale-ratio));
	transform: translateY(-50%);
	width: calc(92 * var(--scale-ratio));
}
.detail-item.-low .art-ribbon {
	top: calc(-3 * var(--scale-ratio));
	transform: translateY(0);
}
.detail-item-title {
	padding: 0 calc(40 * var(--scale-ratio)) 0 calc(90 * var(--scale-ratio));
	border-radius: calc(32 * var(--scale-ratio)) 0 0 calc(32 * var(--scale-ratio));
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 26.3%;
}
.detail-item-title .title {
	color: var(--color-accent);
	font-weight: 900;
	font-size: calc(24 * var(--font-ratio));
}
.detail-item-body {
	padding: calc(15 * var(--scale-ratio)) calc(25 * var(--scale-ratio)) calc(15 * var(--scale-ratio)) calc(30 * var(--scale-ratio));
	border-radius: 0 calc(32 * var(--scale-ratio)) calc(32 * var(--scale-ratio)) 0;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: calc(10 * var(--scale-ratio));
	width: 72.7%;
}
.detail-item-body .txt {
	font-size: calc(20 * var(--font-ratio));
	letter-spacing: -0.03em;
	line-height: 1.9;
}
.detail-item-body .txt .em {
	color: var(--color-accent);
}
.detail-item-body .note-list li {
	font-size: calc(15 * var(--font-ratio));
	line-height: 1.6;
}
.reservation-accordion {
	border-radius: calc(15 * var(--scale-ratio));
	border: calc(6 * var(--scale-ratio)) solid #eeceeb;
	overflow: hidden;
}
.reservation-accordion .reservation-accordion-summary {
	background: #eeceeb;
	font-size: calc(20 * var(--font-ratio));
	text-align: center;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(64 * 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/parts_arrow02.png") no-repeat 50% 50% / contain;
	position: absolute;
	right: calc(32 * var(--scale-ratio));
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: calc(22 * var(--scale-ratio));
	height: calc(10 * var(--scale-ratio));
	pointer-events: none;
	transition: transform .2s ease-out;
}
.reservation-accordion .reservation-accordion-body {
	padding: calc(20 * var(--scale-ratio)) calc(17 * var(--scale-ratio)) calc(17 * var(--scale-ratio)) calc(20 * var(--scale-ratio));
	background: #fff;
}

.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;
	border-radius: calc(10 * var(--scale-ratio));
	background: var(--color-bg02);
	display: flex;
	justify-content: center;
	align-items: center;
}
.sec  .btn .btn-link .arrow {
	top: 50%;
	transform: translate(0,-50%);
}

.btn-link {
	overflow: hidden;
	position: relative;
}
.sec .link-txt {
	line-height: 1;
}
.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-reservation {
	margin: 0 auto;
	padding: calc(11 * var(--scale-ratio));
	border-radius: calc(20 * var(--scale-ratio));
}
.sec .btn-reservation .btn-link {
	padding: calc(6 * var(--scale-ratio));
	border-radius: calc(10 * var(--scale-ratio));
	background: var(--color-gradient03);
	display: block;
	width: 100%;
	height: 100%;
}
.sec .btn-reservation .link-cover {
	border-radius: calc(4 * var(--scale-ratio));
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.sec .btn-reservation .arrow {
	margin-left: calc(20 * var(--scale-ratio));
	position: relative;
}
.sec .btn-reservation .art-stone01 {
	left: calc(13 * var(--scale-ratio));
	top: calc(11 * var(--scale-ratio));
	width: calc(59 * var(--scale-ratio));
}
.sec .btn-reservation .art-stone02 {
	right: calc(13 * var(--scale-ratio));
	bottom: calc(12 * var(--scale-ratio));
	width: calc(49 * var(--scale-ratio));
}

.sec .btn.-disabled,
.sec .btn-reservation.-disabled {
	filter: grayscale(1);
}
.sec .-disabled .link-txt,
.sec .-disabled .arrow {
	opacity: 0.5;
}

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

.sec::before {
	pointer-events: none;
	position: absolute;
	left: 0;
	top: calc(-50 * var(--scale-ratio));
	display: block;
	width: 100%;
	height: calc(100 * var(--scale-ratio));
}
.sec-goods::before {
	content: "";
	background: linear-gradient( 180deg, #fbebf7 0%, #e8f6ff 100%);
}
.sec-menu::before {
	content: "";
	background: linear-gradient( 180deg, #e8f6ff 0%, #f5f1ff 100%);
}
.sec-park::before {
	content: "";
	background: linear-gradient( 180deg, #f5f1ff 0%, #fffeed 100%);
}


/* ----------------------------------------------------------------------------------------------------
*  sec-first
* --------------------------------------------------------------------------------------------------*/
.sec-first {
	padding: calc(130 * var(--scale-ratio)) 0 calc(70 * var(--scale-ratio));
	background: #fbebf7;
}
.sec-first .sec-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: calc(20 * var(--scale-ratio));
}
.sec-first .txt-lead {
	margin-top: 0;
}
.sec-first .art-kira02 {
	transform: scaleX(-1);
}

/* ----------------------------------------------------------------------------------------------------
*  top-nav
* --------------------------------------------------------------------------------------------------*/
.top-nav-cover {
	background: #fbebf7;
}
html .top-nav:not(.-is-fixed) {
	position: static;
}
.top-nav {
	border-bottom: none;
	background-color: transparent;
	position: static;
	margin: 0 auto;
}
.top-nav.-is-fixed {
	padding-top: calc(var(--frame-width) + var(--frame-border-width));
	background: #fff;
	position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    transform: translateY(-100%);
	height: var(--nav-height);
	animation: navFixed .5s linear forwards;
}
.top-nav .sec-inner,
.top-nav-list {
	height: 100%;
}
.top-nav-list {
	display: flex;
	justify-content: center;
	align-items: center;
}
.top-nav-list .top-nav-item a span {
	background: no-repeat 50% 50% / auto 100%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	width: 100%;
	transition: all .1s;
}
.top-nav-list .top-nav-item a:hover span {
	opacity: .8;
}

.btn-fixed-reserve {
	position: fixed;
    z-index: 999;
}
.btn-fixed-reserve:not(.-is-fixed) {
	display: none;
}
.btn-fixed-reserve.-is-fixed {
	animation: navFixedReverse .5s linear forwards;
}
.btn-fixed-reserve .btn-link {
	display: block;
}

.area-fixed .top-nav {
	display: none;
}
.area-fixed .top-nav.-is-fixed {
	display: block;
}
.anker-area {
	margin-top: calc(-1 * var(--nav-height));
	padding-top: var(--nav-height);
	display: block;
}

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

/* ----------------------------------------------------------------------------------------------------
*  sec-room
* --------------------------------------------------------------------------------------------------*/
.sec-room {
	padding-bottom: calc(250 * var(--scale-ratio));
	background-color: #fbebf7;
}
.sec-room .art {
	position: absolute;
}
.sec-room .logo-tdh {
	margin: calc(50 * var(--scale-ratio)) auto;
}
.room-line {
	margin: calc(150 * var(--scale-ratio))  auto calc(130 * var(--scale-ratio)) ;
	text-align: center;
	display: block;
}

.sec-room .area-interior {
	position: relative;
}
.sec-room .area-interior .interior-item {
	position: relative;
}
.sec-room .area-interior .interior-item::before {
	content: "";
	border-radius: calc(40 * var(--scale-ratio));
	background: #fff7fd;
	position: absolute;
	right: 0;
	bottom: 0;
}
.sec-room .area-interior .interior-item .img {
	overflow: hidden;
	position: relative;
}
.sec-room .area-interior .interior-item .area-body,
.sec-room .area-interior .interior-item .txt-box .txt {
	position: relative;
}
.sec-room .area-interior .interior-item .txt-box .txt .em {
	color: var(--color-accent);
}
.sec-room .area-interior .txt-lead.-lead02 {
	line-height: 1.7;
}
.sec-room .area-interior .txt-lead.-lead02 .em {
	white-space: nowrap;
	display: inline-block;
}
.sec-room .area-interior .interior-item.-room02 .txt-box .art-heart {
	transform: scaleX(-1);
}

.sec-room .room-ti-area {
	background: no-repeat 33% 0;
	position: relative;
}
.sec-room .room-ti {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.sec-room .room-ti .ja {
	margin-bottom: calc(15 * var(--scale-ratio));
}
.sec-room .room-ti .art-line-ribbon {
	margin-top: calc(-8 * var(--scale-ratio));
	position: relative;
}
.sec-room .items-items.-postcard .art-heart02 {
	transform: scaleX(-1);
}

.sec-room .area-items .room-ti-area {
	margin-bottom: calc(84 * var(--scale-ratio));
}
.sec-room .items-items {
	background: #fff7fd;
}
.sec-room .items-items .ti-items-cover,
.sec-room .items-items .ti-items {
	position: relative;
}
.sec-room .items-items .ti-items {
	font-weight: 900;
	font-size: calc(34 * var(--font-ratio));
	letter-spacing: 0.05em;
	line-height: 1.3;
}
.sec-room .items-items .txt-box {
	display: flex;
	flex-direction: column;
	gap: calc(20 * var(--scale-ratio));
}
.sec-room .items-items .txt {
	font-size: calc(18 * var(--font-ratio));
	line-height: 2;
	letter-spacing: 0.05em;
}
.sec-room .items-items .txt .em {
	color: var(--color-accent);
}
.sec-room .items-items .note-list li {
	font-size: calc(15 * var(--font-ratio));
	line-height: 1.46;
	letter-spacing: 0.025em;
}
.sec-room .items-items.-key {
	margin-bottom: calc(80 * var(--scale-ratio));
	margin-right: calc(-50 * var(--scale-ratio));
	padding: calc(100 * var(--scale-ratio)) calc(50 * var(--scale-ratio)) calc(60 * var(--scale-ratio)) calc(645 * var(--scale-ratio));
	position: relative;
}
.sec-room .items-items.-key .img01 {
	position: absolute;
	bottom: calc(23 * var(--scale-ratio));
	left: calc(-20 * var(--scale-ratio));
	width: calc(651 * var(--scale-ratio));
}
.sec-room .items-items.-key .ti-items-cover {
	margin-bottom: calc(25 * var(--scale-ratio));
}

.sec-room .items-items.-postcard {
	margin-bottom: calc(224 * var(--scale-ratio));
	margin-left: calc(-50 * var(--scale-ratio));
	padding: calc(60 * var(--scale-ratio)) calc(115 * var(--scale-ratio)) calc(540 * var(--scale-ratio)) calc(100 * var(--scale-ratio));
	display: flex;
	align-items: center;
}
.sec-room .items-items.-postcard .ti-items-cover {
	margin-right: calc(36 * var(--scale-ratio));
}
.sec-room .items-items.-postcard .img02 {
	position: absolute;
	bottom: calc(-142 * var(--scale-ratio));
	left: calc(100 * var(--scale-ratio));
	width: calc(1051 * var(--scale-ratio));
}

.sec-room .ti-detail {
	margin-bottom: calc(30 * var(--scale-ratio));
}
.sec-room .ti-detail .txt-ti {
	margin: calc(30 * var(--scale-ratio)) auto calc(25 * var(--scale-ratio));
	font-size: calc(26 * var(--font-ratio));
	font-weight: 900;
	display: block;
}
.sec-room .ti-detail .txt-ti .tdh {
	font-size: 120%;
}
.sec-room .ti-detail .art-line-stone {
	text-align: center;
	position: relative;
}
.sec-room .ti-detail .art-line-stone img {
	width: auto;
}
.sec-room .detail-dl {
	margin-bottom: calc(55 * var(--scale-ratio));
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sec-room .detail-dl dt,
.sec-room .detail-dl dd {
	font-weight: 900;
	font-size: calc(22 * var(--font-ratio));
	vertical-align: bottom;
}
.sec-room .detail-dl dt {
	display: flex;
	align-items: center;
}
.sec-room .detail-dl .art-stone {
	margin: 0 calc(15 * var(--scale-ratio));
	position: relative;
}
.sec-room .detail-cover {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: calc(23 * var(--scale-ratio));
	width: calc(1000 * var(--scale-ratio));
}
.sec-room .detail-cover .detail-item-body {
	padding: calc(15 * var(--scale-ratio)) calc(30 * var(--scale-ratio));
	display: block;
}

.sec-room .area-reservation .txt {
	margin: calc(30 * var(--scale-ratio)) auto calc(60 * var(--scale-ratio));
	font-size: calc(22 * var(--font-ratio));
	line-height: 1.7;
}
.sec-room .area-reservation .txt .em {
	color: var(--color-accent);
}
.sec-room .area-reservation .reservation-accordion {
	border: none;
}
.reservation-accordion .reservation-accordion-body {
	padding: calc(40 * var(--scale-ratio)) calc(40 * var(--scale-ratio)) calc(30 * var(--scale-ratio));
}
.sec-room .area-reservation .reservation-accordion-body .note-list li {
	font-size: calc(15 * var(--font-ratio));
}

.sec-room .area-reservation .txt-start {
	margin-bottom: calc(18 * var(--scale-ratio));
}
.sec-room .area-reservation .btn-reservation {
	margin-bottom: calc(40 * var(--scale-ratio));
    padding: calc(16 * var(--scale-ratio));
	background: url("../images/bg_grass01.gif");
	background-size: calc(300 * var(--scale-ratio)) calc(300 * var(--scale-ratio));
	display: block;
	width: calc(560 * var(--scale-ratio));
	height: calc(155 * var(--scale-ratio));
}
.sec-room .area-reservation .link-cover {
    padding: calc(7 * var(--scale-ratio));
	background: #ea539e;
}
.sec-room .area-reservation .link-txt {
	display: block;
	width: calc(259 * var(--scale-ratio));
}
.sec-room .area-reservation .btn-reservation .arrow {
	width: calc(17 * var(--scale-ratio));
	height: calc(30 * var(--scale-ratio));
}
.sec-room .area-reservation .btn-reservation .arrow img {
	height: 100%;
}
.sec-room .area-reservation .btn-reservation .art-stone01 {
	width: calc(79 * var(--scale-ratio));
}
.sec-room .area-reservation .btn-reservation .art-stone02 {
	width: calc(65 * var(--scale-ratio));
}
.sec-room .area-reservation .note-list li {
	font-size: calc(15 * var(--font-ratio));
	line-height: 1.6;
	letter-spacing: 0.05em;
}

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

.area-detail .detail-cover {
	position: relative;
}
.area-detail .detail-cover .art-heart01 {
	transform: scaleX(-1);
	z-index: 1;
}

.sec-room .area-links {
	margin: auto;
	display: flex;
	flex-direction: column;
	position: relative;
	width: calc(800 * var(--scale-ratio));
	gap: calc(40 * var(--scale-ratio));
}
.sec-room .area-links .art-heart01 {
	transform: scaleX(-1);
	z-index: 1;
}
.sec-room .area-link-item {
	background: var(--color-gradient03);
	border-radius: calc(60 * var(--scale-ratio));
	padding: calc(5 * var(--scale-ratio));
	position: relative;
	z-index: 2;
}
.sec-room .area-link-item-cover {
	padding: calc(55 * var(--scale-ratio)) calc(10 * var(--scale-ratio)) calc(40 * var(--scale-ratio));
	border-radius: calc(55 * var(--scale-ratio));
	background: #ffffff;
}
.sec-room .area-link-item .link-ti {
	margin-bottom: calc(35 * var(--scale-ratio));
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.sec-room .area-link-item.-vpn .link-ti .logo {
	margin-bottom: calc(30 * var(--scale-ratio));
}
.sec-room .area-link-item.-fdd .link-ti .logo {
	margin-bottom: calc(15 * var(--scale-ratio));
}
.sec-room .area-link-item .link-ti .ti {
	font-weight: 900;
	font-size: calc(30 * var(--font-ratio));
	line-height: 1;
}
.sec-room .area-link-item.-vpn .link-ti .art-hearts {
	bottom: -30px;
	left: -15px;
}
.sec-room .area-link-item.-fdd .link-ti .art-hearts {
	bottom: -30px;
	left: 40px;
}
.sec-room .area-link-item .txt {
	margin-bottom: calc(25 * var(--scale-ratio));
	font-size: calc(18 * var(--font-ratio));
	line-height: 1.77;
}
.sec-room .area-link-item .btn-link {
	background: #ea539e;
}
.sec-room .area-link-item .btn-link .arrow {
	right: calc(10 * var(--font-ratio));
	width: calc(9 * var(--font-ratio));
}


/* ----------------------------------------------------------------------------------------------------
*  sec-goods
* --------------------------------------------------------------------------------------------------*/
.sec-goods {
	padding-top: 0;
	padding-bottom: calc(250 * var(--scale-ratio));
	background-color: #e8f6ff;
	position: relative;
}
.sec-goods .art {
	position: absolute;
}

.sec-goods .area-key {
	margin: calc(90 * var(--scale-ratio)) auto calc(100 * var(--scale-ratio)) 0;
	padding: calc(325 * var(--scale-ratio)) 0 calc(34 * var(--scale-ratio)) calc(80 * var(--scale-ratio));
	background: #f8fcff;
	position: relative;
	z-index: 4;
	width: calc(980 * var(--scale-ratio));
}
.sec-goods .area-key .img01 {
	top: calc(-50 * var(--scale-ratio));
	right: calc(-73 * var(--scale-ratio));
	position: absolute;
	width: calc(938 * var(--scale-ratio));
}
.sec-goods .area-key .txt-box {
	position: relative;
}
.sec-goods .area-key .txt-box .ti-key {
	margin-bottom: calc(30 * var(--scale-ratio));
	font-size: calc(34 * var(--font-ratio));
	letter-spacing: 0.05em;
}
.sec-goods .area-key .txt-box .txt {
	font-size: calc(18 * var(--font-ratio));
	line-height: 2;
	letter-spacing: 0.05em;
}
.sec-goods .area-key .txt-box .txt .em {
	color: var(--color-accent);
}
.sec-goods .area-key .txt-box .txt + .key-dl {
	margin-top: calc(15 * var(--scale-ratio));
}

.sec-goods .area-detail {
	margin: 0 auto calc(70 * var(--scale-ratio));
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
}
.sec-goods .reservation-accordion {
	margin: calc(15 * var(--scale-ratio)) 0 calc(1s0 * var(--scale-ratio));
}
.sec-goods .txt-start {
	margin-bottom: calc(-10 * var(--scale-ratio));
}
.sec-goods .btn-reservation {
	background: url("../images/bg_grass02.gif");
	background-size: calc(300 * var(--scale-ratio)) calc(300 * var(--scale-ratio));
	width: calc(510 * var(--scale-ratio));
	height: calc(95 * var(--scale-ratio));
}
.sec-goods .btn-reservation .link-cover {
	background: #0d99e2;
}
.sec-goods .btn-reservation .link-txt {
	display: block;
	width: calc(206 * var(--scale-ratio));
}

.sec-goods .area-detail .art-heart01 {
	transform: scaleX(-1);
}
.sec-goods .area-detail .art-heart02 {
	z-index: 2;
}

.sec-goods .area-photo {
	margin: 0 auto;
	padding: calc(5 * var(--scale-ratio));
	border-radius: calc(60 * var(--scale-ratio));
	background: var(--color-gradient03);
	position: relative;
	z-index: 3;
	width: calc(800 * var(--scale-ratio));
}
.sec-goods .area-photo-cover {
	padding: calc(60 * var(--scale-ratio));
	border-radius: calc(55 * var(--scale-ratio));
	background: #fff;
}
.sec-goods .area-photo .ti-photo {
	margin-bottom: calc(45 * var(--scale-ratio));
	position: relative;
}
.sec-goods .area-photo .ti-photo .ti-txt {
	font-weight: 500;
	font-size: calc(30 * var(--font-ratio));
	letter-spacing: 0.05em;
	line-height: 1.46;
}
.sec-goods .area-photo .ti-photo .ti-txt .em {
	font-weight: 900;
}
.sec-goods .area-photo .photo-cover {
	margin: 0 auto;
	border-radius: calc(60 * var(--scale-ratio));
	position: relative;
	width: calc(570 * var(--scale-ratio));
}

/* ----------------------------------------------------------------------------------------------------
*  sec-menu
* --------------------------------------------------------------------------------------------------*/
.sec-menu {
	padding-bottom: calc(180 * var(--scale-ratio));
	background-color: #f5f1ff;
}
.sec-menu .art {
	position: absolute;
}
.sec-menu .area-first {
	position: relative;
}
.sec-menu .area-first::before {
	content: "";
	border-radius: calc(40 * var(--scale-ratio));
	background: #faf8ff;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.sec-menu .img01 {
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	z-index: 3;
}
.sec-menu .area-first {
	margin-bottom: calc(140 * var(--scale-ratio));
}
.sec-menu .area-first .area-body {
	position: relative;
}
.sec-menu .area-first .txt-box {
	text-align: center;
	position: relative;
	z-index: 5;
}
.sec-menu .area-first .txt-box .txt {
	letter-spacing: 0.05em;
	line-height: 2;
}
.sec-menu .area-first .txt-box .txt .em {
	color: var(--color-accent);
}
.sec-menu .area-first .art-heart02 {
	z-index: 3;
}
.sec-menu .area-first .art-ribbon {
	z-index: 5;
}

.sec-menu .area-link .menu-ti {
	letter-spacing: 0.05em;
	text-align: center;
	line-height: 1.43;
}
.sec-menu .area-link .menu-ti .ti {
	display: inline-block;
}
.sec-menu .area-link .link-list {
	margin-bottom: calc(50 * var(--scale-ratio));
	position: relative;
	display: flex;
}
.sec-menu .area-link .link-item {
	flex-basis: calc(480 * var(--scale-ratio));
}
.sec-menu .area-link .link-item .gradient-cover {
	padding: calc(7 * var(--scale-ratio));
	border-radius: calc(30 * var(--scale-ratio));
}
.sec-menu .area-link .link-item .gradient-cover .img {
	border-radius: calc(23 * var(--scale-ratio));
	overflow: hidden;
}
.sec-menu .area-link .link-item .link-ti .art-ti-menu {
	text-align: center;
	position: relative;
}
.sec-menu .area-link .link-item .link-ti .art-ti-menu img {
	width: auto;
}
.sec-menu .area-link .link-item .link-ti .ti {
	margin: 0 calc(-8 * var(--scale-ratio));
	text-align: center;
	white-space: nowrap;
	display: block;
}
.sec-menu .area-link .link-item .link-ti .ti .ti-txt {
	color: var(--color-accent);
	font-size: calc(28 * var(--font-ratio));
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.sec-menu .area-link .link-item .link-ti .ti::before,
.sec-menu .area-link .link-item .link-ti .ti::after {
	content: "";
	margin: 0 calc(8 * var(--scale-ratio));
	background: no-repeat 50% 50% / contain;
	vertical-align: middle;
	display: inline-block;
	width: calc(31 * var(--scale-ratio));
	height: calc(32 * var(--scale-ratio));
}
.sec-menu .area-link .link-item .link-ti .ti::after {
	transform: scaleX(-1);
}
.sec-menu .area-link .link-item.-tdh .link-ti .ti::before,
.sec-menu .area-link .link-item.-tdh .link-ti .ti::after {
	background-image: url("../images/menu_heart01.png");
}
.sec-menu .area-link .link-item.-dah .link-ti .ti::before,
.sec-menu .area-link .link-item.-dah .link-ti .ti::after {
	background-image: url("../images/menu_heart02.png");
}
.sec-menu .area-link .link-item .gradient-cover {
	margin: 0 auto;
	width: calc(480 * var(--scale-ratio));
}
.sec-menu .area-link .link-item .btn .btn-link {
	margin: 0 auto;
	border-radius: calc(10 * var(--scale-ratio));
	background: var(--color-bg02);
	display: flex;
	justify-content: center;
	align-items: center;
}
.sec-menu .area-link .link-item .btn .btn-link .link-txt {
	width: calc(152 * var(--scale-ratio));
}
.sec-menu .area-link .link-item .btn .btn-link .arrow {
	width: calc(10 * var(--scale-ratio));
}

/* ----------------------------------------------------------------------------------------------------
*  sec-park
* --------------------------------------------------------------------------------------------------*/
.sec-park {
	background-color: #fffeed;
}
.sec-park .ti-park {
	margin-bottom: calc(30 * var(--scale-ratio));
}
.sec-park .ti-park .ti {
	font-size: calc(30 * var(--font-ratio));
	text-align: center;
	display: block;
}
.art-ti-park {
	text-align: center;
	display: block;
}
.art-ti-park img {
	width: auto;
}
.sec-park .park-figure-cover {
	margin: 0 auto;
	position: relative;
}
.sec-park .park-figure-cover .art {
	position: absolute;
}
.sec-park .park-figure-cover,
.sec-park .btn {
	margin: auto;
	width: calc(500 * var(--scale-ratio));
}
.sec-park .btn.-gradient {
	margin: auto;
	border-radius: calc(25 * var(--scale-ratio));
	padding: calc(6 * var(--scale-ratio));
	background: var(--color-gradient03);
	position: relative;
	height: calc(100 * var(--scale-ratio));
}
.sec-park .btn .deco {
	position: absolute;
	z-index: 5;
    left: calc(-30 * var(--scale-ratio));
    top: calc(-26 * var(--scale-ratio));
	width: calc(146 * var(--scale-ratio));
}
.sec-park .btn .btn-link {
	border-radius: calc(19 * var(--scale-ratio));
	background: var(--color-bg01);
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sec-park .btn .btn-link .arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: calc(14 * var(--scale-ratio));
	right: calc(14 * var(--scale-ratio));
}

/* ----------------------------------------------------------------------------------------------------
*  art-area
* --------------------------------------------------------------------------------------------------*/
.art-area {
	background-color: #fabad6;
	overflow: hidden;
}
.art-area .dot-belt {
	background: url("../images/bg_dots.png") #e50a84 0 50%;
}

/* ----------------------------------------------------------------------------------------------------
*  content-footer
* --------------------------------------------------------------------------------------------------*/
.content-footer {
	background-size: 150%;
}
footer #sns .snsCap p,
.content-footer .note-list li {
	color: var(--color-base);
}


/* ----------------------------------------------------------------------------------------------------
*  frame
* --------------------------------------------------------------------------------------------------*/
.frame {
	background: url("../images/bg_dots.png") 50% 50%;
	position: fixed;
	z-index: 9999;
	transition: transform .5s ease-out, background-color .5s ease-out;
}
.frame.-top,
.frame.-bottom {
	width: 100vw;
	height: var(--frame-width);
}
.frame.-left,
.frame.-right {
	width: var(--frame-width);
	height: 100vh;
}
.frame.-top {
	top: 0;
	left: 0;
	transform: translate(0,calc(-100% - var(--frame-border-width)));
}
.frame.-bottom {
	bottom: 0;
	left: 0;
	transform: translate(0,calc(100% + var(--frame-border-width)));
}
.frame.-left {
	top: 0;
	left: 0;
	transform: translate(calc(-100% - var(--frame-border-width)),0);
}
.frame.-right {
	top: 0;
	right: 0;
	transform: translate(calc(100% + var(--frame-border-width)),0);
}
.frames.-is-view .frame {
	transform: translate(0,0);
}

.frame::after {
	content: "";
	position: absolute;
	transition: background-color .5s ease-out;
}
.frame.-top::after,
.frame.-bottom::after {
	background-color: #ee87b4;
	left: 0;
	width: 100%;
	height: var(--frame-border-width);
}
.frame.-left::after,
.frame.-right::after {
	background-color: #daabcd;
	top: 0;
	width: var(--frame-border-width);
	height: 100%;
}
.frame.-top::after {
	top: 100%;
}
.frame.-bottom::after {
	bottom: 100%;
}
.frame.-left::after {
	left: 100%;
}
.frame.-right::after {
	right: 100%;
}

.frames.-mv .frame,
.frames.-goods .frame {
	background-color: #e50a84;
}
.frames.-room .frame {
	background-color: #9a5eb9;
}
.frames.-menu .frame {
	background-color: #5bbce4;
}
.frames.-room .frame.-top::after,
.frames.-room .frame.-bottom::after,
.frames.-menu .frame.-top::after,
.frames.-menu .frame.-bottom::after {
	background-color: #ee87b4;
}
.frames.-mv .frame.-top::after,
.frames.-mv .frame.-bottom::after,
.frames.-room .frame.-left::after,
.frames.-room .frame.-right::after,
.frames.-goods .frame.-top::after,
.frames.-goods .frame.-bottom::after {
	background-color: #daabcd;
}
.frames.-mv .frame.-left::after,
.frames.-mv .frame.-right::after,
.frames.-goods .frame.-left::after,
.frames.-goods .frame.-right::after,
.frames.-menu .frame.-left::after,
.frames.-menu .frame.-right::after {
	background-color: #f5b4d0;
}
