/*
Theme Name: Palace Club
Theme URI: https://example.com/
Author: Palace Club
Author URI: https://example.com/
Description: PALACE CLUB top page theme.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: palace-club
*/

:root {
	--main-color: #111a2e;
	--bg-main: #081224;
	--accent-color: #c3a06a;
	--white: #ffffff;
	--line: #b8c1c9;
	--header-height: 5.5625rem;
	--content-width: 80rem;
	--metal-bg-angle: 48deg;
	--metal-border-angle: 350deg;
}

* {
	box-sizing: border-box;
}

html {
	margin: 0;
	font-size: 100%;
	scroll-behavior: smooth;
}

@media (min-width: 768px) and (max-width: 1200px) {
	html {
		font-size: 1.333333vw;
	}
}

@media (max-width: 767px) {
	html {
		/* 390px viewport: 1rem = 16px */
		font-size: 4.102564vw;
	}
}

body {
	margin: 0;
	background: var(--bg-main);
	color: var(--white);
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: 0;
}

body.is-menu-open {
	overflow: hidden;
}

img,
svg,
picture {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	border: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	font: inherit;
}

.sp-only {
	display: none;
}

.pc-only {
	display: inline;
}

.site-header {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--header-height);
	transform: translateY(0);
	transition: transform 320ms ease;
}

.site-header--hidden {
	transform: translateY(-100%);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 5rem);
	height: 100%;
	margin: 0 auto;
	gap: 2rem;
}

.site-header__logo {
	width: 12.5rem;
	flex: 0 0 auto;
}

.site-header__logo img {
	width: 100%;
	height: auto;
}

.site-nav {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin-left: auto;
}

.site-nav__link {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	transition: color 180ms ease;
	font-family: "Cormorant", serif;
}

.site-nav__link:hover,
.site-nav__link:focus-visible,
.footer-nav__link:hover,
.footer-nav__link:focus-visible {
	color: var(--accent-color);
}

.header-tel {
	position: relative;
	display: grid;
	grid-template-columns: 1.5rem 1fr;
	align-items: center;
	min-width: 12.25rem;
	padding: 0.625rem 0.8125rem 0.5625rem;
	background: rgba(2, 2, 2, 0.3);
	line-height: 1.1;
}

.header-tel::before {
	content: "";
	position: absolute;
	inset: -1px;
	background: #c1a875;
	z-index: -1;
	mix-blend-mode: color;

	padding: 1px;

	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);

	-webkit-mask-composite: xor;
	mask-composite: exclude;

	pointer-events: none;
}

.header-tel::after {
	content: "";
	position: absolute;
	inset: -1px;

	padding: 1px;

	background: linear-gradient(
		78deg,
		#576265 0%,
		#9ea1a1 17%,
		#848b8a 46%,
		#576265 55%,
		#576265 82%,
		#757a7b 93%,
		#576265 100%
	);

	z-index: -2;

	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);

	-webkit-mask-composite: xor;
	mask-composite: exclude;

	pointer-events: none;
}

.header-tel__icon {
	grid-row: span 2;
	width: 1.5rem;
	height: 1.5rem;
	background: url("assets/images/phone_enabled.svg") center / contain no-repeat;
}

.header-tel__number {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.header-tel__time {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.menu-toggle {
	display: none;
	position: relative;
	width: 2.375rem;
	height: 2.375rem;
	background: rgba(2, 2, 2, 0.3);
}

.menu-toggle::before {
	content: "";
	position: absolute;
	inset: -1px;
	background: #c1a875;
	z-index: -1;
	mix-blend-mode: color;

	padding: 1px;

	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);

	-webkit-mask-composite: xor;
	mask-composite: exclude;

	pointer-events: none;
}

.menu-toggle::after {
	content: "";
	position: absolute;
	inset: -1px;

	padding: 1px;

	background: linear-gradient(
		78deg,
		#576265 0%,
		#9ea1a1 17%,
		#848b8a 46%,
		#576265 55%,
		#576265 82%,
		#757a7b 93%,
		#576265 100%
	);

	z-index: -2;

	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);

	-webkit-mask-composite: xor;
	mask-composite: exclude;

	pointer-events: none;
}

.menu-toggle span {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 1rem;
	height: 0.0625rem;
	background: var(--white);
	transition:
		transform 180ms ease,
		opacity 180ms ease;
}

.menu-toggle span:nth-child(1) {
	top: 33%;
}

.menu-toggle span:nth-child(2) {
	top: 50%;
}

.menu-toggle span:nth-child(3) {
	top: 67%;
}

.is-menu-open .menu-toggle span:nth-child(1) {
	top: 33%;
	transform: translateX(-50%) translateY(0.3125rem) rotate(44deg);
}

.is-menu-open .menu-toggle span:nth-child(2) {
	opacity: 0;
}

.is-menu-open .menu-toggle span:nth-child(3) {
	top: 57%;
	transform: translateX(-50%) translateY(-0.3125rem) rotate(-44deg);
}

.section-kicker {
	margin: 0 0 0.75rem;
	color: var(--accent-color);
	font-family: "Cormorant", serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.section-title {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.section-copy {
	margin: 2.5rem 0 0;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.section-heading--center {
	text-align: center;
}

.button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 16.25rem;
	min-height: 4.25rem;
	padding: 1.125rem 1.75rem;
	background: rgba(8, 18, 36, 0.82);
	color: var(--white);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	overflow: hidden;
	isolation: isolate;
	transition:
		border-color 180ms ease,
		background 180ms ease,
		color 180ms ease,
		box-shadow 320ms ease,
		filter 320ms ease,
		transform 320ms ease;
}

.button::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(
			118deg,
			transparent 0 34%,
			rgba(255, 255, 255, 0.22) 43%,
			transparent 55%
		),
		linear-gradient(145deg, rgba(255, 255, 255, 0.12), transparent 34%);
	opacity: 0.72;
	transition:
		opacity 180ms ease,
		transform 180ms ease;
}

.button--arrow::after {
	content: "";
	flex: 0 0 1.875rem;
	width: 1.875rem;
	height: 1.875rem;
	margin-left: 1.75rem;
	background: url("assets/images/btn_arrow.svg") center / contain no-repeat;
}

.button--gold {
	border-color: transparent;
	background:
		linear-gradient(#c1a875, #c1a875),
		linear-gradient(
			50deg,
			#576265 0%,
			#9ea1a1 20%,
			#848b8a 32%,
			#576265 50%,
			#576265 80%,
			#757a7b 90%,
			#576265 100%
		);
	background-blend-mode: color, normal;
	color: var(--white);
	font-size: 1.25rem;
}

.button--gold::before {
	inset: 0;
	padding: 1px;
	border-radius: inherit;
	background:
		linear-gradient(#c1a875, #c1a875),
		linear-gradient(
			323deg,
			rgba(255, 255, 255, 0),
			rgba(255, 255, 255, 0) 50%,
			rgba(255, 255, 255, 1) 100%
		),
		linear-gradient(
			86deg,
			#576265 0%,
			#9ea1a1 17%,
			#848b8a 46%,
			#576265 55%,
			#576265 82%,
			#757a7b 93%,
			#576265 100%
		);
	background-blend-mode: color, overlay, normal;
	opacity: 1;
	transform: none;
	transition: none;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}

.button--silver {
	border-color: transparent;
	background:
		linear-gradient(rgba(5, 9, 17, 0.8), rgba(5, 9, 17, 0.8)),
		linear-gradient(
			323deg,
			rgba(255, 255, 255, 0),
			rgba(255, 255, 255, 0) 50%,
			rgba(255, 255, 255, 1) 100%
		),
		linear-gradient(
			50deg,
			#9d9d9d 0%,
			#ffffff 17%,
			#ffffff 46%,
			#a6b6bb 55%,
			#576265 82%,
			#ffffff 93%,
			#576265 100%
		);
	background-blend-mode: normal, overlay, normal;
	color: var(--white);
	font-size: 1.25rem;
}

.button--silver::before {
	inset: 0;
	padding: 1px;
	border-radius: inherit;
	background:
		linear-gradient(
			323deg,
			rgba(255, 255, 255, 0),
			rgba(255, 255, 255, 0) 50%,
			rgba(255, 255, 255, 1) 100%
		),
		linear-gradient(
			50deg,
			#576265 0%,
			#9ea1a1 20%,
			#848b8a 32%,
			#576265 50%,
			#576265 80%,
			#757a7b 90%,
			#576265 100%
		);
	background-blend-mode: overlay, normal;
	opacity: 1;
	transform: none;
	transition: none;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}

.button--gold.button--arrow::after,
.button--silver.button--arrow::after {
	flex-basis: 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
	margin-left: 0.625rem;
}

.button--dark {
	position: relative;
	overflow: hidden;
	background: rgba(17, 26, 46, 0.4);
	isolation: unset;
	background-blend-mode: normal;
}

.button--dark::before {
	inset: 0;
	padding: 1px;
	border-radius: inherit;
	background:
		linear-gradient(
			3deg,
			rgba(255, 255, 255, 0),
			rgba(255, 255, 255, 0) 50%,
			rgba(255, 255, 255, 1) 100%
		),
		linear-gradient(
			50deg,
			#576265 0%,
			#9ea1a1 20%,
			#848b8a 32%,
			#576265 50%,
			#576265 80%,
			#757a7b 90%,
			#576265 100%
		);
	background-blend-mode: overlay, normal;
	opacity: 1;
	transform: none;
	transition: none;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}

.button--light {
	border-color: transparent;
	background: rgba(195, 160, 106, 0.2);
	color: var(--white);
	font-size: 1.25rem;
}

.button--light::before {
	inset: 0;
	padding: 1px;
	border-radius: inherit;
	background:
		linear-gradient(#c1a875, #c1a875),
		linear-gradient(
			323deg,
			rgba(255, 255, 255, 0),
			rgba(255, 255, 255, 0) 50%,
			rgba(255, 255, 255, 1) 100%
		),
		linear-gradient(
			86deg,
			#576265 0%,
			#9ea1a1 17%,
			#848b8a 46%,
			#576265 55%,
			#576265 82%,
			#757a7b 93%,
			#576265 100%
		);
	background-blend-mode: color, overlay, normal;
	opacity: 1;
	transform: none;
	transition: none;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}

.button--outline {
	min-width: 11.125rem;
	min-height: 3.625rem;
	padding: 0.875rem 1.25rem;
	border-color: rgba(184, 193, 201, 0.55);
	background: rgba(8, 18, 36, 0.18);
	font-size: 1.125rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
	font-weight: 700;
}

.button:hover,
.button:focus-visible {
	box-shadow: 0 0.875rem 2.25rem rgba(0, 0, 0, 0.22);
	filter: brightness(1.035);
	transform: translateY(-0.0625rem);
}

.button__sheen {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	pointer-events: none;
	background: linear-gradient(
		220deg,
		transparent 40%,
		rgba(255, 255, 255, 0.12) 50%,
		transparent 60%
	);
	background-repeat: no-repeat;
	background-size: 220% 100%;
	background-position: 160% 0;
}

.button:hover .button__sheen,
.button:focus-visible .button__sheen {
	animation: button-sheen 800ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes button-sheen {
	from {
		background-position: 160% 0;
	}
	to {
		background-position: -60% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.button:hover .button__sheen,
	.button:focus-visible .button__sheen {
		animation: none;
	}
}

html.is-opening,
html.is-opening body {
	overflow: hidden;
}

.opening {
	position: fixed;
	z-index: 1000;
	inset: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 50% 42%,
			rgba(195, 160, 106, 0.12),
			transparent 16rem
		),
		linear-gradient(145deg, rgba(11, 17, 30, 0.98), rgba(3, 7, 14, 1) 64%);
	pointer-events: auto;
	animation: palaceOpeningOut 4300ms cubic-bezier(0.22, 1, 0.36, 1) 300ms both;
}

.opening.is-hidden {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.opening__inner {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: center;
	gap: 1.25rem;
	transform: translateY(-0.25rem);
}

.opening__logo {
	width: clamp(9.5rem, 18vw, 13.75rem);
	height: auto;
	filter: drop-shadow(0 1rem 2rem rgba(0, 0, 0, 0.48));
	animation: palaceOpeningLogo 3600ms cubic-bezier(0.22, 1, 0.36, 1) 240ms both;
}

.opening__line {
	display: block;
	width: clamp(8.5rem, 16vw, 12.5rem);
	height: 1px;
	overflow: hidden;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(195, 160, 106, 0.92),
		transparent
	);
	box-shadow: 0 0 1rem rgba(195, 160, 106, 0.48);
	transform: scaleX(0);
	transform-origin: center;
	animation: palaceOpeningLine 1500ms cubic-bezier(0.22, 1, 0.36, 1) 120ms both;
}

@keyframes palaceOpeningLogo {
	0% {
		opacity: 0;
		filter: blur(0.75rem) drop-shadow(0 1rem 2rem rgba(0, 0, 0, 0.48));
	}

	36%,
	68% {
		opacity: 1;
		filter: blur(0) drop-shadow(0 1rem 2rem rgba(0, 0, 0, 0.48));
	}

	100% {
		opacity: 0;
		filter: blur(0.625rem) drop-shadow(0 1rem 2rem rgba(0, 0, 0, 0.48));
	}
}

@keyframes palaceOpeningLine {
	0% {
		opacity: 0;
		transform: scaleX(0);
	}

	30%,
	72% {
		opacity: 1;
		transform: scaleX(1);
	}

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

@keyframes palaceOpeningOut {
	0%,
	70% {
		opacity: 1;
		visibility: visible;
	}

	100% {
		opacity: 0;
		visibility: hidden;
	}
}

.hero {
	position: relative;
	min-height: 56.25rem;
	overflow: hidden;
	background: var(--bg-main);
}

.hero__image,
.hero__image img,
.hero__image video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero__image img,
.hero__image video,
video.hero__image {
	object-fit: cover;
	object-position: center;
}

video.hero__image {
	opacity: 0;
	transition: opacity 1200ms ease;
}

video.hero__image.is-active {
	opacity: 1;
}

.hero::after {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(8, 18, 36, 1) 0%,
		rgba(8, 18, 36, 0.98) 8%,
		rgba(10, 25, 56, 0) 100%
	);
}

.hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(calc(100% - 10rem), var(--content-width));
	min-height: 56.25rem;
	margin: 0 auto;
	padding-top: var(--header-height);
}

.hero__title {
	margin: 0;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.hero__lead {
	max-width: 45rem;
	margin: 2rem 0 0;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.hero__buttons {
	display: flex;
	gap: 2.5rem;
	margin-top: 5rem;
}

.hero__meta {
	display: flex;
	gap: 1.9375rem;
	margin: 3.5rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

.hero__meta li {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.hero__meta-icon {
	display: block;
	width: 1.25rem;
	height: auto;
	object-fit: contain;
	flex: 0 0 auto;
}

.hero__title,
.hero__lead,
.hero__buttons,
.hero__meta {
	animation: palaceHeroTextIn 1650ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero__lead {
	animation-delay: 180ms;
}

.hero__buttons {
	animation-delay: 360ms;
}

.hero__meta {
	animation-delay: 540ms;
}

.is-opening .hero__title,
.is-opening .hero__lead,
.is-opening .hero__buttons,
.is-opening .hero__meta {
	animation-play-state: paused;
}

@keyframes palaceHeroTextIn {
	from {
		opacity: 0;
		filter: blur(0.625rem);
		transform: translate3d(0, 0.5rem, 0);
	}

	to {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}
}

.concept {
	padding: 7.5rem 0;
	background: var(--bg-main);
}

.concept__inner {
	display: grid;
	grid-template-columns: minmax(22.5rem, 1fr) 31.375rem;
	align-items: center;
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 0 auto;
	gap: 7.5rem;
}

.concept__media img {
	width: 100%;
	height: auto;
}

.scene {
	padding: 7.5rem 0;
	background:
		linear-gradient(
			135deg,
			rgba(7, 15, 31, 1) 0%,
			rgba(57, 63, 76, 0.8) 28.4%,
			rgba(106, 111, 121, 0.6) 34.8%,
			rgba(156, 159, 165, 0.4) 47.2%,
			rgba(205, 207, 210, 0.1) 74.6%,
			rgba(255, 255, 255, 0) 82%,
			rgba(255, 255, 255, 0) 100%
		),
		#081224;
}

.scene .section-copy {
	margin-top: 1.75rem;
}

.scene__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	margin-top: 4.875rem;
	border-top: 0.0625rem solid rgba(184, 193, 201, 0.68);
	border-bottom: 0.0625rem solid rgba(184, 193, 201, 0.68);
}

.scene-card {
	min-width: 0;
	border-right: 0.0625rem solid rgba(184, 193, 201, 0.68);
}

.scene-card:first-child {
	border-left: 0.0625rem solid rgba(184, 193, 201, 0.68);
}

.scene-card__media-wrap {
	display: grid;
	grid-template-columns: 1fr 3.5rem;
}

.scene-card picture,
.scene-card__media {
	width: 100%;
	height: 21.5rem;
}

.scene-card__media {
	object-fit: cover;
}

.scene-card__label {
	display: grid;
	align-items: center;
	justify-content: start;
	margin: 2rem 0 0 0;
	border-left: 0.0625rem solid rgba(184, 193, 201, 0.68);
	color: white;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	text-transform: uppercase;
	writing-mode: vertical-rl;
	font-family: "Cormorant", serif;
}

.scene-card__body {
	min-height: 13.625rem;
	padding: 2.25rem 2.25rem 2rem;
}

.scene-card__title {
	margin: 0 0 1.25rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.05em;
}

.scene-card__text {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: 400;
}

.system {
	background: var(--bg-main);
}

.system__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 28.875rem;
}

.system__content {
	display: flex;
	flex-direction: column;
	padding: 7.5rem max(5rem, calc((100vw - var(--content-width)) / 2 + 5rem));
}

.system .section-title {
	font-size: 2.5rem;
}

.price-list {
	width: min(100%, 50rem);
	margin-top: 5.3125rem;
}

.price-group {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 0.0625rem solid rgba(184, 193, 201, 0.92);
}

.price-group:last-child {
	margin-bottom: 0;
}

.price-group__title {
	margin: 0 0 1.5rem;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

.price-row {
	display: grid;
	grid-template-columns: max-content 1fr max-content;
	align-items: baseline;
	gap: 1.75rem;
	margin-bottom: 1.3125rem;
	font-size: 1.625rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: 500;
}

.price-row:last-child {
	margin-bottom: 0;
}

.price-row::before {
	content: "";
	grid-column: 2;
	grid-row: 1;
	border-bottom: 0.0625rem dashed rgba(184, 193, 201, 0.72);
	transform: translateY(-0.32em);
}

.price-row__name {
	grid-column: 1;
}

.price-row__name-note {
	font-size: 1.375rem;
}

.price-row__price {
	grid-column: 3;
	min-width: 7.375rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: right;
}

.system__note {
	margin: 2rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	letter-spacing: 0.05em;
}

.system__media {
	align-self: start;
	justify-self: start;
	width: 28rem;
	height: 51.6875rem;
	margin-top: 0.5rem;
}

.system__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.space {
	overflow: hidden;
	padding: 7.5rem 0;
	background: linear-gradient(
		135deg,
		#071934 0%,
		#1d2736 24%,
		#55585d 48%,
		#8b8072 70%,
		#c4a47e 100%
	);
}

.space__grid {
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 4.5rem auto 0;
}

.space__top-cards,
.space__slider {
	display: grid;
	gap: 2.5rem;
}

.space__top-cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.space__slider {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 2.5rem;
}

.space-card {
	padding: 3.25rem 1.625rem 2.75rem;
	background: var(--bg-main);
}

.space-card__label {
	margin: 0 0 2rem;
	color: white;
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.4;
	text-transform: uppercase;
	font-family: "Cormorant", serif;
}

.space-card picture,
.space-card__image {
	width: 100%;
}

.space-card__image {
	aspect-ratio: 568 / 280;
	object-fit: cover;
}

.space-card--third .space-card__image {
	aspect-ratio: 348 / 280;
}

.space-card__name {
	margin: 2rem 0 0;
	padding-bottom: 0.5rem;
	border-bottom: 0.0625rem solid rgba(184, 193, 201, 0.72);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.space__button {
	margin-top: 5rem;
	text-align: center;
}

.space__button .button {
	width: 17.5rem;
}

.access {
	padding: 7.5rem 0;
	background:
		linear-gradient(
			130deg,
			rgba(7, 15, 31, 1) 0%,
			rgba(57, 63, 76, 0.8) 28.4%,
			rgba(106, 111, 121, 0.6) 36.8%,
			rgba(156, 159, 165, 0.4) 52.2%,
			rgba(205, 207, 210, 0.1) 82.6%,
			rgba(255, 255, 255, 0) 92%,
			rgba(255, 255, 255, 0) 100%
		),
		#081224;
}

.access__inner {
	display: grid;
	grid-template-columns: minmax(0, 39.25rem) minmax(28.25rem, 1fr);
	align-items: end;
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 0 auto;
	gap: 11.125rem;
}

.access__map {
	position: relative;
	display: block;
	width: 100%;
	height: 24.375rem;
	margin-top: 2.6875rem;
	overflow: hidden;
	background: var(--line);
}

.access__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.access__info {
	padding-bottom: 3.75rem;
}

.access__name {
	margin: 0 0 2rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

.access__details {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

.access__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1.3125rem;
	margin-top: 3.75rem;
}

.access__buttons .button {
	flex: 1 1 11.125rem;
	min-width: 0;
	max-width: 100%;
	white-space: nowrap;
}

.recruit {
	position: relative;
	padding: 7.5rem 0;
	overflow: hidden;
	background: var(--bg-main);
}

.recruit__image,
.recruit__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.recruit__image img {
	object-fit: cover;
	object-position: center;
}

.recruit__panel {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(calc(100% - 10rem), var(--content-width));
	min-height: 15.875rem;
	margin: 0 auto;
	padding: 3.25rem 5rem;
	border: 0.0625rem solid rgba(184, 193, 201, 0.42);
	background: rgba(8, 18, 36, 0.16);
	gap: 3rem;
	backdrop-filter: blur(0.1875rem);
}

.recruit__title {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.05em;
}

.recruit__text {
	margin: 1.25rem 0 0;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.site-footer {
	min-height: 44.625rem;
	padding: 7.5rem 0;
	background: linear-gradient(
		102deg,
		rgba(196, 164, 126, 0.9) 0%,
		rgba(196, 164, 126, 0) 100%
	);
	position: relative;
}
.site-footer::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	background: var(--bg-main);
	z-index: -1;
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(calc(100% - 10rem), var(--content-width));
	padding: 5rem 0;
	margin: 0 auto;
	border: 0.0625rem solid rgba(184, 193, 201, 0.42);
	text-align: center;
}

.is-motion-ready .motion-item {
	opacity: 0;
	filter: blur(0.625rem);
	transform: translate3d(0, 0.875rem, 0);
	transition:
		opacity 1650ms cubic-bezier(0.22, 1, 0.36, 1),
		filter 1650ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 1650ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--motion-delay, 0ms);
	will-change: opacity, filter, transform;
}

.is-motion-ready .motion-item.is-visible {
	opacity: 1;
	filter: blur(0);
	transform: translate3d(0, 0, 0);
}

.is-motion-ready .motion-item--soft {
	transform: translate3d(0, 0.5rem, 0);
}

.is-motion-ready .motion-item--left {
	transform: translate3d(-0.75rem, 0, 0);
}

.is-motion-ready .motion-item--right {
	transform: translate3d(0.75rem, 0, 0);
}

.is-motion-ready .motion-item--fade {
	transform: none;
}

.is-motion-ready .motion-item--image {
	transform: translate3d(0, 0.375rem, 0) scale(1.01);
}

.is-motion-ready .motion-item--line {
	transform: scaleX(0.94);
	transform-origin: left center;
}

.is-motion-ready .motion-item--line.is-visible {
	transform: scaleX(1);
}

@media (prefers-reduced-motion: no-preference) {
	.is-motion-ready .space-strip-card:not(.is-visible) {
		opacity: 0;
		transform: translate3d(0, 0.875rem, 0);
	}
}

.scene-card__media-wrap,
.space-card picture,
.space-strip-card__media-row,
.space-detail-card picture,
.space-gallery-grid__item,
.recruit-flow-image,
.concept__media,
.system__media,
.recruit__image,
.space-recruit__image,
.recruit-page-hero__image,
.recruit-page-faq__image,
.recruit-page-cta__image {
	overflow: hidden;
}

.scene-card__media,
.space-card__image,
.space-strip-card__image,
.space-detail-card__image,
.space-gallery-grid__item img,
.concept__media img,
.system__media img,
.recruit-flow-image img,
.recruit__image img,
.space-recruit__image img,
.recruit-page-hero__image img,
.recruit-page-faq__image img,
.recruit-page-cta__image img {
	transition:
		filter 1100ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 1100ms cubic-bezier(0.22, 1, 0.36, 1);
}

.scene-card:hover .scene-card__media,
.space-card:hover .space-card__image,
.space-strip-card:hover .space-strip-card__image,
.space-detail-card:hover .space-detail-card__image,
.space-gallery-grid__item:hover img {
	filter: saturate(1.04) brightness(1.035);
	transform: scale(1.018);
}

.scene-card,
.space-card,
.space-strip-card,
.space-detail-card,
.recruit-info-card,
.recruit-flow-card,
.recruit-faq-card {
	transition:
		border-color 520ms ease,
		box-shadow 520ms ease,
		transform 520ms ease;
}

.scene-card:hover,
.space-card:hover,
.space-strip-card:hover,
.space-detail-card:hover,
.recruit-info-card:hover,
.recruit-faq-card:hover {
	box-shadow:
		inset 0 0 0 1px rgba(195, 160, 106, 0.2),
		0 0.875rem 2.5rem rgba(0, 0, 0, 0.16);
}

.recruit-flow-card.is-visible {
	animation: palaceFlowGlow 1900ms cubic-bezier(0.22, 1, 0.36, 1) both;
	animation-delay: var(--motion-delay, 0ms);
}

@keyframes palaceFlowGlow {
	0% {
		box-shadow: 0 0 0 rgba(195, 160, 106, 0);
	}

	45% {
		box-shadow: 0 0 1.5rem rgba(195, 160, 106, 0.2);
	}

	100% {
		box-shadow: 0 0 0 rgba(195, 160, 106, 0);
	}
}

.motion-parallax {
	transform: translate3d(0, var(--parallax-offset, 0), 0) scale(1.012);
	will-change: transform;
}

.site-footer__logo {
	width: 28.125rem;
}

.site-footer__logo img {
	width: 100%;
	height: auto;
}

.footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.25rem;
	margin-top: 5rem;
}

.footer-nav__link {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	transition: color 300ms ease;
}

.copyright {
	margin: 4.375rem 0 0;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

@media (max-width: 1180px) {
	.site-header__inner,
	.hero__content,
	.concept__inner,
	.space__grid,
	.access__inner,
	.recruit__panel,
	.site-footer__inner {
		width: calc(100% - 3.5rem);
	}

	.site-nav {
		gap: 1.0625rem;
	}

	.concept__inner {
		gap: 4.375rem;
	}

	.access__inner {
		gap: 5rem;
	}
}

@media (max-width: 980px) {
	:root {
		--header-height: 4.5rem;
	}

	.site-header__inner {
		position: relative;
		z-index: 2;
		width: calc(100% - 2rem);
	}

	.site-header__logo {
		width: 6.25rem;
		transition:
			opacity 180ms ease,
			visibility 180ms ease;
	}

	.menu-toggle {
		display: block;
		z-index: 3;
		width: 2.5rem;
		height: 2.5rem;
		border-color: rgba(195, 160, 106, 0.72);
		background: rgba(16, 23, 36, 0.42);
	}

	.site-nav {
		position: fixed;
		z-index: 1;
		inset: 0;
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
		min-height: 100vh;
		min-height: 100dvh;
		margin-left: 0;
		padding: 4.5rem 1rem 7.5rem 1.5rem;
		overflow: hidden;
		/* 背景にぼかし効果を追加 */
		background: linear-gradient(
			110deg,
			rgba(7, 15, 32, 1) 0%,
			rgba(7, 15, 32, 0.8) 58%,
			rgba(255, 255, 255, 0) 100%
		);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
		opacity: 0;
		filter: blur(0.625rem);
		pointer-events: none;
		transform: none;
		visibility: hidden;
		transition:
			opacity 620ms cubic-bezier(0.22, 1, 0.36, 1),
			filter 620ms cubic-bezier(0.22, 1, 0.36, 1),
			visibility 620ms ease;
	}

	.is-menu-open .site-nav {
		opacity: 1;
		filter: blur(0);
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.is-menu-open .site-header {
		background: transparent;
	}

	.is-menu-open .site-header__logo {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}

	.site-nav__link {
		display: block;
		width: 100%;
		padding: 0.25rem 0;
		color: var(--white);
		font-family: "Cormorant", serif;
		font-size: 1.125rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.08em;
	}

	.site-nav__link + .site-nav__link {
		margin-top: 2.1875rem;
	}

	.header-tel-wrap {
		margin-top: 3.75rem;
		width: 100%;
	}

	.header-tel-wrap,
	.site-nav > .header-tel {
		z-index: 1;
	}

	.header-tel {
		display: grid;
		grid-template-columns: max-content max-content;
		justify-content: center;
		align-content: center;
		align-items: center;
		column-gap: 0.625rem;
		width: 100%;
		min-width: 0;
		height: 3.5625rem;
		margin-top: 3.75rem;
		padding: 0.5rem 0.75rem 0.4375rem;
		background: rgba(2, 2, 2, 0.28);
	}

	.header-tel__icon {
		grid-row: 1;
		width: 1.5rem;
		height: 1.5rem;
	}

	.header-tel__number {
		font-size: 1.5rem;
		line-height: 1;
		letter-spacing: 0.02em;
	}

	.header-tel__time {
		grid-column: 1 / -1;
		font-size: 0.75rem;
		line-height: 1.15;
		text-align: center;
	}

	.concept__inner,
	.system__inner,
	.access__inner {
		grid-template-columns: 1fr;
	}

	.concept__inner {
		gap: 3rem;
	}

	.scene__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.scene-card:nth-child(3) {
		border-left: 0.0625rem solid rgba(184, 193, 201, 0.68);
	}

	.system__media {
		width: 100%;
		height: 38.75rem;
		margin-top: 0;
	}

	.system__media img {
		width: 100%;
		height: 100%;
		min-height: 32.5rem;
		max-height: 45rem;
	}

	.access__inner {
		align-items: start;
	}

	.recruit__panel {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	:root {
		--header-height: 4.5rem;
	}

	body {
		font-size: 0.875rem;
	}

	.sp-only {
		display: inline;
	}

	.pc-only {
		display: none;
	}

	.site-header__inner {
		width: calc(100% - 2rem);
	}

	.section-kicker {
		margin-bottom: 0.625rem;
		font-size: 1.125rem;
	}

	.section-title {
		font-size: 1.625rem;
	}

	.section-copy {
		margin-top: 2rem;
		font-size: 1rem;
	}

	.button {
		min-width: 0;
		min-height: 2.75rem;
		padding: 0.75rem 1.125rem;
		font-size: 0.625rem;
	}

	.button--arrow::after {
		flex-basis: 1.5rem;
		width: 1.5rem;
		height: 1.5rem;
		margin-left: 1.125rem;
	}

	.hero {
		min-height: 44.75rem;
	}

	.hero__image img,
	.hero__image video,
	video.hero__image {
		object-position: center top;
	}

	.hero::after {
		background:
			linear-gradient(
				90deg,
				rgba(8, 18, 36, 0.96) 0%,
				rgba(8, 18, 36, 0.54) 62%,
				rgba(8, 18, 36, 0.12) 100%
			),
			linear-gradient(180deg, rgba(8, 18, 36, 0.02), rgba(8, 18, 36, 0.34));
	}

	.hero__content {
		width: calc(100% - 2rem);
		min-height: 44.75rem;
		justify-content: flex-end;
		padding: 0 0 3rem;
	}

	.hero__title {
		max-width: 13.75rem;
		font-size: 1.625rem;
	}

	.hero__lead {
		max-width: 13.75rem;
		margin-top: 2rem;
		font-size: 0.875rem;
		line-height: 1.6;
	}

	.hero__buttons {
		display: grid;
		gap: 1.375rem;
		width: 100%;
		margin-top: 1.9375rem;
	}

	.hero__buttons .button {
		min-height: 4rem;
		font-size: 1rem;
	}

	.hero__meta {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
		width: 100%;
		margin-top: 1.9375rem;
		font-size: 1rem;
		line-height: 1.45;
	}

	.hero__meta li {
		flex-direction: column;
		justify-content: flex-start;
		gap: 0.6875rem;
		min-height: 4.875rem;
		padding: 0 0.625rem;
		text-align: center;
		position: relative;
	}

	/* .hero__meta li + li {
		border-left: 0.0625rem solid rgba(184, 193, 201, 0.7);
	} */
	.hero__meta li + li::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 1px;
		height: 20%;
		background: #b8c1c9;
	}

	.hero__meta-icon {
		width: 1.6875rem;
		height: auto;
		max-height: 1.6875rem;
	}

	.concept {
		padding: 3.375rem 0 0;
	}

	.concept__inner {
		display: block;
		width: 100%;
	}

	.concept__text {
		width: calc(100% - 3rem);
		margin: 0 auto;
	}

	.concept__media {
		width: 100%;
		margin-top: 4rem;
	}

	.concept__media img {
		width: 100%;
	}

	.scene {
		min-height: 0;
		padding: 4.625rem 0 4.25rem;
		background:
			linear-gradient(
				276deg,
				rgba(7, 15, 31, 1) 0%,
				rgba(57, 63, 76, 0.8) 30.4%,
				rgba(106, 111, 121, 0.6) 42.8%,
				rgba(156, 159, 165, 0.4) 55.2%,
				rgba(205, 207, 210, 0.2) 67.6%,
				rgba(255, 255, 255, 0) 90%,
				rgba(255, 255, 255, 0) 100%
			),
			#081224;
	}

	.scene .section-heading {
		width: calc(100% - 3rem);
		margin: 0 auto;
	}

	.scene .section-copy {
		margin-top: 2rem;
	}

	.scene__grid {
		display: grid;
		grid-template-columns: 1fr;
		width: min(calc(100% - 1.875rem), 22.5rem);
		margin: 4rem auto 0;
		border: 0.0625rem solid rgba(184, 193, 201, 0.68);
		gap: 0;
	}

	.scene-card,
	.scene-card:first-child,
	.scene-card:nth-child(3) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 3.75rem;
		border: 0;
		background: transparent;
	}

	.scene-card:not(:last-child) {
		border-bottom: 0.0625rem solid rgba(184, 193, 201, 0.68);
	}

	.scene-card__media-wrap {
		display: contents;
	}

	.scene-card picture,
	.scene-card__media {
		grid-column: 1;
		grid-row: 1;
		height: auto;
	}

	.scene-card__media {
		aspect-ratio: 600 / 681;
		object-fit: cover;
	}

	.scene-card__label {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-items: center;
		border: 0;
		font-size: 1.5rem;
		margin-top: 0;
		padding-top: 2rem;
	}

	.scene-card__body {
		grid-column: 1;
		grid-row: 2;
		min-height: 0;
		padding: 2.25rem 1.25rem 2rem 2rem;
	}

	.scene-card__title {
		margin-bottom: 1.375rem;
		font-size: 1.25rem;
	}

	.scene-card__text {
		font-size: 1rem;
		line-height: 2;
	}

	.system {
		min-height: 57.875rem;
		padding: 5rem 0 0;
	}

	.system__inner {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.system__content {
		order: 1;
		width: calc(100% - 2rem);
		margin: 0 auto;
		padding: 0;
	}

	.system .section-title {
		font-size: 1.625rem;
	}

	.price-list {
		margin-top: 3rem;
	}

	.price-group {
		padding-bottom: 1.75rem;
		margin-bottom: 1.6875rem;
	}

	.price-group__title {
		margin-bottom: 1.625rem;
		font-size: 1.375rem;
	}

	.price-row {
		gap: 1rem;
		margin-bottom: 1.4375rem;
		font-size: 1rem;
	}

	.price-row::before {
		border-bottom-style: dotted;
	}

	.price-row__price {
		min-width: 4.6875rem;
	}

	.price-row__name-note {
		font-size: 0.75rem;
	}

	.system__note {
		margin-top: 1.9375rem;
		font-size: 0.875rem;
		line-height: 1.65;
	}

	.system__media {
		order: 2;
		width: 100%;
		height: auto;
		margin-top: 3.875rem;
	}

	.system__media img {
		width: 100%;
		height: auto;
		min-height: 12.375rem;
		max-height: none;
		object-fit: cover;
	}

	.space {
		min-height: 120.1875rem;
		padding: 5rem 0 4.5rem;
		background: linear-gradient(
			100deg,
			#071934 0%,
			#1d2736 24%,
			#55585d 48%,
			#8b8072 70%,
			#c4a47e 100%
		);
	}

	.space__grid {
		width: 100%;
		margin-top: 3rem;
	}

	.space__top-cards {
		display: grid;
		grid-template-columns: 1fr;
		width: calc(100% - 2rem);
		margin: 0 auto;
		gap: 1rem;
	}

	.space__slider {
		display: flex;
		width: calc(100% - 1rem);
		margin-top: 2.5rem;
		margin-left: 1rem;
		padding: 0 1rem 0 0;
		gap: 1rem;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.space__slider::-webkit-scrollbar {
		display: none;
	}

	.space-card {
		padding: 2.1875rem 1.625rem 2.375rem;
		scroll-snap-align: start;
	}

	.space__slider .space-card {
		flex: 0 0 19.375rem;
	}

	.space-card__label {
		margin-bottom: 2rem;
		font-size: 1.25rem;
	}

	.space-card__image,
	.space-card--third .space-card__image {
		aspect-ratio: auto;
		height: auto;
	}

	.space-card__name {
		margin-top: 2.125rem;
		font-size: 1.25rem;
	}

	.space__button {
		width: 17.5rem;
		margin: 4rem auto 0;
	}

	.space__button .button {
		width: 100%;
		min-height: 4rem;
		font-size: 1rem;
	}

	.access {
		min-height: 57.6875rem;
		padding: 3.5625rem 0 4.5rem;
		background:
			linear-gradient(
				109deg,
				rgba(7, 15, 31, 1) 0%,
				rgba(57, 63, 76, 0.8) 20.4%,
				rgba(106, 111, 121, 0.64) 36.8%,
				rgba(156, 159, 165, 0.45) 52.2%,
				rgba(205, 207, 210, 0.1) 82.6%,
				rgba(255, 255, 255, 0) 90%,
				rgba(255, 255, 255, 0) 100%
			),
			#081224;
	}

	.access__inner {
		width: calc(100% - 3rem);
		gap: 2.5rem;
	}

	.access__map {
		height: 17.25rem;
		margin-top: 1.9375rem;
	}

	.access__info {
		padding-bottom: 0;
	}

	.access__name {
		margin-bottom: 1.25rem;
		font-size: 1.25rem;
	}

	.access__details {
		font-size: 1rem;
	}

	.access__buttons {
		display: grid;
		gap: 1.25rem;
		margin-top: 2.5rem;
	}

	.access__buttons .button {
		width: 100%;
		min-height: 3.375rem;
		font-size: 1.125rem;
	}

	.recruit {
		min-height: 29.6875rem;
		padding: 5rem 0 5rem;
	}

	.recruit__image img {
		object-position: center;
	}

	.recruit__panel {
		display: block;
		width: calc(100% - 3rem);
		min-height: 13.875rem;
		padding: 2.1875rem 1.75rem;
		text-align: center;
	}

	.recruit__title {
		font-size: 1.25rem;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}

	.recruit__text {
		margin-top: 1.25rem;
		font-size: 1rem;
	}

	.recruit__panel .button {
		width: 100%;
		min-height: 3.625rem;
		margin-top: 2.5rem;
		font-size: 1.25rem;
	}

	.site-footer {
		min-height: 36.375rem;
		padding: 4.5rem 0 4.375rem;
	}

	.site-footer__inner {
		width: calc(100% - 3rem);
		min-height: 27.375rem;
		padding: 3.375rem 1.5rem 3rem;
	}

	.site-footer__logo {
		width: 17.375rem;
	}

	.footer-nav {
		gap: 1.25rem 0.875rem;
		margin-top: 5rem;
	}

	.footer-nav__link {
		font-size: 1rem;
	}

	.copyright {
		margin-top: 3rem;
		font-size: 0.75rem;
	}
}

.space-page {
	overflow: hidden;
	background: var(--bg-main);
}

.space-page-space {
	padding: 12.0625rem 0 8.125rem;
	background: linear-gradient(
		118deg,
		rgba(8, 18, 36, 1) 0%,
		rgba(255, 255, 255, 0.24) 30%,
		rgba(255, 255, 255, 0.24) 54%,
		rgba(255, 255, 255, 0) 100%
	);
}

/* .space-page-space::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #081224;
	z-index: -1;
} */

.space-page-space__intro {
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 0 auto;
}

.space-page-kicker {
	margin: 0 0 1.25rem;
	color: var(--accent-color);
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	font-family: "Cormorant", sans-serif;
}

.space-page-title {
	margin: 0;
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(184, 193, 201, 0.86);
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.05em;
}

.space-page-heading {
	text-align: center;
}

.space-page-heading .space-page-kicker {
	margin-bottom: 1.25rem;
	font-size: 1.5625rem;
}

.space-page-heading--space {
	margin-top: 10rem;
}

.space-page-subtitle {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.space-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	margin-top: 5rem;
	border-top: 1px solid rgba(184, 193, 201, 0.82);
	border-bottom: 1px solid rgba(184, 193, 201, 0.82);
}

.space-strip-card {
	min-width: 0;
	border-right: 0.0625rem solid rgba(184, 193, 201, 0.82);
	background: rgba(8, 18, 36, 0.14);
}

.space-strip-card:first-child {
	border-left: 0.0625rem solid rgba(184, 193, 201, 0.82);
}

.space-strip-card__media-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 3.5rem;
}

.space-strip-card picture,
.space-strip-card__image {
	width: 100%;
	height: 16.375rem;
}

.space-strip-card__image {
	object-fit: cover;
	object-position: center;
}

.space-strip-card__label {
	display: grid;
	align-items: center;
	justify-content: start;
	margin: 0;
	padding-top: 2rem;
	color: var(--line);
	font-size: 1.5rem;
	font-weight: 300;
	font-family: "Cormorant", serif;
	line-height: 1;
	text-transform: uppercase;
	writing-mode: vertical-rl;
}

.space-strip-card__name {
	margin: 0;
	padding: 2rem 2rem 2rem;
	color: var(--white);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.space-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 5rem auto 0;
	gap: 2.5rem;
}

.space-detail-card {
	padding: 3rem 1.625rem;
	border: 1px solid rgba(184, 193, 201, 0.86);
	background: rgba(8, 18, 36, 0.16);
}

.space-detail-card__label {
	margin: 0 0 3rem;
	color: var(--line);
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	font-family: "Cormorant", serif;
}

.space-detail-card picture {
	display: block;
	width: 100%;
	aspect-ratio: 568 / 280;
	overflow: hidden;
}

.space-detail-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.space-detail-card__name {
	margin: 2.6rem 0 0;
	padding-bottom: 0.875rem;
	border-bottom: 1px solid rgba(184, 193, 201, 0.68);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.space-detail-card__text {
	margin: 1.375rem 0 0;
	color: var(--white);
	font-size: 1rem;
	line-height: 1.9;
}

.space-gallery {
	padding: 5rem 0 7.5rem;
	background: var(--bg-main);
}

.space-gallery-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 5rem auto 0;
	gap: 0.75rem;
}

.space-gallery-grid__item,
.space-gallery-grid__item img {
	width: 100%;
	height: 100%;
}

.space-gallery-grid__item {
	aspect-ratio: 622 / 467;
}

.space-gallery-grid__item--large {
	grid-row: span 2;
	aspect-ratio: 1268 / 951;
}

.space-gallery-grid__item img {
	object-fit: cover;
	object-position: center;
}

.space-recruit {
	position: relative;
	padding: 7.5rem 0;
	overflow: hidden;
	background: var(--bg-main);
}

.space-recruit__image,
.space-recruit__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.space-recruit__image img {
	object-fit: cover;
	object-position: center;
}

.space-recruit::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(8, 18, 36, 0.16);
}

.space-recruit__panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(calc(100% - 10rem), var(--content-width));
	min-height: 29.625rem;
	margin: 0 auto;
	padding: 5rem;
	border: 1px solid rgba(184, 193, 201, 0.48);
	background: rgba(8, 18, 36, 0.16);
	text-align: center;
	gap: 0;
	-webkit-backdrop-filter: blur(0.1875rem);
	backdrop-filter: blur(0.1875rem);
}

.space-recruit__text-area {
	min-width: 0;
}

.space-recruit__title {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.space-recruit__text {
	margin: 1rem 0 0;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.75;
}

.space-recruit__buttons {
	display: flex;
	justify-content: center;
	gap: 2.375rem;
	margin-top: 4.875rem;
}

.space-recruit__buttons .button {
	min-width: 17.5rem;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
}

.space-recruit__button--sp {
	display: none;
}

@media (max-width: 1180px) {
	.space-page-space__intro,
	.space-detail-grid,
	.space-gallery-grid,
	.space-recruit__panel {
		width: calc(100% - 3.5rem);
	}

	.space-strip-card__label {
		font-size: 0.9375rem;
	}

	.space-strip-card__name {
		padding-right: 1.5rem;
		padding-left: 1.5rem;
		font-size: 1.0625rem;
	}
}

@media (max-width: 980px) {
	.space-detail-grid {
		grid-template-columns: 1fr;
	}

	.space-recruit__panel {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	.space-page-space {
		padding: 10rem 0 5rem;
		background: linear-gradient(
			104deg,
			rgba(8, 18, 36, 1) 0%,
			rgba(255, 255, 255, 0.24) 30%,
			rgba(255, 255, 255, 0.22) 54%,
			rgba(255, 255, 255, 0) 100%
		);
	}

	.space-page-space__intro {
		width: calc(100% - 1.875rem);
	}

	.space-page-kicker {
		margin-bottom: 0.75rem;
		font-size: 1.25rem;
		line-height: 1.2;
	}

	.space-page-title {
		padding-bottom: 1.75rem;
		font-size: 2rem;
		line-height: 1.35;
	}

	.space-page-heading .space-page-kicker {
		margin-bottom: 0.625rem;
		font-size: 1.125rem;
	}

	.space-page-heading--space {
		width: calc(100% - 3rem);
		margin: 5rem auto 0;
	}

	.space-page-subtitle {
		font-size: 1.625rem;
		line-height: 1.55;
	}

	.space-strip {
		display: flex;
		width: 100%;
		margin-top: 4rem;
		overflow-x: auto;
		overflow-y: hidden;
		border-left: 0;
		border-right: 0;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.space-strip::-webkit-scrollbar {
		display: none;
	}

	.space-strip-card {
		flex: 0 0 17.75rem;
	}

	.space-strip-card__media-row {
		grid-template-columns: minmax(0, 1fr) 3.25rem;
	}

	.space-strip-card picture,
	.space-strip-card__image {
		height: 16.4375rem;
	}

	.space-strip-card__label {
		font-size: 1.35rem;
	}

	.space-strip-card__name {
		padding: 2rem;
		font-size: 1.25rem;
	}

	.space-detail-grid {
		width: calc(100% - 1.875rem);
		margin-top: 2.375rem;
		gap: 2.3125rem;
	}

	.space-detail-card {
		padding: 3rem 1.625rem;
	}

	.space-detail-card__label {
		margin-bottom: 2rem;
		font-size: 1.25rem;
	}

	.space-detail-card picture {
		aspect-ratio: 612 / 560;
	}

	.space-detail-card__name {
		margin-top: 2rem;
		padding-bottom: 0.6rem;
		font-size: 1.375rem;
	}

	.space-detail-card__text {
		margin-top: 1.5rem;
		font-size: 1.125rem;
		line-height: 1.6;
	}

	.space-gallery {
		min-height: 54.125rem;
		padding: 4.625rem 0 7.5rem;
	}

	.space-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: calc(100% - 2rem);
		margin-top: 4rem;
		gap: 0.25rem;
	}

	.space-gallery-grid__item--large {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.space-recruit {
		min-height: 34.8125rem;
		padding: 5rem 0;
	}

	.space-recruit__image img {
		object-position: center;
	}

	.space-recruit__panel {
		display: block;
		width: calc(100% - 2rem);
		min-height: 24.8125rem;
		padding: 2.75rem 2.4375rem 2.375rem;
		text-align: center;
	}

	.space-recruit__title {
		font-size: 1.25rem;
		font-weight: 600;
		line-height: 1.6;
	}

	.space-recruit__text {
		margin-top: 1.5rem;
		font-size: 1rem;
		line-height: 1.75;
	}

	.space-recruit__buttons--pc {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1.375rem;
		margin-top: 2.4375rem;
	}

	.space-recruit__buttons .button {
		width: 17.5rem;
		min-width: 0;
		min-height: 3.625rem;
		font-size: 1.125rem;
	}

	.space-recruit__button--sp {
		display: none;
	}
}

.recruit-page {
	overflow: hidden;
	background: var(--bg-main);
}

.recruit-page-hero {
	background: linear-gradient(
		120deg,
		var(--bg-main) 0%,
		var(--main-color) 50%,
		var(--line) 100%
	);
}

.recruit-page-hero__intro {
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 0 auto;
	padding-top: 12.6875rem;
}

.recruit-page-kicker {
	margin: 0 0 1.75rem;
	color: var(--accent-color);
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	font-family: "Cormorant", serif;
}

.recruit-page-title {
	margin: 0;
	padding-bottom: 2.125rem;
	border-bottom: 0.0625rem solid rgba(184, 193, 201, 0.86);
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1.25;
}

.recruit-page-hero__visual {
	position: relative;
	min-height: 44.625rem;
	margin-top: 10rem;
	overflow: hidden;
}

.recruit-page-hero__image,
.recruit-page-hero__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.recruit-page-hero__image img {
	object-fit: cover;
	object-position: center;
}

.recruit-page-hero__visual::after,
.recruit-page-cta::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(8, 18, 36, 0.16);
}

.recruit-page-hero__panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(calc(100% - 10rem), var(--content-width));
	min-height: 29.5rem;
	margin: 7.5rem auto 0;
	padding: 4.25rem 5rem 4.75rem;
	border: 0.0625rem solid rgba(184, 193, 201, 0.42);
	background: rgba(8, 18, 36, 0.16);
	text-align: center;
	-webkit-backdrop-filter: blur(0.1875rem);
	backdrop-filter: blur(0.1875rem);
}

.recruit-page-hero__message {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.55;
}

.recruit-page-hero__text {
	margin: 1rem 0 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.8;
}

.recruit-page-hero__buttons {
	display: flex;
	justify-content: center;
	gap: 2.375rem;
	margin-top: 3.625rem;
}

.recruit-page-hero__buttons .button {
	min-width: 17.5rem;
	min-height: 4.5rem;
}

.recruit-page-flow {
	padding: 7.5rem 0 8.875rem;
	background: linear-gradient(130deg, #071934 0%, #c4a47e 100%);
}

.recruit-info-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 0 auto;
	gap: 2rem;
}

.recruit-info-card {
	min-height: 22.3125rem;
	padding: 2rem;
	border: 1px solid rgba(184, 193, 201, 0.72);
	background: linear-gradient(
		40deg,
		rgba(8, 18, 36, 0.36) 0%,
		rgba(17, 26, 46, 0.4) 44%,
		rgba(255, 255, 255, 0.18) 100%
	);
}

.recruit-info-card__label {
	margin: 0 0 1.0625rem;
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.4;
	font-family: "Cormorant", serif;
}

.recruit-info-card__title {
	margin: 0;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.05em;
}

.recruit-info-card__text {
	margin: 2.75rem 0 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.recruit-info-card__list {
	display: grid;
	gap: 0.9375rem;
	margin: 2.75rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.45;
}

.recruit-info-card__list li {
	position: relative;
	padding-left: 1.75rem;
}

.recruit-info-card__list li::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 0.5625rem;
	height: 0.5625rem;
	border-radius: 50%;
	background: var(--accent-color);
	transform: translateY(-50%);
}

.recruit-flow-image {
	width: min(calc(100% - 5rem), 1360px);
	margin: 7.5rem auto 0;
	margin-right: calc(50% - 50vw);
	aspect-ratio: 1360 / 380;
	overflow: hidden;
}

.recruit-flow-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.recruit-flow-heading {
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 5rem auto 0;
}

.recruit-page-section-title {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.35;
}

.recruit-flow-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: min(calc(100% - 10rem), var(--content-width));
	margin: 4.75rem auto 0;
	padding: 0;
	list-style: none;
	gap: 4.1875rem;
}

.recruit-flow-card {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 13.5625rem;
	padding: 2.375rem 1.5rem 2.125rem;
	background: rgba(195, 160, 106, 0.62);
	text-align: center;
}

.recruit-flow-card:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -2.8125rem;
	width: 2.25rem;
	height: 0.0625rem;
	background: rgba(255, 255, 255, 0.74);
}

.recruit-flow-card:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -2.8125rem;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 0.0625rem solid rgba(255, 255, 255, 0.74);
	border-right: 0.0625rem solid rgba(255, 255, 255, 0.74);
	transform: translateY(-50%) rotate(45deg);
}

.recruit-flow-card__number {
	display: grid;
	gap: 1rem;
	color: var(--white);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	font-family: "Cormorant", serif;
}

.recruit-flow-card__number::after {
	content: "";
	display: block;
	width: 2.3125rem;
	height: 0.0625rem;
	margin: 0 auto;
	background: rgba(255, 255, 255, 0.82);
}

.recruit-flow-card__label {
	margin-top: 1.875rem;
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.05em;
}

.recruit-page-faq {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 28.875rem;
	min-height: 56.0625rem;
	background: var(--bg-main);
}

.recruit-page-faq__content {
	padding: 7.4375rem 5rem 6rem
		max(5rem, calc((100vw - var(--content-width)) / 2 + 5rem));
}

.recruit-faq-heading .recruit-page-kicker {
	margin-bottom: 1.5rem;
	font-size: 1.5625rem;
}

.recruit-faq-list {
	display: grid;
	gap: 2.9375rem;
	width: min(100%, 48.125rem);
	margin-top: 5.0625rem;
}

.recruit-faq-card {
	padding: 1.4375rem 2.3125rem 1.125rem;
	border: 0.0625rem solid rgba(184, 193, 201, 0.58);
	background: linear-gradient(
		30deg,
		rgba(8, 18, 36, 0.82) 0%,
		rgba(17, 26, 46, 0.6) 48%,
		rgba(255, 255, 255, 0.24) 100%
	);
	cursor: pointer;
}

.recruit-faq-card__row {
	display: grid;
	grid-template-columns: 3.125rem minmax(0, 1fr) 1.125rem;
	align-items: start;
	gap: 1.875rem;
}

.recruit-faq-card__trigger {
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.recruit-faq-card__trigger:focus-visible {
	outline: 0.125rem solid var(--accent-color);
	outline-offset: 0.5rem;
}

.recruit-faq-card__row + .recruit-faq-card__row {
	margin-top: 1.3125rem;
}

.recruit-faq-card__answer-row.recruit-faq-card__answer-row {
	max-height: 0;
	margin-top: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		max-height 0.32s ease,
		margin-top 0.32s ease,
		opacity 0.22s ease;
}

.recruit-faq-card.is-open .recruit-faq-card__answer-row {
	max-height: var(--faq-answer-height, 8rem);
	margin-top: 1.3125rem;
	opacity: 1;
}

.recruit-faq-card__mark {
	font-size: 1.6875rem;
	line-height: 1.2;
	font-family: "Cormorant", serif;
}

.recruit-faq-card__mark--answer {
	color: var(--accent-color);
}

.recruit-faq-card__question {
	margin: 0;
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.65;
}

.recruit-faq-card__answer {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.75;
}

.recruit-faq-card__symbol {
	position: relative;
	width: 0.875rem;
	height: 0.875rem;
	margin-top: 0.5625rem;
}

.recruit-faq-card__symbol::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 0.875rem;
	height: 0.125rem;
	background: var(--white);
	transform: translateY(-50%);
}

.recruit-faq-card__symbol::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.125rem;
	height: 0.875rem;
	background: var(--white);
	transform: translateX(-50%);
	transition: opacity 0.2s ease;
}

.recruit-faq-card.is-open .recruit-faq-card__symbol::after {
	opacity: 0;
}

.recruit-page-faq__image,
.recruit-page-faq__image img {
	width: 100%;
	height: 100%;
}

.recruit-page-faq__image img {
	object-fit: cover;
	object-position: center;
}

.recruit-page-cta {
	position: relative;
	min-height: 31.6875rem;
	padding: 7.5rem 0;
	overflow: hidden;
	background: var(--bg-main);
}

.recruit-page-cta__image,
.recruit-page-cta__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.recruit-page-cta__image img {
	object-fit: cover;
	object-position: center;
}

.recruit-page-cta__panel {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(calc(100% - 10rem), var(--content-width));
	min-height: 16.6875rem;
	margin: 0 auto;
	padding: 3.875rem 5rem;
	border: 0.0625rem solid rgba(184, 193, 201, 0.48);
	background: rgba(8, 18, 36, 0.16);
	gap: 3.5rem;
	-webkit-backdrop-filter: blur(0.1875rem);
	backdrop-filter: blur(0.1875rem);
}

.recruit-page-cta__text-area {
	min-width: 0;
}

.recruit-page-cta__title {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.55;
}

.recruit-page-cta__text {
	margin: 1.25rem 0 0;
	font-size: 1.25rem;
	line-height: 1.75;
}

@media (max-width: 1180px) {
	.recruit-page-hero__intro,
	.recruit-page-hero__panel,
	.recruit-info-grid,
	.recruit-flow-image,
	.recruit-flow-heading,
	.recruit-flow-list,
	.recruit-page-cta__panel {
		width: calc(100% - 3.5rem);
	}

	.recruit-info-card {
		padding-right: 1.75rem;
		padding-left: 1.75rem;
	}

	.recruit-info-card__text,
	.recruit-info-card__list {
		font-size: 1.0625rem;
	}

	.recruit-flow-list {
		gap: 2.625rem;
	}

	.recruit-flow-card:not(:last-child)::after {
		right: -1.9375rem;
		width: 1.5625rem;
	}

	.recruit-flow-card:not(:last-child)::before {
		right: -1.9375rem;
	}
}

@media (max-width: 980px) {
	.recruit-info-grid {
		grid-template-columns: 1fr;
	}

	.recruit-flow-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.recruit-flow-card:nth-child(2)::after,
	.recruit-flow-card:nth-child(2)::before {
		display: none;
	}

	.recruit-page-faq {
		grid-template-columns: 1fr;
	}

	.recruit-page-faq__image {
		order: -1;
	}

	.recruit-page-faq__image img {
		max-height: 28.75rem;
	}

	.recruit-page-cta__panel {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	.recruit-page-hero {
		background: linear-gradient(
			120deg,
			var(--bg-main) 0%,
			var(--main-color) 14%,
			var(--line) 100%
		);
	}

	.recruit-page-hero__intro {
		width: calc(100% - 2rem);
		padding-top: 10rem;
	}

	.recruit-page-kicker {
		margin-bottom: 0.875rem;
		font-size: 1.625rem;
	}

	.recruit-page-title {
		padding-bottom: 1.4375rem;
		font-size: 2rem;
		line-height: 1.35;
	}

	.recruit-page-hero__visual {
		min-height: 34.8125rem;
		margin-top: 5rem;
	}

	.recruit-page-hero__image img {
		object-position: center top;
	}

	.recruit-page-hero__visual::after {
		background: rgba(8, 18, 36, 0.12);
	}

	.recruit-page-hero__panel {
		width: calc(100% - 2rem);
		min-height: 24.875rem;
		margin-top: 5.0625rem;
		padding: 2.625rem 1.5rem 2.4375rem;
	}

	.recruit-page-hero__message {
		font-size: 1.25rem;
		line-height: 1.7;
	}

	.recruit-page-hero__text {
		margin-top: 1.3125rem;
		font-size: 1rem;
		line-height: 1.8;
	}

	.recruit-page-hero__buttons {
		display: grid;
		width: 17.5rem;
		gap: 1.5rem;
		margin-top: 2.375rem;
	}

	.recruit-page-hero__buttons .button {
		width: 100%;
		min-height: 3.6875rem;
		font-size: 1rem;
	}

	.recruit-page-flow {
		padding: 5rem 0 5.75rem;
		background: linear-gradient(96deg, #071934 0%, #c4a47e 100%);
	}

	.recruit-info-grid {
		width: calc(100% - 2rem);
		gap: 2.5rem;
	}

	.recruit-info-card {
		min-height: 17.875rem;
		padding: 2rem;
	}

	.recruit-info-card__label {
		margin-bottom: 0.5rem;
		font-size: 1rem;
	}

	.recruit-info-card__title {
		font-size: 1.25rem;
	}

	.recruit-info-card__text {
		margin-top: 2rem;
		font-size: 1rem;
		line-height: 1.6;
	}

	.recruit-info-card__list {
		gap: 0.8125rem;
		margin-top: 2.25rem;
		font-size: 1.125rem;
	}

	.recruit-info-card__list li {
		padding-left: 1.625rem;
		font-size: 1rem;
	}

	.recruit-info-card__list li::before {
		width: 0.5rem;
		height: 0.5rem;
	}

	.recruit-flow-image {
		width: calc(100% - 1rem);
		margin: 5.125rem 0 0 1rem;
		aspect-ratio: 374 / 235;
	}

	.recruit-flow-image img {
		height: 100%;
	}

	.recruit-flow-heading {
		width: calc(100% - 2rem);
		margin-top: 3.125rem;
	}

	.recruit-flow-heading .recruit-page-kicker {
		margin-bottom: 0.75rem;
		font-size: 1.25rem;
	}

	.recruit-page-section-title {
		font-size: 1.625rem;
	}

	.recruit-flow-list {
		display: grid;
		grid-template-columns: 1fr;
		width: calc(100% - 2rem);
		margin-top: 3.375rem;
		gap: 3.4375rem;
	}

	.recruit-flow-card {
		min-height: 8.25rem;
		padding: 1.75rem 1.5rem 1.6875rem;
	}

	.recruit-flow-card:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -2.4375rem;
		left: 50%;
		width: 0.0625rem;
		height: 1.875rem;
		transform: translateX(-50%);
	}

	.recruit-flow-card:not(:last-child)::before {
		top: auto;
		right: auto;
		bottom: -2.4375rem;
		left: 50%;
		width: 0.5rem;
		height: 0.5rem;
		transform: translateX(-50%) rotate(135deg);
	}

	.recruit-flow-card:nth-child(2)::after,
	.recruit-flow-card:nth-child(2)::before {
		display: block;
	}

	.recruit-flow-card__number {
		gap: 0.5rem;
		font-size: 2rem;
	}

	.recruit-flow-card__number::after {
		width: 2.25rem;
	}

	.recruit-flow-card__label {
		margin-top: 1.375rem;
		font-size: 1.25rem;
	}

	.recruit-page-faq {
		min-height: 0;
		display: flex;
		flex-direction: column;
		background: var(--bg-main);
	}

	.recruit-page-faq__image {
		order: 0;
	}

	.recruit-page-faq__image img {
		width: 100%;
		max-height: none;
		aspect-ratio: 390 / 198;
		object-fit: cover;
		object-position: center;
	}

	.recruit-page-faq__content {
		order: 1;
		padding: 3.9375rem 1rem 4.375rem;
	}

	.recruit-faq-heading .recruit-page-kicker {
		margin-bottom: 1.0625rem;
		font-size: 1.25rem;
	}

	.recruit-faq-list {
		gap: 2.9375rem;
		width: 100%;
		margin-top: 3.9375rem;
	}

	.recruit-faq-card {
		padding: 1.3125rem 1.6875rem 1.1875rem;
	}

	.recruit-faq-card__row {
		grid-template-columns: 1.5625rem minmax(0, 1fr) 1rem;
		gap: 1.125rem;
	}

	.recruit-faq-card__row + .recruit-faq-card__row {
		margin-top: 1.5rem;
	}

	.recruit-faq-card__answer-row.recruit-faq-card__answer-row {
		margin-top: 0;
	}

	.recruit-faq-card.is-open .recruit-faq-card__answer-row {
		margin-top: 1.5rem;
	}

	.recruit-faq-card__mark {
		font-size: 1.25rem;
	}

	.recruit-faq-card__question {
		font-size: 1rem;
		line-height: 1.7;
	}

	.recruit-faq-card__answer {
		font-size: 1rem;
		line-height: 1.75;
	}

	.recruit-faq-card__symbol {
		margin-top: 0.5625rem;
	}

	.recruit-page-cta {
		min-height: 29.6875rem;
		padding: 5.4375rem 0 5rem;
	}

	.recruit-page-cta__image img {
		object-position: center;
	}

	.recruit-page-cta__panel {
		display: block;
		width: calc(100% - 2rem);
		min-height: 19.5625rem;
		padding: 2.6875rem 2.4375rem;
		text-align: center;
	}

	.recruit-page-cta__title {
		font-size: 1.25rem;
		line-height: 1.75;
	}

	.recruit-page-cta__text {
		margin-top: 1.5rem;
		font-size: 1rem;
		line-height: 1.9;
	}

	.recruit-page-cta__panel .button {
		width: 17.5rem;
		min-height: 3.75rem;
		margin-top: 2.5rem;
		font-size: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.opening {
		display: none;
		animation: none;
	}

	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}

	.button:hover,
	.button:focus-visible,
	.scene-card:hover .scene-card__media,
	.space-card:hover .space-card__image,
	.space-strip-card:hover .space-strip-card__image,
	.space-detail-card:hover .space-detail-card__image,
	.space-gallery-grid__item:hover img,
	.motion-parallax {
		transform: none;
	}

	.is-motion-ready .motion-item {
		opacity: 1;
		filter: none;
		transform: none;
	}
}
