:root {
	--audition-navy: #0e294a;
	--audition-navy-dark: #071b31;
	--audition-paper: #f8f5ef;
	--audition-white: #ffffff;
	--audition-accent: #c96f4f;
	--audition-gold: #c39a4a;
	--audition-line: #06c755;
	--audition-left-width: 260px;
	--audition-right-width: 300px;
}

.audition-pc-nav,
.audition-pc-cta,
.audition-desktop-hero,
.audition-mobile-layout {
	display: none;
}

@media (min-width: 1024px) {
	body.page-template-page-audition {
		background: var(--audition-paper);
		overflow-x: hidden;
	}

	body.page-template-page-audition .audition-page {
		width: auto;
		max-width: none;
		margin-right: var(--audition-right-width);
		margin-left: var(--audition-left-width);
		background-color: var(--audition-paper);
		background-image:
			linear-gradient(rgba(20, 45, 75, 0.04) 1px, transparent 1px),
			linear-gradient(90deg, rgba(20, 45, 75, 0.04) 1px, transparent 1px);
		background-size: 48px 48px;
	}

	body.page-template-page-audition .audition-layout__main {
		width: 100%;
		max-width: 1100px;
		min-width: 0;
		min-height: 100vh;
		margin: 0 auto;
	}

	body.page-template-page-audition .site-footer {
		width: auto;
		margin-right: var(--audition-right-width);
		margin-left: var(--audition-left-width);
	}

	.audition-pc-nav,
	.audition-pc-cta {
		position: fixed;
		top: 0;
		bottom: 0;
		z-index: 80;
		display: flex;
		height: 100vh;
		height: 100dvh;
	}

	.audition-pc-nav {
		left: 0;
		box-sizing: border-box;
		width: var(--audition-left-width);
		padding: 40px 30px 30px;
		flex-direction: column;
		background: #fbfaf7;
		border-right: 1px solid rgba(14, 41, 74, 0.12);
	}

	.audition-pc-nav__brand {
		display: block;
		width: min(180px, 100%);
		margin: 0 auto 36px;
	}

	.audition-pc-nav__brand img {
		display: block;
		width: 100%;
		height: auto;
	}

	.audition-pc-nav__menu {
		min-height: 0;
		overflow-y: auto;
		scrollbar-width: thin;
	}

	.audition-pc-nav__menu ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.audition-pc-nav__menu li {
		margin: 0;
		border-top: 1px solid rgba(14, 41, 74, 0.1);
	}

	.audition-pc-nav__menu li:last-child {
		border-bottom: 1px solid rgba(14, 41, 74, 0.1);
	}

	.audition-pc-nav__link {
		position: relative;
		display: block;
		padding: 13px 8px 13px 16px;
		color: var(--audition-navy);
		font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
		font-size: 13px;
		font-weight: 500;
		line-height: 1.5;
		text-decoration: none;
		transition: color 180ms ease, padding-left 180ms ease;
	}

	.audition-pc-nav__link::before {
		position: absolute;
		top: 50%;
		left: 0;
		width: 2px;
		height: 0;
		background: var(--audition-accent);
		content: "";
		transform: translateY(-50%);
		transition: height 180ms ease;
	}

	.audition-pc-nav__link:hover,
	.audition-pc-nav__link:focus-visible,
	.audition-pc-nav__link.is-active {
		padding-left: 21px;
		color: var(--audition-accent);
	}

	.audition-pc-nav__link.is-active::before {
		height: 22px;
	}

	.audition-pc-nav__social {
		display: flex;
		padding-top: 24px;
		margin-top: auto;
		flex-wrap: wrap;
		gap: 8px 14px;
	}

	.audition-pc-nav__social a {
		color: rgba(14, 41, 74, 0.7);
		font-family: "Noto Sans JP", sans-serif;
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-decoration: none;
		text-transform: uppercase;
	}

	.audition-pc-cta {
		right: 0;
		box-sizing: border-box;
		width: var(--audition-right-width);
		padding: 42px 30px;
		align-items: center;
		color: var(--audition-white);
		background: var(--audition-navy-dark);
		border-left: 1px solid rgba(255, 255, 255, 0.1);
	}

	.audition-pc-cta__inner {
		width: 100%;
	}

	.audition-pc-cta__eyebrow {
		margin: 0 0 22px;
		color: var(--audition-gold);
		font-family: Georgia, "Times New Roman", serif;
		font-size: 11px;
		letter-spacing: 0.16em;
	}

	.audition-pc-cta h2 {
		margin: 0;
		color: inherit;
		font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
		font-size: 29px;
		font-weight: 600;
		line-height: 1.45;
		letter-spacing: 0;
	}

	.audition-pc-cta__lead {
		padding-bottom: 20px;
		margin: 14px 0 20px;
		color: rgba(255, 255, 255, 0.75);
		font-size: 14px;
		line-height: 1.7;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	}

	.audition-pc-cta__points {
		display: grid;
		padding: 0;
		margin: 0 0 30px;
		gap: 12px;
		list-style: none;
	}

	.audition-pc-cta__points li {
		position: relative;
		padding-left: 18px;
		font-size: 13px;
		line-height: 1.6;
	}

	.audition-pc-cta__points li::before {
		position: absolute;
		top: 0.64em;
		left: 0;
		width: 5px;
		height: 5px;
		background: var(--audition-gold);
		border-radius: 50%;
		content: "";
	}

	.audition-pc-cta__actions {
		display: grid;
		gap: 12px;
	}

	.audition-pc-cta__button {
		display: flex;
		box-sizing: border-box;
		min-height: 74px;
		padding: 14px 18px;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		border-radius: 10px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 700;
		line-height: 1.35;
		text-align: center;
		text-decoration: none;
		transition: opacity 180ms ease, transform 180ms ease;
	}

	.audition-pc-cta__button:hover,
	.audition-pc-cta__button:focus-visible {
		opacity: 0.88;
		transform: translateY(-2px);
	}

	.audition-pc-cta__button span {
		font-size: 17px;
	}

	.audition-pc-cta__button small {
		margin-top: 4px;
		font-size: 10px;
		font-weight: 500;
	}

	.audition-pc-cta__button--line {
		color: var(--audition-white);
		background: var(--audition-line);
		border: 1px solid var(--audition-line);
	}

	.audition-pc-cta__button--web {
		color: var(--audition-navy);
		background: var(--audition-white);
		border: 1px solid rgba(255, 255, 255, 0.82);
	}

	.audition-desktop-hero {
		display: grid;
		box-sizing: border-box;
		min-height: 100vh;
		min-height: 100dvh;
		padding: 64px clamp(30px, 5vw, 80px);
		place-items: center;
		border-bottom: 1px solid rgba(14, 41, 74, 0.12);
	}

	.audition-desktop-hero .hero__content {
		position: relative;
		display: grid;
		width: 100%;
		min-height: min(68vh, 700px);
		place-items: center;
		background: rgba(255, 255, 255, 0.38);
		border: 1px solid rgba(14, 41, 74, 0.12);
		border-radius: 12px;
	}

	.audition-desktop-hero .hero__copy {
		display: flex;
		align-items: center;
		flex-direction: column;
		color: rgba(14, 41, 74, 0.24);
		font-family: Georgia, "Times New Roman", serif;
		font-size: clamp(18px, 2vw, 28px);
		line-height: 1.45;
		letter-spacing: 0.14em;
	}

	.audition-desktop-hero .hero__visual,
	.audition-desktop-hero .hero__cta {
		position: absolute;
		inset: 0;
		pointer-events: none;
	}

	.audition-final-hero {
		display: none !important;
	}
}

@media (min-width: 1024px) and (max-width: 1279px) {
	:root {
		--audition-left-width: 224px;
		--audition-right-width: 256px;
	}

	.audition-pc-nav {
		padding-right: 22px;
		padding-left: 22px;
	}

	.audition-pc-nav__link {
		font-size: 12px;
	}

	.audition-pc-cta {
		padding-right: 24px;
		padding-left: 24px;
	}

	.audition-pc-cta h2 {
		font-size: 25px;
	}
}

@media (max-width: 1023px) {
	body.page-template-page-audition .audition-page,
	body.page-template-page-audition .site-footer {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}

	.audition-desktop-hero {
		display: none !important;
	}
}

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

	.audition-pc-nav__link,
	.audition-pc-cta__button {
		transition: none;
	}
}
