/* ============================================================
 * tonmana-inheritance.css
 * トップ確定トンマナを下層全体へ最後に継承する補正レイヤー。
 * クールホワイト、フラット罫線、明朝見出し、紙↔ダークの緩急を
 * 既存テンプレート構造を壊さずに揃える。
 * ============================================================ */
body:not(.home):not(.page--ai-literacy) {
	--color-text-secondary: #34413F;
	--color-text-muted: #5B6A67;
	--color-border-subtle: rgba(26, 40, 38, 0.14);
	--color-decor-hairline: rgba(26, 40, 38, 0.18);
}

body:not(.home):not(.page--ai-literacy) main {
	background: var(--color-bg-primary);
}

body:not(.home):not(.page--ai-literacy) :is(
	.column-card,
	.search-result,
	.error-card,
	.info-list,
	.ailab-bento__cell,
	.ailab-card,
	.shelf-bento__cell,
	.shelf-card,
	.single-post__featured,
	.single-post__cta-card,
	.single-post__next-card,
	.single-post__related-card,
	.sidebar-block,
	.sidebar-link,
	.contact-thanks-next__card,
	.contact-thanks-info__card,
	[class*="-thanks-info__card"],
	.lp-hero-diagnostic,
	.lp-stage-geo__answer,
	.lp-stage-geo__signals > div,
	.lp-stage-ig__phone,
	.lp-stage-ig__flow li,
	.lp-stage-meo__map,
	.lp-stage-meo__actions,
	.lp-stage-web__board,
	.lp-stage-web__stack > div,
	.lp-stage-mc__board,
	.lp-stage-mc__rhythm > div,
	[class*="-vs__table-wrap"],
	[class*="-compare__table-wrap"],
	.wpcf7-form
) {
	border-radius: var(--radius-sm);
	box-shadow: none;
}

body:not(.home):not(.page--ai-literacy) :is(
	.column-card,
	.search-result,
	.error-card,
	.ailab-bento__cell,
	.ailab-card,
	.shelf-bento__cell,
	.shelf-card,
	.single-post__cta-card,
	.single-post__next-card,
	.single-post__related-card,
	.contact-thanks-next__card,
	[class*="-thanks-next__card"],
	.lp-hero-diagnostic,
	.lp-stage-geo__answer,
	.lp-stage-geo__signals > div,
	.lp-stage-ig__phone,
	.lp-stage-ig__flow li,
	.lp-stage-meo__map,
	.lp-stage-meo__actions,
	.lp-stage-web__board,
	.lp-stage-web__stack > div,
	.lp-stage-mc__board,
	.lp-stage-mc__rhythm > div,
	[class*="-vs__table-wrap"],
	[class*="-compare__table-wrap"]
) {
	border: 1px solid var(--color-decor-hairline);
}

/* お知らせ個別の「最近のお知らせ」は箱型カードではなくリスト型（透明背景・破線下罫）。
   上の汎用 `.single-post__related-card { border:1px solid }` が info にも効いて箱化し、
   左右padding 0 で中身が枠に密着するため、info だけ高詳細度で打ち消す（でぐ指摘・2026-06-03）。 */
body:not(.home):not(.page--ai-literacy) .single-post--info .single-post__related-card {
	border: 0;
	border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
}

body:not(.home):not(.page--ai-literacy) :is(
	.column-card:hover,
	.search-result:hover,
	.error-card:hover,
	.ailab-bento__cell:hover,
	.ailab-card:hover,
	.shelf-bento__cell:hover,
	.shelf-card:hover,
	.single-post__next-card:hover,
	.single-post__related-card:hover,
	.contact-thanks-next__card:hover,
	[class*="-thanks-next__card"]:hover
) {
	border-color: var(--color-border-brand);
	box-shadow: none;
}

@media (hover: none) {
	body:not(.home):not(.page--ai-literacy) :is(
		.column-card:hover,
		.search-result:hover,
		.error-card:hover,
		.ailab-bento__cell:hover,
		.ailab-card:hover,
		.shelf-bento__cell:hover,
		.shelf-card:hover,
		.single-post__next-card:hover,
		.single-post__related-card:hover,
		.contact-thanks-next__card:hover,
		[class*="-thanks-next__card"]:hover
	) {
		transform: none;
	}
}

/* ------------------------------------------------------------
 * カード平坦化の :is() 漏れ補完
 *   AI Lab アーカイブ / ラボの棚 の著者カード・CTAカードが
 *   box-shadow + hover lift + 過大 radius のまま残っていたため、
 *   フラット罫線トンマナへ揃える。
 * ------------------------------------------------------------ */

/* 白地の著者カード：罫線＋影なし＋角丸ほぼ無し */
body:not(.home):not(.page--ai-literacy) :is(
	.ailab-archive-concept__author,
	.shelf-concept__author
) {
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-sm);
	box-shadow: none;
}

/* ブランド地の CTA カード：背景色は維持し、影・hover lift・過大 radius のみ除去 */
body:not(.home):not(.page--ai-literacy) :is(
	.ailab-archive-concept__cta-card,
	.shelf-concept__cta-card
) {
	border-radius: var(--radius-sm);
	box-shadow: none;
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-archive-concept__cta-card:hover,
	.shelf-concept__cta-card:hover
) {
	transform: none;
	box-shadow: none;
}

@media (hover: none) {
	body:not(.home):not(.page--ai-literacy) :is(
		.ailab-archive-concept__cta-card:hover,
		.shelf-concept__cta-card:hover
	) {
		transform: none;
	}
}

/* ラボの棚 / AI Lab 資料本文カード：機能的余白は残し box-shadow のみ除去 */
body.single-post :is(
	.single-post__body .ai-lab-caution,
	.single-post__body .ai-lab-screenshot,
	.single-post__body .ai-lab-screenshot img,
	.single-post__body .ai-lab-screenshot a,
	.single-post__body .ai-lab-table,
	.single-post__body .ai-lab-table table,
	.single-post__body .ai-lab-code-wrap,
	.single-post__body .ai-lab-code-wrap .hcb_wrap,
	.single-post__body .ai-lab-code-wrap pre
) {
	box-shadow: none;
}

body:not(.home):not(.page--ai-literacy) :is(
	.column-hero__title,
	.info-hero__title,
	.search-hero__title,
	.error-hero__title,
	.ailab-bento__title,
	.shelf-bento__title,
	.contact-hero__title,
	.contact-thanks-hero__title,
	.privacy-hero__title,
	.ailab-bento__cell-title,
	.shelf-bento__cell-title,
	.single-ailab__title,
	[class*="-thanks-hero__title"],
	[class*="-thanks-info__title"],
	[class*="-thanks-next__title"]
) {
	font-family: var(--font-serif-jp);
	font-weight: var(--fw-semibold);
	letter-spacing: 0;
	mix-blend-mode: normal;
}

body:not(.home):not(.page--ai-literacy) :is(
	.column-hero__overline,
	.info-hero__overline,
	.search-hero__overline,
	.ailab-bento__overline,
	.shelf-bento__overline,
	.contact-hero__overline,
	.privacy-hero__overline,
	[class*="-thanks-hero__overline"]
) {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	font-family: var(--font-mono);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-widest);
	color: var(--color-text-secondary);
}

body:not(.home):not(.page--ai-literacy) :is(
	.column-hero__overline,
	.info-hero__overline,
	.search-hero__overline,
	.ailab-bento__overline,
	.shelf-bento__overline,
	.contact-hero__overline,
	[class*="-thanks-hero__overline"]
)::before {
	content: "";
	width: 24px;
	height: 1px;
	border-radius: 0;
	background: var(--color-brand);
	box-shadow: none;
}

body:not(.home):not(.page--ai-literacy) :is(.column-hero, .info-hero, .search-hero) {
	background: var(--color-bg-primary);
	border-bottom: 1px solid var(--color-decor-hairline);
}

.archive--info main::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: clamp(140px, 24vh, 280px);
	background-image:
		linear-gradient(var(--color-decor-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--color-decor-grid) 1px, transparent 1px);
	background-size: var(--space-7) var(--space-7);
	-webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.42), transparent);
	mask-image: linear-gradient(180deg, rgba(0,0,0,0.42), transparent);
	pointer-events: none;
	z-index: 0;
	opacity: 0.56;
}

.archive--info main {
	position: relative;
}

.archive--info main > * {
	position: relative;
	z-index: 1;
}

.info-list {
	background: var(--color-bg-surface);
	border-color: var(--color-decor-hairline);
}

.info-list__title {
	font-family: var(--font-serif-jp);
	font-weight: var(--fw-semibold);
}

.info-list__date,
.info-pagination__item {
	font-family: var(--font-mono);
	letter-spacing: var(--ls-wide);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__bg-typo,
	.ailab-archive-hero__bg-typo,
	.shelf-bento__bg-typo,
	.shelf-hero__bg-typo
) {
	letter-spacing: 0;
	opacity: 0.028;
	color: var(--color-brand);
}

body.page--resources :is(.shelf-bento__bg-typo, .shelf-hero__bg-typo) {
	color: var(--color-accent);
}

body:not(.home):not(.page--ai-literacy) :is(.ailab-bento__decor, .shelf-bento__decor) {
	opacity: 0.26;
}

body:not(.home):not(.page--ai-literacy) :is(.ailab-bento__cell, .shelf-bento__cell) {
	background: var(--color-bg-surface);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--hero,
	.shelf-bento__cell--hero
) {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(234, 243, 241, 0.72)),
		var(--color-bg-surface);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check,
	.ailab-bento__cell--cta-contact,
	.ailab-bento__cell--cta-line,
	.shelf-bento__cell--cta-code-check,
	.shelf-bento__cell--cta-contact,
	.shelf-bento__cell--cta-line
) {
	background: var(--color-bg-surface);
	color: var(--color-text-primary);
	border: 1px solid var(--color-decor-hairline);
	box-shadow: none;
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check,
	.ailab-bento__cell--cta-contact,
	.ailab-bento__cell--cta-line,
	.shelf-bento__cell--cta-code-check,
	.shelf-bento__cell--cta-contact,
	.shelf-bento__cell--cta-line
) :is(.ailab-bento__cta-eyebrow, .shelf-bento__cta-eyebrow) {
	color: var(--color-text-secondary);
	opacity: 1;
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check,
	.ailab-bento__cell--cta-contact,
	.ailab-bento__cell--cta-line,
	.shelf-bento__cell--cta-code-check,
	.shelf-bento__cell--cta-contact,
	.shelf-bento__cell--cta-line
) :is(
	.ailab-bento__cta-title,
	.ailab-bento__cta-arrow,
	.shelf-bento__cta-title,
	.shelf-bento__cta-arrow
) {
	color: var(--color-text-primary);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check,
	.ailab-bento__cell--cta-contact,
	.ailab-bento__cell--cta-line,
	.shelf-bento__cell--cta-code-check,
	.shelf-bento__cell--cta-contact,
	.shelf-bento__cell--cta-line
) :is(.ailab-bento__cta-desc, .shelf-bento__cta-desc) {
	color: var(--color-text-secondary);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check,
	.ailab-bento__cell--cta-contact,
	.ailab-bento__cell--cta-line,
	.shelf-bento__cell--cta-code-check,
	.shelf-bento__cell--cta-contact,
	.shelf-bento__cell--cta-line
) :is(.ailab-bento__cta-icon, .shelf-bento__cta-icon) {
	background: rgba(6, 123, 123, 0.08);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check,
	.ailab-bento__cell--cta-contact,
	.ailab-bento__cell--cta-line,
	.shelf-bento__cell--cta-code-check,
	.shelf-bento__cell--cta-contact,
	.shelf-bento__cell--cta-line
) :is(.ailab-bento__cta-icon svg, .shelf-bento__cta-icon svg) {
	fill: var(--color-brand);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check,
	.ailab-bento__cell--cta-contact,
	.ailab-bento__cell--cta-line
) .ailab-bento__cta-arrow::after,
body:not(.home):not(.page--ai-literacy) :is(
	.shelf-bento__cell--cta-code-check,
	.shelf-bento__cell--cta-contact,
	.shelf-bento__cell--cta-line
) .shelf-bento__cta-arrow::after {
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E") center/contain no-repeat;
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check:hover,
	.ailab-bento__cell--cta-contact:hover,
	.ailab-bento__cell--cta-line:hover,
	.shelf-bento__cell--cta-code-check:hover,
	.shelf-bento__cell--cta-contact:hover,
	.shelf-bento__cell--cta-line:hover
) {
	background: var(--color-brand);
	color: var(--color-text-dark-primary);
	border-color: var(--color-brand);
	box-shadow: none;
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check:hover,
	.ailab-bento__cell--cta-contact:hover,
	.ailab-bento__cell--cta-line:hover,
	.shelf-bento__cell--cta-code-check:hover,
	.shelf-bento__cell--cta-contact:hover,
	.shelf-bento__cell--cta-line:hover
) :is(.ailab-bento__cta-eyebrow, .shelf-bento__cta-eyebrow) {
	color: rgba(244, 250, 249, 0.78);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check:hover,
	.ailab-bento__cell--cta-contact:hover,
	.ailab-bento__cell--cta-line:hover,
	.shelf-bento__cell--cta-code-check:hover,
	.shelf-bento__cell--cta-contact:hover,
	.shelf-bento__cell--cta-line:hover
) :is(
	.ailab-bento__cta-title,
	.ailab-bento__cta-arrow,
	.shelf-bento__cta-title,
	.shelf-bento__cta-arrow
) {
	color: var(--color-text-dark-primary);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check:hover,
	.ailab-bento__cell--cta-contact:hover,
	.ailab-bento__cell--cta-line:hover,
	.shelf-bento__cell--cta-code-check:hover,
	.shelf-bento__cell--cta-contact:hover,
	.shelf-bento__cell--cta-line:hover
) :is(.ailab-bento__cta-desc, .shelf-bento__cta-desc) {
	color: rgba(244, 250, 249, 0.84);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check:hover,
	.ailab-bento__cell--cta-contact:hover,
	.ailab-bento__cell--cta-line:hover,
	.shelf-bento__cell--cta-code-check:hover,
	.shelf-bento__cell--cta-contact:hover,
	.shelf-bento__cell--cta-line:hover
) :is(.ailab-bento__cta-icon, .shelf-bento__cta-icon) {
	background: rgba(255, 255, 255, 0.14);
}

body:not(.home):not(.page--ai-literacy) :is(
	.ailab-bento__cell--cta-code-check:hover,
	.ailab-bento__cell--cta-contact:hover,
	.ailab-bento__cell--cta-line:hover,
	.shelf-bento__cell--cta-code-check:hover,
	.shelf-bento__cell--cta-contact:hover,
	.shelf-bento__cell--cta-line:hover
) :is(.ailab-bento__cta-icon svg, .shelf-bento__cta-icon svg) {
	fill: var(--color-bg-surface);
}

body.page--resources .shelf-bento__step-num {
	/* 2色限定（ルール7）：旧 amber rgba(244,163,64,…) をコッパー #C9885F へ置換 */
	background: rgba(201, 136, 95, 0.18);
	color: var(--color-text-primary);
	border: 1px solid rgba(201, 136, 95, 0.52);
	box-shadow: none;
}

@media (max-width: 767px) {
	body:not(.home):not(.page--ai-literacy) :is(
		.ailab-bento__bg-typo,
		.ailab-archive-hero__bg-typo,
		.shelf-bento__bg-typo,
		.shelf-hero__bg-typo
	) {
		opacity: 0.02;
	}
}

body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) > svg {
	display: block;
}

/* 図の塗り・不透明度の正規化：全幅で適用。
   ノード円は inline で opacity:0.55＋暗い塗りのため、PCだけでなくSP/タブレットでも
   実体化（白塗り・opacity:1）して「変に透過して見える」状態を防ぐ（2026-06-02）。 */
body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg text {
	fill: var(--color-text-primary);
	opacity: 0.9;
}

body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg text[fill="#067B7B"] {
	fill: var(--color-brand);
	opacity: 0.95;
}

body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg text[fill="#C9885F"] {
	fill: #8F553C;
	opacity: 0.95;
}

body.page .about-hero__visual svg .about-hero__node circle,
body.page .works-hero__visual svg .works-hero__nodes circle,
body.page .services-hero__visual svg .services-hero__node,
body.page .services-hero__visual svg g[font-family] rect {
	fill: rgba(255, 255, 255, 0.86);
	opacity: 1;
}

/* SP/タブレット：図は小さく表示されるため、PC基準の薄い透過（inline opacity 0.2〜0.55、
   ラベル0.9 等）だと「かなり薄い／透けて見える」。SP/タブレットでは図内の全要素を不透明にして、
   はっきりした図解として読ませる（2026-06-02）。装飾グリッド等の極薄要素も実線化する。 */
@media (max-width: 1023px) {
	/* 【重要】SPでは図をCTA下フローに置いたため、図を覆っていた可読性veil(::before、
	   hero-viewport.css のクールホワイト0.94グラデ、z-index:1)が図ごと白くかすませる。
	   図が背景ではなくなったのでveilは不要 → 無効化（これが「図が薄い」の真因・2026-06-02）。 */
	body.page :is(.about-hero, .services-hero, .works-hero)::before {
		display: none;
	}

	/* 図内に薄い要素（inline opacity 0.2〜0.55）が残ると washout 状に見えるため不透明化。 */
	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg * {
		opacity: 1;
	}

	/* 線はサブピクセル(実寸0.7px)でかすれない程度に控えめに太く。太くしすぎない（2026-06-02）。 */
	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg :is(circle, line, path, rect) {
		stroke-width: 1.8;
	}
}

@media (min-width: 1024px) {
	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) {
		position: absolute;
		top: 50%;
		/* コンテナ枠ではなく「コンテナのコンテンツ右端」に図の右端を揃える。
		   container--wide は padding-inline:32px(=space-6) を持つため、その分を足して
		   図がコンテンツ幅をはみ出さないようにする（でぐ指摘・2026-06-02）。 */
		right: calc(max(0px, (100vw - var(--container-wide)) / 2) + var(--space-6));
		bottom: auto;
		left: auto;
		/* viewBox を描画範囲に切り詰めた分、同じ箱幅だと図が実質約1.3倍に見える。
		   PCは「少し大きい」ため箱を縮めて従来の見た目サイズに戻す（でぐ指示・2026-06-02）。 */
		width: min(44vw, 560px);
		max-width: 560px;
		height: auto;
		max-height: min(66svh, 540px);
		padding: 0;
		transform: translateY(-50%);
		background: transparent;
		border: none;
		z-index: 0;
		pointer-events: none;
		overflow: visible;
		opacity: 0;
		animation: coletlab-fixed-page-hero-visual-in var(--duration-slowest) var(--ease-out-expo) 1.65s forwards;
	}

	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg {
		max-height: min(64svh, 520px);
	}

	body.page :is(.about-hero, .services-hero, .works-hero)::before {
		background:
			linear-gradient(
				90deg,
				rgba(250, 249, 247, 0.99) 0%,
				rgba(250, 249, 247, 0.96) 28%,
				rgba(250, 249, 247, 0.70) 46%,
				rgba(250, 249, 247, 0.16) 66%,
				rgba(250, 249, 247, 0.04) 88%
			);
	}
}

/* タブレット（768〜1023）：右absolute配置はテキストと重なりノイズになるため廃止し、
   スマホと同じく CTA の下に通常フロー配置（order:2）。ただし幅が広いので、図は中央・小さめに
   表示し、フルブリードしない（max-width 440px）。（でぐ指示・2026-06-02） */
@media (min-width: 768px) and (max-width: 1023px) {
	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) {
		position: static;
		z-index: 0;
		order: 2;
		width: 100%;
		max-width: 100%;
		height: auto;
		/* CTAと図の間にしっかり余白をとる（でぐ指示・2026-06-02） */
		margin: var(--space-8) 0 0;
		padding: 0;
		transform: none;
		background: transparent;
		border: none;
		overflow: visible;
		display: block;
		pointer-events: none;
		opacity: 0;
		animation: coletlab-fixed-page-hero-visual-in-sp var(--duration-slowest) var(--ease-out-expo) 1.2s forwards;
	}

	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg {
		width: 100%;
		max-width: 440px;
		height: auto;
		margin-inline: auto;
		display: block;
	}
}

/* スマホ（〜767）：図はKVの CTA の下に通常フローで配置（でぐ指示・2026-06-02）。
   __visual は DOM 上 __inner より前だが order:2 で content/CTA の後ろへ送る。 */
@media (max-width: 767px) {
	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) {
		position: static;
		z-index: 0;
		order: 2;
		/* 図はコンテンツ余白を抜けて画面幅いっぱい（フルブリード）。左右は最小限のゆとりのみ。
		   viewBoxを描画範囲に切り詰め済みなので、これで図が画面ギリギリまで大きく出る（でぐ指示・2026-06-02）。 */
		width: 100vw;
		max-width: 100vw;
		height: auto;
		margin: var(--space-5) 0 0;
		margin-left: calc(50% - 50vw);
		padding: 0 var(--space-3);
		transform: none;
		background: transparent;
		border: none;
		overflow: visible;
		display: block;
		pointer-events: none;
		opacity: 0;
		animation: coletlab-fixed-page-hero-visual-in-sp var(--duration-slowest) var(--ease-out-expo) 1.2s forwards;
	}

	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) svg {
		width: 100%;
		max-width: none;
		height: auto;
		margin-inline: auto;
		display: block;
	}
}

body.page .about-hero__hub {
	animation-delay: 1.95s;
}

body.page .about-hero__links line:nth-child(1) { animation-delay: 2.15s; }
body.page .about-hero__links line:nth-child(2) { animation-delay: 2.30s; }
body.page .about-hero__links line:nth-child(3) { animation-delay: 2.45s; }
body.page .about-hero__links line:nth-child(4) { animation-delay: 2.60s; }

body.page .services-hero__links path:nth-child(1) { animation-delay: 2.05s; }
body.page .services-hero__links path:nth-child(2) { animation-delay: 2.25s; }
body.page .services-hero__links path:nth-child(3) { animation-delay: 2.45s; }

body.page .works-hero__spine {
	animation-delay: 2.05s;
}

@keyframes coletlab-fixed-page-hero-visual-in {
	from {
		opacity: 0;
		transform: translateY(-50%) scale(0.98);
	}
	to {
		opacity: 0.98;
		transform: translateY(-50%) scale(1);
	}
}

@keyframes coletlab-fixed-page-hero-visual-in-sp {
	from {
		opacity: 0;
		transform: translateY(10px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* タブレット用：縦中央の translateY(-50%) を保つため transform は触らず opacity だけフェード */
@keyframes coletlab-fixed-page-hero-visual-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) {
		opacity: 1 !important;
		animation: none !important;
	}

	/* PCのみ右絶対配置の縦中央を維持 */
	@media (min-width: 1024px) {
		body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) {
			transform: translateY(-50%) !important;
		}
	}

	/* スマホ・タブレットは通常フロー（CTA下）なので transform なし */
	@media (max-width: 1023px) {
		body.page :is(.about-hero__visual, .services-hero__visual, .works-hero__visual) {
			transform: none !important;
		}
	}
}

body.single-cpt_lp .section-label::after {
	content: "";
	align-self: flex-end;
	padding-bottom: 0.45em;
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	letter-spacing: var(--ls-wide);
	color: var(--color-text-secondary);
}

/* ------------------------------------------------------------
 * ダーク楽章の維持（継承ルール3「紙↔ダークの楽章」）
 *   about / works / services のダーク反転セクションが、後段の
 *   ライト系 override で潰れないよう、ダーク地を明示的に再宣言する。
 *   tonmana は最後にロードされ、body スコープで本文色を
 *   ダークテキスト寄り（#34413F 等）へ寄せるため、ダーク地の上の
 *   editorial-index--invert（#B8C4C2 系の淡色）が誤って暗色化／
 *   低コントラスト化しないよう、invert 文字色もここで固定する。
 * ------------------------------------------------------------ */
body.page :is(
	.about-clients--dark,
	.works-summary--dark,
	.services-detail--dark
) {
	background: var(--color-bg-dark-primary);
}

/* ダーク地の上では invert 配色（明色）を維持＝高コントラスト */
body.page :is(
	.about-clients--dark,
	.works-summary--dark,
	.services-detail--dark
) .editorial-index--invert :is(
	.editorial-index__num
) {
	color: var(--color-brand-300);
}

body.page :is(
	.about-clients--dark,
	.works-summary--dark,
	.services-detail--dark
) .editorial-index--invert :is(
	.editorial-index__en,
	.editorial-index__total
) {
	color: var(--color-text-dark-secondary);
}

body:not(.home):not(.page--ai-literacy) .section-label {
	align-items: baseline;
	gap: var(--space-3);
	margin-bottom: var(--space-5);
	line-height: 1;
}

body:not(.home):not(.page--ai-literacy) .section-label__num {
	font-family: var(--font-serif-jp);
	font-size: clamp(2.25rem, 6vw, 3.5rem);
	font-weight: var(--fw-semibold);
	color: var(--color-brand);
	letter-spacing: 0;
	font-feature-settings: "tnum";
	line-height: 0.8;
}

body:not(.home):not(.page--ai-literacy) .section-label__line {
	width: 1px;
	height: 1.6em;
	align-self: flex-end;
	margin-bottom: 0.3em;
	background: var(--color-decor-hairline);
}

body:not(.home):not(.page--ai-literacy) .section-label__en {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-widest);
	color: var(--color-text-secondary);
	align-self: flex-end;
	padding-bottom: 0.45em;
}

body.lp--ai-geo-writing .section-label::after { content: "/ 08"; }
body.lp--bizboot-meo .section-label::after { content: "/ 09"; }
body.lp--instagram-marketing .section-label::after { content: "/ 11"; }
body.lp--web-marketing-support .section-label::after { content: "/ 09"; }
body.lp--marketing-copilot .section-label::after { content: "/ 10"; }
body.lp--ai-business-system .section-label::after { content: "/ 11"; }
body.lp--thanks .section-label::after { content: "/ 01"; }
body.page--contact-thanks .section-label::after,
body.archive--info .about-final-cta .section-label::after,
body.archive--column .about-final-cta .section-label::after {
	align-self: flex-end;
	padding-bottom: 0.45em;
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	letter-spacing: var(--ls-wide);
	color: var(--color-text-secondary);
}
body.page--contact-thanks .section-label::after { content: "/ 02"; }
body.archive--info .about-final-cta .section-label::after { content: "/ 02"; }
body.archive--column .about-final-cta .section-label::after { content: "/ 03"; }

body:not(.home):not(.page--ai-literacy) .about-final-cta .section-label__num,
body:not(.home):not(.page--ai-literacy) .about-final-cta .section-label__en,
body:not(.home):not(.page--ai-literacy) .about-final-cta .section-label::after {
	color: var(--color-brand-300);
}

/* ラボノート / ラボの棚の Final CTA は全体（Get in Touch ラベル・見出し・本文・ボタン）を中央寄せ（でぐ指示・2026-06-02） */
body.archive--ailab .about-final-cta .final-cta__inner,
body.page--resources .about-final-cta .final-cta__inner,
body.archive--ailab .about-final-cta .final-cta__title,
body.page--resources .about-final-cta .final-cta__title,
body.archive--ailab .about-final-cta .final-cta__lead,
body.page--resources .about-final-cta .final-cta__lead,
body.archive--ailab .about-final-cta .final-cta__sub-link,
body.page--resources .about-final-cta .final-cta__sub-link {
	text-align: center;
}
body.archive--ailab .about-final-cta .final-cta__buttons,
body.page--resources .about-final-cta .final-cta__buttons {
	justify-content: center;
}
/* ラボの棚はボタンのラベルが長く折り返すため、PCでは横並びを維持（左右パディングを詰めて収める）。SPは縦並びのまま */
@media (min-width: 1024px) {
	body.page--resources .about-final-cta .final-cta__buttons {
		flex-wrap: nowrap;
	}
	body.page--resources .about-final-cta .final-cta__buttons .btn {
		padding-inline: var(--space-6);
		white-space: nowrap;
	}
}

body.single-cpt_lp :is(
	.lp-geo-hero,
	.lp-ig-hero,
	.lp-meo-hero,
	.lp-web-hero,
	.lp-mc-hero,
	[class*="-thanks-hero"]
) {
	background: var(--page-hero-bg);
}

body.single-cpt_lp :is(
	[class*="-thanks-hero__visual"],
	[class*="-thanks-info__card"]
) {
	background: var(--color-bg-surface);
	border: 1px solid var(--color-decor-hairline);
	border-radius: var(--radius-sm);
	box-shadow: none;
}

body.single-cpt_lp :is(
	[class*="-thanks-hero__visual-spark"],
	[class*="-thanks-hero__visual-bubble"]
) {
	animation: none;
	opacity: 0.28;
}

body.single-cpt_lp :is(
	.lp-geo-thanks-info,
	.lp-ig-thanks-info,
	.lp-meo-thanks-info,
	.lp-web-thanks-info,
	.lp-mc-thanks-info,
	.lp-ax-thanks-info
) {
	background: var(--color-bg-primary);
}

body.single-cpt_lp :is(.lp-conversion-stage, [class*="-thanks-info"], [class*="-thanks-next"]) {
	position: relative;
}

body.single-cpt_lp :is(.lp-conversion-stage, [class*="-thanks-info"], [class*="-thanks-next"])::before {
	background-image:
		linear-gradient(var(--color-decor-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--color-decor-grid) 1px, transparent 1px);
	background-size: var(--space-7) var(--space-7);
}

body:not(.home):not(.page--ai-literacy) .about-final-cta .final-cta__title,
body.single-cpt_lp .about-final-cta .final-cta__title {
	mix-blend-mode: normal;
}

body:not(.home):not(.page--ai-literacy) .about-final-cta::before {
	display: none;
}

body:not(.home):not(.page--ai-literacy) .about-final-cta {
	border-top: 1px solid var(--color-border-dark-subtle);
}

body .breadcrumb::before,
body:not(.home):not(.page--ai-literacy) .breadcrumb::before {
	left: 0;
	width: 100%;
	max-width: 100%;
	transform: none;
	background: transparent;
}

/* about / services / works：KV・パンくず・本文を同じクールホワイト(#FAF9F7)に統一し、白(#FFFFFF)を出さない（でぐ指示・2026-06-01）
   パンくず背面は帯を敷かず本文地のまま（上の transparent 指定が有効）。KVの白ベースをクールホワイトへ。 */
body.page :is(.about-hero, .services-hero, .works-hero, .privacy-hero) {
	background: var(--color-bg-primary);
}

@media (max-width: 1023px) {
	body.page:not(.page--ai-literacy) :is(
		.about-hero__title-line,
		.services-hero__title-line,
		.works-hero__title-line,
		.about-section__title-line,
		.services-section__title-line,
		.works-section__title-line
	) {
		display: inline;
		white-space: normal;
	}
}

body.single-cpt_lp :is(
	.lp-geo-hero__visual,
	.lp-ig-hero__visual,
	.lp-meo-hero__visual,
	.lp-web-hero__visual,
	.lp-mc-hero__visual
) {
	max-width: 680px;
	border-radius: var(--radius-sm);
	box-shadow: none;
}

	@media (min-width: 1024px) {
		body.single-cpt_lp :is(
		.lp-geo-hero__visual,
		.lp-ig-hero__visual,
		.lp-meo-hero__visual,
		.lp-web-hero__visual,
		.lp-mc-hero__visual
	) {
		top: 57%;
		max-height: min(66svh, 560px);
		overflow: visible;
		/* 図をコンテナ右端へ寄せる（でぐ指示・2026-06-03）。
		   svg枠をコンテナ枠より少し外側（gutter - space-4）まで送り、各図のviewBox右余白を相殺して
		   見た目の図右端をコンテンツ右端（カード/テキストの右端）に揃える。各LP CSSの right を上書き。 */
		right: max(var(--space-3), calc((100vw - var(--container-wide)) / 2 - var(--space-4)));
	}

	body.single-cpt_lp :is(
		.lp-geo-hero__visual,
		.lp-ig-hero__visual,
		.lp-meo-hero__visual,
		.lp-web-hero__visual,
		.lp-mc-hero__visual
	) svg {
		max-height: min(64svh, 540px);
	}
}

body.single-cpt_lp :is(
	.lp-geo-hero__visual,
	.lp-ig-hero__visual,
	.lp-meo-hero__visual,
	.lp-web-hero__visual,
	.lp-mc-hero__visual
) svg text {
	letter-spacing: 0;
}

@media (max-width: 1023px) {
	body.single-cpt_lp :is(
		.lp-geo-hero__visual,
		.lp-ig-hero__visual,
		.lp-meo-hero__visual,
		.lp-web-hero__visual,
		.lp-mc-hero__visual
	) {
		position: static;
		width: min(100%, 560px);
		margin: var(--space-7) auto 0;
		transform: none;
		opacity: 0.98;
	}
}

body.single-cpt_lp :is(
	.lp-geo-vs__table-wrap,
	.lp-meo-vs__table-wrap,
	.lp-ig-vs__table-wrap,
	.lp-mc-compare__table-wrap
) {
	background: var(--color-bg-surface);
	border: 1px solid var(--color-decor-hairline);
	border-radius: var(--radius-sm);
	box-shadow: none;
}

body.single-cpt_lp :is(
	.lp-geo-vs__table,
	.lp-meo-vs__table,
	.lp-ig-vs__table,
	.lp-mc-compare__table
) {
	border-color: var(--color-decor-hairline);
}

body.single-cpt_lp :is(
	.lp-geo-vs__table th,
	.lp-geo-vs__table td,
	.lp-meo-vs__table th,
	.lp-meo-vs__table td,
	.lp-ig-vs__table th,
	.lp-ig-vs__table td,
	.lp-mc-compare__table th,
	.lp-mc-compare__table td
) {
	border-color: var(--color-decor-hairline);
}

@media (max-width: 767px) {
	body.single-cpt_lp :is(
		.lp-geo-vs__table tbody tr,
		.lp-meo-vs__table tbody tr,
		.lp-ig-vs__table tbody tr,
		.lp-mc-compare__table tbody tr
	) {
		background: var(--color-bg-surface);
		border: 1px solid var(--color-decor-hairline);
		border-radius: var(--radius-sm);
		box-shadow: none;
	}

	body.single-cpt_lp :is(
		.lp-geo-vs__table tbody td,
		.lp-meo-vs__table tbody td,
		.lp-ig-vs__table tbody td,
		.lp-mc-compare__table tbody td
	) {
		border-left-width: 1px;
		box-shadow: none;
	}

	body.single-cpt_lp .lp-geo-vs__table tbody td::before,
	body.single-cpt_lp .lp-meo-vs__table tbody td::before,
	body.single-cpt_lp .lp-ig-vs__table tbody td::before,
	body.single-cpt_lp .lp-mc-compare__table tbody td::before {
		font-family: var(--font-mono);
		font-size: var(--fs-sm);
		letter-spacing: var(--ls-wide);
		color: var(--color-text-secondary);
	}

	body.single-cpt_lp :is(
		.lp-geo-vs__col-highlight,
		.lp-meo-vs__col-highlight,
		.lp-ig-vs__col-highlight,
		.lp-mc-compare__col-highlight
	) {
		background: rgba(6, 123, 123, 0.06);
		border-color: var(--color-border-brand);
		box-shadow: none;
	}
}

body.single-cpt_lp :is(
	.lp-hero-diagnostic,
	.lp-hero-diagnostic li,
	[class*="-hero__mini-label"],
	[class*="-hero__visual"],
	[class*="-thanks-hero__visual"],
	[class*="-thanks-info__card"],
	[class*="-thanks-next__card"],
	[class*="-vs__table-wrap"],
	[class*="-compare__table-wrap"],
	[class*="-vs__table"],
	[class*="-compare__table"],
	details[class*="-faq__item"],
	[class*="-diagnosis__card"],
	[class*="-issue-card"],
	[class*="-strength"],
	[class*="-promise__card"],
	[class*="-deliverables__list"] li,
	[class*="-service__scope"],
	[class*="-service__scope-block"],
	[class*="-service__scope-title"],
	[class*="-scope__item"],
	[class*="-scope__card"],
	[class*="-scope-block"],
	[class*="-scope-title"],
	[class*="-plans__notice"],
	[class*="-plan"],
	[class*="-why-card"],
	[class*="-flow__step"],
	[class*="-order__points"] li,
	[class*="-shift__points"] li,
	[class*="-why__points"] li,
	[class*="__points-num"],
	[class*="__step-num"],
	[class$="__num"],
	[class$="__number"],
	[class*="-service__scope-list"] li,
	[class*="-scope-list"] li,
	[class*="-scope-grid"] > *,
	[class*="-stage-"][class*="__sheet"],
	[class*="-stage-"][class*="__node"],
	[class*="-stage-"][class*="__guard"],
	[class*="-stage-"][class*="__pack"],
	[class*="-stage-"][class*="__phone"],
	[class*="-stage-"][class*="__profile"],
	[class*="-stage-"][class*="__dm"],
	[class*="-stage-"][class*="__board"],
	[class*="-stage-"][class*="__header"],
	[class*="-stage-"][class*="__lane"],
	[class*="-stage-"][class*="__question"],
	[class*="-stage-"][class*="__actions"],
	[class*="-stage-"][class*="__flow"] li,
	[class*="-stage-"][class*="__signals"] > *,
	[class*="-stage-"][class*="__stack"] > *,
	[class*="-stage-"][class*="__rhythm"] > *,
	.contact-form,
	.lp-web-form,
	.wpcf7-form,
	.contact-form__input,
	.contact-form__textarea,
	.contact-form__topic-option,
	[class*="-sticky-cta__btn"],
	[class*="__badge"],
	[class*="__label"],
	[class*="__tag"]
) {
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
}

body.single-cpt_lp [class*="-stage-"] :is(div, span, strong) {
	box-shadow: none !important;
}

body.single-cpt_lp [class*="-stage-"] :is(div, span, strong):not([class*="pin"]) {
	border-radius: var(--radius-sm) !important;
}

body.single-cpt_lp :is(
	.lp-hero-diagnostic,
	[class*="-hero__visual"],
	[class*="-thanks-hero__visual"],
	[class*="-thanks-info__card"],
	[class*="-thanks-next__card"],
	[class*="-vs__table-wrap"],
	[class*="-compare__table-wrap"],
	details[class*="-faq__item"],
	[class*="-diagnosis__card"],
	[class*="-issue-card"],
	[class*="-strength"],
	[class*="-promise__card"],
	[class*="-deliverables__list"] li,
	[class*="-service__scope"],
	[class*="-service__scope-block"],
	[class*="-scope__item"],
	[class*="-scope__card"],
	[class*="-plans__notice"],
	[class*="-plan"],
	[class*="-why-card"],
	[class*="-flow__step"],
	[class*="-order__points"] li,
	[class*="-shift__points"] li,
	[class*="-why__points"] li,
	[class*="-service__scope-list"] li,
	[class*="-scope-list"] li,
	[class*="-scope-grid"] > *,
	[class*="-stage-"][class*="__sheet"],
	[class*="-stage-"][class*="__node"],
	[class*="-stage-"][class*="__guard"],
	[class*="-stage-"][class*="__pack"],
	[class*="-stage-"][class*="__phone"],
	[class*="-stage-"][class*="__profile"],
	[class*="-stage-"][class*="__dm"],
	[class*="-stage-"][class*="__board"],
	[class*="-stage-"][class*="__header"],
	[class*="-stage-"][class*="__lane"],
	[class*="-stage-"][class*="__question"],
	[class*="-stage-"][class*="__actions"],
	[class*="-stage-"][class*="__flow"] li,
	[class*="-stage-"][class*="__signals"] > *,
	[class*="-stage-"][class*="__stack"] > *,
	[class*="-stage-"][class*="__rhythm"] > *,
	.contact-form,
	.lp-web-form,
	.wpcf7-form,
	.contact-form__input,
	.contact-form__textarea,
	.contact-form__topic-option
) {
	border-color: var(--color-decor-hairline);
}

body.single-cpt_lp :is(
	.lp-hero-diagnostic li::before,
	[class*="-points"] li::before,
	[class*="-points"] li::after,
	[class*="-scope"]::before,
	[class*="-scope"]::after,
	[class*="-service__scope"]::before,
	[class*="-service__scope"]::after,
	[class*="-plan"]::before,
	[class*="-plan"]::after,
	[class*="-notice"]::before,
	[class*="-notice"]::after,
	[class*="-card"]::before,
	[class*="-card"]::after
) {
	box-shadow: none !important;
}

body.single-cpt_lp :is(
	[class*="-points"] li::after,
	[class*="-scope"]::after,
	[class*="-service__scope"]::after
) {
	display: none;
}

body.single-post :is(
	.single-post__body h2,
	.single-post__body h3,
	.single-post__body h4,
	.single-post__title,
	.single-ailab__title,
	.single-post__related-card-title
) {
	letter-spacing: 0;
}

body.single-post .single-post__body h2::before {
	font-family: var(--font-mono);
	font-size: var(--fs-sm);
	letter-spacing: var(--ls-wide);
}

body.single-post .single-post__body h2::after {
	width: min(160px, 42%);
	height: 1px;
	background: var(--color-decor-hairline);
}

body.single-post .single-post__body h3::before {
	border-radius: var(--radius-sm);
	background: var(--color-brand);
	box-shadow: none;
}

body.single-post :is(
	.sidebar-link,
	.sidebar-tag,
	.sidebar-ranking__cat,
	.sidebar-recent__cat,
	.single-ailab__category
) {
	border-radius: var(--radius-sm);
	box-shadow: none;
}

body.single-post :is(
	.sidebar-link[href="/lp/ai-geo-writing/"],
	.sidebar-link[href="/lp/bizboot-meo/"],
	.sidebar-link[href="/lp/instagram-marketing/"],
	.sidebar-link[href="/lp/web-marketing-support/"],
	.sidebar-link[href="/lp/marketing-copilot/"],
	.sidebar-link[href="/resources/"]
) {
	box-shadow: none;
	border-left: 1px solid var(--color-decor-hairline);
}

body:not(.page--ai-literacy) .single-post__sidebar .sidebar-block {
	background: var(--color-bg-surface);
	color: var(--color-text-primary);
	border: 1px solid var(--color-decor-hairline);
}

body:not(.page--ai-literacy) .single-post__sidebar .sidebar-search-block {
	background: var(--color-brand);
	color: var(--color-text-dark-primary);
}

body:not(.page--ai-literacy) .single-post__sidebar :is(
	.sidebar-link,
	.sidebar-link--highlight,
	.sidebar-link--line,
	.sidebar-link--code-check
) {
	background: var(--color-bg-surface);
	color: var(--color-text-primary);
	border: 1px solid var(--color-decor-hairline);
	box-shadow: none;
}

body:not(.page--ai-literacy) .single-post__sidebar :is(
	.sidebar-link__title,
	.sidebar-link--highlight .sidebar-link__title,
	.sidebar-link--line .sidebar-link__title,
	.sidebar-link--code-check .sidebar-link__title
) {
	color: var(--color-text-primary);
}

body:not(.page--ai-literacy) .single-post__sidebar :is(
	.sidebar-link__desc,
	.sidebar-link--highlight .sidebar-link__desc,
	.sidebar-link--line .sidebar-link__desc,
	.sidebar-link--code-check .sidebar-link__desc,
	.sidebar-links__group-label
) {
	color: var(--color-text-secondary);
}

body:not(.page--ai-literacy) .single-post__sidebar :is(
	.sidebar-link__icon,
	.sidebar-link--highlight .sidebar-link__icon,
	.sidebar-link--line .sidebar-link__icon,
	.sidebar-link--code-check .sidebar-link__icon
) {
	color: var(--color-brand);
}

body:not(.page--ai-literacy) .single-post__sidebar .sidebar-link:hover {
	background: var(--color-brand);
	color: var(--color-text-dark-primary);
	border-color: var(--color-brand);
}

body:not(.page--ai-literacy) .single-post__sidebar .sidebar-link:hover .sidebar-link__title {
	color: var(--color-text-dark-primary);
}

body:not(.page--ai-literacy) .single-post__sidebar .sidebar-link:hover .sidebar-link__desc {
	color: rgba(244, 250, 249, 0.84);
}

body:not(.page--ai-literacy) .single-post__sidebar .sidebar-link:hover .sidebar-link__icon {
	color: var(--color-bg-surface);
}

@media (hover: none) {
	body.single-post .sidebar-link:hover {
		transform: none;
	}
}

@media (max-width: 767px) {
	body.single-post :is(
		.single-post__related-card-meta,
		.sidebar-search__hint,
		.sidebar-link__desc,
		.sidebar-links__group-label,
		.sidebar-ranking__cat,
		.sidebar-recent__date,
		.sidebar-recent__cat
	) {
		font-size: var(--fs-sm);
	}

	body.single-post .single-ailab__category::before {
		font-size: var(--fs-sm);
	}
}


/* ════════════════════════════════════════════════════════════
 * 旧デザイン痕跡の撤去（2026-06-02 でぐ確定：完全撤去）
 *   会社概要 / 事業領域 / 私たちの仕事 のクリーンKVに全ページを揃える。
 *   1) KV背景の巨大英字透かし（CONTACT / COLUMN / INFO / SYSTEM 等）を撤去。
 *      LP×6＋各thanks / コラム一覧 / お知らせ一覧 / contact が対象。
 *   2) contact のフォーム周りに残る旧POP装飾語彙
 *      （section-decor / bg-mega-typo / section-glow-line）を撤去。
 *      contact は single-cpt_lp スコープ外で lp-creative.css の抑制が
 *      効かないため、ここで contact のセクションにスコープして消す。
 *
 *   ── 残すもの（撤去しない）──
 *   ・home の hero__bg-typo（タグライン「FROM STRATEGY TO RESULTS.」）
 *   ・ラボノート / ラボの棚の *-bento__bg-typo（opacity 0.028・承認済み）
 *   ・各ページ右側の製図visual（紙束 / 封筒 / ベル等の線画＝新トンマナと整合）
 * ════════════════════════════════════════════════════════════ */

/* 1) KV巨大英字透かしの撤去 */
.lp-web-hero__bg-typo,
.lp-geo-hero__bg-typo,
.lp-meo-hero__bg-typo,
.lp-ig-hero__bg-typo,
.lp-mc-hero__bg-typo,
.lp-web-thanks-hero__bg-typo,
.lp-geo-thanks-hero__bg-typo,
.lp-meo-thanks-hero__bg-typo,
.lp-ig-thanks-hero__bg-typo,
.lp-mc-thanks-hero__bg-typo,
.column-hero__bg-typo,
.info-hero__bg-typo,
.contact-hero__bg-typo,
.contact-thanks-hero__bg-typo,
.privacy-hero__bg-typo {
	display: none !important;
}

/* 2) contact のフォーム周り旧POP装飾語彙の撤去（LP と同じ抑制を contact にも） */
:is(
	.contact-hero,
	.contact-form-section,
	.contact-tel,
	.contact-faq,
	.contact-privacy,
	.contact-access
) :is(.section-decor, .bg-mega-typo, .section-glow-line) {
	display: none !important;
}
