@charset "UTF-8";
/*================================================================
# 共通
================================================================ */

/*================================================================
# 癒し
================================================================ */
.barrel-sauna .back-decor,
.bbq .back-decor,
.bathroom .back-decor,
.hot-spring .back-decor,
.pool .back-decor {
	position: absolute;
	top: 40px;
	left: -120px;
}

/* barrel-sauna
------------------------------------------------------ */
.barrel-sauna .accordion__panel .container {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 0 40px;
}

.barrel-sauna .accordion__panel .block02 {
	padding: 16px;
	border-radius: 8px;
	background-color: var(--black);
	font-size: 12px;
}

.barrel-sauna .accordion__panel .block02 .accordion__thumb img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.barrel-sauna .accordion__panel .block02 .accordion__note {
	margin: 8px 0 0;
	font-size: 12px;
}

.barrel-sauna .accordion__panel .warning {
	margin: 32px 0 0;
	grid-column: 1 / -1;
}

.barrel-sauna .accordion__panel .warning span {
	padding: 8px 40px 12px;
	border: 1px solid var(--gold02);
}

.barrel-sauna .accordion__texts .list-info {
	margin: 0;
}

/* shower-room
 ------------------------------------------------------ */
.shower-room .container {
	display: grid;
	align-items: center;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 40px;
}

.shower-room__text {
	padding: 0 40px 0 0;
}

.shower-room__tag {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.shower-room__ttl {
	margin: 18px 0 0;
	font-size: 24px;
	font-weight: 600;
	color: var(--white);
	text-shadow: 0 0 16px rgba(0, 0, 0, 0.50);
	letter-spacing: 0.02em;
}

.shower-room__lead {
	margin: 28px 0 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 2.4;
	text-shadow: 0 0 16px rgba(0, 0, 0, 0.50);
	letter-spacing: 0.04em;
}

.shower-room__media {
	display: grid;
	flex: 0 0 auto;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.shower-room__media .shower-room__media-img {
	width: 100%;
	height: 100%;
	border-radius: 8px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
	object-fit: cover;
	aspect-ratio: 1 / 1;
}

/* hot-spring
------------------------------------------------------ */
.hot-spring .lead {
	margin: 40px 0 80px;
	text-align: center;
}

.hot-spring .lead span {
	position: relative;
	font-size: 20px;
	color: var(--gold03);
	z-index: 1;
}

.hot-spring .lead span:before {
	width: 100px;
	height: 1px;
	margin: auto;
	background-color: var(--gold01);
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: -120px;
}

.hot-spring .lead span::after {
	width: 100px;
	height: 1px;
	margin: auto;
	background-color: var(--gold01);
	position: absolute;
	content: '';
	top: 0;
	right: -120px;
	bottom: 0;
}

.scroll__bg--switch {
	height: 200vh;
	margin: 0;
	position: relative;
}

.scroll__bg--switch .scroll__bgPin {
	height: 100vh;
	position: relative;
	overflow: hidden;
}

.scroll__bg--switch .scroll__bgImg {
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	object-fit: cover;
	will-change: opacity;
	transform: translateZ(0);
	inset: 0;
}

.scroll__bg--switch .scroll__bgImg.is-2 {
	opacity: 0;
}

/* bathroom
------------------------------------------------------ */
.bathroom {
	margin: 0;
}

/* pool
------------------------------------------------------ */
.pool {
	margin: 0;
}

/*================================================================
# ダイニングキッチン
================================================================ */

/*================================================================
# courtyard
================================================================ */
.courtyard {
	width: 100%;
	position: relative;
}

.courtyard__sticky {
	width: 100%;
	height: 100vh;
	min-height: 560px;
	position: relative;
}

.courtyard__splide {
	width: 100%;
	height: 100%;
}

.courtyard__splide .splide__track,
.courtyard__splide .splide__list,
.courtyard__splide .splide__slide {
	height: 100%;
}

.courtyard__slide-bg {
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	will-change: transform;
	transform: scale(1);
}

.courtyard__content {
	padding: 160px 0;
	position: relative;
}

.courtyard__content .decor01 {
	width: calc(1820px / 4);
	position: absolute;
	right: -40px;
	bottom: 0px;
	z-index: 1;
}

.courtyard__content .decor02 {
	width: calc(1410px / 4);
	position: absolute;
	bottom: 0px;
	left: -40px;
	z-index: 1;
}

@keyframes facilityDiningZoomIn {
	0% {
		transform: scale(1.06);
	}

	100% {
		transform: scale(1.16);
	}
}

@keyframes facilityDiningPanLR {
	0% {
		transform: scale(1.14) translateX(-2%);
	}

	100% {
		transform: scale(1.14) translateX(2%);
	}
}

@keyframes facilityDiningPanRL {
	0% {
		transform: scale(1.14) translateX(2%);
	}

	100% {
		transform: scale(1.14) translateX(-2%);
	}
}

@keyframes facilityDiningZoomOut {
	0% {
		transform: scale(1.18);
	}

	100% {
		transform: scale(1.08);
	}
}


/*
------------------------------------------------------ */
.kitchen-tool {
	padding: 0;
}

/*================================================================
# drink
================================================================ */
.drink .container {
	width: 88%;
	margin: 120px auto 0;
	display: flex;
	align-items: center;
	gap: 64px;
}

.drink__text {
	flex: 0 0 auto;
}

.drink__tag {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.drink__ttl {
	margin: 18px 0 0;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--white);
	text-shadow: 0 0 16px rgba(0, 0, 0, 0.50);
	letter-spacing: 0.02em;
}

.drink__lead {
	margin: 28px 0 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 2.4;
	text-shadow: 0 0 16px rgba(0, 0, 0, 0.50);
	letter-spacing: 0.04em;
}

.drink__media {
	border-radius: 8px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
	flex: 1 1 0;
}

.drink__media .decor03 {
	width: 140px;
	position: absolute;
	top: -70px;
	right: -90px;
	z-index: 1;
}

.drink__media .drink__media-img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

/*================================================================
# cookware
================================================================ */
.cookware {
	width: 100%;
	margin: 160px 0 0;
}

.cookware__head {
	text-align: center;
}

.cookware__ttl {
	margin: 0;
	position: relative;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.cookware__ttl:after {
	width: 28px;
	height: 1px;
	margin: 18px auto 0;
	background: var(--gray03);
	content: "";
	display: block;
}

.cookware__grid {
	margin: 72px 0 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	grid-template-areas:
		"a b c fridge"
		"d e f fridge"
		"bbq bbq dishwasher dishwasher";
}

.cookware-card {
	width: 100%;
}

.cookware-card--a {
	grid-area: a;
}

.cookware-card--b {
	grid-area: b;
}

.cookware-card--c {
	grid-area: c;
}

.cookware-card--d {
	grid-area: d;
}

.cookware-card--e {
	grid-area: e;
}

.cookware-card--f {
	grid-area: f;
}

.cookware-card--fridge {
	grid-area: fridge;
}

.cookware-card--bbq {
	grid-area: bbq;
}

.cookware-card--dishwasher {
	grid-area: dishwasher;
}

.cookware-card__media {
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
	position: relative;
	overflow: hidden;
	transition: transform 0.35s, box-shadow 0.35s;
	transform: translateY(0);
}

.cookware-card__media:before {
	padding-top: 100%;
	content: "";
	display: block;
}

.cookware-card--fridge .cookware-card__media:before {
	padding-top: 208%;
}

.cookware-card--bbq .cookware-card__media:before,
.cookware-card--dishwasher .cookware-card__media:before {
	padding-top: 56%;
}

.cookware-card__media img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	object-fit: cover;
	transition: transform 0.6s;
	transform: scale(1);
}

/*================================================================
# tableware-cutlery
================================================================ */
.tableware-cutlery {
	width: 100%;
	margin: 160px 0 0;
}

.tableware-cutlery__head {
	text-align: center;
}

.tableware-cutlery__ttl {
	margin: 0;
	position: relative;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.tableware-cutlery__ttl:after {
	width: 28px;
	height: 1px;
	margin: 18px auto 0;
	background: var(--gray03);
	content: "";
	display: block;
}

.tableware-cutlery__grid {
	margin: 72px 0 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	grid-template-areas:
		"a b c fridge"
		"d e f fridge"
		"bbq bbq dishwasher dishwasher";
}

.tableware-cutlery-card {
	width: 100%;
}

.tableware-cutlery-card--a {
	grid-area: a;
}

.tableware-cutlery-card--b {
	grid-area: b;
}

.tableware-cutlery-card--c {
	grid-area: c;
}

.tableware-cutlery-card--d {
	grid-area: d;
}

.tableware-cutlery-card--e {
	grid-area: e;
}

.tableware-cutlery-card--f {
	grid-area: f;
}

.tableware-cutlery-card--fridge {
	grid-area: fridge;
}

.tableware-cutlery-card--bbq {
	grid-area: bbq;
}

.tableware-cutlery-card--dishwasher {
	grid-area: dishwasher;
}

.tableware-cutlery-card__media {
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
	position: relative;
	overflow: hidden;
	transition: transform 0.35s, box-shadow 0.35s;
	transform: translateY(0);
}

.tableware-cutlery-card__media:before {
	padding-top: 100%;
	content: "";
	display: block;
}

.tableware-cutlery-card--fridge .tableware-cutlery-card__media:before {
	padding-top: 208%;
}

.tableware-cutlery-card--bbq .tableware-cutlery-card__media:before,
.tableware-cutlery-card--dishwasher .tableware-cutlery-card__media:before {
	padding-top: 56%;
}

.tableware-cutlery-card__media img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	object-fit: cover;
	transition: transform 0.6s;
	transform: scale(1);
}