/*
 * 一覧・詳細（施工事例・木まじめブログ・お知らせ）と 404・検索結果の専用（.p-post-*・設計書 §13）。骨組み・見出し・「もっと見る」・枠は 41 の部品をそのまま使い、ここには並べ方と記事本文の組版だけを書く（41 のセレクタ群には足さない）。
 * 読むのは 41-sub.css の後で、一覧・詳細・404・検索（anhome_is_post_page()）・プライバシーポリシー・段 F の 11 ページ（inc/pages.php の登録表・anhome_static_page()・設計書 §15）のとき。条件の正は inc/assets.php。
 * 段 F の 11 ページも本文を .p-post-content で組み、節を .p-post-section で分けるので、.p-post-content 系のルールを足すと 11 ページの見た目も変わる（一覧・詳細専用のつもりで足さない）。
 * 要素セレクタ（p・h2 など）は記事本文 .p-post-content の中だけに許す（クラスの付かないクラシックエディターの出力。段落・見出しは子結合子 1 段、文中の a・strong や表・リストの中・パスワードの入力欄は子孫）。
 * それ以外で要素に当てるのは、クラスを付けられないページ送り（paginate_links() の出力・設計書 §13-4）と SVG の中の path（32-ui・41-sub と同じ）だけ。
 * プライバシーポリシー（page-privacy-policy.php・.p-privacy・設計書 §14-9）も本文を .p-post-content で組む（条の見出しの大きさだけ .p-privacy で差し替える）。
 */
@layer pages {
	/* ---------- 詳細の節の間（場所ごとの紹介・お客様の声・お問い合わせ・前後の記事・同じ分類の施工事例） ---------- */
	.p-post-details,
	.p-post-voice,
	.p-post-cta,
	.p-post-adjacent,
	.p-post-related {
		margin-top: var(--post-section-mt);
	}

	/* 記事の頭の下の写真・アイキャッチ・本文 */
	.p-post-gallery,
	.p-post-eyecatch,
	.p-post-content {
		margin-top: var(--post-block-gap);
	}

	/* 本文の列の先頭に本文を置くページ（プライバシーポリシー）は上の間を足さない（--sub-main-pt に上乗せしない）。記事の詳細では本文が先頭に来ないので影響なし */
	.p-post-content:first-child {
		margin-top: 0;
	}

	/* 見出しだけのブロック（節の h2）→ 小見出しのブロックは、同じブロックの中の見出し → 次と同じ間にする（:has の無い環境は上の --post-block-gap のまま） */
	.p-post-content:has(> :is(h2, h3, h4, h5, h6):last-child) + .p-post-content {
		margin-top: var(--post-heading-gap);
	}

	/* ---------- 段 F の 11 ページの本文の節（設計書 §15-0）: 節の間は記事本文の h2 の上と同じ。節の先頭の部品・本文の上の間は足さない ---------- */
	.p-post-section {
		margin-top: var(--post-h2-mt);
	}

	.p-post-section:first-child,
	.p-post-section > :first-child {
		margin-top: 0;
	}

	/*
	 * 区切りの線で分けた項目（想いの 7つのこだわり・2026-09-28 先方修正指示）: 現行サイトどおり各項目の下に 1px の線・線の上下 --post-rule-gap。最初の項目の上には引かない（見出しの下線がある）。
	 * 線の色は現行の黄緑ではなく本文の見出しの下線と同じ緑（新しい色は足さない）
	 */
	.p-post-content--ruled {
		padding-bottom: var(--post-rule-gap);
		border-bottom: var(--bw) solid var(--c-primary);
	}

	.p-post-content--ruled + .p-post-content--ruled {
		margin-top: var(--post-rule-gap);
	}

	/*
	 * ---------- 家づくりのポイント POINT 3 の見出しの帯（現行サイトの帯を画像にせず文字で組む・2026-09-28 先方修正指示）----------
	 * 木の骨組みの写真の上に白い面・「構造見学会」を大きく・左右の下に男女のイラスト（帯の下へ --post-visit-person-overflow はみ出す＝次の本文の上の間の中に収まる）。値は現行の実測（00-tokens.css の --post-visit-*）。
	 * 帯の幅（100cqi）が 600 未満は現行の SP どおり前置きの 2 文を上の緑の帯に出し、白い面は見出しだけ。600 以上は前置きも白い面の中（現行の PC）。文字とイラストの大きさは帯の幅に比例させ、上限は現行の PC の値
	 */
	.p-post-visit {
		position: relative;
		margin-top: var(--post-heading-gap);
		container-type: inline-size;
	}

	.p-post-visit__inner {
		position: relative;
		isolation: isolate;
		display: grid;
		padding-bottom: var(--post-visit-py);
		line-height: var(--lh-post-visit);
		text-align: center;
	}

	.p-post-visit__img {
		position: absolute;
		inset: 0;
		z-index: var(--z-behind);
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.p-post-visit__lead {
		padding: var(--sp-2);
		background: var(--c-overlay-green);
		color: var(--c-white);
		font-size: var(--fs-post-visit-lead);
		font-weight: 700;
		word-break: auto-phrase;
	}

	/* 前置きの 2 文は 1 文ずつ行を分け、狭い帯で折れる文は行の長さをそろえる（<br> で分けると 1 文目の幅に合わせて 2 文目が「…という／お客様も」と偏る） */
	.p-post-visit__line {
		display: block;
		text-wrap: balance;
	}

	.p-post-visit__title {
		margin: var(--post-visit-py) var(--post-visit-panel-mx) 0;
		padding: var(--post-visit-panel-p);
		background: var(--post-visit-panel);
		color: var(--c-ink);
		font-size: var(--fs-post-visit-sub);
		font-weight: 500;
		line-height: inherit;
	}

	/* 字間は最後の字の後ろにも付くので、同じ幅を左に足して中央を揃える（下層のページ名と同じ） */
	.p-post-visit__big {
		display: block;
		padding-inline-start: var(--ls-wide);
		color: var(--c-primary);
		font-size: var(--fs-post-visit-big);
		font-weight: 700;
		letter-spacing: var(--ls-wide);
	}

	.p-post-visit__person {
		position: absolute;
		bottom: calc(var(--post-visit-person-overflow) * -1);
		width: var(--post-visit-person-w);
	}

	.p-post-visit__person--man {
		left: var(--post-visit-person-x);
	}

	.p-post-visit__person--woman {
		right: var(--post-visit-person-x);
	}

	@container (min-width: 600px) {
		/* 白い面（最大 --post-visit-panel-w）を中央に置き、前置きと見出しの 2 行に敷く */
		.p-post-visit__inner {
			grid-template-columns: minmax(0, var(--post-visit-panel-w));
			justify-content: center;
			padding-block: var(--post-visit-py-wide);
		}

		.p-post-visit__inner::before {
			content: "";
			grid-area: 1 / 1 / 3 / 2;
			background: var(--post-visit-panel);
		}

		.p-post-visit__lead,
		.p-post-visit__title {
			grid-column: 1;
			background: none;
		}

		.p-post-visit__lead {
			grid-row: 1;
			padding: var(--post-visit-panel-p) var(--post-visit-panel-p) 0;
			color: var(--c-ink);
			font-size: var(--fs-post-visit-lead-wide);
		}

		.p-post-visit__title {
			grid-row: 2;
			margin: 0;
			padding-top: 0;
		}

		.p-post-visit__big {
			font-weight: 500;
		}

		.p-post-visit__person--man {
			left: var(--post-visit-person-x-wide);
		}

		.p-post-visit__person--woman {
			right: var(--post-visit-person-x-wide);
		}
	}

	/* ---------- 一覧: 見出し → 絞り込み → 格子（カード）か行（お知らせ）→ ページ送り ---------- */
	/* 列数は画面の幅ではなく本文の列の幅で切り替える（列は 768 未満が画面 − 40、768〜1023 が画面 − 80（本文の下にカテゴリボックス）、1024 以上が min(画面 − 80, 1000) − 290＝1024 で 654・1080 以上で 710 のため・設計書 §13-1） */
	.p-post-archive {
		container-type: inline-size;
	}

	/* カードの格子（一覧・場所ごとの紹介・同じ分類の施工事例）。施工事例は PC も SP も 2 列（PC 340×240 / SP 160×113） */
	.p-post-list {
		gap: var(--post-row-gap) var(--sub-works-col-gap);
		margin-top: var(--sub-blog-list-gap);
	}

	/* ブログは既定 2 列（SP 160×120）、本文の列が 600 以上で 3 列（PC 710 で 223×168） */
	.p-post-list--blog {
		column-gap: var(--post-grid-gap);
	}

	@container (min-width: 600px) {
		.p-post-list--blog {
			--grid-cols: 3;
		}
	}

	/* 記事が無いとき（「準備中」「該当する記事はありません」）と 404 の案内。下層の「準備中」1 行と同じ文字 */
	.p-post-empty,
	.p-post-404__text {
		font-size: var(--fs-sub-lead);
		font-weight: 500;
		text-align: center;
	}

	.p-post-empty {
		margin-top: var(--sub-blog-list-gap);
	}

	/* ---------- 絞り込み・ページ送り: 折り返して並べる（横スクロールにしない） ---------- */
	.p-post-filter__list,
	.p-post-pager__list {
		display: flex;
		flex-wrap: wrap;
		gap: var(--sp-2);
	}

	/* ピル・丸を li の行の箱（本文の行送り）に入れない（カードのタグの行と同じ） */
	.p-post-filter__item,
	.p-post-pager__item {
		display: flex;
	}

	.p-post-filter {
		margin-top: var(--post-filter-mt);
	}

	.p-post-pager {
		margin-top: var(--post-pager-mt);
	}

	.p-post-pager__list {
		justify-content: center;
	}

	/* 数字・前へ・次へ（a）と表示中・「…」（span）の丸。WordPress のクラス（page-numbers 等）ではなく構造で当てる */
	.p-post-pager__item > :is(a, span) {
		display: grid;
		place-items: center;
		min-width: var(--post-pager-size);
		height: var(--post-pager-size);
		padding-inline: var(--sp-2);
		border: var(--bw) solid var(--c-primary);
		border-radius: var(--r-pill);
		color: var(--c-primary);
		font-size: var(--fs-more);
		font-weight: 500;
		line-height: var(--lh-none);
		font-variant-numeric: tabular-nums;
		transition: background-color var(--dur-fast), color var(--dur-fast);
	}

	/* 表示中のページ（hover も同じ塗り） */
	.p-post-pager__item > [aria-current] {
		background: var(--c-primary);
		color: var(--c-white);
	}

	/* 「…」（表示中ではない span）は枠を消す */
	.p-post-pager__item > span:not([aria-current]) {
		border-color: transparent;
	}

	.p-post-pager__icon {
		width: var(--sub-more-arrow-w);
		overflow: visible;
	}

	.p-post-pager__icon path {
		stroke-width: var(--bw); /* SVG は線 2 で書き出してある（「もっと見る」の矢印と同じ線 1 にする） */
	}

	.p-post-pager__icon--prev {
		transform: scaleX(-1);
	}

	/* ---------- お知らせの行（一覧・検索結果）: 上と各行の下に緑の罫線 ---------- */
	.p-post-news {
		margin-top: var(--sub-blog-list-gap);
		border-top: var(--bw) solid var(--c-primary);
	}

	.p-post-news__item {
		border-bottom: var(--bw) solid var(--c-primary);
	}

	/* 行全体が 1 つのリンク: 左に 2 段（日付・ピル / 見出し）、右端に山形 */
	.p-post-news__link {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"meta icon"
			"title icon";
		align-items: center;
		column-gap: var(--sp-4);
		padding-block: var(--post-news-py);
	}

	.p-post-news__meta {
		grid-area: meta;
	}

	.p-post-news__title {
		grid-area: title;
	}

	.p-post-news__icon {
		grid-area: icon;
		width: var(--chevron-sm);
		color: var(--c-primary);
		overflow: visible;
	}

	/* 日付と分類のピルの行（お知らせの行・記事の頭）。ピルの無い記事でも高さをピルに揃える（h1・見出しの位置を変えない） */
	.p-post-news__meta,
	.p-post-head__meta {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--sp-3);
		min-height: var(--pill-h);
		color: var(--c-text-sub);
		font-size: var(--fs-sub-tag);
		font-weight: 500;
		line-height: var(--lh-tight);
	}

	/* お知らせの行と前後の記事の見出し（下層のブログカードのタイトルと同じ 18 / 16） */
	.p-post-news__title,
	.p-post-adjacent__title {
		margin-top: var(--sp-2);
		color: var(--c-ink);
		font-size: var(--fs-sub-card-title);
		font-weight: 500;
		line-height: var(--lh-sub-card-title);
	}

	/* ---------- 記事の頭: 日付・ピルの行 → h1 → コンセプト ---------- */
	.p-post-head {
		display: grid;
		row-gap: var(--post-head-gap);
	}

	/* 下層の特集の見出しと同じ大きさ（本文の h2 32 / 20 より必ず大きい）。行送りは見出しの既定の --lh-heading（10-base） */
	.p-post-head__title {
		color: var(--c-primary);
		font-size: var(--fs-feature-h3);
		font-weight: 700;
	}

	/* コンセプトとお客様の声の質問（下層の副題と同じ 20 / 18・500） */
	.p-post-head__lead,
	.p-post-voice__q {
		font-size: var(--fs-feature-sub);
		font-weight: 500;
		line-height: var(--lh-feature-sub);
	}

	/* ---------- 写真・アイキャッチ ---------- */
	/* 施工事例の写真: 1 枚ずつ送る。矢印の丸の中心を本文の列の縁に置く（はみ出す半分は 1024 以上はサイドバーとの間 40、1024 未満は画面の余白 20 / 40 に収まる） */
	.p-post-gallery {
		--carousel-item-w: 100%;
		--carousel-gap: 0;
		--carousel-arrow-size: var(--arrow-lg);
	}

	.p-post-gallery__img {
		width: 100%;
		aspect-ratio: 580 / 380; /* XD: TOP Works の写真 580×380 と同じ比 */
		border-radius: var(--r-card-img);
		object-fit: cover;
	}

	/*
	 * トラック（ul）は Tab で止まる（works-gallery.php の tabindex="0"・矢印キーで横に送れる）。祖先の overflow で外側のリングが切れるので内側に描く
	 * （33-slider の「中のリンクのリングは内側」と同じ値。ギャラリーのトラック自身が止まるのはここだけなので 42 に書く）
	 */
	.p-post-gallery .c-carousel__track:focus-visible {
		outline-offset: calc(var(--bw-icon) * -1);
	}

	/* 写真の読み込み中の下地（カードと同じ） */
	.p-post-gallery__img,
	.p-post-details__img {
		background: var(--c-thumb-empty);
	}

	/* アイキャッチは切り抜かず元の縦横比 */
	.p-post-eyecatch__img {
		width: 100%;
		border-radius: var(--r-md);
	}

	/* ---------- 場所ごとの紹介: 写真（施工事例のカードと同じ比・角丸なし）→ 場所のピル → 説明 ---------- */
	.p-post-details__img {
		width: 100%;
		aspect-ratio: var(--card-works-sub-ratio);
		object-fit: cover;
	}

	.p-post-details__caption {
		display: grid;
		justify-items: start;
		row-gap: var(--sp-2);
	}

	.p-post-details__img + .p-post-details__caption {
		margin-top: var(--sub-works-caption-gap);
	}

	.p-post-details__text {
		font-size: var(--fs-sub-caption);
		line-height: var(--lh-sub-caption);
	}

	/* ---------- お客様の声（枠は 41 の p-sub-care。見出しの下の間だけ差し替える） ---------- */
	.p-post-voice .p-sub-care {
		margin-top: var(--sub-blog-list-gap);
	}

	.p-post-voice__list {
		margin-top: var(--sub-care-body-gap);
	}

	/* ひとことが無いときは質問が枠の先頭 */
	.p-post-voice__list:first-child {
		margin-top: 0;
	}

	/* 2 組目からは緑の罫線で区切る（下層の特集の副題と本文の組と同じ） */
	.p-post-voice__item + .p-post-voice__item {
		margin-top: var(--sub-feature-rule-mt);
		padding-top: var(--sub-feature-rule-pt);
		border-top: var(--bw) solid var(--c-primary);
	}

	.p-post-voice__q {
		color: var(--c-primary);
	}

	.p-post-voice__a {
		margin-top: var(--sub-care-body-gap);
		font-size: var(--fs-body);
		font-weight: 500;
		line-height: var(--lh-body);
	}

	/* ---------- お問い合わせ ---------- */
	.p-post-cta__text {
		margin-top: var(--sp-4);
		font-size: var(--fs-body);
	}

	/*
	 * 本文の列（710）では横 2 列にせず、全部の幅で縦に積む（DOM の順＝メールが上＝XD の SP と同じ）。部品の中身は変えない。
	 * PC で 1 つ 328 幅だと電話番号 48px＋アイコン 55＋間 16 ≒ 388 が入らない（--fs-tel は画面の幅の clamp で、列の幅に追従しない）
	 */
	.p-post-cta .c-contact-buttons {
		flex-direction: column;
		gap: var(--sp-3); /* 縦に積んだボタンの間（XD SP: メール y=5826 → 電話 y=5924・高さ 86 ＝間 12）。部品の --cta-gap は PC で横の間 54 になるので使わない */
		margin-top: var(--sub-blog-list-gap);
	}

	/* ---------- 前後の記事と一覧へ（上に緑の罫線）。本文の列が 600 以上なら前が左・次が右の 2 列、狭いときは縦に積む ---------- */
	.p-post-adjacent {
		padding-top: var(--sub-feature-rule-pt);
		border-top: var(--bw) solid var(--c-primary);
		container-type: inline-size;
	}

	.p-post-adjacent__list {
		display: grid;
		gap: var(--sp-4);
	}

	.p-post-adjacent__link {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.p-post-adjacent__link--next {
		align-items: flex-end;
		text-align: end;
	}

	/* 前の記事は矢印のピルを左に置いて左向きにする */
	.p-post-adjacent__link--prev .p-sub-more {
		flex-direction: row-reverse;
	}

	.p-post-adjacent__link--prev .p-sub-more__icon {
		transform: scaleX(-1);
	}

	/* 記事名は 2 行まで */
	.p-post-adjacent__title {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	@container (min-width: 600px) {
		.p-post-adjacent__list {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			column-gap: var(--sp-5);
		}

		/* 片方しか無いときも前は左・次は右の位置を保つ */
		.p-post-adjacent__link--prev {
			grid-column: 1;
		}

		.p-post-adjacent__link--next {
			grid-column: 2;
		}
	}

	/* 一覧へ（中央）。分類で絞った一覧が 0 件のときの「すべて見る」も同じ */
	.p-post-adjacent__back,
	.p-post-archive__more {
		display: flex;
		justify-content: center;
		margin-top: var(--post-back-mt);
	}

	/* 前後の記事が無い（区分に 1 件だけ）ときは罫線のすぐ下 */
	.p-post-adjacent__back:first-child {
		margin-top: 0;
	}

	/* ---------- 同じ分類の施工事例: 右寄せの「もっと見る」と「{サービス}について詳しく」（段 F の本文の節の後のリンクも同じ置き方） ---------- */
	.p-post-related__more,
	.p-post-section__more {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: var(--sp-4) var(--sp-6);
		margin-top: var(--sub-blog-more-gap);
	}

	/* ---------- 404: 案内の文 → 主なページへのリンクを縦に中央揃え ---------- */
	.p-post-404__links {
		display: grid;
		justify-items: center;
		gap: var(--sp-4);
		margin-top: var(--post-back-mt);
	}

	/* ---------- 記事本文（クラシックエディターの出力・設計書 §13-7a）。ここだけ要素セレクタで当てる ---------- */
	.p-post-content {
		display: flow-root;
		color: var(--c-ink);
		font-size: var(--fs-body);
		font-weight: 300;
		line-height: var(--lh-body);
		container-type: inline-size;
	}

	/* 段落の間＝本文 1 行分（引用の中の段落も同じ） */
	.p-post-content > * + *,
	.p-post-content blockquote > * + * {
		margin-top: var(--post-flow);
	}

	/* h2: 折り返しても消えない下線（p-sub-heading の右の罫線は折り返すと縮むので使わない）。h1（38 / 28）より必ず小さい */
	.p-post-content > h2 {
		margin-top: var(--post-h2-mt);
		padding-bottom: var(--sp-2);
		border-bottom: var(--bw) solid var(--c-primary);
		color: var(--c-primary);
		font-size: var(--fs-sub-h2);
		font-weight: 700;
		line-height: var(--lh-sub-h2);
	}

	.p-post-content > h3 {
		margin-top: var(--post-h3-mt);
		color: var(--c-primary);
		font-size: var(--fs-feature-sub);
		font-weight: 700;
	}

	/* プライバシーポリシーの条の見出し（10 本）は記事の h3 と同じ大きさ・下線なしにして重くしない（見出しの段は h2 のまま・設計書 §14-9） */
	.p-privacy .p-post-content > h2 {
		margin-top: var(--post-h3-mt);
		padding-bottom: 0;
		border-bottom: 0;
		font-size: var(--fs-feature-sub);
	}

	.p-post-content > :is(h4, h5, h6) {
		font-size: var(--fs-body);
		font-weight: 700;
	}

	/* hr: 緑の罫線（上下に h2 と同じ間） */
	.p-post-content > hr {
		margin-block: var(--post-h2-mt);
		border: 0;
		border-top: var(--bw) solid var(--c-primary);
	}

	/* 見出しの直後は詰める（上の h2・h3・hr の間より後に書いて優先させる） */
	.p-post-content > :is(h2, h3, h4, h5, h6) + * {
		margin-top: var(--post-heading-gap);
	}

	.p-post-content > :first-child {
		margin-top: 0;
	}

	/* 和文のイタリックは使わない（§2-1）。強調は太さで表す */
	.p-post-content :is(em, i) {
		font-style: normal;
		font-weight: 500;
	}

	/* 太字・見出しの中の強調は太いまま */
	.p-post-content :is(strong, b, h2, h3, h4, h5, h6) :is(em, i) {
		font-weight: inherit;
	}

	.p-post-content a {
		color: var(--c-primary);
		text-decoration: underline;
		text-decoration-thickness: var(--bw);
		text-underline-offset: var(--underline-offset);
		overflow-wrap: anywhere; /* 長い URL で列からはみ出さない */
	}

	.p-post-content :is(ul, ol) {
		padding-left: var(--post-list-indent);
	}

	.p-post-content ul {
		list-style: disc;
	}

	.p-post-content ol {
		list-style: decimal;
	}

	.p-post-content li + li {
		margin-top: var(--sp-1);
	}

	/* 入れ子のリストの 1 項目目の上の間を li + li とそろえる */
	.p-post-content li > :is(ul, ol) {
		margin-top: var(--sp-1);
	}

	.p-post-content li::marker {
		color: var(--c-primary);
	}

	.p-post-content img {
		border-radius: var(--r-md);
	}

	/* 中央・寄せなしと、本文の列が狭いときの左右寄せは中央のブロック */
	.p-post-content :is(.aligncenter, .alignnone, .alignleft, .alignright) {
		display: block;
		margin-inline: auto;
	}

	/* キャプション付きの画像（[caption]）のインラインの width を列の幅で止める */
	.p-post-content .wp-caption {
		max-width: 100%;
	}

	.p-post-content figcaption {
		margin-top: var(--sp-2);
		color: var(--c-text-sub);
		font-size: var(--fs-sub-tag);
		text-align: center;
	}

	/* 本文の列が 600 以上のときだけ左右に寄せて回り込ませる（上の中央のブロックより後に書いて優先させる） */
	@container (min-width: 600px) {
		.p-post-content .alignleft {
			float: left;
			max-width: var(--post-align-w);
			margin-right: var(--sp-6);
			margin-bottom: var(--sp-6);
		}

		.p-post-content .alignright {
			float: right;
			max-width: var(--post-align-w);
			margin-bottom: var(--sp-6);
			margin-left: var(--sp-6);
		}

		/* 見出しの直後に回り込みの写真を置いたときは、写真の横の本文も見出しの直後の間で始めて写真の上端とそろえる */
		.p-post-content > :is(h2, h3, h4, h5, h6) + :is(.alignleft, .alignright) + * {
			margin-top: var(--post-heading-gap);
		}
	}

	/* 引用: 非住宅の「引き渡し後も、ずっとそばに」と同じ淡い緑の枠 */
	.p-post-content > blockquote {
		padding: var(--sub-care-pt) var(--sub-care-pr) var(--sub-care-pb) var(--sub-care-pl);
		border-radius: var(--r-md);
		background: var(--c-primary-pale);
	}

	.p-post-content table {
		width: 100%;
		border-collapse: collapse;
	}

	.p-post-content :is(th, td) {
		padding: var(--sp-2) var(--sp-3);
		border: var(--bw) solid var(--c-text);
		overflow-wrap: anywhere;
	}

	.p-post-content th {
		background: var(--c-primary-pale);
	}

	/* 行の見出し（会社概要・保証の点検表など）は語の途中で折らない（SP の自動の列幅で「設立年／月日」と折れるため）。移行記事の表は scope を持たないので効かない */
	.p-post-content th[scope="row"] {
		white-space: nowrap;
	}

	/* 列の見出し（保証の点検表の「新築」など）は 2 字分＋左右の padding と罫線より細くしない（320 の自動の列幅で「新／築」と 1 字ずつ折れるため） */
	.p-post-content th[scope="col"] {
		min-width: calc(var(--fs-body) * 2 + var(--sp-3) * 2 + var(--bw) * 2);
	}

	/* 埋め込み（動画など）は列の幅いっぱいに 16:9（height 属性を auto に戻して比を効かせる） */
	.p-post-content iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}

	/* 会社概要のアクセスマップ（Google マップの埋め込み・2026-09-28 先方修正指示）: 縦横比は現行サイトの見え方（--post-map-ratio）・枠線なし */
	.p-post-content .p-post-map {
		aspect-ratio: var(--post-map-ratio);
		border: 0;
	}

	/*
	 * パスワード保護の記事の入力欄（get_the_password_form() の出力・form > p > label の中の input）。10-base の既定に枠と余白と角丸だけ足す最小の見た目
	 */
	.p-post-content :is(input[type="password"], input[type="submit"]) {
		padding: var(--sp-2) var(--sp-3);
		border: var(--bw) solid var(--c-text);
		border-radius: var(--r-sm);
	}

	/* 移行データの空の見出し・段落を詰める（<p>&nbsp;</p> は中身があるので残る） */
	.p-post-content :where(p, h2, h3, h4, h5, h6, li):empty {
		display: none;
	}

	@media (hover: hover) {
		.p-post-news__link:hover .p-post-news__title,
		.p-post-adjacent__link:hover .p-post-adjacent__title {
			text-decoration: underline;
			text-decoration-thickness: var(--bw);
			text-underline-offset: var(--underline-offset);
		}

		.p-post-pager__item > a:hover {
			background: var(--c-primary);
			color: var(--c-white);
		}
	}
}
