/**
 * LP セクション見出し — 共通デザインシステム
 * eyebrow（英字ラベル）+ title + lead を全ブロックで統一
 */

/* --- 共通トークン（実直モダン・TOPと統一） --- */
.fmv-lp-shell,
body.fmv-lp,
body.fmv-lp-area,
body.fmv-lp-route {
	--fmv-lp-head-accent: #16263f;        /* ネイビー */
	--fmv-lp-head-eyebrow-color: #98202f; /* くすみ赤ラベル */
	--fmv-lp-head-title: #15171c;
	--fmv-lp-head-lead: #5b6270;
	--fmv-lp-head-eyebrow-size: clamp(0.66rem, 0.62rem + 0.18vw, 0.74rem);
	/* 流体タイポグラフィ：ビューポート幅に応じて滑らかにスケール（BPごとの段差なし） */
	--fmv-lp-head-title-size: clamp(1.45rem, 1.05rem + 1.85vw, 2.35rem);
	--fmv-lp-head-lead-size: clamp(0.9rem, 0.86rem + 0.18vw, 1rem);
	--fmv-lp-head-serif: "Noto Sans JP", "Hiragino Sans", sans-serif; /* 明朝→ゴシック */
	--fmv-lp-section-pad-y: clamp(3rem, 5.5vw, 4.5rem);
}

@media (max-width: 767px) {
	.fmv-lp-shell,
	body.fmv-lp,
	body.fmv-lp-area,
	body.fmv-lp-route {
		--fmv-lp-section-pad-y: clamp(2.4rem, 8vw, 3.4rem);
		/* SP は画面幅に比例して大きめに伸縮（固定改行の行が隙間なく埋まる）。
		   320px≒24px → 390px≒27px → 430px≒29px、上限で過大化を抑止。 */
		--fmv-lp-head-title-size: clamp(1.45rem, 0.5rem + 5vw, 1.95rem);
		--fmv-lp-head-lead-size: clamp(0.92rem, 0.62rem + 1.5vw, 1.05rem);
	}
}

/* --- ヘッダーラッパー --- */
.fmv-lp-section-head,
[class*="__header"]:where(
	.fmv-lp-reasons__header,
	.fmv-lp-inspection__header,
	.fmv-lp-symptoms__header,
	.fmv-lp-flow__header,
	.fmv-lp-voices__header,
	.fmv-lp-brand-cov__header,
	.fmv-lp-area-access__header,
	.fmv-lp-detail__header,
	.fmv-lp-svc-lineup__header,
	.fmv-lp-mk-strengths__header,
	.fmv-lp-mk-models__header,
	.fmv-lp-mk-diag__header,
	.fmv-lp-mk-compare__header
) {
	display: flex;
	flex-direction: column;
	/* base の section別 __header 中央寄せ（symptoms 等）に必ず勝たせ、全セクションで左端を揃える */
	align-items: flex-start !important;
	text-align: left !important;
	max-width: 46rem !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-bottom: clamp(2.4rem, 4.5vw, 3.4rem);
}

/* --- Eyebrow（英字ラベル） --- */
.fmv-lp-section-head__eyebrow,
.fmv-lp-concerns__eyebrow,
.fmv-lp-reasons__eyebrow,
.fmv-lp-storefront__eyebrow,
.fmv-lp-svc-grid__eyebrow,
.fmv-lp-inspection__eyebrow,
.fmv-lp-symptoms__eyebrow,
.fmv-lp-flow__eyebrow,
.fmv-lp-voices__eyebrow,
.fmv-lp-detail__eyebrow,
.fmv-lp-brand-cov__eyebrow,
.fmv-lp-area-access__eyebrow,
.fmv-lp-svc-lineup__eyebrow,
.fmv-lp-mk-strengths__eyebrow,
.fmv-lp-mk-models__eyebrow,
.fmv-lp-mk-diag__eyebrow,
.fmv-lp-mk-compare__eyebrow,
.fmv-lp-faq__eyebrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	margin: 0 0 0.9rem !important;
	padding: 0;
	font-family: "Noto Sans JP", "Hiragino Sans", sans-serif; /* ゴシック統一（TOP eyebrowと一致） */
	font-size: var(--fmv-lp-head-eyebrow-size);
	font-weight: 700;
	letter-spacing: 0.24em;
	color: var(--fmv-lp-head-eyebrow-color, #98202f);
	text-transform: uppercase;
	line-height: 1.4;
}

.fmv-lp-section-head__eyebrow::before,
.fmv-lp-concerns__eyebrow::before,
.fmv-lp-reasons__eyebrow::before,
.fmv-lp-storefront__eyebrow::before,
.fmv-lp-svc-grid__eyebrow::before,
.fmv-lp-inspection__eyebrow::before,
.fmv-lp-symptoms__eyebrow::before,
.fmv-lp-flow__eyebrow::before,
.fmv-lp-voices__eyebrow::before,
.fmv-lp-detail__eyebrow::before,
.fmv-lp-brand-cov__eyebrow::before,
.fmv-lp-area-access__eyebrow::before,
.fmv-lp-svc-lineup__eyebrow::before,
.fmv-lp-mk-strengths__eyebrow::before,
.fmv-lp-mk-models__eyebrow::before,
.fmv-lp-mk-diag__eyebrow::before,
.fmv-lp-mk-compare__eyebrow::before,
.fmv-lp-faq__eyebrow::before {
	content: '';
	display: inline-block;
	width: 24px;
	height: 1px;
	background: currentColor;
	opacity: 0.55;
	margin-right: 0.75rem;
	flex-shrink: 0;
}

/* 旧 markup（ドット・span ライン）は非表示 */
.fmv-lp-reasons__eyebrow-dot,
.fmv-lp-symptoms__eyebrow-line,
.fmv-lp-flow__eyebrow-line,
.fmv-lp-detail__eyebrow-line,
.fmv-lp-brand-cov__eyebrow-line,
.fmv-lp-area-access__eyebrow-line,
.fmv-lp-svc-lineup__eyebrow-line,
.fmv-lp-mk-strengths__eyebrow-line,
.fmv-lp-mk-models__eyebrow-line,
.fmv-lp-mk-diag__eyebrow-line,
.fmv-lp-mk-compare__eyebrow-line {
	display: none !important;
}

/* INSPECTION の eyebrow 内 JP 表記 */
.fmv-lp-inspection__eyebrow-jp {
	color: #6b7280;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	letter-spacing: 0.06em;
	font-size: 0.8rem;
	text-transform: none;
}

/* --- Title --- */
.fmv-lp-section-head__title,
.fmv-lp-h2,
.fmv-lp-concerns__h2,
.fmv-lp-reasons__display,
.fmv-lp-storefront__h2,
.fmv-lp-svc-grid__h2,
.fmv-lp-inspection__display,
.fmv-lp-symptoms__h2,
.fmv-lp-flow__h2,
.fmv-lp-voices__h2,
.fmv-lp-detail__display,
.fmv-lp-brand-cov__h2,
.fmv-lp-area-access__h2,
.fmv-lp-svc-lineup__h2,
.fmv-lp-mk-strengths__h2,
.fmv-lp-mk-models__h2,
.fmv-lp-mk-diag__h2,
.fmv-lp-mk-compare__h2,
.fmv-lp-faq .fmv-lp-h2 {
	margin: 0 0 1rem !important;
	font-family: var(--fmv-lp-head-serif, "Noto Sans JP", sans-serif) !important;
	font-size: var(--fmv-lp-head-title-size) !important;
	font-weight: 800 !important; /* ゴシック太字（TOPと統一） */
	color: var(--fmv-lp-head-title) !important;
	line-height: 1.42 !important;
	letter-spacing: 0.01em !important;
	font-feature-settings: "palt" 1;
	text-align: left !important;
	/* 賢い改行：固有名詞/カタカナ語は割らずスペース・句読点で改行。
	   Chrome は文節（auto-phrase）で自動最適化、非対応は keep-all にフォールバック。
	   あふれる時だけ anywhere で分割し、画面外には絶対に出さない。 */
	text-wrap: pretty;
	word-break: keep-all;
	word-break: auto-phrase;
	overflow-wrap: break-word;
	line-break: strict;
}

/* デスクトップ（十分な幅）でのみ語句のまとまりを nowrap で固定 */
@media (min-width: 1024px) {
	.fmv-lp-head-keep-pc {
		white-space: nowrap;
	}
}

/* 店舗名：固有名詞の途中分割を防ぐ（overflow-wrap:anywhere の上書き） */
@media (max-width: 767px) {
	.fmv-lp-head-store-label {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	/* 車検見出しなど：店名＋助詞は lp-section-spacing.css の .fmv-lp-head-tail-phrase で制御 */
}

/* lp-top.css（Tailwind）の span{font-size:max(1rem,16px)} で見出し内が 16px になるのを防ぐ */
.fmv-lp-section-head__title span,
.fmv-lp-h2 span,
.fmv-lp-concerns__h2 span,
.fmv-lp-reasons__display span,
.fmv-lp-storefront__h2 span,
.fmv-lp-svc-grid__h2 span,
.fmv-lp-inspection__display span,
.fmv-lp-symptoms__h2 span,
.fmv-lp-flow__h2 span,
.fmv-lp-voices__h2 span,
.fmv-lp-detail__display span,
.fmv-lp-brand-cov__h2 span,
.fmv-lp-area-access__h2 span,
.fmv-lp-svc-lineup__h2 span,
.fmv-lp-mk-strengths__h2 span,
.fmv-lp-mk-models__h2 span,
.fmv-lp-mk-diag__h2 span,
.fmv-lp-mk-compare__h2 span,
.fmv-lp-faq .fmv-lp-h2 span {
	font-size: inherit !important;
	line-height: inherit;
}


/* --- タイトル内強調（1パターンに統一） --- */
.fmv-lp-section-head__accent,
.fmv-lp-reasons__lead strong,
.fmv-lp-reasons__display-num,
.fmv-lp-storefront__h2-accent,
.fmv-lp-storefront__h2-strong,
.fmv-lp-svc-grid__h2-strong,
.fmv-lp-inspection__display-line--accent,
.fmv-lp-symptoms__h2-strong,
.fmv-lp-flow__h2-strong,
.fmv-lp-detail__display-strong,
.fmv-lp-brand-cov__h2-strong,
.fmv-lp-area-access__h2-strong,
.fmv-lp-svc-lineup__h2-strong,
.fmv-lp-mk-strengths__h2-strong,
.fmv-lp-mk-models__h2-strong,
.fmv-lp-mk-diag__h2-strong,
.fmv-lp-maker .fmv-lp-reasons__display-num,
.fmv-lp-maker .fmv-lp-voices__h2 strong,
.fmv-lp-maker .fmv-lp-concerns__h2 strong,
.fmv-lp-maker .fmv-lp-area-access__h2-strong {
	color: var(--fmv-lp-head-accent) !important;
	background: none !important;
	background-image: none !important;
	font-size: inherit !important;
	font-weight: 900 !important; /* アクセント＝最太（TOPと統一） */
	border-bottom: none !important;
	padding-bottom: 0 !important;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.fmv-lp-reasons__display-num::after,
.fmv-lp-inspection__display-line--accent::before {
	display: none !important;
}

.fmv-lp-reasons__display-num {
	font-size: inherit !important;
	letter-spacing: inherit !important;
	margin: 0 !important;
	position: static !important;
}

.fmv-lp-inspection__display-line--accent::before {
	display: none !important;
}

/* --- Lead --- */
.fmv-lp-section-head__lead,
.fmv-lp-concerns__lead,
.fmv-lp-reasons__lead,
.fmv-lp-storefront__lead,
.fmv-lp-svc-grid__lead,
.fmv-lp-inspection__lead,
.fmv-lp-symptoms__lead,
.fmv-lp-flow__lead,
.fmv-lp-voices__lead,
.fmv-lp-detail__lead,
.fmv-lp-brand-cov__lead,
.fmv-lp-area-access__lead,
.fmv-lp-svc-lineup__lead {
	margin: 0 auto 0 0 !important;
	max-width: 40rem;
	padding: 0 1rem 0 0;
	color: var(--fmv-lp-head-lead) !important;
	font-size: var(--fmv-lp-head-lead-size) !important;
	line-height: 1.85 !important;
	text-align: left !important;
	/* 見出しと同じ賢い改行ポリシー（語を割らず・あふれ時のみ分割） */
	text-wrap: pretty;
	word-break: keep-all;
	word-break: auto-phrase;
	overflow-wrap: break-word;
	line-break: strict;
}

/* --- レガシー: メーカー comparison / coating --- */
.fmv-lp-maker-comparison-head,
.fmv-lp-maker-section-label {
	text-align: left !important;
	margin-bottom: clamp(1.2rem, 3vw, 2rem) !important;
}

.coating-section-head {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 0 clamp(1.6rem, 3.5vw, 2.4rem) !important;
	text-align: left !important;
	max-width: 46rem;
}

.coating-section-label {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif !important;
	font-size: var(--fmv-lp-head-eyebrow-size) !important;
	font-weight: 700 !important;
	color: var(--fmv-lp-head-accent) !important;
	-webkit-text-stroke: 0 !important;
	letter-spacing: 0.28em !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
	margin: 0 0 0.65rem !important;
}

.coating-section-label::before {
	content: '';
	display: inline-block;
	width: 36px;
	height: 1px;
	background: currentColor;
	margin-right: 0.8rem;
}

.coating-section-bar {
	display: none !important;
}

.coating-section-sub,
.fmv-lp-maker-section-heading {
	margin: 0 0 0.75rem !important;
	font-family: var(--fmv-lp-head-serif, 'Noto Serif JP', serif) !important;
	font-size: var(--fmv-lp-head-title-size) !important;
	font-weight: 600 !important;
	color: var(--fmv-lp-head-title) !important;
	line-height: 1.45 !important;
	text-align: left !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.fmv-lp-maker-comparison-label {
	font-family: 'Roboto', 'Noto Sans JP', sans-serif !important;
	font-size: var(--fmv-lp-head-eyebrow-size) !important;
	font-weight: 700 !important;
	color: var(--fmv-lp-head-accent) !important;
	-webkit-text-stroke: 0 !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase;
	text-align: left !important;
}

.fmv-lp-maker-comparison-bar {
	display: none !important;
}

/* --- FAQ --- */
.fmv-lp-faq .fmv-lp-container {
	text-align: left;
}

.fmv-lp-faq__list {
	text-align: left;
}

/* --- 問い合わせ LP（dpi-*） --- */
.dpi-form-section__head {
	text-align: left !important;
	max-width: 46rem;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-bottom: clamp(1.6rem, 3.5vw, 2.4rem) !important;
}

.dpi-form-section__eyebrow {
	display: inline-flex !important;
	align-items: center;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif !important;
	font-size: var(--fmv-lp-head-eyebrow-size) !important;
	font-weight: 700 !important;
	letter-spacing: 0.28em !important;
	color: var(--fmv-lp-head-accent) !important;
	margin: 0 0 0.65rem !important;
	text-transform: uppercase;
}

.dpi-form-section__eyebrow::before {
	content: '';
	display: inline-block;
	width: 36px;
	height: 1px;
	background: currentColor;
	margin-right: 0.8rem;
}

.dpi-form-section__h2 {
	font-family: var(--fmv-lp-head-serif, 'Noto Serif JP', serif) !important;
	font-size: var(--fmv-lp-head-title-size) !important;
	font-weight: 600 !important;
	color: var(--fmv-lp-head-title) !important;
	line-height: 1.45 !important;
	letter-spacing: 0.02em !important;
	margin: 0 0 0.75rem !important;
}

.dpi-form-section__desc {
	font-size: var(--fmv-lp-head-lead-size) !important;
	color: var(--fmv-lp-head-lead) !important;
	line-height: 1.85 !important;
	max-width: 40rem;
	margin: 0 auto 0 0 !important;
}

/* --- 法務ページ（dpl-*） --- */
.dpl-section-head {
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 10px;
	margin-bottom: clamp(18px, 2.5vw, 26px);
}

.dpl-section-head__badge {
	width: auto;
	height: auto;
	border-radius: 0;
	background: transparent;
	color: var(--fmv-lp-head-eyebrow-color, #8a857c);
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	font-size: var(--fmv-lp-head-eyebrow-size, 0.76rem);
	font-weight: 700;
	letter-spacing: 0.28em;
	padding: 0;
}

.dpl-section-head__badge::before {
	content: '';
	display: inline-block;
	width: 36px;
	height: 1px;
	background: currentColor;
	margin-right: 0.8rem;
	vertical-align: middle;
}

.dpl-section-head__title {
	font-family: var(--fmv-lp-head-serif, 'Noto Serif JP', serif) !important;
	font-size: var(--fmv-lp-head-title-size, clamp(1.5rem, 3vw, 2.1rem)) !important;
	font-weight: 600 !important;
	color: var(--fmv-lp-head-title, #1f2937) !important;
	line-height: 1.45 !important;
}

/* --- パルスアニメ停止 --- */
@media (prefers-reduced-motion: reduce) {
	.fmv-lp-reasons__eyebrow-dot {
		animation: none !important;
	}
}

/* ===========================================================
   SP：画面幅に最適化（流体タイポ）＋ 自然折り返し
   - 文字サイズは clamp トークンで滑らかにスケール（このファイル冒頭で定義）
   - PC 用に手書きした改行 <br> は SP では無効化し、ブラウザの自然折返しに委ねる
   - 折返しの整形は text-wrap（balance/pretty）に任せ、keep-all 等の強制はしない
   =========================================================== */
@media (max-width: 767px) {
	/* PC 用に手書きした見出し・リードの装飾改行は SP では消し、自然折返しに委ねる。
	   本文・法務・住所など（汎用 p/dd 等）は対象外。br-sp は SP 用なので残す。 */
	.fmv-lp-shell :is(
		[class*="__title"],
		[class*="__display"],
		[class*="__h1"],
		[class*="__h2"],
		[class*="__lead"],
		[class*="__sub"],
		[class*="headline"],
		[class*="__band-lead"],
		[class*="__band-area"],
		[class*="-hero__h1"],
		.fmv-lp-h2,
		.dpt-hero__display
	) br:not(.fmv-lp-br-sp) {
		display: none;
	}

	/* PC で nowrap 固定した語句も SP では自然折返し可に戻す */
	.fmv-lp-head-keep-pc,
	.fmv-lp-flow__lead-keep,
	.fmv-lp-head-keep-pc *,
	.fmv-lp-head-tail-phrase,
	.fmv-lp-head-store-phrase,
	.fmv-lp-flow .fmv-lp-section-head__title .fmv-lp-section-head__accent {
		white-space: normal !important;
	}

	.fmv-lp-voices__h2 .fmv-lp-head-tail-phrase {
		display: block;
		max-width: 100%;
	}
}
