@charset "utf-8";

/* :::::: キービジュアル中は returnToTop 非表示 :::::: */
body:has(.c5-keyvisual) .s5-returnToTop .s5-returnToTop__button {
	transition: opacity .4s;
}
body:has(.c5-main[data-current="keyvisual"]) .s5-returnToTop .s5-returnToTop__button {
	opacity: 0;
	pointer-events: none;
}

/* :::::: スクロールスナップ設定 :::::: */
html {
	scroll-padding-top: 0;
	scroll-snap-type: y mandatory;
	overscroll-behavior-y: contain;
}
.c5-main :is(.c5-visual__step, .c5-p-product__step, .c5-p-interview, .c5-p-appeal_section, .c5-p-cta) {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.GlobalFooter,
.c5-main :is(.c5-contents, .c5-p-appeal_section, .c5-p-cta).is-over {
	scroll-snap-align: end;
}

/* :::::: ご購入はこちら :::::: */
.c5-cvtag {
	--r: calc(var(--cw) * 14 / var(--bp));
	--h: calc(var(--cw) * 88 / var(--bp));
	--pad: calc(var(--cw) * 1 / var(--bp));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 3;
	position: sticky;
	left: 100%;
	box-sizing: border-box;
	width: calc(var(--cw) * 50 / var(--bp));
	height: var(--h);
	margin-top: calc(var(--h) * -1 - var(--basisgap));
	margin-bottom: var(--basisgap);
	padding: 0 0 var(--pad) var(--pad);
	border-radius: var(--r) 0 0 var(--r);
	line-height: 1;
	background: var(--grad);
}
.c5-cvtag,
.c5-cvtag:hover,
.c5-cvtag:visited {
	color: white;
	text-decoration: none;
}
.c5-cvtag svg {
	width: 70%;
	fill: currentcolor;
}
.c5-cvtag img {
	width: 47%;
	margin-top: calc(var(--cw) * 2 / var(--bp));
}
@media screen and (max-width: 639px) {
	.c5-cvtag {
		top: 70%;
		transition: top .8s var(--ease-inout), transform .8s var(--ease-out);
	}
	.c5-main[data-current="product"] .c5-cvtag {
		transform: translateX(100%);
		transition-duration: 0s, .4s;
		transition-delay: .4s, 0s;
	}
	.c5-main[data-current="product"] .c5-cvtag,
	.c5-main[data-current="appeal"] .c5-cvtag,
	.c5-main[data-current="cta"] .c5-cvtag,
	.c5-main[data-current="othersites"] .c5-cvtag {
		top: calc(var(--cw) * 252 / var(--bp) - var(--h) - var(--basisgap));
		/* MEMO: 252 = .c5-p-appeal__head の高さ */
	}
}
@media print, (min-width: 640px) {
	.c5-cvtag {
		top: 20%;
		width: 80px;
		--h: 140px;
		padding: 0 0 2px 2px;
		transition: top .8s var(--ease-inout);
	}
	.c5-cvtag img {
		margin-top: 5px;
	}
	.c5-main[data-current="appeal"] .c5-cvtag,
	.c5-main[data-current="cta"] .c5-cvtag,
	.c5-main[data-current="othersites"] .c5-cvtag {
		top: 70%;
	}
}

/**
 * ファーストビュー
 -------------------------------------------------- */
.c5-keyvisual {
	display: grid;
	position: relative;
}
.c5-keyvisual :where(.c5-visual__scroll, .c5-visual__display) {
	grid-area: 1 / 1;
	margin-top: calc(var(--header-height) * -1);
}
.c5-keyvisual :where(.c5-product__copy, .c5-product__sub) {
	font-size: calc(var(--cw) * var(--font-basis) / var(--bp));
}
.c5-loading {
	pointer-events: none;
	z-index: 3;
	position: fixed;
	inset: 0;
	background: black;
}
.c5-visual__display {
	display: grid;
	position: sticky;
	top: 0;
}
.c5-visual__display :is(.c5-keyvisual__title, .c5-keyvisual__image) {
	grid-area: 1 / 1;
}
.c5-visual,
.c5-visual__step,
.c5-visual__display {
	height: 100lvh;
}

/* :::::: ビジュアル :::::: */
.c5-visual__scroll {
	display: grid;
	grid-template-rows: repeat(3, 1fr);
	height: 300lvh;
}
.c5-visual {
	grid-area: 1 / 1;
	position: sticky;
	top: 0;
	width: var(--cw);
	background: white;
}
.c5-visual picture {
	display: block;
	width: 100%;
	height: 100%;
}
.c5-visual picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.c5-visual__copyright {
	position: absolute;
	width: calc(var(--cw) * 822 / var(--bp));
	max-width: calc(100% - var(--basisgap) * 2);
	right: var(--basisgap);
	bottom: 1em;
	color: white;
	--font-basis: 10;
	line-height: 0;
}
.c5-visual__copyright svg {
	width: 100%;
	height: auto;
	object-fit: contain;
	fill: currentcolor;
}
.c5-visual__step.-v1 {
	grid-area: 1 / 1;
}
.c5-visual__step.-v2 {
	grid-area: 2 / 1;
}
.c5-visual__step.-v3 {
	grid-area: 3 / 1;
}
@media print, (min-width: 640px) {
	.c5-visual picture img {
		object-position: center bottom;
	}
}
@media screen and (max-width: 639px) {
	/* モバイルデバイスはグラデーションマスク */
	.c5-visual {
		--end: calc(100svh - var(--cw) * 248 / var(--bp));
		--center: calc(100svh - var(--cw) * 280 / var(--bp));
		--start: calc(100svh - var(--cw) * 348 / var(--bp));
	}
	.c5-visual picture {
		mask: linear-gradient(to top, #000 var(--start), #0004 var(--center), #0000 var(--end));
	}
	.c5-visual picture img {
		object-position: center bottom;
	}
}

/* 世界に浸る感覚を。ゲームはもっと面白い。 */
.c5-keyvisual__title {
	place-self: start;
	padding: var(--basisgap);
	padding-top: calc(var(--basisgap) * 1.5);
}
.c5-keyvisual__title :where(h2, p) {
	margin: 0;
}
.c5-product__copy {
	--font-basis: 32;
	line-height: 1;
}
.c5-product__copy svg {
	display: block;
	width: auto;
	height: 1em;
}
.c5-product__copy svg + svg {
	margin-top: .25em;
}
.c5-product__name {
	display: inline-block;
	width: calc(var(--cw) * 216 / var(--bp));
	margin-top: calc(var(--cw) * 22 / var(--bp));
	--font-basis: 10;
	line-height: 1.2;
}
.c5-product__name_sub {
	display: inline-block;
	margin-top: 1em;
	font-weight: 400;
}
@media screen and (max-width: 639px) {
	.c5-keyvisual__title {
		z-index: 1;
		margin-top: var(--header-height);
	}
}
@media print, (min-width: 640px) {
	/* デスクトップは半透明座布団 */
	.c5-keyvisual__title {
		z-index: 0;
		position: relative;
		top: min(var(--cw) * 170 / var(--bp) + var(--header-height), 17vh);
		padding-top: calc(var(--cw) * 36 / var(--bp));
		padding-right: calc(var(--cw) * 96 / var(--bp));
		padding-bottom: calc(var(--cw) * 40 / var(--bp));
		padding-left: calc(var(--cw) * 70 / var(--bp));
		background: linear-gradient(to right, #fffa 70%, #fff2 92%, #fff0);
		backdrop-filter: blur(8px);
		box-shadow: -30px 30px 30px rgb(0 0 0 / .16);
	}
	.c5-product__copy {
		--font-basis: 56;
	}
	.c5-product__name {
		width: calc(var(--cw) * 380 / var(--bp));
		--font-basis: 18;
	}
}
/* 推奨音質 (gsap 切り替えに連動) */
.c5-product__recd {
	--width: calc(var(--cw) * 216 / var(--bp));
	display: grid;
	overflow: clip;
	width: var(--width);
	height: 0;
}
.c5-product__recd:where(.-kv2, .-kv3) {
	height: calc(var(--width) * 266 / 1070 + var(--cw) * 12 / var(--bp));
}
.c5-product__recd img {
	grid-area: 1 / 1;
	transition: opacity .4s .4s;
	margin-top: calc(var(--cw) * 12 / var(--bp));
	opacity: 0;
	background: white;
}
.c5-product__recd.-kv2 .-kv2,
.c5-product__recd.-kv3 .-kv3 {
	z-index: 1;
	opacity: 1;
}
.c5-product__recd.is-motion {
	transition: height .4s var(--ease-out);
	will-change: height;
}
.c5-product__recd.is-motion img {
	transition-duration: .8s;
	transition-delay: 0s;
}
@media print, (min-width: 640px) {
	.c5-product__recd {
		--width: calc(var(--cw) * 535 / var(--bp));
		filter: drop-shadow(0 30px 30px rgb(0 0 0 / .16));
	}
	.c5-product__recd:where(.-kv2, .-kv3) {
		height: calc(var(--width) * 266 / 1070 + var(--cw) * 26 / var(--bp));
	}
	.c5-product__recd img {
		margin-top: calc(var(--cw) * 26 / var(--bp));
	}
}

/* :::::: ヘッドホン画像 :::::: */
.c5-keyvisual__image {
	pointer-events: none;
	position: absolute;
	width: calc(var(--cw) * 220 / var(--bp));
}
@media screen and (max-width: 639px) {
	.c5-keyvisual__image {
		top: calc(var(--cw) * 132 / var(--bp) + var(--header-height));
		right: calc(var(--cw) * 32 / var(--bp));
		mask: linear-gradient(to top, #0000 20%, #000 30%);
	}
}
@media print, (min-width: 640px) {
	.c5-keyvisual__image {
		top: min(var(--cw) * 80 / var(--bp) + var(--header-height), 10vh);
		left: calc(var(--cw) * 400 / var(--bp));
		width: calc(var(--cw) * 486 / var(--bp));
	}
}

/* :::::: オープニング :::::: */
.c5-loading.is-loaded {
	opacity: 0;
	transition: opacity .4s;
}
@media screen and (max-width: 639px) {
	/* モバイルデバイスはズームアウトしながらフェードイン */
	.c5-keyvisual__image.is-standby {
		opacity: 0;
		transform: translate(-64%, 32%) scale(2);
	}
	.c5-keyvisual__image.is-motion {
		transition: opacity .8s, transform 1s var(--ease-out);
		transition-delay: 0s, 1s;
	}
}
@media print, (min-width: 640px) {
	/* デスクトップはスライドイン */
	.c5-keyvisual__image.is-standby {
		opacity: 0;
		transform: translateX(-50%);
	}
	.c5-keyvisual__image.is-motion {
		transition: opacity 1s, transform 1s var(--ease-out);
		transition-delay: .2s;
	}
}
.c5-keyvisual__title.is-standby {
	opacity: 0;
	transform: translateX(-50%);
}
.c5-keyvisual__title.is-motion {
	transition: opacity 1s, transform 1s var(--ease-out);
}
.c5-cvtag.is-standby {
	transform: translateX(100%);
}
.c5-cvtag.is-motion {
	transition: transform 1s var(--ease-out);
	transition-delay: 1s;
}
@media screen and (max-width: 639px) {
	.c5-keyvisual__title.is-motion {
		transition-duration: 1.2s;
		transition-delay: 1.2s;
	}
	.c5-cvtag.is-motion {
		transition-delay: 1.4s;
	}
}

/**
 * スペシャルインタビュー
 -------------------------------------------------- */
.c5-p-interview {
	display: grid;
	align-content: center;
	min-height: 100lvh;
	box-sizing: border-box;
	padding: var(--sectiongap) 0;
	color: white;
	background: linear-gradient(to top, #242424, black);
}
.c5-p-interview__head {
	display: flex;
	flex-direction: column;
	margin: 0 auto;
}
:where(.c5-p-interview__title, .c5-p-interview__subject) {
	margin: 0;
}
.c5-p-interview__title svg {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.c5-p-interview__subject {
	display: flex;
	margin-top: var(--basisgap);
	fill: currentcolor;
	--font-basis: 64;
}
.c5-p-interview__subject svg {
	width: auto;
	height: 1em;
}
.c5-p-interview__banners {
	display: flex;
	flex-wrap: wrap;
	gap: var(--basisgap);
	margin: calc(var(--basisgap) * 1.5) auto 0;
}
.c5-p-interview__banners li {
	/* flex-basis: calc(50% - var(--basisgap) / 2);
	aspect-ratio: 1 / 1; */
	height: auto;
}
.c5-p-interview__banners a {
	display: block;
	position: relative;
}
@media print, (min-width: 640px) {
	.c5-p-interview__head {
		align-items: center;
	}
	.c5-p-interview__title {
		width: min(var(--cw) * 480 / var(--bp), 480px);
	}
	.c5-p-interview__subject {
		width: min(var(--cw) * 840 / var(--bp), 840px);
	}
	.c5-p-interview__banners {
		width: min(var(--cw) * 1080 / var(--bp), 1080px);
	}
}
@media screen and (max-width: 639px) {
	.c5-p-interview__title {
		width: calc(var(--cw) * 181 / var(--bp));
	}
	.c5-p-interview__subject {
		flex-wrap: wrap;
		--font-basis: 32;
	}
	.c5-p-interview__head,
	.c5-p-interview__banners {
		flex-direction: column;
		width: calc(100% - var(--basisgap) * 2);
	}
}

/**
 * そこにいるかのように広がる音景。響きわたる低音の迫力...
 -------------------------------------------------- */
.c5-p-product {
	display: grid;
	z-index: 1;
	position: relative;
	height: 200lvh;
	color: white;
	fill: currentcolor;
}
.c5-p-product > * {
	grid-area: 1 / 1;
	height: 100lvh;
}
.c5-p-product .c5-p-product__step + .c5-p-product__step {
	grid-area: 2 / 1;
}
.c5-p-product :is(.c5-p-product__visual, .c5-p-product__lead, .c5-p-product__info) {
	position: sticky;
	top: 0;
	width: var(--cw);
}
.c5-p-product__lead :where(p),
.c5-p-product__info :where(h2, p) {
	margin: 0;
	font-size: calc(var(--cw) * var(--font-basis) / var(--bp));
}
@media screen and (max-width: 639px) {
	.c5-p-product {
		justify-items: center;
	}
}

/* :::::: 背景 :::::: */
.c5-p-product__visual picture {
	display: block;
	height: inherit;
}
.c5-p-product__visual picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* :::::: リード文 :::::: */
.c5-p-product__lead {
	display: grid;
	align-content: center;
	justify-items: center;
	height: 100lvh;
	background: #000a;
}
.c5-p-product__lead p {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .7em .2em;
	width: calc(100% - var(--basisgap) * 2);
	--font-basis: 22;
	line-height: 1.8;
}
.c5-p-product__lead p + p {
	margin-top: 1.4em;
}
.c5-p-product__lead p svg {
	width: auto;
	height: 1em;
}
.c5-p-product__lead.is-standby {
	opacity: 0;
}
.c5-p-product__lead.is-motion {
	transition: opacity .4s;
}
@media print, (min-width: 640px) {
	.c5-p-product__lead p {
		width: min(var(--cw) * 640 / var(--bp), 640px);
		--font-basis: 40;
	}
}

/* :::::: ヘッドホン画像 :::::: */
.c5-p-product__info {
	display: grid;
	align-content: center;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding: calc(var(--basisgap) * 2) var(--basisgap);
	clip-path: inset(0);
}
.c5-p-product__info .c5-paragraph {
	margin-top: 1.5em;
	--font-basis: 14;
	line-height: 1.8333;
}
.c5-p-product__info .c5-note {
	margin-top: .75em;
}
.c5-p-product__info .c5-product__name {
	--font-basis: 10;
}
.c5-p-product__info .c5-image {
	max-height: 70lvh;
}
.c5-p-product__info .c5-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center top;
}
.c5-p-product__info.is-standby :is(.c5-product__name, .c5-paragraph) {
	opacity: 0;
}
.c5-p-product__info.is-standby .c5-image {
	opacity: 0;
	scale: .6
}
.c5-p-product__info.is-motion :is(.c5-product__name, .c5-paragraph) {
	transition: opacity .4s;
}
.c5-p-product__info.is-motion .c5-image {
	transition: opacity .4s, scale .4s var(--ease-out);
}
.c5-p-product__info.is-motion:not(.is-standby) :is(.c5-product__name, .c5-paragraph, .c5-image) {
	transition-delay: .8s;
}
@media print, (min-width: 640px) {
	.c5-p-product__info {
		grid-template-columns: 4fr 5fr;
		align-items: start;
		align-content: center;
		gap: calc(var(--cw) * 40 / var(--bp));
		width: calc(100% - var(--cw) * 400 / var(--bp));
		margin: auto;
		padding-inline: calc(var(--basisgap) * 3);
	}
	.c5-p-product__info_text {
		grid-area: 1 / 1;
	}
	.c5-p-product__info .c5-product__name {
		width: calc(var(--cw) * 519 / var(--bp));
		--font-basis: 24;
	}
	.c5-p-product__info .c5-paragraph {
		--font-basis: 24;
	}
	.c5-p-product__info .c5-image {
		grid-area: 1 / 2;
		justify-self: center;
		width: calc(var(--cw) * 658 / var(--bp));
		max-height: 80lvh;
	}
	.c5-p-product__info .c5-image img {
		height: calc(100% + 10lvh);
		max-height: 92lvh;
	}
}
@media screen and (max-width: 639px) {
	.c5-p-product__info::before {
		content: "";
		z-index: -1;
		position: absolute;
		inset: 0;
		background: linear-gradient(4deg, #000c, #000a 10%, #0000 30%);
	}
	.c5-p-product__info_inner {
		margin: 0 auto;
		padding: calc(var(--sectiongap) / 2) 0;
	}
	.c5-p-product__info_text {
		display: contents;
	}
	.c5-p-product__info .c5-product__name {
		width: calc(var(--cw) * 340 / var(--bp));
	}
	.c5-p-product__info .c5-paragraph {
		order: 1;
		margin-top: calc(var(--basisgap) * -2);
	}
	.c5-p-product__info .c5-image img {
		object-position: 32% top;
	}
}

/**
 * 訴求
 -------------------------------------------------- */
.c5-p-appeal__head {
	z-index: 1;
	position: sticky;
	top: 0;
	left: 0;
	box-sizing: border-box;
	padding: var(--basisgap);
	background: var(--whitesmoke);
}
@media screen and (max-width: 639px) {
	.c5-p-appeal_section {
		grid-template-rows: auto 1fr;
	}
	.c5-p-appeal__head {
		display: flex;
		flex-direction: column;
		/* justify-content: space-between; */
		height: calc(var(--cw) * 252 / var(--bp));
		padding-top: calc(var(--basisgap) * 1.25);
	}
	.c5-p-appeal__body {
		height: inherit;
	}
}
@media print, (min-width: 640px) {
	.c5-p-appeal_section {
		--head-padding: calc(var(--basisgap) * 2);
		--body-padding: calc(var(--sectiongap) * 1.5);
		max-width: 1920px;
		margin: 0 auto;
		border-image: linear-gradient(to left, white 50%, var(--whitesmoke) 50%) 0 fill / 0 / 0 50vw;
	}
	.c5-p-appeal_section::after {
		content: "";
		display: block;
		clear: both;
	}
	.c5-p-appeal__head,
	.c5-p-appeal__body {
		width: 50%;
		min-height: 100lvh;
		box-sizing: border-box;
	}
	.c5-p-appeal__head {
		float: left;
		height: 100lvh;
		padding: calc(var(--basisgap) * 2);
		padding-top: var(--head-padding);
	}
	.c5-p-appeal__body {
		float: right;
		padding: calc(var(--sectiongap) * 1.5) calc(var(--basisgap) * 3);
		padding-top: var(--body-padding);
	}
	.c5-p-appeal__body .c5-subject {
		--font-basis: 32;
	}
}

/* :::::: H2 :::::: */
.c5-p-appeal__head :where(h2, p) {
	margin: 0;
}
.c5-p-appeal__head .c5-subject {
	font-family: var(--font-serif);
	--font-basis: 21;
	line-height: 1.5;
}
.c5-p-appeal__head p {
	--font-basis: 12;
	line-height: 1.5;
}
.c5-p-appeal__head p:has(img) {
	width: min(var(--cw) * var(--width) / var(--bp), var(--width) * 1px);
	margin-top: var(--basisgap);
}
.c5-p-appeal__head p:has([src*="logo_kojimapro"]) {
	--width: 184;
}
.c5-p-appeal__head p:has([src*="logo_pragmata"]) {
	--width: 248;
	padding-left: .25em;
}
.c5-p-appeal__head p:has(b) {
	display: flex;
	flex-direction: column;
	margin-top: calc(var(--basisgap) / 2);
}
.c5-p-appeal__head p b {
	font-weight: inherit;
	font-size: 116.6666%;
}
.c5-p-appeal__head p b span {
	font-weight: inherit;
	font-size: 71.4286%;
}
@media print, (min-width: 640px) {
	.c5-p-appeal__head .c5-subject {
		--font-basis: 48;
	}
	.c5-p-appeal__head p {
		--font-basis: 24;
	}
	.c5-p-appeal__head p:has([src*="logo_kojimapro"]) {
		--width: 372;
		margin-top: calc(var(--basisgap) * 1.6);
	}
	.c5-p-appeal__head p:has([src*="logo_pragmata"]) {
		--width: 427;
		margin-top: calc(var(--basisgap) * 2.4);
	}
	.c5-p-appeal__head p:has(b) {
		margin-top: var(--basisgap);
	}
	.c5-p-appeal__head p b {
		font-size: 166.6666%;
	}
	.c5-p-appeal__head p b span {
		font-size: 75%;
	}
}

/* :::::: H3 :::::: */
.c5-p-appeal__section {
	margin-left: auto;
}
.c5-p-appeal__section figure {
	aspect-ratio: 1480 / 899;
	width: 100%;
	height: auto;
}
.c5-p-appeal__section figure img {
	border-radius: var(--radius);
}
.c5-p-appeal__section :where(h3, p) {
	margin: .75em 0 0;
}
.c5-p-appeal__section .c-paragraph {
	margin-top: 1em;
}
.c5-p-appeal__section .c5-note {
	margin-top: .75em;
}
@media screen and (max-width: 639px) {
	.c5-p-appeal__section {
		padding: var(--basisgap);
	}
	.c5-p-appeal__section:first-child {
		padding-top: calc(var(--basisgap) * 2.5);
	}
	.c5-p-appeal__section:last-child {
		padding-bottom: calc(var(--basisgap) * 2.5);
	}
}
@media print, (min-width: 640px) {
	.c5-p-appeal__section + .c5-p-appeal__section {
		margin-top: var(--sectiongap);
	}
}

/**
 * CTA
 -------------------------------------------------- */
.c5-p-cta {
	position: relative;
}
.c5-p-cta__buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(var(--basisgap) / 2);
}
@media screen and (max-width: 639px) {
	.c5-p-cta__buttons .c5-button {
		flex-grow: 1;
	}
}

/* :::::: 世界に浸る感覚を。ゲームはもっと面白い。 :::::: */
.c5-p-cta__header {
	display: grid;
	height: auto;
	clip-path: inset(0);
}
.c5-p-cta__header_text :where(h2, p) {
	margin: 0;
}
.c5-p-cta__header .c5-product__name {
	margin-top: var(--basisgap);
}
.c5-p-cta__header .c5-p-cta__buttons {
	margin-top: var(--basisgap);
}
.c5-p-cta__header_visual {
	z-index: -1;
}
.c5-p-cta__header_visual picture {
	display: block;
	width: 100%;
	height: 100%;
}
.c5-p-cta__header_visual picture img {
	width: 100%;
}
.c5-p-cta__header_image {
	pointer-events: none;
	position: absolute;
	top: calc(var(--cw) * 153 / var(--bp));
	right: var(--basisgap);
	width: calc(var(--cw) * 216 / var(--bp));
}
@media screen and (max-width: 639px) {
	.c5-p-cta__header {
		padding: var(--sectiongap) 0;
	}
	.c5-p-cta__header_text {
		display: contents;
	}
	.c5-p-cta__header_text :where(h2, p) {
		padding-inline: var(--basisgap);
	}
	.c5-p-cta__header .c5-product__name {
		margin-top: calc(var(--basisgap) / 2);
	}
	.c5-p-cta__header .c5-p-cta__buttons {
		order: 1;
		width: calc(100% - var(--basisgap) * 2);
		margin-inline: auto;
	}
	.c5-p-cta__header_visual {
		margin-top: var(--basisgap);
	}
	.c5-p-cta__header_image {
		mask: linear-gradient(to top, #0000 22%, #000 26%);
	}
}
@media print, (min-width: 640px) {
	.c5-p-cta__header {
		aspect-ratio: 3842 / 1618;
	}
	.c5-p-cta__header_text {
		grid-area: 1 / 1;
		place-self: center start;
		box-sizing: border-box;
		width: 46cqi;
		margin-bottom: calc(var(--basisgap) * 2.5);
		padding: var(--basisgap);
		text-align: center;
		background: linear-gradient(to right, #fff0, #fff2 8%, #fffa 20% 80%, #fff2 92%, #fff0);
		backdrop-filter: blur(8px);
		box-shadow: -30px 30px 30px rgb(0 0 0 / .16);
	}
	.c5-p-cta__header .c5-product__copy {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.c5-p-cta__header_visual {
		grid-area: 1 / 1 / 2 / 3;
	}
	.c5-p-cta__header_image {
		top: calc(var(--basisgap) * 2);
		right: 50%;
		width: calc(var(--cw) * 486 / var(--bp));
	}
}

/* :::::: コラムリンクバナー :::::: */
.c5-p-cta__links {
	display: flex;
	flex-direction: column;
	gap: calc(var(--basisgap) * 2);
	width: calc(100% - var(--basisgap) * 2);
	margin: 0 auto;
	padding: var(--sectiongap) 0;
	border-image: var(--fillsmoke);
}
.c5-p-cta__links .c5-imgwrap {
	aspect-ratio: 700 / 437;
	width: 100%;
	height: auto;
}
.c5-p-cta__links picture {
	display: inline-block;
}
.c5-p-cta__links img {
	border-radius: var(--radius);
}
.c5-p-cta__links a {
	display: flex;
	flex-direction: column;
}
.c5-p-cta__links a,
.c5-p-cta__links a:hover,
.c5-p-cta__links a:visited {
	color: inherit;
	text-decoration: none;
}
.c5-p-cta__links p {
	align-self: center;
	margin: .5em 0 0;
	--font-basis: 14;
	line-height: 1.7143;
}
.c5-p-cta__links p span {
	background: linear-gradient(#333a, #333a) right bottom / 0 1px no-repeat;
}
@media (hover) {
	.c5-p-cta__links p span {
		transition: background-size .4s var(--ease-inout);
	}
	.c5-p-cta__links a:hover p span {
		background-position: left bottom;
		background-size: 100% 1px;
		transition-duration: .2s;
	}
}
@media print, (min-width: 640px) {
	.c5-p-cta__links {
		width: min(var(--cw) * 1280 / var(--bp), 1280px);
		text-align: center;
	}
	.c5-p-cta__links .c5-imgwrap {
		aspect-ratio: 2560 / 908;
	}
	.c5-p-cta__links p {
		--font-basis: 24;
	}
}

/* :::::: 4K超高精細の美しさを。 :::::: */
.c5-p-cta__monitor {
	display: grid;
	margin: 0 auto;
	padding: var(--sectiongap) 0;
	border-image: linear-gradient(white, white) 0 fill / 0 / 0 50vw;
}
.c5-p-cta__monitor_text :where(h3, p) {
	margin: 0;
}
.c5-p-cta__monitor_text h3 {
	--font-basis: 63;
	line-height: 1;
}
.c5-p-cta__monitor_text h3 svg {
	width: auto;
	height: 1em;
}
.c5-p-cta__monitor_text p {
	line-height: 1.2;
}
.c5-p-cta__monitor_text p span {
	display: inline-block;
	margin-top: 1em;
}
.c5-p-cta__monitor_spec {
	border: 1px solid currentcolor;
}
.c5-p-cta__monitor_spec img {
	width: 100%;
}
@media print, (min-width: 640px) {
	.c5-p-cta__monitor {
		grid-template-columns: 9fr 10fr;
		column-gap: calc(var(--basisgap) * 2);
		width: min(var(--cw) * 1720 / var(--bp), 1720px);
		text-align: center;
	}
	.c5-p-cta__monitor_text {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: calc(var(--basisgap) * .8);
	}
	.c5-p-cta__monitor_text p {
		--font-basis: 18;
		width: min(var(--cw) * 365 / var(--bp), 365px);
	}
	.c5-p-cta__monitor_spec {
		width: min(var(--cw) * 720 / var(--bp), 720px);
	}
	.c5-p-cta__monitor_image {
		justify-self: center;
		width: min(var(--cw) * 740 / var(--bp), 720px);
	}
	.c5-p-cta__monitor .c5-p-cta__buttons {
		margin: auto 0 0;
	}
}
@media screen and (max-width: 639px) {
	.c5-p-cta__monitor {
		gap: var(--basisgap);
		width: calc(100% - var(--basisgap) * 2);
	}
	.c5-p-cta__monitor_text {
		display: contents;
	}
	.c5-p-cta__monitor_text h3 {
		--font-basis: 31;
	}
	.c5-p-cta__monitor_text p {
		width: calc(var(--cw) * 194 / var(--bp));
		--font-basis: 12;
	}
	.c5-p-cta__monitor_spec,
	.c5-p-cta__monitor .c5-p-cta__buttons {
		order: 1;
	}
}

/* :::::: あとは、あなた自身で体験を。 :::::: */
.c5-p-cta__store {
	margin: 0 auto;
	width: calc(100% - var(--basisgap) * 2);
	padding-top: calc(var(--sectiongap) * 1.0625);
	padding-bottom: calc(var(--sectiongap) * .9583);
	border-image: var(--fillsmoke);
}
.c5-p-cta__store figure {
	display: inline-block;
	aspect-ratio: 2560 / 1430;
	width: 100%;
	height: auto;
}
.c5-p-cta__store figure img {
	border-radius: var(--radius);
}
.c5-p-cta__store h3 {
	margin: calc(var(--basisgap) * 1.5) 0 0;
	color: black;
	--font-basis: 32;
	line-height: 1.2;
	font-feature-settings: "palt" 1;
}
.c5-p-cta__store h3 b {
	display: inline-block;
	font-weight: inherit;
	background: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	/* text-fill-color: transparent; */
}
.c5-p-cta__store h4 {
	margin: 1em 0 0;
	color: #333;
	font-weight: 900;
	--font-basis: 24;
}
.c5-p-cta__store p {
	margin: 1em 0 0;
	--font-basis: 14;
	line-height: 1.6666;
}
.c5-p-cta__store h3 + p {
	margin-top: 1.5em;
}
.c5-p-cta__store .c5-button {
	display: block;
	width: fit-content;
	margin: calc(var(--basisgap) * 1.325) auto 0;
	padding-inline: 2em;
}
@media screen and (max-width: 639px) {
	.c5-p-cta__store h4,
	.c5-p-cta__store h4 + p {
		text-align: center;
	}
}
@media print, (min-width: 640px) {
	.c5-p-cta__store {
		width: min(var(--cw) * 1280 / var(--bp), 1280px);
		text-align: center;
	}
	.c5-p-cta__store figure {
		width: 100%;
	}
	.c5-p-cta__store h3 {
		justify-content: center;
		--font-basis: 76;
	}
	.c5-p-cta__store h4 {
		--font-basis: 48;
	}
	.c5-p-cta__store p {
		--font-basis: 24;
	}
}

/* :::::: 別サイトバナー :::::: */
.c5-p-othersites {
	padding: calc(var(--basisgap) * 3) 0;
	color: white;
	background: linear-gradient(to top, #242424, black);
}
.c5-p-othersites__list {
	display: flex;
	gap: var(--basisgap);
	width: min(100% - var(--basisgap) * 2);
	margin: 0 auto;
	--font-basis: 10;
	line-height: 1.5;
}
.c5-p-othersites__list li {
	text-align: center;
}
.c5-p-othersites__list a {
	display: flex;
	flex-direction: column;
	text-align: center;
}
.c5-p-othersites__list a,
.c5-p-othersites__list a:hover,
.c5-p-othersites__list a:visited {
	color: white;
	text-decoration: none;
}
.c5-p-othersites__list p {
	display: inline-block;
	align-self: center;
	margin-top: .5em;
	background: linear-gradient(#fffa, #fffa) right bottom / 0 1px no-repeat;
}
.c5-p-othersites__list .c5-imgwrap {
	aspect-ratio: 1240 / 751;
	width: 100%;
	height: auto;
}
@media (hover) {
	.c5-p-othersites__list p {
		transition: background-size .4s var(--ease-inout);
	}
	.c5-p-othersites__list a:hover p {
		background-position: left bottom;
		background-size: 100% 1px;
		transition-duration: .2s;
	}
}
@media screen and (max-width: 639px) {
	.c5-p-othersites__list {
		flex-direction: column;
	}
}
@media print, (min-width: 640px) {
	.c5-p-othersites {
		padding-top: calc(var(--sectiongap) * 1.53);
		padding-bottom: calc(var(--sectiongap) * 1.55);
	}
	.c5-p-othersites__list {
		flex-wrap: wrap;
		justify-content: center;
		width: min(var(--cw) * 1280 / var(--bp), 1280px);
		--font-basis: 18;
	}
	.c5-p-othersites__list li {
		flex-basis: calc(50% - var(--basisgap) / 2);
		flex-grow: 1;
	}
}
