/*
 * PA テーマ 共通スタイル。
 *
 * このファイルが持つのは 2 つだけである。
 *   1. デザイントークン（配色・文字組み・余白・内側の幅・ブレークポイントの実値）
 *   2. ベーススタイル（reset に相当する最小限の土台）
 * ヘッダー・フッター・トップ等、個々のセクションの見た目は後続の Task が、
 * ここのトークンを参照する形で実装する。
 *
 * レスポンシブは PC/SP の二重テンプレートを作らず、単一テンプレート + CSS
 * ブレークポイントで実現する（テーマ方式 ADR に従う）。
 *
 * 値の写し元（いずれも移行元サイトのリポジトリ legacy/www.p-a.jp 配下）:
 *   新デザイン  public/assets/scss/_foundation/_variable.scss
 *               public/assets/scss/_foundation/_layout.scss
 *               public/assets/css/style.css（ビルド後。:root のカスタムプロパティ）
 *   旧デザイン  public/css/common.css, public/css/style.css
 *
 * ------------------------------------------------------------------
 * デザインプロファイルを 2 組に分ける理由
 * ------------------------------------------------------------------
 * 移行元サイトには 1 つのデザインではなく 2 世代が同居している。旧デザインが
 * 5,426 ページ、新デザイン（トップ・店舗 4 件・pa-zexy）が 6 ページである。
 * どちらの見た目にも寄せられるよう、役割ごとの色と文字組みを 2 組持つ。
 *
 *   legacy-compat  金 #a3762b 系 / 游ゴシック / 基準 13px
 *                  … 既定。body にクラスが付かないときの値
 *   new            珊瑚 #f54851 系 / Inter / 基準 15px
 *                  … body.pa-profile-new のときの値
 *
 * 既定を legacy-compat にしたのは、該当ページ数が 5,426 対 6 と旧デザインが
 * 圧倒的多数だからである。ページ 1 枚ずつにクラスを付けて回る手間を避けられる。
 *
 * 【後続 Task への申し送り】body に付けるクラス名は次の 2 つで確定とする。
 * これらを body_class フィルタで出力するのは後続 Task の担当で、本ファイルの
 * 担当範囲ではない。
 *   - pa-profile-new           … 新デザインのページに付ける
 *   - pa-profile-legacy-compat … 旧デザインのページに付ける。既定と同じ値の
 *                                ため本ファイルには上書きを置かない。出力して
 *                                おくと、後続の実装が「どちらの世代か」を
 *                                CSS 側で判別できる
 *
 * ------------------------------------------------------------------
 * 移行元の rem 方式（html に font-size を置く）を採らない理由
 * ------------------------------------------------------------------
 * 移行元の新デザインは html に font-size を置き、全ての寸法を rem で書いて
 * いる。この方式は採らない。理由は 3 つある。
 *   1. 既存のこのファイルが px で書かれている。混ぜると、読み手が行ごとに
 *      10 倍・0.1 倍の換算を強いられる
 *   2. html の基準を変えると、WordPress 本体のブロックスタイルや
 *      プラグインの CSS が一緒に動く。これらは基準 16px を前提に書かれている。
 *      移行元の 749px 以下の基準（2.5445292621vw）は、画面幅 約 629px を境に
 *      16px を上下する。**縮むだけでなく、広い側では意図せず拡大する**
 *      （幅 375px で 9.54px・幅 749px で 19.06px）
 *   3. 閲覧者がブラウザで設定した既定の文字サイズを無視することになる
 *
 * 🔴 **トークンを px で持つのは 750px 以上だけである。**749px 以下は移行元が
 *    画面幅に比例させているため、px で持つと必ずずれる（次の節を読む）。
 *
 * ------------------------------------------------------------------
 * 🔴 移行元の 1rem は 1 つではない。帯で 2 つある（Issue #2606）
 * ------------------------------------------------------------------
 * 移行元はこう書いている（生きている移行元の style.css で確認）。
 *
 *   @media screen and (min-width: 750px) { html { font-size: 10px } }
 *   @media screen and (max-width: 749px) { html { font-size: 2.5445292621vw } }
 *
 *   | 帯          | 1rem                    | 実測                        |
 *   | 750px 以上  | 10px（固定）            | どの幅でも 10px             |
 *   | 749px 以下  | 画面幅の 2.5445292621%  | 375px→9.542 / 320px→8.142px |
 *
 * したがって移行元の rem 値を px へ写せるのは 750px 以上だけである。
 *
 *   750px 以上 … 「1rem = 10px」で px に換算して写す（例: 8rem → 80px）
 *   749px 以下 … px に写してはいけない。画面幅に比例する値で写す
 *
 * 749px 以下の書き方は、区画の中で 1 単位を変数に置き、移行元の rem 値を
 * 掛ける形にする。**移行元の rem 値がそのまま読み取れる**のが利点である。
 * コース札とトップの大きい 3 区画は、この共通の変数を使う。
 *
 *   @media (max-width: 749px) {
 *     .front-page { --pa-sp-rem: 2.5445292621vw; }
 *     .front-plan__item { width: calc(32 * var(--pa-sp-rem)); }
 *   }
 *
 * 🚨 **存在しない変数を使わないこと。**カスタムプロパティが解決できないと
 *    宣言ごと無効になり、まさにこの注釈が防ごうとしている崩れを招く。
 *    新しい区画で使うときは、.front-page での共通変数の宣言を残してから使う。
 *    （全区画で使う共通の変数へ寄せる作業は Issue #2606 の後続で行う。）
 *
 * 🚨 749px 以下を「1rem = 10px」で写すと、固定値になるため
 *    画面が狭いほど差が広がる。実害が出た例が Issue #2553 / PR #2640 にある
 *    （コース札を 32rem → 320px と写したため、幅 375px で丸い印が 22px 欠けた。
 *    正しくは 81.42vw で、移行元の実測 305.3px と一致する）。
 *
 * 🚨 媒体条件を持たない（両方の帯に効く）移行元の規則は、単一の px に
 *    写せない。どちらかの幅で必ずずれる。移行元の rem を使う宣言 482 件のうち
 *    74 件がこれに当たる（Issue #2606 の全数調査）。
 *
 * 🚨 このファイルに既にある vw の直値を「移行元由来」と決めつけないこと。
 *    15 種類のうち移行元の rem を写したとみられるのは 7 種類だけである。
 *    6.25 / 15.625 / 21.875 / 46.875vw は幅 320px でちょうど
 *    20 / 50 / 70 / 150px になり、別の由来に見える。
 */

/* ==============================================================
 * ウェブフォント Inter（Bug #1338）
 *
 * 書体が新デザインになる 6 ページ（`body.pa-legacy-new-font`）の
 * --pa-font-family-base は先頭に "Inter" を指定している（Task #3536 で
 * `body.pa-profile-new` から切り出した。対象が 1 ページ違うため）。
 * 移行元サイトは woff2 を自前で /fonts/ に置いて配信していたが、このテーマには
 * 同梱していなかったため、閲覧者の端末に Inter が入っていない限り読み込みに
 * 失敗し、次候補の游ゴシックで描画されて字形が移行元とずれていた。
 * 写し元は移行元サイトのリポジトリ legacy/www.p-a.jp の
 * public/fonts/Inter-Regular.woff2 と public/fonts/Inter-Bold.woff2 である。
 *
 * 用意するのは 400（本文）と 700（太字）の 2 段だけである。移行元のビルド後
 * CSS が使う font-weight もこの 2 つだけだからである。
 *
 * font-display: swap にしてあるので、読み込みが終わるまでは次候補の書体で
 * すぐ本文を出し、届いた時点で Inter に差し替える（文字が消えて待つ状態を作らない）。
 *
 * ほかのページへの影響は無い。@font-face は書体の名前を登録するだけで、どの要素に
 * 当てるかは font-family 側が決める。既定（`:root`）と成婚ストーリー
 * （`body.pa-legacy-story-font`）の --pa-font-family-base に "Inter" は入って
 * いないため、それらのページはこの woff2 を要求しない（ブラウザは実際に使われる
 * 書体しか取りに行かない）。
 *
 * url() の相対パスは、この main.css 自身の位置（assets/css/）が基準になる。
 * ../fonts/ で assets/fonts/ を指す。テーマのファイルはそのまま配信されるため、
 * functions.php 側でフォントを登録する処理は要らない。
 * ============================================================== */

@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Regular.woff2?ver=7c559ac1bfcb") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Bold.woff2?ver=2d131a11bc60") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* しあわせレポート一覧（/introduce/happyreport/）だけが使う欧文書体。移行元は
   このページに限って独自の 3 書体を読み込む（Issue #1628 の C3-17）。写し元は
   移行元サイトの public/introduce/happyreport/index.html の style 要素（IBM Plex
   Sans と Rubik の登録）と、public/introduce/search.php の同じ組み（Spinnaker）で
   ある。woff2 の実体は移行元 public/fonts/ から写した。

   IBM Plex Sans・Spinnaker・Rubik はいずれも SIL Open Font License 1.1 で配布
   されている書体で、再配布に制限は無い。

   どの要素に当てるかは、しあわせレポートの節（このファイルの末尾）で決める。
   他のページはこの書体を font-family に持たないので、woff2 を取りに行かない. */
@font-face {
	font-family: "IBM Plex Sans";
	src: url("../fonts/IBMPlexSans-Regular.woff2?ver=bfac20219c69") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "IBM Plex Sans";
	src: url("../fonts/IBMPlexSans-SemiBold.woff2?ver=844806d53840") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Rubik";
	src: url("../fonts/Rubik-SemiBold.woff2?ver=c41cb09c6384") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Spinnaker";
	src: url("../fonts/Spinnaker-Regular.woff2?ver=9ee8be9fe3d9") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* 婚活予想図の入口（/introduce/）の欧文の副題だけが使う書体（Bug #3090）。
   移行元はこの画面の 2 つの HTML（public/introduce/search.php の 32〜46 行目と
   public/introduce/result.php の 49〜63 行目）で Open Sans と Spinnaker の 2 書体を
   登録している。**上の Spinnaker はその「同じ組み」から写したのに、Open Sans を
   取りこぼしていた**（Issue #1628 の C3-17。上のコメントが写し元として
   public/introduce/search.php を挙げているのに、そちらだけを写した）。

   取りこぼしの結果、画面専用 CSS が `font-family: 'Open Sans'` を持っているのに
   書体ファイルが無く、欧文の副題「Sketch for Your Marriage」が次の候補で描かれて
   いた。実測（幅 1440px・2026-09-03）では移行元 311.11 × 24px に対し
   333.34 × 18px で、字の大きさ 18px・太さ 700・字間 3.6px は一致しているのに
   字形だけが違っていた。この 6px の高さの差が、初期化を写したあと（Bug #3070）に
   残っていた「主見出しより下が 3px 下へずれる」の原因である。

   🚨 **ライセンスは上の 3 書体と違う。** IBM Plex Sans・Spinnaker・Rubik は
   SIL Open Font License 1.1 だが、**Open Sans は Apache License 2.0** である
   （どちらも再配布に制限は無い）。上のコメントの「いずれも SIL OFL 1.1」に
   この書体を含めないこと。

   woff2 の実体は移行元の**記録版**（`git ls-tree HEAD legacy/www.p-a.jp` が指す
   19f499fe）の public/fonts/OpenSans-Bold.woff2 から写した（9,732 バイト）。
   🚨 主リポジトリの作業ツリーは古い版で止まっていることがあるので、記録版を
   `git ls-tree` で取ってから `git show <版>:<パス>` で読むこと。

   当てるのは婚活予想図の入口の画面専用 CSS
   （assets/introduce/css/style_introduce.css の 1586 行目と 2886 行目）だけである。
   テーマの assets 全体で Open Sans を font-family に持つのはその 1 ファイルだけなので、
   ほかのページはこの woff2 を取りに行かない（上の 3 書体と同じ建て付け）。

   移行元が登録しているのは Bold（700）の 1 つだけで、Regular は登録していない.
   当てている規則も `font-weight: 700` なので、ここも 700 だけを登録する. */
@font-face {
	font-family: "Open Sans";
	src: url("../fonts/OpenSans-Bold.woff2?ver=e524d763e06c") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* 携帯幅の画面下部の固定 CTA バーの文言だけが使う明朝（Task #3697）。

   移行元はこのバーの文言を**絵に焼き込んで**おり（`sp/images/menu_footer0*.png`）、
   写しは文字で組み直している。そのため「同じ大きさなのに文字が太い」差が出ていた。

   🚨 **直す前は手元の書体に頼っていた。** 当てていたのは
   `游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif` の
   太さ 700 で、**游明朝は macOS にしか無い**。Windows・Android では別の書体に落ちる
   ため、環境によって見た目が違っていた。同梱すればどの環境でも同じ姿になる。

   両側を同じ物差しで測って選んだ（濃さ = 白い画素 ÷ 区画の全画素。dev ÷ 移行元の
   比が 1.00 なら一致）。移行元は写しの記録版 1fbfa9dda の絵、dev は実ページを
   幅 375px・2 倍で撮り、地色を塗っているリンク（a）で切り出した。

     Noto Serif JP 200 … 資料請求 1.08 / 来店予約 0.93  ← これを採る
     Noto Serif JP 300 … 1.19 / 1.03
     Noto Serif JP 400 … 1.27 / 1.12
     Shippori Mincho 400 … 1.27 / 1.10
     BIZ UDPMincho 400 … 1.54 / 1.27
     游明朝 700（直す前）… 1.89 / 1.74

   文字の大きさ（描かれた画素の外接矩形の割合）は直す前後で変わらない。
   変わるのは濃さだけである。

   🚨 **必要なのは「電話相談」「資料請求」「来店予約」の 12 字だけ**なので、その字だけの
   部分書体（3,572 バイト）を同梱する。Google Fonts の文字指定の API
   （`css2?family=Noto+Serif+JP:wght@200&text=電話相談資料請求来店予約`）が返す
   woff2 をそのまま写した。テーマで作り直してはいない。
   **ライセンスは SIL Open Font License 1.1**（IBM Plex Sans・Spinnaker・Rubik と同じ）。

   当てるのは `.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__label` だけである。
   テーマの assets 全体で "Noto Serif JP" を font-family に持つのはその 1 か所なので、
   ほかのページはこの woff2 を取りに行かない（上の書体と同じ建て付け）。
   `unicode-range` はその 12 字に絞ってあるので、万一ほかの文字へ当たっても
   この書体は使われない. */
@font-face {
	font-family: "Noto Serif JP";
	src: url("../fonts/NotoSerifJP-ExtraLight-cta.woff2?ver=4ddf1025cba2") format("woff2");
	font-weight: 200;
	font-style: normal;
	font-display: swap;
	unicode-range: U+4e88, U+5e97, U+6599, U+6765, U+6c42, U+76f8, U+7d04, U+8a71, U+8ac7, U+8acb, U+8cc7, U+96fb;
}

:root {
	/* ==============================================================
	 * 1. 素の色（パレット）
	 *    役割を割り当てる前の実値。役割への割り当ては第 2 節で行う。
	 * ============================================================== */

	/* --- 新デザイン --- */
	/* _variable.scss の $colorPink。押しボタンの塗りに使う */
	--pa-palette-coral: #fd7b7d;
	/* ビルド後 style.css の --main-color。強調の文字と下線に使う。
	   実行時の参照が最も多い（var(--main-color) が 67 箇所） */
	--pa-palette-red: #f54851;
	/* ビルド後 style.css の --sub-color */
	--pa-palette-blue: #009bd3;
	/* ビルド後 style.css の --base-color。背景の下地に使う */
	--pa-palette-cream: #fff6ec;
	/* _variable.scss の $colorGreen。差し色 */
	--pa-palette-mint: #58d2d6;
	--pa-palette-mint-light: #eafafb;
	/* _variable.scss の $colorOrange。副の押しボタン */
	--pa-palette-orange: #ffb660;
	--pa-palette-yellow: #fffa79;
	/* 移行元 public/assets/css/style.css の .compare-table td.feature の実値
	   （Bug #1478。#fff3f3 は誤り） */
	--pa-palette-pink-light: #fff7f7;
	--pa-palette-navy: #141b25;
	--pa-palette-green-bg: #dee7e6;

	/* --- 旧デザイン --- */
	/* 金は移行元に 4 種（#a3762b / #a18046 / #a08046 / #a2803b）あるので
	   #a3762b の 1 つへ寄せた。今も読み込まれる public/css/style.css での
	   出現数が最多（#a3762b が 7 回、#a08046 が 3 回、#a2803b が 2 回）で、
	   総数では最多に見える #a18046 は読み込まれない旧版ファイルにしか
	   出てこないためである。 */
	--pa-palette-gold: #a3762b;
	/* public/css/style.css の a:hover の色 */
	--pa-palette-red-legacy: #e1200f;

	/* --- 両方の世代で使う --- */
	/* 本文の黒は移行元に 3 種ある。以前はこれを #474747 の 1 つへ寄せていたが、
	   3 種は濃さの揺れではなく、使う場所が分かれている。1 つへ寄せると記事の
	   本文がまるごと移行元と違う色になるため、3 種とも残す（Issue #1622）。
	   どの色をどこへ割り当てるかは、次のとおり移行元の CSS が決めている。

	     #000     旧デザインの記事と一覧（成婚ストーリー / お客様の声 /
	              ワード解説 / ニュース / 婚活あるある）が使う。移行元
	              public/css/common.css の body（28〜35 行）は色を書いていない
	              ので、ブラウザ既定の黒がそのまま出る。本文のリンクも
	              public/css/style.css の a（41〜44 行）で黒である。
	     #463d3c  体験談が使う。移行元
	              public/introduce/css/style_introduce_experience.css の .tab
	              （479〜487 行）と .number-list__cont（1009〜1013 行）、および
	              詳細ページの public/introduce/css/style_experience_details.css。
	     #474747  新デザインの $colorBlack。移行元
	              public/assets/scss/_foundation/_variable.scss にあり、トップ
	              ページと新デザインの店舗が使う。

	   白地に対するコントラスト比は #000 が 21:1、#463d3c が 12.4:1、#474747 が
	   9.3:1 で、3 種とも WCAG の AAA 基準（7:1）を満たす。 */
	--pa-palette-ink: #474747;
	--pa-palette-ink-legacy: #000;
	--pa-palette-ink-experience: #463d3c;
	--pa-palette-white: #fff;
	/* _variable.scss の $colorGray。罫線に使う */
	--pa-palette-gray: #d9d9d9;

	/* ==============================================================
	 * 2. 役割の色（既定 = legacy-compat プロファイル）
	 *    セクションの実装からは、パレットではなくこちらを参照する。
	 * ============================================================== */

	--pa-color-text: var(--pa-palette-ink);
	/*
	 * `body` に当てる文字色だけを分けて持つ（Task #3609）。
	 *
	 * 🚨 **`--pa-color-text` とは別にする。**あちらは罫線・飾り・アイコンでも使われて
	 * おり、値を動かすと波及が読み切れない（司令塔の裁定 104 の条件）。
	 *
	 * 移行元は世代で本文の色を分けている（本番で実測・2026-09-05）。
	 *
	 *   旧デザインの下層 約 5,400 ページ … `html { color: #000 }` で **黒**
	 *   新デザイン 6 ページ（トップ + 店舗 4 + /guide/course/） … `body { color: #474747 }`
	 *   提携ページ /pa-zexy/ … `html > body { color: #333 }`（dev は未投入・別 Task）
	 *
	 * 🚨 **差が出るのは共通ヘッダーとフッターである。**投入した本文は
	 * `body:not(.pa-profile-new) .entry-content` の塊がすでに黒へ戻しており、
	 * 実測でも本文の文字色は両側一致していた（成婚ストーリーの 3 画面で差 0 件）。
	 * 店舗一覧で `#474747` に描かれる文字は 10 要素あり、この直しで **9 要素**が黒に
	 * なる（ヘッダーの案内の「＞」4 個・隠し見出し 1・フッターの見出し・注記・
	 * 著作権表示ほか 4。移行元はいずれも黒。反映前に dev の実ページで実測）。
	 *
	 * 🚨 **残る 1 つは `.site-header__page-name` である。**あそこは
	 * `.site-header__tagline, .site-header__page-name { color: var(--pa-color-text) }`
	 * が直に当たっており、受け継ぎではないのでここでは変わらない。移行元は黒なので
	 * 差は残る。**共通ヘッダーの持ち物なので、この Task では触らない**（司令塔へ報告済み）.
	 */
	--pa-color-body-text: var(--pa-palette-ink-legacy);
	--pa-color-bg: var(--pa-palette-white);
	--pa-color-border: var(--pa-palette-gray);
	--pa-color-heading: var(--pa-palette-gold);
	/* 主役の色。見出しの飾り・アイコン・枠線に使う */
	--pa-color-accent: var(--pa-palette-gold);
	/* 強調の文字と下線。赤 2 種は役割が違うので 1 つに寄せずに分けたままにする。
	   塗り用は --pa-color-button-bg、文字用はこちらである。 */
	--pa-color-accent-strong: var(--pa-palette-red-legacy);
	/* 素のリンクの色（Bug #2649）。既定は旧デザインの値なので、本文色（#474747）で
	   はなく黒（#000）を指す。移行元の旧デザインが読み込む public/css/style.css は
	   `a{color:#000000;…}` を持ち、これはページ全体に当たる。新デザインは下の
	   body.pa-profile-new が本文色へ戻す。 */
	--pa-color-link: var(--pa-palette-ink-legacy);
	--pa-color-link-hover: var(--pa-palette-red-legacy);
	--pa-color-button-bg: var(--pa-palette-gold);
	--pa-color-button-text: var(--pa-palette-white);
	/* 注意書きの囲みの下地 */
	--pa-color-notice-bg: #fbf3e0;
	/* お問い合わせへの導線など、本文から一段浮かせる面の下地 */
	--pa-color-surface-muted: #f2f4f7;

	/* ==============================================================
	 * 3. 文字組み
	 * ============================================================== */

	/* 旧デザインの public/css/common.css から写した（Task #3536 で並びを直した）。
	   🚨 **`body` の 9 書体ではなく、`html>/**[空の注釈]/body` の 3 書体が正しい。**
	   共通 CSS は `body` に長い並びを書いたあと、「for IE8」と注釈した
	   `html>` と `body` の間に空の注釈を挟むハックで短い並びを書き直している。
	   要素 2 つぶんの当て先なので `body` に勝ち、**長いほうは 1 度も効いていない**
	   （移行元の本番で `getComputedStyle(document.body).fontFamily` を読んで確認。
	   `/company/` も `/pa-zexy/` も 3 書体だった）。
	   🚨 **`sans-serif` を足さない。**3 書体のどれも無い機械でブラウザの既定書体に
	   落ちるのが移行元の振る舞いであり、そこまで写す（司令塔の裁定 96）. */
	--pa-font-family-base: "游ゴシック", YuGothic, "ＭＳ Ｐゴシック";
	/* 🚨 **末尾の「ＭＳ 明朝」を落とさない**（Bug #7902）。移行元 `.serif` は 8 書体で、
	   ここは 7 書体だった。游明朝・ヒラギノ明朝・HG明朝E・ＭＳ Ｐ明朝のどれも無い
	   Windows の機械で、移行元は「ＭＳ 明朝」で描き、dev はブラウザの既定書体に
	   落ちていた。macOS では先頭の游明朝が当たるので描画は変わらないが、
	   `getComputedStyle` が返す値が違うため幅 375 の機械の差が 0 にならない. */
	--pa-font-family-serif: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

	/* 移行元は明朝の指定を **2 通り** 持つ（Issue #3047）。
	   1 つは共通 CSS の `.serif`（public/css/common.css の 55 行）で、先頭が
	   「游明朝」である。これが上の --pa-font-family-serif に当たる。
	   もう 1 つは会員紹介のページ別 CSS の `.min`（例:
	   introduce/story/css/style_introduce_story.css の 9〜11 行 `html > body .min`）で、
	   **先頭が「游明朝体」**であり、続きの並びも別物である。
	   幅 1440px で成婚ストーリーの入口を実測すると、本文の中で先頭が「游明朝体」の
	   要素が 10 件・「游明朝」の要素が 16 件あり、両方が同時に使われている。
	   `.serif` の指定でこちらを代用すると、その 10 件が別の書体で描かれる. */
	--pa-font-family-serif-min: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/* 🚨 **移行元の `body { font-size: 13px }` は 1 度も効いていない（Bug #3470）。**
	   移行元 `public/css/common.css` は `body` のすぐ後ろに IE8 向けの古い書き方を
	   置いている。

	       body                  … font-size: 13px
	       html>[空の注釈]body   … font-size: 75%      ← IE8 向け

	   `html>` と `body` の間に挟んだ空の注釈は読み飛ばされるので、いまのブラウザは
	   これを `html > body` として読む。
	   **当たる選択子であり、強さは (0,0,2) で `body` の (0,0,1) に勝つ。**その結果、
	   移行元が実際に描いている大きさは **16px の 75% ＝ 12px** である
	   （移行元 `/company/release.html` で当たっている規則をブラウザに聞いて確認）。

	   本文は影響を受けない。移行元は `public/css/style.css` の 1296 行で
	   `#contents { font-size: 13px }` を置いて本文の器で戻しているからである。
	   **効くのは `#contents` の外側＝共通ヘッダーとフッター**である。

	   dev で目に見えて変わるのは共通ヘッダーのグローバルナビだけで、その位置は
	   移行元と小数点以下まで一致する（移行元の写しからヘッダーだけを手元で組んで
	   実測: 項目の左端 367.88 / 537.89 / 927.89。dev も 12px で同じ値になる）. */
	--pa-font-size-base: 12px;

	/* 本文の柱の字（Bug #3470）。移行元は `public/css/style.css` の 1296 行で
	   `#contents { font-size: 13px }` を置き、**本文の器で 13px に戻している**。
	   `body` を 12px にしただけだと本文まで縮むので、同じ形で戻す。
	   dev で `#contents` に当たるのは `main.site-main` である. */
	--pa-content-font-size: 13px;

	/* 節の見出しの基準。移行元 public/assets/css/style.css の .heading-a
	   （3.2rem = 32px）と .heading-a.lg（3.6rem = 36px）の実値である。移行元は
	   html の文字を 10px に固定しているので、rem をそのまま px として読める。

	   この 2 つは「移行元が .heading-a を当てている見出し」だけの基準である。
	   移行元は節ごとに別の値を持っており（申し込み導線の帯は 25.2px、比較と選び方は
	   36px の左寄せ、活動実績は 32px の太さ 600 など）、そうした節の見出しはこの基準を
	   参照せず、各節の区画で移行元の値を直に持たせる（Issue #1624）。基準へ寄せると
	   節ごとの違いが消える。見出しを新しく足すときも、まず移行元の実値を調べてから
	   基準を使うかどうかを決めること。

	   SP の値は下のメディアクエリで上書きする。 */
	--pa-font-size-heading: 32px;
	--pa-font-size-heading-lg: 36px;

	/* 新デザインの _reset.scss から。全体 1.5、段落だけ 1.8 である。

	   ここは新デザインのページ（トップ・新デザインの店舗）とヘッダー・フッターの
	   基準として 1.8 のまま残す。旧デザインから移行してきた記事の本文だけは、
	   移行元が PC で 1.5 なので下の「記事本文」の区画で 1.5 へ戻す（Issue #1622）。 */
	--pa-line-height-base: 1.5;
	--pa-line-height-heading: 1.5;
	--pa-line-height-text: 1.8;

	/* ==============================================================
	 * 4. 余白の段階
	 *    新デザインの $space-lg / $space-md / $space-sm（8rem / 6rem / 4rem）を
	 *    px に換算した。SP ではそれぞれ半分になる（下のメディアクエリで上書き）。
	 * ============================================================== */

	--pa-space-lg: 80px;
	--pa-space-md: 60px;
	--pa-space-sm: 40px;

	/* ==============================================================
	 * 5. 内側の幅
	 *    新デザインの _layout.scss の .l-inner-* から写した 4 段階である。
	 *    いずれも 750px 以上では width: 90% + max-width、749px 以下では
	 *    左右に --pa-inner-gutter の padding を置く、という使い方をする。
	 *    境界は移行元と同じく「750px ちょうどは PC 側」である。
	 * ============================================================== */

	--pa-inner-md: 1528px;
	--pa-inner-ex: 1120px;
	--pa-inner-sm: 1000px;
	--pa-inner-xs: 800px;
	/* 750px 以上のときの幅の取り方 */
	--pa-inner-ratio: 90%;
	/* 749px 以下のときの左右の余白（移行元の 1.5rem を px に換算） */
	--pa-inner-gutter: 15px;

	/* ==============================================================
	 * 6. ブレークポイント
	 *    移行元の新デザインは min-width: 750px が 158 箇所、max-width: 749px が
	 *    150 箇所で、実質 750px の 1 本である。このテーマもこの 1 本で通す。
	 *
	 *    【注意】CSS のカスタムプロパティはメディアクエリの条件式では使えない。
	 *    このファイル内のメディアクエリは 750px / 749px を直接書いている。
	 *    値を変えるときは、このトークンと下のメディアクエリの両方を直すこと。
	 *    このトークンが値の正本である。
	 * ============================================================== */

	--pa-breakpoint-sp: 750px;
}

/* --------------------------------------------------------------
 * new プロファイル（新デザイン）の上書き
 * body.pa-profile-new のときだけ、役割の色と文字組みを差し替える。
 * 余白・内側の幅・ブレークポイントは元々が新デザイン由来なので共通のままとする。
 * -------------------------------------------------------------- */
body.pa-profile-new {
	--pa-color-heading: var(--pa-palette-ink);
	--pa-color-accent: var(--pa-palette-coral);
	--pa-color-accent-strong: var(--pa-palette-red);
	/* 素のリンクの色を本文色へ戻す（Bug #2649）。移行元の新デザインが読み込む
	   public/assets/css/style.css は `a{text-decoration:none;color:inherit}` で、
	   リンクに固有の色を持たない。body の色（#474747）がそのまま出る。
	   ここを既定（旧デザインの黒）のままにすると、新デザインのリンクが黒くなって
	   移行元から離れる。 */
	--pa-color-link: var(--pa-color-text);
	--pa-color-link-hover: var(--pa-palette-red);
	--pa-color-button-bg: var(--pa-palette-coral);
	--pa-color-notice-bg: var(--pa-palette-pink-light);
	--pa-color-surface-muted: var(--pa-palette-cream);

	/* 🚨 **書体の並びはここに置かない（Task #3536）。**新デザインの見た目を持つのは
	   7 ページだが、**書体が新デザインになるのは 6 ページ**である
	   （`/pa-zexy/` は見た目が新デザインでも書体は旧デザインの 3 書体。移行元の
	   本番で実測）。並びは下の `body.pa-legacy-new-font` が持つ.

	   【申し送り】`/pa-zexy/` は移行元だと body が **12px** で、この塊の 15px とも
	   食い違う。字の大きさは Bug #3470 の範囲なので、この Task では触っていない. */
	--pa-font-size-base: 15px;

	/* 新デザインは本文も 15px である。移行元の新デザインは旧デザインの
	   `#contents` を持たないので、柱の字は基準と同じ値にする（Bug #3470）. */
	--pa-content-font-size: 15px;
}

/* --------------------------------------------------------------
 * 本文の書体の並び（Task #3536）
 *
 * 移行元は**画面によって 3 通り**を使い分けている。本番で
 * `getComputedStyle(document.body).fontFamily` を読んだ値である（2026-09-05）。
 *
 *   一般の下層 5,411 ページ  游ゴシック, YuGothic, ＭＳ Ｐゴシック          → :root（上）
 *   トップ + 店舗 4 + guide/course   Inter 先頭                        → 下の 1 本目
 *   成婚ストーリー           上に メイリオ と MS ゴシック が入る長い並び  → 下の 2 本目
 *
 * 🚨 **世代の印を兼用しない。**`pa-profile-new`（7 ページ）は `/pa-zexy/` を含むが
 * あそこの書体は旧デザインで、`pa_is_legacy_new_asset_page()`（5 ページ）は
 * `/guide/course/` が抜ける。**書体のための印を別に持つ**（inc/design-profile.php）。
 *
 * 游ゴシックが入っている機械ではどの並びでも同じ書体が選ばれる。**差が出るのは
 * 游ゴシックが無い環境だけ**なので、見た目の比較では見つからない.
 * -------------------------------------------------------------- */

/* 新デザインの CSS が勝つ 6 ページ（トップ + 店舗 4 + /guide/course/）。
   移行元 public/assets/css/style.css の body（`!important` 付き）から写した。
   Inter の woff2 はこのファイル冒頭の @font-face で登録してある（Bug #1338）. */
body.pa-legacy-new-font {
	--pa-font-family-base: "Inter", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	/*
	 * 本文の文字色も、この 6 ページだけ移行元の `#474747` にする（Task #3609）。
	 * 移行元は新デザインのまとめ CSS が `body { color: #474747 }` を持ち、
	 * 旧デザインの `html { color: #000 }` に勝つ。**書体と対象のページが同じ**
	 * だったので、印を新しく作らずここへ相乗りさせている.
	 */
	--pa-color-body-text: var(--pa-palette-ink);
}

/* 成婚ストーリー（一覧・全件・分類別・詳細）。移行元は画面専用の
   introduce/story/css/style_introduce_story.css の 8 行目が `html > body` で
   書き直しており、**この画面にだけ メイリオ と MS ゴシック が入る**。
   共通 CSS の同じ強さの規則より**あとに読まれる**ので勝つ. */
body.pa-legacy-story-font {
	--pa-font-family-base: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
}

/* --------------------------------------------------------------
 * SP（749px 以下 = 750px 未満）でのトークンの上書き。
 * 後続 Task も SP 側のメディアクエリは max-width: 749px で統一すること
 * （max-width: 750px で書くと、幅 750px でトークンは PC 値・レイアウトは
 * SP という混在が起きる）。
 * -------------------------------------------------------------- */
@media (max-width: 749px) {
	.front-page {
		/* 移行元は 749px 以下で html { font-size: 2.5445292621vw } を使う。
		 * 移行元の rem 指定を写すための 1 単位である。 */
		--pa-sp-rem: 2.5445292621vw;
	}

	:root {
		/* 移行元の $space-*-sm。PC のそれぞれ半分である */
		--pa-space-lg: 40px;
		--pa-space-md: 30px;
		--pa-space-sm: 20px;

		/* 移行元では 3.6rem も 3.2rem も、SP では揃って 2.2rem に落ちる */
		--pa-font-size-heading: 22px;
		--pa-font-size-heading-lg: 22px;
	}
}

/* ==============================================================
 * ベーススタイル
 * ============================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background-color: var(--pa-color-bg);
	/* 世代で分けた文字色（Task #3609）。既定は旧デザインの黒で、新デザインの
	   6 ページだけが下の `body.pa-legacy-new-font` で `#474747` に戻る. */
	color: var(--pa-color-body-text);
	font-family: var(--pa-font-family-base);
	font-size: var(--pa-font-size-base);
	line-height: var(--pa-line-height-base);
}

/* 🚨 **新資産の店舗 6 店だけ、ページ全体の地色が移行元と違う（Bug #4973）。**
   移行元はこの 6 店で `body` に `#f3f7f9`（薄い青みの灰）を敷くが、**dev は白のまま**
   だった。パンくずの外側の帯は地色も罫線も持たないので（すぐ上の `.pa-breadcrumb__inner`
   の注釈）、**この白がパンくずの裏として見えていた**。

   移行元の実測（本番の CSS の字を読んだ・2026-09-09 15:1x JST）:
   全サイト共通の新デザインの CSS（`https://www.p-a.jp/assets/css/style.css`）が
   `body { background: #fff }`（124 行）を先に置き、**あとで `body { background: #f3f7f9 }`
   （501 行）で上書きしている**。どちらも当たり先に絞りが無いので、**この CSS を読む
   ページはすべて `#f3f7f9` になる**。

   🚨 **この CSS を読むのは応答型の 8 ページである**（トップ・新資産の店舗 6 店・
   `/guide/course/`）。5 ページの HTML を取って `href="/assets/css/style.css"` を
   数え、いずれも 1 件だった。**つまりトップと `/guide/course/` も移行元では
   `#f3f7f9` である。**ただし [Bug #4973](https://github.com/mationinc/wp-platform/issues/4973) の受入基準は 6 店に絞られているので、
   **ここでは 6 店だけに当てる**。残る 2 ページは司令塔へ報告して割り振りを待つ。

   🚨 **このファイルには `#f3f7f9` が既に 5 か所あるが、どれも区画の面の色で
   `body` の地色ではない**（トップの店舗一覧の面 `--pa-front-store-bg`・割引の
   見出し・体験談の帯）。**トップと `/guide/course/` の `body` は dev ではまだ白である。**

   当たり先の絞り方は Bug #5265（携帯幅のヘッダーの罫線）と同じで、
   `single-branch` と目印 `pa-legacy-common-css` の否定で新資産 6 店になる
   （旧デザインの 40 店には目印が付く）。詳細度は (0,2,1) で、すぐ上の `body`（0,0,1）に
   勝つ。

   🚨 **移行元は 2026-09-08 にパンくずの専用の帯（`div.bread`）そのものをやめた。**
   09-03 の写しでは `.bread` が `rgb(246,246,246)` の帯を敷いていたが、いまは帯が
   HTML からも CSS からも消え、**ページ全体の地色の上にパンくずの字が直に乗る**。
   **写しの側の値（246,246,246）へ寄せてはいけない**（9 班が両方を実測して確かめた）. */
body.single-branch:not(.pa-legacy-common-css) {
	background-color: #f3f7f9;
}

/* 🚨 **移行元のサイト共通の初期化（`css/common.css`）のうち、根の要素の 2 件を写す（Bug #4942）。**
 *
 * | 宣言 | 移行元の出どころ（写し 822eda470） |
 * |---|---|
 * | `html { background: #fff }` | パソコン版 `css/common.css` 21〜22 行。**携帯版は持たない**（`sp/css/basic.css` に無い）ので、750px 以上だけに当てる |
 * | `body { -webkit-text-size-adjust: 100% }` | パソコン版 `css/common.css` 31 行・携帯版 `sp/css/common.css` 1 行目 |
 *
 * 🚨 **見た目はほぼ変わらない。**`html` の背景が透明のときは `body` の背景（白）がキャンバスに広がるので、
 * もともと白で塗られている。`main.css` を読むページで `body` の背景が白でないのは、`pa-legacy-common-css` の絞りで外れる新資産の店舗だけである
 * （app ページと広告 LP は `pa-main` を外しているので、この規則は当たらない）。
 * ご紹介の入力画面の灰色の地（`form-frame.css` の `html:has(> body > main.pa-form-frame__wrapper--shoukai)`）は
 * 詳細度 (0,1,3) で、この規則 (0,1,2) に勝つ。
 *
 * 🚨 **`pa-legacy-common-css` で絞る。**移行元で `css/common.css` を読まない 12 ページ
 * （トップ・新資産の店舗 10 件・コースと料金）は、新デザインの CSS（`/assets/css/style.css`）を読む。
 * その初期化は `html` の背景を透明（`#0000`）にし、`body` の `#f3f7f9` がページ全体に広がる。
 * 絞らずに `html` を白にすると、上の新資産の店舗で本文より下の空きが白になり、移行元から遠ざかる。
 *
 * 🚨 **同じ初期化の `html { overflow-y: scroll }` は写さない**（統括の判断・2026-10-07・案 b）。
 * 縦スクロールバーが場所を取る環境で、`100vw` の要素が約 15px はみ出すおそれがあるためである
 * （`100vw` を使う宣言は 106 本・`html` と `body` 全体の横の切り落としは無い）。写すかどうかは
 * ユーザーの判断を待つ。 */
@media (min-width: 750px) {
	html:has(> body.pa-legacy-common-css) {
		background-color: #fff;
	}
}

body.pa-legacy-common-css {
	-webkit-text-size-adjust: 100%;
}

/* 本文の柱の字（Bug #3470）。
 *
 * 移行元は `body` を 12px にしたうえで `#contents { font-size: 13px }` で本文を
 * 戻す 2 段の作りである。`body` だけを 12px にすると、**共通ヘッダーとフッターの
 * ほかに本文まで縮む**（実測: 体験談の一覧で 1,121 要素が動いた。節の見出しが
 * 19.5 → 18px、「もっと見る」が 13 → 12px、先頭へ戻るの器が 70.39 → 69.59px）。
 * 移行元と同じく、柱の側で戻す。
 *
 * 🚨 **値をここに直書きしない。**新デザインのページは本文も 15px なので、
 * 世代ごとのトークンから読む（直書きすると新デザインの 353 要素が動いた）. */
.site-main {
	font-size: var(--pa-content-font-size);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: var(--pa-line-height-heading);
}

p {
	line-height: var(--pa-line-height-text);
}

/* 一覧の点（黒丸・番号）の初期化。
   🚨 **これがテーマに無かった。**移行元は共通 CSS でページ全体の一覧から点を
   消し、**点を出したい箇所だけ後から `disc` などで戻している**。dev にはこの
   初期化が無く、ブラウザの既定の点がそのまま出ていた。ユーザーの目視で
   「コンテンツヘッダーメニューに『・』が入っている」と指摘された。

   写し元は移行元の `public/css/common.css` の 3 行である。

       ol, ul { list-style: none }
       ol li  { list-style: none }
       ul li  { list-style: none }

   `li` の 2 行は、型（`list-style-type`）が受け継がれるので本来は要らない。
   **移行元と同じ形で写す**ため、そのまま 3 つ置く（移行元が後から `li` にだけ
   点を戻している箇所があり、そこでの勝ち負けが変わらないようにする）。

   🚨 **これまでは 99 か所で個別に消していた。**このファイルの
   `list-style: none` は、この初期化が無いために 1 か所ずつ足されたものである。
   初期化が入れば要らなくなるが、**この PR では消さない**（消すと、初期化より
   詳細度の高い規則に隠れていた差が一度に出る恐れがある）。片づけは
   リファクタリングの別 Issue で行う。

   🚨 **点を出す箇所は戻す。**移行元が点を出しているのは 34 通りの選択子で、
   そのうち dev のテーマが持つのは次の 2 つである。
     - `.ul-list li`（ワード解説。このファイルの 20983 行付近が
       `list-style: disc inside` を持つので、そのままで戻る）
     - `.front-page .pa-compare-table ul`（トップの比較表。移行元
       `.compare-table ul { list-style: disc }` を写したが、**ブラウザの既定に
       頼って `list-style` を書いていなかった**ので、下で明示して戻す。
       **`ul` だけでは点は出ない**ので、移行元と同じく `li` の側にも
       `list-style-type: disc` を置く）
   コースと料金の比較表は画面別の CSS（`assets/guide-course/css/base.css`）が
   `ul` と `ul li` の両方に `disc` を持つので、そのままで戻る。

   🚨 **点を戻すときは `li` の側にも書く。**`li` は初期化の
   `ul li { list-style: none }` を自分の宣言として受ける。自分に当たった宣言は
   親から受け継ぐ値よりつねに強いため、`ul` だけに `disc` を書いても点は出ない。
   検査（`tests-retired/pa-cms-list-style-reset/`）がこの組を見張る. */
ol,
ul {
	list-style: none;
}

ol li {
	list-style: none;
}

ul li {
	list-style: none;
}

a {
	color: var(--pa-color-link);
}

a:hover {
	text-decoration: none;
}

/* 指を乗せたときに色を変えるのは、旧デザインのページだけにする（Bug #2648）。
 *
 * 移行元は新旧 2 世代でデザインが違い、読み込む CSS も別である。旧デザインの
 * ページが読み込む public/css/style.css は `a:hover{color:#e1200f;…}` を持つが、
 * 新デザイン（トップ・店舗 4 件・pa-zexy の 6 ページだけが読み込む
 * public/assets/css/style.css）は **素の `a:hover` の規則をそもそも持たない**。
 * 新デザインで色を変えるのは、部品ごとの `:hover` の指定だけである。
 *
 * テーマは素の `a:hover` で色を変えていたため、部品側の指定を持たないリンクまで
 * 赤（--pa-palette-red = #f54851）へ変わっていた。新デザインのトップで 17 型
 * 27 本・銀座店で 13 型 19 本が、移行元に無い色の変化を起こしていた
 * （2026-09-01 実測）。ヘッダーの電話番号のように通常時が金色のリンクまで
 * 赤へ変わるため、単に色を揃えるのではなく宣言そのものを外す必要がある。
 *
 * 絞り込みに `:where()` を使うのは、詳細度を上げないためである。
 * `body:not(.pa-profile-new) a:hover` と書くと詳細度が (0,1,1) から (0,2,1) へ
 * 上がり、パンくずのような (0,2,1) の部品側の `:hover` との勝ち負けが並び順で
 * 決まってしまう。`:where()` の中身は詳細度に数えないため、この規則は元の
 * `a:hover` と同じ (0,1,1) のままになり、部品側との関係が変わらない。
 * （`:is()` は中身の最大値を取るので、ここでは使えない。）
 *
 * 下線を消す指定は上の素の `a:hover` に残す。旧デザインの移行元も持っており、
 * 新デザインでは `body.pa-profile-new a`（(0,1,2)）が既に下線を消していて
 * 詳細度で勝つため、新デザインにとっては働かない宣言になる. */
:where(body:not(.pa-profile-new)) a:hover {
	color: var(--pa-color-link-hover);
}

/* 新デザインのページは素のリンクに下線を持たせない（Issue #2609）。
 *
 * 移行元は新旧 2 世代でデザインが違い、読み込む CSS も別である。旧デザインの
 * ページが読み込む public/css/style.css は
 * `a{color:#000000;text-decoration:underline}` で下線を持ち、
 * `a:hover{color:#e1200f;text-decoration:none}` で指を乗せると下線が消える。
 * 新デザイン（トップ・店舗 4 件・pa-zexy の 6 ページだけが読み込む
 * public/assets/css/style.css）は `a{text-decoration:none;color:inherit}` で、
 * そもそも下線を持たず `a:hover` の規則自体が無い。
 *
 * dev はこの 2 世代を body の札（`body.pa-profile-legacy-compat` と
 * `body.pa-profile-new`）で出し分けているが、素の `a` はどちらの札にも
 * 属さない共通規則だった。上の a:hover に「指を乗せると下線が消える」を
 * 足しただけでは、新デザインのページが「通常時は下線あり・指を乗せると
 * 消える」という移行元のどちらの世代にも無い状態を新しく作ってしまう。
 * 新デザインの素の `a` はそもそも下線を持たないため、ここで打ち消して
 * そろえる. */
body.pa-profile-new a {
	text-decoration: none;
}

/* リンクのホバー色変化を 0.5 秒でフェードさせる（Bug #2066）。
 *
 * この 0.5 秒フェードは新デザイン（トップ・店舗 4 件・pa-zexy の 6 ページ
 * だけが読み込む public/assets/css/style.css 1171 文字目付近）が持つ
 * `a{text-decoration:none;color:inherit}@media screen and
 * (min-width:750px){a{transition:all .5s}}` に対応する。旧デザインのページが
 * 読み込む public/css/style.css はこの指定を持たない。
 *
 * 当初は「移行元の共通 CSS」が全ページに効くと誤認し、対象を素の `a` にして
 * 全ページへ広げていた（Issue #2609）。ここでは移行元と同じく、新デザインの
 * ページ（`body.pa-profile-new`）だけに絞る。
 *
 * 幅 749px 以下（スマートフォン幅）はホバー操作が無いため、移行元と同じく
 * 対象から外す. */
@media (min-width: 750px) {
	body.pa-profile-new a {
		transition: all 0.5s;
	}
}

/* ヘッダー内のリンクだけ 0 秒に打ち消す（Bug #2066）。
 *
 * 新デザインの CSS（public/assets/css/style.css）は
 * `#fixHeader a,#fixHeader2 a{transition:all 0s}` を幅で絞らず持っており、
 * 上の 0.5 秒フェードをヘッダー内のリンクだけ打ち消している。旧デザインの
 * ページが読み込む public/css/style.css はそもそも transition の指定を
 * 持たないため、この打ち消しも持たない。`#fixHeader`（スクロール追従用）と
 * `#fixHeader2`（通常表示用）は移行元が同じ内容を重複して持っていた 2 本の
 * マークアップで、dev はこのテーマの単一マークアップ方針（header.php の
 * docblock参照）により 1 つの `#site-header`（class `.site-header`）に
 * まとめている。そのため対応する選択子は `.site-header a` になる
 * （`#fixHeader` `#fixHeader2` という ID は dev に存在しない）。
 *
 * この打ち消しを移植しない場合、新デザインのページのヘッダー内リンクだけ
 * 移行元は瞬時、dev は 0.5 秒フェードになってしまう。対象はグローバルナビ・
 * CTA・補助リンク・引き出しメニュー内のリンクを含む `.site-header` 配下の
 * すべての `<a>` である。引き出しメニューの開閉ボタン（`.site-header__toggle`
 * 等）はいずれも `<button>` の
 * ため、この宣言の対象にならない。
 *
 * 移行元は幅やページでこの打ち消しを絞っていないため、`.site-header a` の
 * 側は旧デザインのページ向けにそのまま残す（旧デザインには 0.5 秒フェード
 * 自体が無いため、実害の無い打ち消しになる）。
 *
 * ただし上の 0.5 秒フェードの選択子は `body.pa-profile-new a`（クラス 1 個
 * + 要素 2 個ぶん）になっており、`.site-header a`（クラス 1 個 + 要素 1
 * 個ぶん）だけでは詳細度で負けてしまう。負けると、ヘッダー内のリンク 12 型
 * （`.site-header__logo > a`・`.site-header__tel-number`・
 * `.site-header__utility-item > a`・グローバルナビの `.menu-item ... > a`
 * 等）で移り変わりが 0 秒から 0.5 秒に変わってしまう（dev のトップと
 * 銀座店・幅 1440px で実測）。そのため `body.pa-profile-new .site-header a`
 * （クラス 2 個 + 要素 2 個ぶん）を並べ、並び順に頼らず確実に勝つ形にする. */
.site-header a,
body.pa-profile-new .site-header a {
	transition: all 0s;
}

/* 画像リンクにマウスを載せたときの減光（Bug #1553）。
 *
 * 移行元は旧デザイン（public/css/style.css）で全ページ共通に
 * `a:hover img { opacity: 0.5; }` を持つ。画像そのものがリンクだと分かる
 * 「押せる」合図である。新デザイン（トップ・店舗 4 件・pa-zexy が読む
 * public/assets/css/style.css）はこの減光を持たず、`a:hover img{opacity:1}`
 * で打ち消した上でコンポーネントごとに個別の hover 表現
 * （.front-store__link 等）を組んでいる。ここでも新デザインのページは
 * 対象から外し、移行元と同じ挙動にする（除外は下の
 * .pa-profile-new a:hover img）。
 *
 * ヘッダーのグローバルナビ内の画像（メガメニューのアイコン・タイル・左の
 * 縦バナーを含む）は、移行元でも `.gNavi li a:hover img { opacity: 1.0 }`
 * で個別に除外されている（マウスを載せると画像を差し替える設計のため）。
 * 右側の販促バナー 2 枚だけは `.pldwn-right li a:hover img { opacity: 0.7 }`
 * と薄めに減光される。この 2 つの上書きは、ヘッダーの区画
 * （「ヘッダーとグローバルナビ（#1238 の編集領域）」）ではなく、対になる
 * 基準値のすぐ下に置く。
 *
 * 会社情報のカテゴリメニューとページ最下部の「先頭へ戻る」も、移行元が
 * `#contents .category_menu li a:hover img { opacity: 1.0 }`（style.css:1336）と
 * `.page_top a:hover img { opacity: 1.0 }`（style.css:1885）で減光を打ち消して
 * いる。移行元はこの 2 か所を薄くせず、代わりに画像を `_ov` へ差し替える見せ方に
 * している（Bug #1656）。上の 2 つと同じ理由の上書きなので、ここへ並べて置く。
 *
 * カテゴリメニューは、テーマの部品として出すもの（.pa-company-nav）と、本文の中に
 * 移行元の HTML のまま入っているもの（.category_menu）の 2 通りがある。移行元の
 * 打ち消しは `#contents .category_menu li a:hover img` なので **両方が対象**である。
 * 本文の中のものは、囲み（.entry-content / .page-content__body）で絞って当てる。
 * 絞らないと、この打ち消しがヘッダーやフッターの同名クラスにも及びうるためである。
 * 画像を `_ov` へ差し替える指定そのものは main.css の「マウスを載せたときの画像の
 * 差し替え（Task #1884）」の節にあり、減光の打ち消しだけがここに来る（Task #1884
 * のレビュー指摘。2026-08-17）。
 *
 * 移行元の `category_menu02`（文字で組む新しい方のタブ）は別のクラス名で、画像を
 * 持たない。移行元の打ち消しも `.category_menu` にしか当たらないので、ここでも
 * 対象に含めない。 */
a img {
	/* 移り変わりは基底側に置く。:hover 側に置くと、載せるときだけ
	   ふわっと変わり、離すときは瞬時に戻る非対称になる。 */
	transition: opacity 0.2s ease;
}

a:hover img {
	opacity: 0.5;
}

.pa-profile-new a:hover img {
	opacity: 1;
}

.site-header__nav a:hover img {
	opacity: 1;
}

.site-header__mega-promo a:hover img {
	opacity: 0.7;
}

/* 支店紹介の入口（archive-branch.php）のタブは本文の囲みの外にあるため、上の
   `:is(.entry-content, .page-content__body)` では届かない。入口の器を並べる
   （Bug #2931 の手元レビュー・2026-09-03）。並べないと、載せたときに `_off` の
   画像が 50% の半透明で出る.

   🚨 **会員紹介のローカルナビ（`.local_nav`）もここへ並べる（Task #3190）。**
   打ち消しの規則は `assets/introduce-happyreport/css/style.css` にもあるが、
   **あちらはしあわせレポートの詳細ページでしか読み込まれない**
   （`inc/introduce-happyreport.php` が投稿型と分類で絞る）。dev で
   `div.local_nav > ul.clearfix` を持つ 78 ページは移行元の道筋が
   `/introduce/-voice/…`（退役した控え）で、`assets/introduce-voice-story/` の CSS も
   道筋の先頭が `/introduce/voice/` でないため配られない。**テーマ本体の main.css は
   全ページで読まれるので、ここへ置かないと打ち消しが届かない**（手元のセルフ
   レビューの指摘・2026-09-04）。

   移行元が同じ住所で出している生きた版（`public/introduce/voice/2011_03.html`）は
   `div.local_nav` の中に `visitor/include/category_menu.shtml` を読み込むので器が
   `ul.category_menu` になり、移行元の
   `#contents .category_menu li a:hover img { opacity: 1.0 }`（style.css:1336）で
   打ち消される。**つまり移行元は不透明で見せている**（移行元の style.css に
   `.local_nav` の規則は 1 件も無い。記録版 19f499fe3 で確認）. */
.pa-company-nav a:hover img,
:is(.entry-content, .page-content__body) .category_menu a:hover img,
.archive-content--branch.pa-branch-archive .category_menu a:hover img,
:is(.entry-content, .page-content__body) .local_nav a:hover img,
.pa-page-top a:hover img {
	opacity: 1;
}

/* 移行してきた画像は元の大きさのまま貼られており、幅 2000px 級のものが
   411 件ある。この 2 行が無いとスマホ幅（375px）で横にはみ出す。実測では
   28 ページ中 15 ページが崩れ、その主因がこれだった。 */
img {
	max-width: 100%;
	height: auto;
}

/* 画像の縦揃え（Issue #2616）。
 *
 * 移行元は新デザインの共通 CSS（public/assets/css/style.css）でだけ
 * `img { vertical-align: bottom }` を持つ。旧デザインの共通 CSS
 * （public/css/import.css → common.css）は img に縦揃えを指定せず、既定の
 * baseline のままである。そのため旧デザインのページは移行元でも画像の下に
 * 文字の下端ぶんの余白が残る。
 *
 * 実測（2026-09-01・生きている移行元・幅 1440px・img を全数で数えた）:
 *   トップ              bottom 168 枚 / 全 172 枚
 *   銀座店              bottom 155 枚 / 全 159 枚
 *   会社情報            baseline 105 枚 / 全 109 枚
 *   コラム一覧          baseline 104 枚 / 全 108 枚
 *   お客様の声          baseline 105 枚 / 全 113 枚
 *   仙台店              baseline 133 枚 / 全 137 枚
 *
 * 控えの全数でも、新デザインの共通 CSS を読むのは 12 本、旧デザインの共通
 * CSS を読むのは 5,513 本である。よって共通の img へ当てると 5,513 ページが
 * 移行元から遠ざかる。デザインプロファイルで新デザインのページに絞る
 * （割り当ての正本は inc/design-profile.php）。すぐ上の
 * .pa-profile-new a:hover img と同じ理由・同じ絞り方である。 */
.pa-profile-new img {
	vertical-align: bottom;
}

/* 移行元の public/css/common.css が持つ明朝体の指定クラス。移行してくる
   HTML の 4,825 ページが class="serif" を書いているため、土台として残す。 */
.serif {
	font-family: var(--pa-font-family-serif);
}

/* 【後続 Task への申し送り】この max-width: 1200px は骨格段階の仮の値で、
   上の内側の幅トークン（--pa-inner-*）のどれとも対応しない。各セクションの
   実装（#1238 ヘッダー / #1239 フッター / #1240 トップ / #1241 店舗 /
   #1242 記事・固定ページ / #1243 一覧）は、移行元の該当ページが使う
   .l-inner-* に対応する --pa-inner-* トークンで自分のセレクタを上書きし、
   最後のセクション実装が終わったらこの共通ブロックごと削除すること。
   1200px を握ったまま実装しないこと。 */
.site-header__inner,
.site-footer__inner,
.front-page,
.page-content,
.single-content,
.archive-content,
.error-404 {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--pa-inner-gutter);
}

/* PC ファーストで組み、SP はブレークポイント以下で上書きする。
   ヘッダーのグローバルナビをスマートフォン幅で開閉する仕組みは、下の
   「ヘッダーとグローバルナビ（#1238 の編集領域）」で実装済みである。 */

/* ブロックパターン「注意書き」「お問い合わせへの導線」の囲み。
   表記・更新ルール §6.1（Issue #685）で登録するひな形が使う。 */
.pa-notice,
.pa-cta {
	padding: 24px;
	border-radius: 4px;
	margin: var(--pa-space-sm) 0;
}

.pa-notice {
	background-color: var(--pa-color-notice-bg);
	border-left: 4px solid var(--pa-color-accent);
}

.pa-cta {
	background-color: var(--pa-color-surface-muted);
	text-align: center;
}

/* サイトマップページの骨格。個々の見た目は後続のセクション実装が、上のトークンを
   参照して整える。ここでは余白と一覧の体裁だけを置く。
   見つからないページ（404）の「主なページ」の一覧と検索窓は、移行元に合わせて外した
   （Bug #9537・D761）。 */
.sitemap__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sitemap__list li {
	margin: 8px 0;
}

.sitemap__section {
	margin: var(--pa-space-sm) 0;
}

/* 全下層ページの可視パンくず（Issue #1546 / #1625）。移行元（#contents .path）は
   専用の背景も区切り線も持たず、本文の上に小さめの文字で敷いていたのでそれに
   合わせる。トップページには出さない（header.php 側で制御）。

   移行元の実測値（public/css/style.css の 1306 行 #contents .path）:
   width 1268px / margin 0 auto / padding 15px 0 0 / height 57px / font-size 11px。
   padding と height を足した外形が 1268 × 72px になる。

   🚨 **移行元の幅は固定 1268px である。**画面がそれより狭くても縮まず、器が紙面から
   はみ出して横送りで届く。実機で確かめた（幅 752px・2026-09-07・移行元の
   /introduce/story/ と /word/2023-02-12.html。どちらもパンくずの実幅 1268px で、
   文書の幅も 1268px 以上・横へ 516px と 528px 動いた）。**移行元の文書の幅が
   ヘッダー（1200px）より広い 1268px になる正体がこのパンくずである。**

   🚨 **訂正（Bug #4228・2026-09-07）。**ここは以前
   「それより狭い画面ではテーマ共通の取り方（750px 以上は width 90% + max-width、
   749px 以下は左右に --pa-inner-gutter）へ落とす」と決めていた。**これは
   「750px 以上で横スクロールを出さない」という古い方針に沿った判断で、裁定 265
   （750px 以上は移行元と同じく横スクロールを許容する）で覆った。**画面の 90% だと
   幅 1280px で 1152px（移行元より 116px 狭い）、幅 752px で 676.8px（591.2px 狭い）に
   なっていた。移行元でこのパンくずを持つパソコン向けのページは 5,357 件ある。

   🚨 **系統別の 2 つ（.pa-breadcrumb-style--branch-style-renew2 / --guide-course）の幅は
   ここで決まる。**あの 2 つは max-width: 1100px だけを持ち、幅そのものはこの規則から
   受け取る。**ここを固定 1268px にすると、あの 2 つは上限で 1100px の固定に落ちる。**
   移行元の改装版も固定 1100px（branch/assets/css/style.css の 46 行・750px 以上）
   なので、それで一致する。**あの 2 つに width を書き足してはいけない。**

   携帯幅（749px 以下）はこのファイルの下の @media が .pa-breadcrumb を display: none
   で隠し、あわせてここの幅を auto へ戻す（Issue #1627）。**この固定幅は携帯幅に
   出ない。**

   外側の nav（.pa-breadcrumb）には背景も線も置かない。移行元が持っていなかった
   区切り線をここで足すと、画面の幅いっぱいに伸びる横線が 1 本増えてしまう。 */
.pa-breadcrumb__inner {
	/* 🚨 移行元の固定幅である。割合（--pa-inner-ratio）へ戻してはいけない（Bug #4228）。
	   1268px を上限とする max-width も置かない。同じ値を上限として重ねるだけで
	   意味が無く、系統別の 2 つを 1100px に抑えるのはあちらが持つ max-width である。

	   🚨 **ただし「画面より狭くする」ための max-width は下の幅の条件で置いている**
	   （Bug #5043）。上の 2 文は「1268px という同じ値を上限として重ねるな」という
	   話で、狭い画面で縮ませることを禁じたものではない。 */
	width: 1268px;
	min-height: 72px;
	margin: 0 auto;
	padding: 15px 0 0;
	font-size: 11px;
	line-height: 1.6;
	color: #000;
}

/* 画面が 1280px より狭いときだけ、上の固定幅 1268px を画面に収める（Bug #5043）。

   直す理由は裁定 497（2026-09-07 夜のユーザー判断）である。**750〜1279px は画面幅に
   収める。1280px 以上は移行元と同じ固定にする。**移行元の `#contents .path` も
   `width: 1268px` の固定で隠す指定を持たないため、移行元でも狭い画面では横に動く。
   つまりこの直しは「移行元の再現」ではなく、裁定 497 が移行元より優先される場面である。

   🚨 **固定幅そのものは残す。**`width: 1268px` を割合へ戻すのは Bug #4228 が禁じている。
   ここは上限を足すだけなので、1280px 以上の見た目は 1px も変わらない。

   境目を 1280px 未満（`max-width: 1279px`）に置いているのは、裁定 497 の区切りが
   1279px と 1280px の間にあるためである。**縦スクロールバーのぶんの余裕は取らない。**
   このファイルの会社情報の帯（`.pa-company-nav`）は境目を帯の幅より 32px 広い
   1300px に置いているが、あちらは「負の余白で画面の外へ押し出す」仕組みで、
   バーのぶんだけ押し出しが過剰になると横にあふれる。こちらは押し出しを持たず
   上限を足すだけなので、バーの幅に左右されない。

   🚨 **系統別の 2 つ（店舗の改装版と `/guide/course/`）はここでは変わらない。**
   あちらは `body.pa-breadcrumb-style--…` を伴う詳細度 (0,2,1) の `max-width: 1100px`
   を持ち、この指定の (0,1,0) に勝つ。1200px の画面では 1100px に収まるので
   はみ出さないが、**1100px より狭い画面では同じ型のはみ出しが残る**（別 Issue）. */
@media (max-width: 1279px) {
	.pa-breadcrumb__inner {
		max-width: 100%;
	}
}

.pa-breadcrumb__inner a {
	color: #000;
}

.pa-breadcrumb__inner a:hover {
	color: #e1200f;
}

/* ==============================================================
   パンくずの器の系統（PR-共通 1・裁定 52「パンくずを共通化する」）

   移行元は**パンくずの器を 1 通りでは持たない**。器の高さだけでなく、行の高さ・
   文字色・リンクの下線まで系統で分かれる。dev は 1 通りしか持っていなかったので、
   ここで系統ごとの値を並べる。目印を付けるのは `inc/breadcrumb-style.php` で、
   投入時のメタ `_pa_source_url_path` で見分ける。

   移行元の実測（本番 www.p-a.jp を 2026-09-03 20:28〜20:33 JST に取得・幅 1440px。
   取り方は `_c1-top-gap-tools/w-f5/crumb-live2.mjs`）:

   | 系統 | 代表ページ | 器の幅×高さ | 行の高さ | 文字色 | リンクの下線 | 本数 |
   |---|---|---|---|---|---|---:|
   | 既定 | `/introduce/voice/` | 1268 × 72 | normal | 黒 | あり | 5,252 |
   | 会員紹介の詳細 | `/introduce/story/` | 1268 × 47 | normal | 黒 | なし | **624** |
   | しあわせレポートの**一覧** | `/introduce/happyreport/index.html` | 1268 × 46.5 | 16.5px | rgb(71,71,71) | なし | **1** |
   | しあわせレポートの**詳細** | `/introduce/happyreport/report_01.html` | 1268 × **47** | **normal** | **黒** | なし | 10（上の行に含む） |
   | 店舗（改装版） | `/branch/tokyo/ginza.html` | 1100 × 48.5 | 16.5px | rgb(71,71,71) | なし | 4 |
   | 店舗（旧版） | `/branch/hokkaido/sapporo.html` | 1268 × 37 | normal | 黒 | あり | 4 |

   🚨 **この表の店舗（改装版）は 2026-09-09 に作り替わった（Bug #5200）。**2026-09-03 に
   測ったときは 1100 × **40**・内余白 `10px 0 0` だったが、移行元がその後**改装版の
   店舗を `/guide/course/` と同じ形へそろえた**。いまはどちらも 1100 × **48.5**・
   内余白 **`16px 0`**・字 11px・行送り 16.5px・色 rgb(71,71,71) で**まったく同値**で
   ある（移行元の本番を 2026-09-09 13:46:36〜13:46:55 JST に 8 通りで実測）。
   **移行元の本番は作業中にも作り替わる**ので、古い実測を根拠に据え置かない。

   🚨 **高さは `height` でなく `min-height` で書く。**移行元の会員紹介の詳細は
   `height: auto` で、**中身が増えれば器も伸びる**。`height` で固定すると、文言が
   長いページで文字がはみ出す。`min-height` なら短いときの外形は移行元と同じで、
   伸び方も移行元と同じになる。

   🚨 **行の高さの `normal` は書体で値が変わる。**移行元は 11px の書体で 17px に
   なり、内余白 15px 上下と合わせて 47px の外形を作っている。dev は別の書体を使う
   ので、`normal` が 17px より大きくなると外形が 47px を超える。ここでは移行元と
   同じ書き方（`normal`）を残しつつ `min-height` で下限を押さえた。**配備後の
   検収で実際の外形を測り、47px を超えていたら行の高さを実測値で明示すること。**
   手元の型紙は `setContent` 方式で同梱の書体を読まないため、この差を捕まえられない
   （[[reference_spec_runner_setcontent_breaks_fontface]] と同じ落とし穴）。

   🚨 **この申し送りは移行元の側では終わっている（Bug #4323・2026-09-12 00:30 実測）。**
   移行元のしあわせレポートの詳細は外形**ちょうど 47px**・行の高さ `normal` だった。
   **条件は「47px を超えていたら」なので当たらない。**だから `normal` のままにする。
   `introduce-detail` の側を 17px へ書き換えると、**測っていない会員紹介 614 ページを
   道連れに動かす**ことになる。残っているのは dev を配備してから測る宿題だけである。

   🚨 **リンクの下線を一律に消さないこと。**移行元は既定と店舗（旧版）で下線を
   出している。dev の下線はいま「ページの世代（`pa-profile-new` か
   `pa-profile-legacy-compat` か）」で決まっており、パンくずの指定ではない。
   ここで系統ごとに明示して、世代に左右されないようにする。

   🚨 **QOM 総研 51 本はこの表に載せない（司令塔の裁定）。**移行元の本番が旧綴りの
   `/research/reportNN.html` に 404 を返すうえ、部品そのものが別物である
   （器が `div.breadCrumbs`・包む器が幅を絞らない・字 12px・末尾がリンクで
   太字でない）。理由は `inc/breadcrumb-style.php` の説明に書いた。
   ============================================================== */

/* 会員紹介の詳細（体験談 503 + 成婚ストーリー 111 + しあわせレポートの詳細 10 = 624 ページ）。
   移行元は `height: auto` + 内余白 15px 上下で、1 行ぶん（11px の書体で 17px）が
   そのまま外形に出て 47px になる。

   🚨 **しあわせレポートの詳細 10 ページもここへ入る（Bug #4323）。**移行元の詳細を
   測ったら 5 列（外形 47・行の高さ normal・黒・content-box・下線なし）がこの系統と
   1 つ残らず同じだった（2026-09-12 00:30 実測）。**同じ値になったのは実測が一致した
   からであって、会員紹介へ寄せたからではない。**同じ値を別の系統へ書き写すと、
   片方だけ直したときに黙ってずれるので、系統を増やさずここへ入れている. */
/* 🚨 **成婚ストーリーの一覧 3 画面にも目印が付かない**（Bug #7719）。

   目印を付ける `inc/breadcrumb-style.php` の `pa_breadcrumb_style_body_class()` は
   `if ( ! is_singular() ) { return $classes; }` で早く返る。成婚ストーリーの一覧は
   アーカイブと分類のターム一覧なので `is_singular()` が偽になり、目印が付かず素の
   `min-height: 72px` が当たっていた。幅 1440px の実測（2026-09-19 19:04）で
   移行元 47.00px 対 dev 72.00px、差は 25.00px である。

   当たり先は 3 画面ぶんの 2 つで足りる（dev の `<body>` の類名を実測して数えた）。

   | 画面 | URL | body の類名 |
   |---|---|---|
   | カテゴリトップ | `/introduce/story/` | `post-type-archive-story` |
   | すべての記事 | `/introduce/story/all/` | `post-type-archive-story` |
   | 話のまとまり | `/introduce/story/theme/kodawari/` | `tax-pa_story_theme` |

   記事の詳細（`/introduce/story/story_01/`）は
   `single single-story` ＋ `pa-breadcrumb-style--introduce-detail` で、この 2 つの
   どちらも持たない。**同じ値の系統なので、記事の詳細と同じ塊へ入れている。**

   🚨 **値を書き写さない。**同じ値を 2 か所に置くと、片方だけ直したときに黙ってずれる。
   **当たり先を足すだけ**にしてある（先例は上のしあわせレポートの一覧・Bug #7581）。
   🚨 **素の `.pa-breadcrumb__inner` は触らない。**あれは 6 画面が使う. */
body.pa-breadcrumb-style--introduce-detail .pa-breadcrumb__inner,
body.post-type-archive-story .pa-breadcrumb__inner,
body.tax-pa_story_theme .pa-breadcrumb__inner {
	min-height: 47px;
	padding: 15px 0;
	line-height: normal;
}

body.pa-breadcrumb-style--introduce-detail .pa-breadcrumb__inner a,
body.post-type-archive-story .pa-breadcrumb__inner a,
body.tax-pa_story_theme .pa-breadcrumb__inner a {
	text-decoration: none;
}

/* しあわせレポートの**一覧だけ**（`/introduce/happyreport/index.html` の 1 ページ）。
   行の高さを 16.5px で明示している系統で、文字色も黒でなく灰がかった色である。

   🚨 **詳細 10 ページはここに入らない（Bug #4323 で分けた）。**この値を作っている
   のは移行元の `assets/css/happyreport.css` 1 本で、`* { box-sizing: border-box;
   line-height: 1.5 }` と `body { color: #474747 }` を敷いている。**その 1 本を読むのは
   一覧だけ**である。以前は前置き一致で詳細 10 ページにもこの値を当てており、外形が
   0.5px 低く・行の高さと文字色が移行元と違っていた. */
/* 🚨 **一覧の画面（カテゴリトップ）には目印が付かない**（Bug #7581）。

   目印を付ける `inc/breadcrumb-style.php` の `pa_breadcrumb_style_body_class()` は
   `if ( ! is_singular() ) { return $classes; }` で早く返る。カテゴリトップは
   Task #6852・#6858 で**投稿タイプ `pa_happyreport` のアーカイブ**へ変わり
   `is_singular()` が偽になったので、目印が付かず素の `min-height: 72px` が当たって
   いた（幅 1440px の実測で移行元 46.50px 対 dev 72.00px。パンくずは上下 2 本なので
   ページの高さが 51.00px 広かった・2026-09-19 10:36）。

   🚨 **同じ型の先例が `inc/breadcrumb-style.php` の 299〜303 行に書いてある。**
   会員のホンネ体験談の一覧も同じ理由で拾えず、CSS 側で
   `body.post-type-archive-experience` に当てている。ここも同じ形にする。

   🚨 **値を書き写さない。**同じ値を 2 か所に置くと、片方だけ直したときに黙ってずれる。
   **当たり先を足すだけ**にしてある.
   🚨 **素の `.pa-breadcrumb__inner` は触らない。**あれは 6 画面が使う. */
body.pa-breadcrumb-style--happyreport .pa-breadcrumb__inner,
body.post-type-archive-pa_happyreport .pa-breadcrumb__inner {
	min-height: 46.5px;
	padding: 15px 0;
	line-height: 16.5px;
	color: #474747;
}

body.pa-breadcrumb-style--happyreport .pa-breadcrumb__inner a,
body.post-type-archive-pa_happyreport .pa-breadcrumb__inner a {
	color: #474747;
	text-decoration: none;
}

/* 店舗（改装版 6 ページ = 銀座・新宿・静岡・岡山・名古屋・横浜）。
   🚨 **この系統だけ器の幅が 1100px である**（ほかは 1268px）。高さだけ写すと
   横がずれる. */
body.pa-breadcrumb-style--branch-style-renew2 .pa-breadcrumb__inner {
	/* 🚨 **高さと内余白は 2026-09-09 に作り替わった（Bug #5200）。**移行元がこの 6 店を
	   `/guide/course/` と同じ形へそろえたため、**すぐ下の `--guide-course` と値が
	   まったく同じ**になった（1100 × 48.5・内余白 `16px 0`・字 11px・行送り 16.5px・
	   色 rgb(71,71,71)）。直す前は 40px・`10px 0 0` で、**器が 8.5px 低く本文が
	   8px 上に寄っていた**。

	   実測（移行元の本番 `/branch/tokyo/ginza.html`・2026-09-09 13:46:40〜13:46:48 JST・
	   幅 750 / 1049 / 1050 / 1440px の 4 通りで同値）:
	   幅 1100 / 高さ 48.5 / 内余白 `16px 0` / 外余白 `0 auto` / 字 11px /
	   行送り 16.5px / 色 rgb(71,71,71) / 並び順 `-1`（＝本文の上）。

	   🚨 **2 つの系統を 1 つの規則へまとめない。**この検査の一群は「系統は効いている
	   CSS 規則で数える」を前提に、系統ごとに 1 つの規則を名指しで見張っている
	   （`tests-retired/pa-cms-breadcrumb-style/`）。値がいま同じでも、移行元がまた片方だけ
	   変える見込みがあるため、規則は 2 つに分けたままにする。

	   🚨 **字の 11px は共通の `.pa-breadcrumb__inner` からも受け取れるが、ここに
	   明示する。**共通側が変わったときに、この系統だけ移行元から静かに離れるのを
	   防ぐためである。

	   🚨 **上限は `min(1100px, 100%)` である（Bug #5065）。**移行元の改装版は固定
	   1100px（`branch/assets/css/style.css` の 46 行・750px 以上）だが、それだけだと
	   **1100px より狭い画面で 1100px のまま画面からはみ出す**（幅 1000px で 100px・
	   幅 750px で 350px。2026-09-09 に 8 幅で実測）。裁定 497（750〜1279px は画面に
	   収める・1280px 以上は移行元と同じ固定）に沿って、狭い側だけ画面幅へ落とす。

	   🚨 **`width` は書き足さない**（すぐ上の `.pa-breadcrumb__inner` の注釈が禁じて
	   いる）。幅そのものは共通の 1268px から受け取り、ここは上限だけで抑える。

	   🚨 **幅の条件（`@media`）は使わない。**[#5043] が足した
	   `@media (max-width: 1279px)` の中へ書くこともできるが、**あちらの陰性対照が
	   「系統別の 1100px を書き換えていないこと」を検査している**ため、書き足すと
	   その検査も直す必要が出る。`min()` なら 1 宣言で済み、あちらの検査も動かない. */
	max-width: min(1100px, 100%);
	min-height: 48.5px;
	padding: 16px 0;
	font-size: 11px;
	line-height: 16.5px;
	color: #474747;
}

body.pa-breadcrumb-style--branch-style-renew2 .pa-breadcrumb__inner a {
	color: #474747;
	text-decoration: none;
}

/* コースと料金（`/guide/course/`）1 ページ（Task #3649）。
   移行元は新デザインの世代である。**すぐ上の店舗の改装版と、幅 1100px・行送り
   16.5px・文字色 #474747・リンクの下線なしまで同じ**で、**器の高さと内余白だけが
   違う**（高さ 48.5 対 40・内余白 上下 16 対 上だけ 10）。

   移行元の実測（本番を幅 1440px で・2026-09-05）:
   `div.path` は x=170 / 幅 1100 / 高さ 48.5 / 内余白 16px 0 16px /
   字 11px / 行送り 16.5px / 色 rgb(71,71,71)。リンクは同じ色で下線なし、
   末尾の `<strong>` は太さ 700 で同じ色である。

   直す前の写しは x=86 / 幅 1268 / 高さ 72 / 色 黒で、**帯が 23.5px 高いぶん
   本文がまるごと 23px 下がっていた**. */
body.pa-breadcrumb-style--guide-course .pa-breadcrumb__inner {
	/* 上限は `min(1100px, 100%)` である（Bug #5065）。理由はすぐ上の
	   `--branch-style-renew2`（移行元が `style_renew2.css` を読む店舗）の
	   注釈と同じで、**1100px より狭い画面で画面からはみ出す**のを防ぐ。
	   `width` は書き足さない.

	   🚨 **すぐ上の `--branch-style-renew2` と値がまったく同じである**（Bug #5200 で移行元が
	   両者をそろえた）。**片方だけ直さない。**規則を 2 つに分けたままにする理由は
	   すぐ上の注釈に書いた. */
	max-width: min(1100px, 100%);
	min-height: 48.5px;
	padding: 16px 0;
	font-size: 11px;
	line-height: 16.5px;
	color: #474747;
}

body.pa-breadcrumb-style--guide-course .pa-breadcrumb__inner a {
	color: #474747;
	text-decoration: none;
}

/* 店舗（旧版 4 ページ = 札幌・仙台・高崎・福岡）。
   既定と同じ黒・下線ありで、器の高さと内余白だけが違う. */
body.pa-breadcrumb-style--branch-style-renew .pa-breadcrumb__inner {
	min-height: 37px;
	padding: 10px 0 0;
	line-height: normal;
}

body.pa-breadcrumb-style--branch-style-renew .pa-breadcrumb__inner a {
	text-decoration: underline;
}

/* 成婚コンシェルジュ（`/concierge/`）1 ページ（Bug #4471）。

   移行元は自前の CSS（`concierge/css/style.css` 16〜20 行）で
   `#contents .path { padding-top: 14px; height: 23px }` を書く。**箱の数え方は
   content-box なので外形は 14 + 23 = 37px** である。dev は境目のない既定
   （72px）に落ちていたので、上下 2 本のパンくずが 35px ずつ高かった。

   🚨 **リンクの下線を出さない。**移行元は同じファイルの 21〜24 行で
   `#contents .path a { text-decoration: none }` を書いており、**下線は載せると
   移行元と食い違う**（`:hover` のときだけ出る）。

   🚨 **店舗（旧版）の系統と値が同じ 37px だが、内余白が違う**（あちらは上 10px・
   こちらは上 14px）。同じ規則にまとめると、どちらかの内余白が食い違う. */
body.pa-breadcrumb-style--concierge .pa-breadcrumb__inner {
	min-height: 37px;
	padding: 14px 0 0;
	line-height: normal;
}

body.pa-breadcrumb-style--concierge .pa-breadcrumb__inner a {
	text-decoration: none;
}

/* 会員のホンネ体験談の一覧（Bug #4471）。

   移行元は会員紹介の CSS（`introduce/css/style_introduce_experience.css` 31〜33 行）で
   `#contents .path { height: auto; padding: 15px 0 }` を書く。1 行ぶん（11px の書体で
   17px）がそのまま外形に出て **47px** になる（11 班が移行元を幅 1440px で実測して
   47.00px・dev は 72.00px だった。2026-09-07）。**上下 2 本とも同じ差である。**

   🚨 **系統の目印は使えない。**目印を付ける `pa_breadcrumb_style_body_class()` は
   `is_singular()` で早く返るため、投稿型の一覧には付かない。そこで体の目印
   （`post-type-archive-experience`）で当て先を絞る。**同じ形の前例がすぐ下の
   リンクの下線（Bug #3846）である。**

   🚨 **会員紹介の詳細の系統（`--introduce-detail`）と同じ値にそろえている。**
   移行元が読む CSS が同じなので、片方だけ変えないこと. */
body.post-type-archive-experience .pa-breadcrumb__inner {
	min-height: 47px;
	padding: 15px 0;
	line-height: normal;
}

/* QOM総研のレポート 51 ページは、**テーマのパンくずを描かない**（Bug #3361）。

   移行元の 1 本は投入で本文の中に残っている（`div.breadCrumbs`）。器の種類も
   末尾の作りも移行元と同じなのはそちらなので、そちらを移行元の寸法へそろえる。
   テーマの上下 2 本は `pa_breadcrumb_should_hide()` が止める。
   同じ形の前例が会員紹介の入口 2 本（`/introduce/result.php`・`search.php`）にある。

   移行元の本番の実測（2026-09-04 13:35 JST・`/research/report26.html`・幅 1440px）

     器 `div.breadCrumbs` / 左端 0 / 幅 1440（画面いっぱい）/ 高さ 18 / 字 12px
     末尾は `span` で太さ 400（太字でない）

   直す前の dev（2026-09-04 13:36 JST・`/research/report26/`・幅 1440px）

     左端 170 / 幅 1100 / 高さ 24 / 字 16px ← 本文の器に入り、字を受け継いでいる

   🚨 **`vw` を使うのは、移行元自身が「幅を絞らない器」で画面いっぱいになって
   いるからである**（司令塔の裁定 2026-09-04）。ほかに相当する手が無い。当て先は
   この系統の 51 ページの本文の中の `.breadCrumbs` だけに絞ってある。

   `margin-inline` の百分率は**親の内容の幅**が基準になる（1100px）。
   `50% - 50vw` = 550 - 720 = -170px で、左端が 0 に戻る。

   高さは字の大きさで決まる（行の高さ 1.5 × 12px = 18px）。直す前が 16px で 24 だった
   のと同じ比である. */
body.pa-breadcrumb-style--research-report .breadCrumbs {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	font-size: 12px;
}

/* 既定（5,252 ページ）はリンクに下線を出す。移行元の `/introduce/voice/` を
   実測して確かめた（下線あり）。いまは世代まかせで下線が付いているので、
   ここで明示して系統の表と対にする. */
body:not([class*="pa-breadcrumb-style--"]) .pa-breadcrumb__inner a {
	text-decoration: underline;
}

/* 🚨 **指を乗せたときの下線の消え方を保つ。**このファイルの `a:hover` は
   `text-decoration: none` を持つが、詳細度は 0,1,1 しかない。上で足した系統の
   規則（0,2,2）はそれより強いので、手当てをしないと**下線を出す 2 系統だけ
   指を乗せても下線が消えなくなる**（既定の 5,252 ページと店舗の旧版 4 ページ）。
   同じ詳細度の `:hover` を並べて、いまの見え方をそのまま残す。

   **移行元も指を乗せたときに下線を消す。**本番の `/introduce/voice/` で実測した
   （2026-09-03 21:02 JST。素のとき `underline` → 指を乗せると `none`・色は
   rgb(225,32,15)）。dev の `.pa-breadcrumb__inner a:hover` が持つ色 `#e1200f` は
   同じ値なので、色も含めて移行元と一致している. */
body:not([class*="pa-breadcrumb-style--"]) .pa-breadcrumb__inner a:hover,
body.pa-breadcrumb-style--branch-style-renew .pa-breadcrumb__inner a:hover {
	text-decoration: none;
}

/* 🚨 **会員のホンネ体験談の一覧だけは下線を出さない（Bug #3846）。**
 *
 * 移行元はこの画面で `style_introduce_experience.css` の 28〜29 行が
 * `a { text-decoration: none; }` を書き、**ページの中のリンク全部の下線を消している**
 * （記録版 `1fbfa9dda`）。移行先は同じ画面のほかのリンク 41 本がもともと下線なしなので、
 * ここではパンくずだけを消せば移行元と一致する。
 *
 * 実測（幅 1440px・2026-09-05 17:35〜18:38 JST・両側）: 移行元はパンくずの 2 本とも
 * `text-decoration: none`、移行先は `underline`。字（11px）と色（`rgb(0, 0, 0)`）は一致
 * しており、**違うのは下線だけ**である。
 *
 * 🚨 **系統の目印（`pa-breadcrumb-style--…`）は使えない。**あの目印を付ける
 * `pa_breadcrumb_style_body_class()` は `is_singular()` で早く返るため、**一覧の画面には
 * 付かない**（`inc/breadcrumb-style.php` の 190 行）。詳細ページが `introduce-detail` の
 * 系統に入って下線が消えているのに、一覧だけ既定へ落ちて下線が出ていたのはこのためである。
 * 目印を一覧へ広げると、その系統が持つ器の寸法（高さ 47px・内余白 15px・行の高さ normal）
 * まで当たってしまう。**下線だけを直したいので、体の目印で当て先を絞る。**
 *
 * 🚨 **当て先を広げない。**同じ `/introduce/` の配下でも、移行元が下線を出すページがある
 * （会員プロフィールと活動実績・成婚MOVIE・社員紹介の詳細）。13 班が 9 種類のページを
 * 両幅で数え、差はこの画面の 4 件だけだった。
 *
 * 詳細度は上の既定の規則と同じ (0,2,2) なので、**後ろに置くことで勝たせている**。
 * 絞り込みの結果（`?tab=1〜4`）と 2 ページ目以降（`/page/2/`）も同じ型紙で出るため、
 * この目印 1 つでまとめて直る（詳細ページは別の目印なので当たらない）. */
body.post-type-archive-experience .pa-breadcrumb__inner a {
	text-decoration: none;
}

/* 末尾（いま見ているページ）を太字にする。移行元は末尾だけを `<strong>` で囲み、
 * 共通の reset がその太さを維持している。テーマは末尾を素の `<span>`（`inc/breadcrumb.php`
 * が出す `.breadcrumb_last`）で出しており、太さの指定が写されていなかったため
 * 細字で出ていた（Bug #2290）。
 *
 * 実測（移行元を稼働中のサイトから採取・2026-08-27・幅 1440px）。4 区画とも
 * `<strong>` の計算後の太さは 700 だった。
 *
 * | 区画 | 移行元の末尾 | 太さ |
 * |---|---|---:|
 * | 会社情報 `/company/news/` | `<strong><a>NEWS&TOPICS</a></strong>` | 700 |
 * | サービス `/service/` | `<strong>コンセプト</strong>` | 700 |
 * | 支店紹介 `/branch/` | `<strong>支店紹介</strong>` | 700 |
 * | 会員紹介 `/introduce/experience/` | `<strong>会員のホンネ体験談</strong>` | 700 |
 *
 * **末尾がリンクかどうかは区画で違う。** 会社情報のニュース一覧だけが `<strong>` の
 * 中にリンクを持ち、他の 3 区画は文字だけである。ここでは太さだけを直し、リンクに
 * するかどうかは別 Issue（[#2291](https://github.com/mationinc/wp-platform/issues/2291)）の担当に任せる。
 *
 * 文字色は別 Issue（#2302）で、上の `.pa-breadcrumb__inner` とそのリンクだけを
 * 移行元と同じ黒へ直す。太さの規則は文字色に関与しない. */
.breadcrumb_last {
	font-weight: 700;
}

@media (max-width: 749px) {
	/* 移行元のスマートフォン版は、下層ページにパンくずをほぼ出していなかった
	   （移行元 public/sp/ の HTML 5,425 本のうち .path を持つのは 55 本だけで、
	   しかも本文の下端に置いていた。計測に使った /visitor/method/ にも無い）。
	   このテーマはパソコン版とスマートフォン版で 1 つの HTML を共有するため、
	   パソコン版のために本文の上へ出しているパンくずが、この幅でも出てしまう。
	   ここで隠して移行元へ合わせる（Issue #1627）。
	   構造化データ（Yoast SEO の BreadcrumbList）は head の中で別に出ている
	   ので、見た目を隠しても検索エンジンへ渡す情報は失われない。
	   下の .pa-breadcrumb__inner の指定は、この display: none を外して
	   パンくずを出す判断になったときのために残してある. */
	.pa-breadcrumb {
		display: none;
	}

	/* 🚨 店舗の一覧 /branch/ だけは、移行元スマホ版がパンくずを持つ 55 本の 1 つ
	   である（Task #3691・司令塔の裁定 147）。上の一律の指定に隠されていた。

	   **移行元はパソコン版と携帯版で置き場所が丸ごと違う。**パソコン版は本文の
	   先頭、携帯版は本文の末尾（共通の帯 conv-banner の直前 = サイトの足の直前）
	   に置く。どちらの幅でも見えるのは 1 個だけである。

	   そこでこの幅では、上側は隠したまま**下側だけを見せる**。下側を組みとして
	   出す判定は footer.php にあり、パソコン幅ではそちらを CSS で隠す。
	   （Issue #3207 から、店舗の書庫は型紙が帯の直前に出す。`inc/branch-archive-legacy-parts.php` の
	   `pa_branch_archive_sp_bottom_crumb()`。当たる規則はこのままである。）

	   移行元スマホ版の実測（本番・第三者のポップアップを外して測定・2026-09-05）:
	   外形は 320px 幅で 320 × 40・375px 幅で 375 × 40・749px 幅で 749 × 20。
	   375px で 2 行に折り返すため高さが 40 になる。外余白 39px 0・内余白 0 26px・
	   字 13px・太さ 400・黒・行送り normal.

	   ------------------------------------------------------------------
	   🚨 支店紹介の残り 41 ページも同じ姿である（ユーザー決定 D64・Bug #5548）
	   ------------------------------------------------------------------
	   店舗の詳細 17 ページと地域一覧 24 ページ（エリア 8 ＋ 都道府県 16）も、
	   移行元スマホ版が本文の下にパンくずを 1 つ持つ。組みを出す判定と目印
	   （`pa-breadcrumb--bottom-branch-sp`）は footer.php にある。

	   **当たり先を分けずに 1 つの規則で書いているのは、移行元の値が同じ 1 本の
	   規則から出ているからである。**店舗一覧・店舗の詳細・地域一覧は、移行元
	   スマホ版で `/sp/css/basic.css` と `/sp/css/style.css` を 3 者とも読む。

	     basic.css  全要素のリセット  font-size: 13px / font-weight: normal
	     style.css  .path            margin-block: 3em / padding-inline: 2em

	   字が 13px に固定されているので `3em` = 39px・`2em` = 26px になり、
	   上の実測（外余白 39px 0・内余白 0 26px・字 13px・太さ 400）とぴたり合う。
	   **`vw` ではないので幅を変えても動かない**（749px 幅の実測が 1 行になり
	   高さ 20 だったのは、折り返しが消えたためである）。

	   🚨 **値を 2 か所に分けて持たせない。**移行元がこの 1 本の規則を変えたら、
	   写す側も 1 か所で追いつくようにしておく. */
	body.post-type-archive-branch .pa-breadcrumb--bottom,
	.pa-breadcrumb.pa-breadcrumb--bottom-branch-sp {
		display: block;
		margin: 39px 0;
		padding: 0;
	}

	body.post-type-archive-branch .pa-breadcrumb--bottom .pa-breadcrumb__inner,
	.pa-breadcrumb--bottom-branch-sp .pa-breadcrumb__inner {
		width: auto;
		min-height: 0;
		/* 移行元スマホ版 .path の内余白。上の一律の 8px は縦に空きを作るので上書き. */
		padding: 0 26px;
		color: #000;
		font-size: 13px;
		line-height: normal;
		white-space: normal;
		word-break: break-word;
	}

	body.post-type-archive-branch .pa-breadcrumb--bottom .pa-breadcrumb__inner a,
	.pa-breadcrumb--bottom-branch-sp .pa-breadcrumb__inner a {
		color: #000;
	}

	.pa-breadcrumb__inner {
		width: auto;
		min-height: 0;
		padding: 8px var(--pa-inner-gutter);
		font-size: 10px;
		white-space: normal;
		word-break: break-word;
	}

	/* 🚨 移行元が共通の初期化を読まない 7 ページ（新デザイン。トップは
	   パンくずを持たないので外れる）は、この幅でパンくずをページの下端に出す
	   （Task #3662・司令塔の裁定 157 と 165）。上の一律の `display: none` に
	   隠されていた。組みを出す判定は `footer.php` にある。

	   **2 つの当て先に分けるのは、移行元の値がページの種類で違うからである。**

	     | 種類 | 箱 | 字 | 内余白 | 外余白 |
	     |---|---|---|---|---|
	     | 店舗 6 件 | **333 × 42**（x=21） | **14px** / 行送り 21px | 0 | 0 |
	     | `/guide/course/` | **375 × 42.94**（x=0） | **14.313px** / 行送り 1.5 | 左右 28.626px | 上下 42.939px |

	   実測は移行元の本番（第三者のポップアップを外して測定・2026-09-05 21:5x JST・
	   幅 375px・iPhone 12 の名乗り）。店舗は銀座店と岡山店で同じ値だった。
	   証跡は `pa-verify-assets/f15-common-0905/3662-legacy-*.json`。

	   🚨 **当て先は 2 つの目印を重ねて書く**（`.pa-breadcrumb` と
	   `.pa-breadcrumb--bottom-new-asset`）。上の `.pa-breadcrumb { display: none }`
	   と詳細度が並ぶと**書いた順で勝ち負けが決まり**、規則を動かした人が黙って
	   壊せるためである（正本 `reference_injected_patch_hides_declaration_order`
	   と同じ型）.

	   🚨 **境目は 750px にそろった（Bug #5200・2026-09-09）。**以前は店舗 6 件だけ
	   1050px で切り替わる帯を持っていたが、**移行元がパンくずを 2 枚から 1 枚 ＋
	   `order` の作りへ変え、境目を 750px にした**ので帯を外した。いまは
	   **749px 以下がここ（下を出す）／750px 以上が下の `@media (min-width: 750px)`
	   （下を隠す）**の 2 か所だけで決まる. */
	.pa-breadcrumb.pa-breadcrumb--bottom-new-asset {
		display: block;
		margin: 0;
		padding: 0;
	}

	/* 店舗 6 件。🚨 **2026-09-09 に移行元が作り替えた（Bug #5200）。**以前は器
	   （`.footer-before`）の左右に 21px を持ち、中のパンくずが 333 × 42・字 14px・
	   行送り 21px だった。いまは**`/guide/course/` とまったく同じ作り**で、同じ
	   1 つの `div.path` が `order: 1` で下へ動き、値は**画面の幅に比例する**。

	   移行元の実測（本番 `/branch/tokyo/ginza.html`・幅 375px・携帯の名乗り・
	   2026-09-09 13:46:36 JST）: 幅 375 / 高さ 64.4（3 行）/ 内余白
	   `0 28.626px` / 外余白 `42.9389px 0` / 字 14.313px / 行送り 21.4695px /
	   色 rgb(71,71,71) / 並び順 `1`（＝ページの最下部）。

	   🚨 **外側の nav の 21px は外す。**移行元は左右の余白を器（`.path`）自身の
	   内余白として持つので、テーマも中の器へ置く。nav に 21px を残すと**左右が
	   合計 49.6px になり、移行元より 21px 内側から字が始まる**。

	   値の換算は下の `/guide/course/` の注釈と同じである（移行元の
	   `html { font-size: 2.5445292621vw }` を掛けた形で書く）。**px で固定すると
	   375px 以外の幅で移行元から離れる**（幅 749px では字が 28.588px になる）. */
	body.single-branch .pa-breadcrumb--bottom-new-asset .pa-breadcrumb__inner {
		width: auto;
		min-height: 0;
		margin: calc(4.5 * 2.5445292621vw) 0;
		padding: 0 calc(3 * 2.5445292621vw);
		color: #474747;
		font-size: calc(1.5 * 2.5445292621vw);
		line-height: 1.5;
		white-space: normal;
		word-break: break-word;
	}

	body.single-branch .pa-breadcrumb--bottom-new-asset .pa-breadcrumb__inner a {
		color: #474747;
	}

	/* `/guide/course/` 1 ページはパンくずを出さない（ユーザー決定 D65 改・Bug #5576）。

	   🚨 **移行元とは意図して食い違う。**移行元の本番はこのページのパンくずを携帯幅で
	   本文の**下**に出している（ページ別 CSS `guide/course/assets/css/style.css` の
	   33 行が `.path { order: 1 }` を持ち、750px 以上でだけ `order: -1` へ戻す）。
	   それでも出さないのがユーザーの判断である——「共通部品はページごとの差をなくして
	   統一し、サイトの品質を上げる。スマホ版は下部にパンくずを置かないのが基本」。
	   意図的変更の台帳に 1 行載せてある。

	   上のパンくずは同じ幅の `.pa-breadcrumb { display: none }` が既に隠すので、
	   この 1 本で画面に出る数が 0 個になる。

	   🚨 **PHP は触らない。**`$pa_new_asset_bottom_crumb` は「先頭へ戻る」をパンくずの
	   後ろに出す判定も兼ねている（Bug #3997）。組みを出すのをやめると並びが動く。

	   🚨 **店舗 6 店へ広げない。**新デザインの店舗 6 店は携帯幅で下に出したままである
	   （移行元も下）。当たり先の `body.pa-breadcrumb-style--guide-course` は
	   `inc/breadcrumb-style.php` の `'/guide/course/' === $path` で**このページだけ**に付く。

	   🚨 **ここに在った寸法の規則 2 本（宣言 10 個）は消した。**隠したあとは
	   **どの幅でも描かれない**のに、`tests-retired/pa-cms-new-asset-sp-crumb/` の 4 件が
	   そのうち 4 宣言（字・内余白・外余白・行送り）を 1 つずつ見張っていた。
	   **宣言は残るので検査は落ちず、「通るのに描かれない」形になる。**次に触る人が
	   「携帯幅で寸法を合わせてある」と読んで逆向きに直すため、検査ごと消してある
	   （司令塔の判断）。

	   🚨 **パソコン幅の寸法は別の規則が持っており、触っていない**
	   （`body.pa-breadcrumb-style--guide-course .pa-breadcrumb__inner`。
	   消したのは `--bottom-new-asset` の下にある携帯幅ぶんだけである）. */
	body.pa-breadcrumb-style--guide-course .pa-breadcrumb.pa-breadcrumb--bottom-new-asset {
		display: none;
	}

	/* 移行元のスマートフォン版は、末尾の `<strong>` を太字にしない（共通 reset が
	   この幅では太さを 400 へ戻す）。実測は移行元を携帯の名乗りで開いた
	   `/branch/`（パンくずを持つ 55 本のうちの 1 つ）で、計算後の太さが 400・
	   文字 13px だった（2026-08-27）。
	   すぐ上の `display: none` があるため、いまこの指定は画面に出ない。パンくずを
	   出す判断になったときに移行元と食い違わないよう、`.pa-breadcrumb__inner` の
	   指定と同じ考え方で残しておく. */
	.breadcrumb_last {
		font-weight: 400;
	}
}

/* 🚨 店舗の一覧 /branch/ の本文の下のパンくずは、パソコン幅では出さない
   （Task #3691・司令塔の裁定 147・2026-09-05）。

   移行元パソコン版は本文の**先頭**に 1 個だけ置く（本番の実測で `.path` が 1 個・
   `#contents` の直後）。移行元スマホ版は本文の**末尾**に 1 個だけ置く。置き場所が
   幅で丸ごと違うので、テーマは**両方を組みとして出し、要らないほうを隠す**。

   ここで隠すのはパソコン幅の下側である。携帯幅で上側を隠す指定は、このファイルの
   `@media (max-width: 749px)` の中にある。**どちらの幅でも見えるのは 1 個だけ**に
   なる。

   `display: none` なので読み上げにも出ない。構造化データ（Yoast SEO の
   BreadcrumbList）は head の中で別に出ているため、検索エンジンへ渡す情報は
   失われない。

   Task #3267（裁定 2026-09-04）で一覧を下側から外したのは**パソコン幅の話**で、
   携帯幅で下側を見せることと矛盾しない. */
@media (min-width: 750px) {
	/* 🚨 支店紹介の 41 ページ（店舗の詳細 17 ＋ 地域一覧 24）も、パソコン幅では
	   下側を出さない（ユーザー決定 D64・Bug #5548）。移行元パソコン版は本文の
	   先頭に置く。**すぐ上の @media (max-width: 749px) の「見せる」と対である**
	   ので、片方だけ消さないこと（消すとパソコン幅で 2 個出る）.

	   🚨 **東京エリアの入口 3 件と新デザインの 8 ページはここに入らない。**
	   あの 2 群は移行元パソコン版が上下 2 個を置くので、パソコン幅でも下を出す。
	   目印を付ける判定（footer.php）が最初からあの 2 群を外している. */
	body.post-type-archive-branch .pa-breadcrumb--bottom,
	.pa-breadcrumb--bottom-branch-sp {
		display: none;
	}

	/* 🚨 新デザインの 7 ページの下側は、パソコン幅では出さない（Task #3662）。
	   移行元はこの幅で上側だけを出す.

	   🚨 **店舗 6 件もここに含まれる（Bug #5200・2026-09-09）。**以前は店舗だけ
	   1050px で切り替える帯（`@media (min-width: 750px) and (max-width: 1049px)`）が
	   これを上書きしていたが、**移行元が境目を 750px にそろえた**ので帯を外した。
	   いまは 7 ページすべてがこの 1 つの規則で下側を隠す. */
	.pa-breadcrumb--bottom-new-asset {
		display: none;
	}
}

/* 🚨 **新デザインの店舗 6 ページの境目は 750px である（Bug #5200・2026-09-09）。**
   **`/guide/course/` とまったく同じで、パンくずを上下に入れ替える幅は 1 つになった。**

   以前ここには `@media (min-width: 750px) and (max-width: 1049px)` の帯があり、
   750〜1049px の 300px 幅だけ上側を隠して下側を出していた（Bug #3942）。当時の
   移行元は**パンくずを 2 つ持ち**（上 `div.bread.pc-only`・下 `div.bread.sp-only`）、
   `@media (min-width: 1050px)` で出し分けていたためである。

   🚨 **移行元はその後、同じ 1 つの `div.path` を `order` で動かす作りへ変えた。**
   `order: 1` が 749px 以下（＝ページの最下部）、`order: -1` が 750px 以上（＝本文の
   上）で、境目は **750px** である。移行元の CSS
   （`branch/assets/css/style.css` の `.page-layout-wrapper .path`）にも
   `@media screen and (min-width: 750px)` として書かれている。

   実測（移行元の本番 `/branch/tokyo/ginza.html`・2026-09-09 13:46:36〜13:46:48 JST）:

   | 幅 | 並び順 | 出ている側 |
   |---:|---|---|
   | 375px（携帯の名乗り） | `1` | 下 |
   | 750px | `-1` | **上** |
   | 1049px | `-1` | **上** |
   | 1050px | `-1` | 上 |
   | 1440px | `-1` | 上 |

   よって帯そのものを外した。いまは 749px 以下が下（このファイルの
   `@media (max-width: 749px)` が上側を隠す）、750px 以上が上
   （`@media (min-width: 750px)` が下側を隠す）で、**境目を持つ規則は 2 系統に減った**
   （携帯幅の 749px と、下側を隠す 750px）。**旧デザインの店舗 40 ページは
   下側のパンくずをそもそも出さない**ので、この帯を外しても影響は無い
   （`$pa_branch_hide_bottom_crumb` が出力を止める）. */

/* 会社情報のカテゴリメニュー（Bug #1656）。移行元は会社情報の 7 ページで、
   6 項目のリンク画像を横 1 列の帯に並べている。マークアップを出すのは
   template-parts/company-category-nav.php で、出す条件は
   inc/company-category-nav.php が持つ。

   移行元の実測値（public/css/style.css の #contents .category_menu・1324〜1330 行。
   public/css/page_company.css の 43〜49 行も同じ値である）:
   width 1186px / height 49px / padding 1px 0 0 82px / margin 0 auto /
   background は bg_category_menu.gif の repeat-x。
   移行元は box-sizing が既定（content-box）なので、外形は
   幅 1186 + 左の余白 82 = 1268px、高さ 49 + 上の余白 1 = 50px になる。
   2026-08-10 に幅 1440px で測った移行元の実測（1268 × 50 / 左端 x=86）と一致する。

   このテーマは box-sizing: border-box を全体に効かせているため、同じ外形を出すには
   width と height に外形の値（1268px と 50px）を書く。

   帯の背景画像（bg_category_menu.gif・40 × 50px）は、Bug #1433 の対応時には
   「移行できておらず参照すると 403 になる」状態だった。この Task でテーマの
   assets へ持ち込んだので、ここでは移行元どおり敷く。 */

/* この帯は、ページの柱（.page-content）の中に置かれる。柱の内側は 1,100px しか
   なく、移行元の 1,268px より 168px 狭い。差の半分を左右の負の余白で押し出して、
   移行元と同じ外形へ戻す。

   押し出す量は計算式で書き、柱の幅を数値で書き写さない。負の余白の 100% は
   「柱の内側の幅」を指すので、柱の幅を決めるトークン（--pa-inner-ex）が変わっても
   自動で追いつく。数値で書くと、トークンを変えた人がここを直し忘れて帯がずれる。

   最終的な帯の幅と位置を決めているのは、下の .pa-company-nav__list の
   max-width: 1268px と margin: 0 auto である。押し出しは「1,268px を置けるだけの
   場所を作る」役目だけを持つ。押し出しが数 px 多くても、帯は 1,268px で中央に
   そろう（囲みの nav には背景も枠も無いので、余った数 px は見えない）。

   押し出すのは画面が広いときだけにする。狭い画面で押し出すと、帯が画面より広く
   なって横スクロールが出るためである。狭いときは柱の幅に収める（移行元は 1,268px の
   固定で組まれていて、それより狭い画面には写す相手が無い）。

   切り替えの境目を帯の幅ちょうど（1,268px）ではなく 1,300px に置いているのは、
   縦スクロールバーのぶんの余裕を取るためである。メディアクエリの幅はバーの幅を
   含むが、実際に中身を置ける幅は含まない。境目を 1,268px にすると、ちょうどその
   幅の画面で帯がバーのぶんだけあふれる（幅 1,268px で実測して 5px あふれた）。
   余裕の 32px は、バーが最も太い環境（Windows の既定は 17px）でも足りる。

   画面の幅を表す単位（vw）で押し出さないのは、vw が縦スクロールバーの幅を含み、
   バーが場所を取る環境で横にあふれるためである（同じ事情をこのファイルの
   「店舗ページの横方向のはみ出し」の節にも書いてある）. */
@media (min-width: 1300px) {
	.pa-company-nav {
		margin-inline: calc((100% - 1268px) / 2);
	}
}

.pa-company-nav__list {
	display: flex;

	/* 画像は器の高さ（padding を除いた 49px）へ引き伸ばさず、上端に並べる。
	   移行元も li を float: left で上端にそろえている. */
	align-items: flex-start;
	width: 100%;
	max-width: 1268px;
	height: 50px;
	margin: 0 auto;
	padding: 1px 0 0 82px;
	background: url("../images/company/bg_category_menu.gif?ver=a1247559d2f8") repeat-x;
	list-style: none;
}

/* 移行元は li を float: left で横に並べ、間隔を空けていない。ここでは flex に
   置き換えた。理由は本文向けの .category_menu と同じで、float は回り込みを
   解除する手当てが要るうえ、画面が狭いときに縮められないためである。
   間隔を空けない点は移行元のままなので、gap は置かない。

   min-width: 0 は、器が 6 枚の画像の合計より狭いときに縮められるようにするための
   ものである。flex の並びの中の箱は既定で min-width: auto を持ち、中身より小さく
   なれない。いまは画像に共通の指定（max-width: 100%）が効いていて結果として縮む
   が、その指定に頼らずここで明示しておく（Codex のレビュー指摘）. */
.pa-company-nav__item {
	margin: 0;
	min-width: 0;
}

.pa-company-nav__link {
	display: block;
}

/* 画像の縦横比は、出す寸法から作った値で固定する。値はテンプレートが画像 1 枚ずつ
   `--pa-company-nav-image-ratio` として渡す（template-parts/company-category-nav.php）。

   比を書かずに高さを auto にすると、閲覧環境は属性ではなく画像の原寸の比で高さを
   決める。直書き版の社会貢献は原寸 150 × 49px を幅の属性 100 で横へ潰して見せて
   いるため、その 1 枚だけが 100 × 32.7px の別の形になってしまう（実測で確かめた差）。

   高さを 49px と書いて固定する手もあるが、それだと器が狭くなって画像が縮むとき
   （幅 750〜830px あたり）に横だけが縮んで形がゆがむ。比で決めておけば、縮んでも
   移行元と同じ形のまま小さくなる。

   既定値に auto を置くのは、値が渡らなかったときの備えである。対応表に幅か高さの
   どちらかが欠けている項目があると、テンプレートはこの値を渡さない。既定値が無いと
   aspect-ratio が無効な指定になり、画像の高さが決まらず崩れる。auto にしておけば、
   その 1 枚だけが画像の原寸の比で描かれる（この指定を入れる前と同じ見え方）ので、
   並びが崩れることはない. */
.pa-company-nav__image {
	display: block;
	height: auto;
	aspect-ratio: var(--pa-company-nav-image-ratio, auto);
}

/* マウスを載せたときの画像の差し替え（移行元の差 B）。

   移行元は public/js/rollover.js が、目印 `imgover` の付いた画像のファイル名を
   `_off.` から `_ov.` へ書き換えていた。このテーマは移行元の JavaScript を極力
   持ち込まない方針なので、同じ結果を CSS の content で出す。差し替えは移行元と
   同じく瞬時で、画像の寸法も `_off` 版と `_ov` 版で同一（幅は項目ごと・高さは
   すべて 49px）なので、載せたときに並びがずれることはない。

   content で画像を差し替える書き方は、Chrome・Edge・Safari が古くから、Firefox も
   128（2024 年 7 月）から扱える。 */
.pa-company-nav__link:hover .pa-company-nav__image--menu01 {
	content: url("../images/company/menu01_ov.gif?ver=769c41a15104");
}

.pa-company-nav__link:hover .pa-company-nav__image--menu02 {
	content: url("../images/company/menu02_ov.gif?ver=e07e1119596c");
}

.pa-company-nav__link:hover .pa-company-nav__image--menu03 {
	content: url("../images/company/menu03_ov.gif?ver=b7e7597fe3ea");
}

.pa-company-nav__link:hover .pa-company-nav__image--menu04 {
	content: url("../images/company/menu04_ov.gif?ver=612ff43df265");
}

.pa-company-nav__link:hover .pa-company-nav__image--menu06 {
	content: url("../images/company/menu06_ov.gif?ver=c6a093b6c837");
}

.pa-company-nav__link:hover .pa-company-nav__image--menu07 {
	content: url("../images/company/menu07_ov.gif?ver=f38fe06e1870");
}

/* 現在地として強調している項目は差し替えない。移行元も強調中の項目には `_ov` の
   画像を直接書いており、public/js/rollover.js は `_off` の画像しか差し替えの対象に
   しないためである。上の 6 つの指定と強さが同じなので、後ろに置いて打ち消す。
   強調を出すのは直書き版の 4 ページだけで、どの項目を強調するかは
   inc/company-category-nav.php の対応表が持つ. */
.pa-company-nav__link:hover .pa-company-nav__image--current {
	content: normal;
}

/* ページ最下部の「先頭へ戻る」（移行元の差 C）。マークアップを出すのは
   template-parts/company-page-top.php である。

   移行元の実測値（public/css/style.css の .page_topArea・1874〜1877 行と
   .page_top・1879〜1883 行）: 囲みが width 1100px / margin 0 auto、中の段落が
   float: right / padding 40px 0 0 である。float は右寄せのためだけに使われて
   いるので、ここでは text-align: right に置き換える（本文向けの .page_top も
   同じ置き換えをしている）. */
.pa-page-top {
	width: var(--pa-inner-ratio);
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 0 0;
	text-align: right;
}

/* 新デザインの店舗 7 件で、本文の下のパンくずと「TOP」の押しボタンの帯を白く塗る
   （Bug #6114）。

   ------------------------------------------------------------------
   何が違っていたか
   ------------------------------------------------------------------
   移行元はこの区画を**白い面 2 枚**で塗る（本番の `branch/assets/css/style.css`・
   md5 `614ae6c36effc9c48dc89169c584c659`）。

     .page-layout-wrapper { background-color: #fff;
                            @media screen and (min-width: 750px) { background-color: transparent } }
     .page-gotop         { background-color: #fff; }   ← 幅の条件を持たない

   dev はこの 2 つに当たる背景を 1 本も持たないので、`body.single-branch` の
   `#f3f7f9` がそのまま透ける。実測（幅 375px・スクリーンショットの画素）は
   dev が (242, 245, 248)・移行元が (255, 255, 255) だった。

   ------------------------------------------------------------------
   当たり先の選び方（実ブラウザで測ってから決めた・2026-09-14 03:4x）
   ------------------------------------------------------------------
   🚨 **パンくずと押しボタンの 2 つを塗るだけでは再現できない。**幅 375px の実測で、
   dev のこの 2 つの間に **42.93px の隙間**が在り、押しボタンの器は画面いっぱいではなく
   **337.5px**（左右に 18.75px ずつ地の色が残る）だった。移行元は器 1 枚で
   途切れなく塗っている。

   | 幅 | 移行元の白い面 | dev で同じ範囲を受け持つ器 |
   |---|---|---|
   | 375 | `.page-layout-wrapper`（本文〜パンくず）＋ `.page-gotop` | **`main#site-main`**（本文・パンくず・押しボタンを全部含み、フッターの手前で終わる） |
   | 1440 | `.page-gotop` だけ（包みは透明に変わる） | `.pa-page-top--branch` |

   実測で範囲が一致することを確かめてある（幅 375px の銀座店。移行元の白は
   18196.11px で終わり、dev の `main` も 18192.59px で終わってフッターへ渡す）。

   🚨 **押しボタンの器は画面いっぱいへ広げる。**移行元の `.page-gotop` は画面幅
   （1440px）だが、dev の `.pa-page-top` は **1100px の柱そのもの**である。柱の制約を
   中の `.pa-page-top__item` へ移すことで、**押しボタンの位置を動かさずに**白い帯だけを
   画面いっぱいにする（外側は `text-align: right` を保ち、中の柱が右端をそろえる）。

   🚨 **当たり先は `--branch` と `body.single-branch.pa-profile-new` に絞る。**
   `.pa-page-top` は 10 種類以上の区分が使い回す部品で、素の `.pa-page-top` へ書くと
   会員紹介・体験談・しあわせレポート・婚活川柳などの帯まで白くなる。
   `--branch` は `inc/design-profile.php` の `pa_branch_render_page_top()` が
   **新デザインの店舗 7 件にだけ**付ける印である。

   🚨 **梅田店は押しボタンの印を持たない**（本文が旧デザインの組みのままで、
   `pa_page_top_content_has_legacy_block()` が真になる）。**再投入（Bug #2710）の後に
   確かめる。**携帯幅は `main` 側で塗るので、あちらは梅田店でも効く。

   【残差の申し送り】白い帯の**高さ**は直していない。実測で dev 101px 対 移行元 108px
   （幅 1440）・dev 91px 対 移行元 85.94px（幅 375）の差が残る。色を直すとこの差が
   境目に見えるようになるが、**色とは別の原因**なので分けてある. */
@media (max-width: 749px) {
	body.single-branch.pa-profile-new .site-main {
		background-color: #fff;
	}
}

body.single-branch .pa-page-top--branch {
	width: auto;
	max-width: none;
	background-color: #fff;
}

/* 帯の中の器。**行を作らせない**（Bug #6128）。

   実測（2026-09-14 11:36・実ブラウザ・銀座店）で、押しボタン `a.pa-page-top__link`・
   `picture`・絵の 3 つは高さが同じ（375 で 43・1440 で 63）なのに、**器だけが 8px 高い**
   （51 / 71）ことを確かめた。押しボタンが `inline-block` の `vertical-align: baseline`
   なので、器の行の中に置かれて**文字の下ばみが 8px 付く**。

   移行元は同じ役割の器（`.page-gotop__inner`）を `display: grid` にしており、行が
   作られないので差が 0 である。同じ作りへそろえる。

   🚨 **右そろえは保つ。**`.pa-page-top` の `text-align: right` は grid の中身には
   効かないので、`justify-items: end` で置き換える。**横の位置は 1px も動かさない**
   （この Issue は高さだけを扱う）. */
body.single-branch .pa-page-top--branch .pa-page-top__item {
	display: grid;
	justify-items: end;
	width: var(--pa-inner-ratio);
	max-width: 1100px;
	margin: 0 auto;
}

/* 🚨 **婚活川柳のバックナンバー 1 ページだけは、パソコン幅で隠す（Bug #5946）。**

   この部品の既定は「パソコン幅で出す・携帯幅で隠す」だが、**この 1 ページは向きが
   逆**である。移行元は**携帯版だけ**が押しボタンを出し、パソコン版は持たない
   （写し `1fbfa9dda`・2026-09-12 実測。携帯版 `sp/senryu/backnumber/senryu2013/index09.html`
   は `<p class="page_top">` を持ち、パソコン版 `senryu/backnumber/senryu2013/index09.html`
   は押しボタンも囲みも共通の取り込みも持たない）。

   携帯幅の節（下の `@media (max-width: 749px)`）が `display: block` で打ち消すので、
   **出るのは携帯幅だけ**になる。素の側で隠しておかないと、移行元のパソコン版に無い
   押しボタンが 1440px で出てしまう. */
.pa-page-top--senryu-sp {
	display: none;
}

/* --- フォームの完了画面（Bug #7334） ---

   移行元のフォームの完了画面は、この押しボタンに上の余白を持たない。規則は
   `legacy/www.p-a.jp/public/css/page_inquiry.css` の 340〜343 行だけで、

     .pagetop { float: right; clear: both; }

   これだけである。素の `.pa-page-top` が持つ `padding: 40px 0 0` は会社情報の
   実測値（`public/css/style.css` の `.page_top`）なので、完了画面では打ち消す。

   🚨 **右そろえと 1100px の柱はそのままでよい。**移行元の完了画面の器は
   `#contents { margin: 0 auto; width: 1100px }`（同じファイルの `@charset` の直後）で、
   素の `.pa-page-top`（`max-width: 1100px; margin: 0 auto; text-align: right`）と
   同じ組みである。

   🚨 **資料請求だけは移行元の `#contents` が全幅である**（`header-form.php` の
   405〜410 行の実測）。**この 1 件の押しボタンの左右の位置は、まだ測っていない。**
   デプロイの後に測る. */
.pa-page-top--form {
	padding: 0;
}

.pa-page-top__item {
	margin: 0;
}

.pa-page-top__link {
	display: inline-block;
}

.pa-page-top__image {
	display: block;
}

.pa-page-top__link:hover .pa-page-top__image {
	content: url("../images/pagetop_ov.png?ver=4ddfb1b59742");
}

/* --- 移行元が別の値を持つ 2 系統（パソコン幅・Task #3173） ---

   移行元は「先頭へ戻る」の余白をページ群ごとに変えている。上の共通の値
   （器の上内余白 40px）が当たるのは既定の 5,882 ページで、そちらは両側が一致して
   いる（前任が全数で確かめた）。値が違うのは次の 2 系統だけである。

   🚨 **幅 750px 以上に絞る。**移行元の写し元 2 本もどちらも
   `@media screen and (min-width: 750px)` の中にある。狭い画面の値は
   [PR #3148](https://github.com/mationinc/wp-platform/pull/3148) が直した直後なので触らない。

   🚨 **共通部品の芯（`.pa-page-top__link` の `inline-block`）は触らない。**系統ごとの
   modifier だけで直す。芯を変えると、絵の下の余りを持つ他の画面が移行元から離れる
   （移行元も画面によって余りを持つ。店舗の改装版は 7.19px ある）。

   実測（移行元 = 本番 https://www.p-a.jp・dev = https://d1u1dshxgcylna.cloudfront.net。
   どちらも 2026-09-04 00:5x JST・幅 1440px・同じ台本 w-f5/pagetop-2kei.mjs で測った）:

     ■ しあわせレポートの一覧（/introduce/happyreport/・1 ページ）

       | 項目                       | 移行元 | dev（直す前） |
       | 器の内余白                 | 0      | 40px 0 0      |
       | 器の上外余白               | 100px  | 0             |
       | 器の高さ                   | 103px  | 110.39px      |
       | 段落の内余白               | 20px 30px | 0          |
       | 絵の左端                   | 1190px | 1220px        |
       | 器の上端から絵の上端まで   | 20px   | 40px          |
       | 絵の下端から器の下端まで   | 20px   | 7.39px        |
       | 直前の塊の下端から器の上端 | 100px  | 0             |

     ■ 店舗の改装版（銀座・新宿・静岡・岡山の 4 ページ。銀座店で実測）

       | 項目                     | 移行元   | dev（直す前） |
       | 器の内余白               | 0 0 30px | 40px 0 0      |
       | 器の高さ                 | 100.19px | 111px         |
       | 器の上端から絵の上端まで | 0        | 40px          |
       | 絵の下端から器の下端まで | 37.19px  | 8px           |

   🚨 **引き継ぎの記録を 1 件訂正した。**「店舗の改装版は器の下内余白 30px だけ」と
   残されていたが、移行元は同じ節で `.page_top { margin: 0; padding: 0 }` も持ち、
   共通の上内余白 40px を消している。**絵の上の 40px も差**である（実測で確認）。
   下の空きだけを測って上を見ていなかった. */
@media (min-width: 750px) {
	/* しあわせレポートの一覧。写し元は
	   `introduce/happyreport/assets/css/happyreport.css` の 1780〜1784 行
	   `.page_top { padding: 2rem 3rem }`（同ファイルが幅 750px 以上で
	   `html { font-size: 10px }` を置くので 1rem = 10px → 20px 30px）と、
	   器の上外余白 100px である.

	   🚨 **すぐ上にある `margin-top: 20rem` は注釈で無効化されている。**それだけを
	   見ると「100px の裏付けが無い」と読めるが、実測では器の外余白が
	   `100px 170px 0px` で 100px は実在する（別の指定が与えている）。**注釈で
	   消えている値を根拠に「無い」と判断しない**. */
	.pa-page-top--happyreport {
		margin-top: 100px;
		padding-top: 0;
	}

	/* 体験談の一覧と詳細（`/introduce/experience/` と `/introduce/experience/<番号>/`）。
	   写し元は `introduce/css/style_introduce.css` の 2087〜2088 行
	   `.page_topArea { margin-top: 100px }` である。**器の内余白 40px は共通の値と
	   同じなので触らない**（移行元は内側の 40px を段落の側に持つが、上端から絵まで
	   の隔たりは同じ 40px になる）。

	   実測（幅 1440px・前の区画の下端から数えた値。移行元 2026-09-07 20:27:19 JST・
	   dev 20:33:23 JST）:

	     | 測ったもの                     | 移行元 | dev（直す前） |
	     | 前の区画の下端 → 器の上端      | 100.00 | 0.00          |
	     | 前の区画の下端 → 絵の上端      | 140.00 | 40.00         |

	   🚨 **一覧の印 `--archive` は支店一覧（`/branch/`）と共用である**
	   （`inc/page-top.php` が `is_post_type_archive( array( 'experience', 'branch' ) )`
	   で同じ印を渡す）。**移行元で器 `div.page_topArea` を持つのは体験談の 2 画面だけ**
	   なので、体の印で絞る。素の `.pa-page-top--archive` へ書くと支店一覧も 100px 下がる。

	   🚨 **幅 750px 以上に絞る。**移行元スマホ版（`/sp/introduce/experience/`）はこの器を
	   持たず、押しボタンは `p.page_top` 単体である（携帯幅の値は
	   [PR #3148](https://github.com/mationinc/wp-platform/pull/3148) が直したまま動かさない）. */
	body.post-type-archive-experience .pa-page-top--archive,
	body.single-experience .pa-page-top--experience {
		margin-top: 100px;
	}

	/* キャンペーンページ `/cp/2302/`（20 周年・投稿タイプ `pa_banner`）は、押しボタンを本文の柱の
	   右端ではなく**画面の右端**に置く（Bug #8411）。移行元 `cp/2302/index.html` 173 行の
	   `p.page_top` は幅 1440px で x1390・50×109 だった（2026-09-25 の実測）。柱の幅
	   （`--pa-inner-ratio`・1100px）を外すと右寄せの押しボタンが画面の右端に来る。

	   🚨 **体の印 `single-pa_banner` で絞る。**`--archive` は支店一覧・体験談の一覧・サイトマップと
	   共用で、素の `.pa-page-top--archive` へ書くとそちらも右端へ動く。押しボタンを出す
	   `pa_banner` は `inc/page-top.php` が `/cp/2302/` 1 件に絞っている. */
	body.single-pa_banner .pa-page-top--archive {
		width: auto;
		max-width: none;
	}

	.pa-page-top--happyreport .pa-page-top__item {
		padding: 20px 30px;
	}

	/* 🚨 **この 1 画面だけ絵の下の余りを消す。**移行元はこのページで絵を行の中
	   （`inline`）に `vertical-align: bottom` で置くため、絵の下に余りが出ない
	   （段落の高さ 103px = 20 + 63 + 20）。dev は絵を塊にして押しボタンを
	   `inline-block` にしているので、押しボタンの下に行の下端までの余り 7.39px が
	   出る。押しボタンの下端を行の下端へそろえて消す。

	   **芯（`display: inline-block`）は変えない。**下端そろえを足すだけなので、
	   他の系統の余りには影響しない（店舗の改装版は移行元も 7.19px の余りを持つ）. */
	.pa-page-top--happyreport .pa-page-top__link {
		vertical-align: bottom;
	}

	/* 会員プロフィールと活動実績（`/introduce/data/`）も、同じ理由で絵の下の余りを消す
	   （Bug #8845）。移行元はページ専用の `introduce/data/assets/css/data-style.css` が
	   `img { vertical-align: bottom }` を持つので、段落の高さは 103px = 上の内余白 40 + 絵 63 で
	   余りが無い。dev は押しボタンの下に 7.39px の余りが出て、足の上端が 7.39px 下がっていた
	   （2026-09-30 の実測・幅 1440・`p.pa-page-top__item` 70.39px）。

	   🚨 **携帯幅の `--data` には当てない。**この節は幅 750px 以上で、携帯幅は下の節の
	   「空き 30px で既に一致」のまま動かさない. */
	.pa-page-top--data .pa-page-top__link {
		vertical-align: bottom;
	}

	/* 新デザインの店舗 6 店（銀座・新宿・名古屋・静岡・横浜・岡山＝ `pa-profile-new`）。
	   写し元は `branch/assets/css/style.css` の 2866〜2882 行で、幅 750px 以上で
	   `.page_topArea { padding-bottom: 30px }` と `.page_top { margin: 0; padding: 0 }`
	   を持つ。後者が共通の上内余白 40px を消すので、器の内余白を「上 0・下 30px」に
	   そろえる. */
	/* 帯の下の内余白を移行元と同じ値にする（Bug #6128）。

	   移行元の `.page-gotop__inner` はパソコン幅で `padding: 0 0 3em` ＝ **45px**。
	   実測で移行元の帯は 108px（絵 63 ＋ 45）、dev は 101px（絵 63 ＋ 行の余り 8 ＋ 30）
	   だった。行の余りを消したうえで 45px にすると 108px でそろう. */
	.pa-page-top--branch {
		padding: 0 0 45px;
	}
}

/* 移行元は横幅 1268px の固定で組まれていて、それより狭い画面のことを考えて
   いない。6 項目の画像は合わせて 799px（読み込み版）または 749px（直書き版）あり、
   移行元どおりの左の余白 82px を足すと 881px / 831px 必要になる。器がそれより
   狭くなる画面では、左の余白を外して中央に寄せ、1 行のまま収める。

   器がさらに狭い 750〜888px の範囲では、画像が幅だけ最大 1 割ほど縮む（flex の
   既定の縮み方による）。高さは 49px で固定しているので帯の高さは変わらない。
   移行元はこの幅を想定しておらず写す相手が無いため、折り返して 2 段にするより
   1 行のまま少し縮めるほうを選んだ。

   🚨 **2026-09-06（Bug #3979）に、この節の打ち消しをやめた。**上の段落は
   「移行元はこの幅を想定しておらず写す相手が無い」と書いているが、**これは
   間違いだった。**移行元が別のページ（`/sp/`）を返すのは 749px 以下だけで、
   750〜1,023px では移行元もこのパソコン版を返す。実測（2026-09-06・
   `/company/profile.html`）では、移行元は幅 750px でも 1,268 × 50px の帯を
   地の絵つきで出し、左の内余白 82px も保っていた。写しだけが 750px で内余白を
   外して中央へ寄せており、移行元と違う姿になっていた。

   よって左の余白 82px と左詰めは基準の値のまま残す。**収まらないぶんは、上の
   段落と同じ考え方で画像を縮めて 1 行に収める**（司令塔の裁定 187）。画像には
   縦横比（`--pa-company-nav-image-ratio`）を持たせてあるので、縮んでも形は
   ゆがまない。

   749px 以下はこの帯ごと隠すので（下の節）、狭い側の手当ては要らない. */

/* 移行元はスマートフォンでは別のミラー（/sp/）へ転送しており、そちらには
   カテゴリメニューも最下部の「先頭へ戻る」も無い（移行元のスマートフォン用
   ミラー /sp/company/news/ を開いて数えた結果が Bug #1656 に記録されている）。
   このテーマは 1 つの HTML を両方の幅で共有するため、この幅では隠して移行元へ
   そろえる（司令塔の裁定・2026-08-10）。 */
@media (max-width: 749px) {
	.pa-company-nav,
	.pa-page-top {
		display: none;
	}

	/* 🚨 新デザインのページ（店舗 6 店と `/guide/course/`）だけは隠さない（Bug #2817）。
	   上の指定は「移行元が `/sp/` へ転送し、そちらに押しボタンが無い」ことに合わせた
	   ものである。**新デザインのページは携帯の UA でも転送されず、押しボタンを出す**
	   （現行を 18 ページ全数で測って確かめた。2026-09-02）。
	   🚨 **移行元の店舗の押しボタンは作り替わった（Bug #5005・2026-09-10）。**
	   幅 375px の絵は 39.5 × 44.7px ではなく、`/guide/course/` と同じ **38 × 43px**
	   （`<img width="38" height="43">`）である.

	   🚨 **フォームの完了画面も隠さない（Bug #7334）。**理由は新デザインのページと
	   同じで、**フォームのページは名乗りで転送されない**からである。移行元を幅 375 で
	   開いた実測（2026-09-18 14:12:56〜14:15:35）で、最終到達先は頼んだ URL のままで
	   「先頭へ戻る」も見えていた。**移行元の携帯版の型紙（`sp_*_thanks.php`）は
	   この押しボタンを 1 件も持たないが、その型紙は配られない。** */
	.pa-page-top--branch,
	.pa-page-top--course,
	.pa-page-top--experience,
	.pa-page-top--form,
	.pa-page-top--happyreport,
	.pa-page-top--data,
	.pa-page-top--archive,
	.pa-page-top--introduce,
	.pa-page-top--senryu-sp {
		display: block;
	}

	/* 🚨 **しあわせレポートの一覧と会員プロフィールも、転送先の携帯版に押しボタンが
	   ある**（ユーザー目視 2026-09-03）。上の 3 つと同じ理由の例外である。

	   移行元スマホ版の骨組み:
	     しあわせレポート … sp/introduce/happyreport/index.html の 3401〜3410 行
	                        （`div.page_topArea.clearfix > p.page_top > a > picture`）
	     会員プロフィール … sp/introduce/data/index.html の 684 行
	                        （`p.page_top > a > img`。囲みも `picture` も無い）

	   幅 375px の実測（移行元は本番を 2026-09-03 22:38〜22:40 JST に携帯の名乗りで
	   取得。転送先の `/sp/` を測った値）:

	     | 測るもの        | 移行元        | 直す前の dev            |
	     | 器の幅 × 高さ   | 44.5313 × 50.3906 | 337.5 × 70.3906     |
	     | 絵の幅 × 高さ   | 44.5313 × 50.3906 | 50 × 63             |
	     | 絵の素材        | /sp/images/page_top.gif（実寸 76 × 86） | pagetop_off.png（実寸 50 × 63） |
	     | 寄せ            | **中央**（左右の余り 165.2344 ずつ） | **右**（text-align: right） |
	     | 器の上の内余白  | 0px           | 40px                    |
	     | 下の外余白      | しあわせレポート 28.626px / 会員プロフィール 30px | 0px |

	   🚨 **絵はパソコン用と別のファイルである。**テーマは移行元と同じ絵を
	   `assets/images/pagetop_sp.gif`（76 × 86）として既に持つので、資産を足す
	   必要はない。差し替えは、このファイルが会社情報と店舗で既に使っている
	   `content: url(...)` の書き方にそろえる（上の
	   `.pa-page-top__link:hover .pa-page-top__image` と同じ形）。

	   🚨 **指を乗せたときの差し替え（`pagetop_ov.png`）をこの幅へ持ち込まない。**
	   携帯用の絵に効かせると寸法が 76 × 86 から 50 × 63 へ化けて組みが動く
	   （Bug #2817 で実際に踏んだ型。このファイルの 1160 行の注釈と同じ理由）.

	   🚨 **幅は百分率でなく `vw` で書く。**写し元は `width: 11.875%` だが、
	   百分率は「包む器の中身の幅」を基準に解かれる。移行元では包む器が画面幅
	   （375px）なので 44.53px になるが、**dev の `.pa-page-top` は左右に
	   18.75px の外余白を持つ器**（実測 x=18.75・幅 337.5）なので、百分率だと
	   337.5 × 11.875% = 40.08px にしかならない。`11.875vw` は画面幅を基準に
	   するので移行元と同じ 44.53px になる。**司令塔の裁定「器の幅は `vw` を
	   使わず `%`」の例外に当たる**（包む器を body 幅にできない箱。共通部品の
	   `.pa-page-top` の幅を変えると、この 2 画面以外にも効いてしまう）。
	   5 班が成婚ストーリーで同じ判断をしている
	   （`assets/introduce-voice-story/css/story.css` の 1010 行ほか）. */
	/* 🚨 **一覧のページ（`--archive`）もまったく同じ組みである**（Bug #4030・
	   司令塔の裁定 201・2026-09-06）。

	   体験談の一覧 `/introduce/experience/` と店舗一覧 `/branch/` は、印を持たない
	   素の `.pa-page-top` で出ていたため、上の「隠さない側」の例外に入らず**携帯幅で
	   まったく出ていなかった**。移行元の転送先には押しボタンがある。

	   幅 375px の実測（移行元の本番を 2026-09-06 03:1x JST に携帯の名乗りで取得。
	   転送先の `/sp/` を測った値）:

	     | 画面                        | 段落の寸法        | 下の外余白 | 左右の余り   |
	     | `/sp/branch/`               | 44.5313 × 50.3906 | 30px       | 165.234 ずつ |
	     | `/sp/introduce/experience/` | 44.5313 × 50.3906 | 30px       | 165.234 ずつ |

	   **会員プロフィール（`--data`）と 1 画素も違わない。**どれも移行元スマホ版の
	   共通 CSS（`sp/css/style.css` の 1859〜1862 行
	   `.page_top { margin: 0 auto 30px; width: 11.875% }`）から来る同じ値なので、
	   値を書き写さず当て先を並べて**1 か所で持つ**。

	   🚨 **体験談の詳細（`--experience`）の側には入れない。**あちらは幅を
	   百分率（`11.875%`）で書いており、dev では包む器が 337.5px なので
	   **40.08 × 52.73** にしかならない（2026-09-06 に dev の
	   `/introduce/experience/1211/` で実測）。移行元は 44.5313 × 50.3906 なので、
	   **あちらにも差が残っている**。ただし体験談の詳細は 15 班の担当ではなく、
	   この Bug の対象でもないため、司令塔へ報告して別に扱う。

	   🚨 **この注記は取り下げる（Task #7399）。**以前ここには「成婚ストーリーの一覧は
	   本文に押しボタンを持つので入れない」と書いていたが、あの画面は Task #6683 で
	   投稿を持たない型紙になり、**本文に `p.page_top` を持たなくなった**。いまは
	   一覧 6 枚（`inc/page-top.php` の `pa_story_archive_is_list_page()` の枝）も
	   入口 `/introduce/story/`（同じく `is_post_type_archive( 'story' )` の枝）も
	   `--archive` を受けて、上の当て先に載っている. */
	.pa-page-top--happyreport,
	.pa-page-top--data,
	.pa-page-top--archive,
	.pa-page-top--senryu-sp {
		padding: 0;
		text-align: center;
	}

	/* 🚨 **器に段落の下の外余白を含ませる（Bug #4024・2026-09-06）。**

	   しあわせレポート一覧の段落は、移行元と同じ下の外余白（下の
	   `calc(3 * 2.5445292621vw)` = 28.626px）を**元から持っていた**。それでも
	   絵の下の空きが移行元 58.63px に対し dev は 30px しかなかった。

	   **原因は外余白の相殺である。**器（`.pa-page-top--happyreport`）の高さが
	   段落と同じ 50.39px で**余白を含んでいなかった**ため、余白が器の外へすり抜け、
	   足まわりの上の 30px と相殺されて消えていた。

	   🚨 **「値が無い」と読み違えないこと。**この Bug の本文にはいったん
	   「dev はこの値を持っていない」と書いて訂正した。**外余白は、器が含んで
	   いなければ宣言してあっても見えない。**「見えない」と「宣言が無い」は別である。

	   `display: flow-root` は器に余白を含ませるだけで、**中身の姿は変えない**。
	   幅 375px の実測で器は 50.39 → 79.02 になり、絵の下の空きが 58.63 で移行元と
	   一致した（絵は 44.53 × 50.39 のまま）。

	   🚨 **会員プロフィール（`--data`）には当てない。**あちらは移行元も dev も
	   空き 30px で既に一致しており、含ませると 60px に広がって壊れる. */
	.pa-page-top--happyreport {
		display: flow-root;
	}

	.pa-page-top--happyreport .pa-page-top__item,
	.pa-page-top--data .pa-page-top__item,
	.pa-page-top--archive .pa-page-top__item,
	.pa-page-top--senryu-sp .pa-page-top__item {
		width: 11.875vw;
		padding: 0;
	}

	/* 下の外余白は画面ごとに違う。しあわせレポートは移行元の根の字
	   （`2.5445292621vw`）の 3 倍で、ページ専用の CSS が共通の 30px を上書き
	   している（実測 28.626px）。**写しの `sp/css/style.css` の
	   `margin: 0 auto 30px` だけを読むと 30px と誤る**. */
	.pa-page-top--happyreport .pa-page-top__item {
		margin: 0 auto calc(3 * 2.5445292621vw);
	}

	.pa-page-top--data .pa-page-top__item,
	.pa-page-top--archive .pa-page-top__item,
	.pa-page-top--senryu-sp .pa-page-top__item {
		margin: 0 auto 30px;
	}

	/* 🚨 **部品の印 `--archive` の器は、下の内余白 20px を持つ（Bug #8445）。**

	   移行元スマホ版は押しボタンの下に 2 つの空きを積む。①押しボタン自身の下の外余白 30px
	   （`sp/css/style.css` の `.page_top { margin: 0 auto 30px }`。すぐ上の規則が写している）
	   ②器 `#other_contents` の下の内余白 20px。押しボタン → フッターの最初の字は、測った 15 組とも
	   **84** である。dev のフッターは上端の中に内余白 30px を持つ（`#site-footer`）ので、押しボタンの下が
	   50 なら最初の字まで 84 になる。

	   直す前の実測（2026-10-05・`pa-verify-assets/B/8445-実測-1005/走行1/`・幅 375）では、この器が 20px を
	   持たず、体験談の一覧・成婚ストーリーのトップ・サイトマップ・店舗一覧・デートスポットの入口が **64**、
	   Bug #7714 の規則（下の外余白 0）が当たっていた地方と県の店舗一覧・テーマの一覧が **34** だった。
	   デートスポットの県別の一覧だけは Bug #9208 の規則で 20px を持ち、84 で移行元と一致していた。

	   内余白を入れると、押しボタンの 30px は器の中に留まり、外へ抜けてフッターの空きと相殺されない
	   （`.pa-page-top--experience` の注釈と同じ構図）。

	   この印を受けるのは、サイトマップ・体験談の一覧・店舗一覧（地方 8・県 48 を含む）・デートスポットの一覧・
	   成婚ストーリーの入口と一覧 6 枚・結婚相談所のすゝめの一覧・しあわせレポートの入口（`/cp/2302/`）である
	   （`inc/page-top.php`）。携帯幅の塊の中だけに書き、パソコン幅は動かさない. */
	.pa-page-top--archive {
		padding-bottom: 20px;
	}

	/* 🚨 **段落の高さを決めているのは絵ではなく押しボタンである（2026-09-04 に
	   対照実験で確定）。**押しボタン（`a.pa-page-top__link`）は素の状態が行内
	   ブロック（`display: inline-block`・このファイルの 1213 行）で、行内ブロックは
	   文字の並びに乗るため**下に文字 1 行ぶんの下がりが残る**。そのぶん段落が絵より
	   高くなる。

	   幅 375px の実測:

	     段落 `p.pa-page-top__item` の高さ … 移行元 50.3906px / 直す前の dev 57.7813px
	     絵の高さ                          … 両側とも 50.3906px（一致している）

	   **差の 7.3907px は絵ではなく段落に出る。**押しボタンを塊（`display: block`）に
	   すると段落が 50.3906px になり移行元と一致することを、手元の対照実験で確かめた
	   （記録 = pa-verify-assets/3127/gap-fix-verify.md）。移行元は押しボタンが行内
	   （`inline`）で、中の絵が塊なので下がりが出ない。

	   🚨 **絵に `display: block` を当てても、この差は消えない。**下がりの出どころは
	   絵ではなく押しボタンだからである（下の絵の規則の注釈が「絵を塊にすれば段落の
	   余りが消える」と読める書き方になっているが、実測では消えていなかった）。

	   2 画面とも当てる。移行元の押しボタンの組みは両方とも同じで、前任が本番から
	   採った器（段落）の実測も 2 画面とも 44.5313 × 50.3906px である
	   （しあわせレポート = sp/introduce/happyreport/index.html の 3401〜3410 行・
	   会員プロフィール = sp/introduce/data/index.html の 684 行）. */
	.pa-page-top--happyreport .pa-page-top__link,
	.pa-page-top--data .pa-page-top__link,
	.pa-page-top--archive .pa-page-top__link,
	.pa-page-top--senryu-sp .pa-page-top__link {
		display: block;
	}

	/* 絵は移行元と同じ「幅は指定せず、包む器より大きければ縮める」形にする。
	   移行元のスマートフォン版は共通の 1 枚
	   legacy/www.p-a.jp/public/sp/css/basic.css の 98〜100 行が
	   `img { max-width: 100% }` を当てるだけで、**`width: 100%` は書いていない**。
	   絵の実寸（gif 76 × 86）より器が広い幅では、絵は実寸のまま伸びない。

	   🚨 **`width: 100%` にすると、器が絵より広い幅で絵が伸びる（2026-09-04 に
	   実測して修正）。**上の押しボタンを塊にした結果、器の幅が段落の幅まで広がり、
	   `width: 100%` がその幅で解かれるようになった。幅 749px で絵が
	   **76 × 86 から 88.9375 × 100.625 へ伸びていた**（手元の実測）。押しボタンが
	   行内ブロックだった間は、器の幅が中身に合わせて縮んでいたため表に出ていな
	   かった。**移行元は伸ばさない**ので `max-width` へ戻す。

	   幅ごとの絵の寸法（手元の実測。移行元の `img { max-width: 100% }` と同じ
	   当たり方になっている）:

	     320px … 38 × 43        （器 38 が実寸 76 より狭いので縮む）
	     375px … 44.5313 × 50.3906（移行元の本番の実測と一致）
	     414px … 49.1406 × 55.6094
	     749px … 76 × 86        （器 88.9375 が実寸より広いので実寸のまま）

	   🚨 **同じ判断は店舗の押しボタンで既に確立している。**
	   `tests-retired/pa-cms-list-page-top/run-list-page-top.php` の 505〜517 行が、移行元を
	   幅ごとに測った結果として「縮み始めるのは器がちょうど実寸（76px）になる 682px
	   で、そこから上は 76 × 86px で止まる」「`width: 100%` と書くと器に合わせて
	   引き伸ばし、768px では 86.2 対 76 で 10px 大きくなる」と記録し、**画像に幅を
	   書かないこと**を検査している（Bug #2817・外部レビューの指摘）。

	   🚨 **`max-width: 100%` と `height: auto` は素から効いている。**このファイルの
	   **732 行**の `img { max-width: 100%; height: auto }` がすべての画像に当たるため、
	   ここで書き直さなくても同じ値になる。**当たっている指定を 1 か所で読めるように
	   するために並べてある**（`width: auto` だけは、上の押しボタンを塊にした関係で
	   意味を持つ）。

	   ⚠️ **訂正（2026-09-03、origin/main から引き継いだ記録）**: いったん
	   「`max-width` だけだと高さが属性の 63px のまま残る」と書いたが、これは誤り
	   だった。手元の再現にテーマ共通の初期化（732 行）を写し忘れていたためで、実
	   ページでは元から 44.5313 × 50.3906px で出ていた（1 班の実測で判明）。**手元で
	   作った再現で確かめるときは、テーマ共通の初期化まで写す。**下の `/introduce/`
	   の節も同じ形で書いてある。

	   併せて絵を塊にする。流し込みのままだと絵の下に文字の下がり分が入る
	   （移行元も塊で置いている）。**ただし段落の高さを決めているのは絵ではなく
	   押しボタンである。**上の押しボタンの規則の注釈を参照する. */
	.pa-page-top--happyreport .pa-page-top__image,
	.pa-page-top--data .pa-page-top__image,
	.pa-page-top--archive .pa-page-top__image,
	.pa-page-top--senryu-sp .pa-page-top__image {
		content: url("../images/pagetop_sp.gif?ver=bb8683872ea0");
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
	}

	/* 指を乗せたときの差し替えを打ち消す（携帯には指を乗せる状態が無く、
	   効かせると絵が 50 × 63 へ化けて組みが動く）. */
	.pa-page-top--happyreport .pa-page-top__link:hover .pa-page-top__image,
	.pa-page-top--data .pa-page-top__link:hover .pa-page-top__image,
	.pa-page-top--archive .pa-page-top__link:hover .pa-page-top__image,
	.pa-page-top--senryu-sp .pa-page-top__link:hover .pa-page-top__image {
		content: url("../images/pagetop_sp.gif?ver=bb8683872ea0");
	}

	/* 🚨 **体験談は転送先の携帯版にも押しボタンがある（Bug #2826）。**
	   移行元の携帯版（`sp/introduce/experience/detail.php` の 654 行）は
	   `<p class="page_top"><a href="#header"><img src="/sp/images/page_top.gif">`
	   を持ち、`sp/css/style.css` の 1859〜1862 行が
	   `.page_top { margin: 0 auto 30px; width: 11.875% }` を当てている。
	   **右寄せではなく中央寄せ**で、器の幅に比例して縮む. */
	/* 🚨 **下の内余白 20px は、本文の器から移してきたものである（Bug #4911 の段階 2）。**
	   移行元スマホ版は押しボタンの下に 2 つの空きを積む。①押しボタン自身の下の外余白
	   30px（`sp/css/style.css` 1859〜1862 行の `.page_top { margin: 0 auto 30px }`。すぐ下の
	   `.pa-page-top__item` が写している）②器 `#other_contents` の下の内余白 20px
	   （移行元スマホ版の共通 CSS。dev では `.single-content` の携帯幅の規則が写している）。
	   **合わせて 50px である。**dev はこの 20px を本文の器の側で使ってしまい、
	   「似た条件の方の体験談」と「スペシャルコンテンツ」の間へ落としていた。
	   `body.single-experience .single-content--experience` で本文の器の側を 0 にし、
	   ここへ移した。**移行元と同じ積み方になる。**

	   🚨🚨 **この 20px は「20px 足す」だけの働きではない。余白の相殺も止める。**
	   すぐ下の `.pa-page-top__item` は下の外余白 30px を持つ。器の下の内余白が 0 だと、
	   **その 30px は器の外へすり抜けて足まわりの上の空き 30px と相殺される**（結果は
	   30px 1 つぶん）。内余白を 20px 入れると 30px は器の中に留まるので、
	   **押しボタンの下は 30 ＋ 20 ＝ 50px になり、そのあと足まわりの 30px が別に付く。**
	   同じ構図が婚活予想図の入口で先に見つかっており、そちらの注釈（この節の
	   `.pa-page-top--introduce`）に「**内余白を消すと 14px ではなく 44px ずれる**」と
	   記録がある。**だからこの直しの効き幅は ＋20px ではない。実測で確かめること。**
	   移行元スマホ版も同じ入れ子（`p.page_top` の 30px → `#other_contents` の 20px）
	   なので、そろうと考えているが、**押しボタンの下端から足まわりまでを両側で
	   測るまでは確定しない。** */
	.pa-page-top--experience {
		padding: 0 0 20px;
		text-align: center;
	}

	/* 🚨 **幅は百分率でなく `vw` で書く（Bug #4830）。**理由はこのファイルの
	   `.pa-page-top--data` の注釈と同じで、**百分率の基準になる器が移行元と違う**
	   （移行元は画面幅 375px・dev の `.pa-page-top` は左右 18.75px の外余白を持つ
	   幅 337.5px の器）。ここだけ `11.875%` のまま取り残されていた。

	   幅 375px の実測（移行元の写しを `php -S` で配って測った・2026-09-09 14:3x JST）:

	     | 面 | 幅 | 高さ | 左端 |
	     |---|---:|---:|---:|
	     | 移行元 | 44.53 | 50.39 | 165.23 |
	     | dev（直す前） | 40.06 | 45.34 | 167.45 |

	   ご成婚報告・婚活川柳・調査レポートでは、投入した本文の `p.page_top` へ
	   `:is(.entry-content, .page-content__body) p.page_top { width: 11.875vw }` が
	   当たり、移行元と 1px も違わない。**体験談の詳細だけがこの部品を使うため
	   取り残されていた。**

	   🚨 **下の内余白 20px（すぐ上の規則）は触らない。**Bug #4911 の段階 2 で
	   余白の相殺を止めるために入れたもので、消すと 44px ずれる. */
	.pa-page-top--experience .pa-page-top__item {
		width: 11.875vw;
		margin: 0 auto 30px;
	}

	/* 🚨 **絵を器いっぱいに広げる（Bug #4830）。**書かないと、絵は自分の寸法
	   （携帯用の `pagetop_sp.gif` の 76 × 86）で止まる。**器がそれより広い幅では
	   移行元と食い違う。**移行元は `.page_top { width: 11.875% }` の器に対して絵を
	   いっぱいに描くので、画面が広いほど絵も大きくなる。

	   実測（移行元の写しを `php -S` で配って測った・2026-09-09 14:4x JST）:

	     | 幅 | 移行元の絵 | 書く前の dev |
	     |---:|---|---|
	     | 320 | 38 × 43 | 38 × 43（自分の寸法より小さいので、たまたま合う） |
	     | 375 | 44.53 × 50.39 | 44.53 × 50.39（同上） |
	     | 749 | **88.94 × 100.63** | **76 × 86**（自分の寸法で止まる） |

	   同じ節の `.pa-page-top--introduce` と `--happyreport` は既に `width: 100%` を
	   書いている. */
	/* 🚨 **`width: 100%` を効かせるには、絵を包む 2 つも塊にする。**この部品は
	   幅で絵を切り替えるため `<picture>` を挟む（`template-parts/company-page-top.php`）。
	   `<picture>` の既定は `inline` で、中身の絵の寸法どおりに縮むため、
	   **絵の `width: 100%` がその縮んだ幅を基準に解かれて堂々巡りになる**（実測: 器が
	   88.94px でも絵は自分の寸法 76px で止まった）。`.pa-page-top__link` の既定も
	   `inline-block` なので、両方を塊にする。`--introduce` と `--happyreport` は
	   リンクだけ塊にしている（あちらは `<picture>` を挟まない）. */
	.pa-page-top--experience .pa-page-top__link,
	.pa-page-top--experience .pa-page-top__link picture {
		display: block;
	}

	.pa-page-top--experience .pa-page-top__image {
		width: 100%;
	}

	/* 指を乗せたときのパソコン用の画像への差し替えは、携帯用の画像が出る幅では
	   打ち消す（店舗と `/guide/course/` と同じ理由。Bug #2817 の記録を参照）. */
	.pa-page-top--experience .pa-page-top__link:hover .pa-page-top__image {
		content: normal;
	}

	/* 🚨 **婚活予想図Ⅲ（`/introduce/`）の転送先にも押しボタンがある**
	   （ユーザー目視 2026-09-03）。しあわせレポート・会員プロフィールと同じ理由の
	   例外である。移行元の写し
	   `legacy/www.p-a.jp/public/sp/introduce/result.php` の 885 行（記録版
	   19f499fe）が `p.page_top > a > img[src="/sp/images/page_top.gif"]` を持ち、
	   入力の画面にも同じものが出る。

	   幅 375px の実測（移行元 = 本番 https://www.p-a.jp/introduce/ を
	   2026-09-03 23:18 JST に携帯の名乗りで取得。転送先の `/sp/introduce/` を
	   測った値）:

	     | 測るもの        | 移行元              | 直す前の dev        |
	     | 器と絵の幅 × 高さ | 44.5313 × 50.3906 | 押しボタンごと隠れる |
	     | 絵の素材        | /sp/images/page_top.gif（実寸 76 × 86） | pagetop_off.png（実寸 50 × 63） |
	     | 寄せ            | 中央（左右の余り 165.2344 ずつ） | 右（text-align: right） |
	     | 上の隙間        | 35px（直前の本文の器の下端から） | —                  |
	     | 下の外余白      | 30px                | —                  |

	   上の隙間 35px は、この画面の CSS が携帯幅で店舗一覧の区画へ与える
	   `#branch-list { margin-bottom: 35px }` がそのまま出る値である。だから
	   ここでは上の外余白を足さず、画面専用 CSS が持つ
	   `#contents.introduce .pa-page-top { margin-top: 100px }` を携帯幅で
	   0 に戻すだけにする（`assets/introduce/css/style_introduce.css`）。

	   🚨 **幅は百分率でなく `vw` で書く**（しあわせレポートと同じ理由。上の節の
	   注釈を参照）.  */
	/* 🚨 **絵の下の空きを移行元の 80px にそろえる（Bug #4024・2026-09-06）。**

	   幅 375px の実測で、絵の下端から足まわりの上端までの空きは移行元 80px に対し
	   dev は 66px だった。差 14px の内訳は次の 2 つの引き算である。

	     | 内訳                                   | 移行元 | dev |
	     | 絵の下端から段落の下端まで（下がり）   | 0      | +6  |
	     | 段落の下の外余白                       | 30     | 30  |
	     | 器を包む要素の下の内余白               | **20** | 0   |
	     | 足まわりの上の空き                     | 30     | 30  |
	     | 合計                                   | **80** | 66  |

	   移行元の 20px は、包む器 `div#other_contents` の `padding-bottom` である
	   （本番の携帯版を先祖ごとにたどって確かめた）。

	   🚨 **下の内余白 20px は、余白を器に含ませる役目も兼ねる。**内余白があると
	   段落の下の外余白 30px が器の外へすり抜けなくなり、足まわりの 30px と
	   相殺されない。**内余白を消すと 14px ではなく 44px ずれる**ので、値だけを
	   別の場所へ移さないこと。

	   🚨 **押しボタンを塊にするのは下がりの 6px を消すためである。**押しボタンの
	   素の状態は行内ブロックで、文字の並びに乗るぶん段落が絵より 6px 高くなる
	   （段落 56.39 対 絵 50.39）。しあわせレポートと会員プロフィールには既に
	   当ててあり、**この画面にだけ当たっていなかった**。

	   🚨 **結果の画面（`template-parts/introduce/result.php`）は GET で開けない**
	   （`/introduce/result/` は `/introduce/` へ 301 で戻る）ため実測していない。
	   同じ印と同じ器の組みを使うので同じ直しが効く.  */
	.pa-page-top--introduce {
		padding: 0 0 20px;
		text-align: center;
	}

	.pa-page-top--introduce .pa-page-top__link {
		display: block;
	}

	.pa-page-top--introduce .pa-page-top__item {
		width: 11.875vw;
		margin: 0 auto 30px;
		padding: 0;
	}

	/* 幅と高さを書いてあるのは、当たっている指定を 1 か所で読めるようにするため
	   である。**`max-width: 100%` だけでも寸法は同じになる**（このファイルの
	   「移行してきた画像は元の大きさのまま貼られており」の節にある
	   `img { max-width: 100%; height: auto }` が全画像に当たっているので、
	   `content` で差し替えた絵の縦横の比で高さが解ける）。

	   ⚠️ **訂正（2026-09-03）**: いったん「この `img` は `width="50" height="63"`
	   の属性を持つので `max-width` だけだと高さが 63px のまま残る」と書いたが、
	   これは誤りだった。手元に作った再現へ上の `img` の 1 行を入れ忘れており、
	   実ページでは元から 44.5313 × 50.3906px で出ていた（1 班の実測で判明）。
	   **手元の再現で確かめるときは、テーマ共通の初期化まで写す。**

	   🚨 **絵は塊にする（`display: block`）。ここが実際の直しである。**移行元の
	   携帯版も塊で置いており、
	   包む段落の高さが絵と同じ 50.3906px になる（実測）。流し込みのままだと段落に
	   文字 1 行ぶんの下の余り 6px が付き、**段落が 56.3906px になって下のパンくずが
	   6px 下がる**（手元の CSS を dev の実ページへ配って実測して確かめた）. */
	.pa-page-top--introduce .pa-page-top__image {
		content: url("../images/pagetop_sp.gif?ver=bb8683872ea0");
		display: block;
		width: 100%;
		height: auto;
	}

	/* 指を乗せたときのパソコン用の画像への差し替えを打ち消す（効かせると絵が
	   76 × 86 から 50 × 63 へ化けて組みが動く。Bug #2817 と同じ型）. */
	.pa-page-top--introduce .pa-page-top__link:hover .pa-page-top__image {
		content: url("../images/pagetop_sp.gif?ver=bb8683872ea0");
	}

	/* 🚨 **店舗の中央寄せは `--course` と同じ節へ移した（Bug #5005）。**
	   以前はここで `margin-inline: auto` を効かせ、すぐ下の節が器に幅
	   （`width: 11.875%`）を与えていた。**移行元が押しボタンを作り替えて絵の寸法を
	   直に書くようになった**ので、器を縮める形はもう要らない。寄せ方は
	   `text-align: center` にそろえる（下の `--course` の節を参照）. */
}

/* 🚨 **器を 11.875% へ縮める節は Bug #5005 で外した。**

   以前ここには `@media (max-width: 768px) { .pa-page-top--branch .pa-page-top__item
   { width: 11.875% } }` が在った。移行元が携帯用の絵に寸法を書かず、共通の
   `img{max-width:100%;height:auto}` だけで**器が絵より狭いときにしか縮まない**作り
   だったので、器の幅を写す必要があった（Bug #2817）。

   **移行元は作り替えた。**2026-09-10 に本番の店舗 25 ページを取得したところ、押しボタンは
   `div.page-gotop` ＋ `<picture>` になり、携帯用の絵に `width="38" height="43"` を
   直に書いている（`/guide/course/` とまったく同じ形）。**絵の大きさが属性で決まるので、
   器を縮める指定は要らない。**残すと、境目を 750px にしたあと **750〜768px で
   パソコン用の絵（50 × 63）が器に潰される**（器は 11.875% ＝ 89〜91px しか無い）.
   取得した HTML の置き場所は `pa-verify-assets/branch-survey/prod-0910/`. */

/* 🚨 指を乗せたときの差し替えは、**パソコン用の画像が出ている幅だけ**に効かせる
   （外部レビューの指摘・Bug #2817）。

   移行元は差し替えの目印（`imgover`）を**パソコン用の画像だけ**に付けており、
   携帯用の GIF には付けていない（銀座店の 2811 行
   `<img … class="imgover pc-only"><img … class="sp-only">`）。現行を実際に描いて
   指を乗せても、携帯用の画像が出る幅では画像は変わらない（2026-09-02 実測）。

   このテーマは 1 枚の `<img>` を `<picture>` で切り替えるため、上の差し替えの規則
   （`.pa-page-top__link:hover .pa-page-top__image`）が**携帯用の画像にも効く**。
   打ち消さないと、指を乗せた瞬間に 76 × 86px の GIF が 50 × 63px の PNG に化けて
   組みが動く（実測: 店舗は 700〜1049px で 76×86 → 50×63、コースは 375〜749px で
   38×43 → 38×47.9）。**境目は種類ごとに違う**ので節を 2 つに分ける。 */
/* 🚨 **境目を 1049px から 749px へ下げた（Bug #5005）。**打ち消しは**携帯用の絵が
   出ている幅だけ**に効かせる。境目が 750px になったので、750px 以上ではパソコン用の
   絵が出ており、そこでは移行元と同じく指を乗せたら `_ov` へ差し替わってよい. */
@media (max-width: 749px) {
	.pa-page-top--branch .pa-page-top__link:hover .pa-page-top__image {
		content: normal;
	}
}

/* コースと料金の携帯幅の寄せ（Task #3646）。

   移行元は矢印を**中央**に置く（本番を携帯の名乗りで幅 375px で測ると
   左端 x = 168.5・絵は 38 × 43 の `page_top.gif`）。写しは器いっぱいの段落へ
   `text-align: right` を受け継がせており、矢印が**右端 x = 318.3** に出ていた
   （差 149.8px）。

   🚨 **店舗も同じ寄せ方になった（Bug #5005・2026-09-10）。**以前ここには「店舗は
   `width: 11.875%` と `margin-inline: auto` で器が絵の幅まで縮んで中央に来るから
   直す必要が無い」と書いてあった。**移行元が押しボタンを作り替え、絵に寸法を直に
   書くようになった**ので、器を縮める形をやめて**この節へ `--branch` を足した**。

   🚨 **器の幅は変えない。**段落は幅 337.5・左端 18.75 のままで、寄せだけを中央に
   すると 18.75 +（337.5 − 38）÷ 2 = 168.5 になり、移行元と一致する
   （dev の実ページへ当てて確かめた）。

   絵そのものは移行元と同じものである（写しの `pagetop_sp.gif` と移行元スマホ版の
   `page_top.gif` は中身の指紋が一致する）. */
@media (max-width: 749px) {
	.pa-page-top--branch .pa-page-top__item,
	.pa-page-top--course .pa-page-top__item {
		text-align: center;
	}
}

@media (max-width: 749px) {
	.pa-page-top--course .pa-page-top__link:hover .pa-page-top__image {
		content: normal;
	}
}

/* 新デザインの店舗の帯を、携帯幅で移行元と同じ高さにする（Bug #6128）。

   実測（2026-09-14・実ブラウザ・幅 375px・銀座店と名古屋店で同値）:

     dev    上の内余白 40 ＋ 絵 43 ＋ 行の余り 8 ＝ **91**
     移行元 絵 43 ＋ 下の内余白 42.9389（`3em`）   ＝ **85.94**

   素の `.pa-page-top` は `padding: 40px 0 0` で**上**に取る。移行元は**下だけ**に取る。

   🚨 **値は `calc(4.5 * 2.5445292621vw)` で書く。**42.9389px は幅 375px のときの実測値で、
   `2.5445292621vw` はテーマが既に使っている単位である（375px で 9.542px）。4.5 倍が
   42.939px にあたる。px で焼き込むと別の幅でずれる。

   🚨 **携帯幅は中央そろえのままにする。**すぐ上の節が
   `.pa-page-top--branch .pa-page-top__item { text-align: center }` を当てているが、
   器を grid にすると `text-align` は中身に効かない。**横の位置を 1px も動かさない**ため、
   ここで `justify-items: center` に置き換える（パソコン幅は右そろえのまま）. */
@media (max-width: 749px) {
	body.single-branch .pa-page-top--branch {
		padding: 0 0 calc(4.5 * 2.5445292621vw);
	}

	body.single-branch .pa-page-top--branch .pa-page-top__item {
		justify-items: center;
	}
}

/* ==============================================================
 * セクション別スタイルの置き場（後続 Task の編集領域）
 *
 * ここから下は、セクションごとに区画を分けてある。各 Task は自分の
 * 区画の中だけにスタイルを書くこと（区画をまたいで書かない）。
 * 並列に進む複数のブランチが同じ場所へ追記し合うと、マージのたびに
 * 衝突するため、先に区画を切ってある。
 * ============================================================== */

/* --------------------------------------------------------------
 * ヘッダーとグローバルナビ（#1238 の編集領域）
 *
 * 移行元サイトの見た目に寄せた寸法の写し元は次のとおりである。
 *   PC  public/css/style.css の #fixHeader / #header-inner / .gNavi
 *       （高さ 80px・ナビは serif の 15px・マウスを載せると赤い下線 2px）
 *       と #header #header-navi（補助リンクは 11px）
 *   SP  public/sp/css/common.css の #header（下辺に 1px の罫線）と
 *       #header #menu（開閉ボタンの幅 32px）、.drawer（全幅の引き出し）
 *
 * スマートフォン幅の開閉は次の 3 つの状態で成り立つ。
 *   1. JavaScript が動かない  … 開閉ボタンを出さず、ナビゲーションは開いたまま
 *   2. JavaScript が動く・閉  … .site-header--js が付き、ナビゲーションを隠す
 *   3. JavaScript が動く・開  … .is-nav-open も付き、ナビゲーションを出す
 * 1 を既定にしてあるので、スクリプトの読み込みに失敗してもナビゲーションへ
 * 到達できる。クラスを付けるのは assets/js/main.js である。
 * -------------------------------------------------------------- */

/* 目で見る必要はないが、スクリーンリーダーには読ませたい文字を隠す。
   Bug #9820 で外した「別のタブで開く」の断り書きのほか、隠し見出し等が使う。display: none と違い、読み上げの
   対象から外れない。 */
.pa-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.site-header {
	background-color: var(--pa-color-bg);

	/* ヘッダーの下端の 1px の罫線（Bug #2558）。移行元はパソコン版とスマートフォン版の
	   どちらもこの罫線を持つが、出し方が違う。スマートフォン版は
	   public/sp/css/common.css の #header に border-bottom: 1px solid #CCCCCC を
	   直接書いている。パソコン版は貼り付くヘッダー #fixHeader2 の背景画像
	   （public/images/bg_scroll_header.gif・59 × 468px）の 80 行目（添字 79）が
	   #CCCCCC で、その 1 行が高さ 80px のヘッダーの下端に来る仕組みである。

	   ここで border-bottom を使わず内側の影で描くのは、ヘッダーの高さを変えないため
	   である。移行元のパソコン版はヘッダーの高さが 40px（#header）＋ 80px
	   （#fixHeader2 #header-inner2）＝ 120px で、罫線はその 120px の内側にある。
	   dev のヘッダーも 120px なので、border-bottom を足すと 121px になり、
	   すぐ下のパンくずが 1px 下へずれる。内側の影は配置に影響しない。

	   移行元で罫線を持たないページが 128 件あるが（移行元では古いヘッダーを使う
	   /research/ /qol/ /comic-story/ 等）、dev はそれらも共通のヘッダーで描くため、
	   罫線も共通のヘッダーの見た目の一部として一律に出す。この差は意図的な変更として
	   docs/pa-cms/design/意図的変更の台帳.md に記録してある。 */
	box-shadow: inset 0 -1px 0 #ccc;

	/* 申し込みへの導線 3 件の塗り分け。移行元 public/css/style.css の
	   #header-sc-btn-menu li:nth-child(1〜3) a から写した 3 色である。
	   赤と金は共通のパレットにある色をそのまま指す。灰色はヘッダーにしか
	   出てこないので、ここで実値を持つ。2 つのデザインプロファイル
	   （legacy-compat / new）で塗りは変えない。移行元もヘッダーの 3 色は
	   ページによらず同じだからである。 */
	--pa-header-cta-eq-bg: #838383;
	--pa-header-cta-reservation-bg: var(--pa-palette-red-legacy);
	--pa-header-cta-request-bg: var(--pa-palette-gold);
	--pa-header-cta-text: var(--pa-palette-white);

	/* マウスを載せたときの文字色（Issue #2113・ユーザー裁定で移行元の演出に
	   戻した）。移行元はラベルをスプライト画像（public/images/top/sprite.png）で
	   出しており、載せたときの画像も本文と同じ地色（#474747）の文字に見える
	   絵柄だった。ここは画像を使わず実テキストのままなので、載せたときの
	   文字色を同じ #474747 にして見た目をそろえる。3 色の塗り（上の
	   --pa-header-cta-*-bg）と同じ理由で、デザインプロファイルに関わらず
	   固定の実値を持つ（--pa-color-text だと legacy-compat で #000 に変わり、
	   移行元と食い違う）。白地との対比は 9.29:1 で、WCAG AA（4.5:1）と
	   AAA（7:1）のどちらも満たす（2026-08-26 実測）. */
	--pa-header-cta-hover-text: #474747;

	/* スマートフォン幅の引き出しの下地。移行元 public/sp/css/common.css の
	   #drawer_main_menu li（見出しの行 #f5f5f5）と dd ul li（子リンクの行 #fff）
	   から写した 2 色である。引き出しにしか出てこないので、ここで実値を持つ
	   （Issue #1627）. */
	--pa-drawer-row-bg: #f5f5f5;
	--pa-drawer-sub-bg: var(--pa-palette-white);
}

/* 携帯幅の新デザインの 12 ページ（トップ・店舗 10 件・入会案内の「コースと料金」）は、下端の罫線を出さない（Bug #9882）。
   移行元の新デザインのページは `assets/css/style.css` だけを読み、携帯の名乗りで出す `include/header_sp.shtml` の
   `#header` に罫線も影も無い。罫線を持つのは旧デザインの `sp/css/common.css` の `border-bottom` である。
   12 ページは `inc/design-profile.php` の `pa_is_legacy_new_asset_page()` が見分け、`pa-legacy-common-css` が付かない。
   パソコン幅は新デザインのページも貼り付くヘッダーの背景画像で罫線を持つので、ここでは触らない。
   上の罫線が出るページの範囲（台帳の「ヘッダーの下端の 1px の罫線が出るページの範囲」・パソコン版で数えた 128 件）とは別の話である. */
@media (max-width: 749px) {

	body:not(.pa-legacy-common-css) .site-header {
		box-shadow: none;
	}
}

/* 共通ブロックの仮の 1200px を、移行元のヘッダーの広さに近い内側の幅で
   上書きする。移行元の #fixHeader は画面いっぱい（最小 1100px）だった。 */
.site-header__inner {
	position: relative;
	max-width: var(--pa-inner-md);
	display: flex;
	align-items: center;
	gap: 24px;
	padding-top: 10px;
	padding-bottom: 10px;
}

/* トップページだけ、最上段に h1（#1293）が乗る分だけ上を空ける。
   移行元の #header（高さ 40px）に相当する行を、ロゴの行の上に確保する。
   この padding-top の値は、下の .site-header__tagline の
   font-size / line-height から決めている。タグライン側の数値を変えたら
   ここも合わせて見直すこと（ロゴ行と重なる・余白が余る、のどちらかになる）。 */
.site-header__inner--with-tagline {
	padding-top: 28px;
}

/* トップページの h1（移行元の #header #description の写し。#1293）。
   通常のナビゲーション（ロゴ・グローバルナビ・CTA）の flex 計算には
   参加させず、絶対配置でロゴの行の上に重ねる。フロントページにしか
   出さないので、他ページの見出し構成（各テンプレートの entry-title 等）
   と衝突しない。
   （検討記録）flex-basis:100% で行を強制的に折り返す案も検討したが、
   .site-header__inner に flex-wrap を新設する必要があり、ロゴ・ナビ・CTA
   側の狭い画面（750〜900px 幅）での折り返し方まで変わってしまうため
   見送った。絶対配置なら他の子要素の flex 計算に一切影響しない。 */
.site-header__tagline {
	position: absolute;
	top: 2px;
	/* absolute 配置の基準（.site-header__inner のパディングボックス）は
	   パディングの内側を含まないため、left: 0 だとロゴより左へずれる。
	   共通ブロックの左パディング（--pa-inner-gutter）ぶんだけ足して、
	   ロゴの左端に揃える. */
	left: var(--pa-inner-gutter);
	margin: 0;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--pa-color-text);
}

/* ヘッダー上段の帯（.site-header__page-name とパソコン幅用の補助リンクの写しを
   横に並べる器。Issue #2662）。移行元の上段の帯を復元した 750px 以上の
   ときだけ出す。既定で消しておくのは、移行元のスマートフォン版が別の HTML を
   返しており、この帯そのものを持たないためである。
   出す幅の下限は 1100px から 750px へ下げた（Issue #2823）。移行元の上段
   #header は min-width: 1200px を持ち、幅 750px でも 1200px 幅の帯として
   出る（2026-09-03 に配信中の移行元をパソコンの名乗りで測り、幅 800 / 1100 /
   1101 / 1199px のすべてで 1200 × 40px だった）。dev 側も同じ最小幅を
   @media (min-width: 750px) の節で与えるので、ページ名と補助リンクを横に
   並べる幅は足りる. */
.site-header__top {
	display: none;
}

/* 下層ページのページ名（Task #1680）. .site-header__top の中に置く. */
.site-header__page-name {
	display: none;
}

/* 🚨 ページ名が h1 のときだけ、749px 以下で「消す」のをやめて「切り抜きで隠す」
   （Bug #7717）。

   フォームの完了画面 4 本は、ヘッダー最上部のバナーが唯一の h1 である
   （Bug #7623 / PR #7688）。**そのバナーを display: none で消すと、h1 が DOM に
   1 個あるのに読み上げへ 1 つも届かない。**2026-09-19 に配信中の dev を実ブラウザで
   測って確かめた（幅 375 で「読み上げに届く h1 の数」が 0。記録は
   `pa-verify-assets/D6/7623-完了画面のh1-確認-0919.json`）。

   🚨 **消しているものは 2 つある。**ページ名自身（すぐ上の既定）と、親の
   `.site-header__top`（2934 行の既定）である。**片方だけ直しても届かない。**

   🚨 **`:has()` で「ページ名が h1 のとき」だけに絞る。**バナーが div のページ
   （フォーム以外の全ページ）には 1px も当たらない。移行元のスマートフォン版は
   別の HTML を返しこのバナーを持たないので、**見せてはいけない。**だから
   `display: block` に戻すのではなく、1px の切り抜きで隠す（`.pa-visually-hidden`
   と同じ宣言）。場所を取らないので、器の高さは変わらない。

   🚨 **補助リンクの写しは消したままにする。**器を切り抜きで出すと、中の
   `.site-header__sub` まで読み上げに出てしまう。ここで明示的に消す。 */
@media (max-width: 749px) {
	.site-header__top:has(> h1.site-header__page-name) {
		display: block;
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	.site-header__top:has(> h1.site-header__page-name) > h1.site-header__page-name {
		display: block;
	}

	.site-header__top:has(> h1.site-header__page-name) .site-header__sub {
		display: none;
	}
}

/* 下段（ロゴの行・キャッチコピー・引き出しの中身）をまとめる器
   （Issue #2886 / #2823）。移行元の下段 #fixHeader2 に当たる。

   移行元は下段に min-width: 1100px を持ち、画面がそれより狭くても中身を
   折り返さず横へはみ出させていた。dev は下段の組みを @media (min-width: 1100px)
   の中だけで作っていたため、幅 750〜1099px はパソコンの組みも引き出しの組みも
   当たらない中間の状態になり、中身が折り返してヘッダーの高さが 177〜222px に
   なっていた（移行元は 120px）。この器へ最小幅を与えて折り返しを止める
   （指定は @media (min-width: 750px) の節）。

   基底では display: contents にして、この器そのものを描かない。中の 3 つ
   （.site-header__bar / .site-header__tagline / .site-header__panel）が
   .site-header__inner の直接の flex アイテムとして扱われるため、749px 以下の
   引き出しの組みと、この基底のスタイルを 1 行も変えずに済む. */
.site-header__main {
	display: contents;
}

.site-header__bar {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.site-header__logo {
	font-family: var(--pa-font-family-serif);
	font-size: 20px;
	line-height: 1.2;
}

.site-header__logo a {
	color: var(--pa-color-heading);
	text-decoration: none;
	/* 中の img の下に、行の下端ぶんの隙間ができるのを防ぐ. */
	display: block;
}

/* ロゴをリンクにしない画面（オンライン資料請求・D812）の器。リンクと同じく行の下端の隙間を防ぐ. */
.site-header__logo .site-header__logo-unlinked {
	display: block;
}

/* 移行元のロゴは 280x49 の SVG である。**移行元の幅は 3 段**で、既定（この規則）が
   いちばん狭い 175px に当たる（1386px 以下）。広い側の 230px と 280px は
   下の `@media (min-width: 1387px)` と `@media (min-width: 1561px)` が受け持つ。
   段の全体と実測はそちらの注釈にまとめてある。

   1386px 以下を既定にしておけば、幅 750〜1099px でもこの意図が幅だけで
   解除されない（Issue #2823 でパソコンの組みの下限を 750px へ下げ、この幅も
   パソコンの組みを受けるようになった。移行元も 1386px 以下は 175px なので、
   既定のままで移行元と一致する）。

   🚨 **以前この注釈は「1202px 以上で 222px」と書いていたが、それは誤りだった**
   （Bug #2563 の検収の表の取り違え。Bug #3982 で直した）. */
.site-header__logo-image {
	display: block;
	width: 175px;
	max-width: 100%;
	height: auto;
}

/* 上の帯のロゴは同じ絵を 2 枚置き、幅で出し分ける（Bug #8881）。移行元はパソコン版と
   携帯版でロゴの代わりの字が違う（`inc/site-header-nav.php` の注釈）。隠す側は
   display: none なので読み上げにも出ない.

   🚨 **既定で携帯用を隠し、携帯幅の節だけで入れ替える。**`(min-width: 750px)` と
   `(max-width: 749px)` の 2 つで隠すと、749〜750px の端数の幅ではどちらも当たらず、
   2 枚とも出る（PR #8913 の外部レビュー）. */
.site-header__logo-image--sp {
	display: none;
}

@media (max-width: 749px) {
	.site-header__logo-image--pc {
		display: none;
	}

	.site-header__logo-image--sp {
		display: block;
	}
}

/* 開閉ボタンは既定で出さない。スマートフォン幅で、かつ JavaScript が
   クラスを付けたときだけ現れる（下のメディアクエリ）。 */
.site-header__toggle {
	display: none;
}

/* 引き出し（スマートフォン幅のドロワー）だけが使う部品は、既定で出さない。
   749px 以下のメディアクエリだけが出す（Issue #1627）。
     .site-header__drawer-head   引き出しの中のロゴと閉じるボタン
     .site-header__drawer-promo  引き出しの中の「成婚率業界No.1」のバナー
     .site-header__submenu-toggle アコーディオンの開閉ボタン（＋ / −）
   パソコン幅では、ロゴが 2 つ並んだり、メガメニューの上にボタンが乗ったり
   しないよう、ここで確実に隠しておく。 */
.site-header__drawer-head,
.site-header__drawer-promo,
.site-header__submenu-toggle {
	display: none;
}

/* 750px 以上では、補助リンクとグローバルナビの かたまり を左に、申し込みへの
   導線 3 件を右に並べる。移行元の PC 版も、ロゴの右にナビゲーション、その右端に
   3 ボタン、という並びだった。
   横幅が足りなくなったら導線を次の行へ送る（flex-wrap）。ただし
   Issue #2886 / #2823 で下段の器 .site-header__main が min-width: 1100px を
   持つようになったので、パソコンの組み（750px 以上）でこの折り返しは起きない。
   移行元も #fixHeader2 が min-width: 1100px を持ち、狭い画面では折り返さずに
   横へはみ出す。この flex-wrap が実際に効くのは 749px 以下の引き出しである. */
.site-header__panel {
	flex: 1 1 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-end;
	gap: 10px 16px;
}

/* 補助リンクの段とグローバルナビの段を縦に積む。次の行へ送る単位でもある。
   flex-basis の 520px は「この幅を割ったら導線を次の行へ送る」という目安で、
   グローバルナビ 6 項目が 2 行に収まるあたりに置いた。 */
.site-header__panel-main {
	flex: 1 1 520px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 10px;
}

.site-header__sub {
	display: flex;
	align-items: center;
	gap: 16px;
}

.site-header__utility {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 11px;
}

.site-header__utility a {
	text-decoration: none;
}

.site-header__utility a:hover,
.site-header__utility a:focus-visible {
	text-decoration: underline;
}

/* 補助リンクの接頭記号（移行元の header_navi.shtml が持つ「＞」。#1293）。
   読み上げると項目名の前に毎回「＞」が挟まり冗長になるので、装飾として
   aria-hidden で読み上げの対象から外す.

   記号は全角の「＞」（U+FF1E）である。移行元の
   legacy/www.p-a.jp/public/include/header_navi.shtml が
   `＞<a href="/visitor/questions/">Q&A</a>` と書いており、4 件すべて全角である
   （2026-08-28 に文字コードを実測。Issue #2456）。半角の「>」（U+003E）に
   すると、11px では 1 件あたり 3.05px 細くなり、4 件で 12.2px ぶん補助リンクの
   行が縮む。この段は右端を基準に置くので（下の 750px 以上の節の
   .site-header__sub は right: 10px）、行が縮むと左隣の電話予約の帯がその分
   右へずれる。移行元と食い違うため、半角にしないこと.

   記号と項目名の間に余白を置かない。移行元は shtml が `＞<a>` と続けて書き、
   CSS（style.css の #header #header-navi li）も余白を足していないためである。
   dev はここに 2px を持っており、補助リンク 4 件で 8px ぶん行が広がって、
   電話予約の帯の左端を移行元の 919.3px より左（904.7px）へ押し出していた
   （幅 1440px で実測。Issue #2456）。0 にすると帯の左端が移行元と一致する.

   記号は移行元と同じく `<li>` の直下（`<a>` の外）に置いた（Issue #2468）。
   そのためマウスを載せても記号には下線が付かず、色も変わらない。`<a>` の中へ
   戻すと、記号にも下線と赤色（a:hover）が付いて移行元と食い違う。 */
.site-header__utility-mark {
	margin-right: 0;
}

.site-header__tel {
	display: flex;
	align-items: baseline;
	font-family: var(--pa-font-family-serif);
	/* 狭い画面では中身を帯の中央へ置く。移行元は帯そのものが 1 枚の画像なので、
	   文字の左右に同じだけ余白が空いて見える（Issue #2456）. */
	justify-content: center;
	gap: 0;
	margin: 0;
	/* 帯の外寸を移行元と同じ 160x25px にする（Issue #2456）。移行元は
	   画像 /images/top/tel.png を width="160" height="25" で出しており、
	   この 2 つが正本である（稼働中の www.p-a.jp の HTML で実測。原寸は
	   179x28px で、縮めて表示している）。
	   このテーマは box-sizing: border-box なので、下の枠線 1px×2 と
	   上下の内余白 6px×2、文字の高さ 11px を足して 25px になる。

	   幅は width ではなく min-width で「下限」として与える。文字の実測幅は
	   129.5px で、枠の内側（158px）より 28.5px 狭い。デザインプロファイル new
	   の書体（Inter から始まる）で文字が広がっても収まり、収まらないときだけ
	   帯が広がって文字がはみ出さない。dev は直す前 166.7x21px だった
	   （幅 1440px で実測）. */
	min-width: 160px;
	padding: 6px 0;
	line-height: 1;
	/* 移行元の電話予約は画像（/images/top/tel.png）で、金の細い枠が付く。
	   ここは実文字なので、同じ配色（--pa-palette-gold）で枠を再現する（#1293）. */
	border: 1px solid var(--pa-palette-gold);
	background-color: var(--pa-color-bg);
	/* 右端に導線 3 件が入ったぶん、この段は狭くなった。折り返しを禁じないと
	   電話番号が「0120-093-」「408」の 2 行に割れる. */
	white-space: nowrap;
}

/* 色は var(--pa-color-accent) ではなく --pa-palette-gold を直接指す。
   電話予約は移行元でも header_navi.shtml という全ページ共通の 1 つの部品
   （画像 tel.png も 1 種類だけ）で、デザインプロファイル（legacy-compat /
   new）によらず常に同じ金色だった。上の CTA 3 色（422 行目のコメント）と
   同じ理由で、ここもプロファイル変数には乗せない。 */
.site-header__tel-label {
	font-size: 11px;
	color: var(--pa-palette-gold);
}

/* 電話番号の字は、上の「電話予約：」（.site-header__tel-label）と同じ基準の 11px・
   太字なしにする（Issue #2456）。移行元の帯は 1 枚の画像（tel.png）で、
   「電話予約：0120-093-408」の字の大きさが一様に見えるためである。dev は
   直す前 13px・太字で、この 1 か所だけ字が大きく太くなっていた. */
.site-header__tel-number {
	font-size: 11px;
	font-weight: normal;
	color: var(--pa-palette-gold);
	text-decoration: none;
}

.site-header__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__menu > li > a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 10px 12px;
	font-family: var(--pa-font-family-serif);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	/* マウスを載せたときに下線が出ても、行が上下にずれないよう場所を空けておく. */
	border-bottom: 2px solid transparent;
}

/* マウスを載せたときの下線と文字色（Bug #3249）。
 *
 * 🚨 **ここは世代のトークンを参照してはいけない。**ヘッダーは全ページ共通の
 * 部品だが、`--pa-color-accent-strong` はデザイン世代で値が切り替わる
 * （既定 = --pa-palette-red-legacy #e1200f ／ body.pa-profile-new =
 * --pa-palette-red #f54851）。参照していたため、新デザインの 6 ページ
 * （トップ・店舗 4 件・pa-zexy）だけ下線が #f54851 になっていた。
 * 移行元は**全ページ #e1200f** である（2026-09-04 に本番 www.p-a.jp の
 * トップと /service/ を幅 1440px で取得して実測）。
 *
 * 文字色も移行元にそろえる。移行元はこの部品だけを名指しする規則を持ち、
 * 旧デザインの素の `a:hover { color: #e1200f }` を打ち消している
 * （記録版 public/css/style.css と、トップが読むまとめ CSS の両方にある）。
 *
 *   #fixHeader2 #header-inner2 .gNavi li a.menu_ttl:hover { color: #000; }
 *
 * dev にこれが無かったため、**両方向にずれていた**。
 *
 *   トップ（新デザイン）  移行元 #474747 → #000 ／ dev 変わらず
 *   /service/（旧デザイン）移行元 #000 のまま ／ dev #e1200f（赤）へ変わる
 *
 * この選択子は (0,2,2) なので、素の `a:hover`（(0,1,1)）に自然に勝つ。
 * 世代の札を見ないので、どのページでも同じ「載せると黒くなる」になる。 */
.site-header__menu > li > a:hover,
.site-header__menu > li > a:focus-visible {
	border-bottom-color: var(--pa-palette-red-legacy);
	color: var(--pa-palette-ink-legacy);
}

/* 🚨 **いま見ているページの項目に、見た目の印を付けない（Bug #3272）。**

   移行元はどのページでも現在地の印を出さない。2026-09-04 に本番 www.p-a.jp の
   `/service/` を幅 1440px で取得し、最上位 6 項目のリンクの `border-bottom` を
   測ると、**現在地の「サービス」も含めて 6 項目すべてが 0px** だった。携帯幅の
   引き出しも同じで、写しの `public/sp/css/common.css` に現在地を示す規則は
   1 つも無い（`li` の地色は一律 #f5f5f5）。

   dev は金（--pa-color-accent）2px の下線を出していた。ユーザーは「金のボーダーが
   表示されているところが見当たらない」と述べたが、実際には**現在いるページに
   当たる項目 1 つだけ**に出ていた（トップはグローバルナビの 6 項目のどれでもない
   ため 1 つも出ない）。ユーザー裁定 65（同日 05:3x JST）で移行元どおり消すことに
   決まった。

   **読み上げ用の `aria-current="page"` は型紙の側に残してある。** 見た目の印を
   消しても、読み上げソフトには現在地が伝わる。ここで消すのは見た目だけである。

   同じ選択子の組はこの土台に加えて携帯幅とパソコン幅の節にもあった（合わせて
   3 か所）。**1 か所だけ消すと別の幅で残る**ので、3 か所すべてから消してある。
   `tests-retired/pa-cms-header-nav-current-mark/` の検査が 3 か所とも見張る. */

/* --- 申し込みへの導線 3 件（無料婚活EQ診断・来店予約・資料請求） --- */

/* 移行元の CTA は文字を画像に焼き込んでおり、その書体は明朝体である。
   ここは画像を使わず実テキストで組むが、書体は同じ明朝体にそろえる。 */

/* 移行元は 3 つのボタンを 1px の隙間で横に並べ、下段の右端を色の面にしていた
   （style.css の #header-sc-btn-menu）。幅は 127/152/152px で、
   1366px 以下では 110px ずつに詰めていた。ここは文字を画像でなく文字で組むので、
   幅は下限だけを決めて中身に合わせる。 */
.site-header__cta {
	flex: 0 0 auto;
	display: flex;
	align-items: stretch;
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__cta-item {
	display: flex;
}

/* 幅は clamp で画面幅に応じて伸び縮みさせる。ブレークポイントを増やさずに、
   1100px 前後の狭い PC でもナビゲーションの取り分を残すためである（移行元の
   PC 版は min-width: 1100px で、それより狭い画面は考えていなかった）。 */
.site-header__cta-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 100%;
	min-width: 96px;
	padding: 8px clamp(8px, 1vw, 14px);
	color: var(--pa-header-cta-text);
	/* 移行元の CTA は明朝体である。750px 以上では PC 用の導線を使うため、
	   PC 用レイアウトの下限とは分けて既定へ置く。749px 以下は下の同じ幅の
	   条件で従来の基本書体へ戻す。 */
	font-family: var(--pa-font-family-serif);
	font-size: clamp(12px, 0.95vw, 14px);
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}

/* 主の文字の上に小さく載せる語（「無料」）。移行元は文字を画像に焼き込み、
   語の背後に帯（幅 100px・高さ 15px・角丸無し）を敷いていた（Bug #2137・
   public/images/top/sprite.png から実測）。ここは文字を画像でなく実テキストで
   組むので、帯は `.site-header__cta-lead` の背景色で再現する。

   align-self: stretch は、帯をボタンの横幅いっぱいに広げるための指定である。
   `.site-header__cta-link` は flex-direction: column で、既定の align-items
   （center）のままだと子要素は中身の幅に縮む。移行元の帯はボタン幅
   （127px）のほぼ全体（100px）を占めており、狭い帯では見た目が違うため、
   ここで横に引き伸ばす。

   現在この語を持つのは婚活EQ診断ボタン（--eq）だけである（他の 2 ボタンは
   lead が空文字で、この要素自体が出力されない）。帯の色は婚活EQ診断ボタンの
   地色（--pa-header-cta-eq-bg・#838383）と白の組み合わせを反転させて使う
   （下の .site-header__cta-item--eq 側の指定を参照）。将来 lead を持つボタンが
   増えた場合に備え、色の指定は汎用クラスへ書かず --eq に絞っている。 */
.site-header__cta-lead {
	align-self: stretch;
	padding: 1px 4px;
	font-size: 11px;
}

.site-header__cta-item--eq .site-header__cta-link {
	background-color: var(--pa-header-cta-eq-bg);
}

/* 帯（.site-header__cta-lead）の色。移行元のスプライト画像を実測すると、
   通常時は白地に地色と同じ灰色（#838383）の文字、マウスを載せたときは
   地色の灰色に白文字と、ボタン本体とは逆向きに反転していた
   （sprite-btn1_normal.png・sprite-btn1_hover.png、2026-08-26 実測）。 */
.site-header__cta-item--eq .site-header__cta-lead {
	background-color: var(--pa-palette-white);
	color: var(--pa-header-cta-eq-bg);
}

.site-header__cta-item--eq .site-header__cta-link:hover .site-header__cta-lead,
.site-header__cta-item--eq .site-header__cta-link:focus-visible .site-header__cta-lead {
	background-color: var(--pa-header-cta-eq-bg);
	color: var(--pa-palette-white);
}

.site-header__cta-item--reservation .site-header__cta-link {
	background-color: var(--pa-header-cta-reservation-bg);
}

.site-header__cta-item--request .site-header__cta-link {
	background-color: var(--pa-header-cta-request-bg);
}

/* マウスを載せたときは移行元と同じく白地へ反転させる（Issue #2113・
   ユーザー裁定で移行元の演出に戻した）。

   以前は「反転すると淡い灰色や金の文字が白地に載り、文字と背景の明暗の差が
   足りなくなる」という理由で、塗りを濃くする側（filter: brightness）へ
   意図的に変えていた。ユーザーはこの判断を裁定で覆し、移行元の白反転へ
   戻すことを選んだ。コントラストの懸念は、白地に載せる文字色を固定の
   --pa-header-cta-hover-text（#474747）にすることで解消している
   （9.29:1・上の custom property のコメントに実測を記す）。

   移行元はラベル自体をスプライト画像（本文と同じ #474747 の文字を描いた
   絵）へ差し替えていたが、ここは画像を使わず、地の文字色をその絵と同じ
   #474747 に変えるだけで同じ見た目にする。実テキストのままなので、
   スクリーンリーダー・CMS 側の可変性への影響は無い（PR-GUIDE.md の
   「中身が変わっても崩れない」の原則）。

   文字色をここでも書いているのは、土台の a:hover（要素 + 擬似クラス）が
   .site-header__cta-link（クラスだけ）より強く、そのままでは文字が
   --pa-color-link-hover へ変わってしまうためである。legacy-compat の
   「来店予約」は塗りも文字も #e1200f になり、文字が背景に溶けて消える。 */
.site-header__cta-link:hover,
.site-header__cta-link:focus-visible {
	background-color: var(--pa-palette-white);
	color: var(--pa-header-cta-hover-text);
}

/* 引き出しメニューの暗幕（Bug #2056）は 750px 以上では絶対に出さない。
   下の @media (max-width: 749px) 側の定義は opacity・visibility を JS の
   .is-visible クラスで切り替える作りだが、それだけだと 750px 以上では
   このルール自体が効かず、既定値（opacity: 1・visibility: visible）に
   戻ってしまう（幅・高さが無いので実害は無いが、getComputedStyle で見ると
   「見える」設定に見えてしまう）。.pa-mobile-fixed-cta と同じ「基本は
   display: none、対象の @media 内でだけ display を戻す」の型に揃え、
   750px 以上では確実に非表示にする。 */
.site-header__scrim {
	display: none;
}

/* --- スマートフォン幅（749px 以下） --- */

/* 【この節は器の幅だけで切り替える。入力の種類は見ない】（Bug #2618）

   移行元は器の幅ではなく端末の名乗り（UA）でスマートフォン版を出し分けており、
   **iPad はパソコンとして扱う**。端末の名乗りを変えて移行元を取得すると、
   iPad (gen 7) と iPad Pro 11 のどちらでもパソコン版が返る（2026-09-01 実測）。

   一時期この節には `(pointer: coarse)`（指がメインの入力か）を足していた
   （Issue #2158）。携帯・タブレットを横向きにすると器の幅が 750px 以上になり、
   スマートフォン版の組みが外れてしまうのを拾うためである。しかしその条件は、
   **幅 1024px のタブレットのようにパソコン版であるべき環境まで巻き込んだ**。
   移行元はパソコン版、dev はスマートフォン版という食い違いが、フォームの
   4 ページを除く全ページで起きていた（Bug #2618 の実測）。

   ユーザー裁定（2026-09-01）は「移行元に合わせる。タブレットは幅を基準に
   パソコン版の組みを出し、指への配慮はボタンの大きさなどの微調整に限定する」で
   ある。よって `(pointer: coarse)` を版の切り替えの条件から外した。**版の
   切り替えに入力の種類を使わない**のがこのテーマの決まりである。押す的の
   大きさのような微調整に `(pointer: coarse)` を使うのは差し支えない.

   ブレークポイントの正本は --pa-breakpoint-sp である。ここの 749px を
   変えるときは、assets/js/main.js の SP_MEDIA_QUERY も合わせて直すこと. */
@media (max-width: 749px) {
	/* 移行元のスマートフォン版は、ヘッダーの行（#header）・キャッチコピーの帯（h1）・
	   引き出し（.drawer）が、それぞれ画面の幅いっぱいに敷かれ、左右の余白は行ごとに
	   持っていた。共通ブロックの左右パディングをここで外し、行ごとに移行元と同じ
	   余白（左 6.25% / 右 5.312%）を持たせる（Issue #1627）. */
	.site-header__inner {
		display: block;
		padding: 0;
	}

	/* この幅では h1 をロゴの行に重ねず、ヘッダーの下の独立した白い帯へ戻す
	   （#1293・Bug #1346・Issue #1627）。移行元は iPhone の名乗りに対して、
	   ヘッダーの行の直下にこの帯を敷いている。上下の余白（12px / 11px）と左右の
	   余白（左 6.25% / 右 5.312%）はヘッダーの行と同じ値で、背景も白のままである。
	   上下の余白は移行元も固定値で、実測（幅 320〜749px の 7 点）で一致している。

	   文字の大きさと行送りは、下の `@media (max-width: 749px)` が移行元と同じ
	   「画面幅に比例する値」へ上書きする（Bug #2654）。ここに残す 11px / 19px は、
	   幅が 750px 以上でありながら指の操作が主の端末（タブレット等）向けの値である。
	   その帯の扱いは Issue #2618 が決めるまで、いまの値を動かさない. */
	.site-header__tagline {
		position: static;
		display: block;
		padding: 12px 5.312% 11px 6.25%;
		font-size: 11px;
		line-height: 19px;
		background-color: var(--pa-color-bg);

		/* ヘッダーの下端の罫線。**内側の影ではなく境界線で描く**（Bug #2654）。
		   移行元のうたい文句（`h1.page__h1`）は上下に `1px solid #ccc` を持ち、
		   その 2px ぶん帯が高くなる。内側の影は場所を取らないため、影で描くと帯が
		   移行元より低くなり、下の内容が上へずれる。

		   移行元とテーマは、同じ 2 本の線を別の要素に持たせている。
		     移行元: うたい文句の上の境界線 + うたい文句の下の境界線
		     テーマ: ロゴの行（.site-header__bar）の下の境界線 + ここの下の境界線
		   線の位置は同じで、帯の高さも「60 + 1 + 12 + 文字 × 1.5 + 11 + 1」で
		   移行元と一致する。

		   もともとは Bug #2558（パソコン幅の罫線）で使った内側の影をこの帯にも
		   写していた。パソコン幅は「高さを変えないこと」が正しく影が合っているが、
		   **この幅では逆に「高さが 1px 増えること」が正しい。**同じ取り違えを
		   Bug #2632 がロゴの行の側で先に直している（すぐ上の注釈を参照）. */
		border-bottom: 1px solid #ccc;
	}

	/* 幅いっぱいに広げて、ロゴを左・開閉ボタンを右に置く（移行元の SP と同じ）。
	   余白は移行元 public/sp/css/common.css の #header（12px 5.312% 11px 6.25%）
	   をそのまま写す。上端を揃えると、ロゴ（高さ 30.6px）と開閉ボタン（37px）の
	   どちらも移行元と同じ y=12px から始まり、行の高さが 60px になる. */
	.site-header__bar {
		align-items: flex-start;
		gap: 0;
		min-height: 0;
		padding: 12px 5.312% 11px 6.25%;

		/* ロゴの行の下端の罫線（Bug #2632）。移行元のスマートフォン版は
		   public/sp/css/common.css の #header に border-bottom: 1px solid #CCCCCC を
		   直接持つ。**ここは境界線で描く。**内側の影ではいけない。

		   移行元はこの罫線のぶんヘッダーの高さが 1px 増え（本体 60px + 境界線 1px
		   = 61px）、すぐ下の本文が y=61 から始まる。内側の影は高さを増やさないため、
		   dev の本文は y=60 から始まって移行元より 1px 上にずれていた（Bug #2632 で
		   実測）。パソコン幅（Bug #2558）は逆に「高さを変えないこと」が正しく、
		   内側の影を使う。**画面幅で正解が逆になる点に注意すること。**

		   🚨 **応答型の 8 ページは例外で、移行元もこの罫線を持たない（Bug #5265・
		   2026-09-09）。**移行元は携帯幅のページを 2 通りの作りで持つ。**`/sp/` へ
		   転送されるページ（約 5,400）はこの罫線を持ち、転送されない応答型の
		   8 ページ（トップ ＋ 改装版の店舗 6 店 ＋ `/guide/course/`）は持たない。**
		   すぐ下の規則で 8 ページだけ外す。**ここを消すと約 5,400 ページで本文が
		   1px 上へずれる**ので、消さずに例外だけを書く. */
		border-bottom: 1px solid #ccc;
	}

	/* 🚨 **応答型の 8 ページだけ、ヘッダーの罫線を外す（Bug #5265）。**
	   ユーザーが携帯幅で目視し「上部に移行元にないボーダーがある」と指摘した線で
	   ある（W38）。

	   移行元は携帯幅のページを 2 通りの作りで持ち、**罫線の有無が逆**である。

	   | 移行元の作り | 携帯の名乗りで行く先 | 罫線 | dev のページ数 |
	   |---|---|---|---:|
	   | 携帯専用ページ | `/sp/...` へ**転送**される | **持つ** | 約 5,400 |
	   | 応答型 | 転送されない（同じ URL） | **持たない** | **8** |

	   応答型なのはトップ ＋ 改装版の店舗 6 店（銀座・新宿・名古屋・静岡・横浜・
	   岡山）＋ `/guide/course/` である。判定は `inc/design-profile.php` の
	   `pa_is_legacy_new_asset_page()` が持ち、**その 8 ページだけ目印
	   `pa-legacy-common-css` が付かない**。だから当たり先はその否定で書く。

	   実測（最終 URL で作りを見分けた）:

	   | ページ | 携帯の名乗りで測った最終 URL | 作り | 罫線 |
	   |---|---|---|---|
	   | 銀座（改装版） | `/branch/tokyo/ginza.html`（そのまま） | 応答型 | **0 本**（11 班・14:41 JST） |
	   | `/guide/course/` | `/guide/course/`（そのまま） | 応答型 | — |
	   | 浜松（旧デザイン） | `/sp/branch/chubu/hamamatsu.html` | 携帯専用 | 持つ（写しの `sp/css/common.css`） |

	   🚨 **`border-bottom: 0` は高さを 1px 縮める。それが正しい。**移行元の応答型は
	   罫線を持たないので、ヘッダーは 60px・本文は y=60 から始まる。**「高さを
	   変えないこと」を目標にして内側の影へ置き換えてはいけない**（それは
	   パソコン幅（Bug #2558）の正解で、ここでは逆になる）。

	   🚨 **同じ「支店紹介」でも改装版と旧デザインで罫線の有無が逆である。**
	   1 ページだけ測って区分全体へ広げない. */
	body:not(.pa-legacy-common-css) .site-header__bar {
		border-bottom: 0;
	}

	/* 🚨 **罫線を外した 8 ページでは、上の線をうたい文句の帯が持つ（Bug #6207）。**
	   移行元 `assets/css/style.css` の `.page__h1` は
	   `border-top: 1px solid #cccccc` と `border-bottom: 1px solid #cccccc` を
	   **2 本とも自分で持つ**。テーマは引き出しの組み立ての都合で上の線をロゴの行
	   （`.site-header__bar` の下の境界線）へ移したが、**すぐ上の規則が応答型の
	   8 ページでその線を外す**ため、上の線を描く要素が 1 つも無くなっていた。

	   実測（幅 375px・2026-09-14 13:44・トップページ）:

	   | 測るもの | 移行元 | 直す前の dev |
	   |---|---:|---:|
	   | 帯の上端 | 60 | 60 |
	   | 帯の下端 | 102.17 | **101.17** |
	   | 帯の高さ | 42.17 | **41.17** |
	   | 帯の上の罫線 | `1px solid rgb(204,204,204)` | **`0 none`** |

	   線の位置は動かず、**帯の高さが 1px 足りない**。境界線は場所を取るので、
	   その下の内容がすべて 1px 上へずれる。

	   🚨 **当たり先はロゴの行の例外と同じ「目印の否定」で書く。**約 5,400 ページの
	   携帯専用ページはロゴの行が下の線を持ったままなので、そちらでここに線を足すと
	   **同じ場所に線が 2 本**になる。絞りを外してはいけない.

	   🚨 **内側の影で描いてはいけない。**影は場所を取らないので高さが 1px 足りない
	   ままになる。境界線で描く（Bug #2654・Bug #2632 と同じ理由）. */
	body:not(.pa-legacy-common-css) .site-header__tagline {
		border-top: 1px solid #ccc;
	}

	.site-header__logo {
		font-size: 17px;
	}

	/* 移行元のスマートフォン版は、ヘッダーのロゴを 175x31 で出していた
	   （common.css の #header #logo）。280x49 の SVG を 175px 幅で描くと
	   高さは 30.6px になり、移行元との差は 0.4px に収まる. */
	.site-header__logo-image {
		width: 175px;
	}

	/* 移行元の開閉ボタンは 64x74 の画像（/sp/images/menu.gif）を幅 32px で出しており、
	   実測は 32x37 だった。3 本線と MENU の文字を 1 枚に収めた画像である。
	   ここは画像を使わず、CSS の線と読み上げられる文字で同じ寸法に組む（Issue #1627）。

	   ## 線の太さと字体も絵に寄せる（Task #10291・ユーザー決定 D986・事業部の指摘 row 22）

	   字にしたまま（D40）、線 3 本と「MENU」の字を絵と同じ太さ・位置・字体にする。
	   絵 `menu.gif`（64 × 74）を画素で数え、表示の 32 × 37 へ半分にした値で組む。

	       線 3 本   墨 x 2..61  y 1..8 / 21..28 / 41..48  → 幅 30・太さ 4・左 1・上 0.5 / 10.5 / 20.5
	       字 MENU   墨 x 1..59  y 59..72（セリフ体）       → 横 0.5..30・縦 29.5..36.5（字の高さ 7）
	       色        #000

	   線の上と太さは 1/3px の刻み（10.33・4.33）で置く。絵は縮めて描かれるので、墨は 4.33 の太さで
	   上 0.33 / 10.33 / 20.33 に出る（下見 1 本目 `pa-verify-assets/A/10291-下見-1012/` の実測）。
	   画素比 3 の画面では 0.5px の位置が 1px へ寄り、線が 0.67 下がった。字は 9.6px で墨が 1.33 広く
	   1 上だったので、9.2px・上 29 へ詰めた.

	   🚨 **中の 2 つは箱の中の絶対位置で置く。**前の組み（縦の flex と gap）は、線と字の
	   位置が字の行送りで動き、絵の座標に合わせられない.

	   （申し送り）48x48px は指で押す的の大きさの目安として広く使われており、
	   直前の実装（48x44px）にはその実益があった。今回の裁定は「移行元へ戻す」なので
	   32x37px にしているが、押しやすさの観点は Issue #1627 に記録が残っている. */
	.site-header--js .site-header__toggle {
		display: block;
		position: relative;
		width: 32px;
		height: 37px;
		min-width: 0;
		min-height: 0;
		padding: 0;
		background-color: transparent;
		border: 0;
		color: #000;
		font-family: inherit;
		font-size: 8px;
		line-height: 1;
		cursor: pointer;
	}

	/* 3 本線は本体の 1 本（真ん中）と、上下の擬似要素で作る。読み上げの対象から外すため、
	   header.php 側で aria-hidden="true" を付けてある。
	   本体を真ん中の線（上 10.5）に置き、上下の線は本体から 10px 離す。× に変えるときは
	   上下の線を本体の位置へ寄せて回す（下の is-nav-open の規則）. */
	.site-header__toggle-icon {
		display: block;
		position: absolute;
		top: 10.33px;
		left: 1px;
		width: 30px;
		height: 4.33px;
		margin: 0;
		background-color: currentcolor;
	}

	.site-header__toggle-icon::before,
	.site-header__toggle-icon::after {
		content: "";
		position: absolute;
		left: 0;
		width: 30px;
		height: 4.33px;
		background-color: currentcolor;
	}

	.site-header__toggle-icon::before {
		top: -10px;
	}

	.site-header__toggle-icon::after {
		top: 10px;
	}

	/* 「MENU」の字は絵と同じセリフ体にする。明朝の並びの欧文はセリフ体で描かれる。
	   字の高さ 7 になる大きさ（明朝の大文字の高さは字の大きさの 0.73 ほど）を置き、
	   墨の外枠が絵と同じになるよう、上と左を合わせ込む（下見で両側の墨を数える）. */
	.site-header--js .site-header__toggle-text {
		position: absolute;
		top: 29px;
		left: -0.75px;
		width: 32px;
		font-family: var(--pa-font-family-serif);
		font-size: 9.2px;
		font-weight: normal;
		letter-spacing: 0;
		line-height: 1;
		text-align: center;
		white-space: nowrap;
	}

	/* 開いている間は 3 本線を × に替える。状態は aria-expanded が伝えるので、
	   ボタンの文字は「MENU」のまま変えない。 */
	.site-header--js.is-nav-open .site-header__toggle-icon {
		background-color: transparent;
	}

	.site-header--js.is-nav-open .site-header__toggle-icon::before {
		top: 0;
		transform: rotate(45deg);
	}

	.site-header--js.is-nav-open .site-header__toggle-icon::after {
		top: 0;
		transform: rotate(-45deg);
	}

	/* JavaScript が動くときだけ畳む。動かないときは開いたままにする。 */
	.site-header--js .site-header__panel {
		display: none;
	}

	/* 開いた引き出しは、移行元と同じくヘッダーへ覆いかぶさる形で出す
	   （移行元 public/sp/css/common.css の .drawer は position: absolute・top: 0・
	   left: 0・width: 100% だった。Issue #1627）。基準は position: relative を
	   持つ .site-header__inner で、この幅では左右のパディングを外してあるので
	   画面の幅いっぱい（375px）に敷ける。
	   覆いかぶさるとヘッダーのロゴと開閉ボタンが隠れるため、引き出し自身が
	   ロゴと閉じるボタンを持つ（header.php の .site-header__drawer-head）。

	   重ね順は移行元と同じ 10000 にする。この幅には画面下端に貼り付く CTA バー
	   （.pa-mobile-fixed-cta）が 9999 で居り、それより小さい値にすると引き出しの
	   下端（資料請求・来店予約の 2 ボタン）がバーの下へ潜ってしまう。移行元も
	   引き出しを 10000 にしてバーより前へ出していた. */
	.site-header--js.is-nav-open .site-header__panel {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10000;
		width: 100%;
		padding-bottom: 0;
		border-top: 0;
		background-color: var(--pa-color-bg);
	}

	/* 引き出しメニューを開いている間、背景全体へ重ねる暗幕（Bug #2056）。
	   移行元 assets/js/main.js の #overlay_wrapper（opacity: 0.6 の黒・
	   fadeIn/fadeOut 200ms）を写す。数値（0.6・0.2s）は移行元の実測どおりで
	   あり変えない。

	   重ね順の作り方: z-index はこのファイルの他の値を一切変えず、画面下端の
	   CTA バー（.pa-mobile-fixed-cta）と同じ 9999 のままにしてある。CSS の
	   仕様では z-index が同値のとき DOM 順序が後ろの要素が前面に出るため、
	   footer.php 側で暗幕のマークアップを CTA バーより後ろに置くことで、
	   数値を変えずに暗幕を CTA バーの上へ出す（詳細は footer.php のコメント）。
	   .site-header__panel の 10000 は、この暗幕より
	   さらに前に出す既存の約束（このファイル上のコメント参照）なので、
	   それらの数値も変えていない。

	   フェード自体の表示・非表示は opacity + visibility を JavaScript が
	   切り替える .is-visible クラスで担う（display の出し分けにしないのは、
	   フェードのトランジションを効かせるため）。visibility の transition-delay
	   は、閉じるときだけ opacity のフェード（0.2s）が終わってから hidden に
	   するためのもの。タップの遮断は pointer-events を別途トグルせず、この
	   visibility に一本化している（Codex レビュー指摘、PR #2079）。
	   `visibility: hidden` の要素は仕様上ヒットテストの対象にならずタップを
	   受け取らないため、pointer-events を併用する必要は無い。当初は
	   `pointer-events: none/auto` を別途トグルしていたが、`pointer-events` は
	   `visibility` と違って「フェード完了まで値を保持して最後に切り替える」という
	   離散アニメーションの特別扱いが仕様上定義されておらず、実測でも
	   transition-delay を付けても is-visible クラスを外した瞬間に即座に none へ
	   戻ることを確認した（Chromium 実測: 0.2s 待たず数 ms で反映）。そのため
	   閉じるフェードの 0.2 秒の間、暗幕がまだ見えているのに背後の固定 CTA や
	   フォーム要素へタップが素通りする事故が再発していた。visibility 側の遅延
	   だけで遮断を担うことで、この事故を防ぐ。
	   display だけはこの @media の外側で display: none にしてあり、
	   ここで display: block へ戻す（750px 以上では確実に非表示にするため。
	   理由はこのファイル上の .site-header__scrim { display: none; } の
	   コメントを参照）。 */
	.site-header__scrim {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999;
		background-color: rgb(0, 0, 0);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.2s, visibility 0s linear 0.2s;
	}

	.site-header__scrim.is-visible {
		opacity: 0.6;
		visibility: visible;
		transition: opacity 0.2s, visibility 0s linear 0s;
	}

	/* 750px 以上の横並びをやめ、補助リンク・グローバルナビ・申し込みへの導線を
	   上から順に積む。JavaScript が動くときは、この かたまり全体が引き出しになる。 */
	.site-header__panel {
		display: block;
		padding-bottom: 16px;
		border-top: 1px solid var(--pa-color-border);
	}

	.site-header__panel-main {
		display: block;
	}

	/* 引き出しの見出し行（ロゴと閉じるボタン）。移行元 .drawer_header の
	   padding: 12px 5.312% 11px 6.25% をそのまま写す。ロゴは 200x35、
	   閉じるボタンは幅 32px（画像 64x74 を 32px 幅で出していたので高さ 37px）で、
	   行の高さはヘッダーと同じ 60px になる（Issue #1627）. */
	.site-header__drawer-head {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		padding: 12px 5.312% 11px 6.25%;
	}

	.site-header__drawer-logo a {
		display: block;
	}

	.site-header__drawer-logo img {
		display: block;
		width: 200px;
		height: auto;
	}

	.site-header__drawer-close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 37px;
		padding: 0;
		background-color: transparent;
		border: 0;
		color: var(--pa-color-text);
		cursor: pointer;
	}

	/* × は線 2 本を交差させて描く。移行元は画像（/sp/images/btn_close.gif）だった. */
	.site-header__drawer-close-icon {
		display: block;
		position: relative;
		width: 22px;
		height: 22px;
	}

	.site-header__drawer-close-icon::before,
	.site-header__drawer-close-icon::after {
		content: "";
		position: absolute;
		top: 10px;
		left: 0;
		width: 22px;
		height: 2px;
		background-color: currentcolor;
	}

	.site-header__drawer-close-icon::before {
		transform: rotate(45deg);
	}

	.site-header__drawer-close-icon::after {
		transform: rotate(-45deg);
	}

	/* 電話予約と補助リンク 4 件は、移行元の引き出しには無い（移行元は電話を
	   画面下端の固定 CTA バーへ、会員専用ページとサイトマップをフッターへ置き、
	   Q&A と採用・求人情報は引き出しの子リンクとして持っていた）。ここでも
	   引き出しから外す（Issue #1627）。外しても行き先は失われない。
	     電話番号        … template-parts/mobile-fixed-cta.php の「電話相談」
	     会員専用ページ  … フッターの規程リンク（.pa-footer-policy--sp-only）
	     サイトマップ    … 同上
	     Q&A            … 引き出しの「はじめての方へ」の中
	     採用・求人情報  … 引き出しの「会社情報」の中 */
	.site-header__sub {
		display: none;
	}

	/* 第 1 階層は、移行元の引き出しの見出し（dl > dt）と同じ組みにする。
	   移行元は 640x100 の画像を幅いっぱいに敷いており、画面幅の 15.625%
	   （= 100 / 640）が行の高さだった。幅 375px なら 58.59px になる。
	   画面幅に応じて伸び縮みする点も移行元と同じにするため vw で書く。
	   下地の色と 2px の隙間も移行元 #drawer_main_menu li から写している。

	   li を 2 列のグリッドにしているのは、右端にアコーディオンの開閉ボタンを
	   同じ行の高さで並べ、その下へパネルを全幅で敷くためである（Issue #1627）. */
	.site-header__menu {
		display: block;
	}

	.site-header__nav {
		/* 移行元 #drawer_main_menu の margin-bottom: 5px. */
		margin-bottom: 5px;
	}

	.site-header__menu > li {
		display: grid;
		grid-template-columns: 1fr auto;
		border-top: 0;
		background-color: var(--pa-drawer-row-bg);
	}

	.site-header__menu > li + li {
		margin-top: 2px;
	}

	.site-header__menu > li > a {
		display: flex;
		align-items: center;
		min-height: 15.625vw;
		padding: 4px 20px;
		border-bottom: 0;
	}

	/* 🚨 色は世代のトークン（--pa-color-link-hover）ではなく移行元の値を直に
	   指す（Bug #3250）。ヘッダーは全ページ共通の部品なのに、このトークンは
	   デザイン世代で切り替わるため、新デザインの 6 ページだけ #f54851 に
	   なっていた。パソコン幅（#3249 で直した）と同じ色にそろえる. */
	.site-header__menu > li > a:hover,
	.site-header__menu > li > a:focus-visible {
		color: var(--pa-palette-red-legacy);
	}

	/* 携帯幅でも現在地の印を出さない（Bug #3272）。移行元のスマートフォン版の
	   引き出しに現在地を示す規則は 1 つも無い（写しの public/sp/css/common.css。
	   li の地色は一律 #f5f5f5）。以前はここで下線を消して文字を金にしていた. */

	/* 第 1 階層の 6 項目からリンクを外す（Task #1705）。

	   移行元の引き出しは、第 1 階層を dt > span > img で組んでリンクを持たせて
	   おらず、dt そのものを押して開閉していた（public/sp/include/drawer_sp.shtml）。
	   dev はこの 6 項目がページへのリンクだったため、画面に見えるリンクが移行元より
	   6 件多かった。移行元に揃えてリンクを消す。

	   消すのは JavaScript が動くときだけである。動かないときは開閉ボタンが出ない
	   （下の .site-header--js .site-header__submenu-toggle）ので、ここでリンクまで
	   消すと見出しの文字が画面から消えてしまう。

	   相手を .site-header__menu-item--has-mega に絞るのは、開閉ボタンを持つ項目
	   だけを消すためである。子を持たない項目にはボタンが無く、リンクを消すと行ごと
	   消えてしまう（目印のクラスは inc/class-pa-walker-header-nav.php が付ける）.

	   行き先は失われない。6 項目の入口ページは、いずれもパネルの中の子リンクが
	   持っている（例: 会員紹介 & 婚活予想図 → 「あなたの婚活予想図Ⅲ」）。
	   移行元の引き出しも同じ形だった。6 項目すべてで子リンクが実在することは
	   2026-08-08 に dev で実測して確かめた.

	   【この規則が頼っている前提】上の「入口ページと同じ行き先の子リンクが
	   パネルの中にある」という形は、メニューの中身がそうなっているだけで、
	   仕組みが守っているわけではない。管理画面の「外観 > メニュー」で、ある
	   第 1 階層の項目のパネルからその入口ページへの子リンクを外すと、狭い画面の
	   引き出しからその入口ページへ辿れなくなる（ここでリンクを消しており、
	   開閉ボタンは行き先を持たないため）。メニューを編集するときは、第 1 階層の
	   項目と同じ行き先の子リンクを必ず 1 つ残すこと. */
	.site-header--js .site-header__menu > li.site-header__menu-item--has-mega > a {
		display: none;
	}

	/* 「成婚率業界No.1」のバナー。移行元はナビゲーションと申し込みへの導線の間に
	   828x168 の画像を幅いっぱいで 1 枚だけ置いていた（drawer_sp.shtml）. */
	.site-header__drawer-promo {
		display: block;
		margin: 0;
	}

	.site-header__drawer-promo a {
		display: block;
	}

	.site-header__drawer-promo img {
		display: block;
		width: 100%;
		height: auto;
	}

	/* 移行元のスマートフォン版は、申し込みへの導線を引き出しの下端に置いていた
	   （drawer_sp.shtml の .drawer_footer）。並んでいたのは資料請求と来店予約の
	   2 つで、3 つ目の電話は CSS で非表示にしてあった（common.css の
	   .drawer_footer_menu li.last）。電話は画面下端の固定 CTA バーが担う。
	   ここも同じく 2 つだけを横に並べ、婚活EQ診断は出さない（Issue #1627）。
	   幅 49.375%・下の余白 3px・画像の縦横比 316:92 は、いずれも移行元の値である. */
	.site-header__cta {
		flex-direction: row;
		justify-content: space-between;
		gap: 0;
		margin-top: 0;
		padding-top: 0;
		padding-bottom: 3px;
		border-top: 0;
	}

	.site-header__cta-item {
		width: 49.375%;
	}

	.site-header__cta-item--eq {
		display: none;
	}

	/* 移行元は資料請求が左・来店予約が右だった。header.php の並び順（婚活EQ診断・
	   来店予約・資料請求）は 750px 以上の見た目の正本なので変えず、この幅でだけ
	   order で入れ替える. */
	.site-header__cta-item--request {
		order: 1;
	}

	.site-header__cta-item--reservation {
		order: 2;
	}

	.site-header__cta-link {
		flex-direction: row;
		gap: 6px;
		/* 指で押せる大きさを確保する（44px 以上）. */
		min-height: 48px;
		aspect-ratio: 316 / 92;
		/* PC 用の既定の明朝を、既存の携帯・タッチ環境の基本書体へ明示的に戻す。 */
		font-family: var(--pa-font-family-base);
		font-size: 15px;
	}

	/* 「押せる先」を示す小さな矢印（Task #1885）。

	   移行元は導線を画像で置いており、その画像の右寄りに白い山形の矢印が入っている
	   （sp/images/menu_footer01.gif と 02.gif。どちらも 316x92）。dev は画像を使わず
	   読み上げられる文字で組んでいるので、矢印だけを疑似要素で描く。作り方は画面下端の
	   固定バー（.pa-mobile-fixed-cta__item--request の ::after）と同じで、四角の
	   2 辺だけ枠線を残して回す形にする。content が空なので読み上げの対象にならない。

	   大きさと位置は、移行元の画像を 1 画素ずつ数えて得た値を、画像に対する割合で
	   書く（2026-08-17 実測）。
	     - 矢印の外形     21 x 30（画像 316x92 に対して）
	     - 右端からの距離 24
	     - 縦位置         画像の中央（矢印の中心 46.5 に対し画像の中心 45.5）
	   この導線の器は上の aspect-ratio: 316 / 92 で移行元の画像と同じ形をしているので、
	   割合で書けば画面幅が変わっても移行元と同じ位置・同じ大きさで出る。幅 375px では
	   器が 185.16x53.91 になり、移行元の画像の描画寸法と 0.00px 差だった。

	   割合の出し方: 四角の 1 辺を s とすると、回したあとの見た目は高さ s√2・幅 s/√2 に
	   なる。高さを移行元の 30 に合わせるので s = 30 / √2 = 21.21 となり、器の幅
	   316 に対して 6.71% である。見た目の右端は四角の右端より 0.207s（= 4.39）だけ
	   外へ出るため、right には 24 + 4.39 = 28.4、つまり 8.99% を指定する。

	   【移行元と揃わない点を 2 つ残す】移行元の矢印は 2 本の線が約 108 度で交わって
	   いるが、直角の 2 辺を回すこの作り方では 90 度になる。そのため見た目の幅も
	   移行元の 21 に対して 15 相当で少し細い。矢印の作り方を固定バーと同じにする方を
	   優先した（Task #1885 の受入基準）。

	   婚活EQ診断には出さない。移行元の引き出しに婚活EQ診断は無く、この幅では
	   .site-header__cta-item--eq を display: none にしているためである. */
	.site-header__cta-item--request .site-header__cta-link,
	.site-header__cta-item--reservation .site-header__cta-link {
		position: relative;
	}

	.site-header__cta-item--request .site-header__cta-link::after,
	.site-header__cta-item--reservation .site-header__cta-link::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 8.99%;
		width: 6.71%;
		aspect-ratio: 1;
		border-style: solid;
		border-width: 0 0 2px 2px;
		border-color: transparent transparent currentColor currentColor;
		transform: translateY(-50%) rotate(225deg);
	}

	/* 【引き出しの中身の高さが移行元より 8px 低い件（Bug #1811）】写さないと決めた.

	   移行元の引き出しは、中身の高さ（scrollHeight）がこのテーマより 8px 大きい。
	   その 8px は余白でも線でもなく、移行元が回り込みを解除するために使っている
	   古い書き方（移行元 /assets/css/style.css の .clearfix::after）が作る、
	   伏せ字のはみ出しである。この擬似要素は content: "." を持ちながら
	   height: 0 / line-height: 0 / visibility: hidden なので、見えない「.」の
	   下半分だけが器の外へ出る。それが引き出しの申し込み導線（移行元の
	   .drawer_footer_menu）の下に積まれて、全体の scrollHeight を押し上げている。

	   写さない理由は 3 つある。
	   1. 目に見えない。移行元でも器は overflow: visible で、実際にはスクロール
	      しない（実測で scrollTop は 0 のまま動かない）。利用者はこの 8px に
	      触れられない。
	   2. 固定値で写せない。はみ出す量は移行元の文字サイズ（画面幅に比例する）で
	      決まり、幅 320px で 7px・375px で 8px・414px で 9px・749px で 17px と
	      変わる。このテーマの文字サイズは固定なので、どの値を書いても 1 つの幅で
	      しか合わない。
	   3. 合わせる必要がない。目に見える区画の高さは、幅 375px と 414px の
	      いずれでも移行元と 0.00px 差で一致している（ロゴの段 60px・ナビ・
	      成婚率バナー・申し込み導線の 4 区画。2026-08-17 実測）.  */
}

/* ヘッダーのうたい文句の文字を、移行元と同じ「画面幅に比例する値」にする
 * （Bug #2654）。
 *
 * 移行元は 749px 以下で `html { font-size: 2.5445292621vw }` を使い、うたい文句
 * （`h1.page__h1`）に `1.2rem` と行送り `1.5` を当てている。よって文字は
 * 1.2 × 2.5445292621 = 3.0534351145vw になる。テーマは 11px 固定・行送り 19px
 * 固定だったため、うたい文句の帯の高さが移行元とずれ、**その下の内容全体が
 * 上下にずれていた。ずれの向きは画面幅で変わる**（約 392px で重なり、それより
 * 狭いと dev が下がり、広いと dev が上がる）。
 *
 * 実測（2026-09-01・移行元 https://www.p-a.jp/ ・iPhone の名乗り）:
 *
 *   幅  320px  html 8.14249px  文字  9.77099px  行送り 14.6565px  帯 39.64px
 *   幅  360px  html 9.16031px  文字 10.9924px   行送り 16.4885px  帯 41.50px
 *   幅  375px  html 9.54198px  文字 11.4504px   行送り 17.1756px  帯 42.17px
 *   幅  390px  html 9.92366px  文字 11.9084px   行送り 17.8626px  帯 42.86px
 *   幅  414px  html 10.5344px  文字 12.6412px   行送り 18.9618px  帯 43.95px
 *   幅  430px  html 10.9415px  文字 13.1298px   行送り 19.6947px  帯 44.69px
 *   幅  749px  html 19.0585px  文字 22.8702px   行送り 34.3053px  帯 59.31px
 *
 * 7 点すべてで文字 ÷ html が 1.2000rem・行送り ÷ 文字が 1.5000 だった。
 * 帯の高さは「罫線 1 + 上の余白 12 + 文字 × 1.5 + 下の余白 11 + 罫線 1」で決まる。
 *
 * この節は幅だけの条件で置く。上の塊も Bug #2618 で幅だけの条件になったので、
 * いまはどちらも同じ条件だが、`vw` を効かせてよいのは 749px 以下だけという
 * 意図は変わらないため、独立した節のまま残す。幅 750px 以上で `vw` が効くと、
 * たとえば 1024px で 31px まで太ってしまう。移行元はその帯で 11px の固定値である.
 *
 * 移行元のスマートフォン専用サイト（`/sp/` 配下）は廃止されており、いまは
 * `https://www.p-a.jp/sp/` を開くとトップページへ転送される（2026-09-01 に確認）。
 * よって比較の相手は、同じ URL が幅と名乗りに応じて返すこのページである. */
@media (max-width: 749px) {
	.site-header__tagline {
		font-size: 3.0534351145vw;
		line-height: 1.5;
		/* 🚨 **太字にする**（Bug #3587）。移行元の `.page__h1` は `font-weight` を
		 * どこにも持たないので、`h1` の既定（太字）で描かれる。テーマは上の塊で
		 * 400 を当てているため、この幅だけ 700 へ戻す。実測（2026-09-05・幅 375px・
		 * iPhone の名乗り）: 移行元 700 / 写し 400。字・行送り・字間・書体・色・
		 * 地色・内余白・文の位置はもともと一致している。
		 *
		 * この題はトップページにしか出さない（`header.php` の
		 * `$pa_header_show_tagline = is_front_page()`）ので、他のページの
		 * 上段の帯（`.site-header__page-name`）には波及しない. */
		font-weight: 700;
	}
}

/* --- 貼り付き（追従）ヘッダー: 境目は「768px より大きい」 --- */

/* 【貼り付きの境目は 750px ではなく「768px より大きい」である】
   （Issue #2886 / #2823）

   移行元は幅 750px 以上で 2 段のヘッダーを返す。しかし**送ると貼り付いて縮む
   ヘッダーの境目は 750px ではない**。移行元の判定は、写しの記録版
   19f499fe393aadb453d62edd430a808bfff49eda の public/js/base.js の 175〜186 行に
   あり、次の形である。

     $(window).on('load scroll resize', function () {
       if (!window.matchMedia('(max-width:768px)').matches) {
         scrollTop = $(window).scrollTop();
         if (scrollTop > 75) { $('#fixHeader').slideDown(); }
         else { $('#fixHeader').slideUp(0); }
       } else { $('#fixHeader').hide(); }
     });

   条件は `(max-width: 768px)` の否定、つまり「**768px より大きい**」である
   （「768px 以上」ではない）。この JavaScript は移行元の 5,380 ページに
   配られている。送り量の条件 75px は dev 側（assets/js/main.js の
   HEADER_COMPACT_SCROLL_THRESHOLD）も同じ 75px で、両側で一致している。

   そこでこの節は `@media not all and (max-width: 768px)` で書く。移行元の
   判定式（`(max-width: 768px)` の否定）と 1 対 1 で対応するからである。
   `(min-width: 769px)` にはしない。「768px より大きい」は 768.01〜768.99px の
   小数の幅も含むが、`(min-width: 769px)` はその帯を外すので、画面の拡大縮小で
   幅が小数になったときに移行元と食い違う。範囲の記法（`(width > 768px)`）を
   使わないのは、このファイルの既定の方針である。

   🚨【以前の記述の誤りを訂正する】以前この節には「移行元の追従ヘッダーも
   min-width: 1100px を前提にしていた」という趣旨の説明があった。これは
   **誤り**である。移行元の出し入れの判定に 1100 という数字は 1 度も出て
   こない。移行元が 1100px を使うのは、横スクロール中に追従ヘッダーの左位置を
   ずらす別の補正処理（public/js/script_top.js の 22 行）だけで、そちらは
   6 ページにしか配られていない。

   **貼り付きの境目（768px より大きい）と、2 段の組みの境目（750px 以上）は
   別である。**2 段の組みそのもの（上段の帯・下段の器・ロゴ・ナビ・導線の
   寸法）は下の `@media (min-width: 750px)` の節が持ち、そちらの境目は移行元が
   幅 750px 以上で 2 段を返す事実に合わせて 750px のままにする。したがって
   幅 750〜768px では、2 段のヘッダーが貼り付かずにページと一緒に流れる
   （移行元と同じ）。

   ここを変えるときは、assets/js/main.js の HEADER_COMPACT_MEDIA_QUERY も
   合わせて直すこと. */
@media not all and (max-width: 768px) {
	/* スクロールしてもヘッダー（ロゴ・グローバルナビ・申し込みへの導線 3 件）を
	   画面の上端に貼り付けたままにする（Bug #1348）。移行元の PC 版は、追従用と
	   通常用の 2 本のヘッダーを重複して持ち、JavaScript で切り替えていた
	   （header.php の docblock に記録がある）。このテーマは単一マークアップ方針
	   （テーマ方式 ADR）なので、マークアップを増やさず position: sticky だけで
	   同じ見え方にする。

	   768px 以下を対象から外している。移行元の SP 版ヘッダーがそもそも追従の
	   対象ではなく、狭い画面では固定ヘッダーが本文の表示領域を削ってしまう
	   ためである。移行元も同じ境目で `$('#fixHeader').hide()` を呼んで隠す。

	   以前は 750〜1099px のタブレット幅も対象から外していた（Codex 指摘・
	   PR #1421）。その理由は「.site-header__panel が flex-wrap: wrap を持つため、
	   この幅ではナビゲーションと申し込みへの導線が複数段に折り返っており、
	   そのまま貼り付けると画面を大きく占有してしまう」ことだった。
	   Issue #2886 / #2823 で下段の器 .site-header__main へ min-width: 1100px を
	   与え、この幅でも折り返さず横へはみ出す（移行元と同じ）作りにしたので、
	   この理由は解消された。よって対象を広げ、移行元と同じ「768px より大きい」に
	   そろえた。ヘッダーの高さは幅 750px 以上で移行元と同じ 120px
	   （上段 40px + 下段 80px）になる。

	   z-index を 50 にした理由は 2 つある。本文側の重ね順（このファイルで使う
	   最大は 2）より確実に上へ出すこと、そして以前の本文へ飛ぶ近道の 100 より
	   下に留めることだった（近道は Bug #9820 で外した）.

	   背景色は .site-header が既に持っている（--pa-color-bg）。透明のままだと
	   貼り付いたヘッダーの下を本文が透けて通るため、この指定は外さないこと. */
	.site-header {
		position: sticky;
		top: 0;
		z-index: 50;
	}

	/* ページ内アンカー（archive-branch.php のエリアリンク #pa-area-* や、
	   トップページの理由リンク #point1 等）へ移動したとき、貼り付いた
	   ヘッダーの裏に見出しが隠れないようにする（Codex 指摘・PR #1421）。

	   値は、dev（https://d1u1dshxgcylna.cloudfront.net/）で .site-header の
	   実測の高さを幅ごとに確認して決めた。1280px 以上の通常の PC 幅では
	   114.5px（トップページ・タグライン付き）／96.5px（他ページ）だが、
	   幅 1100〜1249px では .site-header__panel の折り返しでヘッダーが最大
	   172px 程度まで高くなっていた（トップページで実測）。この最大値に安全
	   余裕を足したのが 180px である。

	   Issue #2886 / #2823 で下段の器 .site-header__main へ min-width: 1100px を
	   与えたため、この折り返しは起きなくなった。よって 180px の根拠のうち
	   「最大 172px」の部分は、いまの実装には当てはまらない。**折り返しが
	   無くなった後のヘッダーの高さを幅ごとに測り直すのは別の作業とし、ここでは
	   値を変えない**（180px は隠れを防ぐ側に余裕を取った値で、広すぎても隙間が
	   空くだけで害はない）。

	   この余白をヘッダーが貼り付く幅（768px より大きい）にだけ持たせているのは、
	   768px 以下ではヘッダーが流れに乗って動くため、見出しを隠すものが無く
	   余白が要らないからである. */
	html {
		scroll-padding-top: 180px;
	}

	/* ログイン中は管理バー（#wpadminbar）が画面の上端に固定表示され、
	   top: 0 の貼り付いたヘッダーがその裏に入ってしまう（Codex 指摘・
	   PR #1421）。管理バーの高さぶんヘッダーを下げて重なりを避ける。
	   WordPress core の管理バーは 782px 以下の画面幅で高さが 46px に変わる
	   （wp-includes/css/admin-bar.min.css）。この節の対象を移行元と同じ
	   「768px より大きい」へ広げた（Issue #2886 / #2823）ことで 769〜782px も
	   ここに入るようになったため、その帯だけ入れ子の節で 46px へ上書きする。
	   783px 以上は 32px（通常幅の管理バー高）でよい. */
	body.admin-bar .site-header {
		top: 32px;
	}

	@media (max-width: 782px) {
		body.admin-bar .site-header {
			top: 46px;
		}
	}
}

/* --- パソコン幅（750px 以上） --- */

/* 【この節から下の「750px 以上」の節は、幅だけの条件で持つ】（Bug #2618）

   一時期この節から下の節すべてに `(pointer: fine)`（マウス・
   トラックパッドが主の入力か）を足していた（Issue #2158 の 3 件目のレビュー指摘）。
   上のドロワー化の節が `(pointer: coarse)` を持っていたため、幅 1100px 以上の
   横向きタブレットで 2 つの節が同時に成立して崩れたからである。

   Bug #2618 でドロワー化の節から `(pointer: coarse)` を外したので、この対策は
   要らなくなった。幅 750px 以上ではドロワー化の節が成立せず、二重に効くことは
   ない。**幅 750px 以上のタブレットは、移行元と同じくパソコン版の組みを受ける。**

   【下限を 1100px から 750px へ下げた】（Issue #2886 / #2823）

   移行元は幅 750px 以上で 2 段のヘッダーを返す（上段 #header 40px + 下段
   #fixHeader2 80px = 120px）。器はそれぞれ固定の最小幅（上段 1200px・
   下段 1100px）を持つため、画面がそれより狭くても中身を折り返さず横へ
   はみ出す。dev はこの組みを 1100px 以上でしか作っていなかったので、
   幅 750〜1099px はパソコンの組みも引き出しの組みも当たらない中間の状態に
   なり、中身が折り返してヘッダーの高さが 177〜222px になっていた（#2886）。
   幅 1100〜1199px でヘッダーが移行元より狭かった不具合（#2823）も、
   同じ最小幅で直る。

   🚨 **この 750px は「2 段の組みを作る境目」であって、「貼り付いて縮む
   境目」ではない。**貼り付き（position: sticky）と 1 段化は、移行元の
   public/js/base.js の判定に合わせて「768px より大きい」で切る。すぐ上の
   `@media not all and (max-width: 768px)` の節の冒頭に理由を書いた。
   したがって幅 750〜768px では、2 段のヘッダーが貼り付かずにページと
   一緒に流れる（移行元と同じ）。この 750px を動かしても
   assets/js/main.js の HEADER_COMPACT_MEDIA_QUERY は連動しない
   （あちらが写しているのは 768px 側である）. */
@media (min-width: 750px) {
	/* ------------------------------------------------------------------
	   移行元のパソコン幅ヘッダーの寸法を戻す（Issue #1625）

	   移行元は 2 段で組んでいた（写し元は
	   legacy/www.p-a.jp/public/css/style.css の 435〜1252 行）。
	     上段 #header         高さ 40px。左に #description（ページ名）、
	                          右に .header-tel（電話予約）と #header-navi（補助リンク）
	     下段 #header-inner2  高さ 80px。左に #logo、右に .gNavi と #header-btn-navi
	   合わせて 120px である。dev はこの 2 段を 1 段に潰していたため、補助リンクが
	   右端から 308px 内側へ寄り、グローバルナビの高さが 44.5px まで縮んでいた。

	   ここでは .site-header__inner の最初の子に上段専用の器
	   .site-header__top を置き、ページ名と補助リンクの写しをその中の通常の
	   flex アイテムとして並べる（Issue #2662）。以前はどちらも絶対配置で
	   40px の帯（padding-top）へ載せていたが、その組み方だとページ名が
	   伸びたときに補助リンクへ重なってしまい（互いの位置を知らない・
	   流れに参加しない）、移行元の float の回り込みを再現できなかった。
	   実体のある器に変えたことで、ページ名が伸びれば補助リンクが自然に
	   次の行へ折り返る。補助リンクは 3 段深い入れ子（.site-header__panel-main
	   の中）にあるため、この帯専用の写しを template-parts/site-header-sub.php
	   から呼び出す（元の位置は 749px 以下の引き出し用に残し、この幅では隠す）。
	   トップページのキャッチコピー（.site-header__tagline）だけは、
	   スマートフォン幅の引き出しの組み方を崩さないよう、これまでどおり
	   絶対配置のままにする。この組みを 750px 以上に当てているのは、移行元が
	   幅 750px 以上でこの 2 段のヘッダーを返すからである（Issue #2823 で
	   下限を 1100px から下げた）。上段は移行元と同じ min-width: 1200px を
	   持つので、750〜1099px でもページ名と補助リンクを横に並べる幅は足りる
	   （画面がそれより狭ければ、移行元と同じく横へはみ出す）.
	   ------------------------------------------------------------------ */

	/* 移行元の #header / #header-inner2 は画面いっぱい（左右の余白なし）だった.
	   上段の 40px は、以前は padding-top で確保していたが、いまは
	   .site-header__top（中身のある器）が作るので内余白は要らない
	   （Issue #2662）。.site-header__top を単独の行にするため
	   flex-wrap を新設する（.site-header__top と下段の器
	   .site-header__main がどちらも flex-basis: 100% を持ち、上下 2 段に
	   並ぶ。下段を 1 枚の器でまとめたのは Issue #2886 / #2823 である）. */
	.site-header__inner {
		max-width: none;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 0;
		padding: 0;
	}

	/* 上段（40px の帯）の下端の罫線（Bug #2632）。移行元の下層ページはここにも
	   幅いっぱいの 1px の #CCCCCC を持つ。

	   ## 罫線の出どころ

	   移行元は public/css/style.css の 5〜9 行目で、全ページの body に背景画像
	   bg_header.gif（20 × 120px）を横方向へ繰り返して敷いている。この画像は
	   39 行目と 119 行目が #CCCCCC で、上段（#header・高さ 40px）の下端と
	   ヘッダー全体（120px）の下端にそれぞれ 1 本ずつ罫線を作る。
	   119 行目のぶんは Bug #2558 で .site-header の内側の影として実装済みで、
	   ここは 39 行目のぶんを足す。

	   ## トップページには出さない（司令塔裁定・2026-09-01・案 B）

	   **移行元はトップページだけ body の背景画像を none に上書きしている**ため、
	   トップページには 39 行目の罫線が出ない（119 行目のぶんは貼り付くヘッダー
	   #fixHeader2 自身の背景画像 bg_scroll_header.gif から出るので残る）。
	   移行元をそのまま再現するため body:not(.home) で除く。配信中の移行元を
	   幅 1440px で画素走査して確かめた（下層 5 ページはすべて 39 と 119 の
	   2 本、トップは 119 のみ）。

	   ## なぜ擬似要素で描くか

	   .site-header__bar（上端 40px）に内側の影を置くと罫線が y=40 に出て、
	   移行元の y=39 と 1px ずれる。擬似要素なら位置を直接指定でき、配置にも
	   影響しない（Issue #2662 で上段が .site-header__top という実体のある
	   器に変わった後もこの理由は変わらない。ページ名が伸びて上段が 2 行に
	   なったときにこの罫線がどこへ出るべきかは、実装後の実測で確かめる
	   別件とする）。
	   .site-header__inner はこの節より前（995 行）で position: relative を持つ. */
	body:not(.home) .site-header__inner::before {
		position: absolute;
		top: 39px;
		right: 0;
		left: 0;
		height: 1px;
		background-color: #ccc;
		content: "";
	}

	/* 上段の高さはトップページも下層ページも 40px で同じなので、
	   キャッチコピーぶんの上乗せ（28px）は要らない。上の
	   .site-header__inner と同じ理由でここも内余白での確保をやめる
	   （Issue #2662）. */
	.site-header__inner--with-tagline {
		padding-top: 0;
	}

	/* 上段の帯（.site-header__page-name とパソコン幅用の補助リンクの写しを
	   横に並べる器。Issue #2662）。.site-header__inner の中で flex-basis:
	   100% にして単独の行にし、下段の器 .site-header__main を次の行へ回す。
	   中は左にページ名、右に補助リンクの写しを置き、幅が足りなければ
	   折り返す。これが移行元の float の回り込み（ページ名が伸びると補助
	   リンクが次の行へ送られ、下段が押し下げられる）に当たる.

	   min-width: 1200px は移行元の上段 #header の写しである（Issue #2886 /
	   #2823）。移行元は画面がこれより狭くても帯を 1200px のまま保ち、中身を
	   折り返さず横へはみ出させる。2026-09-03 に配信中の移行元をパソコンの
	   名乗りで測ったところ、幅 800 / 1100 / 1101 / 1199px のすべてで
	   1200 × 40px だった。つまり上段は max(画面幅, 1200px) である. */
	.site-header__top {
		display: flex;
		flex: 1 1 100%;
		flex-wrap: wrap;
		align-items: flex-start;
		min-width: 1200px;
		min-height: 40px; /* 上段の帯の高さ。ページ名が無いトップページでも 40px を保つ */
	}

	/* 上段の左。移行元 #header #description の
	   padding: 15px 0 0 50px / font-size: 11px / line-height: 120% を写す。
	   移行元はここへ、トップページではキャッチコピーを、下層ページではページ名を
	   出していた（どちらも同じ `#description`）。dev もその 2 つを同じ見た目で置く。
	   下層ページ側だけ器を h1 にしないのは、他のテンプレートがすでに h1 を持って
	   おり、1 ページの h1 を 1 つに保つためである（Bug #1293 の判断・Task #1680）。
	   移行元 `#description` は文字の大きさ 11px・太字なしで見出しらしい装飾を
	   持たないので、器が変わっても見た目は同じになる.

	   高さ 40px は器の外側の高さである（このテーマは box-sizing: border-box なので、
	   上の内余白 15px を含む）。移行元は内側の高さ 25px と上の内余白 15px で
	   同じ 40px を作っていた.

	   移行元 `#description` は float: left で中身の幅まで縮んでいた。キャッチコピー
	   （.site-header__tagline）は今までどおり絶対配置のままにする（Bug #1346 の
	   ため動かさない）。ページ名（.site-header__page-name）は .site-header__top の
	   中の通常の flex アイテムに変えた（Issue #2662）ので、position だけをここから
	   外し、下でページ名に static を渡す。他の見た目（余白・文字組み）は
	   共通のまま両方に当たる. */
	.site-header__tagline,
	.site-header__page-name {
		top: 0;
		left: 0;
		height: 40px;
		margin: 0;
		padding: 15px 0 0 50px;
		font-size: 11px;
		font-weight: 400;
		line-height: 1.2;
		color: var(--pa-color-text);
	}

	.site-header__tagline {
		position: absolute;
	}

	/* 既定（狭い画面）で消しているページ名を、この幅でだけ見せる。絶対配置は
	   やめて .site-header__top の中の通常の flex アイテムにする（Issue #2662）。
	   flex-shrink: 0 で縮ませないのは、縮むと右の補助リンクの写しが次の行へ
	   落ちず、ページ名の上に重なったままになるため. */
	.site-header__page-name {
		display: block;
		position: static;
		flex-shrink: 0;
	}

	/* 上段の右。移行元は #header-navi を右端（padding-right: 10px）に置き、
	   .header-tel をその左へ流していた。ここは .site-header__top の中の写し
	   （パソコン幅用）にだけ当てる。margin-left: auto は、この写しが
	   .site-header__top の flex アイテムとして右端へ寄る代わりである（絶対配置の
	   right: 10px をやめたため）。.site-header__panel-main の中の元の位置は
	   749px 以下の引き出し用のまま残し、この幅では下の規則で隠す（Issue #2662）. */
	.site-header__top .site-header__sub {
		position: static;
		margin-left: auto;
		margin-right: 10px;
		align-items: flex-start;
		/* 移行元 .header-tel-number は box-sizing: border-box で height: 39px を持つ。
		   内訳は「上の空き 7px（padding-top）+ 電話番号の画像 25px + 下に残る空き 7px」＝39px。
		   dev はこのうち上の 7px（padding-top）と帯の 25px（.site-header__tel の外寸）は
		   持つが、高さの明示が無く 7 + 24.97 = 31.97px になっていた。ふだんは上段の帯
		   （40px）の中に収まって目立たないが、ページ名が長くて塊が次の行へ送られたときに
		   下段の位置が 7px ずれる（実測: 移行元 y=79 / dev y=71.97）。
		   高さは padding-top ではなくこの器（.site-header__sub）自身に当てる。移行元の
		   .header-tel（電話予約）と #header-navi（補助リンク）は別々に浮いた兄弟だが、
		   dev の .site-header__sub は 2 つをまとめた器で、役割が 1 対 1 ではない。行の高さを
		   決めているのは移行元でも背の高いほう（.header-tel の 39px）なので、金の枠の帯
		   （.site-header__tel）に高さを当てず、まとめた器の高さを 39px にすれば同じ結果になる。
		   height ではなく min-height を使う。書体が広がって中身が 39px を超えたときに
		   はみ出させないためで、同じファイルの .site-header__tel が width ではなく
		   min-width を使うのと同じ考え方である。
		   padding-bottom: 7px を足す案は 38.97px にしかならず、移行元の 39px に 0.03px
		   足りなかった（残差の出どころは、dev の帯が 24.97px で移行元の画像 25px にわずかに
		   足りないこと）。実測して min-height の案を採った。 */
		padding-top: 7px;
		min-height: 39px;
	}

	/* 補助リンクの元の位置（.site-header__panel-main の中）は、この幅では
	   .site-header__top の写しに役目を譲って隠す. */
	.site-header__panel .site-header__sub {
		display: none;
	}

	/* 移行元 #header-navi は padding-top: 15px と line-height: 1 を持つ
	   （legacy/www.p-a.jp の記録版 19f499fe3 の public/css/style.css 506〜513 行）。
	   項目（li）は font-size: 11px の display: inline-block である。
	   字の位置を実測すると、移行元は 16〜27px、直す前の dev は 17〜28px だった
	   （基準は塊の上端からの距離）。
	   line-height: 1 だけを当てると 15〜26px になり、1px 上へ行き過ぎる。移行元の
	   1px は、項目が行の中に並ぶことから出る余り（行の高さと字の高さの差）であり、
	   flex で並べる dev には現れない。そのぶんを内余白で足して 9px にする。
	   line-height: 1 も入れる理由は、項目の箱の高さを移行元と同じ 11px にするため
	   である（テーマの既定 1.5 では 16.5px になる）。この高さは、ページ名が長くて
	   補助リンクが折り返したときの行の間隔に効く。
	   セレクタを .site-header__top の中だけに狭めたのは、749px 以下の引き出し
	   の中にも同じ .site-header__utility が出るためである。
	   内余白の合計は、塊（.site-header__sub）の padding-top: 7px と合わせて 16px
	   になり、移行元の 15px + 行の余り 1px と同じ位置になる。 */
	.site-header__top .site-header__utility {
		padding-top: 9px;
		line-height: 1;
	}

	/* 移行元の tel.png を 160x25px へ縮めたときの文字幅は 135.87px である。
	   現在の 11px では 117.73px なので、字送りを足さず 12.695px へ拡大して幅を
	   合わせる。帯の左端から文字までの距離は 10.73px（枠線 1px を除く内余白
	   9.73px）なので、中央寄せではなく左へ固定する。縦の内余白は、12.695px の
	   行高と上下の枠線を合わせても外寸 25px を保つ 5.1525px とする。 */
	.site-header__tel {
		justify-content: flex-start;
		padding: 5.1525px 0 5.1525px 9.73px;
	}

	.site-header__tel-label,
	.site-header__tel-number {
		font-size: 12.695px;
	}

	/* 下段の器（移行元 #fixHeader2 の写し。Issue #2886 / #2823）。
	   基底の display: contents をここで flex へ戻し、器として実体を持たせる。
	   .site-header__inner の中では flex-basis: 100% にして、上段
	   .site-header__top の下の行に置く。

	   min-width: 1100px は移行元の #fixHeader2 の写しである。移行元は画面が
	   これより狭くても下段を 1100px のまま保ち、中身を折り返さず横へはみ出させる。
	   2026-09-03 に配信中の移行元をパソコンの名乗りで測ったところ、幅 800 /
	   1100 / 1101 / 1199px で外形は 1100 / 1100 / 1101 / 1199 × 80px だった。
	   つまり下段は max(画面幅, 1100px) である。

	   この最小幅が 2 つの不具合を同時に直す。中の .site-header__panel は基底で
	   flex-wrap: wrap を持つが、器が 1100px を保つので折り返さなくなり、
	   幅 750〜1099px でヘッダーが 177〜222px まで高くなる不具合（#2886）が
	   止まる。幅 1100〜1199px でヘッダーの中身が移行元より狭かった不具合
	   （#2823）も、器の幅が移行元とそろうことで直る。

	   高さは指定しない。上段 40px（.site-header__top の min-height）と
	   下段 80px（.site-header__bar の min-height）の積み上げで、移行元と同じ
	   120px になる. */
	.site-header__main {
		display: flex;
		flex: 1 1 100%;
		align-items: stretch;
		min-width: 1100px;
	}

	/* 下段の左。移行元 #logo は padding-left: 41px・高さ 79px で、ロゴ画像を
	   上下の中央に置いていた（dev はロゴが左端から 15px の位置にあった）. */
	.site-header__bar {
		min-height: 80px;
		padding-left: 41px;
	}

	/* 下段の右。移行元は .gNavi と #header-btn-navi を隙間なく右へ寄せていた. */
	.site-header__panel {
		gap: 10px 0;
	}

	/* 補助リンクを上段へ移したので、この かたまり に残るのはグローバルナビだけ。
	   下段の上端から始める。移行元の .gNavi も下段の高さいっぱい（80px）を占め、
	   項目の下線 2px がちょうど下段の下端に来る組み方だった. */
	.site-header__panel-main {
		justify-content: flex-start;
		gap: 0;
	}

	/* 移行元 .gNavi の margin-right. */
	.site-header__nav {
		margin-right: 8px;
	}

	/* 移行元 .gNavi li.pldwn は高さ 78px・左右の内余白 12px を持ち、下線 2px は
	   マウスを載せたときだけ足していた（78 + 2 = 80 = ナビの高さ）。dev は
	   内余白 10px/12px と透明の下線 2px を a の側に常時持っていたため、ナビが
	   44.5px まで縮んでいた。内余白を li へ移し、a は下段いっぱいの高さにする. */
	.site-header__menu > li {
		padding: 0 12px;
	}

	/* 🚨 高さは 78px ではなく **77px** である（Bug #3059）。移行元は同じ
	   見た目のヘッダーを 2 つ持ち、共通の規則が 78px を当てた後ろに、
	   **最初から見えている本体（#fixHeader2）だけを名指しする 77px の
	   上書き**がある（style.css の 791 行と 843 行。li.pldwn と
	   a.menu_ttl の両方）。送ると現れる複製（#fixHeader）には上書きが
	   無いので 78px のままである。以前は共通の規則だけを読んで 78px を
	   写しており、**画面に出ていない側の値**を再現していた。
	   2026-09-04 に本番 www.p-a.jp を幅 1440px・送り位置 0 で実測し、
	   6 項目とも 77px であることを確かめた. */
	.site-header__menu > li > a {
		height: 77px;
		padding: 0;
		justify-content: center;
		border-bottom-width: 0;
	}

	/* 移行元の器が右端に持っている「見えない余り」を写す（Bug #3059）。

	   移行元の器は <ul class="gNavi clearfix"> で、display: flex かつ
	   float: right である。その clearfix の定義（記録版 public/css/common.css の
	   327〜336 行）は中身に**半角ピリオド 1 文字**を置く。

	     .clearfix:after { display: block; clear: both; height: 0;
	                       visibility: hidden; line-height: 0; content: "."; }

	   🚨 **flex の器の ::after は「flex の項目」になる。**高さ 0 で見えないが、
	   ピリオドのぶんの**横幅を占める**。器は右へ寄っているため、この余りが右端に
	   居座り、6 項目をそのぶん左へ押し出している。dev の器はこの余りを持たない
	   ため、6 項目が移行元より右へずれていた。

	   2026-09-04 に本番 www.p-a.jp を幅 1440px で実測した値（器の幅 − 6 項目の
	   合計）:

	     トップ（新デザイン）     余り 3.53px → 1 項目目の x = 355.45
	     /service/（旧デザイン）  余り 3.11px → 1 項目目の x = 355.88

	   **移行元自身も世代で 0.42px 違う。**器の書体が世代で違い、ピリオドの幅が
	   変わるためである。だから**幅を数値で固定しない。**移行元と同じ仕組み
	   （ピリオド 1 文字）を写せば、このテーマの書体トークンも世代で切り替わるので
	   同じように差が出る。

	   読み上げには渡らない（content で足した文字は装飾であり、visibility: hidden で
	   ブラウザの読み上げ用の一覧からも外れる）。携帯幅では引き出しが縦に並ぶので
	   この余りは要らない。だからパソコン幅の節に置く. */
	.site-header__menu::after {
		content: ".";
		height: 0;
		line-height: 0;
		visibility: hidden;
	}

	/* 下線は載せたときとフォーカスしたときだけ出す（Bug #9641）。

	   移行元は線を **li** に引く（`/assets/css/style.css` 841 行
	   `#fixHeader2 #header-inner2 .gNavi li.pldwn:hover { border-bottom: 2px solid #e1200f }`）。
	   li は `content-box` で高さ 77px なので、線は左右の内余白 12px を含む項目の幅いっぱいに、
	   77px の**外側**（ナビの上端から 77〜79px）に出る。dev は a の下線（字の幅・77px の内側）に
	   していたため、幅が 24px 短く、2px 上に出ていた（直す前の読み
	   `pa-verify-assets/B/NAV17-直す前の読み-1007/走行1/`）。

	   線は li の外側へ影（box-shadow）で描く。border にすると li が 79px に伸び、
	   ナビの器ごと高さが変わるためである。影は組みを動かさない。
	   載せた li の中のメガメニューへマウスを進めても、li に載ったままなので線は消えない（移行元と同じ）。
	   キーボードは a に焦点が来たとき（focus-visible）に同じ線を出す。

	   🚨 **いま見ているページの項目にも、載せたときは線が出る。**移行元もそうである
	   （直す前の読みで、コースと料金のページの「コースと料金」に載せて両側で確かめた）。
	   載せていないときの現在地の印は出さない（Bug #3272）. */
	.site-header__menu > li:hover,
	.site-header__menu > li:has(> a:focus-visible) {
		box-shadow: 0 2px 0 0 var(--pa-palette-red-legacy);
	}

	/* 移行元 #header-btn-navi は幅 433px（127 + 1 + 152 + 1 + 152）で、文字は
	   15px 相当だった。dev は幅を中身に任せていたため 295px まで縮み、文字も
	   13.68px（0.95vw）になっていた。

	   移行元の幅は px で固定せず「下限」として与える。デザインプロファイル new
	   の書体は Inter から始まり文字幅が変わるため、px で固定すると文字が箱から
	   はみ出しうるためである。文字が入る限りは移行元と同じ 127 / 152 / 152px に
	   なり、入らないときだけ広がる。器（.site-header__cta）は既定の
	   flex: 0 0 auto のままなので、3 つの合計に隙間 1px × 2 を足した幅になる. */
	/* 🚨 1 件目だけは「下限」ではなく **127px の固定**にする（Bug #3059）。

	   下限だけを与えていたため、文字の実寸で **128px** になり、導線の塊が
	   **434px**（移行元 433px）になっていた。塊は右端で画面に接しているので、
	   1px 広いぶんだけ左のナビが左へずれ、6 項目の位置がまとめて動いていた
	   （2026-09-04 に本番 www.p-a.jp と dev を幅 1440px で実測。移行元 x1007〜1440・
	   幅 433 対 dev x1006〜1440・幅 434）。

	   固定にすると文字が箱から出るおそれがあるので、文字は折り返さないようにして
	   おく（下の .site-header__cta-item--eq .site-header__cta-label）。はみ出しても
	   0.5px 程度で、ボタンの色の面の中に収まる。**折り返しを許すと 2 行になって
	   高さが崩れる**ので、そちらの危険を先に潰す. */
	.site-header__cta-item--eq {
		min-width: 127px;
		width: 127px;
	}

	.site-header__cta-item--reservation,
	.site-header__cta-item--request {
		min-width: 152px;
	}

	.site-header__cta-link {
		height: 100%;
		font-size: 15px;
	}

	/* 移行元の CTA は高さ 79px である。下段のナビゲーションは 80px のままなので、
	   導線だけを 1px 低くする。 */
	.site-header__cta {
		height: 79px;
	}

	/* 移行元のスプライト画像から測った文字幅へ寄せる。婚活EQ診断は 17px と
	   0.8px の字送りで 97px、来店予約と資料請求は 15px と 1px の字送りで
	   それぞれ 63px、64px を目標にする。 */
	.site-header__cta-item--eq .site-header__cta-label {
		font-size: 17px;
		letter-spacing: 0.8px;
		/* 箱を 127px に固定した（Bug #3059）ので、収まらないときに 2 行へ
		   折り返さないようにする。移行元はこの文字を画像で持つため折り返しが
		   起きない. */
		white-space: nowrap;
	}

	.site-header__cta-item--reservation .site-header__cta-label,
	.site-header__cta-item--request .site-header__cta-label {
		font-size: 15px;
		letter-spacing: 1px;
	}

	/* 移行元の「無料」の白い帯は 100x15px である。文字を実テキストで置いたまま、
	   帯の寸法だけを合わせる。 */
	.site-header__cta-lead {
		align-self: center;
		width: 100px;
		height: 15px;
		padding: 0;
		font-size: 11px;
		line-height: 15px;
	}
}

/* 画面が 1,090〜1,279px のときだけ、頭の下限を緩めて画面に収める（Bug #5169）。

   直す理由は裁定 497（2026-09-07 夜のユーザー判断）である。**750〜1,279px は画面幅に
   収める。1,280px 以上は移行元と同じにする。**すぐ上の 750px 以上の節に書いてあるとおり、
   移行元も画面が狭いときに帯を 1,200px のまま保って横へはみ出させる（2026-09-03 の実測）。
   つまりこの直しは「移行元の再現」ではなく、裁定 497 が移行元より優先される場面である。
   共通のパンくず（Bug #5043）・来店予約の帯（Bug #5064）と同じ筋である。

   🚨 **下限を 750px まで外してはいけない。1,089px 以下は直さない**（ユーザー決定
   2026-09-09 13:0x・裁定 497 の例外）。画面が狭いところで下限を外すと頭の中身が入りきらず、
   **帯が 2 段に折り返して高さが 120px から 206px へ増える。**これは Bug #2886 で直した
   崩れそのもので、寸法の型紙 `tests-retired/pa-cms-css-geometry/spec-header-min-width-750.json` が
   高さ 120px を見張っている。折り返しが始まるのは 1,075〜1,090px の間なので、**折り返さない
   側の端（1,090px）から上だけ**を緩める。1,089px 以下は移行元と同じく横へはみ出したままに
   する。

   🚨 **上限（max-width）を足しても直らない。CSS では下限が上限に必ず勝つ。**
   `max-width: 100%` を足しても `min-width: 1200px` が生きるので幅は縮まない。
   **下限そのものを緩める。**

   🚨 **`getComputedStyle().width` は「使われた幅」を返すので、固定幅と下限を区別できない。**
   この Bug も当初は「width: 1200px の固定」と読まれていた。画面をその値より広くして
   測ると見分けられる（固定なら値が変わらず、下限なら画面に追従する）。

   実測（2026-09-09 13:05 JST・dev の `/branch/branch-tokyo-ginza/`。送れる幅 = 横スクロールで
   動かせる量で、0 なら画面に収まっている）:

     画面幅     送れる幅 直す前 → 後    頭の高さ   上段の帯 直す前 → 後
     1,089px      111 → 111（据え置き）   120px      1200 → 1200
     1,090px      110 → 0                 120px      1200 → 1090
     1,100px      100 → 0                 120px      1200 → 1100
     1,200px        0 → 0                 120px      1200 → 1200
     1,279px        0 → 0                 120px      1279 → 1279
     1,280px        0 → 0                 120px      1280 → 1280
     1,440px        0 → 0                 120px      1440 → 1440

   **どの幅でも頭の高さは 120px のままで、折り返していない。**引き出しを 1 つずつ開いた
   状態でも同じである（1,090 / 1,200 / 1,279px の 3 点で確認）。

   🚨 **この節は Issue #2823 の直しを上書きする。**あの Issue は「幅 1,100〜1,199px で
   ヘッダーが移行元より狭い」不具合で、直しは上段へ移行元と同じ `min-width: 1200px` を
   与えることだった。**ここで外す下限がまさにそれである。**1,280px 以上では下限 1,200px は
   もともと効かない（画面幅のほうが広い）ので、#2823 の直しが残るのは 1,089px 以下だけに
   なり、そこは #2823 の対象範囲の外である。つまり **#2823 の直しは実質すべて効かなくなる。**
   「移行元の再現」と「画面幅に収める」は同じ幅について正反対を要求するが、2026-09-09 に
   ユーザーが「収める」側で決めたので、新しい決定が勝つ。#2823 にもその旨を書き残した。

   🚨 **寸法の型紙 `spec-header-min-width-1100.json` の期待値を 1 つ変えてある**（上段の帯の
   幅 1200 → 1100）。あの型紙は幅 1,100px で走るので、この節が当たるためである。移行元の
   実測から取った値を変える唯一の場所であり、裁定 497 の例外として意図的に変えた。幅 750px
   の型紙はこの節が当たらないので無傷で、#2886 の折り返しを引き続き見張る. */
@media (min-width: 1090px) and (max-width: 1279px) {

	.site-header__top {
		min-width: 0;
	}

	.site-header__main {
		min-width: 0;
	}
}

/* ------------------------------------------------------------------
   幅 750〜1380px でヘッダー上段の補助リンクを 2 件に絞る（Issue #2848）。

   移行元は @media screen and (max-width: 1380px) で .naviqa と .navisitemap を
   display: none !important にしている。境目 1380px は配信中のサイトで 1380px と
   1381px を測って確かめた（2026-09-02）。移行元が絞る理由は、幅が狭いと補助リンク
   4 件が横に入りきらないことである。

   セレクタを .site-header__top の中に限っている。同じ修飾クラス
   site-header__utility-item--narrow-hidden は引き出し（.site-header__panel、
   幅 749px 以下）側の写しにも付くが、引き出しは移行元にこの並び自体が無いことと、
   縦に並ぶため入りきらない事情が当てはまらないこと、フッターのサイトマップへの
   入口が幅 749px 以下では他に無いことから、4 件のままにする。

   下限を 750px にそろえているのは、上段の帯そのものが
   @media (min-width: 750px) でしか作られないためである（Issue #2823 で
   1100px から下げた）。移行元は下限を持たず max-width: 1380px だけで絞るので、
   幅 750〜1099px でも移行元は 2 件である。
   !important は使わない。移行元が使っているのは移行元側の詳細度の都合による。 */
@media (min-width: 750px) and (max-width: 1380px) {
	.site-header__top .site-header__utility-item--narrow-hidden {
		display: none;
	}
}

/* 幅 1300px 以下でヘッダー上段の補助リンクの間隔を 8px へ詰める（Bug #2861）。

   移行元は @media screen and (max-width: 1300px) で
   `#header #header-navi li` の左外余白を 16px から 8px へ落としている
   （style.css の 600〜605 行）。dev は 16px のままだったため、幅 1300px 以下で
   移行元より 8px 広かった。2026-09-04 に本番 www.p-a.jp を幅 1440 / 1300 /
   1299 / 1200 / 1100px で実測し、1440px は両側 16px・1300px 以下は移行元 8px
   対 dev 16px であることを確かめた。

   下限を 750px にそろえているのは、上段の帯そのものが
   @media (min-width: 750px) でしか作られないためである。移行元は下限を持たず
   max-width: 1300px だけで絞るが、その帯（749px 以下）に上段の帯が無いので
   結果は同じになる。

   セレクタを .site-header__top の中に限っているのは、同じ
   .site-header__utility が引き出し（幅 749px 以下）側にも出るためである
   （すぐ上の --narrow-hidden の規則と同じ理由）. */
@media (min-width: 750px) and (max-width: 1300px) {
	.site-header__top .site-header__utility {
		gap: 8px;
	}
}

/* ------------------------------------------------------------------
   PC 幅で 75px を超えてスクロールしたら、貼り付いたヘッダーを 1 段構成へ
   詰める（Issue #2114・ユーザー裁定で移行元の切り替えを再現した）。

   移行元は追従用（#fixHeader）と通常用（#fixHeader2）の 2 本のヘッダーを
   重複して持ち、追従用にはそもそも上段（ページ名・キャッチコピー・電話予約・
   補助リンク）が無かった（include/header_fix_navi.shtml。ロゴ・gNavi・
   導線 3 件だけの高さ 80px）。public/js/base.js が scrollTop > 75 を境に
   $('#fixHeader').slideDown() / slideUp(0) で出し入れしていた。

   このテーマは単一マークアップ方針（テーマ方式 ADR。header.php の docblock）
   を保つため、ヘッダーを増やさず、同じ .site-header に assets/js/main.js が
   付け外しする site-header--compact クラスで見え方だけを切り替える。上段の
   帯（.site-header__top。1 つ上のブロック「移行元のパソコン幅ヘッダーの
   寸法を戻す」を参照。以前は .site-header__inner の padding-top: 40px で
   確保していたが、上段を実体のある器へ変えた Issue #2662 でここへ移した）を
   max-height で 0 へ畳んで高さ 80px にし、上段に載っているページ名・
   キャッチコピー・電話予約・補助リンクを隠す。overflow: hidden は畳んだ側の
   .site-header--compact .site-header__top にだけ持たせている（理由は
   .site-header__top の規則の直前を参照）。

   このブロックを幅で絞っているのは 2 つの理由からである。第 1 に、上段の帯
   そのものが @media (min-width: 750px) の節でしか作られない（749px 以下は
   .site-header__tagline 等が通常の行として並ぶスマートフォン幅の並びで、
   ページ名・電話予約・補助リンクは引き出しメニューの一部）。第 2 に、幅で
   絞らずに opacity: 0 だけ書くと、携帯幅で引き出しの中の電話予約・補助
   リンクまで隠れてしまう（Issue #2114 の AC「携帯幅 375px では挙動が
   変わらない」を壊す）。

   境目は `not all and (max-width: 768px)`（= 768px より大きい）である。
   移行元の public/js/base.js が `(max-width: 768px)` の否定で出し入れを
   決めているので、それに 1 対 1 で対応させた（Issue #2886 / #2823。理由の
   詳細は上の貼り付きの節「貼り付きの境目は 750px ではなく…」を参照）。
   **貼り付きの節・この 1 段化の節・assets/js/main.js の
   HEADER_COMPACT_MEDIA_QUERY の 3 か所は、必ず同じ境目にそろえる。**
   ずれると、貼り付かないのにクラスだけ付く（または逆）になる。
   上段の帯を作る 750px の節とは境目が別なので、幅 750〜768px では
   2 段のヘッダーがそのまま流れる（移行元と同じ）。

   閾値 75px は移行元と同じ値を assets/js/main.js の
   HEADER_COMPACT_SCROLL_THRESHOLD に持つ。ここではクラスの有無だけを見る。

   出現（帯を畳む）は移行元の slideDown に寄せてなめらかに、消える（帯を
   戻す）は移行元の slideUp(0) に寄せて瞬時にする。両方に同じ transition を
   常時持たせ、消えるときだけ assets/js/main.js が一時的に
   site-header--no-transition を足して打ち消す。

   所要時間は CSS カスタムプロパティ --pa-header-compact-transition-duration に
   持たせる（.front-faq__list.is-enhanced の --pa-faq-transition-duration と
   同じ書き方）。動きを控える設定（prefers-reduced-motion: reduce）は、この
   変数を 0s に上書きするだけで .site-header__top と
   .site-header__tagline 等の transition 宣言の両方に効く。詳細度をそろえた
   セレクタの複製やスクロール時の JavaScript 側の分岐は要らない（Codex 指摘・
   PR #2133）. */
@media not all and (max-width: 768px) {
	.site-header {
		--pa-header-compact-transition-duration: 0.3s;
	}

	/* .site-header__top は display: flex で高さが中身に追従する器なので、
	   min-height を 0 にするだけでは畳めない（min-height は下限であって
	   上限ではなく、中身が残っていれば箱もその分の高さを保つ）。畳むときは
	   max-height を 0 へ動かす（Issue #2662）。overflow: hidden はこの規則に
	   置かず、畳んだ側の .site-header--compact .site-header__top にだけ
	   持たせる（下の規則を参照）。展開中の .site-header__top へ
	   overflow: hidden を常時効かせると、器より長いページ名の右端が
	   切り取られてしまう（かつての実測: 器の幅 1100px に対してページ名の幅
	   1148.94px・切り取り 48.92px）。この幅での切り取りは、Issue #2886 /
	   #2823 で .site-header__top へ移行元と同じ min-width: 1200px を与えた
	   ことで起きなくなった（移行元の #header も min-width: 1200px を持ち、
	   幅 1100px でページ名 1148.94px を 1 行のまま全文出す）。それでも
	   1200px を超える長さのページ名では同じことが起きるため、展開中は
	   overflow: hidden を持たせない方針を続ける。
	   展開中に外してよいのは、帯を戻す動きが site-header--no-transition で
	   瞬時に行われ、途中の状態が存在しないためである（Codex 指摘・
	   PR #2818）。
	   100px は、40px（ページ名の 1 行）に補助リンクが折り返して 2 行に
	   なった場合の実測（最大 71.96875px。ヘッドレスブラウザで確認）へ
	   余裕を足した値である. */
	.site-header__top {
		max-height: 100px;
		transition: max-height var(--pa-header-compact-transition-duration) ease-out;
	}

	.site-header__tagline,
	.site-header__page-name,
	.site-header__sub {
		transition: opacity var(--pa-header-compact-transition-duration) ease-out,
			visibility 0s linear var(--pa-header-compact-transition-duration);
	}

	/* 🚨 **畳んだら流れから外し、外したぶんを本文の場所取りで埋める（Bug #3093）。**

	   直す前は `.site-header` が `position: sticky` のまま**流れの中に残って縮んで**
	   いた。上段を畳むと流れの中の高さが 120px → 80px になり、**本文全体が 40px 上へ
	   跳ねていた**（2026-09-12 09:50 JST に dev で実測。成婚ストーリーの入口・
	   コンセプト・会社情報の 3 ページとも、送る前 y=120 → 送った後 y=80）。

	   移行元は**追従の帯を本文の流れの外に持っている**（写し `1fbfa9dda` で実測。
	   `include/header_fix_navi.shtml` が配る `#fixHeader` は `position: fixed` と
	   `display: none` を持ち、`js/base.js` が `scrollTop > 75` で出す。流れの中の
	   `#header` は縮まない）。**だから移行元は本文が 1px も動かない。**

	   このテーマはマークアップを増やさない方針なので、**同じ 1 枚を畳むときだけ
	   流れの外へ移し、外したぶんを本文の上内余白で埋める**。見た目（貼り付く帯が
	   80px）と本文の位置（動かない）の両方が移行元と同じになる。

	   🚨 **場所取りの値は JS が畳む直前に測った実測値である**（`main.js` の
	   `applyCompact()` が `--pa-header-expanded-height` へ入れる）。固定の数値を
	   書かないのは、畳む前の高さがページで違いうるため（上段のタグラインや
	   ページ名の行数で変わる）。控えが無いときだけ 120px を使う。

	   🚨 **当たり先は id の `#site-main` である。**本文の器の class は画面で違う
	   （`header.php` は `site-main`、`header-form.php` の 3 種は
	   `pa-form-frame__thanks` / `pa-otocon-main` / `pa-form-frame__wrapper`）。
	   4 つに共通するのは id だけで、この規則はその 4 つ全部に当てたい。
	   `#site-main` へ内余白を与える規則は他に無い（2026-09-12 に全数で確認）。

	   🚨 **畳んでいる印は体に付ける。**ヘッダーと本文の位置関係（兄弟か入れ子か）に
	   依らずに当てられるためである.

	   🚨 **幅の条件はこの節（畳む処理と同じ `not all and (max-width: 768px)`）に
	   そろえる。**別の値にすると、畳まないのに場所取りだけ入る幅ができる
	   （750〜768px で本文が 120px 下がる）. */
	.site-header--compact {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
	}

	body.pa-header-compact #site-main {
		padding-top: var( --pa-header-expanded-height, 120px );
	}

	.site-header--compact .site-header__top {
		/* min-height（40px）が max-height（0）より大きいと min-height が
		   勝ってしまう（CSS の仕様）ため、畳むときは両方を 0 にする。
		   overflow: hidden もここへ置き、畳んでいる最中の中身（まだ高さぶん
		   残っているページ名・補助リンク）をはみ出させずに隠す（理由は
		   .site-header__top の規則の直前を参照）. */
		max-height: 0;
		min-height: 0;
		overflow: hidden;
	}

	.site-header--compact .site-header__tagline,
	.site-header--compact .site-header__page-name,
	.site-header--compact .site-header__sub {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	/* 畳んだら上段の罫線も一緒に消す（Task #3196）。

	   この罫線は上段（高さ 40px）の下端を描くもので、実体は 1 つ上の
	   ブロックにある body:not(.home) .site-header__inner::before である
	   （position: absolute・top: 39px・高さ 1px・#ccc）。**畳むと上段は
	   高さ 0 になるのに、この罫線は絶対配置なので 39px の位置に残り、
	   80px に縮んだ帯の真ん中を横切る。**ユーザーの目視で見つかった
	   （2026-09-04「ページ下にスクロールすると線が被る」）。

	   ## 移行元はなぜ消えるか

	   移行元は追従用（#fixHeader）と通常用（#fixHeader2）の 2 本の帯を
	   別々に持つ。罫線は body の背景画像 bg_header.gif の 39 行目が
	   描いており、送ると #fixHeader が background-color: #ffffff で
	   画面上端を覆うため、背景画像の罫線は隠れて見えなくなる。
	   dev を幅 1440px で送って画素を走査すると、移行元は y=39 に線が
	   無く、dev は rgb(204,204,204) の線が残っていた（2026-09-04 実測）。

	   ## 消し方をこの形にした理由

	   同じブロックの .site-header__tagline 等と同じ opacity + visibility の
	   型にそろえる。display: none で消すと、戻すときに transition が
	   効かず 1 コマで現れてしまい、隣の要素の畳み方と動きがそろわない。
	   visibility の遅延も 3 行上と同じ書き方にしてある. */
	.site-header__inner::before {
		transition: opacity var(--pa-header-compact-transition-duration) ease-out,
			visibility 0s linear var(--pa-header-compact-transition-duration);
	}

	.site-header--compact .site-header__inner::before {
		opacity: 0;
		visibility: hidden;
	}

	.site-header--no-transition .site-header__top,
	.site-header--no-transition .site-header__tagline,
	.site-header--no-transition .site-header__page-name,
	.site-header--no-transition .site-header__sub,
	.site-header--no-transition .site-header__inner::before {
		transition: none;
	}
}

/* 動きを控える設定のときは所要時間を 0s にする。幅の条件は 1 段化の節と同じ
   「768px より大きい」だが、ここだけは節を入れ子にして書く。

   🚨 `@media not all and (max-width: 768px) and (prefers-reduced-motion: reduce)`
   と 1 行で書いてはいけない。CSS の `not` は**式全体**に掛かるため、この 1 行は
   「（768px 以下 かつ 動きを控える）ではない」という意味になり、動きを控える
   設定でない閲覧者に対して**幅を問わず当たってしまう**（2026-09-03 に
   ヘッドレスブラウザで実測して確認した。幅 749 / 750 / 768 / 769 / 1100px の
   すべてで当たった）。入れ子にすると、外側が幅、内側が動きの設定を別々に
   見るので、意図した「768px より大きい かつ 動きを控える」になる
   （同じ実測で、769px 以上かつ reduce のときだけ当たることを確認した）. */
@media not all and (max-width: 768px) {
	@media (prefers-reduced-motion: reduce) {
		.site-header {
			--pa-header-compact-transition-duration: 0s;
		}
	}
}

/* --- グローバルナビの文字と内余白の段階（移行元 style.css の 796〜823 行 /
   848〜870 行の写し。Issue #1625） ---

   移行元は画面幅に応じてグローバルナビの文字を 15 → 14 → 13 → 12px、項目の
   左右の内余白を 12 → 12 → 9 → 7px と詰めていた。dev は 15px で固定して
   いたため、1440px でナビの幅が移行元より 32px 広かった。下限を 750px で
   区切っているのは、上のブロックと同じ理由（移行元は幅 750px 以上でこの
   2 段のヘッダーを返す）である。Issue #2823 で 1100px から下げた。
   移行元の字詰めの段階も max-width だけで区切られており下限を持たない. */
@media (min-width: 750px) and (max-width: 1560px) {
	.site-header__menu > li > a {
		font-size: 14px;
	}
}

@media (min-width: 750px) and (max-width: 1386px) {
	.site-header__menu > li {
		padding: 0 9px;
	}

	.site-header__menu > li > a {
		font-size: 13px;
	}

	.site-header__nav {
		margin-right: 5px;
	}

	/* 移行元 #logo は 1386px 以下で幅 175px・左の内余白 45px に詰めていた
	   （style.css の 747〜754 行）. */
	.site-header__bar {
		padding-left: 45px;
	}

}

/* 移行元のロゴの幅は **3 段** である（配信中の本番の CSSOM から読んだ。写しの
   `legacy/www.p-a.jp/public/css/style.css` 713〜753 行も同じ値）。

     #fixHeader2 #header-inner2 #header-logo { width: 280px; padding-left: 41px }
     @media screen and (max-width: 1560px) { … { width: 230px } }
     @media screen and (max-width: 1386px) { … { width: 175px; padding-left: 45px } }

   絵は `width: 100%` で器の幅をそのまま使う。**その絵の指定は
   `max-width: 1560px` の中にある**ので、**1561px 以上では指定が外れ、絵は
   属性の 175x31 に戻る**（器は 280 のまま left 41 に置かれる）。これは移行元
   そのものの癖であり、司令塔の裁定（2026-09-06）でそのまま写すと決めた。

   実測（`#header-logo` と その中の img・幅を 1px ずつ跨いで確認）:

     | 画面の幅   | 器            | 左の内余白 | 絵          |
     |-----------|---------------|-----------|-------------|
     | ≤1386     | 220x79（175） | 45px      | 175x30.63   |
     | 1387〜1560 | 271x79（230） | 41px      | 230x40.25   |
     | ≥1561     | 321x79（280） | 41px      | **175x31**  |

   🚨 **以前ここは「1202px 以上で 222px」だった**（Bug #2563 の 2026-08-31 の
   裁定）。**あの検収の表の「移行元 222px」は誤りである。**222 という値は本番の
   CSSOM にも写しの CSS にも無く、切り替わる幅も 1386px である。結果として
   1202〜1386px では移行元より 47px 広く、1387〜1560px では 8px 狭かった
   （Bug #3982）。**#2563 が同時に直した申し込み導線の明朝体は正しいので残す。**

   下限の 750px を付けないのは、移行元の段階も max-width だけで区切られており、
   1386px 以下は既定の 175px で移行元と一致するためである. */
@media (min-width: 1387px) {
	.site-header__logo-image {
		width: 230px;
	}
}

/* 1561px 以上。移行元は器を 280px へ広げるが、絵の `width: 100%` が外れて
   絵だけ属性の 175x31 に戻る（上の注釈のとおり）。器の 321px は
   280 + 左の内余白 41 で、テーマは `box-sizing: border-box` なので
   `width: 321px` が移行元の `width: 280px; padding-left: 41px` に当たる. */
@media (min-width: 1561px) {
	.site-header__logo-image {
		width: 175px;
		height: 31px;
	}

	.site-header__bar {
		width: 321px;
	}
}

/* 新しい型の店舗のヘッダーのロゴは、幅 1202px 以上で 222px（Bug #9879・事業部の指摘 row 46 の測定で見つけた）。

   上の 3 段（175／230／175x31）は旧デザインの `public/css/style.css` の値である。新しい型の店舗が読む
   `public/assets/css/style.css` は、同じ `#header-logo` の幅を後ろの規則で上書きしている（注釈を外して読んだ並び）:

     既定 280・padding-left 41 → max-width:1560px で 230 → max-width:1386px で 175・padding-left 45
     → 既定 222 → max-width:1560px で 222 → max-width:1386px で 222 → max-width:1201px で 175
     絵は `#header-logo img { width: 100% }`（幅の条件なし）

   つまり新しい型では、**1202px 以上はどの幅でも 222px**、1201px 以下は 175px（テーマの既定と同じ）である。
   上の注釈の「222 という値は写しの CSS に無い」は旧デザインの CSS の話で、新しい型の CSS には在る.

   実測（2026-10-13・幅 1440・`pa-verify-assets/T/9879-地の色-1013/`）: 横浜・名古屋・静岡・銀座とも
   移行元 222x38.8・dev 230x40.3。旧い型の柏店は両側 230x40.3.

   事業部の指摘は「（静岡店の）ロゴが小さくなっている」で、測った差とは向きが逆である。移行元の値にそろえる.

   当たり先は新しい型の店舗（`body.single-branch.pa-profile-new`）だけに絞る。トップと pa-zexy も同じ CSS を
   読む新しい型だが、測っていないので触らない。詳細度 (0,4,0) で、1561px 以上の `175x31`（(0,1,0)）にも勝つ.
   `height: auto` は、1561px 以上の `height: 31px` を外すため. */
@media (min-width: 1202px) {
	body.single-branch.pa-profile-new .site-header__logo-image {
		width: 222px;
		height: auto;
	}
}

/* 移行元 #header-btn-navi は 1366px 以下で幅 332px（110 の 3 つ + 隙間 2）に
   詰めていた（style.css の 1254〜1275 行）。詰めないと 1100〜1279px で導線が
   次の行へ折り返し、ヘッダーが 2 段になる。下段の器 .site-header__main は
   min-width: 1100px を保つので（Issue #2886 / #2823）、幅 750〜1099px でも
   中身の取り合いは幅 1100px のときと同じであり、この幅詰めが同じように効く. */
@media (min-width: 750px) and (max-width: 1366px) {
	.site-header__cta-item--eq,
	.site-header__cta-item--reservation,
	.site-header__cta-item--request {
		min-width: 110px;
	}
}

@media (min-width: 750px) and (max-width: 1200px) {
	.site-header__menu > li {
		padding: 0 7px;
	}

	.site-header__menu > li > a {
		font-size: 12px;
	}
}

/* --------------------------------------------------------------
 * グローバルナビのメガメニュー（Issue #1545）
 *
 * 値の写し元（いずれも移行元サイトのリポジトリ legacy/www.p-a.jp 配下）:
 *   構造  public/include/header_fix_navi_2.shtml（パネル 6 枚）
 *         public/include/drawer_sp.shtml（スマートフォン用の引き出しの階層）
 *   寸法  public/css/style.css の .glowNav（884 行目から）と、その中の
 *         .navInner / .pldwn-left-no1 / .pldwn-left / .pldwn-left02 /
 *         .pldwn-right / .subNav
 *   開閉  public/js/base.js の 89〜173 行（jQuery の hover + fadeTo）
 *
 * ------------------------------------------------------------------
 * 開閉に JavaScript を使わない
 * ------------------------------------------------------------------
 * 移行元は jQuery で出し入れしていたが、ここは :hover と :focus-within で
 * opacity と visibility を移り変わらせるだけにする。visibility を併用するのは、
 * 閉じている間にパネルの中へフォーカスが入らないようにするためである
 * （display: none だと移り変わりが効かず、opacity だけだと見えないリンクに
 * フォーカスが入ってしまう）。キーボードでは最上位のリンクへフォーカスした
 * 時点で :focus-within が成立してパネルが見える状態になり、そのまま Tab で
 * 子リンクへ入れる。
 *
 * 移り変わる時間は移行元の fadeTo に合わせ、開くとき 0.3 秒・閉じるとき 0.2 秒に
 * する。visibility は「開くときは即座に visible・閉じるときは opacity が消え
 * きってから hidden」にしたいので、遅れ（transition の delay）だけを開閉で
 * 入れ替えている。
 *
 * ------------------------------------------------------------------
 * 位置決めの基準は .site-header__inner（li ではない）
 * ------------------------------------------------------------------
 * 幅 100px 前後の li を基準にすると、1200px 級のパネルがそこからぶら下がって
 * 画面の右へあふれ、横スクロールが出る。移行元も li ではなく #header-inner を
 * 基準に left: 0 / width: 100% で敷いていた。.site-header__inner は既に
 * position: relative を持っているので、基準にするための指定を足す必要はない。
 * -------------------------------------------------------------- */

.site-header__mega {
	/* 移行元 .glowNav の背景色。共通のパレットには無く、メガメニューにしか
	   出てこない色なので、ここで実値を持つ. */
	--pa-mega-bg: #f3f1ec;

	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	/* 本文側の重ね順（このファイルで使う最大は 2）より上に出し、貼り付いた
	   ヘッダーの 50 には届かない値にする. */
	z-index: 5;
	background-color: var(--pa-mega-bg);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease-out, visibility 0s linear 0.2s;

	/* 🚨 **閉じている間は中身を切り取る（Bug #3229）。**

	   `visibility: hidden` の要素は**場所を取り続ける**。このパネルの中身は
	   横並びで、脇のバナー 108px・カードの並び・販促バナー 204px が固定幅を
	   持つため、中身の最小の幅が 1268px になる。切り取らないと、閉じたままの
	   パネル 6 枚がページ全体の横幅を 1268px へ押し広げ、画面がそれより狭いと
	   移行元（1200px）より 68px 多く横に送れてしまう（2026-09-04 に幅 1000px で
	   両側を実測。移行元 1200px 対 dev 1268px）。

	   移行元は閉じたパネルを `display: none` にしているので場所を取らない
	   （記録版 public/css/style.css の 884〜902 行 `.glowNav`）。dev は薄れて
	   現れる動きのために `visibility` を使うので、代わりに切り取って場所を
	   取らせない。閉じている間は見えないため、切り取っても見た目は変わらない。

	   開いた状態では下の `@media (min-width: 750px)` の規則が
	   `overflow: visible` に戻す。中身が画面より広い狭い画面でも、開いたときは
	   移行元と同じく横に送って読める。

	   携帯幅（749px 以下）は、この下の節が同じ `overflow: hidden` を
	   `max-height` の畳みのために既に持っているので、挙動は変わらない. */
	overflow: hidden;
}

/* 🚨 **この 2 つの規則は必ず幅の条件で囲う（Bug #3219）。**囲わないと携帯幅にも
   当たり、**アコーディオンの開閉の動きを丸ごと打ち消す。**

   携帯幅で見出しの行を押すと、その行を含む li に `:hover` が付き（指で触れた
   端末でも付く）、中の開閉ボタンへ焦点が移るので `:focus-within` も付く。この
   規則はクラス 3 つ + 擬似クラス 1 つで詳細度が高く、下の携帯幅の節が持つ
   `.site-header--js .site-header__mega { transition: max-height 0.3s ease }`
   （クラス 2 つ）に勝ってしまう。すると `transition` が
   `opacity 0.3s ease-out, visibility 0s linear 0s` へ置き換わり、
   **`max-height` が動かずに 1 コマで開く**。

   2026-09-04 に dev を幅 375px で実測して確かめた。押した直後のコマから
   `transition` が上の値へ変わり、高さが 0 から 272.34px へ 1 コマで飛んでいた
   （移行元は 35 コマかけて動く）。ユーザーの目視の指摘「サブメニュー開閉の
   動きの UX が移行元と差異がある」の実体がこれである.

   パネルの出し入れそのものは、パソコン幅だけの操作である（携帯幅は下の節が
   `opacity: 1` / `visibility: visible` で常に見える状態にし、開閉は
   `max-height` が担う）。だから 750px 以上へ閉じ込めてよい. */
@media (min-width: 750px) {
	.site-header__menu > li:hover > .site-header__mega,
	.site-header__menu > li:focus-within > .site-header__mega {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s ease-out, visibility 0s linear 0s;

		/* 閉じている間の切り取り（上の .site-header__mega の `overflow: hidden`。
		   Bug #3229）を、開いた状態では外す。パネルの中身は最小 1268px あり、
		   画面がそれより狭いときは移行元と同じく横に送って読む形にする.

		   付いてくる副作用: 閉じるときの 0.2s の薄れの間、画面より右へ出ている
		   部分だけが薄れずに即座に消える（`overflow` は途中の値を持てない）。
		   画面の幅が約 1268px より狭いときに限る。移行元は閉じたパネルを
		   `display: none` にするので、そもそも薄れる動きを持たない. */
		overflow: visible;
	}
}

/* キーボードで子リンクへ入っている間も、どの項目を開いているのかが分かるように
   最上位の下線を出したままにする（マウスの側は既存の a:hover が担う）。

   🚨 色は世代のトークン（--pa-color-accent-strong）ではなく、移行元の値を直に
   指す（Bug #3250）。ヘッダーは全ページ共通の部品なのに、このトークンは
   デザイン世代で切り替わるため、新デザインの 6 ページだけ下線が #f54851 に
   なっていた。マウスを載せたときの下線（#3249 で直した）と同じ色にそろえる. */
.site-header__menu > li:focus-within > a {
	border-bottom-color: var(--pa-palette-red-legacy);
}

/* メガメニューの中のリンクは、載せると文字が赤くなる（Bug #3250）。

   移行元の**旧デザインのページ**は素の `a:hover { color: #e1200f }` を持つので、
   パネルの中のカードの見出しと説明が赤くなる。**新デザインのトップはこの規則を
   持たないので、何も起きない**（2026-09-04 に本番 www.p-a.jp のトップと
   /service/ を幅 1440px で取得し、カード 19 枚に指を乗せて実測）。

   dev もその 2 つの世代を写しているため、同じヘッダーなのにトップだけ反応が
   無かった。ユーザー裁定 63（2026-09-04 05:1x JST）で「**下層ページの UI/UX に
   トップを合わせて統一する**」と決まったので、世代の札を見ない部品専用の規則を
   置く。

   この選択子は (0,2,1) なので、素の `a:hover`（(0,1,1)）に勝つ。旧デザインの
   ページでは同じ色を上書きするだけなので、見え方は変わらない。

   販促バナーと脇のバナーも同じ器の中にあるが、中身が画像なので文字色は
   見た目に出ない（移行元も同じ状態である）. */
.site-header__mega a:hover,
.site-header__mega a:focus-visible {
	color: var(--pa-palette-red-legacy);
}

/* パネルの中身は 3 つのブロックを横に並べる。max-width は移行元 .navInner の
   1265px で、ヘッダーの内側の上限（--pa-inner-md は 1528px）より狭い。
   上下の余白は移行元と同じ 24px にする。移行元 .navInner の padding は
   24px 0 4px だが、最後の段のカードが margin-bottom: 20px を持つため、
   下側も実際には 24px 空いていた（Issue #1625 の C2-18）. */
.site-header__mega-inner {
	/* このパネルに「器」としての名前を付ける。中の 3 列の一覧が、画面の幅ではなく
	   この器の内側の幅を見て列数を決められるようにするためである（Bug #1852。
	   実際に判定する指定は下の @container にある）。

	   画面の幅ではなく器の幅を見るのには理由がある。メディアクエリが見る幅は
	   縦スクロールバーの幅を含むが、レイアウトが実際に使える幅は含まない。
	   スクロールバーが幅を占める閲覧環境（Windows のブラウザ等）では両者が 15px
	   ずれるため、画面の幅で境目を決めると、その環境では境目も 15px ずれてしまう。
	   器の内側の幅はレイアウトの実寸なので、どちらの環境でも同じ位置で切り替わる。

	   名前を付けているのは、将来この要素より外側にも器が足されたときに、下の
	   @container が意図せずそちらを見に行かないようにするためである. */
	container-name: pa-mega;
	container-type: inline-size;

	display: flex;
	align-items: flex-start;
	/* 🚨 **3 つの塊のあいだを gap でそろえない（Bug #4086）。**移行元の 30px は
	   左の絵の枠と子項目の一覧のあいだにだけ在り（移行元 .pldwn-left の
	   margin-left）、その右の販促バナーは器の右端にそろえてある。dev は以前
	   両方を gap: 30px でそろえていたため、

	       140（枠）＋ 30 ＋ 864（一覧）＋ 30 ＋ 204（バナー）＝ 1268px

	   となり、下の max-width（1265px）を 3px はみ出していた。3 つとも縮まない
	   指定なので、あふれた 3px がそのままバナーを右へ押し出す。

	   いまは 30px を枠の右の外余白（.site-header__mega-side）に持たせ、バナーは
	   左の外余白を auto にして器の右端へそろえる。余りは 1265 −（140 ＋ 30 ＋
	   864 ＋ 204）＝ 27px となり、移行元と同じ間隔になる. */
	max-width: 1265px;
	margin: 0 auto;
	/* 移行元 .navInner の padding は 24px 0 4px で、左右は 0 である。
	   以前はテーマ共通の左右の内余白（--pa-inner-gutter・15px）を当てて
	   おり、中の一覧が 15px ぶん右へ寄っていた（Bug #3056）。下側を 4px
	   でなく 24px にしているのは、移行元は最後の段のカードが
	   margin-bottom: 20px を持ち 4 + 20 = 24px 空くのに対し、dev は
	   カードの間隔を gap で作るため末尾に余りが出ないためである
	   （Issue #1625 の C2-18）. */
	padding: 24px 0;
}

/* 左のブロック: 「成婚率 No.1」の縦バナー 1 枚。移行元 .pldwn-left-no1 は
   枠 140px・画像 108x162 で、上に 30px の余白を取っていた.

   🚨 **枠は 140px、画像は 108px である（Bug #3056）。**以前は枠にも画像の
   108px を与えており、右の一覧が 32px ぶん左へ寄っていた。画像は枠の中央に置く.

   🚨 **中央寄せは text-align: center では効かない（Bug #4085）。**下の img は
   display: block なので塊として置かれ、text-align は行の中を流れる中身しか
   動かせない。そのため画像は枠の左端に付き、移行元より (140 - 108) / 2 = 16px
   左へ寄っていた（6 枚のパネルすべて・幅 1440px と 1280px の両方で同じ）。
   左右の外余白を auto にして中央へ戻す。枠の text-align: center は、将来
   画像を行の中に戻したときのために残してある. */
/* 🚨 **右の 30px は、この枠に持たせる（Bug #4086）。**移行元はこの 30px を
   子項目の一覧の左の外余白（.pldwn-left の margin-left）として持っている。
   dev で一覧の側に持たせると**携帯幅へ漏れる**。携帯幅の打ち消し
   （`.site-header__mega-list, .site-header__mega-list--areas`）は `display` と
   `gap` しか戻しておらず、外余白を戻さないため、引き出しの一覧が 30px 右へ
   下がってしまう。この枠は携帯幅で `display: none` にするので、ここに持たせれば
   構造的に漏れない. */
.site-header__mega-side {
	flex: 0 0 140px;
	margin: 30px 30px 0 0;
	text-align: center;
}

.site-header__mega-side img {
	display: block;
	width: 108px;
	/* 🚨 高さは移行元が書いている 162px を写す（Bug #4085）。height: auto だと
	   原寸 215x321 の比から 161.23px になり、移行元より 0.77px 低くなる. */
	height: 162px;
	margin-inline: auto;
}

/* 中央のブロック: 子項目の一覧。移行元 .pldwn-left は 864px の枠を持ち、
   カードの幅はパネルによって 2 通りあった。5 枚は 412px（= 2 列）、会員紹介の
   1 枚だけ 268px（= 3 列）である。ここは 2 列の側を既定にし、3 列のパネルは
   下の .site-header__mega-list--3col で上書きする。列数を入る幅で決めている
   （auto-fit）のは、狭い画面で 1 列へ落とすためである. */
.site-header__mega-list {
	/* 移行元 .pldwn-left は幅 864px の固定である（= 412 × 2 ＋ カードの
	   右外余白 20px × 2）。以前は残りを埋める形（flex: 1 1 auto）にして
	   おり、カードが 1fr の等分で移行元より広くなっていた（Bug #3056）. */
	flex: 0 0 864px;
	display: grid;
	/* 移行元 .pldwn-left li は幅 412px の実値である。以前は入る幅で列数を
	   決めて等分していたため、2 列の群で 15.5px 広かった（Bug #3056）. */
	grid-template-columns: repeat(2, 412px);
	/* 同じ段のカードの高さを揃えない。移行元の .pldwn-left li は height: auto の
	   float だったので、カードは中身の分だけの高さだった。揃えてしまうと、
	   横長のアイコンを持つ 1 件（高さ 195px 前後）と同じ段に並ぶカードが
	   引き伸ばされ、文字の下に大きな空きができる. */
	align-items: start;
	/* 移行元 .pldwn-left li の margin: 0 20px 20px 0 と同じ間隔にする. */
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 会員紹介のパネルだけカードを 3 列で組む（移行元 style.css の
   li.menu03 .pldwn-left li が幅 268px。他の 5 枚は 412px の 2 列）。dev は
   6 枚とも同じ列数の決め方にしていたため、このパネルだけ 2 列になって右へ
   大きな空白ができ、高さも 274px から 462px へ伸びていた（Issue #1625 の
   C2-17）。どのパネルを 3 列にするかの対応表は inc/nav-mega-menu.php の
   pa_nav_mega_three_column_panels() が持ち、目印のクラスはウォーカー
   （inc/class-pa-walker-header-nav.php）が付ける. */
.site-header__mega-list--3col {
	/* 移行元 li.menu03 .pldwn-left li は幅 268px の実値。以前は 1fr の
	   等分で 10.33px 広かった（Bug #3056）. */
	grid-template-columns: repeat(3, 268px);
}

/* 器が狭いときは 3 列をやめ、1 列へ落とす（Bug #1852）。

   直している症状はこうである。上の repeat(3, 1fr) の 1fr は minmax(auto, 1fr) の
   書き換えで、その下限の auto は「列の中身が縮められる最小の幅」を指す。つまり
   この一覧は中身の分だけの幅（実測 431.2px = 61.4 + 148 + 181.8 と隙間 20px×2）
   より狭くならない。パネルの中身は横並び（flex）なので、縮められない一覧が居座ると、
   その右にある販促バナー 2 枚（204px 固定）が右へ押し出される。押し出された右端は
   806.2px で、器の幅に依らず一定である。そのため器が狭いと、バナーがパネルの右の
   内余白（15px）を食い、さらに狭いとページ全体に横スクロールが出る（Bug #1838）。

   境目の 791px は「3 列が収まる器の内側の幅」である。一覧の下限 431.2px に、
   左のバナー 108px・販促バナー 204px・隙間 24px×2 を足すと 791.2px になる。
   これを下回ったら 1 列にする。画面の幅に直すと 821px 以下にあたり、822px 以上の
   見た目には届かない。器の内側の幅が 791.0〜791.2px の間だけ 3 列のままになり
   最大 0.2px の食い込みが残るが、これは Bug #1838 の修正が許容した残りと同じ量である。

   1 列へ落とす形は、この幅で他の 5 枚のパネルが既に取っている形と同じである
   （5 枚は下限が中身に依らない実値の 320px なので、そこまで縮んでから 1 列になる）。

   【画面の幅で切る 750〜805px の規則（下の @media）との関係】
   器の幅で判定できる閲覧環境では、下の @media (min-width: 750px) and (max-width: 805px)
   も同時に効く。この節が @media を無効にするわけではない。ただし 2 つは同じ結論を
   出すので、食い違いは起きない。器の内側の幅は、パネルの左右の内余白（15px ずつ）の
   ぶんだけ必ず画面の幅より狭いからである。実測でも「画面の幅 − 30px」で一定だった
   （トップ・店舗一覧・成婚ストーリー一覧・体験談一覧・会社概要の 5 ページで確認）。
   画面の幅が 805px のとき器は 775px で、791px を 16px 下回る。つまりこの帯で器が
   791px を超えることはなく、@media が 1 列にする幅では @container も必ず 1 列にする。
   縦スクロールバーが幅を占める環境では器はさらに 15px 狭くなる（805px のとき 760px）
   ので、差はもっと開く。2 つの結論が分かれるのは 806px 以上、つまり @media が効かない
   側だけである。

   【@container はこのファイルで初めて使う】
   店舗一覧の地図が container-type と cqw を既に使っているが（.pa-branch-archive__mapbox）、
   @container のアットルール自体はここが最初である。地図と同じく @supports で囲って
   あるのは、器の幅で判定できない古い閲覧環境で、この節ごと無視させるためである
   （無視されると 3 列のままになる。それは修正前と同じ状態で、退行ではない）。
   なお @container は解さない閲覧環境ならアットルールごと読み飛ばされるので、
   @supports が無くても壊れはしない。地図の先例に形をそろえ、依存を明示している。

   【この 791px はパネルの子項目の文言に依存する】
   431.2px は子項目 5 件の文言から決まる実測値である。文言は WordPress の管理画面から
   変更でき、CI もコードレビューも通らない。文言を伸ばす・子項目を足すと 431.2px が
   増え、791px では足りなくなる。同じ注意書きを、どのパネルを 3 列にするかの対応表を
   持つ inc/nav-mega-menu.php の pa_nav_mega_three_column_panels() にも置いてある. */
@supports (container-type: inline-size) {
	@container pa-mega (max-width: 791px) {
		.site-header__mega-list--3col {
			grid-template-columns: minmax(0, 1fr);
		}
	}
}

/* 移行元は横長のアイコンを持つ 1 件（会員プロフィール・活動実績）が背の高い
   カードになり、その右隣に背の低いカードが 2 段ぶん流れ込んでいた（float の
   回り込み）。ここでは、その 1 件に 2 段ぶんの高さを与えて同じ並びにする。
   支店紹介のパネルの縦長タイル（.site-header__mega-tile--tall）と同じ手である. */
.site-header__mega-list--3col .site-header__mega-item--wide {
	grid-row: span 2;
}

/* 移行元 li.menu03 の見出しと本文の寸法（.ttl は 18px / 行送り 1.2 / 下 5px、
   dd は padding 10px 12px 0）。他の 5 枚のパネルより 1 列ぶん狭いので、
   移行元もこのパネルだけ別の値を持っていた. */
.site-header__mega-list--3col .site-header__mega-title {
	margin-bottom: 5px;
	font-size: 18px;
	line-height: 1.2;
}

.site-header__mega-list--3col .site-header__mega-body {
	padding: 10px 12px 0;
}

/* 右のブロック: 販促バナー 2 枚。移行元 .pldwn-right は 204px 幅・1 枚 70px 高.

   🚨 **左の外余白を auto にして器の右端へそろえる（Bug #4086）。**移行元は
   このバナーを器の右端にそろえており、子項目の一覧との間隔は「余ったぶん」＝
   27px である。dev が間隔を 30px と決め打ちしていたため、3 つの塊の合計が
   器の上限 1265px を 3px 超え、バナーが右へはみ出していた。auto にすると
   余りの 27px がそのまま間隔になり、右端が器にぴったり収まる.

   🚨 携帯幅ではこのバナーごと `display: none` にするので、この外余白は漏れない. */
.site-header__mega-promo {
	flex: 0 0 204px;
	margin: 0 0 0 auto;
	padding: 0;
	list-style: none;
}

.site-header__mega-promo > li + li {
	margin-top: 6px;
}

.site-header__mega-promo img {
	display: block;
	width: 100%;
	height: auto;
}

/* 子項目 1 件。移行元は dl の中でアイコン（dt・100x100）を左、見出しと説明文
   （dd）を右に流し、白い面に載せてパネルの下地から浮かせていた。
   li を縦の flex にしているのは、「会社情報 > 私たちの想い」のように 3 段目の
   一覧がこの下へ続く場合に、リンクの面と一覧が重ならないようにするためである
   （a に height: 100% を与えると li の高さ全部を占めて一覧に重なる）. */
.site-header__mega-item {
	display: flex;
	flex-direction: column;
}

.site-header__mega-item > a {
	flex: 1 1 auto;
	display: flex;
	align-items: flex-start;
	background-color: var(--pa-palette-white);
	text-decoration: none;
}

.site-header__mega-icon {
	flex: 0 0 100px;
}

.site-header__mega-icon img {
	display: block;
	width: 100px;
	height: 100px;
}

/* 移行元 .pldwn-left li dd の padding: 15px 20px 0 に合わせる。
   🚨 **下は 0 である**（Bug #4099）。以前は `15px 20px` と書いており、移行元に無い
   下内余白 15px を持っていた。説明文の行送りが 1.49 のうちは、この 15px が
   「たまたま」白い札の高さを 100px に合わせていたが、行送りを移行元と同じ 1.8 へ
   直すと釣り合いが崩れて 100.19px になる（実測）。移行元トップの `dd` の内余白も
   `15px 20px 0px` であることを 2026-09-07 06:49 JST に確かめた. */
.site-header__mega-body {
	flex: 1 1 auto;
	padding: 15px 20px 0;
}

/* 移行元 .pldwn-left li dd .ttl の値をそのまま写す（明朝 20px・行送り 1・
   下 7px・太さは宣言なし＝400）。色は指定せず、リンクの色
   （--pa-color-link）を受け継ぐ。金（--pa-color-heading）は白地に対する
   明暗の差が 4.0:1 しかなく、この大きさの文字では足りないため使わない.

   🚨 **以前は「2 列の幅へ収める必要があるので 17px まで落とす」と書いて
   17px / 行送り 1.3 / 太さ 600 にしていたが、その前提は成り立って
   いなかった**（Bug #3057 / #3058）。実測すると dev のカードのほうが
   移行元より広く（412px 対 427.5px）、収まらない理由が無い。カードの幅は
   Bug #3056 で移行元と同じ 412px へそろえたので、20px でも収まる。
   2026-09-04 に本番 www.p-a.jp を幅 1440px で実測し、6 群すべてで
   20px / 行送り 20px / 太さ 400 であることを確かめた（群 1 だけは
   下の --3col の規則が 18px / 行送り 1.2 へ上書きする。これは移行元も
   同じで、群 1 は 1 列ぶん狭いため）. */
.site-header__mega-title {
	display: block;
	margin-bottom: 7px;
	font-family: var(--pa-font-family-serif);
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.04em;
}

/* 🚨 **題の中で括弧の部分だけを小さく組む（Bug #4110）。**
 *
 * 移行元は「はじめて(婚活未経験)の方へ」の題（`p.ttl.serif`）の中に `span` を置き、
 * **括弧の中だけを 16px・行の高さ 24px**で組んでいる。題の外側は 20px である。
 * dev は題の全体を 20px で組んでいたため、括弧の中も 20px のままだった。
 *
 * 実測（幅 1440px・移行元 `https://www.p-a.jp/` を 2026-09-06 22:55 JST 取得。
 * dev は 2026-09-06 23:27 JST。両側を同じ道具
 * `pa-verify-assets/f15-common-0905/tools/mega-all-panels.mjs` で測った）:
 *
 *   括弧の中の字        移行元 16px  対  dev 20px（**+4px**）
 *   同じ部分の行の高さ  移行元 24px  対  dev 20px（**+4px**）
 *   題の行の箱の高さ    移行元 24     対  dev 20（**−4**）
 *   説明文の器の高さ    移行元 312 × 89.19  対  dev 312 × 92.75
 *   白い札              両側 412 × 100（一致）
 *   パネル              両側 1440 × 268（一致）
 *
 * **この差で動くのは題の行の箱と、その下に続く説明文の位置だけである。**
 *
 * 🚨 **当たり先は 1 か所に閉じている。**この目印（`site-header__nav-label-small`）は
 * 投入定義（`scripts/pa-cms/seed-menus.php` の `pc_small`）が付けた 1 項目にだけ出る。
 * **題の `span`（`site-header__nav-label--pc`）へ直接当ててはいけない。**あれは共通
 * ヘッダーのすべてのカードに出る部品で、括弧を持たないほかの題まで巻き込む。
 *
 * 🚨 **行の高さは px で置く。**移行元の 24px は題の 20px に対する倍率ではない
 * （20px × 1.2 = 24px と一致するのは偶然で、題が 18px になる群 1 では
 * 18 × 1.2 = 21.6px になってしまう）。**移行元と同じ 24px を直接書く。**
 *
 * 🚨 **携帯幅では当たらない。**携帯幅の見出しは別の目印
 * （`site-header__nav-label--sp`）で出しており、移行元のスマートフォン版はこの部分を
 * 小さく組んでいない。この規則は `--pc` の中にだけ在るので携帯幅へ届かない. */
.site-header__nav-label--pc .site-header__nav-label-small {
	font-size: 16px;
	line-height: 24px;
}

/* 移行元 .pldwn-left li dd p の行送りをそのまま写す（12px × 1.8 = 21.6px）。
   🚨 **1.49 は移行元のどの画面の値でもない**（出どころ不明）。移行元トップを
   幅 1440px で測ると 21.6px である（2026-09-07 06:49 JST・会員紹介の横長の札で
   21.6px を確認。パネルの高さ 273.78 も一致）。

   🚨 **移行元は同じメガメニューの値をトップと下層ページで変える。**説明文の行送りは
   トップが 1.8・下層が 1.49 で、dev は下層の値で作られていた。**裁定 241 で
   「トップの姿に統一する」と決まっている。**下層ページを測って「1.49 で合っている」と
   判断してはいけない（3 班が `/service/` を測って「差なし」と報告した前例がある）。

   🚨 **この直しは単独では成立しない。**すぐ上の `.site-header__mega-body` の
   下内余白を 0 にする直しと**必ず同じ PR で**出すこと。行送りだけ上げると白い札が
   100 → 100.19px になり、移行元の 100px から外れる. */
.site-header__mega-desc {
	display: block;
	font-size: 12px;
	line-height: 1.8;
}

/* 会員紹介のパネルの先頭 1 件だけ、アイコンが横長（269x130）である。移行元も
   この 1 件は画像を上・文字を下に組み、中央へ寄せていた
   （style.css の li.menu03 .pldwn-left li:first-child）. */
.site-header__mega-item--wide > a {
	flex-direction: column;
	align-items: center;
}

.site-header__mega-item--wide .site-header__mega-icon {
	flex: 0 0 auto;
	width: 100%;
}

/* 🚨 **絵は札の幅に合わせる（Bug #4189）。**この絵だけ原寸が 269x130 で、札の幅
   268px より 1px 大きい。移行元は絵に幅を書かず、共通の `max-width: 100%` で札に
   収めている。dev も同じ書き方にそろえる。

   🚨 **突き合わせ先を移行元のトップページへ改めた結果の値である（裁定 241）。**
   Bug #4087 でこの絵を原寸の 269px にしたときは、目標値を移行元の**下層ページ**
   （`/service/`）で測っていた。移行元はメガメニューの姿をページごとに変えており、
   この絵の幅もトップと下層で違う。裁定 241 は「トップの姿に統一する」と決めているので、
   目標値はトップの 267.98px が正しい。

     移行元 下層 `/service/`  … 絵 269px    （2026-09-06 21:48 実測）
     移行元 トップ `/`        … 絵 267.98px（2026-09-07 02:13 実測）

   🚨 **`max-width: none` を書かない。**このテーマは共通の `img` に
   `max-width: 100%` を持つ（905 行あたり）。移行元も同じ形でこの絵を札へ収めており、
   外す理由が無い。外すと絵が札から 1px はみ出す。

   移行元トップの器を 5 代さかのぼって実測した（2026-09-07 11:46・幅 1440px）。

     img  267.98 x 129.52  幅の指定なし ＋ max-width: 100%
     dt   268               ← 器
     dl   268 / a 268 / li 268 / ul 864（3 列・すき間 20px）

   dev の器（`span.site-header__mega-icon`）も 268px なので、`width: 100%` で
   268 x 129.52 になる。**高さは移行元と完全に一致し、幅の差は 0.02px** である。
   高さは auto のままでよい（幅にそろえて原寸の比が保たれる）. */
.site-header__mega-item--wide .site-header__mega-icon img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

/* 🚨 **本文の左右に内余白を置かない（Bug #4087）。**移行元のこの札の本文は
   `padding: 10px 0 16px` で、左右は 0 である（実測）。以前は左右に 12px ずつ
   置いており、文字の入る幅が 268px から 244px へ狭まっていた。そのため
   「最新の会員データ、活動実績をご紹介します。」が移行元では 1 行なのに
   dev では 2 行に折り返し、札が 17.39px・パネルが 17.39px 高くなっていた。

   🚨 **左右 12px は「絵が正方形（100x100）の札」のための値である。**そちらは
   移行元も 12px を持つので変えない（`.site-header__mega-list--3col
   .site-header__mega-body`）。ここで直すのは横長の絵の札だけである. */
.site-header__mega-item--wide .site-header__mega-body {
	padding: 10px 0 16px;
	text-align: center;
}

/* 支店紹介のパネルだけ、中央がエリアのタイル画像になる（移行元 .pldwn-left02）。
   店舗一覧トップの縦長 1 枚（164x222）を左に置き、その右へエリアのタイル 8 枚
   （164x108）を並べる。移行元は 8 枚を 4 列 2 段に組み、その 2 段ぶんの高さが
   縦長の 1 枚とちょうど揃っていた（108 * 2 + 隙間 6 = 222）。ここでは縦長の
   1 枚を 2 段にまたがらせて同じ揃え方にする. */
.site-header__mega-list--areas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 164px));
	gap: 6px;
	justify-content: start;
}

/* 🚨 **支店紹介のパネルだけ、下の空きが 22px である（Bug #4088）。**移行元は
   この空きを 3 つの足し算で作っている（タイルの段の下の外余白 6px ＋ 中の器
   `.pldwn-left02` の下の内余白 12px ＋ パネルの下の内余白 4px ＝ 22px）。
   ほかの 5 枚のパネルは「札の下の外余白 20px ＋ パネル 4px ＝ 24px」で、器の
   `padding: 24px 0` と一致する。支店紹介だけが 2px 少ない。

   🚨 **幅の条件で囲うのは携帯幅を守るためである。**この選択子は class 2 つぶんの
   強さ（0,2,0）を持ち、携帯幅の打ち消し（`.site-header__mega-inner` の
   `padding: 0 10px`・(0,1,0)）に**勝ってしまう**。囲わないと、引き出しの中の
   パネルに 22px の下余白が付く。

   🚨 **`:has()` を解さない閲覧環境ではこの規則ごと読み飛ばされ、いままでどおり
   24px のままになる。**直る前と同じ姿なので退行ではない。`:has()` はこのファイルで
   既に広く使っている. */
@media (min-width: 750px) {
	.site-header__mega-inner:has(.site-header__mega-list--areas) {
		padding-bottom: 22px;
	}
}

.site-header__mega-tile > a {
	display: block;
	background-color: transparent;
	text-decoration: none;
}

.site-header__mega-tile img {
	display: block;
	width: 100%;
	height: auto;
}

.site-header__mega-tile--tall {
	grid-row: span 2;
}

.site-header__mega-tile--tall > a,
.site-header__mega-tile--tall img {
	height: 100%;
}

.site-header__mega-tile--tall img {
	object-fit: contain;
	object-position: top center;
}

/* エリア名は画像とは別に、文字でも必ず持たせている。パソコン幅では画像が地方の
   名前を見せるので文字は隠すが、読み上げには残す（画像側の代替テキストは空に
   して、同じ名前を二重に読ませない）。スマートフォン幅では逆に、画像を隠して
   文字を見せる。隠し方は .pa-visually-hidden と同じだが、スマートフォン幅で
   だけ元に戻す必要があるため、共用せず別のクラスとして持つ. */
.site-header__mega-tile-label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* 3 段目。「会社情報 > 私たちの想い」の下に付く 3 件の横並び（移行元 .subNav）。
   移行元は明朝（`.subNav` に `serif` が付く）・字 14px・上に 10px の空きを取り、
   **地色を持たない**。パネルの地色の上に、上の白い札の左端（257.5）にそろえて置く。

   🚨 **以前は「親のリンクと同じ白い面の続きに見えるように、下地を揃える」として
   地色に白・内余白に `0 20px 12px`・字に 13px を与え、書体の指定を持たなかった**
   （Bug #4084）。そのため 3 段目が上の白い札の中に入り込んで見え、書体もゴシックに
   落ち、1 件目の左端が札より 20px 右へ寄っていた。2026-09-06 に本番 www.p-a.jp を
   幅 1440px で実測し、地色は透明・書体は明朝・字は 14px・上の空きは 10px・
   1 件目の左端は上の白い札と同じ 257.5 であることを確かめた。

   🚨 **行送りは 1.5 である（= 項目の高さ 21px・一覧の高さ 31px）。**移行元はこの
   行の高さを**ページによって変えている**（トップは 1.5・/service/ は 1.0）。dev の
   ヘッダーは全ページ共通の 1 つの部品なので両方は再現できず、**トップの姿に
   統一する**（司令塔の裁定 238。/service/ とは 7px の差が残り、意図的変更の台帳に
   記録した）。移行元は行送りを `li` に 1.0・`a` に 1.5 と分けて持つが、行の箱の
   高さを決めるのは `a` の 21px なので、`ul` に 1.5 を 1 つ書けば同じ 21px になる。
   下の携帯幅の節が `line-height: inherit` で戻すため、この書き方なら携帯幅用の
   戻しを足さずに済む. */
.site-header__mega-sublist {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 10px 0 0;
	list-style: none;
	font-family: var(--pa-font-family-serif);
	font-size: 14px;
	line-height: 1.5;
}

/* 区切り線の色は移行元の実測値である。テーマの文字色（--pa-color-text = #474747）
   より濃く、同じ値のトークンが無いので実値で書く。移行元は `.subNav li` に色を
   明記しており `currentColor` ではないので、テーマの文字色を当てると薄くなる. */
.site-header__mega-sublist > li {
	padding: 0 14px;
	border-right: 1px solid #20201f;
}

.site-header__mega-sublist > li:first-child {
	padding-left: 0;
}

.site-header__mega-sublist > li:last-child {
	padding-right: 0;
	border-right: 0;
}

.site-header__mega-sublist a {
	text-decoration: none;
}

/* 🚨 **来店予約フォームの識別子を幅で出し分ける（Bug #5153・#5197）。**
   移行元は外部フォーム reg18 の識別子（`SMPFORM`）を**端末で使い分ける**
   （パソコン版 `qapi-lcpfkf-…`・携帯版 `qapi-lctgne-…`。移行元の本番で混在 0 を
   実測した。詳しくは inc/online-store.php の PA_ONLINE_STORE_REG18_BASE_URL_SP）。
   dev は 1 つの HTML を両方の幅へ配るので、**両方のリンクを書き出して片方を伏せる**
   （裁定 430 の型・上の .pa-nav-sp-only と同じ考え方）。

   🚨 **伏せる側は `display: none` なので読み上げの並びにも出ない。**同じ行き先の
   リンクが 2 本並んで読まれることは無い。

   🚨 **書き方を 2 つ改めた（Bug #5197）。初版は「素で携帯版を伏せ、携帯幅で
   入れ替える」形だったが、区分専用の CSS に負けて両幅で混在していた。**

   ① **幅で排他の 2 つの条件に分ける。**素の状態で伏せて携帯幅で戻す形だと、
      戻す側に `display` を書くことになり、区分専用の値（店舗一覧の
      `.pa-branch-archive__link` は `flex`・携帯幅では `inline`）を上書きして
      見え方を変えてしまう。**出す側には `display` を 1 つも書かない**のが安全である。

   ② **当たり先の名前を 2 つ重ねて詳細度を (0,2,1) にする。**素の
      `.pa-reg18-link--pc`（0,1,0）は、店舗一覧の
      `.archive-content--branch .pa-branch-archive__link`（0,2,0）に負ける。
      **実測で、携帯幅の `/branch/` にパソコン版のリンクが 10 本見えていた**
      （2026-09-09 13:1x）。**`!important` は使わない**（区分専用の CSS が
      見える側の `display` を変えるのは正しい振る舞いなので、打ち消さない）。

   境目は 749px である（このテーマの携帯幅の境目。移行元の `/sp/` の切り替えに合わせる）。
   規則は下の 2 つの @media の中にある（ここには置かない）. */
@media (min-width: 750px) {
	/* パソコン幅では携帯版だけを伏せる。**パソコン版には `display` を書かない**
	   （区分専用の値に譲る。店舗一覧の `.pa-branch-archive__link` は `flex`）。
	   下の携帯幅の条件（`max-width: 749px`）と**排他**なので、どの幅でも
	   ちょうど片方だけが伏せられる. */
	body .pa-reg18-link--sp.pa-reg18-link--sp {
		display: none;
	}

	/* 🚨 **記事下の CTA（`div.word-cta`）の中だけは、上の (0,2,1) では足りない**
	   （Bug #7048）。この部品のボタンの規則は区分ごとに写してあり、詳細度が
	   上の規則より高い。

	   | 規則 | 詳細度 |
	   |---|---|
	   | 上の `body .pa-reg18-link--sp.pa-reg18-link--sp` | (0,2,1) |
	   | `body .pa-page--senryu .page-content__body .word-cta-btn a`（`senryu/css/senryu.css` 702 行・`senryu/css/sp.css` 140 行） | **(0,3,2)** |
	   | `body .pa-page--report .page-content__body .word-cta-btn a`（`report/css/report.css` 160 行・`report-sp.css` 127 行） | **(0,3,2)** |
	   | `.pa-post--word .entry-content .word-cta-btn a`（このファイル） | **(0,3,1)** |
	   | `.single-content--pa-article .pa-article .word-cta-btn a`（このファイル） | **(0,3,1)** |

	   負けると**来店予約のリンクが 2 本とも出て、ボタンが 1 段ぶん余計に積まれる**。
	   実測（2026-09-17 22:24・幅 1440px）は次のとおり。

	   | ページ | 移行元 | dev | 差 | 余計な `a` の高さ |
	   |---|---:|---:|---:|---:|
	   | 婚活川柳の書庫 `/senryu/backnumber/` | 955.69 | 1,013.28 | +57.59 | **57.59** |
	   | ワード解説の記事 `/word/2017-10-1/` | 1,035.02 | 1,068.91 | +33.89 | 47.50 |

	   婚活川柳は**差が余計なリンク 1 本の高さにそのまま一致する**。

	   🚨 **`!important` は使わない**（素の状態の側の注釈と同じ理由）。代わりに
	   **部品の名前を 2 つ連ねて (0,4,2) にする**。上の 5 つの (0,3,2) を上回る.

	   🚨 **この節は `@media (max-width: 749px)` の対と排他である。**どちらか
	   片方だけが必ず伏せられる。見張りは `tests-retired/pa-cms-word-cta/` が持つ. */
	body .word-cta .word-cta-btn a.pa-reg18-link--sp.pa-reg18-link--sp {
		display: none;
	}

	/* 🚨 **コースと料金（`/guide/course/`）の申し込みの押しボタン（Bug #7285）。**
	   意匠の CSS（`assets/guide-course/css/base.css`）の

	     body .pa-page--guide .page-content__body :is(.page-course, .cta) .more-button
	       { display: grid }

	   は **(0,4,1)** で、上の (0,2,1) に勝ってしまう。**同じ形に印を重ねて (0,5,1) にする。**
	   （`:is()` の詳しさは中身の最大値なので、ここでは類名 1 つぶんである。）

	   🚨 **`assets/guide-course/css/base.css` は触らない。**あれは移行元から取り出した
	   生成物である（`scripts/pa-cms/extract-guide-course-base-css.py`）。

	   実測（2026-09-18 03:09:22〜03:13:28・実ブラウザ）で、幅 1440 で**出ないはずの携帯版が
	   2 本**、幅 375 で**パソコン版が 2 本**見えていた。押しボタンを組むのは
	   `inc/guide-course-reserve-links.php` で、`<a class="more-button … pa-reg18-link--xx">`
	   の形である. */
	body .pa-page--guide .page-content__body :is(.page-course, .cta) .pa-reg18-link--sp.pa-reg18-link--sp {
		display: none;
	}

	/* 🚨 **会員のホンネ体験談（`/introduce/experience/`）の申し込みの押しボタン（Bug #7285）。**
	   意匠の CSS（`assets/introduce/css/style_introduce.css`）の
	   `#contact-us .contact_btn a { display: block }` は **(1,1,1)** で、id を持つぶん
	   上の (0,2,1) に勝つ。**id を含む形に印を重ねて (1,3,2) にする。**

	   当たるのは 1 本だけである。移行元 `introduce/experience/index.php` の `.contact_btn` は
	   2 つ在るが、**来店予約を指すのは `#contact-us`（1011 行 → `/form/reservation/`）だけ**で、
	   `#branch-list`（1031 行）は店舗一覧へ行く。実測の漏れも 1 本だった. */
	/* 🚨 **同じ詳しさでは負ける（Bug #7438）。**意匠の CSS
	   （`assets/experience/css/introduce-sections.css`）の

	     body:is(.single-experience, .post-type-archive-experience)
	       .pa-introduce-sections #contact-us .contact_btn a { display: block }

	   は **(1,3,2)** で、上の規則と**同点**である（`:is()` の詳しさは中身の最大値なので
	   類は 3 つ。id 1・要素 2）。**同点のときは後から読み込まれたほうが勝つ**ので、
	   意匠の CSS が勝って伏せられていなかった（2026-09-19 00:08 の実測で幅 1440・375 の
	   両方に 1 本ずつ残っていた）。

	   **意匠の側と同じ形に印を 2 つ重ねて (1,5,2) にする。**`:is()` の範囲ごと写すので、
	   記事の側（`single-experience`）も一緒に守れる。
	   🚨 **意匠の写しは 1 文字も変えない。** */
	body:is(.single-experience, .post-type-archive-experience) .pa-introduce-sections #contact-us .contact_btn a.pa-reg18-link--sp.pa-reg18-link--sp {
		display: none;
	}

	/* 🚨 **店舗のページの親御さま向けの区画の中も、上の (0,2,1) では足りない**
	   （Bug #8112）。移行元から写した意匠の規則が `.parent-btn` を直に指していて強い。

	   | 規則 | 幅の条件 | 詳細度 |
	   |---|---|---|
	   | 上の `body .pa-reg18-link--sp.pa-reg18-link--sp` | `min-width: 750px` | (0,2,1) |
	   | `.pa-profile-legacy-compat .pa-branch__content .parent-btn` | **幅の指定なし** | **(0,3,0)** |

	   負けるので、**パソコン幅でも携帯幅でも 2 つとも見えていた**（神戸・京都・船橋・大宮の
	   4 店。この区画を持つのはこの 4 店だけで、移行元は押しボタンを 1 つしか持たない。
	   2026-09-20 15:1x に幅 375 で実測し、どちらも 335 × 40 で見えていた）。

	   意匠の側と同じ形に印を重ねて (0,5,1) にする。🚨 **`!important` は使わない**
	   （上の 3 組と同じ考え方）。

	   🚨 **`pa-profile-legacy-compat` は `<body>` そのものに付く。**上の 3 組と同じ
	   `body .pa-…` の形（子孫）で書くと**どこにも当たらない**。実行時注入で測って
	   気づいた（注入しても見える数が 2 のまま変わらなかった・2026-09-20 16:1x）。
	   `body.pa-profile-legacy-compat` と**くっつけて**書くこと. */
	body.pa-profile-legacy-compat .pa-branch__content .parent-btn.pa-reg18-link--sp.pa-reg18-link--sp {
		display: none;
	}

	/* 🚨 **店舗の詳細の 3 か所も、上の (0,2,1) では足りない**（Bug #8300）。
	   移行元から写した意匠の規則が、来店予約のリンクそのもの（または親の `a`）を
	   直に指していて強い。負けると**パソコン幅に携帯版のリンクが 2 本出て、
	   携帯幅にはパソコン版が 2 本出る**（幅 1440 の実測で 11 ページ・2026-09-21 00:09）。

	   | 勝ってしまう規則 | `main.css` の行 | 詳細度 | 出る字 |
	   |---|---:|---|---|
	   | `.pa-branch__content .cta .more-button` | 34175 | (0,3,0) | 「無料婚活体験を予約する」× 2（7 ページ） |
	   | `.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li a` | 23542 | (0,5,2) | 「ご予約フォームへ」（4 ページ） |
	   | `.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td .note a` | 24756 | (0,6,3) | 「※入会に関するご相談の受付時間はこちらをご確認ください。」（4 ページ） |

	   **意匠の側と同じ形に印を 2 つ重ねて (0,5,0) / (0,7,2) / (0,8,3) にする。**
	   🚨 **`!important` は使わない**（上の組と同じ考え方）。
	   🚨 **意匠の写しは 1 文字も変えない。** */
	.pa-branch__content .cta .more-button.pa-reg18-link--sp.pa-reg18-link--sp,
	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li a.pa-reg18-link--sp.pa-reg18-link--sp,
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td .note a.pa-reg18-link--sp.pa-reg18-link--sp {
		display: none;
	}
}


/* 移行元のスマートフォン版の引き出しにしか無い項目（支店紹介の「店舗のない
   エリアはオンラインから」と、会社情報の「取材・広告に関するお問い合わせ」）。
   パソコン幅では隠し、スマートフォン幅だけ出す。フッターの規程リンクで使っている
   .pa-footer-policy--sp-only（Bug #1319）と同じ考え方である。目印のクラスは
   投入定義（scripts/pa-cms/seed-menus.php）が付ける. */
.pa-nav-sp-only {
	display: none;
}

/* 移行元自身が、パソコン版とスマートフォン版で違う文言を使っている項目（支店一覧
   等 5 件）。パソコン幅とスマートフォン幅は同じ 1 本のメニューと同じ markup を
   共有しているため、1 つのリンクの中にスマートフォン用とパソコン用の 2 つの
   span を出し、幅ごとに片方だけを表示する（Issue #1760）。既定（パソコン幅）は
   スマートフォン用を隠し、下の @media (max-width: 749px) でパソコン用を隠す。

   隠し方は display: none にする。.pa-visually-hidden のようにクリップして隠す
   方式だと、隠した側の文字も読み上げソフトへ渡ってしまい、1 つのリンクが
   「支店一覧 店舗一覧トップ」のように二重に読まれる。display: none は要素ごと
   ブラウザの読み上げ用の一覧から外れるため、幅ごとにどちらか片方だけが読まれる
   （.pa-nav-sp-only と同じ考え方）。目印のクラスはテーマのウォーカー
   （inc/class-pa-walker-header-nav.php の item_title()）が付ける. */
.site-header__nav-label--sp {
	display: none;
}

/* --- タブレットの縦向きの帯（750〜805px）--- */

/* 会員紹介のパネルだけ、この帯でページ全体に横スクロールを出していた
   （Bug #1838。iPad の縦向き 768px がこの帯に丸ごと入る）。

   仕組みはこうである。上の .site-header__mega-list--3col は列を
   repeat(3, 1fr) で組んでいる。1fr は minmax(auto, 1fr) の書き換えで、
   その下限の auto は「列の中身が縮められる最小の幅」を指す。つまりこの
   一覧は中身の分だけの幅（実測 431.2px = 61.4 + 148 + 181.8 と隙間 20px×2）
   より狭くならない。パネルの中身は横並び（flex）なので、縮められない
   一覧が居座ると、その右にある販促バナー 2 枚（204px 固定）が画面の外へ
   押し出される。押し出された右端は 806.2px で、画面の幅がそれ未満の間だけ
   はみ出しがページの横スクロールとして出ていた。

   他の 5 枚のパネルは repeat(auto-fit, minmax(320px, 1fr)) で、下限が
   実値の 320px（中身に依らない）なので 320px まで縮み、この帯でも収まって
   いた。はみ出すのはこの 1 枚だけである。

   直し方は、この帯だけ列を 1 本にし、その下限を 0 にして縮められるように
   することである。他の 5 枚がこの帯で 1 列に落ちているのと同じ形に揃う。

   上限を 806px にせず 805px で切っているのは、幅 806px の見た目を変えないため
   である。幅 806px では一覧が 431.2px のままで、バナーの右端が画面から 0.2px
   出ているものの、横スクロールは出ない。この帯へ 806px を入れると一覧が
   416px へ縮み、バナーが 15.2px 左へ動いてしまう。Bug #1838 の受入条件が
   「806px 以上の見た目を変えない」ため、0.2px の食い込みはそのまま残す。
   なお、ブラウザの拡大縮小で画面の幅が 805px 超〜806.2px 未満の小数になると、
   この帯から外れて最大 1.2px のはみ出しが残る。整数の幅では起きない。

   2 段ぶんの高さを与えている 1 件（会員プロフィール・活動実績）の
   grid-row: span 2 は、ここでは戻さなくてよい。列が 1 本のときは、その 1 件が
   段 1〜2 を占め、段の間の隙間 20px もその 1 件の高さに含まれるため、
   一覧全体の高さは戻した場合と 1px も変わらない（幅 768px で実測。
   戻すと段は 5 本・戻さないと 6 本になるが、どちらも 680.5px）。

   【この帯の上限 805px の根拠は、パネルの中身に依存する】
   805px は「一覧が縮められる最小の幅（431.2px）＋左のバナー・販促バナー・
   隙間・内余白」から決まった実測値である。431.2px は子項目 5 件の文言から
   算出されるため、管理画面で文言を伸ばしたり子項目を足すと右へ動き、
   806px 以上でも横スクロールが出るようになりうる。どのパネルを 3 列にするかの
   対応表を持つ inc/nav-mega-menu.php の pa_nav_mega_three_column_panels() に
   同じ注意書きを置いてある。

   【上の @container pa-mega (max-width: 791px) との関係】
   器の幅で判定できる閲覧環境では、上の @container もこの規則も両方が効く。この帯では
   器の内側の幅が最大 775px（画面の幅 805px − 内余白 15px×2）にしかならず、@container
   の境目 791px を必ず下回るため、2 つは同じ結論（1 列）を出す。したがってこの帯の
   見た目はどちらの規則から来ても同じで、この規則が意味を持つのは、器の幅で判定できない
   古い閲覧環境だけである. */
@media (min-width: 750px) and (max-width: 805px) {
	.site-header__mega-list--3col {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --- スマートフォン幅（749px 以下） --- */

/* 上の @media (max-width: 749px)（ヘッダーの行・引き出し本体をドロワー化する節）と
   同じ条件をここにも持つ。条件がずれると、引き出しは開くのに、この節が持つ主要
   6 項目の開閉ボタン（.site-header__submenu-toggle）とアコーディオンの中身が
   パソコン用の組み（hover 前提・非表示）のまま残り、開閉ボタンも配下リンクも
   出ないまま操作できなくなる。2 つの節は必ず同じ条件で持つこと（Bug #2618 で
   どちらも `(pointer: coarse)` を外し、幅だけの条件へそろえた）。 */
@media (max-width: 749px) {
	/* 引き出しの中では、最上位の項目がグループの見出しになり、その下に子リンクが
	   並ぶ（移行元 public/include/drawer_sp.shtml と同じ階層）。パネルの器は
	   位置決めと出し入れをやめて、ふつうの行として流す.
	   li は 2 列のグリッド（.site-header__menu > li）なので、パネルは 2 列に
	   またがらせて全幅に敷く（Issue #1627）. */
	.site-header__mega {
		position: static;
		z-index: auto;
		grid-column: 1 / -1;
		background-color: transparent;
		opacity: 1;
		visibility: visible;
		transition: none;
	}

	/* アコーディオン（Issue #1627）。移行元は dd を max-height: 0 で畳み、
	   dl に dwMenu_open が付いたときだけ開いていた（common.css）。同じ作りにする。

	   JavaScript が動かないときは畳まない。.site-header--js が付くのは
	   assets/js/main.js が動いたときだけで、そのときは開閉ボタンも現れる。
	   スクリプトの読み込みに失敗した場合は、引き出しが開いたまま・パネルも
	   開いたままになり、キーボードでも読み上げでも子リンクへ到達できる. */
	.site-header--js .site-header__mega {
		/* 所要時間はカスタムプロパティにする。動きを控える設定
		   （prefers-reduced-motion: reduce）は、この変数を 0s へ上書きするだけで
		   済む（front-faq の開閉と同じ書き方。Bug #3222 の受入基準で確かめた）。
		   移行元は 0.3s で、こちらもその値を既定にする. */
		--pa-header-submenu-duration: 0.3s;

		max-height: 0;
		overflow: hidden;

		/* 🚨 **下の内余白も動かす（Bug #3270）。**

		   移行元の `dd` は `transition: all .3s` で、開閉のたびに
		   `padding-bottom` を 0 → 10px で動かしている（写しの
		   public/sp/css/common.css の 523〜551 行と、トップが読むまとめ CSS の
		   同じ規則）。そのため**押した最初のコマから器の高さが動く**。

		   `max-height` だけを動かしていたときは、`max-height` が中身の高さ
		   （会員紹介なら 272.34px）を下回るまで器の高さが 1px も変わらず、
		   **閉じるときに約 127ms の「間」**ができていた（移行元は約 31ms）。

		   10px の出どころは移行元と同じだが、置き場所が違っていた。dev は
		   内側の器（.site-header__mega-inner）に**常時**持たせていたので動かず、
		   移行元はパネル自身に**開いたときだけ**持たせるので動く。置き場所を
		   移行元にそろえた（内側の器は横の 10px だけを持つ）。パネルの高さの
		   合計は変わらない（行数 × 52.46px + 10.03px）. */
		padding-bottom: 0;
		transition: max-height var(--pa-header-submenu-duration) ease,
			padding-bottom var(--pa-header-submenu-duration) ease;
	}

	/* 動きを控える設定のときは、開閉を動かさず一気に開く。移行元は動きを控える
	   設定を見ていないが、このテーマは front-faq・引き出し本体・ページ内移動で
	   すでにこの設定を尊重しているので、そろえる. */
	@media (prefers-reduced-motion: reduce) {
		.site-header--js .site-header__mega {
			--pa-header-submenu-duration: 0s;
		}
	}

	/* 開いたときの上限は移行元と同じ 545px にする（Bug #3222）。

	   🚨 **この値は「切れないための余裕」ではなく「開く速さを決める値」である。**
	   両側とも max-height を 300ms の ease で上限まで動かし、器の高さは中身で
	   頭打ちになる作りなので、**上限が中身に対してどれだけ大きいかで見え方が
	   決まる**。上限を広げると、目に見えて動く時間がそのぶん短くなる。

	   以前の注釈は「移行元は 545px だが、あちらの子リンクは 1 行ぶんの小さな行で、
	   こちらは文字組みで行が高い。いちばん高いパネル（会社情報・598px）が収まる
	   値に広げてある」と書いていた。**この前提が誤っていた。**

	   2026-09-04 に本番 www.p-a.jp を携帯の名乗り・幅 375px で取得して 6 パネルを
	   すべて測ると、**中身の高さは dev と 1 パネルも違わなかった**。

	     パネル（行数）        移行元      dev
	     会員紹介（5）         272.34px    272.34px
	     サービス（4）         219.88px    219.88px
	     はじめての方へ（3）   167.41px    167.41px
	     コースと料金（3）     167.41px    167.41px
	     支店紹介（10）        534.69px    534.69px
	     会社情報（5 + 孫 3）  429.75px    429.75px

	   いちばん高いパネルでも 534.69px で、移行元の上限 545px に収まる。**移行元
	   自身も同じ余裕（10.31px）でこの値を使っている。**「598px」は古い実測値で、
	   携帯幅の行の崩れを直した #3199 より前のものである。

	   🚨 移行元の携帯用の引き出しは **2 つある**。トップ（新デザイン）は /sp/ へ
	   転送せず自前の引き出しを持ち、行の高さは 52.46px でこのテーマと同じである。
	   旧デザインのページは /sp/ へ転送し、そちらの行は 50px + 隙間 1px で少し
	   低い（写しの public/sp/css/common.css の 519〜551 行）。上限 545px は
	   どちらも同じ値である。

	   子リンクを増やすときはこの値を見直すこと。**余裕は 1 行ぶん（52.46px）も
	   無い**ので、11 行になるパネルが出た時点でパネルの下側が黙って切れる。
	   tests-retired/pa-cms-header-sp-open-speed/ の検査が、投入定義の行数から高さを
	   見積もってこの上限を超えないことを照合する. */
	.site-header--js .site-header__menu > li.is-submenu-open > .site-header__mega {
		max-height: 545px;
		/* 開いたときだけ下に 10px（移行元 `dl.dwMenu_open dd` と同じ。Bug #3270）。
		   閉じるときはこの 10px が最初のコマから縮むので、器の高さがすぐ動き出す. */
		padding-bottom: 10px;
	}

	/* アコーディオンの開閉ボタン（＋ / −）。移行元は見出しの行そのものを押して
	   開閉し、右端に 15px のアイコン画像を右から 27px の位置へ置いていた
	   （common.css の #drawer_main_menu li dl dt の背景画像）。

	   Task #1705 で、このボタンが行そのものになった。行の左に見出しの文字、右に
	   ＋ / − を置き、行の全幅を押せるようにする。移行元と同じ形である。上の規則で
	   見出しのリンクを消したぶんを、このボタンが引き受ける。

	   行の高さ（min-height）と左の内余白（20px）は、消したリンクが持っていた値を
	   そのまま写す。右の内余白 27px は、移行元のアイコンの位置である。
	   grid-column を指定するのは、親の li が 2 列のグリッドだからで、リンクが
	   消えても行の全幅に敷けるようにしている. */
	.site-header--js .site-header__submenu-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		grid-column: 1 / -1;
		width: 100%;

		/* 行の高さは画面の幅に比例させ、**640px で止める**（Bug #3352）。

		   移行元のこの行は 640 × 100px の画像で、`width: 100%` で伸び縮みする。
		   だから画面が 640px を超えると絵が元の大きさに達して止まり、**行の高さも
		   100px で止まる**。上限を書かないと dev だけが伸び続ける。

		     画面幅  行の送り（移行元 / dev。直す前）
		      320px   52.5px / 53.0px  ほぼ一致
		      375px   61.0px / 62.0px  ほぼ一致
		      414px   67.5px / 68.0px  ほぼ一致
		      749px  101.0px / 119.0px ← 1 行 18px・6 行で約 108px の差

		   差が出るのは 641〜749px の帯だけである（750px からはパソコン用の組みに
		   変わり、この引き出し自体が出ない）。100px = 640 ÷ 6.4 で、15.625vw の
		   分母と同じである. */
		min-height: min(15.625vw, 100px);

		/* 左の内余白は**画面の幅に比例**させる（Bug #3331）。

		   🚨 **移行元のこの行は文字ではなく画像である**（`dt > span > img`。
		   `menu_introduce.png` ほか。文字が絵に焼き込まれている）。だから移行元に
		   「内余白」という値は無く、写す相手は**絵の中で文字が始まる位置**である。

		   絵は幅いっぱいに伸び縮みするので、**文字の位置も画面の幅に比例して動く**。
		   2026-09-04 に本番 www.p-a.jp を携帯の名乗りで開き、1 回の読み込みで幅を
		   4 点動かして測った（絵を canvas へ元の大きさで描き、最初の暗い画素の列を
		   見つけてから描画幅へ換算した）。

		     絵は 640 × 100px。文字が始まるのは左から 51 列目（51 / 640 = 7.96875%）

		     画面幅  絵の描画幅  文字の始まり  画面幅に対する割合
		      320px    320px       25.50px       0.0797
		      375px    375px       29.88px       0.0797
		      414px    414px       32.99px       0.0797
		      749px    640px       51.00px       0.0681 ← 絵が元の大きさで頭打ち

		   **3 点で割合が一致し、640px を超えると 51px で止まる。**つまり移行元は
		   `width: 100%; max-width: 640px` の絵で、`min()` の形がそのまま当てはまる。

		   🚨 **1 幅だけで決めてはいけない。**幅 375px の実測だけを見て固定値
		   29.5px にすると、320px で 4px・414px で 3px ずれる。

		   直す前は固定の 20px で、幅 375px では移行元より **9.5px 左**から文字が
		   始まっていた（切り出し画像で 3 行とも 19 画素の差。倍率 2）。

		   残る差は約 0.5px である。移行元の 51 列目は**絵の中の字の輪郭**で、dev の
		   内余白は**文字の箱**の位置だからである（字の輪郭は箱より 0.5px 内側から
		   始まる）。書体で決まる差なので数値で埋めない. */
		padding: 4px 27px 4px min(7.96875%, 51px);
		background-color: transparent;
		border: 0;
		color: var(--pa-color-text);
		text-align: left;
		cursor: pointer;
	}

	/* 見出しの文字。消したリンク（.site-header__menu > li > a）と同じ文字組み・
	   同じ色にして、行の見え方を変えない。ボタンの中の文字は font 系と line-height を
	   土台から継がない（ブラウザ既定が割り込む）ので、ここで書き出す。

	   line-height は土台の値（--pa-line-height-base）をそのまま置く。ここを変えると
	   文字の描かれる高さが 0.5px ずれる（実測で確かめた）. */
	.site-header__submenu-toggle-label {
		font-family: var(--pa-font-family-serif);

		/* 文字の大きさは**画面の幅に比例**させ、640px で止める（Bug #3352）。

		   🚨 **移行元のこの行は文字を焼き込んだ画像である**（640 × 100px）。絵が
		   幅いっぱいに伸び縮みするので、**文字も画面の幅に比例して大きくなる**。
		   固定の 15px だと、合うのは幅 340px 付近だけになる。

		     画面幅  1 項目目の文字の幅（移行元 / dev。直す前）
		      320px  146.0px / 155.0px  dev が 6% 大きい
		      375px  171.0px / 155.0px  dev が 9% 小さい
		      414px  189.0px / 155.0px  dev が 18% 小さい
		      749px  291.5px / 155.0px  dev が 47% 小さい

		   移行元は「文字の幅 ÷ 画面幅」が 4 幅とも 0.456 でそろう（749px は絵が
		   640px で頭打ちになるので 291.5 ÷ 640 = 0.455）。

		   4% は、文字の高さが両側でそろう幅 375px を基準にした値である
		   （15px ÷ 375px）。上限 25.6px は 4% × 640px である.

		   🚨 `vw` は原則使わないが、**この行の `min-height` が元から `15.625vw`**
		   なので、そろえた（司令塔の裁定で確認済み）. */
		font-size: min(4vw, 25.6px);

		/* 字送りは移行元の絵に合わせて広げる（Bug #3352）。

		   幅 375px では文字の高さが両側とも 14.5px でそろうのに、行の幅は移行元が
		   171px・dev が 155px だった。**高さが同じで幅だけ違う**ので、差の正体は
		   字と字の間隔である。

		   🚨 **1 つの値では 6 項目すべてには合わない**（移行元は項目ごとに別々の
		   画像で、絵ごとに字の詰め方が違う）。0.1em にしたときの幅 375px での差:

		     会員紹介 & 婚活予想図  171.0 → 171.5（+0.5）
		     サービス                61.5 →  61.0（−0.5）
		     はじめての方へ         110.5 → 111.0（+0.5）
		     コースと料金            91.5 →  94.5（+3.0）
		     支店紹介                68.0 →  63.5（−4.5）
		     会社情報                69.0 →  63.5（−5.5）

		   字送りを入れない場合の差は −4.5 〜 −16px（6 項目すべてマイナス）なので、
		   入れたほうが明確に近い。**項目ごとに別々の値を当てる案は採らない**
		   （メニューの文言を変えると壊れるため）. */
		letter-spacing: 0.1em;
		font-weight: 600;
		line-height: var(--pa-line-height-base);
		/* 🚨 色は世代のトークン（--pa-color-link）ではなく移行元の値を直に指す
		   （Bug #3250）。ヘッダーは全ページ共通の部品なのに、このトークンは
		   デザイン世代で切り替わる（既定 #000 ／ 新デザインは本文色 #474747）
		   ため、新デザインの 6 ページだけ見出しが薄くなっていた. */
		color: var(--pa-palette-ink-legacy);
	}

	/* 項目ごとに字送りを変える（Bug #3357）。

	   🚨 **移行元の第 1 階層の行は項目ごとに別々の画像で、絵ごとに字の詰め方が違う。**
	   6 項目に同じ 0.1em を当てると、合う項目と合わない項目が出る。幅 375px の実測:

	     項目                    移行元   0.1em のとき   差
	     会員紹介 & 婚活予想図   171.0    171.5          +0.5
	     サービス                 61.5     61.0          −0.5
	     はじめての方へ          110.5    111.0          +0.5
	     コースと料金             91.5     94.5          **+3.0**
	     支店紹介                 68.0     63.5          **−4.5**
	     会社情報                 69.0     63.5          **−5.5**

	   同じ 4 字でも、カタカナの「サービス」は合い、漢字の「支店紹介」「会社情報」
	   だけ狭い。字数では決まらず、絵ごとの詰め方の違いである。

	   下の値は、幅 375px の差を字と字の間隔の数（字数 − 1）で割って求め、実測で
	   詰めたものである。

	   🚨 **並び順（`nth-child`）では指さない。** メニューの並びを変えたときに別の
	   項目へ当たるためである。目印はメニューを組み立てる
	   `inc/class-pa-walker-header-nav.php` が出す移行元 URL パスで、並びを変えても
	   同じ項目を指す. */
	.site-header__submenu-toggle-label[data-pa-nav-key="/guide/course/"] {
		/* コースと料金（6 字）。間隔 5 つで 3.0px 詰める. */
		letter-spacing: 0.06em;
	}

	.site-header__submenu-toggle-label[data-pa-nav-key="/branch/"] {
		/* 支店紹介（4 字）。間隔 3 つで 4.5px 広げる. */
		letter-spacing: 0.2em;
	}

	.site-header__submenu-toggle-label[data-pa-nav-key="https://tameny.jp/"] {
		/* 会社情報（4 字）。間隔 3 つで 5.5px 広げる。会社情報だけ外部リンクなので、
		   目印が URL そのものになる（移行元 URL パスを持たないため）. */
		letter-spacing: 0.22em;
	}

	/* 同じ理由で、載せたときの色も移行元の値を直に指す（Bug #3250）. */
	.site-header--js .site-header__submenu-toggle:hover .site-header__submenu-toggle-label,
	.site-header--js .site-header__submenu-toggle:focus-visible .site-header__submenu-toggle-label {
		color: var(--pa-palette-red-legacy);
	}

	/* アイコンは縮めない。見出しが長い項目（会員紹介 & 婚活予想図）でも
	   ＋ / − の大きさを保つ. */
	/* 記号は移行元と同じ画像 2 枚の差し替えで出す（Bug #3218）。

	   移行元は `#drawer_main_menu li dl dt` の背景画像として
	   `menu_icon_plus.png` を敷き、開いた `dl.dwMenu_open dt` で
	   `menu_icon_minus.png` へ差し替える（`public/sp/css/common.css`）。
	   どちらも 29 × 29px の画像を `background-size: 15px` で縮めて使い、
	   位置は `right 27px center` である。

	   🚨 **以前は CSS で十字を描いていたが、色が合わなかった（Bug #3218）。**
	   画像の棒は**真っ黒**（`rgba(0,0,0,255)`・棒の太さ 3px を 15/29 に縮めて
	   実効 1.552px）なのに対し、描いた棒はテーマの文字色
	   （`currentcolor` = `rgb(71,71,71)`）の 1.5px だった。2026-09-04 に画像の
	   画素を走査して確かめた値である。ユーザーの目視の指摘「スマホ版グローバル
	   メニューの + − の UI 表示に差異がある」の実体がこれである。

	   画像を使うと、縮小のにじみ方まで移行元と同じになる。CSS の背景画像は
	   投入の仕組みが取り込まないので、テーマ資産として置く決まりである。

	   器は 15 × 15px のまま置く。行の右端からの距離 27px は、この器を
	   `.site-header__submenu-toggle` の内余白で右へ寄せて作っており、実測でも
	   両側 27px で一致している. */
	.site-header__submenu-toggle-icon {
		display: block;
		flex: 0 0 auto;
		width: 15px;
		height: 15px;
		background-image: url(../images/menu-icon-plus.png?ver=464a04b2c9cf);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 15px;
	}

	.site-header__menu > li.is-submenu-open .site-header__submenu-toggle-icon {
		background-image: url(../images/menu-icon-minus.png?ver=8b37a0bf537c);
	}


	.site-header__mega-inner {
		display: block;
		max-width: none;
		margin: 0;
		/* 移行元 dd の padding: 0 10px。

		   🚨 **下の 10px はここに置かない（Bug #3270）。** 移行元はパネル自身
		   （`dd`）に**開いたときだけ** `padding-bottom: 10px` を与え、`transition:
		   all` でそれも動かしている。ここに常時置くと動かないので、閉じるときに
		   器の高さが動き出すまで約 127ms の「間」ができていた（移行元は約 31ms）。
		   下の 10px は `.site-header--js .site-header__menu > li.is-submenu-open >
		   .site-header__mega` へ移した。パネルの高さの合計は変わらない. */
		padding: 0 10px;
	}

	/* 装飾は出さない。移行元の引き出しも、グループの見出しと子リンクの文字だけを
	   並べていた（「成婚率 No.1」の縦バナーはナビの外・引き出しの下端に 1 枚
	   だけあった）. */
	.site-header__mega-side,
	.site-header__mega-promo,
	.site-header__mega-icon,
	.site-header__mega-desc {
		display: none;
	}

	.site-header__mega-list,
	.site-header__mega-list--areas {
		display: block;
		gap: 0;
	}

	.site-header__mega-item {
		display: block;
		border-top: 1px solid var(--pa-color-border);
	}

	/* 左の余白でグループの見出し（最上位の項目）より一段下げ、子リンクだと
	   見分けられるようにする。

	   下地は白（--pa-drawer-sub-bg）を明に置く。この行の親である
	   .site-header__menu > li は見出しの行の灰色（--pa-drawer-row-bg）を
	   敷いており、透明のままだと子リンクの行まで灰色に見えてしまう。移行元は
	   見出しの行 #f5f5f5・子リンクの行 #fff の 2 色である
	   （public/sp/css/common.css の #drawer_main_menu li と dd ul li）.

	   上下の余白の 15px は移行元の実測値である。移行元は子リンクをすべて
	   padding: 15px 0 15px 15px で組み、行の高さが 51.5px にそろう（Issue #1759）。
	   左右はこのテーマの入れ子の見せ方に合わせているため、移行元と同じではない. */
	.site-header__mega-item > a,
	.site-header__mega-tile > a {
		display: block;
		padding: 15px 4px 15px 20px;
		background-color: var(--pa-drawer-sub-bg);
	}

	/* 子リンクの行の右端に出る「＞」（Task #3199）。

	   移行元は行そのもの（li）へ背景画像として敷いている
	   （public/sp/css/common.css の #drawer_main_menu li dl dd ul li）。

	     background: #fff url(../images/menu_icon_arrow.png) no-repeat right 20px center;
	     background-size: 9px;

	   **dev では行（li）ではなくリンク（a）の側へ置く。**この行の白い下地は
	   1 つ上の規則で a に持たせており、li へ背景画像を敷いても a の不透明な
	   白に隠れて見えないためである。位置と大きさは移行元の値をそのまま写す。

	   画像は移行元 public/sp/images/menu_icon_arrow.png（17 × 24px）を
	   assets/images/menu-icon-arrow.png へ写したもの。CSS の背景画像は
	   投入の仕組みが取り込まないので、テーマ資産として置く決まりである。

	   右の内余白を 4px から 39px へ広げるのは、矢印（右端から 20px の位置に
	   幅 9px）に文字が重ならないようにするためである（20 + 9 + 10 = 39）。
	   移行元は右の内余白が 0 だが、移行元の子リンクは文言が短く重ならない。
	   dev は同じ行に見出しを出すため、余白で場所を空ける必要がある。

	   エリアのタイル（.site-header__mega-tile）は移行元の組みが別なので、
	   ここでは対象にしない. */
	.site-header__mega-item > a {
		padding-right: 39px;
		background-image: url(../images/menu-icon-arrow.png?ver=b66a2a4307c8);
		background-repeat: no-repeat;
		background-position: right 20px center;
		background-size: 9px;
	}

	/* 会員紹介のパネル用の規則（.site-header__mega-list--3col ...）は、
	   クラス 2 つぶんの強さを持つ。ここでも同じ強さで並べておかないと、
	   パソコン幅の寸法がスマートフォン幅へ漏れる. */
	.site-header__mega-body,
	.site-header__mega-item--wide .site-header__mega-body,
	.site-header__mega-list--3col .site-header__mega-body {
		padding: 0;
		text-align: left;
	}

	/* 移行元はスマートフォン幅の第 2 階層リンクをすべて 51.5px の行の高さで
	   そろえている（実測 font-size: 14.313px / line-height: 21.4695px。
	   移行元は基準フォント 10px の体系なので px を直に書く。Issue #1759）。
	   行の高さはサイト全体の既定の比率（1.5）に合わせるだけで移行元の値と
	   一致する. */
	.site-header__mega-title,
	.site-header__mega-list--3col .site-header__mega-title {
		margin-bottom: 0;
		font-size: 14.313px;
		line-height: 1.5;
	}

	/* 会員紹介のパネルは、移行元自身がパソコン版とスマートフォン版で子項目の並びを
	   変えている（写し元 drawer_sp.shtml 15〜26 行目）。パソコン版は「会員プロフィール・
	   活動実績」が先頭だが、スマートフォン版はこれが末尾に来る。パソコン幅の
	   markup・並びは変えたくないので、flex の order だけでスマートフォン幅の見た目を
	   入れ替える（Issue #1764）。

	   目印は site-header__mega-item--wide（アイコンが横長という見た目の性質）を
	   借用せず、専用のクラス site-header__mega-item--sp-last を持つ。借用すると、
	   将来このアイコンを正方形へ差し替えたときに並べ替えが理由も分からず静かに
	   効かなくなる（見た目が戻るだけでエラーは出ない）。クラスはウォーカー
	   （inc/class-pa-walker-header-nav.php の start_mega_item()）が対応表
	   （pa_nav_mega_move_last_on_mobile_items()）を引いて付ける。

	   order を使うにはこの一覧自身を flex コンテナにする必要がある。上の
	   .site-header__mega-list の display: block を、同じ詳細度の後勝ちで上書きする.

	   🚨 **align-items: stretch を必ず添える（Task #3199）。**土台の
	   .site-header__mega-list は、パソコン幅で格子に組むため
	   align-items: start を持つ（カードの高さを揃えないための指定で、格子では
	   それが正しい）。この値は display を flex へ変えても残り、**縦並びの
	   flex では「行を中身の幅に縮める」という別の意味に変わる。**そのため
	   子リンクの行が全幅にならず、幅がばらばら（実測 217.48 / 172.83 /
	   157.95 / 128.19px）の白い箱が階段状に並んでいた。移行元は 5 件とも
	   全幅 355px の行である（2026-09-04 に本番 www.p-a.jp のスマホ版を実測）。
	   ここで stretch へ戻すことで、格子側の指定はそのままに縦並びだけを直す. */
	.site-header__mega-list--3col {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.site-header__mega-list--3col .site-header__mega-item--sp-last {
		order: 1;
	}

	/* エリアのタイルは画像をやめ、隠していた文字を出す. */
	.site-header__mega-tile img {
		display: none;
	}

	/* この要素は行内のまま（span）だと、包んでいる a 要素の行送りが下限になる。
	   a はサイト全体の既定値（15px × 1.5 = 22.5px）を受け継いでおり、文字を
	   14.313px に縮めても 22.5px のままになってしまう（Issue #1759）。
	   display: block でこの要素自身に行の高さを持たせ、a 側の行送りを
	   下限にしないようにする. */
	.site-header__mega-tile-label {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		white-space: normal;
		display: block;
		font-size: 14.313px;
		line-height: 1.5;
	}

	/* 3 段目は横並びをやめ、さらに一段下げて縦に積む。

	   🚨 **`font-family: inherit` は必ず添える。**移行元のパソコン版は 3 段目を
	   明朝で組むので、土台の規則が `--pa-font-family-serif` を持っている
	   （Bug #4084）。移行元のスマートフォン版はこの 4 件をほかの子リンクと同じ
	   一覧として並べ、書体もほかと同じゴシックなので、ここで受け継ぎへ戻して
	   パソコン版の明朝が携帯幅へ漏れないようにする. */
	.site-header__mega-sublist {
		display: block;
		padding: 0;
		background-color: transparent;
		font-family: inherit;
		font-size: 14.313px;
		line-height: inherit;
	}

	.site-header__mega-sublist > li,
	.site-header__mega-sublist > li:first-child,
	.site-header__mega-sublist > li:last-child {
		padding: 0;
		border-right: 0;
		border-top: 1px solid var(--pa-color-border);
	}

	/* 3 段目のリンクにも、子リンクと同じ「＞」を右端へ出す（Task #3199）。
	   移行元のスマホ版は入れ子をやめて 1 つの一覧として並べており、4 件とも
	   同じ「＞」を持つ（2026-09-04 に本番 www.p-a.jp のスマホ版で確認）。
	   右の内余白を 39px にする理由は .site-header__mega-item > a と同じである。 */
	.site-header__mega-sublist a {
		display: block;
		padding: 15px 39px 15px 36px;
		background-image: url(../images/menu-icon-arrow.png?ver=b66a2a4307c8);
		background-repeat: no-repeat;
		background-position: right 20px center;
		background-size: 9px;
	}

	/* 会社情報のパネルは、移行元自身がパソコン版とスマートフォン版で入れ子の
	   有無を変えている。パソコン版は「私たちの想い」の下に会社概要・理念・ESG を
	   入れ子にし（写し元 header_fix_navi_2.shtml の .subNav）、この markup は
	   移行元と一致しているので変えない。だがスマートフォン版の移行元は、この
	   4 件を入れ子にせず同じ深さの一覧として並べていた（写し元 drawer_sp.shtml）。
	   目印のクラス（site-header__mega-list--company）はウォーカー
	   （inc/class-pa-walker-header-nav.php）が対応表
	   （pa_nav_mega_flatten_on_mobile_panels()）を引いて ul.site-header__mega-list
	   自身へ付ける（Issue #1764）。

	   目印のクラスをパネルの外枠（div.site-header__mega や
	   .site-header__mega-inner）へ付けると、下の「直接の子」をたどる指定が一致せず、
	   エラーも出ないまま静かに効かない。実測で確かめてある。 */
	/* 🚨 align-items: stretch は .site-header__mega-list--3col と同じ理由で必ず
	   添える（Task #3199）。土台の格子が持つ align-items: start が、縦並びの
	   flex では「行を中身の幅に縮める」意味に変わるためである。 */
	.site-header__mega-list--company {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	/* 「私たちの想い」の箱と、その中の入れ子の入れ物（3 段目の一覧）を
	   display: contents で消して、中身を一覧と同じ深さへ引き上げる。DOM の
	   親子関係は変わらないので、キーボードでの到達順・読み上げの順は
	   「私たちの想い → 会社概要 → 理念 → ESG」のまま変わらない（見た目の順との
	   ずれは Issue の受け入れ条件に記録する）。

	   :first-child で選んでいるのは、投入定義（scripts/pa-cms/seed-menus.php の
	   pacms_menu_primary_items()）が「会社情報」パネルの子の並びで「私たちの想い」を
	   先頭に置いているためである。管理画面やこの投入定義で並びを変えて先頭が
	   別の項目になると、この指定は新しい先頭の項目（入れ子を持たない項目）に
	   誤って当たり、エラーも出ないまま違う項目を平らに見せようとして静かに崩れる. */
	.site-header__mega-list--company > .site-header__mega-item:first-child,
	.site-header__mega-list--company > .site-header__mega-item:first-child > .site-header__mega-sublist {
		display: contents;
	}

	/* 箱を消すと、箱が持っていた左余白と上の区切り線も一緒に消える。
	   移行元のスマートフォン版は 4 件とも同じ左余白で並ぶ（子リンクは全件
	   padding: 15px 0 15px 15px）。ここでは「私たちの想い」自身の左余白
	   （20px。.site-header__mega-item > a と同じ）に、3 件（会社概要・理念・ESG）を
	   そろえる。区切り線は .site-header__mega-sublist > li が引き続き持つので、
	   足りないのは「私たちの想い」自身の上の 1 本だけである. */
	.site-header__mega-list--company .site-header__mega-sublist a {
		padding-left: 20px;
	}

	/* 🚨 **引き出しの子リンクの字の左と大きさを移行元にそろえる**（Bug #8402・事業部指摘）。

	   dev の引き出しは、子リンクを 4 つの組みで出している（ふつうの項目
	   `.site-header__mega-item > a`・店舗のエリアのタイル `.site-header__mega-tile-label`・
	   会社情報の子リスト `.site-header__mega-sublist a`・店舗一覧の字 `.site-header__nav-label--sp`）。
	   移行元のスマホ版は 1 つの組み（`.drawer nav section #drawer_main_menu li dl dd ul li a`
	   の `padding: 15px; padding-right: 0`）で、字の左が画面の左から 25px（`dd` の左の内余白
	   10 ＋ 15）に来る。

	   🚨 **移行元は子リンクの字の大きさをページの世代で変えている。**旧デザインのスマホ版
	   （`/sp/…`）は `sp/css/` の既定の 13px で組み、行が 50px になる。新デザインのページ
	   （サイト共通の初期化 `css/common.css` を読まない 9 ページ。コースと料金など）は
	   14.313px・行 51.47px である。上の 14.313px は新デザインのページで測った値である
	   （Issue #1759）。世代の見分けは、移行元が `css/common.css` を読むページに付く体の印
	   `pa-legacy-common-css`（`inc/design-profile.php`）で行う。

	   幅 375 の実測（2026-09-29・`pa-verify-assets/B/8402-引き出し-0929/`）:
	     字の左         移行元 25（6 ページとも）／ dev 30
	     字と行の高さ   旧デザインの 5 ページ 移行元 13px・50 ／ dev 14.313px・51.47
	                    新デザインのコースと料金 移行元 14.313px・51.47 ／ dev 同じ

	   この節を会社情報の子リストの規則（左 20px）より後ろに置くのは、同じ強さの規則で
	   後勝ちにするためである. */
	.site-header__mega-item > a,
	.site-header__mega-list--company .site-header__mega-sublist a {
		padding-left: 15px;
	}

	body.pa-legacy-common-css :is(.site-header__mega-title, .site-header__mega-tile-label, .site-header__nav-label--sp),
	body.pa-legacy-common-css .site-header__mega-list--3col .site-header__mega-title,
	body.pa-legacy-common-css .site-header__mega-sublist a {
		font-size: 13px;
		line-height: 20px;
	}

	/* 「私たちの想い」自身の上の区切り線を足す。表示順は移行元（会社概要 →
	   私たちの想い → 理念 → ESG）へ合わせる。NEWS&TOPICS 以降の並べ替えていない
	   項目は order の既定値（0）のままなので、4 件には 0 未満の値を与えて先頭の
	   グループとして固定する（0 以上の値だと NEWS&TOPICS より後ろへ回ってしまう）. */
	.site-header__mega-list--company > .site-header__mega-item:first-child > a {
		order: -3;
		border-top: 1px solid var(--pa-color-border);
	}

	/* 下の 3 つは何番目かで相手を選んでいる。1 番目 = 会社概要・2 番目 = 理念・
	   3 番目 = ESG である根拠は、上の :first-child と同じく投入定義
	   （scripts/pa-cms/seed-menus.php の pacms_menu_primary_items()）の並びである。
	   この 3 件の並びを変えると、別の項目に別の順番が当たり、エラーも出ないまま
	   表示順だけが静かに崩れる. */
	.site-header__mega-list--company .site-header__mega-sublist > li:nth-child(1) {
		order: -4;
	}

	.site-header__mega-list--company .site-header__mega-sublist > li:nth-child(2) {
		order: -2;
	}

	.site-header__mega-list--company .site-header__mega-sublist > li:nth-child(3) {
		order: -1;
	}

	.pa-nav-sp-only {
		display: block;
	}

	/* 来店予約フォームの識別子の出し分け（Bug #5153・#5197）。**携帯幅では
	   パソコン版だけを伏せる。**携帯版には `display` を書かない（区分専用の値に
	   譲る）。名前を 2 つ重ねる理由は、素の状態の側の注釈に書いた. */
	body .pa-reg18-link--pc.pa-reg18-link--pc {
		display: none;
	}

	/* 記事下の CTA の中だけ (0,4,2) へ上げる（Bug #7048）。理由と実測は
	   パソコン幅の側（`@media (min-width: 750px)`）の注釈に書いた。
	   携帯幅でも同じく 2 本とも出ており、婚活川柳の書庫で
	   **826.36 対 876.36（+50.00 ＝ 余計な `a` 1 本の高さ）**だった
	   （2026-09-17 22:24・幅 375px）. */
	body .word-cta .word-cta-btn a.pa-reg18-link--pc.pa-reg18-link--pc {
		display: none;
	}

	/* 🚨 コースと料金の押しボタンの対（Bug #7285）。理由と実測はパソコン幅の側
	   （`@media (min-width: 750px)`）の注釈に書いた。**2 つで 1 組である. */
	body .pa-page--guide .page-content__body :is(.page-course, .cta) .pa-reg18-link--pc.pa-reg18-link--pc {
		display: none;
	}

	/* 🚨 会員のホンネ体験談の押しボタンの対（Bug #7285）。同じくパソコン幅の側の
	   注釈に書いた。**2 つで 1 組である. */
	/* 🚨 会員のホンネ体験談の対（Bug #7438）。理由と実測はパソコン幅の側
	   （`@media (min-width: 750px)`）の注釈に書いた。**2 つで 1 組である. */
	body:is(.single-experience, .post-type-archive-experience) .pa-introduce-sections #contact-us .contact_btn a.pa-reg18-link--pc.pa-reg18-link--pc {
		display: none;
	}

	/* 🚨 **店舗のページの親御さま向けの区画（Bug #8112）。**上の (0,2,1) では
	   `.pa-profile-legacy-compat .pa-branch__content .parent-btn`（(0,3,0)・幅の指定なし）に
	   負ける。パソコン幅の側（`min-width: 750px` の節）に置いた同じ形の規則と対である. */
	body.pa-profile-legacy-compat .pa-branch__content .parent-btn.pa-reg18-link--pc.pa-reg18-link--pc {
		display: none;
	}

	/* 🚨 **店舗の詳細の 3 か所（Bug #8300）。**理由と当たり先の表は
	   パソコン幅の側（`@media (min-width: 750px)`）の注釈に書いた。
	   携帯幅では**パソコン版が 2 本**見えていた（幅 375 の実測・2026-09-21 00:09）。 */
	.pa-branch__content .cta .more-button.pa-reg18-link--pc.pa-reg18-link--pc,
	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li a.pa-reg18-link--pc.pa-reg18-link--pc,
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td .note a.pa-reg18-link--pc.pa-reg18-link--pc {
		display: none;
	}


	/* パソコン版と文言が違う項目（Issue #1760）。スマートフォン幅ではスマートフォン
	   用を出し、パソコン用を隠す（既定の逆）。 */
	.site-header__nav-label--sp {
		display: inline;
	}

	.site-header__nav-label--pc {
		display: none;
	}

	/* パソコン幅だけの改行を携帯幅では隠す（Bug #3060）。

	   移行元のメガメニューは 3 件の見出しを <br> で 2 行に割っているが、
	   移行元のスマートフォン版はこの見出しを**画像**で持っており
	   （/sp/images/menu_introduce.png 等）、割る位置の手本が無い。dev の
	   引き出しは行の幅が 355px あり 1 行で収まるので、ここでは割らない。
	   改行は inc/class-pa-walker-header-nav.php が
	   <br class="site-header__nav-break"> の形で出す. */
	.site-header__nav-break {
		display: none;
	}
}

/* --------------------------------------------------------------
 * フッター（#1239 の編集領域）
 *
 * 値の写し元（いずれも移行元サイトのリポジトリ legacy/www.p-a.jp 配下）:
 *   PC  public/css/page_top.css の #footer 以下（1355 行目から）
 *       public/css/style.css の #footer 以下（1979 行目から）
 *   SP  public/sp/css/footer_contents.css
 *
 * フッターはプロファイルで見た目を変えない。移行元では新デザインのトップページも
 * 旧デザインと同じ footer.shtml を読み込んでおり、新デザインのビルド後 CSS
 * （public/assets/css/style.css）が持つ #footer の値も旧デザインと同じだからである。
 * プロファイルに追従するのはリンクのホバー色だけで、これは共通トークン経由で入る。
 *
 * PC で 4 列に並ぶサイトマップは、列ごとに要素を分けず CSS の段組み（columns）で
 * 作る。並ぶ項目は管理画面のメニューから増減するため、列を要素で固定すると編集の
 * たびに列の分量が偏るからである。
 * -------------------------------------------------------------- */

.site-footer {
	/* 下地の色。移行元は旧デザイン・新デザイン・スマホ版のいずれも #f5f5f5 で
	   ある。同じ色を持つ共通トークンが無く、使うのがフッターの中だけなので、
	   フッターに閉じたトークンとしてここで持つ. */
	--pa-footer-bg: #f5f5f5;
	/* リンクの文字色。移行元 .sitemap_menu li a の #595757 である. */
	--pa-footer-link-color: #595757;
	/* 規程へのリンクの文字色。移行元 .footer_menu li a は #595757 を継がず、
	   フッターの地の色 #474747（rgb(71,71,71)）のままである。上部のナビ
	   （.sitemap_menu li a）とは別の色（移行元のトップページを幅 1440px・375px
	   の両方で実測して確認。2026-08-26）. */
	/* 見出しと、列の先頭に立つ項目の文字色。移行元 .main_ttl a の #000 である. */
	--pa-footer-heading-color: #000;
	/* 店舗案内の中間の階層（都道府県）の文字色。移行元 .area_main の #777 である. */
	--pa-footer-subheading-color: #777;
	/* 規程へのリンクを区切る縦棒の色。移行元 .footer_menu li の #6e6c6c である. */
	--pa-footer-separator-color: #6e6c6c;
	/* 本文の文字。移行元 .sitemap_menu li の 13px と line-height 184% である。
	   共通の基準は new プロファイルで 15px に上がるが、フッターは移行元どおり
	   13px で通す. */
	--pa-footer-font-size: 13px;
	--pa-footer-line-height: 1.84;
	/* 見出しの文字。移行元 .sitemap_name と .main_ttl の 14px である. */
	--pa-footer-heading-size: 14px;
	/* 見出しの行の高さ。移行元の見出しは段落（p.sitemap_name）なので、全ページが
	   読む legacy/www.p-a.jp/public/assets/css/top.css:37 の `p { line-height: 1.8 }`
	   が当たる。このテーマは見出しを h2 で書くため同じ規則が当たらず、共通の
	   見出しの段階（1.5）のままだと 1 行が 4.2px 低かった（Bug #1626 の C2-20）. */
	--pa-footer-heading-line-height: 1.8;
	/* 見出しがリンクのときの文字色は、トークンを持たない（Bug #2658 で外した）。
	   移行元 page_top.css:1394 の `.sitemap_name a` は下線を消すだけで**色を持たず**、
	   素の `a` の色が出る。旧デザインのページで #000000・新デザインのページで
	   #474747 になる。従来はここに #474747 の直値を置いていたが、それは新デザインの
	   トップページで測った値を全ページへ一般化したものだった（2026-08-07 の実測）。
	   いまは `.site-footer__heading a` が `--pa-color-link` に委ねている。
	   列の先頭に立つ項目（`.main_ttl a`）の #000 とは別の扱いである. */
	/* 見出しの下と、段組みの中で項目のかたまりを離す間隔。移行元
	   .sitemap_name の margin-bottom と .last の margin-bottom の 25px である. */
	--pa-footer-heading-gap: 25px;
	/* タブレット幅の段組みの列と列の間隔。大画面のサイトマップと支店案内は、
	   それぞれの規則で移行元どおり間隔を 0 にする. */
	--pa-footer-column-gap: 24px;
	/* 横に流し込むリンクどうしの間隔。移行元 .service_info_link li の
	   margin-right: 8px である. */
	--pa-footer-inline-gap: 8px;
	/* 著作権表示の文字。移行元 .copyright の 10px である. */
	--pa-footer-copyright-size: 10px;
	/* フッターの下端の余白。移行元 #footer の padding の 3 つめ（24px）である。
	   共通の余白の段階に同じ値が無いため、ここで持つ. */
	--pa-footer-bottom-space: 24px;
	/* 規程へのリンクと、それを区切る縦棒との間隔。移行元 .footer_menu li の
	   padding: 0 9px である. */
	--pa-footer-policy-space: 9px;
	/* 規程へのリンクの帯の幅。移行元 page_top.css の .footer_menu の 980px である
	   （style.css は 900px だが、全ページが後から読む page_top.css が上書きする）。
	   この幅で折り返して 2 行に収まるのが移行元の見え方である（Bug #1626 の C2-23）. */
	--pa-footer-policy-width: 980px;

	/* ここから下の 4 つは区画どうしの間隔である。以前は共通の余白の段階
	   （--pa-space-sm / --pa-space-md）をそのまま使っていたが、移行元より 1.5〜2 倍
	   広く、フッター全体が 231px 縦に伸びる主因になっていた（Bug #1626 の C2-20）。
	   移行元の実値をフッター専用の段階として持ち直す. */
	/* 区画の下の余白。移行元 page_top.css の .sitemap の padding-bottom である. */
	--pa-footer-block-space: 20px;
	/* 区画の上の余白。移行元 .branch / .service_links の padding-top である. */
	--pa-footer-block-gap: 30px;
	/* FAQ キーワード帯の上下の余白。移行元 .service_keyword の padding である. */
	--pa-footer-band-space: 30px;
	/* 認証マーク帯の上下の余白。移行元 .pmarkList の padding である. */
	--pa-footer-certs-space: 25px;
	/* 認証マーク帯の下の余白。移行元 .pmarkList の margin-bottom である. */
	--pa-footer-certs-after: 25px;

	background-color: var(--pa-footer-bg);
	padding: var(--pa-space-sm) 0 var(--pa-footer-bottom-space);
	/*
	 * 🚨 **フッターの地の文字色も世代で分ける（Task #3609）。**
	 *
	 * ここは元々 `--pa-color-text`（`#474747`）を直に当てていた。移行元のトップ
	 * ページを実測して決めた値だが、**トップは新デザインの世代**である。旧デザインの
	 * 下層（約 5,400 ページ）のフッターは移行元でも **黒**（本番の店舗一覧
	 * `/branch/` で `div#footer` が `rgb(0,0,0)`。2026-09-05 に実測）。
	 *
	 * この 1 行を `body` と同じ世代の変数に替えると、旧デザインのページだけ黒になり、
	 * 新デザインの 6 ページは `#474747` のまま変わらない。**部分ごとの色
	 * （`--pa-footer-heading-color` ほか）は触らない**。あちらは移行元の各部を
	 * 個別に測って決めた値で、世代によらない.
	 */
	color: var(--pa-color-body-text);
	font-size: var(--pa-footer-font-size);
	line-height: var(--pa-footer-line-height);
}

/* 骨格段階の共通ブロックが置いている max-width: 1200px を、移行元の #footer_inner の
   1,100px へ揃える（Bug #1945）。共通ブロックが左右に置く内余白（--pa-inner-gutter の
   15px ずつ）を足した 1,130px を外枠にすると、中身の幅がちょうど 1,100px になり、
   画面幅 1440px では左端が (1440 - 1130) / 2 + 15 = 170px で移行元と揃う。この
   「外枠 1,130px・内寸 1,100px」の書き方は、固定ページと採用の詳細が既に採っている
   形と同じである（このファイルの「17-3. 記事と固定ページの本文の器の幅」）。

   移行元の写し元は次の 2 本で、どちらも width: 1100px である。
     legacy/www.p-a.jp/public/css/style.css    1988〜1993 行 #footer #footer_inner
     legacy/www.p-a.jp/public/css/page_top.css 1364〜1369 行 同じ指定

   もとは最も近いトークン（--pa-inner-ex ＝ 1,120px）に寄せており、中身が 1,090px で
   移行元より 10px 狭かった。トークンの値そのものは変えない。この変更のあとも
   **11 か所が同じトークンを共有している**（トップの 4 つの節・店舗一覧とエリア別の
   一覧・記事詳細と固定ページの外枠・体験談の一覧・一覧のカードの並び・成婚ストーリーの
   関連・一覧共通の下部・しあわせレポートの一覧）。値を変えると、狙っていない場所まで
   一緒に広がる。

   携帯幅は下の打ち消し（padding: 0 6.25%）が受け持つ。移行元のスマホ版と同じ割合で
   既に一致しているので、ここは変えない. */
.site-footer__inner {
	max-width: 1130px;
}

/* 区画（サイトマップ・店舗案内・関連サービス）。移行元は 2 つめ以降の区画の
   上に罫線を引いている（.branch と .service_links の border-top）. */
.site-footer__block {
	padding-bottom: var(--pa-footer-block-space);
}

.site-footer__block + .site-footer__block {
	/* 区画の罫線だけは移行元の #dcdcdc。共通の境界色を変えるとフッター外にも
	   波及するため、フッターに閉じた実値をここで指定する. */
	border-top: 1px solid #dcdcdc;
	padding-top: var(--pa-footer-block-gap);
}

.site-footer__heading {
	margin: 0 0 var(--pa-footer-heading-gap);
	color: var(--pa-footer-heading-color);
	font-size: var(--pa-footer-heading-size);
	font-weight: 700;
	line-height: var(--pa-footer-heading-line-height);
}

/* 見出しのリンクは、素のリンクの色に委ねる（Bug #2658）。
 *
 * 移行元の見出し（`p.sitemap_name`）のリンクは色の指定を持たない。よって素の
 * `a` の色がそのまま出て、**デザイン世代で色が変わる。**
 *
 *   旧デザインのページ  public/css/style.css     の a{color:#000000}     → #000000
 *   新デザインのページ  public/assets/css/style.css の a{color:inherit} → #474747（body の色）
 *
 * `inherit` にすると見出しの文字色（--pa-footer-heading-color = #000）を継ぐため、
 * 新デザインのページ（トップ・店舗 4 件）で移行元の #474747 から離れる。
 * `--pa-color-link` は Bug #2649 が世代で出し分ける形にしてあるので、それに委ねる. */
.site-footer__heading a {
	color: var(--pa-color-link);
	text-decoration: none;
}

/* サイトマップの見出しの改行は、携帯幅だけで効かせる（Bug #8872）。
 *
 * 移行元のスマホ版（include/footer_sp.shtml の dt.sitemap_heading）は
 * 「結婚相談所・結婚支援サービス<br>パートナーエージェント」と改行を入れ、幅を問わず
 * 2 行に分ける。パソコン版（include/footer.shtml の p.sitemap_name）は改行を持たない。
 * footer.php が入れた改行を 750px 以上では消す。改行が無いと、字が 1 行に収まる
 * 幅（430〜749px）で dev だけ 1 行になり、見出しの箱が 23px 低かった
 * （2026-09-29 の実測・幅 414 以下は字の折り返しで移行元と同じ 2 行だった）. */
@media (min-width: 750px) {
	.site-footer__heading-break {
		display: none;
	}
}

/* 支店案内と関連サービスは、見出しの下の余白が移行元だと狭い。移行元
   page_top.css:1383-1385 の `.sitemap.branch .sitemap_name` と
   `.sitemap.service_links .sitemap_name` が margin-bottom を 15px に上書きして
   いる。25px なのはサイトマップの区画だけである（同 1377-1381 行）。dev は
   3 区画とも 25px にしており、2 区画で 10px ずつ縦に伸びていた. */
.site-footer__block--branch .site-footer__heading,
.site-footer__block--service .site-footer__heading {
	margin-bottom: 15px;
}

/* 関連サービスの見出し（「タメニーグループのサービスサイト」）の字の色は、本文色にする（Bug #10107）。
   この見出しはリンクを持たない（`footer.php` の 608 行。字はメニュー名をそのまま出す）ので、上の
   `.site-footer__heading a` の色が当たらず、見出しそのものの色 `--pa-footer-heading-color`（#000）が字に出ていた。
   移行元の `p.sitemap_name` は色の指定を持たず、body の色を継ぐ。この区画を出すトップ（新デザインのページ）では
   #474747 である（2026-10-10 の実測・pa-verify-assets/A/footer-見出しの高さ-2-1010/）。`--pa-footer-heading-color`
   そのものは変えない（ほかの見出しの箱の色に当たるため）. */
.site-footer__block--service .site-footer__heading {
	color: var(--pa-color-text);
}

/* 支店案内の見出しは移行元では店舗一覧（/branch/）へのリンクだが、リンクの色には
   ならない。見出しをリンクへ戻した分（Bug #1626 の C2-10）、色まで変えてしまわない
   ようにここで揃える。

   Bug #2658 で、揃える先を `--pa-footer-heading-link-color`（#474747 の直値）から
   上の `.site-footer__heading a` と同じ `--pa-color-link` へ変えた。移行元の
   `p.sitemap_name` は色の指定を持たず、素の `a` の色が出るため、**旧デザインの
   ページで #000000・新デザインのページで #474747** になる。直値の #474747 では
   旧デザインのページ（5,426 ページ）で移行元から離れていた（実測で確認）. */
.site-footer__block--branch .site-footer__heading a {
	color: var(--pa-color-link);
}

.site-footer__menu,
.site-footer__menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__menu a {
	color: var(--pa-footer-link-color);
	text-decoration: none;
}

/* 移行元はホバーで下線だけを足す。下線はキーボード操作でも同じように出す。
   :focus-visible を別の規則に分けてあるのは、この記法を解釈できないブラウザが
   規則ごと捨てても、ホバーの側は生き残るようにするためである. */
.site-footer__menu a:hover {
	color: var(--pa-color-link-hover);
	text-decoration: underline;
}

.site-footer__menu a:focus-visible {
	color: var(--pa-color-link-hover);
	text-decoration: underline;
}

/* 移行元のスマートフォン版のフッターにだけ有る項目（「お客さまの声」）。
   移行元のパソコン版は同じ行をコメントアウトしている（footer.shtml の
   `<!-- <li class="last"><a href="/introduce/voice/">お客さまの声</a></li> -->`）。
   パソコン幅では隠し、スマホ幅だけ表示する（Bug #1626 の C2-07）。規程リンクの
   .pa-footer-policy--sp-only（Bug #1319）と同じ考え方である. */
.site-footer__menu .pa-footer-sp-only {
	display: none;
}

/* 段組みで並べる店舗案内。移行元はサイトマップを列ごとの器で、店舗案内を 7 列の
   段組みで並べている。以前はどちらも 4 列に揃えていたが
   （管理画面のメニューは項目数が変わるため列数を分ける意味が薄いという判断）、
   Bug #1314 で本番との列数差が不一致として指摘されたため、区画ごとに
   --pa-footer-columns で列数を持たせる方式に戻した. */
.site-footer__menu--columns {
	columns: var(--pa-footer-columns, 4);
	column-gap: var(--pa-footer-column-gap);
}

.site-footer__block--branch {
	--pa-footer-columns: 7;
}

/* サイトマップは footer.php が pa-col-start ごとに ul を分けている。列の器を持つ
   ため、CSS の段組みや Grid の自動配置には任せない. */
.site-footer__block--sitemap .site-footer__menu-columns {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0;
}

/* 段組みの解除は footer.php が生成した列の器の中だけに限る。加工に失敗して
   元の ul を出す場合は、基本指定の 4 段組みをフォールバックとして残す. */
.site-footer__block--sitemap .site-footer__menu-column > .site-footer__menu--columns {
	columns: auto;
	column-gap: 0;
}

.site-footer__block--sitemap .site-footer__menu-column {
	flex: 0 0 314px;
	margin: 0;
}

.site-footer__block--sitemap .site-footer__menu-column:last-child {
	flex-basis: 157px;
}

/* 区切りが無いメニューは 1 つの器へそのまま入れる。細い 157px の列に押し込まず、
   加工前の 1 列表示と同じように幅いっぱいで出す. */
.site-footer__block--sitemap .site-footer__menu-column:only-child {
	flex-basis: 100%;
}

/* 段の境目でひとかたまりの項目が上下に割れないようにする. */
.site-footer__menu--columns > li {
	break-inside: avoid;
	margin-bottom: var(--pa-footer-heading-gap);
}

/* 支店案内の区画では、エリアのかたまりどうしを 25px で離さない。移行元で 25px を
   作っているのは page_top.css:1433-1435 の `.sitemap_menu li.last` だけで、この目印は
   サイトマップの区画にしか付いていない。dev はエリア 9 件すべてに 25px を足しており、
   いちばん高い列が 25px 伸びていた（Bug #1626 の C2-20 の内訳「支店案内 +81」の一部）。

   🚨 **注記の訂正（Task #3830・2026-09-05）。**この注記はもともと
   「移行元のトップページで支店案内の項目を実測すると、**余白を持つ項目が 1 つも
   無い**（2026-08-07）」と書いていた。**測ったのが移行元のトップページ、つまり
   共通の初期化を読まない 8 ページ側だった。**

   **旧デザインの 5,318 ページ側（`/guide/` 等）には、行の下余白 10px を持つ項目が
   在る**（移行元の目印 `.mb10`）。幅 1440px の実測で、いちばん高い列（関東エリア・
   13 行）は 4 行が 10px を持ち、**列が 40px 高い**（`/guide/` 352.83 対 トップ
   312.83。行の高さは両側で完全に同じ）。

   **ここで 0 にするのは、いまも新デザイン側については正しい。**旧デザイン側の
   10px を戻す作業は、**項目ごとの目印が要り投入定義の変更と menu の再投入を伴う**
   ため Task #3952 へ切り出した（司令塔の裁定 174）。**この規則を旧デザイン側にも
   広げて解決しようとしないこと**（`.mb10` は「県のかたまりの最後の店」のような
   規則では導けず、移行元が手で付けている）。証跡は
   `pa-verify-assets/f15-common-0905/3830-legacy-pc.md`. */
.site-footer__block--branch .site-footer__menu--columns > li {
	margin-bottom: 0;
}

/* サイトマップの区画にも、下の間隔を持たないかたまりが 1 つある。移行元で
   間隔を作る目印（li.last）を持っていた項目がコメントアウトされたまま残って
   いるためで、どのかたまりが該当するかは投入定義
   （scripts/pa-cms/seed-menus.php の 'pa-no-gap'）が持つ. */
.site-footer__menu--columns > li.pa-no-gap {
	margin-bottom: 0;
}

/* 店舗案内だけは 1 つの ul を CSS の columns で流し込む。列の先頭に立つ項目
   （wp_nav_menu が出す menu-item-classes 経由の目印。投入は
   scripts/pa-cms/seed-menus.php の 'classes' => 'pa-col-start' 側で行う）で
   強制的に区切る. */
.site-footer__block--branch .site-footer__menu--columns > li.pa-col-start {
	break-before: column;
	-webkit-column-break-before: always;
}

@media (min-width: 1100px) {
	/* 支店案内は等幅の段組みのままで移行元に合う。間隔だけを無くし、1100px を
	   7 等分した約 157px の列へ戻す. */
	.site-footer__block--branch .site-footer__menu--columns {
		column-gap: 0;
	}
}

/* 列の先頭に立つ項目（移行元の .main_ttl）. */
.site-footer__menu--columns > li > a {
	color: var(--pa-footer-heading-color);
	font-size: var(--pa-footer-heading-size);
	font-weight: 700;
}

/* 店舗案内の中間の階層（都道府県）。移行元の .area_main にあたる。この扱いは
   店舗案内の区画だけに効かせる。サイトマップの区画は 2 階層しか無く、2 階層目は
   ふつうのリンク（移行元 .sitemap_menu li a）だからである.

   移行元は色を項目（li.area_main の #777）に置き、その中のリンクには別の色
   （.sitemap_menu li a の #595757）を重ねている。文字はすべてリンクの中に
   あるため、画面に出るのは #595757 のほうである。dev はリンクそのものに #777 を
   当てていたので、都道府県と店舗で文字色が食い違っていた（Bug #1626 の C2-21。
   移行元は 13px の文字がすべて rgb(89,87,87)）。移行元と同じ置き方に直す. */
.site-footer__block--branch .sub-menu > li {
	color: var(--pa-footer-subheading-color);
	font-weight: 700;
}

.site-footer__block--branch .sub-menu > li > a {
	color: var(--pa-footer-link-color);
}

/* 店舗案内のいちばん深い階層（店舗）。ふつうのリンクの扱いに戻す. */
.site-footer__block--branch .sub-menu .sub-menu > li {
	color: var(--pa-footer-link-color);
	font-weight: 400;
}

/* オンライン店（栃木オンライン店 等）は、移行元では都道府県と同じ深さに並ぶが
   太字にならない素の項目である（移行元 footer.shtml の ul.area の中で、class の
   無い <li> として並ぶ）。このテーマのメニューでは「オンライン一覧」の子として
   都道府県と同じ深さに入るため、投入定義側で目印（pa-branch-store）を付けて
   太字を外す（投入は scripts/pa-cms/seed-menus.php）. */
.site-footer__block--branch .sub-menu > li.pa-branch-store {
	font-weight: 400;
}

/* 上 2 つの色指定は .site-footer__menu a:hover より詳細度が高く、そのままでは
   ホバー・フォーカスの色替えが負けて効かない。同じ詳細度で上書きし直す. */
.site-footer__block--branch .sub-menu > li > a:hover,
.site-footer__block--branch .sub-menu .sub-menu > li > a:hover {
	color: var(--pa-color-link-hover);
}

.site-footer__block--branch .sub-menu > li > a:focus-visible,
.site-footer__block--branch .sub-menu .sub-menu > li > a:focus-visible {
	color: var(--pa-color-link-hover);
}

/* 横に流し込む関連サービスのリンク。移行元は inline-block を並べている. */
.site-footer__menu--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--pa-footer-inline-gap);
}

/* タメニーグループの関連サービスの帯は、器と項目で文字の大きさが違う。移行元
   legacy/www.p-a.jp/public/assets/css/top.css:105 の
   `.service_info_link * { font-size: 12px }` は「中の要素すべて」に当たる規則で、
   ul 自身には当たらない。そのため ul は移行元フッターの地の 15px（行の高さは
   同 top.css:28 の全称規則で 1.5 = 22.5px）のまま残り、項目だけが 12px になる。
   横に流し込む項目は箱として並ぶので、1 行の高さは器の 22.5px と項目の 22.08px の
   大きいほうで決まり、移行元では 1 行 23.0px・3 行で 69.2px になる（移行元の
   トップページを幅 1440px で実測。2026-08-07）.

   dev は器も項目も 13px で組んだうえ、並べ方に flex を使っていた。flex の行には
   器の文字が作る下地の行が無く、行の高さが項目の 22.08px だけで決まるため、
   帯が 3px 低かった。移行元と同じ組み方（器は普通のブロック・項目を横に流し込む
   箱にして右に 8px）へ戻し、文字の大きさも器 15px / 項目 12px に揃える. */
.site-footer__block--service .site-footer__menu--inline {
	display: block;
	font-size: 15px;
	line-height: 1.5;
}

.site-footer__block--service .site-footer__menu--inline > li {
	display: inline-block;
	margin-right: var(--pa-footer-inline-gap);
	font-size: 12px;
	line-height: var(--pa-footer-line-height);
}

/* 規程へのリンクの器。移行元 .footer_menu は幅 980px で中央に置き、下に 20px の
   余白を取る。区画としての罫線と上の余白は持たない（すぐ上の認証マーク帯が
   下向きの罫線と 25px の余白を持っているため）。dev は器を幅いっぱい（1090px）に
   広げたうえ上に 60px の余白を足しており、2 行で収まるはずの並びが広がって
   区画の高さが 48px から 108px になっていた（Bug #1626 の C2-23）. */
.site-footer__policy {
	max-width: var(--pa-footer-policy-width);
	margin: 0 auto var(--pa-footer-block-space);
}

/* 規程へのリンク。移行元は中央寄せで、項目の右に縦棒を引いている. */
.site-footer__menu--policy {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.site-footer__menu--policy > li {
	padding: 0 var(--pa-footer-policy-space);
	border-right: 1px solid var(--pa-footer-separator-color);
}

/* 🚨 **移行元は 6 番目と 10 番目だけ縦棒を消す。**末尾（特定商取引法に基づく表記）には
   縦棒が残り、行末に 1 本浮くのが移行元の見え方である（Bug #5704・事業部目視 F11/F12）。

   移行元 `css/style.css` 2098〜2101 行

     #footer #footer_inner .footer_menu li:nth-child(6),
     #footer #footer_inner .footer_menu li:nth-child(10) { border-right: 0; }

   **番号で指してよい。**両側の項目は 11 個が同じ並びであることを実測で確かめた
   （2026-09-11・移行元 https://www.p-a.jp/introduce/ と dev の同じページ）。dev はこの
   11 個の後ろに携帯専用の 2 個（会員専用ページ・サイトマップ）を持つが、**後ろに付くので
   1〜11 の番号はずれない**（`:nth-child` は隠れた要素も数えるが、隠れているのは 12・13 である）。

   器の幅も同じである。移行元は `page_top.css` が `.footer_menu` を **980px** に上書きし、
   dev も `--pa-footer-policy-width: 980px` を持つ（`style.css` の 900px は上書きされる）。

   🚨 **かつてここには「末尾の縦棒を消す」規則が 2 本あった**（`:last-child` と
   `:nth-last-child(3)`）。**移行元を読み違えたものである。**移行元は末尾の縦棒を消して
   いない。2 本とも外した. */
.site-footer__menu--policy > li:nth-child(6),
.site-footer__menu--policy > li:nth-child(10) {
	border-right: 0;
}

/* 会員専用ページ・サイトマップは、本番がスマホ専用テンプレート（User-Agent
   判定で配信される別 HTML）だけに持つ項目で、PC 幅の本番には存在しない
   （Bug #1319）。PC 幅では隠し、スマホ幅（max-width: 749px）だけ表示する. */
.site-footer__menu--policy .pa-footer-policy--sp-only {
	display: none;
}

/* 規程へのリンクの文字色。`.site-footer__menu a` の共通色（#595757）を、この一覧
 * だけ打ち消して**素のリンクの色に委ねる**（Bug #2658）。
 *
 * 移行元 `.footer_menu li a`（style.css の 2090 行付近）は `text-decoration: none`
 * だけを持ち、**色を持たない。**よって素の `a` の色が出て、デザイン世代で変わる。
 *
 *   旧デザインのページ  a{color:#000000}  → #000000
 *   新デザインのページ  a{color:inherit}  → #474747（body の色）
 *
 * Issue #2153 はここへ直値の #474747 を置いていた。**あの実測は誤りではなく、
 * トップページ（新デザイン）で測った値である。**誤りは 1 つの世代の値を全ページへ
 * 一般化したことで、旧デザインの 5,426 ページでは移行元の #000000 から離れていた
 * （2026-09-01 に 2 つの世代のページで測り直して確認）。
 *
 * `--pa-color-link` は Bug #2649 が世代で出し分ける形にしてある（`:root` が
 * #000000・`body.pa-profile-new` が #474747）。**`:root` に定義があるため、
 * フォームの入力画面（`/form/contact/` 等 4 ページ）が `footer-form.php` でこの
 * 一覧を `.site-footer` の外側（`.pa-form-frame__footer`）へ置き直しても解決する。**
 * 従来の `--pa-footer-policy-link-color` は `.site-footer` に定義があり、外側では
 * 未定義になって予備値に頼っていた。その頼りが要らなくなる. */
.site-footer__menu--policy a {
	color: var(--pa-color-link);
}

/* 著作権表示。移行元 .copyright は上の余白を持たない（すぐ上の規程リンクの
   margin-bottom 20px がその役目を負う）。行の高さは 18px で、これは移行元の
   トップページの本文の行の高さ（1.8）が 10px の文字に効いた値である。dev は
   上に 40px の余白を足したうえ行の高さが 15px になっていた（Bug #1626 の
   C2-25 と承認申請一覧の 10 番）. */
.site-footer__copyright {
	margin: 0;
	font-size: var(--pa-footer-copyright-size);
	letter-spacing: 0.1em;
	line-height: 1.8;
	text-align: center;
}

/* エリアの一覧のフッターに出す案内文（Bug #6993）。移行元 `public/css/_page_top.css`
   1003〜1010 行の `#footer #footer_inner .service_info` の値をそのまま写す。

   🚨 **`width` を書かない。**この区画は `.site-footer__inner`（max-width 1130px から
   左右の内余白 --pa-inner-gutter 15px を引いて 1100px）の直の子なので、親の幅に
   まかせるだけで移行元 `#footer #footer_inner` の `width: 1100px` と同じになる。
   ここで幅を書くと、親の値が変わったときに 2 か所を直すことになる。

   出すのは `inc/service-info.php` の `pa_service_info_render()` で、エリアの一覧
   （`/branch/<地方>/` と `/pa_area/<札>/`）のときだけである. */
.site-footer__service-info {
	margin: 0 0 10px;
	padding: 30px 30px 22px;
	background: #fff;
	color: #595757;
	font-size: 11px;
	line-height: 1.6;
}

/* エリアの一覧のフッターに出す店舗の住所（Task #7120）。移行元
   `public/css/_page_top.css` 1018〜1042 行の `#footer #footer_inner .service_info dl`
   （と `dt` `dd`）の値をそのまま写す。

   🚨 **`dt` と `dd` の幅は移行元が固定値で持っている。**区画そのものに `width` を
   書かない（上の .site-footer__service-info）のとは別の話で、ここは移行元の値である。
   内余白 30px を引いた中身の幅は 1040px なので、160 ＋ 868 ＝ 1028 の並びも
   移行元と同じ形になる. */
.site-footer__service-info-store {
	margin: 0 0 7px;
	clear: both;
}

/* 🚨 **`content` を空にしない。**移行元 `public/css/common.css` 329 行の `.clearfix:after`
   は `content: "."` を持つ。空の擬似要素は行ボックスを作らないので**自分で潰れる箱**に
   なり、`clear: both` が効かない（Bug #6753 で踏んだ）。移行元と同じ 5 つの宣言を
   組で写す. */
.site-footer__service-info-store::after {
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	line-height: 0;
	content: ".";
}

.site-footer__service-info-store dt {
	float: left;
	width: 160px;
	padding: 10px 0;
	background: #bbb;
	color: #fff;
	font-size: 13px;
	font-weight: normal;
	line-height: 100%;
	text-align: center;
}

.site-footer__service-info-store dd {
	float: right;
	width: 868px;
	margin: 0;
}

/* FAQ キーワード帯（Bug #1278）。移行元 .service_keyword は margin: 0 auto,
   padding: 30px 12px, font-size: 10px, line-height: 120%, letter-spacing: 0.05em
   で、常に上に罫線を引く。この帯は管理画面のメニューではなくテンプレートに
   直書きの固定コンテンツのため、他の .site-footer__block と違い前の区画の
   有無に関わらず罫線を出す. */
.site-footer__faq {
	border-top: 1px solid var(--pa-color-border);
	padding: var(--pa-footer-band-space) 0;
	font-size: 10px;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-align: center;
}

.site-footer__faq-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* 帯の行の高さ（120%）は、移行元では項目そのものには効いていない。移行元は
   legacy/www.p-a.jp/public/assets/css/top.css:28 に `* { line-height: 1.5 }` を
   置いており、この全称の規則が li 自身に直接当たって、親から継いだ 120% に
   勝つ。結果、10px の項目は 1 行 15px で組まれる（移行元のトップページを
   幅 1440px で実測。2026-08-07）。dev は帯の 1.2 を継いで 1 行 12px になり、
   帯が 10.5px 低かった（Bug #1626 の C2-20 の内訳「FAQ +10」の裏返し）.

   移行元と同じ全称の規則は持ち込まない。テーマ全体の行の高さを巻き添えに
   するためである。効き先を FAQ の項目だけに絞って同じ値を置く. */
.site-footer__faq-list li {
	display: inline-block;
	line-height: 1.5;
	margin: 0 4px;
}

/* 見出しは移行元 .sttltxt li h2 と同じくインライン扱いにする。他区画の
   .site-footer__heading（太字・大きい見出し）とは役割が違うため、別のクラス名に
   してある.

   文字の大きさはキーワードより 1 段大きい 15px である。移行元 style.css:2016-2019
   の `.sttltxt li h2` は太さと並べ方だけを指定して大きさを持たないため、ブラウザ
   既定の `h2 { font-size: 1.5em }` が残り、帯の 10px の 1.5 倍になる（移行元の
   トップページで実測して 15px。キーワード側は 10px。2026-08-07）。dev は
   `font-size: inherit` で 10px に揃えており、見出しの行が 7.5px 低かった
   （Bug #1626 の C2-20 の内訳「FAQ +10」の一部）。移行元のまま写す方針に従い、
   大きさの違いもそのまま残す. */
.site-footer__faq-heading h2 {
	display: inline;
	margin: 0;
	font-size: 1.5em;
	font-weight: 400;
}

/* キーワードのリンクも素のリンクの色に委ねる（Bug #2658）。
 *
 * 移行元 `.service_keyword .sttltxt li a`（style.css の 2021 行付近）は
 * `text-decoration: none` だけを持ち、**色を持たない。**よって素の `a` の色が
 * 出て、旧デザインのページで #000000・新デザインのページで #474747 になる。
 * `--pa-footer-link-color`（#595757）はサイトマップの子の行の色で、この帯の色では
 * なかった（移行元を 2 つの世代で測って確認。29 本すべて）. */
.site-footer__faq-list a {
	color: var(--pa-color-link);
	text-decoration: none;
}

.site-footer__faq-list a:hover {
	text-decoration: underline;
}

.site-footer__faq-list a:focus-visible {
	text-decoration: underline;
}

/* 認証ロゴ帯（Bug #1278）。移行元 .pmarkList は上下に罫線を引き、中央寄せで
   横並びにする. */
/* 移行元は項目どうしの隙間を持たず、幅 120px の枠を 4 つ並べたあと証券コードの
   枠だけを 20px 離す。dev は 40px の隙間を 4 か所に入れていたため帯が横に
   広がり、上下の余白（25px → 40px）と合わせて高さが 38px 増えていた
   （Bug #1626 の C2-20 の内訳「認証マーク +38」）. */
.site-footer__certs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0 0 var(--pa-footer-certs-after);
	padding: var(--pa-footer-certs-space) 0;
	border-top: 1px solid var(--pa-color-border);
	border-bottom: 1px solid var(--pa-color-border);
	list-style: none;
}

/* 移行元 .pmarkList li の 120x60px である.

   🚨 **枠は flex にしない（Bug #8730）。**移行元の枠は `list-item` で、絵は行の中の絵として
   枠の上から並ぶ。前は `display: flex; align-items: center` で絵を上下の中央へ寄せており、
   幅 1440 で絵の上端が移行元の 26 から −3.95〜+5.97 ずれていた。携帯幅でも、`<a>` に
   包まれていない VeriSign の絵だけが flex の子として block になり、枠の高さが移行元の
   65 より 6 低い 59 になって、行の中央への寄せで 3 下がっていた。block にすると、
   どの絵も移行元と同じく行の中の絵になる。横の中央は `text-align: center` が持つ. */
.site-footer__certs-item {
	display: block;
	width: 120px;
	height: 60px;
	text-align: center;
}

/* 東証グロース上場の文言は画像の右に説明文を添える。移行元 .pmarkList li.code
   も画像とテキストを横並びにしている（220x46px・左に 20px の間隔）. */
.site-footer__certs-item--code {
	/* 🚨 **この枠だけは flex のまま**（Bug #8730）。絵と説明文を横に並べるためで、
	   携帯幅の規則（`justify-content: normal`・`gap: 0`）もこの flex を前提にしている.
	   上の枠の規則が block になったので、ここで明示する. */
	display: flex;
	align-items: center;
	width: 220px;
	height: 46px;
	margin-left: 20px;
	justify-content: flex-start;
	gap: 5px;
	text-align: left;
}

/* 証券コードの画像。移行元は画像そのものは 41x53px だが、表計算のような組み方
   （li.code が display: table・img が display: table-cell）で幅 220px の枠に
   説明文と一緒に押し込むため、表示は 19x25px に縮む（移行元のトップページを
   幅 1440px で描いて実測。2026-08-07）。dev は縮まず実寸のまま出ていて約 2 倍の
   大きさだった（Bug #1626 の C2-24）。同じ組み方は再現せず、表示上の寸法だけを
   移行元に合わせる.

   【申し送り】移行元は下層ページだと同じ画像が 41x53px で出る。トップページと
   下層ページでこの画像の大きさが違うのは移行元の作りに由来する食い違いであり、
   Bug #1626 の実測値（19x25px）はトップページ側を基準にしている. */
.site-footer__certs-item--code img {
	width: 19px;
	height: 25px;
}

.site-footer__certs-item--code p {
	margin: 0;
	font-size: 9px;
	line-height: 1.3;
}

/* 認証の帯の上そろえ（Bug #8730・パソコン幅だけ）。移行元のパソコン版の枠は `float: left`
   で並び、枠の上端が帯の上端（上の内余白のすぐ下）にそろう。前は `align-items: center` で、
   高さ 46 の証券コードの枠だけが 7 下がっていた。

   🚨 **携帯幅には当てない。**移行元のスマホ版の帯は `display: flex; align-items: center` で、
   2 つ並びの行の中で枠を上下の中央に寄せる（幅 375 の実測で dev と一致していた）.

   🚨 **証券コードの枠の中は、絵だけを上そろえにし、説明文は上下の中央のまま。**移行元の枠は
   `display: table` で、説明文は `vertical-align: middle` の升目として枠の高さ（46 か 53）の
   中央に字が来る（`css/style.css` 2058〜2074 行）。絵は升目にしても上端が枠の上端にそろう
   （幅 1440 の実測で 26）。枠ごと上そろえにすると、説明文の字まで上へ寄ってしまう. */
@media (min-width: 750px) {
	.site-footer__certs {
		align-items: flex-start;
	}

	.site-footer__certs-item--code img {
		align-self: flex-start;
	}
}

@media (min-width: 750px) {
	/* ==============================================================
	 * 移行元が共通の初期化を読む世代のフッター（Bug #3454）
	 *
	 * 移行元は 2 世代でスタイルシートの読み方が丸ごと違う。5,318 ページは
	 * `css/import.css` 経由で `common.css`（初期化）と `style.css` を読み、
	 * **8 ページ**（トップ・店舗 6 件・入会案内の「コースと料金」）は
	 * `assets/css/style.css` だけを読む。上の規則は**トップページを測って作られている**
	 * ので、5,318 ページ側と食い違う。
	 *
	 * 🚨 **この節は 5,318 ページに当たる。**下の値はすべて、移行元の写しを手元から
	 * 配信して 2 世代を同じ道具で測って決めた（幅 1440px・2026-09-04）。フッターの
	 * 組みは 2 世代で同じ 1 つの写し（`include/footer.shtml` + `footer2.shtml`）なので、
	 * 差はスタイルシートだけから来る。
	 *
	 *   見るもの            移行元 5,318 ページ   移行元 8 ページ（上の規則）
	 *   帯の高さ                        85                    98.5
	 *   見出しの字                      10px                  15px
	 *   札の一覧の高さ                  24                    37.5
	 *   札の行送り                      12px                  15px
	 *
	 * 🚨 **世代で違うのは上の 4 つだけである（Bug #3699）。**帯の左右の内余白 12px・
	 * 一覧の字間 `-.40em`・札の字間 `normal`・22 個目の字下げ 144px は、移行元で
	 * **両世代とも同じ値**だった（銀座店と入会案内 `/guide/` を同じ道具で測って確かめた。
	 * 2026-09-05）。旧版はその 4 つまでこの節に入れていたため、新デザインの側だけ
	 * 札が横に 5% 伸び、22 個目の折り返しが 1 つ手前で起きていた。**世代の目印を
	 * 持たない側へ移してある。**
	 *
	 * 🚨 **幅 750px 以上だけに当てる。**移行元は狭い画面だと別のサイト（`/sp/`）へ
	 * 転送し、フッターの組みも CSS も丸ごと別物である。ここで測ったのはパソコン版の
	 * 2 世代なので、その差を狭い画面へ持ち込まない（実測: 当てると携帯 390px で
	 * 62 要素が動いた）.
	 * ============================================================== */

	/* 見出し。移行元の初期化（`public/css/common.css` の 95〜98 行）が
	   `h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal }` を置くので、
	   帯の 10px をそのまま受け継ぐ。5 ページ側は初期化を読まないため、ブラウザ既定の
	   `h2 { font-size: 1.5em }` が残って 15px になる. */
	.pa-legacy-common-css .site-footer__faq-heading h2 {
		font-size: 100%;

		/* 🚨 **行送りも受け継がせる。**移行元の初期化は大きさと太さしか触らないので、
		   見出しは帯の 120% をそのまま受け継いで 12px になる。テーマは見出し全体へ
		   `1.5` を当てており、字を 10px に直しても行だけ 15px のまま残った（実測）. */
		line-height: inherit;
	}

	/* 札の字間。移行元 `public/css/style.css` の 2005〜2013 行は、**器で詰めて札で戻す**
	   書き方をしている。

	     .service_keyword .sttltxt    { letter-spacing: -.40em }
	     .service_keyword .sttltxt li { letter-spacing: normal }

	   `-.40em` は、横に並べた `inline-block` の間にできる空白を潰すための書き方で、
	   札そのものの字間は `normal` に戻る。

	   🚨 **器にだけ置いて受け継がせる書き方にしない。**上の規則は帯へ `0.05em` を
	   置くだけで対を写しておらず、それが札 30 個すべてに受け継がれて**横幅が 5% 伸びて**
	   いた（「早い」20.00 → 21.00・「出会いの場所」60.00 → 63.00）. */
	.site-footer__faq-list {
		letter-spacing: -0.4em;
	}

	.site-footer__faq-list li {
		letter-spacing: normal;
	}

	.pa-legacy-common-css .site-footer__faq-list li {
		/* 行送りは帯から受け継ぐ（120% ＝ 10px の 1.2 倍で 12px）。上の規則が
		   `1.5` を直に当てているのは、移行元が全称の規則
		   （`* { line-height: 1.5 }`）で行送りを 1.5 にしているページを写した
		   ものである。5,318 ページ側はその全称の規則を読まない.

		   🚨 **注記の訂正（Bug #5038・2026-09-09）。**この注記はもともと
		   「移行元のトップページが読む `assets/css/top.css`」と書いていた。
		   **移行元のトップページは `top.css` を読まない。**写しのパソコン版の
		   HTML 5,975 本を全数走査したところ、`assets/css/top.css` を読むページは
		   **0 件**で、トップページが読むのは `assets/css/style.css` である
		   （そちらにも同じ全称の規則が在るので、15px になる結論は変わらない）.

		   🚨 **この 1 つだけが世代で違う。**同じ規則にあった字間は、両世代とも
		   `normal` なので上へ移した（Bug #3699）. */
		line-height: inherit;
	}

	/* 🚨 **移行元の区画の CSS が全称の行送りを持つページだけ、1.5 へ戻す**（Bug #5038）。

	   上の打ち消しは「移行元がサイト共通の初期化を読む 5,318 ページは 12px」という
	   正しい規則だが、**その中に区画の CSS が `* { line-height: 1.5 }` を持つ
	   ページが 2 件混ざっている**。全称の規則はフッターの項目にも当たるので、
	   移行元ではそこだけ 15px で組まれる。

	     会員紹介の活動実績 `/introduce/data/`        … assets/css/data-style.css の 50 行
	     しあわせレポートの一覧 `/introduce/happyreport/` … assets/css/happyreport.css

	   実測（移行元の本番・幅 1440px・2026-09-09 05:2x〜05:34 JST）:

	     | 移行元のページ | 項目の行送り | 帯の高さ |
	     |---|---|---|
	     | /introduce/data/            | **15px** | **91** |
	     | /word/2017-10-1.html        | 12px | 85 |
	     | /branch/hokkaido/sapporo.html | 12px | 85 |

	   **後の 2 つは dev と一致している。**つまり「全ページで 15px」ではない。

	   🚨 **移行元と同じ全称の規則は持ち込まない。**テーマ全体の行送りを巻き添えに
	   するためである（上の打ち消しの説明と同じ理由）。効き先を FAQ の項目だけに絞る。

	   🚨 **打ち消しと詳細度が同じ（0,2,1）なので、後に置いて勝たせている。**
	   順番を入れ替えると効かなくなる（検査で見張っている）. */
	.pa-legacy-universal-line-height .site-footer__faq-list li {
		line-height: 1.5;
	}

	/* 札の一覧の幅。移行元 `.service_keyword` は左右に 12px の内余白を持つ
	   （実測: 一覧の幅 1076・左端 182）。折り返しの位置がこの幅で決まる。

	   🚨 **両世代とも同じ値である（Bug #3699）。**旧版は世代の目印を付けており、
	   新デザインの側だけ一覧が 1100px に広がって、22 個目の折り返しが 1 つ手前で
	   起きていた（銀座店で実測: 「成婚率」が 1 行目 x=1221.6 ではなく 2 行目 x=341.0）. */
	.site-footer__faq {
		padding-inline: 12px;
	}

	/* 折り返しの位置。移行元 `public/css/style.css` の 2026〜2028 行は、22 個目の札の
	   内側に 144px の字下げを入れて箱を横に広げ、**21 個目までで 1 行を終わらせて**いる。

	     #footer #footer_inner .service_keyword .sttltxt li:nth-of-type(22) { text-indent: 144px }

	   🚨 **1 個目の札は見出しである**（`li > h2`）。数え方も移行元にそろえる。

	   🚨 **この 1 本だけ 1130px 以上に絞る。**移行元のパソコン版は器が 1100px の
	   固定幅で、画面がそれより狭くても折り返さずに横へはみ出す（幅 1000px で実測。
	   1440px と同じ位置で折り返す）。dev のフッターは可変幅なので、狭い画面では
	   移行元より早く折り返し、**22 個目が行頭に来なくなる**。そのまま当てると
	   行の途中に 144px の空きが入る（自動レビューの指摘）。

	   実測（テーマの CSS で幅を変えて測った。`tests-retired/pa-cms-css-geometry` の道具）:

	     幅 1130px 以上  一覧の中身 1076px  1 行目 21 個  ← 移行元と同じ
	     幅 1100px      一覧の中身 1046px  1 行目 21 個
	     幅 1071px      一覧の中身 1017px  1 行目 21 個  ← ここが下限
	     幅 1070px      一覧の中身 1016px  1 行目 20 個  ← 22 個目が行の途中へ

	   下限は 1071px だが、**1130px で切る**。1130px 以上なら一覧の中身は
	   1076px で固定され、移行元と同じ幅になるためである（1071〜1129px は
	   1017〜1075px と幅が変わり、書体の描かれ方が違う環境では下限を割りうる）。
	   1130px 未満では字下げを当てない。その帯では dev の可変幅のフッター自体が
	   移行元の固定幅と別物なので、字下げだけを合わせても一致しない. */
	@media (min-width: 1130px) {
		/* 🚨 **両世代とも同じ値である（Bug #3699）。**移行元の新デザインの CSS
		   （`assets/css/style.css` の 1438〜1440 行）も、旧デザインの CSS
		   （`css/style.css` の 2026〜2028 行）も、同じ 22 個目に同じ 144px を置く. */
		.site-footer__faq-list li:nth-of-type(22) {
			text-indent: 144px;
		}
	}

	/* 証券コードの絵。移行元は 5,318 ページ側だと**実寸のまま 41 × 53** で出る。
	   上の規則の 19 × 25 は、表計算のような組み方で幅 220px の枠に押し込まれる
	   トップページ側の値である（すぐ上の【申し送り】に書かれていた食い違いを、
	   Bug #3454 の実測で裏づけた）. */
	.pa-legacy-common-css .site-footer__certs-item--code {
		height: 53px;
	}

	.pa-legacy-common-css .site-footer__certs-item--code img {
		width: 41px;
		height: 53px;
	}

	/* 著作権表示の行の高さ（Task #3830）。移行元 `/guide/`（初期化を読む
	   5,318 ページ側）の `.copyright` は**行の高さを指定せず**、書体（游ゴシック）の
	   既定に任せている。**実測 15px**（幅 1440px・2026-09-05）。

	   このファイルの `.site-footer__copyright` が持つ `line-height: 1.8`（18px）は
	   **移行元トップ（初期化を読まない 8 ページ側）の値**である。トップ側は 18px の
	   ままで移行元と一致しているので、そちらは触らない。

	   🚨 **携帯幅にも同じ差があるが、直しは別に置いてある**（この @media は
	   750px 以上だけ）。携帯幅の側は `@media (max-width: 749px)` の中の
	   `.pa-legacy-common-css .site-footer__copyright` が持つ. */
	.pa-legacy-common-css .site-footer__copyright {
		line-height: normal;
	}

	/* 区画の見出しの行の高さ（Task #3830・司令塔の裁定 174）。移行元 `/guide/`
	   （初期化を読む 5,318 ページ側）の `p.sitemap_name` は**行の高さを指定せず**、
	   書体（游ゴシック）の既定に任せている。**箱の実測 21.00px**（幅 1440px・
	   字 14px・2026-09-05）。

	   このファイルの既定 `--pa-footer-heading-line-height: 1.8`（14 × 1.8 = 25.2px。
	   箱の実測 25.19px）は**移行元トップ（初期化を読まない 8 ページ側）の値**である。
	   トップ側は 25.19px のままで移行元と一致しているので、そちらは触らない。

	   **サイトマップの塊の差 +4.02 は、これだけで全部である。**列の高さは
	   **367.59 / 225.91 / 355.36 / 397.36** で**移行元の両世代とも完全に同じ**
	   だった（実測。証跡 `pa-verify-assets/f15-common-0905/3830-legacy-pc.md`）。

	   🚨 **支店案内の塊もこの見出しを持つので 4.19px 縮む。**あちらは行の下余白
	   （移行元の目印 `.mb10`）が別に 40px 足りず、**そちらは投入定義の変更と menu の
	   再投入が要るため Task #3952 へ切り出した**（裁定 174）。**この 2 つが揃って
	   はじめて支店案内が移行元と合う**（403.81 − 4.19 + 40 = 439.62 対 移行元 439.83）。
	   **それまで帯の合計は移行元より 40.4px 低いままである**（意図的変更の台帳に
	   一時的な行として記録済み）。

	   🚨 **携帯幅にも同じ差があるが、直しは別に置いてある**（この @media は
	   750px 以上だけ）。携帯幅の側は `@media (max-width: 749px)` の中の
	   `.pa-legacy-common-css .site-footer` が同じ変数を `normal` にしている. */
	.pa-legacy-common-css .site-footer {
		--pa-footer-heading-line-height: normal;
	}
}

@media (max-width: 749px) {
	/* 🚨 **本文の最後に来る部品の下の外余白を 0 にする（Bug #7615）。**
	 *
	 * ------------------------------------------------------------------
	 * なぜ 0 にするのか
	 * ------------------------------------------------------------------
	 * 移行元のスマホ版は、本文の終わりと灰色の帯の間に **30px の空き**を置き、
	 * 帯の中は 0 にする。dev は 2026-09-09 のユーザー決定でこの 30px を帯の
	 * 内側へ移していた（Bug #5146・Task #3650）が、**ユーザー決定 D750（2026-10-05・
	 * Bug #9412）で移行元の形へ戻し、フッター自身の上の外余白 30px に持たせた**
	 * （下の `.site-footer` の `margin-top: 30px`）。
	 *
	 * **空きの 30px はフッターが持つので、本文の最後の外余白は 0 でなければ足し算で二重になる。**
	 * 移行元は最後の部品の外余白 30px とサイトマップの上の外余白 30px が相殺して 30px になり、
	 * dev は最後の部品の 0 とフッターの 30px で同じ 30px になる（D750 でも 0 のままでよい）。
	 * 移した当時は 4 ページ（最後の部品が外余白を持たないページ）だけを見ており、
	 * 下のパンくず・一覧の下の区画・先頭へ戻るが最後に来るページに届いていなかった。
	 *
	 * 実測（2026-09-19・幅 375px・dev は `?cb=` 付き・移行元は自席の写し）:
	 *
	 *   ページ              本文の最後の部品            外余白  本文の終わり→サイトマップ
	 *   会社情報ほか 4 ページ  外余白を持たない              0px    30px  ← 移行元と同じ
	 *   店舗の一覧          nav.pa-breadcrumb--bottom  39px    69px  🚨
	 *   結婚相談所のすゝめ      aside.pa-archive-bottom    40px    70px  🚨
	 *   PA KNOWLEDGE      p.page_top                 13px    43px  🚨
	 *
	 * 移行元は同じ 3 ページとも最後が「先頭へ戻る」の `p`（下の外余白 30px）で、
	 * **本文の終わり→サイトマップは 3 ページとも 30px** だった。
	 * 器の性質は両側で同じである（下の内余白 0・下の罫線 0・`overflow: visible`）。
	 *
	 * ------------------------------------------------------------------
	 * 当たり先の書き方
	 * ------------------------------------------------------------------
	 * 🚨 **`#site-main > *:last-child` は使えない。**`footer.php` は**どのページでも**
	 * 下のパンくず（`.pa-breadcrumb--bottom`）を本文の最後に出し、**店舗の一覧と
	 * 店舗の詳細のほかは `display: none` で隠している**。だから `:last-child` は
	 * **いつも隠れているパンくずに当たり**、本当に最後に見えている部品には当たらない。
	 *
	 * 🚨 **外余白は段を越えて抜ける**（外余白の相殺）。`p.page_top` は本文の器から
	 * **3 段下**に在るので、直の子だけを当たり先にしても止まらない。
	 * だから**部品の名前で書く**。
	 *
	 * 当たり先ごとの絞り方は次のとおりである（2026-09-19 に dev の HTML を数えて確かめた）。
	 *
	 *   .pa-breadcrumb--bottom   絞らない。`footer.php` が**本文の最後にだけ**出す
	 *   .pa-archive-bottom       絞らない。`archive.php` ほかが**本文の末尾にだけ**出す
	 *                            （結婚相談所のすゝめの本文の直の子は 4 つで、
	 *                             この部品は 3 番目・4 番目が隠れたパンくずである）
	 *   p.page_top               🚨 **`:last-child` で絞る。**ページの途中にも出る
	 *                            （PA KNOWLEDGE には 2 個在り、漏れ出す側は親の最後の子）
	 *
	 * 🚨 **下のパンくずの 39px は移行元の `.path { margin-block: 3em }`（13px × 3）を
	 * 写した値である**（同じファイルの `pa-breadcrumb--bottom` の注記）。
	 * **その値は変えない。**ここで 0 にするのは「本文の最後に来たとき」だけである. */
	#site-main > .pa-breadcrumb--bottom,
	#site-main > .pa-archive-bottom,
	#site-main p.page_top:last-child {
		margin-bottom: 0;
	}

	/* 🚨 **同じ役割の部品が 2 つの類名を持っていた（Bug #7714）。**
	 *
	 * `p.pa-page-top__item` は**「先頭へ戻る」の別の類名**である。上の規則の
	 * `p.page_top` と役割は同じだが、類名が違うので当たらなかった。
	 * `ul.fee-area` はマンガの一覧の末尾の箱である。
	 *
	 * 実測（2026-09-19 18:24・幅 375px・dev の 21 型）:
	 *
	 *   型                道すじ                              空き    漏れ出した元
	 *   pa_area           /branch/chubu/                     30.00  p.pa-page-top__item
	 *   pa_story_theme    /introduce/story/theme/happening/  30.00  p.pa-page-top__item
	 *   pa_comic_story    /comic-story/                      18.00  ul.fee-area
	 *
	 * 🚨 **ページの種類で絞るのは、体験談の詳細（504 ページ）を巻き込まないためである。**
	 * あちらも同じ `p.pa-page-top__item` を持つが、**親が `overflow: clip visible` で
	 * 外余白を器の中へ収めており、漏れ出していない**（空き 0.00）。
	 * 絞らずに 0 にすると、**いま見えている 30px の空きが消える**（直す理由が無いのに
	 * 見た目が変わる）。
	 *
	 * 🚨 **`:last-child` は 21 型の HTML を数えて確かめてから付けた。**
	 * `p.pa-page-top__item` は 3 件とも親の最後の子、`ul.fee-area` は 3 個中 3 番目で
	 * ある（同じ類名が `li` にも 9 個在るが、そちらは 18 個中 1 番目なので当たらない）. */
	/* 🚨 **マンガ特集の入口の `ul.fee-area` は、ここから外した（Bug #8143）。**
	   この組に在ったときは `margin-bottom: 0` が当たり、移行元より **36.25px 低かった**。

	   移行元は `comic-story/static/css/style.css` の
	   `@media (max-width: 768px) .fee-area { margin-bottom: calc(15vw - 20px) }`
	   で下の外余白を持つ（幅 375 では 15vw = 56.25 なので **36.25px**）。
	   dev も同じ規則を `assets/comic/css/comic.css` に持っているが、
	   **この組（ID を 1 つ含み詳細度 (1,3,2)）が (0,3,1) のあちらに勝って 0 にしていた**
	   （配信中の CSSOM から当たり先 7 本を引いて確かめた・2026-09-20 18:4x）。

	   🚨 **この Issue が止めた「漏れ出し」は戻らない。**`section#shops` は
	   **下の内余白 44px** を持つので、子の外余白は器の外へ抜けられない。実測では
	   値を戻す前も後も**区画の下端と次の帯（`footer.siteFooter`）の上端の隙間は 0** で、
	   移行元も 0 である。`section#shops` は 1,323.88 → **1,360.13**（移行元 1,360.13）、
	   ページ全体は 2,726 → **2,762**（移行元 2,762）になる。

	   🚨 **Bug #7714 の記録にある「18.00 の隙間」は再現しなかった。**
	   下の内余白 44px は、その後に入った別の直しによるものかもしれないが、そこまでは
	   追えていない。Issue #7714 にもこの実測を書いた。

	   マンガ特集の**詳細 18 ページ**（`/comic-story/p12/` ほか）は
	   `body.post-type-archive-pa_comic_story` に当たらないので、**直す前から移行元と
	   同じ 36.25px を持っている**。この組は入口 1 ページにしか当たっていなかった.  */
	/* 🚨 **この組の規則（`body.pa-branch-area-list` と `body.tax-pa_story_theme` の `p.pa-page-top__item:last-child`
	   に下の外余白 0）は、Bug #8445 で外した。**Bug #7714 は「押しボタンの 30px が器の外へ漏れ、フッターの空きと
	   二重になる」として 0 にした。その前提の「移行元は帯の外の空き 30 だけ」は、Bug #8423 と #8445 の実測で
	   崩れた（移行元スマホ版は押しボタンの下に 30 ＋ 20 を積み、最初の字まで 84）。いまは器 `--archive` が
	   下の内余白 20px を持つので、30px は器の外へ漏れない（上の `.pa-page-top--archive` の節）。
	   見張る検査は無い（`tests/`・`scripts/`・`tests-retired/` を `7714` と当たり先の字で数えた・2026-10-05）. */

	/* 🚨 **旧デザインの携帯版の本では、「先頭へ戻る」の下の外余白を器の組みごとに戻す
	 * （Bug #8423・リーダーの判断 2026-09-25 15:04）。**
	 *
	 * 上の Bug #7615 の規則は「移行元は本文の終わり → サイトマップが 30px」という、
	 * 新デザインのページ（トップ・コースと料金・店舗一覧）の実測を前提にしていた。
	 * その 30 は、フッターの 1 つ目の子の上の外余白が帯の外へ抜けたもので、dev は
	 * 帯の内側に持つ（意図的変更の台帳 222 行）。**旧デザインの携帯版はその手前に、
	 * 押しボタンの下の外余白 30（`sp/css/style.css` の `.page_top { margin: 0 auto 30px }`）と
	 * 本文の器 `#other_contents` の下の内余白 20 も持つ。**そのため 0 にすると、押しボタンの
	 * 下端からフッターの最初の字までが移行元 84 に対し dev 54 になっていた。
	 *
	 * 値は押しボタンを包む器の組みで決まる。**区画ごとでもページごとでもない。**
	 * 幅 375 で 18 本を測り、この 3 本と下の 3 つ目の規則・本文の器の内余白の直し
	 * （はじめての方へ・婚活のすすめ方・社会貢献活動の `padding: 25px 0 0`・このファイルの
	 * 76 千行台）を配信中の dev に差し込んで、18 本とも 84 になることを確かめた
	 * （`pa-verify-assets/B/8423-下見-0925/`）:
	 *
	 *   器の組み（dev）                       直す前   足す量   標本
	 *   div.page_topArea > p.page_top          54       +30     QOM総研・規約 copyright・成婚ストーリー・会社情報 profile
	 *   同上（本文の器の下の 25 を外した後）   79       +5      会社情報 contribution・はじめての方へ・婚活のすすめ方
	 *   div.page-content__body > p.page_top    54       +30     tie-up
	 *   section#seo > p.page_top               74       +10     婚活のコラム・結婚の悩み（器の下の内余白 20）
	 *
	 * 🚨 **`:last-child` は「器の最後の子」であって「本文の最後」ではない。**ページの途中の
	 * `div.page_topArea` にも 30 が戻るが、移行元スマホ版の共通 CSS は**すべての**
	 * `p.page_top` に下 30 を持つ（`sp/css/style.css` の 1859〜1862 行）。お知らせ一覧
	 * `/company/news/` は押しボタンの後ろにフッターでなくメニュー（移行元 `ul.other_menu`・
	 * dev `div.pa-other-menu-host`）が続く組みで、移行元スマホ版も同じ並び
	 * （`sp/company/news/index.html` の 165〜167 行）なので、間の 30 は移行元どおりである
	 * （dev は直す前 0・直した後 30。移行元の写しはこの画面で 500 を返すため、描画ではなく
	 * ソースと CSS で読んだ）。移行元スマホ版で押しボタンを 2 個以上持つページは 0 件
	 * （`sp/` 配下を注釈を外して数えた・2026-09-25）.
	 *
	 * 🚨 **強さは (1,3,1) 以上にする。**規約のページ群の段落の規則
	 * `.page-content--company .page-content__body :is(#about, …) p { margin: 0 0 30px }`
	 * （このファイルの「規程のページ群」の節）が (1,2,1) で、上の Bug #7615 の (1,1,1) に
	 * 勝っていた。規約 rule（`/policy/rule/`）で押しボタンに 30 が残り、字まで 114 だった
	 * のはこのためである。下の 3 つ目の規則で、区画の中の押しボタンを 0 に戻す
	 * （区画の下の内余白 30 ＋ 器の下の内余白 20 で 50 になり、字まで 84）. */
	#site-main .page_topArea > p.page_top:last-child,
	#site-main .page-content__body > p.page_top:last-child {
		margin-bottom: 30px;
	}

	#site-main #seo > p.page_top:last-child {
		margin-bottom: 10px;
	}

	#site-main :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) > p.page_top:last-child {
		margin-bottom: 0;
	}

	/* 🚨 **旧デザインの携帯版の本で、本文の最後の中身から来店予約・資料請求の帯までの空きを、
	 * 本文の器の組みごとに移行元スマホ版へそろえる（Bug #8446・統括の判断 2026-10-01）。**
	 *
	 * 帯の上の外余白は両側とも 15px で同じである（dev `div.pa-conv-band`・移行元 `div.conv-banner`）。
	 * 差は、本文の最後の中身と帯の間にある器の余白から来る。移行元スマホ版は帯を本文の器の**外**で
	 * 取り込むので（`include/box_support_sp.shtml`）、器の下の余白が帯の上に残る。dev は帯を本文の
	 * 器の中へ差し込むので（`inc/support-band.php`）、その余白が無いか、別の値になっていた.
	 *
	 * 幅 375 で 16 本を測った値（`pa-verify-assets/A/8446-測り直し-1001/走行1/`・直す前）:
	 *
	 *   組み（本数）                 dev   移行元  出どころ
	 *   QOM総研の記事（3）            39    84     移行元は `div#research` の下の内余白 30 が間に入る
	 *   婚活のコラム・結婚の悩み（4）  15    35     移行元は `div#sentence` の下の内余白 20 が間に入る
	 *   規約 copyright（1）           83    34     dev は段落の下 30 と区画の下の内余白 30 が足される
	 *   規約 rule（1）                44    19     dev は最後の `section` の下 40 と、その中の最後の段落の下 30 が帯の 15 に勝つ
	 *   会社情報 contribution（1）    85    40     dev は区画の下の外余白 60 が帯の 15 に勝つ
	 *   会社情報 profile（1）         40    70     移行元は `section.anchor_block` の下の外余白 30 が入る
	 *   婚活のすすめ方（1）           15    80     移行元は区画の下の内余白 40 と器の下の内余白 25 が入る
	 *
	 * 🚨 **帯の側（共通の部品）は触らない。**本文の器の側の余白だけを変える.
	 * 🚨 **どの規則も「帯が直後に在る」ときだけ当てる（`:has(+ .pa-conv-band)`）。**帯を出さない
	 * 幅や、帯の前に別の中身が続くページでは何も変わらない.
	 * 帯より下（押しボタン → フッターの 84・Bug #8423）は触らない. */
	#site-main section#research:has(+ .pa-conv-band) {
		padding-bottom: 30px;
	}

	#site-main #seo > .problem-area__inner:has(+ .pa-conv-band) {
		margin-bottom: 35px;
	}

	#site-main section#copyright:has(+ .pa-conv-band) {
		padding-bottom: 0;
	}

	/* 規約 rule は、最後の `section` の中の最後の段落の下 30（規程のページ群の段落の規則）も帯の上へ抜ける。
	 * 移行元は字が `section` に直に入り、段落の外余白が無い. */
	#site-main #about > .about_box:has(+ .pa-conv-band) > section:last-child,
	#site-main #about > .about_box:has(+ .pa-conv-band) > section:last-child > div:last-child > p:last-child {
		margin-bottom: 0;
	}

	#site-main section#contribution:has(+ .pa-conv-band) {
		margin-bottom: 0;
	}

	#site-main section#profile:has(+ .pa-conv-band) > section.profile_box:last-child {
		margin-bottom: 30px;
	}

	#site-main section#visitor:has(+ .pa-conv-band) {
		padding-bottom: 65px;
	}

	/* スマホ幅の余白と行間は、移行元のスマホ版の CSS
	   （legacy/www.p-a.jp/public/sp/css/footer_contents.css）の実値へ差し替える。
	   パソコン幅と同じ段階のままだとフッターが 756px 縦に伸びていた
	   （Bug #1626 の C2-33）. */
	.site-footer {
		/*
		 * 🚨 **帯の始まる位置は、移行元の下層ページの形にそろえる（ユーザー決定 D750・
		 * 2026-10-05・Bug #9412）。本文の終わりと灰色の帯の間に 30px の空き（上の外余白）を置き、
		 * 帯の中は 0 にする（見出しの文字が帯の上端にほぼ接する）。**
		 *
		 * 🔁 **2026-09-09 の判断（Bug #5146）を見直した。**あのときは移行元のトップページの形
		 * （帯の内側に 30px）を全ページへそろえた。ユーザーの言葉は「移行元のトップページでは
		 * 同じようになっていて、トップのフッターに合わせるのが良い」だった。その後、事業部の
		 * 目視の指摘（W90・2026-10-04・成婚ストーリーのテーマ一覧「こだわりを捨てる」）が
		 * 「TOP の押しボタンの下端からフッターまでが移行元 80px・dev 0px」を挙げた。Bug #8445 の
		 * 直しの後も dev は 50px で、残りの 30px がまさに帯の内側へ移した分だった。ユーザーは
		 * 移行元の下層ページの形へ戻すと決めた（D750）。
		 *
		 * 移行元の仕組み（2026-09-09 に本番で裏取り済み）: 足元の器 `.footer_contents` の 1 つ目の子
		 * `.sitemap` が上の外余白 30px を持つ（`sp/css/footer_contents.css`）。下層ページは器が内余白を
		 * 持たないので、この 30px が器の外へ抜け（外余白の相殺）、灰色の帯の外に白い空きとして出る。
		 * **本番のトップページだけは器が `padding-top: 1px` を持つ**ので、30px が器の内側に残る。
		 * トップページの扱いは下の `body.home` の規則を見よ。
		 *
		 * 🚨 **外の 30px と内の 30px は対で動かす。**片方だけ直すと見出しの文字が 30px ずれる。
		 * 帯の中身（見出しの文字から下）の位置は、どちらの形でも同じである。
		 *
		 * パソコン幅は移行元の組みが別なので、ここ（携帯幅）だけに絞る。
		 * 台帳: docs/pa-cms/design/意図的変更の台帳.md（「携帯幅の足元（フッター）の灰色の帯の、
		 * 上端と見出しの文字の間の空き」の行。D750 で「見直し」にした）.
		 */
		margin-top: 30px;

		/* .sitemap の padding-bottom（15px）と、区画どうしの間（margin-top 30px）. */
		--pa-footer-block-space: 15px;
		--pa-footer-block-gap: 30px;
		/* .pmarkList / .footer_nav_link の padding-top（30px）と margin-bottom（15px）. */
		--pa-footer-certs-space: 30px;
		--pa-footer-certs-after: 15px;
		/* 規程へのリンクはスマホ幅では帯の幅を絞らず、画面幅いっぱいに積む. */
		--pa-footer-policy-width: none;
		/* 見出しの下の余白。移行元 .sitemap_heading の margin-bottom（20px）. */
		--pa-footer-heading-gap: 20px;
		/* 見出しの文字。移行元 .sitemap_heading a の 15px. */
		--pa-footer-heading-size: 15px;
		/* 見出しの行の高さ。パソコン幅の 1.8 は、移行元のパソコン版が見出しを段落
		   （p.sitemap_name）で書いていて `p { line-height: 1.8 }` を受けるためである。
		   移行元のスマホ版は見出しが段落ではなく定義リストの見出し（dt.sitemap_heading）
		   なので、その規則が当たらず全称セレクタの `* { line-height: 1.5 }` だけが効く
		   （移行元のトップページを幅 375px で実測して 15px × 1.5 = 22.5px。2026-08-08）。
		   1.8 のままだと 1 行が 4.5px 高く、2 行に折り返す見出しで 9px 伸びていた. */
		--pa-footer-heading-line-height: 1.5;
		/* 行の高さ（Task #9531 で出どころを直した）。1.65 は、移行元の**新デザインの共通 CSS**
		   `public/assets/css/style.css`（トップと新デザインの店舗）の 1 行 21.47px（リンク 1.5rem＝幅 375 で
		   14.313px × `* { line-height: 1.5 }`・96 行）を、字 13px で近似した値（13 × 1.65 = 21.45px）である。
		   移行元の**スマホ版**（下層ページ・`sp/css/basic.css`）は字を 13px にし、行の高さを指定しない。
		   下層ページは下の `.pa-legacy-common-css .site-footer` が `normal` に戻す。トップと新デザインの店舗は、
		   サイトマップと支店案内のリンクに移行元の 1.5rem・1.5 を当てる（下の `body.home`・`pa-profile-new` の規則）。
		   幅 375 で 4 ページ（トップ・体験談の一覧・成婚ストーリーのトップ・こだわりの一覧）を移行元と並べて測った
		   （`pa-verify-assets/B/9531-直す前の読み-1006/走行1/`）。パソコン幅の 184% は移行元のパソコン版の値で、
		   携帯幅には当たらない. */
		--pa-footer-line-height: 1.65;

		/* 移行元のスマホ版はフッターの器そのものに余白を持たず、最初の区画の
		   margin-top（30px）が上の間隔を作り、下は著作権表示の padding-bottom が
		   受け持つ（footer_contents.css の .sitemap と .copyright）. */

		/* フッターの下地の色はスマホ幅でも打ち消さない。旧版はここへ
		   `background-color: transparent` を置き「移行元のスマホ版は背景色を持たず、
		   ページ全体の rgb(243,247,249) が透ける」と書いていたが、これは誤りだった。
		   移行元を携帯の UA で開き直して実測すると、スマホ版の器
		   （div.footer_contents）自身が rgb(245,245,245) を持つ（2026-08-27 採取）。
		   さらに dev の body は #fff なので、透過にすると移行元の色ではなく白が
		   出る（外部レビューの指摘）。パソコン幅と同じ #f5f5f5 が正しい. */

		/* 帯の中は 0（移行元の下層ページの形・D750）。上の `margin-top: 30px` と対で効く。
		   左右と下も移行元どおり 0 で、下端の余白は著作権表示が受け持つ. */
		padding: 0;
	}

	/* 🚨 **トップページだけは、移行元の本番どおり 30px を帯の内側に持つ（D750・D451）。**
	   移行元の本番のトップページは `.footer_contents` が `padding-top: 1px` を持ち、`.sitemap` の
	   上の外余白 30px が器の外へ抜けない。2026-10-05 に本番と写しを並べて測り直した（幅 375・iPhone の UA・
	   `pa-verify-assets/B/9412-本番実測-1005/走行1/`）: トップは両側とも「帯の上端 → 最初の字 32・器の padding-top 1px」、
	   下層 3 ページ（体験談の一覧・成婚ストーリーのトップ・こだわりの一覧）は両側とも「押しボタン → 帯の上端 80・帯の上端 → 最初の字 4・
	   器の padding-top 0」だった。WordPress は表のトップページの `<body>` に `home` を付ける. */
	body.home .site-footer {
		margin-top: 0;
		padding-top: 30px;
	}

	/* 🚨 **新デザインの店舗ページも、移行元は 30px を帯の内側に持つ（Bug #9502）。**
	   移行元の新デザインの店舗（写し 822eda470 で名古屋・静岡・神戸・京都・梅田・横浜・福岡・銀座・新宿の 9 本。岡山店は閉店）は、
	   PHP の `getDeviceType()` が携帯の UA のときだけ `div.mobile-footer` を出し、新デザイン用の共通 CSS
	   `public/assets/css/style.css` の `.mobile-footer …`（1722〜2025 行）が当たる。器 `.footer_contents` は `padding-top: 1px`（1722 行）を持ち、
	   1 つ目の区画 `.sitemap` の上の外余白 30px が器の外へ抜けない。dev はその 30px を帯の外に持ち、body の地（rgb(243,247,249)）が写っていた.

	   字と行の高さも、この CSS の土台に合わせる。移行元は `* { line-height: 1.5 }`（96 行）・`html { font-size: 2.5445292621vw }`（118 行）で、
	   リンクの字は 1.5rem（幅 375 で 14.313px）・行は字の 1.5 倍になる。グループの見出し（`.sitemap_group_title a`）だけは 13px（1845 行）。
	   dev の既定の携帯幅の値（13px × 1.65）は、この 1 行の高さ 21.47px を近似したもので、見出しの行（移行元 19.5px）と支店案内の
	   エリア・都道府県の行がずれていた（直す前の読み `pa-verify-assets/B/9502-直す前の読み-1006/走行2/`）.

	   新デザインの店舗は `pa-profile-new` を持つ店舗詳細だけである（`inc/design-profile.php` の新デザインの店舗の一覧）。
	   下層ページの足元は動かさない.

	   🚨 **トップページも同じ新デザインの CSS なので、字と行の 3 本はトップにも当てる（Task #9531）。**dev の既定の 13px × 1.65 では、
	   トップの足元の字の上端が下へ行くほど −1〜−4 ずれていた（`pa-verify-assets/B/9531-直す前の読み-1006/走行1/`）。
	   帯の上の 2 本（器の内余白 1px と最初の区画の外余白 30px）はトップには当てない。トップは上の `body.home .site-footer` が
	   帯の中に 30px を持つ（D750）. */
	body.single-branch.pa-profile-new .site-footer {
		margin-top: 0;
		padding-top: 1px;
	}

	body.single-branch.pa-profile-new .site-footer__block--sitemap {
		margin-top: 30px;
	}

	:is(body.home, body.single-branch.pa-profile-new) :is(.site-footer__block--sitemap, .site-footer__block--branch) li {
		font-size: 3.8167938932vw;
		line-height: 1.5;
	}

	:is(body.home, body.single-branch.pa-profile-new) :is(.site-footer__block--sitemap, .site-footer__block--branch) a {
		line-height: 1.5;
	}

	:is(body.home, body.single-branch.pa-profile-new) .site-footer__block--branch .site-footer__menu--columns a {
		font-size: 3.8167938932vw;
	}

	/* 区画の左右の余白は、移行元のスマホ版だと画面幅の 6.25%（幅 375px で 23.4px）
	   である（legacy/www.p-a.jp/public/sp/css/footer_contents.css:98-102 の
	   `.sitemap { margin: 30px 6.25% 0 }`。認証マーク帯・規程リンクも同じ 6.25%
	   を使う）。中身の幅は 328.1px になる。dev は共通の器の余白（15px）のままで
	   345px あり、1 行に入る文字数が違うため折り返しの回数がずれていた. */
	.site-footer__inner {
		padding: 0 6.25%;
	}

	/* 支店案内の見出しの下の余白を 20px へ戻す。パソコン幅の 15px は移行元の
	   パソコン版だけの値である（移行元 page_top.css の `.sitemap.branch
	   .sitemap_name { margin-bottom: 15px }`）。移行元のスマホ版は 3 区画とも
	   dt.sitemap_heading の 20px で揃う（移行元のトップページを幅 375px で開き、
	   支店案内の見出しの margin-bottom が 20px であることを実測。2026-08-08）。
	   上の 15px は幅を問わず当たっていたため、支店案内が 5px 低かった.

	   関連サービスの区画はスマホ幅では隠すため（この @media の末尾を参照）、
	   ここでは支店案内だけを対象にする. */
	.site-footer__block--branch .site-footer__heading {
		margin-bottom: var(--pa-footer-heading-gap);
	}

	/* 支店案内の見出しは、移行元のスマホ版だと「支店案内」だけの 1 行である
	   （移行元のトップページを幅 375px で開いて実測。見出しの高さ 22.5px）。
	   パソコン版は「結婚相談所・結婚支援サービスパートナーエージェント｜支店案内」
	   の全文で、移行元は別の HTML を返して出し分けている。このテーマはパソコン版と
	   スマホ版で 1 枚の markup を共有するため、区切り文字より前（footer.php が
	   span で包んでいる）をスマホ幅だけ隠して同じ 1 行にする。全文のままだと
	   2 行に折り返し、支店案内の区画が 22.5px 高くなる（Bug #1626）. */
	.site-footer__heading-prefix {
		display: none;
	}

	/* 移行元のスマホ版はサイトマップを 1 列に積む（footer_contents.css の
	   .sitemap_group に幅の指定が無い）。段組みを解いて同じ積み方にする. */
	.site-footer__menu--columns {
		columns: 1;
	}

	/* 移行元のスマホ版は、見出し（.sitemap_group_title）の下に 10px、そのかたまり
	   （.sitemap_group_list）の下に 20px を取る。パソコン幅と同じ 25px を全項目に
	   付けると、項目数ぶん（19 か所）だけ縦に伸びる. */
	.site-footer__menu--columns > li {
		margin-bottom: 10px;
	}

	/* この 10px / 20px はサイトマップの区画だけの値である。店舗案内の区画は
	   移行元のスマホ版でもエリア名と中身の間に余白を取らず（.area と
	   .area_content が左右に並ぶだけ）、区切りはエリアごとの 10px
	   （.shop_list の margin-bottom）しか無い。区画を絞らずに当てると、
	   エリア 9 件ぶんの余白が積み上がって店舗案内が約 270px 伸びる. */
	.site-footer__block--sitemap .site-footer__menu--columns > li > .sub-menu {
		margin-top: 10px;
		margin-bottom: 20px;
	}

	/* サイトマップの区画では、列の先頭に立つ項目の文字が移行元のスマホ版だと
	   13px である（`.sitemap_group_title a { font-size: 13px }`。移行元のトップ
	   ページを幅 375px で実測して 13px。2026-08-08）。15px なのは区画の見出し
	   （.sitemap_heading a）だけである。dev は両方を --pa-footer-heading-size
	   （15px）で出しており、1 行が 24.75px と移行元の 21.47px より 3.3px 高く、
	   19 項目ぶんで約 63px 縦に伸びていた。
	   店舗案内の区画には当てない。移行元のスマホ版でエリア名（dt.area）は
	   font-size の指定を持たず、地の 14.31px のまま出るためである. */
	.site-footer__block--sitemap .site-footer__menu--columns > li > a {
		font-size: var(--pa-footer-font-size);
	}

	/* 足元のリンクの文字色。**移行元は側で値が違う**（Bug #3433）。

	   移行元のパソコン版は**灰 #595757** である（`public/css/page_top.css` の
	   `#footer #footer_inner .sitemap .sitemap_menu li a`）。ところが**移行元のスマホ版は
	   足元のリンクに色を 1 つも指定していない。**スマホ版の足元は別の目印で組まれており
	   （`sitemap_group_item` / `shop_item` / `prefecture` 等）、`.sitemap_menu li a` の
	   規則そのものが無い。したがって素のリンクの色（`/sp/css/style.css` の
	   `a { color: rgb(0,0,0) }`・幅の条件なし）を継いで**すべて黒**で出る。

	   実測（幅 375px・移行元スマホ版 `/sp/introduce/story/`・2026-09-08）:
	   足元のリンク **127 本すべて `rgb(0, 0, 0)`**。店舗の一覧（都道府県と店舗名の
	   41 本）も黒である。

	   dev はトークンを両幅で使っていたため、**携帯幅で 70 本が灰のまま**だった
	   （幅 375px の実測。サイトマップの子の行 18 本 ＋ 店舗案内 52 本）。列の先頭に
	   立つ項目・規程のリンク・よくある質問の帯は、もともと黒で一致していた。

	   🚨 **サイトマップの区画だけに絞ってはいけない。**絞ると店舗案内の 52 本が灰の
	   まま残る（一度その形で書きかけ、店舗の一覧を実測して気づいた）。

	   **トークンを足元の中だけで上書きする。**このトークンを使うのは足元のリンク
	   4 か所（サイトマップと店舗案内の子の行・店舗案内の中間の階層・店舗の無いエリア）
	   だけで、いずれも移行元のスマホ版では黒である. */
	.site-footer {
		--pa-footer-link-color: #000;
	}

	/* 支店案内の区画のエリア名（移行元のスマホ版の dt.area）は 14.31px である
	   （移行元のトップページを iPhone の User-Agent・幅 375px で開いて実測。
	   2026-08-08）。dev は区画の見出しと同じ 15px で出していた。
	   エリア名は幅 35% の左の列（375px 幅で 114.84px）に入るため、15px だと
	   8 文字の「店舗のないエリア」が 120px になって収まらず、2 行に折り返って
	   エリア 1 件ぶん（約 18px）縦に伸びる。移行元と同じ 14px 台へ戻す
	   （8 文字で 112px。移行元の 114.48px と同じく 1 行に収まる。Bug #1699）。
	   このテーマは文字の大きさを px で持つため、移行元の 14.31px にいちばん近い
	   整数の 14px を採る. */
	.site-footer__block--branch .site-footer__menu--columns > li > a {
		font-size: 14px;
	}

	/* 列が 1 つしか無いスマホ幅では、列の強制区切りは不要（意味も無い）ため解除する. */
	.site-footer__block--branch .site-footer__menu--columns > li.pa-col-start {
		break-before: auto;
		-webkit-column-break-before: auto;
	}

	/* 店舗案内だけは、移行元のスマホ版が「エリア名 35% ＋ 中身 65%」の
	   2 列に分けている（.area と .area_content）。同じ割り方にする. */
	.site-footer__block--branch .site-footer__menu--columns > li {
		display: grid;
		grid-template-columns: 35% 65%;
	}

	/* エリアのかたまりどうしの区切り。移行元のスマホ版は、エリアの中身
	   （右の列）の下に 10px を取る（移行元のトップページを幅 375px で開いて
	   適用中の規則を取り出し、`.mobile-footer .sitemap .area_list .shop_list
	   { margin-bottom: 10px }` を実測。2026-08-08）。エリア名（左の列）の側には
	   余白が無く、行の高さは左右の高い方で決まる。dev はこの 10px を持たず、
	   エリア 9 件ぶんで支店案内の一覧が 69.8px 低かった.

	   余白を行（li）ではなく中身（.sub-menu）に付けるのは、移行元と同じ置き方に
	   するためである。行に付けると、中身が 1 行しかないエリア（北海道・中国・
	   九州）でエリア名の高さが行の高さを決めてしまい、10px がそのまま上乗せに
	   なって移行元より高くなる. */
	.site-footer__block--branch .site-footer__menu--columns > li > .sub-menu {
		margin-bottom: 10px;
	}

	/* エリアの中身も、移行元のスマホ版は「都道府県名 45% ＋ 店舗名 55%」の
	   2 列に分けている（.shop_list の .prefecture が float: left・width: 45%、
	   .shop_item が float: right・width: 55%）。上の 35%/65% はエリア名と
	   エリアの中身を分けるだけで、その中の都道府県名と店舗名は 1 項目ずつ縦に
	   積んでいたため、この区画の高さが本番の約 3 倍（488px 対 1,458px）に
	   伸びていた（Bug #1345）。
	   :has(> .sub-menu) で「配下に店舗を持つ都道府県」だけに絞っているのは、
	   移行元のスマホ版でも幅 45% が付くのは .prefecture の付いた項目だけで、
	   オンライン店（栃木オンライン店 等）は class の無い素の <dd> のまま
	   幅いっぱいに出ているからである。ここで絞らずに階層だけで指定すると、
	   店舗を持たないオンライン店の名前が幅 45% に押し込まれて折り返す.

	   「店舗のないエリア」は、以前はこの 45% の側に入って 2 行に折り返っていた。
	   メニューの投入定義（scripts/pa-cms/seed-menus.php）でエリアの階層へ移した
	   ため、いまはこの規則の対象ではない（Bug #1699）. */
	.site-footer__block--branch .site-footer__menu--columns > li > .sub-menu > li:has(> .sub-menu) {
		display: grid;
		grid-template-columns: 45% 55%;
	}

	/* 「店舗のないエリア」と「WEB相談」の携帯幅の置き方（ユーザー決定 D565・Bug #8375）。
	   メニューの階層は D181 でパソコン版に合わせてあり、2 つとも「オンライン一覧」の
	   子（右の列）に並ぶ。移行元のスマホ版は「店舗のないエリア」をエリアの見出し
	   （`dt.area`・左の列）に置き、「WEB相談」をその子（右の列・見出しと同じ高さ）に
	   置く。dev はこの 2 行をオンライン一覧の子として 23px ずつ積んでいたため、
	   店舗案内の並びが 13px 高かった（dev 918 対 移行元 905・幅 375 で実測。
	   62 行のうち差は最後の 2 行だけ）。

	   携帯幅だけ、見た目を移行元のスマホ版にそろえる。移行元と同じく float で
	   左の列へ出す（移行元は `.area` が float: left・width: 35%）。
	   - 幅と左への引き出しの 53.8462% は、左の列 35% を右の列 65% に対する割合で
	     書いたもの（35 / 65）。百分率の余白は親（右の列の `.sub-menu`）の幅で解決される
	   - 上の 10px は、移行元がエリアのかたまりの間に取る `.shop_list` の下余白 10px
	     である。見出しと「WEB相談」の両方に付けて同じ高さに並べる
	   - `.sub-menu` は grid の項目で独立した組版の文脈を作るので、float を中に収める。
	     並びの最後の下余白 10px（上の `> li > .sub-menu`）は、そのまま最後に付く
	   - 見出しの下の −10px は、移行元が下余白 10px を右の列（`.shop_list`）にだけ
	     持ち、左の列（`.area`）には持たないことを写したもの。並びの高さは
	     「左の列の高さ」と「右の列の高さ＋10px」の大きい方になる。見出しが 2 行に
	     折り返す幅（320 で高さ 46）では左の列が決め手になり、−10px が無いと
	     移行元より 10px 高くなる（幅 320 で実測。dev 928 対 移行元 918）

	   字は、エリアの見出し（上の `> li > a`）と同じ色と大きさにする。大きさは
	   トークン（`--pa-footer-heading-size`）ではなく、見出しの携帯幅の値 14px を
	   そのまま書く（新デザインのページはトークンが 15px になり、見出しと食い違う。
	   トップを幅 375 で実測）。`:where()` で
	   詳細度を見出しの規則と同じ (0,2,2) に抑え（`.sub-menu` と `li.pa-branch-no-store`
	   を 1 段ずつ別の `:where()` に入れる。1 つの `:where()` に `>` ごと入れると、
	   外側の `> li >` と合わせて段が 1 つ足りなくなり、どこにも当たらない）、旧デザインのページで字を 13px に
	   戻す規則（`.pa-legacy-common-css … .site-footer__menu a`・(0,3,1)）と、
	   ホバーの色替え（`.sub-menu > li > a:hover`・(0,3,2)）に譲る。太字は項目
	   （`.sub-menu > li` の 700）から継ぐ. */
	.site-footer__block--branch .site-footer__menu--columns > li > .sub-menu > li.pa-branch-no-store {
		float: left;
		width: 53.8462%;
		margin-top: 10px;
		margin-bottom: -10px;
		margin-left: -53.8462%;
	}

	.site-footer__block--branch .site-footer__menu--columns > li > .sub-menu > li.pa-branch-no-store + li {
		margin-top: 10px;
	}

	.site-footer__block--branch .site-footer__menu--columns > li > :where(.sub-menu) > :where(li.pa-branch-no-store) > a {
		color: var(--pa-footer-heading-color);
		font-size: 14px;
	}

	/* 規程へのリンクは、移行元のスマホ版では縦棒を使わず 1 行ずつ積む
	   （.footer_nav_link li）。文字は左揃えにする。移行元のスマホ版で
	   text-align: center を持つのはコピーライト行（.copyright）と FAQ
	   キーワード帯（.service_keyword）だけで、規程リンクの一覧
	   （.footer_nav_link）には text-align の指定が無く既定の左揃えだからである
	   （Bug #1339）. */
	.site-footer__menu--policy {
		display: block;
	}

	/* 認証ロゴ帯は、移行元のスマホ版（footer_contents.css の .pmarkList）が
	   1 行 2 個の折り返しにしている。同じ折り方にする。移行元は枠の高さを決めず
	   （パソコン版の 60px はスマホ版に無い）、枠の下に 15px を取る. */
	.site-footer__certs-item {
		width: 50%;
		height: auto;
		margin-bottom: 15px;
	}

	/* 移行元の携帯版は、認証マークの実寸をそのまま出す。ただし JMIC は
	   120x72px の画像を 100x60px で表示している（Issue #2240）。この指定は
	   携帯幅のメディアクエリ内だけに置き、パソコン幅の寸法には触れない。

	   高さは指定しない。4 枚とも画像の実寸の比率が移行元の表示寸法と同じ
	   なので、幅だけ決めれば高さは移行元と一致する（実測: privercy 66x71 /
	   jmic 120x72 を 100px 幅で 60px / cms 60x72 / verisign 97x59）。

	   目印にファイル名の一部を使う（`*=`）。この 4 枚には他と見分けられる
	   クラスが無いためである。テーマ同梱の画像はキャッシュ対策でファイル名に
	   要約値を挟むことがあるので、拡張子まで含めた完全一致（`$=`）にすると
	   黙って外れる。 */
	.site-footer__certs-item img[src*="icon_privercy"] {
		width: 66px;
	}

	.site-footer__certs-item img[src*="icon_jmic"] {
		width: 100px;
	}

	.site-footer__certs-item img[src*="icon_cms"] {
		width: 60px;
	}

	.site-footer__certs-item img[src*="icon_verisign"] {
		width: 97px;
	}

	/* 証券コードの札（5 番目）は、移行元のスマホ版が塊の幅の 80% に絞って中央へ
	   寄せる（`sp/css/common.css` の `.pmarkList li.code`）。dev は幅いっぱいに
	   広げていたため、札の中の絵と説明文が 32.81px 左へずれていた（Bug #4778）。

	   実測（幅 375px。塊の幅は 328.13px）:

	     | 見たもの         | 移行元 | 直す前の dev |
	     | 札の幅           | 262.50 | 328.13       |
	     | 札の左           | 56.25  | 23.44        |

	   移行元の指定は `display: flex; width: 80%; text-align: left; margin: 0 auto;
	   align-items: center;` である。**隙間は持たない**（説明文の側が
	   `margin-left: 2vw` で間を作る）ので、パソコン幅の `gap: 5px` を解く。
	   中身の寄せも移行元は既定（先頭寄せ）なので、パソコン幅の `center` を解く.  */
	.site-footer__certs-item--code {
		width: 80%;
		height: auto;
		margin: 0 auto;
		justify-content: normal;
		gap: 0;
	}

	/* 移行元のスマホ版は認証マークの画像を縮めない（footer_contents.css の
	   .pmarkList img は width: auto）。パソコン幅だけの 19x25px を解く。

	   🚨 **幅を確定させ、縮ませない（Bug #4051・裁定 213・2026-09-06）。**
	   もとは幅と高さの両方を `auto` にしていたため、属性
	   （`width="41" height="53"`）が付いていても**絵が届くまで場所を取らず**、
	   届いた瞬間にページが 53px 下へ飛んでいた。

	   絵の応答を 6 秒遅らせて測った値（幅 375px・`/guide/` を両側。両側とも
	   測るときに届いていた絵は 0 枚。2026-09-06 06:47〜07:0x JST）:

	     | 側          | 属性  | 読み込み前 | 届いたあと | 飛び    |
	     | 移行元      | 41×53 | 29.06      | 53         | +23.94  |
	     | 直す前の dev | 41×53 | **0**      | 53         | **+53** |

	   **移行元も飛ぶが、dev のほうが 29px 悪かった。**

	   🚨 **`aspect-ratio` を足すだけでは直らない（実測で確かめた）。**縦横比は
	   属性から既に `auto 41 / 53` として効いている。効かないのは**幅が確定して
	   いない**からで、届く前の幅は 0 なので 0 × 比 = 0 のままだった。

	   🚨 **`flex-shrink: 0` も要る（実測で分かった）。**この項目は横並び
	   （`display: flex`）で、絵の隣に説明の段落が入る。幅を 41px にしただけでは、
	   届く前は段落の側が広く取られて**絵が 31.36px（高さ 40.53）まで縮められて
	   いた**。縮ませない指定を足して初めて 41 × 53 になる。

	   🚨 **これは絵を縮める変更ではない。**41px はこの絵の実寸そのもので、
	   届いたあとに `auto` が解く値と同じである（dev の実測 41 × 53）。隣の段落の
	   幅も 282.13px のまま変わらない。上の `max-width: 100%` も残るので、器が
	   41px より狭い幅では従来どおり縮む。**パソコン幅だけの 19×25px を解く**
	   という、この規則の元の目的も変わらない.  */
	.site-footer__certs-item--code img {
		width: 41px;
		height: auto;
		aspect-ratio: 41 / 53;
		flex-shrink: 0;
	}

	/* 説明文（「タメニー株式会社は…」）は、移行元のスマホ版が 10px で、行送りを
	   自分では決めない（`.pmarkList p { font-size: 10px }` だけ。行送りは
	   `normal`）。絵との間は `.pmarkList li.code p { margin-left: 2vw }` で作る。

	   dev はパソコン幅の 9px と行送り 1.3 をそのまま携帯幅でも使っていたため、
	   1px 小さく、2 行の高さが 30px にならなかった（Bug #4778）。

	   実測（幅 375px。札の幅 262.50px・絵の幅 41px）:

	     | 見たもの     | 移行元 | 直す前の dev |
	     | 字           | 10px   | 9px          |
	     | 行送り       | normal | 11.7px       |
	     | 高さ（2 行） | 30     | 23.38        |
	     | 左           | 104.75 | 69.44        |
	     | 幅           | 214    | 282.13       |

	   `2vw` は幅 375px で 7.5px であり、左は 56.25（札）＋ 41（絵）＋ 7.5 で
	   104.75 になる。移行元と同じ相対の単位のまま写す（幅 320px と 749px でも
	   移行元と同じ値になるためである）.  */
	.site-footer__certs-item--code p {
		margin-left: 2vw;
		font-size: 10px;
		line-height: normal;
	}

	/* 移行元のスマホ版 .pmarkList は上にだけ罫線と余白を持ち、下の余白は
	   枠ごとの margin-bottom（15px）と帯の margin-bottom（15px）で作る。
	   下の罫線はすぐ後ろの規程リンクが自分で引くため、ここでは引かない.

	   上の余白は 46px である。移行元のスマホ版は罫線を支店案内の区画の下端に
	   引き（.sitemap の border-bottom）、そこから 16px 空けてこの帯を置き
	   （.pmarkList の margin-top: 16px）、さらに 30px の内側の余白を取る
	   （同 padding-top: 30px。移行元のトップページを幅 375px で開いて適用中の
	   規則を取り出し、`margin: 16px 6.25% 15px; padding-top: 30px` を実測。
	   2026-08-08）。このテーマは罫線をこの帯の上端に引くため、16px を外側の
	   余白として足すと罫線ごと 16px 下がってしまう。罫線の位置を動かさずに
	   中身だけを移行元と同じ位置へ下げるため、内側の余白へ 16px を足す. */
	.site-footer__certs {
		padding-top: calc(var(--pa-footer-certs-space) + 16px);
		padding-bottom: 0;
		border-bottom: 0;
	}

	/* 規程へのリンクは、移行元のスマホ版 .footer_nav_link が
	   margin: 15px 6.25% 30px・padding-top: 30px・上に罫線、である。
	   パソコン幅は上の認証マーク帯が罫線を持つので引かないが、スマホ幅は
	   この一覧の側が引く. */
	.site-footer__policy {
		margin: 15px auto 30px;
		padding-top: var(--pa-footer-certs-space);
		border-top: 1px solid var(--pa-color-border);
	}

	/* 移行元 .footer_nav_link li は `font-size: 1.5rem; line-height: 1.8` である。
	   スマホ版の移行元は `html { font-size: 2.5445292621vw }` なので、1.5rem は
	   画面幅に比例する 3.8167938932vw になる。固定値を置くと 1 つの幅でしか
	   合わない（旧版は 14.313px を置いていたが、これは幅 375px での値にすぎず、
	   320px で 2.1px・360px で 0.57px・414px で 1.49px ずれていた。外部レビューの
	   指摘）。
	 *
	 * 実測（移行元 https://www.p-a.jp/ を携帯の UA で開き 2026-08-27 採取）:
	 *   幅 320px 12.2137px / 360px 13.7405px / 375px 14.313px / 414px 15.8015px /
	 *   749px 28.5878px。いずれも幅 × 0.0381679 と一致する。
	 *   line-height はどの幅でも文字の 1.8 倍だった。
	 *
	 * 13 行ある一覧なので、1 行の差は 13 倍で効く。移行元と同じ比例式で書く
	 * （Issue #2153）. */
	.site-footer__menu--policy > li {
		padding: 0;
		border-right: 0;
		font-size: 3.8167938932vw;
		line-height: 1.8;
	}

	/* 著作権表示。移行元のスマホ版は上に罫線を引き、下に画面幅の 21.875%
	   （幅 375px で 82px）の余白を取る（footer_contents.css の
	   .footer_contents .copyright）。この余白は画面下端に固定表示される
	   申し込みの導線が文字に重ならないようにするためのもので、移行元と同じ
	   高さ（375x121px）を作る要素でもある（Bug #1626 の C2-34）。固定表示の
	   バーそのものは別の Issue の担当範囲であり、ここでは触っていない. */
	/* 箱の幅は画面いっぱい（375px）で、器の左右の余白の外へ出す。移行元は著作権
	   表示だけをフッターの器（.footer_contents）の直下に置いており、左右に余白を
	   持つサイトマップ等（幅 328.1px）とは違って画面幅いっぱいに広がる（移行元の
	   スマホ版を幅 375px で実測して 375x121px。2026-08-07）。dev は器の中に
	   入れていたため 345x114.5px だった（Bug #1626 の承認申請一覧の 13 番）.

	   下の余白は移行元 sp/css/footer_contents.css:5-7 の
	   `.footer_contents .copyright { padding-bottom: 21.875% }` である。割合の
	   余白は「親の幅」を基準に計算されるので、移行元では 375px の 21.875%
	   （82.03px）になる。ここでは箱を画面幅へ広げたうえで、同じ値になるよう
	   画面幅を基準にする単位（vw）で書く. */
	.site-footer__copyright {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 20px 0 21.875vw;
		border-top: 1px solid var(--pa-color-border);
	}

	/* 会員専用ページ・サイトマップは、移行元のスマホ専用テンプレートだけに
	   存在する項目。スマホ幅では他の規程リンクと同じ 1 行ずつの積み方で表示する
	   （Bug #1319）. */
	.site-footer__menu--policy .pa-footer-policy--sp-only {
		display: block;
	}

	/* 「お客さまの声」は移行元のスマートフォン版のフッターにだけ有る項目。
	   スマホ幅では他の項目と同じ積み方で表示する（Bug #1626 の C2-07）. */
	.site-footer__menu .pa-footer-sp-only {
		display: list-item;
	}

	/* FAQ キーワード帯は、移行元のスマホ専用テンプレートに対応する項目が無い
	   （PC 版テンプレートだけの内容）。スマホ幅では非表示にする（Bug #1319）. */
	.site-footer__faq {
		display: none;
	}

	/* エリアの一覧の案内文も、移行元のスマホ版には無い（Bug #6993）。

	   🚨 **ミラーのスマホ版のエリア一覧 `public/sp/branch/<地方>/index.html` に
	   `div.service_info` は 0 件である**（機械で数えた）。
	   `public/sp/css/common_new.css` 379 行に背景色の規則だけ残っているが、
	   エリアの一覧では使われていない。dev はパソコン版の組みを両幅で出すので、
	   ここで隠さないと移行元に無い区画が携帯幅に出る. */
	.site-footer__service-info {
		display: none;
	}

	/* タメニーグループの関連サービスの帯は、移行元のスマホ版ではどのページにも
	   出ない。テンプレート（legacy/www.p-a.jp/public/include/footer_sp.shtml の
	   192〜211 行目）は、この帯を `$uri === '/sp/' || $uri === '/sp/index.html'`
	   のときだけ出す作りになっている。ところがスマホの端末で /sp/ を開くと
	   移行元は / へ転送するため、条件に使う URI が `/sp/` になることが無く、
	   帯が出るページが実在しない（2026-08-07 に iPhone の設定・幅 375px で
	   /sp/ と /sp/visitor/method/ を開いて実測。どちらもフッターの区画は
	   サイトマップ・支店案内・認証マーク・規程リンク・著作権表示の 5 つだけ）。
	   #1626 のスマホ幅の目標値 2,962px も、この帯が無い状態の実測値である。
	   移行元の見え方をそのまま写す方針に従い、スマホ幅では隠す（C2-33）. */
	.site-footer__block--service {
		display: none;
	}

	/* サイトマップの列の器は、移行元のスマホ版と同じく縦に積む. */
	.site-footer__block--sitemap .site-footer__menu-column,
	.site-footer__block--sitemap .site-footer__menu-column:last-child {
		flex-basis: 100%;
	}

	/* ------------------------------------------------------------------
	   ここから下は、移行元が `/sp/` へ転送する**旧デザインのページ群**だけに
	   当てる（Task #3729）。

	   🚨 **移行元は携帯向けの出し方を 2 通り持ち、その 2 通りでフッターの帯の
	   姿が違う。**幅 375px・iPhone の名乗りで 2026-09-05 に実測した。

	     移行元トップ `/`（転送されない 8 ページ側）
	       html の字 9.54198px（= 2.5445vw）／規程の 1 行 25.75px／
	       著作権の行送り 18px／帯ぜんたい 2940.63
	     移行元 `/sp/guide/`（転送された先。旧デザインの 5,318 ページ）
	       html の字 13px（幅を変えても 13px のまま）／規程の 1 行 23.39px／
	       著作権の行送り normal（16px）／帯ぜんたい 2888.11

	   **この @media の上のほうにある値は、前者（トップ）で採ったものである。**
	   誤りではない。抜けは、1 つの世代の値を全ページへ当てはめたことのほうで
	   ある。**dev はいまトップ側と 1px も違わずに一致している**ので、上の値は
	   触らず、旧デザインのページ群にだけ下の値を重ねる。

	   当て先の印は `pa-legacy-common-css` を使う。移行元がサイト共通の初期化
	   （`css/common.css`）を読む世代に付き、読まない 8 ページには付かない
	   （`inc/design-profile.php`）。**その 8 ページの顔ぶれは、携帯で `/sp/` へ
	   転送されないページとぴったり同じである**（トップ・銀座・新宿・名古屋・
	   静岡・横浜・岡山・コースと料金）。
	   ------------------------------------------------------------------ */

	/* 規程へのリンク。移行元 `/sp/` は文書の基準の字が 13px 固定で、
	   `.footer_nav_link li { line-height: 1.8 }` が当たって 1 行 23.4px になる
	   （幅 320 / 375 / 414 / 749px のどれで開いても 23.39px。2026-09-05 実測）。
	   上の `3.8167938932vw` は画面幅に比例する指定で、これはトップ側の
	   `html { font-size: 2.5445292621vw }` を写したものである。旧デザインの
	   ページ群では基準の字が比例しないため、比例式は当たらない.

	   13 行ある一覧なので、1 行の 2.36px は 13 倍で効く（30.67px）. */
	.pa-legacy-common-css .site-footer__menu--policy > li {
		font-size: 13px;
	}

	/* 著作権表示。移行元 `/sp/` の `.copyright` は行の高さを指定せず、書体
	   （游ゴシック）の既定に任せている（実測 16px）。上の `1.8`（18px）は
	   トップ側の値である。書体は両側とも游ゴシックで一致することを確かめた.

	   🚨 **字間も移行元 `/sp/` は持たない（Bug #5210）。**このファイルの
	   `.site-footer__copyright` が `letter-spacing: 0.1em` を持ち、10px の文字で
	   1px になっていた。**移行元はパソコン版だけ 1px を持ち、携帯版は `normal`
	   である**ので、幅で書き分ける。

	   移行元の実測（本番 `/branch/chubu/hamamatsu.html`・2026-09-09 14:11 JST）:

	   | 幅 | 移行元 | dev（直す前） | 墨の幅 |
	   |---:|---|---|---|
	   | 1440px | 1px | 1px | 一致 |
	   | 375px | **`normal`** | **1px** | 146.8 → 178.8（+32） |

	   🚨 **当たり先はこの世代（`pa-legacy-common-css`）に絞る。**トップは移行元の
	   足元の作りが別（応答型の `.footer_contents`）で、**そちらの字間は測って
	   いない**。世代を絞らずに戻すとトップまで動く. */
	.pa-legacy-common-css .site-footer__copyright {
		letter-spacing: normal;
		line-height: normal;
	}

	/* 認証マークの帯。移行元 `/sp/` の `.pmarkList` は
	   `margin: 16px 6.25% 15px; padding-top: 30px; border-top: 1px solid #DCDCDC`
	   である（`legacy/www.p-a.jp/public/sp/css/footer_contents.css:243-250`）。
	   **16px は器の外の余白で、帯の高さには入らない。**

	   🚨 この @media の上のほうには「16px を外側の余白にすると罫線ごと 16px
	   下がってしまうので、内側の余白へ足す」という注釈があるが、**移行元でも
	   罫線は 16px 下にある**。移行元は支店案内の器の下端（y=2106）から 16px
	   空けた y=2122 に罫線を引く（2026-09-05 に幅 375px で実測）。dev は
	   支店案内の下端と同じ y に引いていた。**下げるのが移行元と同じである。**

	   最後の項目に残る下の余白も外す。移行元は帯そのものの `margin-bottom`
	   （15px）が下の間隔を作り、中の最後の項目は 0 である. */
	.pa-legacy-common-css .site-footer__certs {
		margin-top: 16px;
		padding-top: var(--pa-footer-certs-space);
		/* 移行元 `/sp/` のこの帯は罫線を持たない（本番で `borderTopWidth` が
		   `0px none`。2026-09-05 実測）。写しの CSS には `border-top` が
		   書いてあるが、本番の値と食い違う（正本
		   reference_legacy_sp_measure_live_not_mirror）。罫線は下の
		   支店案内の器の下端が引く. */
		border-top: 0;
		/* 絵は行の中に置かれ、下に書体ぶんの余りが出る。移行元は行の高さを
		   指定せず書体（游ゴシック）の既定に任せるため余りが 6px になる。
		   dev は 21.45px を当てていて 6.44px だった（正本
		   reference_image_line_box_needs_line_height_and_font_size）. */
		line-height: normal;
	}

	/* 行の高さ。移行元 `/sp/` はフッターの中で行の高さを指定せず、書体
	   （游ゴシック）の既定に任せている。**項目の 1 行は 20px、見出しの 1 行は
	   23px**である（字はそれぞれ 13px と 15px。2026-09-05 に幅 375px で実測）。

	   この @media の上のほうにある `1.65` と `1.5` は、移行元トップの
	   21.47px / 22.5px に合わせた値である。旧デザインのページ群では移行元が
	   行の高さを指定していないので、こちらも指定しない.

	   🚨 **書体が同じでなければ `normal` の値は揃わない。**両側とも游ゴシックで
	   あることを実測で確かめてある. */
	.pa-legacy-common-css .site-footer {
		--pa-footer-line-height: normal;
		--pa-footer-heading-line-height: normal;
	}

	/* 罫線の置き方を移行元にそろえる。移行元 `/sp/` は**サイトマップと支店案内の
	   器の下端**に引き、認証マークの帯には引かない。dev は支店案内と認証マークの
	   **上端**に引いていた。線の見える位置は 1 本目だけ同じで、2 本目は移行元より
	   16px 下にずれていた（移行元は支店案内の下端 y=2106・dev は認証マークの
	   上端）。両側とも幅 375px で実測した（2026-09-05）. */
	.pa-legacy-common-css .site-footer__block--sitemap {
		border-bottom: 1px solid var(--pa-color-border);
	}

	.pa-legacy-common-css .site-footer__block--branch {
		border-top: 0;
		border-bottom: 1px solid var(--pa-color-border);
		/* 移行元 `/sp/` の `.sitemap` は上の 30px を**器の外の余白**に持つ
		   （`margin: 30px 6.25% 0`）。外なら帯の高さに入らない。dev は内側の
		   余白に持っていたため、帯が 30px ぶん高く数えられていた。罫線は上で
		   サイトマップの器の下端へ移したので、線の見える位置は動かない. */
		margin-top: 30px;
		padding-top: 0;
	}

	/* 足元の区切り線の色（Task #9531）。線の位置と太さは上の規則のまま、色だけを移行元にそろえる。
	   dev は 4 本とも `--pa-color-border`（#d9d9d9）だった。移行元は、サイトマップの下・認証マークの上（支店案内の下）・
	   規程のリンクの上が #dcdcdc、著作権表示の上が #ccc である.

	   | 線 | 移行元スマホ版（下層ページ） | 移行元の新デザイン（トップと新デザインの店舗） |
	   |---|---|---|
	   | サイトマップの下 | `sp/css/footer_contents.css` 96 行 `.sitemap` | `assets/css/style.css` 1803 行 `.mobile-footer .sitemap` |
	   | 認証マークの上 | 同 248 行 `.pmarkList` | 同 1932 行 `.mobile-footer .pmarkList` |
	   | 規程のリンクの上 | 同 273 行 `.footer_nav_link` | 同 1978 行 `.mobile-footer .footer_nav_link` |
	   | 著作権表示の上 | `sp/css/common.css` 399 行 `.copyright` | 同 1986 行 `.mobile-footer .copyright` |

	   dev は線を持つ要素がページの組みで違う（トップと新デザインの店舗は支店案内・認証マーク・規程・著作権の上端、
	   下層ページはサイトマップと支店案内の下端・規程と著作権の上端）。色だけを当てるので、線の無い辺は線が無いまま. */
	.site-footer :is(.site-footer__block--sitemap, .site-footer__block--branch, .site-footer__certs, .site-footer__policy) {
		border-top-color: #dcdcdc;
		border-bottom-color: #dcdcdc;
	}

	.site-footer .site-footer__copyright {
		border-top-color: #ccc;
	}

	/* 支店案内の行の高さ。移行元 `/sp/` は**箱を作る要素（エリア・都道府県・
	   店舗）の字が 15px** で、行が 23px になる。**中のリンクだけが 13px** で
	   ある（`dt.area` 15px の中の `a` が 13px、`dt.prefecture` と
	   `dd.shop_item` も同じ形。2026-09-05 に幅 375px で実測）。

	   dev は箱も 13px だったため 1 行 20px になり、エリアごとに 3px ずつ
	   低かった（35 行ぶんで 105px）。**箱の字と文字の字を分けて指定する**
	   （正本 reference_inline_box_height_from_font_not_lineheight と同じ型で、
	   行の箱の高さは中の文字ではなく箱の側の字で決まる）. */
	.pa-legacy-common-css .site-footer__block--branch .site-footer__menu--columns > li,
	.pa-legacy-common-css .site-footer__block--branch .sub-menu > li {
		font-size: 15px;
	}

	.pa-legacy-common-css .site-footer__block--branch .site-footer__menu a {
		font-size: 13px;
	}

	/* 🚨 **上の「箱 15px ・文字 13px」の組み合わせは、器が inline のときだけ
	   移行元と同じ位置に文字を置く。**エリア名と都道府県名の札は grid の項目に
	   なっていて **block へ変わる**ため、文字が 3px 上に出る（Bug #5437）。

	   幅 375px の実測（3 班・2026-09-10 00:51・控えは
	   pa-verify-assets/f3-renew-0909/out/5437.json）。

	   | 段 | 器の上端 | 文字の上端 | 器の中の位置 |
	   |---|---|---|---|
	   | 移行元 エリア名（`dt.area` 15px の中の inline な `a`） | 5080 | 5086 | **6** |
	   | 移行元 都道府県名・店舗名（同じ形） | 5080 | 5086 | **6** |
	   | dev エリア名（grid の項目で block） | 5039.14 | 5042.14 | **3** |
	   | dev 都道府県名（同じ） | 5039.14 | 5042.14 | **3** |
	   | dev 店舗名（`li` が list-item なので `a` は inline のまま） | 5039.14 | 5045.14 | **6** ✅ |

	   **移行元は 3 段とも 6 である。dev は店舗名だけ 6 で、エリア名と
	   都道府県名が 3 になっている。**

	   なぜ違うのか。inline な `a` は**器の行の箱**（箱の字 15px ＝ 23px）に
	   並ぶので、13px の文字は基準線でそろえられて 6px 下がる。block へ変わった
	   `a` は**自分の行の箱**（13px ＝ 20px）を持つので、下がる量が (20-13)/2 で
	   3px になる。**差の 3px がそのまま画面に出る。**

	   この 3px が、足元の支店一覧で符号を交互に変えながら 40 か所に出ていた
	   （3 班の突き合わせ。エリア名と都道府県名は下がらず、店舗名だけ下がるため、
	   都道府県 → 店舗の空きが +3・店舗 → 次のエリアの空きが -3 になる）。

	   🚨 **行の高さの差ではない。**文字の高さは 4 つとも両側 13px で、行送りも
	   両側 `normal` である。**動いているのは箱の中での文字の位置だけである。**

	   直し方は**上の内余白を 3px 取る**である。block へ変わった `a` の行の箱の
	   上に 3px 足すと、文字の上端が 3 + 3 = 6 になり移行元と同じになる。

	   🚨 **`line-height` で寄せてはいけない。**行の箱を 23px にすると文字は
	   中央にそろえられて (23-13)/2 = **5px** になり、移行元の 6px にならない
	   （移行元は中央ではなく基準線でそろえている）。

	   🚨 **段の高さは動かない。**`a` は grid の項目なので既定で行の高さまで
	   伸びており、行の高さを決めているのは反対の列である。内余白を足したあとの
	   `a` の中身の高さは 20 + 3 = **23px** で、いちばん低い段（都道府県の段・
	   店舗 1 件）の行の高さ **23px** と同じなので、はみ出さない。**反映後に
	   3 班の台本（`probe-5437.mjs`）で段の高さが動いていないことを確かめる。**

	   店舗名の札は対象外である（すでに 6 で合っている）。`li` が list-item の
	   ままで `a` が inline なので、この規則の当たり先に入らない. */
	.pa-legacy-common-css .site-footer__block--branch .site-footer__menu--columns > li > a,
	.pa-legacy-common-css .site-footer__block--branch .site-footer__menu--columns > li > .sub-menu > li:has(> .sub-menu) > a {
		padding-top: 3px;
	}

	.pa-legacy-common-css .site-footer__certs-item:last-child {
		margin-bottom: 0;
	}
}

/* サイトマップの可変列（750px〜1128px）。固定列は 314px x 3 と 157px で
   合計 1099px になる。共通の左右余白 15px x 2 を除いた内容幅が 1099px に
   なる画面幅は 1129px なので、1128px 以下では可変列を続けて折り返しを防ぐ.

   上限がこの下の支店案内の節（1099px 以下）と違う点に注意する。支店案内は
   1100px 以上で列間隔を 0 にする節（main.css の「1100px 以上」の節）を
   持つため、同じ 1128px まで列数を 3 に落とすと、1100〜1128px の帯で
   「列間隔 0 なのに 3 列」という移行元に無い状態になる。2 つの節は上限を
   別々に持たせる. */
@media (min-width: 750px) and (max-width: 1128px) {
	/* 各列の幅の計算で差し引いた 12px x 2 を、実際の列間隔として確保する. */
	.site-footer__block--sitemap .site-footer__menu-columns {
		column-gap: var(--pa-footer-column-gap);
	}

	.site-footer__block--sitemap .site-footer__menu-column,
	.site-footer__block--sitemap .site-footer__menu-column:last-child {
		flex: 1 1 calc(50% - (var(--pa-footer-column-gap) / 2));
	}
}

/* 支店案内の列数を落とす帯（750px〜1099px）。この幅で 7 列のまま維持すると
   1 列あたりの幅が足りず、店名が細かく折り返されてフッターが極端に縦長に
   なる（Codex 指摘。移行元も min-width: 1100px を基準にした設計で、この
   幅は元々想定していない）。列数を落とし、強制区切り（pa-col-start）も
   749px 以下のスマートフォン幅と同じく解除して、自動流し込みに戻す.

   上限を 1099px にしているのは、1100px 以上では支店案内が 7 列のまま
   列間隔だけを 0 にする節が効くためである。そちらと重なると崩れる. */
@media (min-width: 750px) and (max-width: 1099px) {
	.site-footer__block--branch {
		--pa-footer-columns: 3;
	}

	.site-footer__block--branch .site-footer__menu--columns > li.pa-col-start {
		break-before: auto;
		-webkit-column-break-before: auto;
	}
}

/* 「店舗のないエリア」は、移行元がパソコン版とスマートフォン版で置き場所を
   変えている唯一の項目である。スマートフォン版はエリアの階層（dt.area）に置き、
   パソコン版は都道府県と同じ階層（li.area_main）に置く（移行元のトップページを
   幅 1440px と幅 375px の両方で開いて実測。パソコン版はエリアの見出し
   （li.main_ttl）が 9 件・都道府県の階層（li.area_main）が 18 件で、
   「店舗のないエリア」は後者に入る。2026-08-08）。
   このテーマはパソコン幅とスマートフォン幅で 1 枚の markup を共有するため、
   メニューの階層は移行元のスマートフォン版に合わせ（scripts/pa-cms/seed-menus.php
   の目印 pa-branch-no-store）、パソコン幅の文字だけをここで都道府県と同じ
   13px・#595757 に戻す。戻さないとエリアの見出しと同じ 14px の黒で出て、
   移行元のパソコン版と食い違う（Bug #1699）.

   スマートフォン幅（749px 以下）には当てない。移行元のスマートフォン版では
   この項目もほかのエリア名と同じ大きさだからである. */
@media (min-width: 750px) {
	.site-footer__block--branch .site-footer__menu--columns > li.pa-branch-no-store > a {
		color: var(--pa-footer-link-color);
		font-size: var(--pa-footer-font-size);
	}

	/* 上の色指定は .site-footer__menu a:hover より詳細度が高く、そのままでは
	   ホバー・フォーカスの色替えが負けて効かない。同じ詳細度で上書きし直す
	   （このファイルの .site-footer__block--branch .sub-menu > li > a:hover と
	   同じ対処である）。足さないと、支店案内の 64 本のリンクのうちこの 1 本だけ
	   色が変わらなくなる. */
	.site-footer__block--branch .site-footer__menu--columns > li.pa-branch-no-store > a:hover,
	.site-footer__block--branch .site-footer__menu--columns > li.pa-branch-no-store > a:focus-visible {
		color: var(--pa-color-link-hover);
	}
}

/* 支店案内の行の下余白（Bug #3952）。

   移行元のパソコン版は、支店案内の行のいくつかに下余白を手で付けている
   （`li.mb10` が 22 行・`li.mb20` が 2 行。写しの include/footer.shtml から
   全 7 列を機械で読み出した。列ごとの合計は 50 / 10 / 40 / 40 / 40 / 50 / 30px）。
   規則では導けない。**「県のかたまりの最後の店」ではない**（横浜店・水戸店は
   かたまりの最後なのに 0 である）。移行元が手で付けたものなので、投入定義
   `scripts/pa-cms/seed-menus.php` で項目ごとに目印を渡す。

   支店案内の塊の高さは**いちばん高い列**で決まる。列 1 の 50px がそれにあたり、
   この 50px は `mb10` × 3 ＋ **`mb20` × 1（札幌店）**である。**20px を 10px で
   当てると 10px 足りない。**2 段階に分ける理由がこれである（岡山店も同じ）。

   🚨 **旧デザインのページだけに当てる。**移行元の新デザイン（トップほか 8 ページ）
   の支店案内は下余白を持たない。だから `.pa-legacy-common-css` の中に閉じる。

   🚨 **携帯幅（749px 以下）には当てない。**携帯幅は Bug #3729 でそろえた値が
   あり、1px も動かしてはいけない。

   🚨 **エリアの見出しの `mb10` は、見出しの直下に効かせる（Bug #9488）。**
   移行元は見出し（`li.main_ttl mb10`）も県も店も同じ `ul.area` の兄弟の `li`
   なので、10px は見出しと最初の県のあいだに入る。dev はエリアの `li` が配下の
   `.sub-menu` を包む入れ子なので、その `li` の下余白は配下の末尾の後ろに効く。
   見出しの直下が 10px 詰まり、末尾では最後の店の `mb10` / `mb20` と相殺して
   1 つ分になる（オンライン一覧の列が 10px 低くなり、塊も低くなった）。
   そこでエリアの `li` は下余白を持たず、配下の `.sub-menu` の上に 10px を置く。
   見出しの `a` には触れないので、見出しの行の高さは変わらない。末尾の余白は、
   配下の最後の店の目印が移行元と同じに受け持つ。 */
@media (min-width: 750px) {
	.pa-legacy-common-css .site-footer__block--branch li.pa-row-gap-10 {
		margin-bottom: 10px;
	}

	.pa-legacy-common-css .site-footer__block--branch li.pa-row-gap-20 {
		margin-bottom: 20px;
	}

	.pa-legacy-common-css .site-footer__block--branch .site-footer__menu--columns > li.pa-row-gap-10 {
		margin-bottom: 0;
	}

	.pa-legacy-common-css .site-footer__block--branch .site-footer__menu--columns > li.pa-row-gap-10 > .sub-menu {
		margin-top: 10px;
	}
}

/* --------------------------------------------------------------
 * トップページ（#1240 の編集領域）
 *
 * 写し元は移行元サイトの新デザイン一式である。
 *   構造  legacy/www.p-a.jp/public/index.html
 *   見た目 legacy/www.p-a.jp/public/assets/css/style.css（ビルド後）
 *
 * 移行元はブレークポイントを 650px / 750px / 1050px の 3 本使っていた。この
 * テーマは 750px の 1 本で通す（トークン --pa-breakpoint-sp）。移行元が 1050px
 * 以上に当てていた「横並びの版」は 750px 以上へ、650px 未満と 749px 以下に
 * 当てていた「縦積みの版」は 749px 以下へ寄せた。
 *
 * 移行元は寸法を rem（1rem = 10px）で書いていた。このファイルは px で持つため、
 * 10 倍して写している（例: 3.2rem → 32px）。
 * -------------------------------------------------------------- */

/* 移行元の配色のうち、共通のパレットに無い 2 色をここで持つ。トップページ
   だけで使う色であり、共通のトークンへ足すほどの出番が無いためである。 */
.front-page {
	/* 見出しに引く蛍光ペンの色。移行元のビルド後 CSS の #fff08e */
	--pa-front-marker: #fff08e;
	/* 体験談のボタンの茶色。移行元のビルド後 CSS の #c88501 */
	--pa-front-brown: #c88501;
	/* 体験談の面の地色。移行元のビルド後 CSS の #feffe3 */
	--pa-front-experience-bg: #feffe3;
	/* 店舗一覧の面の地色。移行元のビルド後 CSS の #f3f7f9 */
	--pa-front-store-bg: #f3f7f9;

	/* 共通ブロックが .front-page へ当てている max-width: 1200px を打ち消す。
	   トップページは背景を画面の端まで敷く節を持つため、外枠で幅を絞れない。
	   幅は節ごとの内側の器（*__inner）が --pa-inner-* で決める。 */
	max-width: none;
	padding: 0;

	/* 比較の節の写真は、移行元と同じく器の右へ 79px はみ出す。移行元は body の
	   overflow-x: hidden ではみ出しを隠していた。ここでは clip を使う。hidden と違って
	   スクロールの器を作らないため、ヘッダーの貼り付き（position: sticky）が保たれる。
	   縦方向は visible のままなので、節の上へせり上がる写真は切り落とされない. */
	overflow-x: clip;
}

/* 1049px 以下でだけ改行させる。移行元の .sp-only に当たる。
 *
 * 🚨 **境目は 1050px であって 750px ではない**（Bug #2958）。移行元は
 * `style.css` の 5402〜5415 行で `.sp-only { display: block }` を素の状態に持ち、
 * `@media (min-width: 1050px) { .sp-only { display: none } }` で消す。すぐ下の
 * `.pa-pc-only`（移行元の `.pc-only`）と**同じ 1050px** である。
 * 750px で切っていたため、**750〜1049px の帯で 25 か所が改行しなかった**
 * （2026-09-05 に型紙と実ページの両方で数えた値。Issue #2958 の本文の 27 か所は
 * 2026-09-02 時点の数である）。
 * 実害の例: よくあるご質問の質問 2 件が移行元では 2 行（57.59px）になるのに
 * 1 行（28.8px）のままで、区画の高さが 57.59px 低かった（Bug #2833 の測定）。
 *
 * この印を使うのはトップの型紙だけなので、当たり先の `.front-page` によって
 * 他のページへは波及しない. */
@media (min-width: 1050px) {
	.front-page .pa-sp-only {
		display: none;
	}
}

/* 1050px 以上でだけ改行させる。移行元の `.pc-only` に当たる（Bug #3645）。
 *
 * 🚨 **境目は 1050px である。**移行元は素の状態で `.pc-only { display: none }`、
 * `@media (min-width: 1050px) { .pc-only { display: block } }` を持つ。
 * すぐ上の `.pa-sp-only` と**同じ 1050px** である（狭い側が 750px になっていた
 * ずれは Bug #2958 で直した）。
 *
 * 表示の値も移行元と同じ `block` にする。`<br>` に当てても余分な行は増えない
 * （実測: 幅 1440px で説明文は 2 行 64.78px = 32.39px × 2）. */
.front-page .pa-pc-only {
	display: none;
}

@media (min-width: 1050px) {
	.front-page .pa-pc-only {
		display: block;
	}
}

/* 画面には出さず、支援技術にだけ渡す。表の説明（caption）に使う */
.front-page .pa-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* 画像をまだテーマへ同梱していないときに出す枠。入る場所と縦横比が分かる。
   高さの上限を掛けているのは、縦長の画像の枠が画面いっぱいに広がって、ページが
   空欄の連なりになるのを防ぐためである。画像を同梱すればこの枠は出なくなる. */
.front-page .front-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-height: 200px;
	background-color: var(--pa-color-surface-muted);
	border: 1px dashed var(--pa-color-border);
	border-radius: 8px;
}

.front-page .front-placeholder__name {
	padding: 4px 8px;
	color: var(--pa-color-text);
	font-size: 12px;
	opacity: 0.6;
	word-break: break-all;
}

/* 数字を大きく見せる。移行元は Inter を当てていた */
/* 数字の共通の見た目。移行元 `.num { font-family: Inter, sans-serif;
 * font-size: 1.3em; font-weight: 700 }` を写す。行送りは移行元が持たず、
 * 共通の初期化 `* { line-height: 1.5 }` を受けるので、ここでも 1.5 にする。
 *
 * 🚨 **移行元には「数字の共通クラス」が事実上無い。**移行元が `.num` を使うのは
 * 他社比較の表の中だけで（実測 28 か所すべて）、コース札は `.lg`、
 * 流れの見出しは `.en` と、区画ごとに別のクラスで別の値を当てている。
 * テーマは共通クラスを 6 区画へ広げているため、**共通をどの値にしても
 * どこかの区画とは食い違う。**移行元がいちばん多く使う `.num` の値を共通に置き、
 * 違う区画だけを下で上書きする形にした（Issue #2620）。
 *
 * 以前は 1.6em / 行送り 1 だった。この値は移行元のどの区画とも一致せず、
 * 区画ごとの上書きが積み上がる原因になっていた。 */
.front-page .pa-num {
	font-family: var(--pa-font-family-base);
	font-weight: 700;
	font-size: 1.3em;
	line-height: 1.5;
}

.front-page .pa-unit {
	font-size: 0.6em;
}

/* ==============================================================
 * トップページで使い回す部品
 * ============================================================== */

/* 節の見出しの塊。移行元の .sec__head */
.front-page .pa-section-head {
	margin-bottom: var(--pa-space-md);
	text-align: center;
}

/* 節の見出し。移行元の .heading-a（下外余白は 5rem = 50px、SP は 3rem） */
.front-page .pa-heading {
	margin: 0 0 50px;
	color: var(--pa-color-heading);
	font-size: var(--pa-font-size-heading);
	text-align: center;
}

.front-page .pa-heading--lg {
	font-size: var(--pa-font-size-heading-lg);
}

.front-page .pa-heading--brown {
	color: var(--pa-front-brown);
}

@media (max-width: 749px) {
	/* 移行元 `@media screen and (max-width: 749px){ .sec__head { margin-bottom: 3rem } }`。
	 * この帯の 1rem は画面幅に比例するので、固定の 20px では合わない
	 * （実測: 移行元は 320px で 24.4275px・375px で 28.626px・749px で 57.1756px）。
	 * 750px 以上の 6rem = 60px は上の素の宣言（--pa-space-md）がそのまま一致する。
	 * この 1 行で、移行元が `.sec__head` を置く 5 区画（選べるコースとプラン／
	 * 会員のホンネ体験談／結婚相談所のよくあるご質問／店舗一覧／お知らせ）が
	 * そろう（Bug #2977）. */
	.front-page .pa-section-head {
		margin-bottom: calc(3 * var(--pa-sp-rem));
	}

	.front-page .pa-heading {
		margin-bottom: 30px;
		font-weight: 600;
	}
}

/* 🚨 **注目コンテンツの見出しの塊だけは下の外余白を持たない**（Bug #2977）。
 * 移行元はこの区画に限って `.sec__head` を使わず `.content__head` で組んでおり、
 * **その名前に当たる規則は移行元の CSS に 1 本も無い**（下の外余白は 0）。
 * 実測でも移行元は 375px でも 1440px でも 0px である。共通の
 * `.front-page .pa-section-head` に当ててしまうと、狭い画面で 28.63px・
 * 広い画面で 60px の余白が余分に入る. */
.front-page .front-highlights .pa-section-head {
	margin-bottom: 0;
}

/* コースとプランの節だけ、移行元が下外余白を打ち消している（.plan .heading-a）。
   見出しのすぐ下に注記の 1 行が続くためである。SP でも打ち消すので、上の
   メディアクエリより後ろに置く. */
.front-plan .pa-heading {
	margin-bottom: 0;
}

/* 丸い矢印のアイコン。移行元は同じ SVG を 14 回書き写していた。
 *
 * 寸法は移行元 `.more-button svg{width:1.5em;height:1.5em;right:1em}` を写す
 * （Bug #2608）。基準は導線ボタン自身の文字である。移行元はこの 1 本だけを
 * 持ち、幅で切り替える上書きを持たない。テーマも同じ形にする。
 *
 * 移行元とテーマは、どちらもボタンの文字が 1050px 未満で 14px・1050px 以上で
 * 21px である（2026-09-01 に幅 375 / 500 / 749 / 800 / 1049 / 1440px の 6 点で
 * 実測。移行元の 11 か所すべてが同じ値だった）。よって em で書けば、幅ごとに
 * 直値を並べなくても両方の帯で移行元と一致する。
 *
 *   1050px 未満  文字 14px → 矢印 21px 角・right 14px
 *   1050px 以上  文字 21px → 矢印 31.5px 角・right 21px
 *
 * `right` の基準は絶対配置の基準になる内側の余白の縁である。ボタンは境界線を
 * 2px 持つので、外から見た「右端からの距離」は 16px と 23px になる。移行元の
 * 実測値と一致する。直す前は 24px 角・右端から 18px（1050px 以上は 40px 角・
 * 22px）で、11 か所すべてが移行元より大きかった。
 *
 * この共通部品は導線ボタン以外でも使う。スライダーの送りボタン・結婚相談所
 * 物語のカード・店舗一覧の項目・体験談の札の「詳しく見る」は、それぞれ後段で
 * 直値の寸法を持つため、ここを em にしても影響を受けない
 * （tests-retired/pa-cms-css-geometry/spec-front-more-button-arrow.json が陰性対照
 * として見張る）. */
.front-page .pa-arrow {
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
}

.front-page .pa-arrow__circle {
	fill: currentColor;
}

.front-page .pa-arrow__path {
	fill: none;
	stroke: var(--pa-color-bg);
}

/* 「詳しく見る」等の導線ボタン。移行元の .more-button */
.front-page .pa-more-button {
	display: grid;
	place-items: center;
	position: relative;
	width: 100%;
	max-width: 320px;
	min-height: 60px;
	/* 上の外余白は移行元 `.more-button{margin:2em auto 0}` を写す。2em の基準は
	 * ボタン自身の文字の大きさなので、実測は 1050px 以上で 42px（21px × 2）、
	 * それより狭いところで 28px（14px × 2）になる。
	 *
	 * ここは共通の余白トークン（--pa-space-sm。750px 以上 40px・749px 以下 20px）を
	 * 素通しで使っており、移行元と 2px / 8px 食い違っていた。移行元の 2em と
	 * 突き合わせて選ばれた値ではない。割引プランの区画（Bug #2165）と店舗一覧の
	 * 区画（Bug #2184）で、区画全体の高さが移行元と一致しない残りの原因が
	 * どちらもこの 2px だったため、区画ごとに上書きせず、移行元と同じ 1 か所で直す。
	 * トップページの導線ボタン全部（実測 11 か所）が対象になる. */
	margin: 2em auto 0;
	/* 移行元の実測（幅 375px）は 上下 0・左右 42px の対称、角丸 28px である。矢印の図形は
	   右端から 16px の位置に 24px 角で重なるので、右端から 40px までしか届かない。内余白
	   42px の内側へは入らないため、左右を対称にしたままでも文字と重ならない
	   （Issue #1629 の C1-G5）. */
	padding: 0 42px;
	border: 2px solid var(--pa-color-accent-strong);
	border-radius: 28px;
	background-color: var(--pa-color-bg);
	color: var(--pa-color-accent-strong);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.front-page .pa-more-button:hover {
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
}

.front-page .pa-more-button:hover .pa-arrow__path {
	stroke: var(--pa-color-accent-strong);
}

/* 濃い面の上に置く版。塗りと文字色を入れ替える */
.front-page .pa-more-button--reverse {
	border-color: var(--pa-color-bg);
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
}

.front-page .pa-more-button--reverse .pa-arrow__path {
	stroke: var(--pa-color-accent-strong);
}

.front-page .pa-more-button--reverse:hover {
	border-color: var(--pa-color-accent-strong);
	background-color: var(--pa-color-bg);
	color: var(--pa-color-accent-strong);
}

.front-page .pa-more-button--reverse:hover .pa-arrow__path {
	stroke: var(--pa-color-bg);
}

.front-page .pa-more-button--brown {
	border-color: var(--pa-front-brown);
	background-color: var(--pa-front-brown);
	color: var(--pa-color-bg);
}

.front-page .pa-more-button--brown .pa-arrow__path {
	stroke: var(--pa-front-brown);
}

.front-page .pa-more-button--brown:hover {
	background-color: transparent;
	color: var(--pa-front-brown);
}

/* 茶色版の矢印は、上の共通ホバー規則（accent-strong）に負けないよう
   ホバー時も茶色を保つ. */
.front-page .pa-more-button--brown:hover .pa-arrow__path {
	stroke: var(--pa-front-brown);
}

/* 移行元 .more-button の切り替えは 1050px である（原本
 * `@media(min-width:1050px){.more-button{height:80px;max-width:fit-content;
 * font-size:1.5em;padding-inline:2em 3.5em}}`）。dev はこの節を 750px で開いて
 * いたため、幅 750〜1049px の帯で 6 つの値が移行元と食い違っていた。
 *
 * 実測（移行元 https://www.p-a.jp/ ・2026-08-27 採取）:
 *   幅 800px  移行元 文字 14px / 高さ 60px / 上余白 28px / 角丸 28px / 左右 42px / 最大幅 320px
 *             dev    文字 21px / 高さ 80px / 上余白 40px / 角丸 42px / 右 73.5px / 最大幅 fit-content
 *   幅 1050px 以上は移行元と dev が一致していた
 *
 * 上の外余白を移行元と同じ `2em`（ボタン自身の文字が基準）で書くと、切り替えの
 * 幅がずれている限り 750〜1049px だけ 42px になり移行元の 28px と合わない。
 * 余白だけを直値で押さえるのではなく、切り替えの幅そのものを移行元に合わせる
 * ことで 6 つの値がまとめて一致する（Bug #2165 / #2168 の指摘対応）. */
@media (min-width: 1050px) {
	.front-page .pa-more-button {
		/* 移行元 .more-button も fit-content である。max-content と違い、入れ物が狭いときは
		   その幅までしか広がらないため、狭い画面幅ではみ出さない. */
		max-width: fit-content;
		min-height: 80px;
		/* 移行元の実測（幅 1440px）は 上下 0・左 42px・右 73.5px、角丸 42px である。右が
		   広いのは、矢印の図形が 40px 角になり右端から 60px まで届くためである。移行元は
		   この 3 つを文字の大きさ 21px の em で書いていた（左 2em・右 3.5em・角丸 2em）.

		   font-size は移行元の実測どおり 21px を直書きする。Issue #2172 の対応前は
		   親が 15px だったため 1.4em（≒21px）にしていたが、本文層（14px）を足した
		   ことで 19.6px まで縮んで壊れた。em に戻して 1.5em（14px 基準）にしても、
		   店舗一覧（.front-store。別原因の食い違いのため 15px のまま現状維持して
		   いる）の中にあるこのボタンだけ 1.5 * 15 = 22.5px になってしまう。
		   .pa-more-button はどの区画の中にあっても移行元は常に 21px 固定なので、
		   祖先の font-size に左右されない直値にするのが正しい. */
		padding: 0 73.5px 0 42px;
		border-radius: 42px;
		font-size: 21px;
	}
}

/* point01〜04 の丸い札。移行元の .point-circle */
.front-page .pa-point-circle {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 5em;
	height: 5em;
	border-radius: 50%;
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

/* 番号（丸の中の下段）。移行元は
   `.point-circle span { font-size: 1.8em; line-height: 1; letter-spacing: .1em;
   padding-left: .1em }` で、**字間と左内余白を span の側**に持つ。
 *
 * 🚨 字間の em は「指定した要素の字の大きさ」で px に解決されてから継承される。
 * テーマは器の側に `letter-spacing: 0.15em` を置いていたため、器の字（9.45px）で
 * 解決された 1.4175px が番号へ届き、移行元が span の字（17.01px）で解決する
 * 1.701px より小さくなっていた。左内余白も写していなかった。
 * 合わせて番号が全幅で 2.25px 狭かった（Issue #2835。字間の差 0.2835px × 2 文字
 * ＋ 内余白 1.701px = 2.268px で、実測の差とぴたり合う）。
 *
 * 🚨 器の側の字間は移行元では**各枠の頭（.point-box .point-circle）だけ**が
 * `.15em` を持ち、目次（.anchor-link .point-circle）は指定を持たない。
 * 器の共通の指定から外し、各枠の頭の側で当てる（下の .front-point の規則）. */
.front-page .pa-point-circle span {
	padding-left: 0.1em;
	font-size: 1.8em;
	line-height: 1;
	letter-spacing: 0.1em;
}

/* 横に長い表を、狭い画面では横スクロールで読ませる。移行元の .table-wrap */
.front-page .pa-table-scroll {
	overflow-x: auto;
	margin: var(--pa-space-sm) 0;
	-webkit-overflow-scrolling: touch;
}

.front-page .pa-compare-table {
	width: max-content;
	border: 1px solid var(--pa-color-text);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 10px;
	overflow: clip;
	text-align: center;
	background-color: var(--pa-color-bg);
	/* font-size は指定しない。移行元の比較表は 14px（本文層の値をそのまま継ぐだけ、
	 * 表自身の追加の縮小は無い）。旧版はこの層が無かったため、body の 15px を
	 * 0.95em で 14.25px へ近づける個別の応急策を入れていたが、Issue #2172 で
	 * .front-page に本文層（font-size: 14px）を足したため、この行を残すと
	 * 14 * 0.95 = 13.3px まで二重に縮んでしまう（移行元の実測 14px から -0.7px）。
	 * 応急策として役目を終えたため外した。 */
}

.front-page .pa-compare-table--wide {
	width: 100%;
	min-width: 900px;
	margin-top: 2em;
}

.front-page .pa-compare-table--narrow {
	min-width: 0;
	margin-top: 2em;
	/* 移行元の .mi0 と同じく、横送りの器の左端から始める。 */
	margin-inline: 0;
}

/* 1 枚の表（PC 型）だけで入れる改行を、縦横を入れ替えた表では出さない。

   移行元は同じ比較の中身を 2 回書いており、改行の位置が 2 つの表で違う。共通なのは
   3 か所だけ（会社名の「パートナー / エージェント」・「紹介書による紹介 / など」・
   「両想いマッチング / など」）で、残る 8 か所は 1 枚の表だけの改行である。テーマは
   中身を 1 か所（comparison.php の $pa_compare_groups）にまとめて 2 通りの表を
   組み立てるため、1 枚の表のための改行が縦横を入れ替えた表にも出てしまい、
   枡の高さが 1 行ぶん（21px）ずつ移行元より高くなっていた（Bug #2825。実測で
   出会いの種類の表が +21px、サポートの表が +151.19px）。

   改行を消すのではなく、1 枚の表だけの改行に印（pa-compare-table__br--pc）を付けて、
   縦横を入れ替えた表では出さない形にしている。中身の出どころを 1 か所に保ったまま、
   移行元と同じ改行の位置を両方の表で再現できる. */
.front-page .pa-compare-table--narrow .pa-compare-table__br--pc {
	display: none;
}

/* 伴走型サポートの比較表は、共通の表意匠を保ったまま固定幅にする。 */
.front-page .pa-compare-table.pa-compare-table--short {
	--pa-compare-table-short-heading-bg: #e1e1e1;

	width: 688px;
	min-width: 0;
	margin: 2em auto 0;
	border: 1px solid #474747;
	border-spacing: 0;
	border-collapse: separate;
	border-radius: 10px;
	overflow: clip;
	text-align: center;
}

.front-page .pa-compare-table.pa-compare-table--short th,
.front-page .pa-compare-table.pa-compare-table--short td {
	padding: 14px 7px;
	border: 0;
	border-right: 1px solid #474747;
	border-bottom: 1px solid #474747;
	/* 自社の列を囲む 4px の赤枠（下の .is-feature::before）を、擬似要素として
	 * 重ねて置くための土台。移行元の .compare-table th, .compare-table td の
	 * position: relative; z-index: 0 に対応する。 */
	position: relative;
	z-index: 0;
}

/* 移行元はこの表のセルの中の文を段落で包まず、`<br>` で折った素の文字として
 * 置いている。そのため段落の上下の外余白が付かず、行送りも表の 1.5（14px の
 * 文字で 21px）のままである。テーマはセルの中を段落で組んでいるので、共通の
 * 段落の指定（上下 4px の外余白）と本文の行送り 1.8（25.2px）が効き、
 * 「サポートのタイプ」の行が移行元より 16.38px 高くなっていた（Issue #2601 の
 * 実測）。この表だけ、段落の見た目を移行元の素の文字にそろえる。
 * 他社比較用の 2 つの表（--wide / --narrow）へ波及させないため、選択子に
 * --short を含める. */
.front-page .pa-compare-table.pa-compare-table--short p {
	margin: 0;
	line-height: 1.5;
}

.front-page .pa-compare-table.pa-compare-table--short th:last-child,
.front-page .pa-compare-table.pa-compare-table--short td:last-child {
	border-right: 0;
}

.front-page .pa-compare-table.pa-compare-table--short tbody tr:last-child th,
.front-page .pa-compare-table.pa-compare-table--short tbody tr:last-child td {
	border-bottom: 0;
}

.front-page .pa-compare-table.pa-compare-table--short thead th:not(.is-feature) {
	background-color: var(--pa-compare-table-short-heading-bg);
}

.front-page .pa-compare-table.pa-compare-table--short tbody th[scope="row"] {
	top: auto;
	text-align: center;
	/* 左端の見出し列（貼り付き列）を、下の赤枠（z-index: 2）より上に置く。
	 * 移行元の .sticky-col は z-index: 3 で赤枠より上にあり、携帯幅で表を
	 * 横に送ったときに赤枠が見出し列の上へ重なって見えるのを防いでいる。
	 * 共通規則と同じ z-index: 3 を明示し、--short の計算済みの重なり順を保つ。 */
	z-index: 3;
}

/* 見出し行の左端も本文と同じく横スクロール時に貼り付ける。移行元では全行の
 * 先頭セルが .sticky-col であり、赤枠（z-index: 2）より前面の z-index: 3 だった。
 * 灰色の下地を明示し、横を送った他の見出しセルの文字が透けないようにする。 */
.front-page .pa-compare-table.pa-compare-table--short thead th:first-child {
	position: sticky;
	left: 0;
	z-index: 3;
	background-color: var(--pa-compare-table-short-heading-bg);
}

/* 移行元の「かたまりは中央・行の中は左揃え」の器（.place-center / .left）。
 * grid + place-content: center で中身をその内容の幅に縮めてセルの中央に置き、
 * text-align: left でその中の行を左に揃える。子要素の並びに改行がなければ
 * （<b> と <span> が続けて並ぶ等）grid の暗黙の行として自動的に縦に並ぶため、
 * <br /> を足さなくても複数行に分かれる。
 *
 * 🚨 **`--short` の表に絞らない**（Task #3387）。移行元の `.place-center` は
 * 表を問わず使う共通の器で、比較表の「紹介書による紹介／など」「両想い
 * マッチング／など」のセルでも使われている。以前は `--short` の 3 セルだけの
 * 想定で絞っていたため、他の表で同じ組みを使えなかった。
 *
 * 実測（移行元・2026-09-04 14:57 JST・幅 1440px）: そのセルの生の HTML は
 * `<div class="place-center left">紹介書による紹介<br>など</div>` で、
 * 2 行とも左端 59.17px からそろって始まる。写しは素のテキストだったため
 * 各行が別々に中央へ寄っていた。
 *
 * 🚨 **箇条書きのセルもこの器で包む**（Bug #3562）。移行元は `<ul>` を持つセルも
 * 同じ `.place-center` で包む。包まないと `ul` がセルの内側の幅いっぱいに広がり、
 * 項目の文字がセルの左端へ張り付く（幅 1440px で移行元より 28.44〜80.08px 左）。
 *
 * 🚨 **`comparison.php` 側は `wp_kses()` の許可リストに `div` が必要である**
 * （Bug #3562）。許可リストに無いと器が消され、この規則は 1 度も当たらない。
 * Task #3387 の直しは、そのため比較表では効かないままだった
 * （2026-09-05 に dev の HTML を取って気づいた）. */
.front-page .pa-compare-table .pa-compare-table__stack {
	display: grid;
	place-content: center;
}

.front-page .pa-compare-table .pa-compare-table__stack--left {
	text-align: left;
}

/* 🚨 **塊の中の段落は左にそろえる**（Bug #3562）。移行元は塊の中の段落を
 * `<p class="left m0">` と書き（`.left { text-align: left }`）、箇条書きと同じ
 * 左端からそろえている。器へ書いた `text-align: center` を段落が継ぐと、
 * 「★婚活設計インタビュー」などの見出しと「など全9種類」だけが塊の中で
 * 中央へ寄る（実測: 幅 1440px で「など全9種類」が 392.89px でなく 423.75px
 * から始まっていた）。
 *
 * 🚨 **`.pa-compare-table p` へ広げてはいけない**（Task #3387）。塊の外にある
 * 段落（サポートのタイプの「積極的に進める伴走型サポート」など）は移行元でも
 * 中央そろえである。当たり先は塊の直下の段落だけに絞る. */
.front-page .pa-compare-table .pa-compare-table__stack > p {
	text-align: left;
}

/* 🚨 **携帯幅の表では「サポート内容」だけ中央の塊にしない**（Bug #3562）。移行元は
 * 同じ中身でも、パソコン幅の表では `<div class="place-center">`、携帯幅の表では
 * **目印の無い素の `<div>`** で包む。素の div は幅いっぱいの塊なので、箇条書きは
 * セルの内側の幅まで広がる（移行元の実測・幅 375px: 箇条書き 284.42px に対し
 * セルの内側 288.43px）。中央の塊にすると 40px ほど細くなって位置がずれる。
 *
 * 写しは 1 つの文字列をパソコン幅の表と携帯幅の表の両方に使うため、目印
 * （`--wide-only`）を付けて携帯幅の表だけ素の塊へ戻す。**「その他の紹介」は
 * 移行元でも携帯幅で `place-center` なので、この打ち消しに含めない**. */
.front-page .pa-compare-table--narrow .pa-compare-table__stack--wide-only {
	display: block;
}

/* 自社の列（.is-feature）を囲む 4px の赤枠。移行元の .compare-table
 * th.feature / td.feature とその ::before に対応する。色は移行元の実測値
 * rgb(245, 72, 81) と一致する変数 --pa-color-accent-strong を直書きせずに使う。
 * --short の表だけに限定し、wide / narrow の規則から独立させている。 */
.front-page .pa-compare-table.pa-compare-table--short th.is-feature,
.front-page .pa-compare-table.pa-compare-table--short td.is-feature {
	z-index: 2;
}

/* 赤地の見出しセルだけは、4px の枠で覆われない右辺と下辺も赤にする。
 * 移行元の .compare-table th.feature の border-color に対応する。本文の
 * td.feature の罫線は濃い灰色のままなので、ここには含めない。 */
.front-page .pa-compare-table.pa-compare-table--short thead th.is-feature {
	border-color: var(--pa-color-accent-strong);
}

/* 自社列の本文は薄い赤地だけを継ぎ、文字は本文色へ戻す。移行元の
 * .compare-table td.feature には color がなく、強調した b 要素だけが赤である。 */
.front-page .pa-compare-table.pa-compare-table--short tbody td.is-feature {
	color: var(--pa-color-text);
}

.front-page .pa-compare-table.pa-compare-table--short tbody td.is-feature b {
	color: var(--pa-color-accent-strong);
}

/* 🚨 **この擬似要素だけ box-sizing を content-box へ戻す**（Task #3236）。
 * 移行元の初期化は `*{ box-sizing: border-box }` で、**`*` は擬似要素に当たらない**
 * ため `::before` は既定の content-box のままである。`width: calc(100% - 4px)` は
 * 内容の幅を指すので、左右の枠線 4px × 2 が外側へ足されて外形は `100% + 4px` になり、
 * 赤線が列の境界にちょうど重なる。
 *
 * このテーマの初期化は `*, *::before, *::after { box-sizing: border-box }`
 * （このファイルの「ベーススタイル」の節）なので、同じ `calc(100% - 4px)` が
 * **枠線を含んだ外形**になり、外形が 8px 縮んで右辺が列の内側へ入る。
 *
 * 画素で実測（幅 1440px・短い表の 2 行目）: 赤線の右辺の列が移行元 803〜806 に対し
 * 写しは 795〜798（列の境界は 803.86）。左辺 550〜553 は一致していた。ユーザー目視の
 * 「表の赤線囲いが表とズレている」はこれである。
 *
 * 初期化そのものは他の区画に効くので変えない。同じ型はコースと料金の比較表でも
 * 確定している. */
.front-page .pa-compare-table.pa-compare-table--short th.is-feature::before,
.front-page .pa-compare-table.pa-compare-table--short td.is-feature::before {
	content: "";
	box-sizing: content-box;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 4px);
	height: 110%;
	border-left: 4px solid var(--pa-color-accent-strong);
	border-right: 4px solid var(--pa-color-accent-strong);
	z-index: 2;
}

/* ヘッダー行の自社セルだけ、枠の上辺も足す。移行元の th.feature::before は
 * top: -2px から始まり border-top を持つが、td.feature::before は
 * top: 0 で border-top を持たない（表の外枠が上辺を兼ねるため）。 */
.front-page .pa-compare-table.pa-compare-table--short th.is-feature::before {
	top: -2px;
	border-top: 4px solid var(--pa-color-accent-strong);
}

/* 表の最後の行では、赤枠の下辺を実の border で閉じる。移行元の
 * .compare-table tbody tr:last-child th.feature, td.feature に対応する。 */
.front-page .pa-compare-table.pa-compare-table--short tbody tr:last-child th.is-feature,
.front-page .pa-compare-table.pa-compare-table--short tbody tr:last-child td.is-feature {
	border-bottom: 4px solid var(--pa-color-accent-strong);
}

.front-page .pa-compare-table th,
.front-page .pa-compare-table td {
	padding: 14px 7px;
	border: 0;
	border-right: 1px solid var(--pa-color-text);
	border-bottom: 1px solid var(--pa-color-text);
	text-align: center;
	vertical-align: middle;
	position: relative;
	z-index: 0;
}

.front-page .pa-compare-table th:last-child,
.front-page .pa-compare-table td:last-child {
	border-right: 0;
}

.front-page .pa-compare-table tbody tr:last-child th,
.front-page .pa-compare-table tbody tr:last-child td {
	border-bottom: 0;
}

.front-page .pa-compare-table thead th {
	background-color: #e1e1e1;
	font-weight: 700;
}

/* 見出し行のいちばん左の、文言を持たない枡。移行元はここを `th[colspan="2"]` で
   組んでいるため、見出しの枡と同じうすい灰色が乗る（実測: 幅 1440px で
   `rgb(225, 225, 225)`・幅 184.81px）。テーマは**読み上げの都合で `td`** にして
   いるので、上の規則が届かず地が透けていた（Bug #2759）。
   組みは変えず、地の色だけをここで合わせる. */
.front-page .pa-compare-table--wide thead td {
	background-color: #e1e1e1;
}

/* 自社のセルは薄い赤地にし、強調文字だけを赤にする。 */
.front-page .pa-compare-table tbody td.is-feature {
	background-color: var(--pa-color-notice-bg);
	color: var(--pa-color-text);
}

.front-page .pa-compare-table tbody td.is-feature b {
	color: var(--pa-color-accent-strong);
}

.front-page .pa-compare-table thead .is-feature {
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
	border-color: var(--pa-color-accent-strong);
}

/* wide の自社列を囲む 4px の赤枠。--short は専用規則を維持する。 */
.front-page .pa-compare-table:not(.pa-compare-table--short) th.is-feature,
.front-page .pa-compare-table:not(.pa-compare-table--short) td.is-feature {
	z-index: 2;
}

/* 広い表（結婚相談所の比較）の赤枠も、短い表と同じ理由で content-box へ戻す
 * （Task #3236。理由の詳しい説明は上の短い表の注釈にある）. */
.front-page .pa-compare-table:not(.pa-compare-table--short) th.is-feature::before,
.front-page .pa-compare-table:not(.pa-compare-table--short) td.is-feature::before {
	content: "";
	box-sizing: content-box;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 4px);
	height: 110%;
	border-left: 4px solid var(--pa-color-accent-strong);
	border-right: 4px solid var(--pa-color-accent-strong);
	z-index: 2;
}

.front-page .pa-compare-table:not(.pa-compare-table--short) th.is-feature::before {
	top: -2px;
	border-top: 4px solid var(--pa-color-accent-strong);
}

.front-page .pa-compare-table:not(.pa-compare-table--short) tbody tr:last-child th.is-feature,
.front-page .pa-compare-table:not(.pa-compare-table--short) tbody tr:last-child td.is-feature {
	border-bottom: 4px solid var(--pa-color-accent-strong);
}

/* 左端の見出し列は横スクロールしても貼り付けたままにする。
   移行元の .sticky-col（position: sticky; top: 0; left: 0; z-index: 3）と同じ。 */
.front-page .pa-compare-table tbody th[scope="row"],
.front-page .pa-compare-table .pa-compare-table__group {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 3;
	text-align: center;
	white-space: nowrap;
}

/* 地は 2 つで分かれる。項目名の列は移行元が th.white なので白、項目の
 * かたまりの見出しは移行元が素の th なので #e1e1e1 である。上の貼り付きの
 * 規則へまとめて書くと、どちらか一方に必ず合わなくなるため分けている。 */
.front-page .pa-compare-table tbody th[scope="row"] {
	background-color: var(--pa-color-bg);
}

.front-page .pa-compare-table .pa-compare-table__group {
	background-color: #e1e1e1;
}

/* 他社を列に並べた版だけ、項目のかたまりの見出しを縦書きにする。列を 1 つ
   使い切らずに済ませるためである。縦横を入れ替えた版では、同じ見出しが表の
   左上に 1 つ入るだけなので横書きのままでよい. */
.front-page .pa-compare-table--wide .pa-compare-table__group {
	writing-mode: vertical-rl;
}

/* コース名の行は移行元で全セルが th であるため、他社も灰色、自社だけは
 * 赤地に白文字となる。dev も値のセルを th で出す（Bug #9472。それまでは td で出し、
 * 地の色だけをここで吸収していたので、太さが 400 のままだった）。太さ 700 は th の既定で付く。 */
.front-page .pa-compare-table.pa-compare-table--wide .pa-compare-table__course th:not(.is-feature) {
	background-color: #e1e1e1;
}

.front-page .pa-compare-table.pa-compare-table--wide .pa-compare-table__course th.is-feature {
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
}

/* コース名の自社セルも移行元では th.feature であるため、赤枠を上辺まで閉じる。 */
.front-page .pa-compare-table.pa-compare-table--wide .pa-compare-table__course th.is-feature::before {
	top: -2px;
	border-top: 4px solid var(--pa-color-accent-strong);
}

/* 縦横を入れ替えた版の見出し行は、移行元では先頭のかたまり名だけが th
 * （地は #e1e1e1・太さ 700）で、項目名は td（地は白・太さ 400）である。テーマは
 * 項目名も th scope="col" で組んでいるため、地と太さをここで移行元へ合わせる。
 * 読み上げの構造（見出しの枡であること）は th のまま保つ。
 *
 * 🚨 **太さは見た目だけの話ではない。**この枡は幅を `ch` で受ける（移行元が枡に
 * `style="width: NNch"` を書いている）。`ch` は「0」1 文字の幅で、その枡自身の
 * 書体で決まるため、太字のままだと 1ch が 9.1729px になり、移行元の 8.6406px より
 * 0.532px 広がる。表 1 は 45ch 分あるので 24px 広くなっていた（Bug #2715）。 */
.front-page .pa-compare-table.pa-compare-table--narrow thead th:not(.pa-compare-table__group) {
	background-color: var(--pa-color-bg);
	font-weight: 400;
}

.front-page .pa-compare-table.pa-compare-table--narrow tbody tr:not(.is-feature) th[scope="row"] {
	background-color: #e1e1e1;
}

/* narrow の自社行を、移行元と同じ擬似要素の赤枠で囲む。 */
.front-page .pa-compare-table--narrow tbody tr.is-feature th[scope="row"],
.front-page .pa-compare-table--narrow tbody tr.is-feature td {
	background-color: var(--pa-color-notice-bg);
	color: var(--pa-color-text);
	z-index: 2;
}

/* 🚨 **強調行の行名は、同じ行のセルより 1 つ上に置く**（Task #3399）。
 * すぐ上の規則が行名（`th`）とセル（`td`）の両方へ `z-index: 2` を当てるため、
 * 重なり順が同値になる。同値のときは**後ろに書かれたほうが前に出る**ので、
 * 横に送るとセルが行名にかぶさり、行名が消えて見えた。
 *
 * 移行元は行名を 3・セルを 2 にしている（`.compare-table th.sticky-col` の 3 が
 * 強調行でも残り、`.compare-table td.feature-row` が `position: relative;
 * z-index: 2`）。同じ関係にそろえる。
 *
 * 実測（両側とも 2026-09-04 14:42 JST・幅 375px。表を右へ 200px 送ったあと、
 * 行名の真ん中の点で最前面にある要素を調べた）: 移行元はどの表も行名自身が
 * 返るのに対し、写しは 3 つの表で「パートナーエージェント」の行だけ同じ行の
 * セル（「19.2 万人」「6名 /月」「専任担当制（伴走型）…」）が返っていた。
 *
 * ⚠️ **`tr` に `z-index` を置いて直さないこと。**行全体が 1 つの重なりの単位に
 * なり、中の固定列の重なり順が変わる。移行元も `th` と `td` のそれぞれに置いて
 * いる. */
.front-page .pa-compare-table--narrow tbody tr.is-feature th[scope="row"] {
	z-index: 3;
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
	border-color: var(--pa-color-accent-strong);
}

.front-page .pa-compare-table--narrow tbody tr.is-feature td b {
	color: var(--pa-color-accent-strong);
}

/* 🚨 縦横を入れ替えた版の赤枠も content-box へ戻す（Task #3236）。上の 2 つの表と
 * まったく同じ型で、テーマの初期化が `*::before` まで border-box にしているため
 * 外形が枠線 4px × 2 のぶん縮む。
 *
 * 実測（幅 375px の狭い窓・端末情報は変えず移行元のパソコン版と同じ条件）:
 * 枡の外形は両側とも 129.61 × 71px で一致するのに、`::before` の `box-sizing` が
 * 移行元 content-box 対 写し border-box だった。宣言値は両側同じなので、写しでは
 * 横の赤帯が 7〜8px 上へずれ、囲いの右辺も 8px 内側へ入る。画素でも赤帯の位置が
 * 8px 違うことを確かめた。
 *
 * この 2 つの選択子は `tr.is-feature` を起点にしているため、上の
 * `th.is-feature::before` / `td.is-feature::before` の直しでは拾えない. */
.front-page .pa-compare-table--narrow tbody tr.is-feature th[scope="row"]::before {
	content: "";
	box-sizing: content-box;
	position: absolute;
	top: -2px;
	left: -4px;
	width: calc(100% - 2px);
	height: calc(100% - 4px);
	border: 4px solid var(--pa-color-accent-strong);
	z-index: 2;
}

.front-page .pa-compare-table--narrow tbody tr.is-feature td::before {
	content: "";
	box-sizing: content-box;
	position: absolute;
	top: -2px;
	left: -4px;
	width: calc(100% + 12px);
	height: calc(100% - 4px);
	border-top: 4px solid var(--pa-color-accent-strong);
	border-bottom: 4px solid var(--pa-color-accent-strong);
	z-index: 2;
}

.front-page .pa-compare-table--narrow tbody tr.is-feature td:last-child {
	border-right: 4px solid var(--pa-color-accent-strong);
}

/* 移行元 `.compare-table ul { margin:0; padding-left:1em; list-style:disc;
 * text-align:left }`。左の下げ幅は 1em（文字 14px で 14px）である。1.2em に
 * すると列の内容幅が広がり、表の列の配分が移行元とずれる（Issue #2714）。 */
.front-page .pa-compare-table ul {
	margin: 0;
	padding-left: 1em;
	/* 🚨 初期化が入ったので、点を明示して戻す。移行元は
	   `.compare-table ul { list-style: disc }` を持つ。以前はブラウザの既定に
	   頼っていたため書かれていなかった. */
	list-style: disc;
	text-align: left;
}

/* 🚨 **点は `li` の側でも戻さないと出ない。**上の `ul` に `list-style: disc` を
   書いても、`li` は初期化の `ul li { list-style: none }` を自分の宣言として受ける。
   **自分に当たった宣言は、親から受け継ぐ値よりつねに強い**（詳細度の勝ち負けでは
   なく、受け継ぎより直接の宣言が優先される規則）。そのため `ul` だけに書いた
   `disc` は点を出せない。移行元も同じ形で、`li` の側に
   `.compare-table ul li { list-style-type: disc }`（assets/css/style.css）を
   持っている。ここはその 1 行の写しである. */
.front-page .pa-compare-table ul li {
	list-style-type: disc;
}

/* 移行元は表の中の段落に専用の規則を持たず、素の `p { line-height: 1.8 }` が
 * そのまま効く（外余白は初期化で 0）。実測でも段落の高さは 25.19px＝14 × 1.8
 * だった。dev は上下 4px の外余白を足し、行送りも本文層の 1.5 を継いでいたため、
 * 表の高さが移行元より 24.5px 高くなっていた（Issue #2714）。 */
/* 🚨 **段落に左寄せを当てない**（Task #3387）。移行元は表そのものへ
 * `text-align: center` を置き、**左へ戻すのは `ul` だけ**である
 * （`.compare-table ul { text-align: left }`）。段落（`p`）に当たる寄せの規則は
 * 移行元に 1 つも無いので、表の中央寄せをそのまま受け継ぐ。
 *
 * 写しは段落へ `text-align: left` を足していたため、セルの中身が左に寄っていた。
 * セルそのものの寄せは両側とも `center` で一致しているので、**セルだけを見ても
 * 差は出ない**。中の要素まで降りて測ってはじめて分かる。
 *
 * 実測（両側とも 2026-09-04 14:2x JST・幅 1440px）: 4 つの表で合わせて 19 件の
 * セルの中身の寄せが食い違っていた（例:「データマッチング…など全9種類」の段落が
 * 移行元 center 対 写し left）. */
.front-page .pa-compare-table p {
	margin: 0;
	line-height: 1.8;
}

/* 移行元は上付き文字に全体規則 `sup { font-size: .7em; vertical-align: super;
 * padding: 0 5px 10px }` を当てている。テーマは全体規則を持たず、ブラウザの
 * 既定（`font-size: smaller`）のままなので、上付きを含む行が 3.7px 高くなる
 * （実測: 移行元の箇条書き 105px に対し dev 108.7px。「トータルコーディネート※2」
 * の行）。全体へ広げず、この表の中だけ移行元にそろえる（Issue #2714）。 */
.front-page .pa-compare-table sup {
	padding: 0 5px 10px;
	font-size: 0.7em;
	vertical-align: super;
}

/* 移行元 `.compare-table strong, .compare-table .maincol { font-weight: 700 }`。
 * 色だけを写して太さを落としていたため、「など全9種類」が細く出ていた
 * （実測: 移行元 700 対 dev 400・幅 1440px と 375px の両方・Bug #3639）. */
.front-page .pa-compare-table .is-accent {
	color: var(--pa-color-accent-strong);
	font-weight: 700;
}

/* 🚨 **「★は人気・おすすめ」の `b` は 700 で赤である**（Bug #3639）。
 * 移行元は `<p class="m center"><b>★は人気・…</b></p>` の形で、`p` が 700・
 * `b` も 700・`b` の字が赤である。
 *
 * dev はパソコン幅の表で `p` が 700 を継ぐため、`b` の既定値 `bolder` が
 * **900 まで上がって**いた（狭い幅の表は `p` が 400 なので `b` は 700 で合う）。
 * 色も両方の幅で移行元の赤にならず、本文の濃いグレーのままだった。
 *
 * 実測（幅 1440px）: 移行元の `b` は 700 / `rgb(245, 72, 81)`、
 * dev の `b` は 900 / `rgb(71, 71, 71)`. */
.front-page .pa-compare-table th p b {
	color: var(--pa-color-accent-strong);
	font-weight: 700;
}

/* 🚨 **「条件やお人柄を客観視した担当者からの紹介」の `b` も 700 である**（Bug #9472）。
 * 移行元は `<ul class="maincol"><li><b>…</b></li></ul>`（`public/index.html` 551〜554 行）で、
 * `.compare-table b` と `.compare-table .maincol` がどちらも 700 である（`assets/css/style.css` 6204・6208〜6211 行）.
 * dev は `ul.is-accent` が上の規則で 700 を持ち、`b` の既定値 `bolder` が **900 まで上がって**いた
 * （上の「★は人気・おすすめ」と同じ型。実測: 移行元 700 対 dev 900・幅 1440）. */
.front-page .pa-compare-table .is-accent b {
	font-weight: 700;
}

/* 箇条書きの間に置く＋の印。移行元 .plus と同じく、文字ではなく CSS で描く。
 *
 *   .plus { margin: .25em auto; width: 1em; height: 1em; position: relative }
 *   .plus:before, .plus:after { content: ""; position: absolute;
 *     background: var(--main-color); width: 2px; height: 100%;
 *     top: 0; left: 50%; transform: translate(-50%) }
 *   .plus:before { transform: translate(-50%) rotate(90deg) }
 *
 * 以前は文字の「＋」を 1.4em で置いていた。文字は字面と行送りに高さが
 * 引きずられるため、印の占める高さが 43.27px になり、移行元の 21px より
 * 22.27px 高かった（Issue #2601 の実測）。1em 角の箱にすると、上下の外余白
 * 0.25em（3.5px）を足した 21px に収まる. */
.front-page .pa-compare-table__plus {
	position: relative;
	width: 1em;
	height: 1em;
	margin: 0.25em auto;
}

.front-page .pa-compare-table__plus::before,
.front-page .pa-compare-table__plus::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 2px;
	height: 100%;
	background-color: var(--pa-color-accent-strong);
	transform: translateX(-50%);
}

.front-page .pa-compare-table__plus::before {
	transform: translateX(-50%) rotate(90deg);
}

/* 注意書きの囲み。移行元の .notice（Bug #2069）。
 *
 * 移行元 `.notice{margin-inline:auto}` `.notice p{font-size:.85em;
 * line-height:1.5}`（いずれも単一宣言）は背景・枠・角丸・内余白を持たない
 * 素のテキストである。dev だけが薄い背景ボックス（角丸・内余白・
 * 背景色）を装飾として追加していたため、これらを外して移行元に揃える。
 * 現在この部品は front-comparison.php の比較表の注記でのみ使うため、
 * 影響範囲は限定されている（他ページでの再利用は無し）。
 *
 * 🚨 **上下の外余白を持たせない**（Bug #2938）。移行元の `.notice` の宣言は
 * `margin-inline: auto` の 1 本だけで、上下は 0 である。ここに共通の
 * `--pa-space-sm`（20px）を置いていたため、**注意書きの箱 2 つとも上下に
 * 20px ずつ、合わせて 40px 余分**だった. */
.front-page .pa-notice-box {
	margin: 0 auto;
}

.front-page .pa-notice-box p {
	margin: 0;
	font-size: 0.85em;
	line-height: 1.5;
}

/* 区画の末尾の注意書き（※ 各社WEBサイトからの…）の上の空きを移行元へ戻す
 * （Bug #4241）。
 *
 * 移行元の `.notice p` は余白を 1 つも書いていないので、**`<p>` の既定の上の
 * 外余白（`1em`）がそのまま効く。**Bug #2938 で囲みの外余白 20px を外したとき、
 * **囲みの余白と `<p>` の既定の余白を一緒に 0 にしてしまった。**そのため上の表
 * とのあいだの空きが移行元より 11.89px 狭かった（実測・幅 375px。移行元 11.89 /
 * 写し 0）。
 *
 * 🚨 **当たり先を `.pa-notice-box p` に広げてはいけない。**注意書きの囲みは
 * トップに 2 つあり、**1 つ目（コース比較の一覧）は中に「での比較」の段落を
 * 持つ。**そこへ上の余白が付くと囲みの高さが 89.3 → 101.19px に増え、移行元
 * （89.3px）から外れる。実際に一度そうなった。**箱の最初の子である段落だけ**に
 * 絞ることで、2 つ目（中身が段落 1 つ）だけに当たる。
 *
 * 🚨 **固定 px（11.9px）で書かない。**移行元の 749px 以下は字の大きさが画面の
 * 幅に比例するので、固定 px にすると 375px でしか合わない（Bug #2889 と同じ型）。
 * `1em` は自身の字の大きさ（`0.85em`）を基準に解決されるため、幅が変わっても
 * 移行元と同じだけ空く。
 *
 * 下の外余白は 0 のままにする。実測で両側の囲みの高さが一致している
 * （移行元 107.16 / 写し 107.16）. */
.front-page .pa-notice-box > p:first-child {
	margin-top: 1em;
}

/* 携帯幅の 1 つ目の注記（コース比較の内訳）の上の空きを移行元へ戻す
 * （Bug #4325）。
 *
 * 🚨 **上の規則ではこの箱に当たらない。**移行元の 1 つ目の注記は**段落 1 つ**で、
 * 中を `<br>` で 5 行に折っている。そのため段落の既定の上外余白（`1em`。段落の
 * 字は 0.85em = 11.9px なので 11.9px）が効き、箱に内余白も枠も無いため**外へ
 * 抜けて上の隙間になる**（箱の高さは 89.3px のまま）。テーマは同じ中身を
 * **箇条書き＋「での比較」の段落**で組んでいるので、最初の子が段落ではなく
 * `> p:first-child` に当たらない。結果、**この箱の上に 11.9px の隙間が無かった**。
 *
 * 🚨 **箱そのものへ外余白を付けてはいけない。**移行元の**箱の外余白は 0** で、
 * 隙間は中の段落の余白が外へ抜けたものである（CSS の寸法の回帰テスト
 * `spec-front-comparison-notice-375.json` が箱の外余白 0 を見張っている。一度
 * 箱へ付けて、この型紙に捕まえられた）。**移行元と同じ仕組みで写す**: 箱の
 * 最初の子へ `1em` を持たせる。箱に内余白も枠も無いので、その外余白は箱の外へ
 * 抜けて上の隙間になり、箱の外余白は 0 のままになる。
 *
 * `1em` は最初の子（箇条書き）自身の字（`0.85em` = 11.9px）で解決されるので、
 * 移行元の隙間と同じ値になる。**直値では書かない**。
 *
 * 🚨 **当たり先は携帯幅用の塊で絞る。**絞らないと 2 つ目の注記（区画の末尾）にも
 * 当たり、上の規則の 1em と足し合わさって二重の隙間になる. */
.front-page .front-comparison__narrow .pa-notice-box > :first-child {
	margin-top: 1em;
}

/* --------------------------------------------------------------
 * つまみでの切り替え（店舗一覧のエリア / コースの選択）
 *
 * 移行元は jQuery UI の tabs を使っていた。テーマは同じ見え方を
 * assets/js/front-page.js で作り直す。JavaScript が動いた印として、
 * 器へ is-enhanced が付く。
 *
 * is-enhanced が付いていないとき（= JavaScript が動かないとき）は、つまみの列を
 * 出さず、全部のパネルを縦に並べる。中身が隠れる状態を作らないためである。
 * つまみ自体の見た目は節ごとに違うため、ここでは button の既定の見た目を
 * 消すところまでにとどめる。
 * -------------------------------------------------------------- */
.front-page .pa-tabs__list {
	display: none;
}

.front-page .pa-tabs.is-enhanced .pa-tabs__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.front-page .pa-tabs__tab {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: inherit;
	cursor: pointer;
}

/* hidden が付いたパネルを確実に隠す。パネル側で display を指定していると、
   hidden 属性の既定値（display: none）が負けるためである. */
.front-page .pa-tabs__panel[hidden] {
	display: none;
}

/* --------------------------------------------------------------
 * 横送りの一覧（出会いの方法 / 結婚相談所の選び方）
 *
 * 送りは CSS の scroll-snap による横スクロールで作る。左右の送りボタンと、
 * 中央の札だけを濃く見せる強調は、JavaScript が動いたとき（is-enhanced）だけ
 * 効かせる。動かないときは、ただの横スクロールとして全部の札を読める。
 * -------------------------------------------------------------- */
.front-page .pa-slider {
	position: relative;
}

.front-page .pa-slider__track {
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0 0 16px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

/* スクロールバーを隠しても、overflow-x: auto によりスワイプとキーボード操作は維持される */
.front-page .pa-slider__track.front-meet__list,
.front-page .pa-slider__track.front-choose__list {
	overflow-y: hidden;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

/* 🚨 **上へはみ出す「おすすめ」の札のぶん、器の中に縦の余地を作る**（Task #3299）。
 *
 * 移行元は `.slick-list { overflow: visible }` なので、札が器の外へ出ても見える。
 * 写しはこの器の 5 行上で `overflow-y: hidden` を**明示している**（横スクロールの
 * バーを隠すため）。よって上へはみ出した札はそのままだと切り取られて消える。
 *
 * 上の内余白で器の中に場所を作り、同じ量の負の外余白で位置を戻す。こうすると
 * 器の見た目の位置と下に続く要素は動かないまま、札だけが器の中に収まる。
 * 「おすすめ」の札は白い札の上端から 56px 上へ出るので、その分を空ける. */
.front-page .pa-slider__track.front-meet__list {
	margin-top: -56px;
	padding-top: 56px;
}

.front-page .pa-slider__track.front-meet__list::-webkit-scrollbar,
.front-page .pa-slider__track.front-choose__list::-webkit-scrollbar {
	display: none;
}

.front-page .pa-slider__track:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 4px;
}

.front-page .pa-slider__item {
	flex: 0 0 90%;
	scroll-snap-align: center;
}

/* 🚨 **現在の札を器の左端へそろえる横送り**（Task #3240）。移行元の Slick は
 * 「出会いの機会」が `centerMode: true`、「結婚相談所の選び方」が **centerMode を
 * 持たない（既定の false）** で、2 か所でそろえ方が違う。生きている Slick の設定を
 * 読んで確かめた（2026-09-04）。実測でも選び方の現在の札は器の左端にそろう
 * （幅 1440px で器 160.02〜1440 に対し札 160.02〜890.02）。
 * どちらのそろえ方かは器の `data-pa-slider-align` で切り替える（既定は中央）. */
.front-page .pa-slider[data-pa-slider-align="start"] .pa-slider__item {
	scroll-snap-align: start;
}

/* 中央にある札だけを濃く見せる。移行元は選択中を opacity 1、それ以外を .6 に
   していた。JavaScript が動かないときは全部を等しく濃いままにする. */
.front-page .pa-slider.is-enhanced .pa-slider__item {
	opacity: 0.6;
	transition: opacity 0.3s;
}

.front-page .pa-slider.is-enhanced .pa-slider__item.is-current {
	opacity: 1;
}

.front-page .pa-slider__arrow {
	display: none;
}

.front-page .pa-slider.is-enhanced .pa-slider__arrow {
	display: grid;
	place-items: center;
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--pa-color-accent-strong);
	transform: translateY(-50%);
	cursor: pointer;
}

.front-page .pa-slider__arrow--prev {
	left: 0;
}

.front-page .pa-slider__arrow--next {
	right: 0;
}

.front-page .pa-slider__arrow[disabled] {
	opacity: 0.3;
	cursor: default;
}

/* 送りボタンの中の矢印は、器の中央に置く。導線ボタンの中で使うときの
   位置指定（position: absolute）をここで打ち消す. */
.front-page .pa-slider__arrow .pa-arrow {
	position: static;
	width: 40px;
	height: 40px;
	transform: none;
}

.front-page .pa-slider__arrow--prev .pa-arrow {
	transform: rotate(180deg);
}

@media (min-width: 750px) {
	.front-page .pa-slider.is-enhanced .pa-slider__arrow {
		width: 60px;
		height: 60px;
	}

	.front-page .pa-slider__arrow .pa-arrow {
		width: 60px;
		height: 60px;
	}
}

/* 現在位置を示すドット。器（.pa-slider__dots）はテンプレート側が置き、中の
   ボタンは assets/js/front-page.js が札の枚数ぶん組み立てる。矢印と同じく、
   JavaScript が動いたとき（is-enhanced）だけ見せる. */
.front-page .pa-slider__dots {
	display: none;
}

/* 🚨 **点の刻みは 30px である**（Task #3238 / #3240）。移行元は Slick の既定の点をそのまま
 * 使っており、`.slick-dots li { width: 20px; height: 20px; margin: 0 5px }` なので
 * 1 個が占める幅は 20 + 5 + 5 = 30px になる。実測（移行元 = 本番 www.p-a.jp を
 * 2026-09-04 に取得・幅 1440px）: 出会いの機会の 6 個が x=635 / 665 / 695 / 725 / 755 / 785、
 * 選び方の 5 個が x=730 / 760 / 790 / 820 / 850 で、どちらも刻み 30px。
 * 写しは点が 20px・隙間 5px で刻み 25px だった（実測 647.5 / 672.5 / … と 740 / 765 / …）。
 * 点は 20px 角のままなので、隙間を 10px にすると刻みが 30px になる. */
.front-page .pa-slider.is-enhanced .pa-slider__dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 8px;
}

.front-page .pa-slider__dot {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.front-page .pa-slider__dot::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--pa-palette-gray);
}

.front-page .pa-slider__dot.is-current::before {
	background-color: #000;
}

/* --------------------------------------------------------------
 * 登場演出（Issue #2062）
 *
 * 移行元は data-anime="fadein" を付けた要素に IntersectionObserver で
 * is-active クラスを足し、画面に入ったところで下から浮き上がらせていた
 * （移行元 assets/js/main.js・assets/css/style.css の
 * [data-anime=fadein].is-active、@keyframes fadein）。IntersectionObserver は
 * 素の JavaScript の機能（jQuery・Slick を持ち込まない）なので、テーマ方式 ADR
 * には触れない。ここでは pa-reveal クラスと front-page.js の setupReveal() で
 * 同じ仕組みを作る。
 *
 * .pa-reveal--delay-1〜3 は移行元の .delay1〜.delay3（0.2s / 0.4s / 0.6s）と
 * 同じ間隔で、複数の要素を同時にではなく順番に浮き上がらせる。
 * -------------------------------------------------------------- */

.front-page .pa-reveal {
	opacity: 0;
}

.front-page .pa-reveal.is-revealed {
	animation: pa-fadein 0.75s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

.front-page .pa-reveal--delay-1.is-revealed {
	animation-delay: 0.2s;
}

.front-page .pa-reveal--delay-2.is-revealed {
	animation-delay: 0.4s;
}

.front-page .pa-reveal--delay-3.is-revealed {
	animation-delay: 0.6s;
}

@keyframes pa-fadein {
	0% {
		opacity: 0;
		transform: translateY(10%);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 動きを控える設定を尊重する。移行元は尊重していないが、このテーマの
   既存方針（front-page.js のスライダー自動送り等）を踏襲して維持する. */
@media (prefers-reduced-motion: reduce) {
	.front-page .pa-reveal {
		opacity: 1;
	}

	.front-page .pa-reveal.is-revealed {
		animation: none;
	}
}

/* ヒーロー画像下のバッジ 2 枚だけの演出。スクロールに関係なく読み込み直後に
   無条件で動く別の仕組み（移行元の .fade-in・.delay1。data-anime とは発火条件が
   違う別系統。詳細は front-page.js の setupReveal() 直前のコメントを参照）. */
.front-page .pa-fade-in {
	opacity: 0;
	animation: pa-fadein 0.75s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

.front-page .pa-fade-in--delay-1 {
	animation-delay: 0.2s;
}

/* 移行元 `.delay2 { animation-delay: 0.4s }`。主役の絵の「成婚率No.1」が使う
 * （Bug #3600）. */
.front-page .pa-fade-in--delay-2 {
	animation-delay: 0.4s;
}

@media (prefers-reduced-motion: reduce) {
	.front-page .pa-fade-in {
		opacity: 1;
		animation: none;
	}
}

/* ==============================================================
 * 1. ヒーロー
 * ============================================================== */

/* 🚨 **移行元は 2026-09-01 に主役の絵を作り替えた**（Bug #3600）。組みは
 * 「全幅の器（`.mv-bg`）＋ 写真 ＋ 上に重なる絵 2 枚（`.mv__copy` / `.mv__no1`）」の
 * 3 層である。作り替えの前は写真の上に文言の絵 2 枚を左右に並べていた
 * （`.mv__sales-pitch`。テーマの `.front-hero__pitch`）。**その組みは移行元から
 * 消えたので、規則も残さない。**
 *
 * 🚨 **移行元の `em` は画面幅に比例しない。**この区画の計算後の字は**幅 375px でも
 * 1440px でも 14px 固定**である（`html` は 9.54198px / 10px と変わるのに、この区画は
 * 14px）。よって固定値で写す。作り替えの前も同じ理由で `1em` を 14px で写していた。
 *
 *   移行元の指定        写す値
 *   2.4em（文字の絵の top）      33.6px
 *   4em（文字の絵の幅の引き算）   56px
 *   1.2em（印の絵の right・携帯） 16.8px
 *   2.4em（印の絵の right・PC）   33.6px
 *   1em（印の絵の bottom・PC）    14px
 *
 * 移行元の実測（2026-09-05・本番 https://www.p-a.jp/ ・幅 375px / 1440px）:
 *
 *   見るもの        375px                        1440px
 *   外側の器        0, 102.17, 375×370.19        0, 120, 1440×500（全幅）
 *   ::before の高さ  450.188（= 370.19 + 80）      580（= 500 + 80）
 *   節              0, 102.17, 375×370.19        220, 120, 1000×500
 *   文字の絵        28, 135.77, 318.98×99.28     255.5, 176, 929×78
 *   印の絵          129.45, 392.59, 228.72×79.77 860.42, 507.02, 325.98×98.98
 *
 * 境目は移行元と同じ 650px である（重なる 2 枚の位置と大きさも `@media
 * (min-width: 650px)` の中で切り替わる）。テーマの他の区画が使う 750px に寄せると、
 * 650〜749px の帯だけ絵が SP 用のままで残り、器の高さが移行元とほぼ 2 倍ずれる
 * （Bug #2885）. */

/* 全幅の器。背景に絵を敷き、下端へ向かって白から #f6f6f6 へ変わる帯を重ねる。
 * 🚨 **`::before` は器より 80px 下まで伸ばす**（移行元 `calc(100% + 80px)`）。
 * 主役の絵の下に続く白い区画へ、背景の絵をなじませるためである。
 *
 * 🚨 **この背景が描かれるかは、トップページの器の 2 行に依存する。**背景は
 * `z-index: -1` で地色より後ろへ置くので、器（`.front-page`）が
 * `position: relative` と `z-index: 0` で「重ね順の入れ物」になっていないと、
 * 器の地色 #f6f6f6 の下へ潜って 1 度も描かれない（節 17-2 の注記を読む）。
 * **CSS の寸法の回帰テストでは捕まえられない差である**（箱は同じで塗りだけが消えるため）. */
.front-hero-bg {
	position: relative;
	width: 100%;
}

.front-hero-bg::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 80px);
	background:
		linear-gradient(to bottom, rgba(255, 255, 255, 0) 70%, #f6f6f6 100%),
		url("../images/top/mv-bg.webp?ver=2bd06ea23f4d") center top / cover no-repeat;
}

.front-hero {
	position: relative;
	max-width: var(--pa-inner-sm);
	margin: 0 auto;
}

.front-hero__picture {
	display: block;
	width: 100%;
}

/* 上に重なる絵 1 枚目「これまで、35,953名が婚活を卒業しました。」 */
.front-hero__copy {
	position: absolute;
	top: 33.6px; /* 移行元 2.4em */
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 56px); /* 移行元 calc(100% - 4em) */
}

/* 上に重なる絵 2 枚目「成婚率No.1」 */
.front-hero__no1 {
	position: absolute;
	right: 16.8px; /* 移行元 1.2em */
	bottom: 0;
	width: 61%;
}

@media (min-width: 650px) {
	.front-hero__copy {
		/* 移行元 clamp(2.4em, 5.2vw, 4em)。両端は上の表の固定値で写す */
		top: clamp(33.6px, 5.2vw, 56px);
		width: 92.9%;
	}

	.front-hero__copy img,
	.front-hero__copy .front-placeholder {
		width: 929px;
	}

	.front-hero__no1 {
		right: 33.6px; /* 移行元 2.4em */
		bottom: 14px; /* 移行元 1em */
		width: 32.6%;
	}

	.front-hero__no1 img,
	.front-hero__no1 .front-placeholder {
		width: 326px;
	}
}

/* ==============================================================
 * 2. 販促バナー
 * ============================================================== */

.front-banners {
	padding: var(--pa-space-sm) var(--pa-inner-gutter) 0;
}

.front-banners__list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.front-banners__item {
	width: 100%;
	max-width: 690px;
}

/* リンク先を持たないバナーは `<a>` ではなく `<span class="front-banners__media">` で
   包む（Bug #6457・template-parts/front/banners.php）。移行元の本番はトップ 2 枚目
   「のりかえ割」をリンクにしていない。**両方に同じ `display: block` を与えて、リンクの
   有無で箱の組み立てが変わらないようにする。** */
.front-banners__link,
.front-banners__media {
	display: block;
}

.front-banners__link img,
.front-banners__media img,
.front-banners__link .front-placeholder {
	width: 100%;
}

/* ==============================================================
 * 2-2. オリコンの受賞の帯（Bug #6531）
 * ==============================================================

   移行元の本番が販促バナーと「選ばれる理由」のあいだへ置いている区画。
   **写しには無く、本番が後から足したものである**（2026-09-16 11:53 に本番を読んで
   確かめた。控えは `pa-verify-assets/d7-6531-0916/`）。markup は
   `template-parts/front/oricon-award.php` にある。

   🚨 **下の外余白が負である。**移行元は区画を次の区画へ食い込ませている
   （761px 以上 −70px ／ 760px 以下 −40px）。**落とすと「選ばれる理由」の見出しが
   70px（携帯幅では 40px）下がる。**「区画を足したぶんだけ下が押される」形ではない。

   🚨 **切り替えの境目は 760px である。**テーマの標準（749px / 750px）ではない。
   移行元がこの区画だけ 760px を使っているので、そのまま写す。寄せると 750〜760px の
   帯だけ違う絵が出る（同じ型の失敗が Bug #2885 に在る）。

   【実測（2026-09-16 11:53）】

     幅 1440 … 区画の高さ 145・内側の器 626px・元画像 1252 × 290
     幅  375 … 区画の高さ 85.98・内側の器 347px（100%）・元画像 690 × 171

   移行元の指定をそのまま写している（注釈の位置だけ整えた）. */

.oricon-award {
	width: 100%;
	text-align: center;
}

.oricon-award__inner {
	margin: 0 auto;
	text-align: center;
}

.oricon-award__picture {
	display: block;
}

.oricon-award__image {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border: 0;
	box-shadow: none;
}

/* サイトトップ */
.oricon-award--top {
	margin-top: 64px;
	margin-bottom: -70px;
}

.oricon-award--top .oricon-award__inner {
	width: 626px;
	max-width: 100%;
}

.oricon-award--top .oricon-award__image {
	width: 100%;
}

@media (max-width: 760px) {

	/* サイトトップ：SP は横幅 100% */
	.oricon-award--top .oricon-award__inner {
		width: 100%;
		max-width: none;
	}

	.oricon-award--top .oricon-award__image {
		width: 100%;
	}

	/* スマホ時の上下余白 */
	.oricon-award--top {
		margin-top: 56px;
		margin-bottom: -40px;
	}
}

/* ==============================================================
 * 3. 選ばれる理由（見出しと目次）
 * ============================================================== */

/* 移行元 `.reason` は左右の内余白を持たない（1050px 以上の `padding-inline: 6em`
   だけを持ち、テーマではそれを内側の器（.front-reason__inner）の側で作っている）。
   テーマは区画の側にも --pa-inner-gutter（15px）を置いていたため、**中身が全幅で
   30px 狭かった**（Issue #2835。区画の見出しが 1440px で 968 対 998px・320px で
   262 対 292px）。
 *
 * 上下の内余白はこのままにする（移行元 `.reason h2 { margin-top: 3em }` に当たる
 * 間隔をテーマは区画の上の内余白で作っており、そこは一致している）. */
.front-reason {
	padding: var(--pa-space-md) 0 0;
	background-color: var(--pa-color-bg);
}

.front-reason__inner {
	max-width: var(--pa-inner-ex);
	margin: 0 auto;
}

/* 移行元 .reason h2 は 1050px 以上でだけ 2.25em（= 31.5px）へ大きくなり、それより
   狭いところでは h2 の既定（21px）のままである。基準（--pa-font-size-heading）を
   参照すると 750px 以上が一律 32px になって移行元と離れるので、実値を直に持たせる. */
.front-reason__heading {
	/* 上マージンは移行元 `.reason h2{text-align:center;margin-top:3em}`（Bug #2071）を
	 * そのまま写す。h2 自身の font-size が上の幅で変わる分、3em の実測 px も
	 * 幅で変わる（1050px 以上で 94.5px = 移行元と一致。1050px 未満は font-size を
	 * 21px にしたことで 63px = 移行元と一致する）. */
	margin: 3em 0 0;
	color: var(--pa-color-heading);
	/* 1050px 未満は移行元の実値（21px）に合わせる。移行元は h2 の既定値
	 * （見出しの UA 既定 1.5em）が、たまたま 14px だった祖先の font-size に
	 * 掛かって 21px になっていた（サイト全体で統一した基準ではない偶然の値）。
	 * ここではこの部品だけに 21px を直値で持たせ、サイト全体のアンビエント
	 * 文字サイズの基準（Bug #2064）には手を入れない. */
	font-size: 21px;
	text-align: center;
}

/* 上余白と行間は、共通の余白トークン（--pa-space-sm 等）ではなく直値を持たせる。
 * 移行元 `.reason__list{margin-top:2em;display:flex;flex-direction:column;gap:1em}`
 * の 2em / 1em は、この区画の祖先の文字サイズ（本文層 .front-page の 14px）に
 * 掛かって 28px / 14px になる。共通トークンは幅で値が変わる別系統の数値で
 * （--pa-space-sm は 750px 以上 40px・749px 以下 20px）、移行元の 28px と
 * 突き合わせて選ばれた値ではない。すぐ上の .front-reason__heading と同じく、
 * この部品だけに移行元の実測値を直値で持たせ、共通トークンには手を入れない
 * （Bug #2168）。
 *
 * em ではなく px にするのは、.front-reason__anchor（15.75px を直値で持つ）が
 * 中に入るため、将来この部品の font-size を触ったときに余白まで連動して
 * 動かないようにするためである. */
.front-reason__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

/* 移行元 public/assets/css/style.css の `.anchor-link{cursor:pointer;
 * color:var(--main-color);font-weight:700;font-size:1.125em;display:flex;
 * align-items:center;gap:.25em}` を写す（Bug #2064）。
 *
 * dev のこの部品はカードではなく容れ物（`<a>`）で、見た目は中の
 * `.front-reason__anchor-text` が持つ下線とバッジ（`.pa-point-circle`）で
 * 作る。容れ物自体には枠・背景・角丸を持たせない（移行元も `.anchor-link`
 * 自体には枠や背景を持たない）。
 *
 * `font-size: 1.125em` は本文層（`.front-page{font-size:14px}`, Bug #2172）を
 * 足す前は、dev のアンビエントが 15px（移行元は 14px）だったため、あえて写さず
 * 据え置いていた（1.125em を足すと 15px→16.875px となり、移行元 15.75px との
 * 乖離が逆に広がっていたため）。本文層を足した後は `.front-reason__list` の
 * アンビエントが移行元と同じ 14px に揃ったので、この省略の前提が崩れている
 * （そのまま 14px 継承だと移行元 15.75px との差が開く一方の回帰になる）。
 * `.front-reason__anchor` はこのファイル 1 箇所（`reasons.php` 内）でしか
 * 使われず、祖先のアンビエントは常に本文層の 14px で固定なので、
 * `1.125em` と直値のどちらでも計算結果は同じ。祖先の値に依存させない
 * `.pa-more-button`（Bug #2172 対応時）と同じ考え方で、直値 15.75px
 * （14px 基準の 1.125em）を採用する。子の `.front-reason__anchor-text`
 * （1050px 以上で 1.5em）と `.pa-point-circle`（0.6em / 1050px 以上 0.778em）は
 * この直値を基準に相対計算されるため、変更不要で移行元と一致する。 */
.front-reason__anchor {
	display: flex;
	align-items: center;
	/* 移行元 `.anchor-link { gap: .25em }`。この目印の字は 15.75px なので
	   0.25em = 3.94px になる。テーマは 16px 固定で持っていたため、
	   **札の文字が 12.06px 狭かった**（Issue #2835。区画の内余白の 30px と
	   合わせて全幅で 42.06px の差になっていた）. */
	gap: 0.25em;
	color: var(--pa-color-accent-strong);
	font-size: 15.75px;
	font-weight: 700;
	text-decoration: none;
}

.front-reason__anchor .pa-point-circle {
	flex: 0 0 auto;
	font-size: 0.6em;
}

/* 「下線区切りの帯」の実体。移行元 `.anchor-link__text{flex:1;padding:.25em;
 * border-bottom:2px solid var(--main-color);position:relative}` を写す. */
.front-reason__anchor-text {
	position: relative;
	flex: 1;
	padding: 0.25em;
	border-bottom: 2px solid var(--pa-color-accent-strong);
}

/* 押せる先を示す小さな矢印。移行元 `.anchor-link__text:after{content:"";
 * position:absolute;display:block;width:.5em;height:.5em;
 * border-right:2px solid var(--main-color);border-bottom:2px solid
 * var(--main-color);transform:rotate(45deg);top:50%;right:1em;
 * margin-top:-.25em}` を写す。装飾のみなので読み上げの対象にしない. */
.front-reason__anchor-text::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1em;
	display: block;
	width: 0.5em;
	height: 0.5em;
	margin-top: -0.25em;
	border-right: 2px solid var(--pa-color-accent-strong);
	border-bottom: 2px solid var(--pa-color-accent-strong);
	transform: rotate(45deg);
}

/* 2 列に組み替える境目は 1050px である。旧版はこの節を 750px で開いており、
 * 幅 750〜1049px の帯で移行元と食い違っていた（外部レビューの指摘）。
 *
 * 実測（移行元 https://www.p-a.jp/ の `.reason__list`・2026-08-27 採取）:
 *   幅 375 / 750 / 800 / 1024 / 1049px  縦 1 列（flex・column）・間隔 14px
 *   幅 1050 / 1440px                    2 列（grid）・間隔 28px
 *
 * つまり移行元は「間隔」も「列数」も 1050px で切り替える。旧版は 750px から
 * 2 列にし、間隔も 28px にしていたため、この帯で行間が 14px 広くなっていた
 * （Bug #2168）. */
@media (min-width: 1050px) {
	/* 移行元では `.reason` 自身が、`.white-area` の内寸 1166px の中で
	 * `padding-inline:6em`（14px 基準で左右 84px）を持つ。移行先では
	 * `.front-reason__inner` がその器に当たるため、ここへ移す。border-box の
	 * 1166px から 84px × 2 を引くので、1440px 幅の一覧は移行元と同じ 998px になる。
	 * 1050px 未満ではこの指定を持たせない. */
	.front-reason__inner {
		max-width: 1166px;
		padding-inline: 84px;
	}

	.front-reason__list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		/* 移行元 `gap:2em`（本文層 14px 基準の 28px）。共通トークン由来の 32px は使わない. */
		gap: 28px;
	}
}

/* 移行元が「選ばれる理由」の大見出しを大きくする境目は 1050px である（.reason h2）。
 * 同じ境目で移行元は導線リンクの文字も拡大する（Bug #2064 追加分）:
 * `@media(min-width:1050px){.anchor-link__text{font-size:1.5em}
 * .anchor-link .point-circle{font-size:.778em}}` */
@media (min-width: 1050px) {
	.front-reason__heading {
		font-size: 31.5px;
	}

	.front-reason__anchor-text {
		font-size: 1.5em;
	}

	.front-reason__anchor .pa-point-circle {
		font-size: 0.778em;
	}
}

/* ==============================================================
 * 4. 理由 1〜4 の枠
 * ============================================================== */

/* 🚨 **枠に幅の頭打ちを持たせない**（Task #3234）。移行元 `.point-box` は `width` も
 * `max-width` も持たず、親の白い囲いが幅を決める。囲いの側が
 * `width: calc(1166px + (100% - 1166px) / 2); margin-left: auto;
 * padding-right: calc((100% - 1166px) / 2)` で内容幅を 1166px に作るので、枠はその
 * 1166px を埋めて**左端が囲いの左端にそろう**。角丸が右側だけ
 * （`border-radius: 0 4em 4em 0`）なのも、左辺がグレーの地色に接する前提だからである。
 *
 * ここに `max-width: var(--pa-inner-ex)`（1120px）と左右 auto の外余白があると、枠が
 * 46px 狭くなって中央へ寄り、**左に白い余白が 23px 出る**。ユーザー目視の「ページ左の
 * グレー背景とコンテンツ左端の間にホワイトの空白がある」はこれである。実測（移行元 =
 * 本番 www.p-a.jp を 2026-09-04 04:0x JST に取得）: 幅 1200 / 1440 / 1999px のどれでも
 * 移行元は 1166px・左端そろえ、写しは 1120px・中央そろえ だった。
 *
 * `--pa-inner-ex` そのものは店舗一覧の器などでも使うので変えない. */
.front-point {
	margin: var(--pa-space-md) 0 0;
	border-radius: 32px;
	background-color: var(--pa-color-surface-muted);
	padding-bottom: var(--pa-space-sm);
	overflow: clip;
}

.front-point__inner {
	position: relative;
}

.front-point__picture {
	display: block;
	width: 100%;
}

/* 🚨 **左右の内余白は 14px である**（Task #3477）。移行元
 * `.point-box__contents { padding-inline: 1em }` は本文層の字 14px なので 14px に
 * なる。写しは器の共通の値（`--pa-inner-gutter` = 15px）を使っていたため、携帯幅で
 * 左右 1px ずつ狭かった（実測 2026-09-04・幅 375px: 移行元の区画 28〜347（319px）／
 * 写し 29〜346（317px））。
 *
 * 共通の値そのものは触らない（ほかのページでも使っているため）。効くのは 749px
 * 以下だけで、750px 以上は下の帯ごとの指定が上書きする. */
.front-point__body {
	padding: 0 14px; /* 移行元 padding-inline: 1em */
}

/* 各枠の頭の丸。移行元 `.point-box .point-circle { margin: -1.5em auto 1em;
   position: relative; letter-spacing: .15em; padding-left: .15em }`。
 *
 * **字間と左内余白の .15em は各枠の頭だけが持つ**（目次の丸は指定を持たない）。
 * テーマは字間を器の共通の指定（.pa-point-circle）に置いていたため目次にも
 * 効いてしまい、左内余白は写していなかった。ここへ移して移行元と同じ効き方に
 * する（Issue #2835）. */
.front-point .pa-point-circle {
	position: relative;
	margin: -1.5em auto 1em;
	padding-left: 0.15em;
	letter-spacing: 0.15em;
}

.front-point--no-image {
	position: relative;
	margin-top: var(--pa-space-lg);
	padding-top: var(--pa-space-sm);
	overflow: visible;
}

/* 写真を持たない POINT03 だけ、丸い印を流れから外して枠の上端にまたがらせる。
 * 移行元 `.point-box.no-image .point-circle` は枠（`section.point-box.no-image`）を
 * 基準に絶対配置し、`top: -14px` と `margin-top: -21px` で 35px 上へ出す。枠の
 * 上の内余白 49px が効くので、印の下端は見出しの 14px（= 1em）上で止まる。
 *
 * 🚨 **テーマは印を包む層が 1 つ多い。**印の親は `.front-point__inner` で、この器は
 * 枠の内余白の**内側**から始まる。そのため移行元と同じ `-1em` では基準がずれる。
 * 749px 以下の直しは下の `@media (max-width: 749px)` にある（Bug #2747）。
 * 750px 以上は枠と本文の内余白の配り方が別なので、ここでは触らない
 * （その帯の差は Bug #2753 が扱う）. */
/* 🚨 **左右の位置は固定値の 37.5px で戻す**（Task #3477）。移行元
 * `.point-box.no-image .point-circle { right: calc(50% - 37.5px) }` は px の固定値で、
 * **印の幅（70px）の半分（35px）より 2.5px 大きい**。そのため移行元の印は器の中心より
 * 2.5px 右へ寄る。写しは `2.5em`（字 14px なので 35px）としていたため、ちょうど中心に
 * 来ていた（実測 2026-09-04・幅 375px: 移行元 155〜225 / 写し 152.5〜222.5、
 * 幅 750px: 移行元 342.5〜412.5 / 写し 340〜410）。
 *
 * 1050px 以上は下の帯で `right: -49px` が上書きするので、この直しは 1049px 以下に
 * だけ効く（1440px は直す前から両側一致）. */
.front-point--no-image .pa-point-circle {
	position: absolute;
	top: -1em;
	right: calc(50% - 37.5px);
	margin: 0;
}

.front-point__title {
	margin: 0;
	color: var(--pa-color-heading);
	font-size: 1.6em;
	font-weight: 700;
	text-align: center;
}

/* 見出しに引く蛍光ペン。移行元は背景のグラデーションで表現していた */
.front-point__marker {
	display: inline-block;
	background: linear-gradient(transparent 60%, var(--pa-front-marker) 40%);
}

/* 活動実績のカウントアップの数字。行送りは移行元と同じく 1 にする
 * （移行元の実測: 幅 375px で文字も行の高さも 52.64px。幅 1440px で 103.95px）。
 * 共通の数字は移行元の `.num` に合わせて行送り 1.5 を持つため、ここで明示しないと
 * この区画だけ行が 1.5 倍に伸びる。**幅 375px はいま移行元と一致しているので
 * 壊さない**（Issue #2620）。
 *
 * 大きさの倍率は移行元も 1049px までは 2.35em である（実測: 幅 750px で見出し
 * 22.4px に対し 52.64px = 2.35 倍）。1050px 以上だけ 2.75em に上がるので、
 * その段は下の `@media (min-width: 1050px)` で足す. */
.front-point__marker .pa-num {
	color: var(--pa-color-accent-strong);
	font-size: 2.35em;
	line-height: 1;
}

/* 移行元は 1050px 以上でこの数字だけ倍率を上げる（実測: 見出し 37.8px に対し
   103.95px = 2.75 倍。1199 / 1200 / 1440 / 1600 / 1920px のいずれでも 103.95px）。
   テーマは 2.35em のままで 88.83px にとどまっていた（Issue #2620 の P3・C の 1 件）. */
@media (min-width: 1050px) {
	.front-point__marker .pa-num {
		font-size: 2.75em;
	}
}

/* 移行元 `.small-caption{font-size:.85em;letter-spacing:0}`（単一宣言）を写す
 * （Bug #2071）。0.6em は本題見出しに対して小さすぎた（実測 60% だった）. */
.front-point__caption {
	font-size: 0.85em;
}

/* 理由の枠の中見出し。移行元 .point-box__sub / .profile-title は 1050px 未満で
   17.5px、1050px 以上で 24.5px になる。下外余白は移行元がどの幅でも 0 である。
 *
 * Issue #2626 の生きている移行元との実測で、6 件の対応と上外余白を確定した。
 *
 * | テーマの見出し | 移行元の要素 | 1050px 未満 | 1050px 以上 |
 * | --- | --- | --- | --- |
 * | POINT01「結婚に真剣な…」 | bare `h3` | 2em | 2.5em |
 * | POINT01「会員プロフィール」 | `h3.profile-title` | 2em | 2.5em |
 * | POINT02「設計から…」 | `h3.point-box__sub` | 2em | 5em |
 * | POINT04「ゴールに向かって…」 | `h3.point-box__sub` | 2em | 5em |
 * | POINT04「専任担当伴走型…」 | `h3.maincol` | 2em | 2.5em |
 * | POINT04「成婚コンシェルジュ同士…」 | bare `h3` | 2em | 2.5em |
 *
 * 移行元は汎用の `h3` へ `margin-top: 2em` / 2.5em を配り、
 * `.point-box__sub` の 2 件だけを 1050px 以上で 5em に上書きしている。
 *
 * `font-size: 17.5px` はこのブロックに以前から無かった（Bug #2172 で全数突き
 * 合わせをするまで、dev 側は明示指定を欠いたまま UA 既定の h3（Chromium は
 * 1.17em）が祖先のアンビエントに掛かった値（本文層を足す前は 15px×1.17≈17.55px）
 * が移行元の 17.5px にたまたま近く、乖離が表に出ていなかった。本文層を足すと
 * 14px×1.17≈16.38px まで縮み、乖離が見える形になった）。移行元は
 * `h3{font-size:1.25em}`（1050px 未満、祖先 14px 基準）で 17.5px にしている
 * ので、UA 既定に頼らず直値で明示する. */
.front-point__subheading {
	margin: 2em 0 0;
	color: var(--pa-color-heading);
	font-size: 17.5px;
	text-align: center;
}

@media (min-width: 1050px) {
	.front-point__subheading {
		margin-top: 2.5em;
		font-size: 24.5px;
	}

	/* 移行元 `.point-box__sub` に当たる 2 件だけの PC 幅の上書き。 */
	.front-point__subheading--lead {
		margin-top: 5em;
	}
}

.front-point__subheading--accent {
	color: var(--pa-color-accent-strong);
}

/* 移行元は**枠の本文の器の直下の子**に頭打ちと中央寄せを当てている（Bug #2821）。
   除くのは見出し（`h2`）・リンク（`a`）・表（`table`）・出会いの種類の一覧である。

   ```css
   @media(min-width:650px){
     .point-box__contents > *:not(h2):not(a):not(table):not(.variation-list){
       max-width:800px; margin-inline:auto }
   }
   ```

   写しは説明文・図・注記の 3 クラスだけを名指ししていたため、**中見出し
   （`.front-point__subheading`）に頭打ちが効かず**、幅 1440px で 944 対 800px と
   144px 広くなっていた（現行の実測・2026-09-02）。移行元と同じ「直下の子」の形に
   置き換える。

   🚨 **650px 以上に限る**のも移行元と同じである。749px 以下は器が 800px より
   狭いので見た目は変わらないが、条件を写しておく（Issue の陰性対照「幅 375px で
   説明文の幅が動かない」を満たす）. */
@media (min-width: 650px) {
	.front-point__body > *:not(h2):not(a):not(table):not(.front-variation) {
		max-width: var(--pa-inner-xs);
		margin-inline: auto;
	}
}

.front-point__figure {
	text-align: center;
}

/* 🚨 **導入文の段落は「直前に何が在るか」で上の外余白が変わる**（Bug #4322）。
 *
 * `.front-point__lead` は 2 つの場所で使われる（`template-parts/front/reasons.php`）。
 *
 *   ①ロゴの帯（`p.front-point__figure`）のあと … 上の外余白は **0**
 *     空きは帯の下だけが持つ（1050px 以上で 24.36px・750〜1049px で 20.3px。
 *     Bug #3838 と Bug #3754）
 *   ②題（`h2.front-point__title`）または小見出し（`h3.front-point__subheading`）の
 *     あと … 上の外余白は **1em**
 *
 * 写しは①に合わせた `margin: 0` を帯の中で全部に当てていたため、②で移行元とずれた。
 *
 * 実測（2026-09-07・移行元 `https://www.p-a.jp/` と dev を同じ道具で）:
 *
 *   幅 1440px  移行元 `16.8px 106px 0px`  対  写し `0px 106px`（**上が 16.8px 足りない**）
 *   幅  375px  移行元 `14px 0px 0px`      対  写し `14px 0px`（**下に 14px 余分**）
 *
 * この差は「一人ひとりに合った婚活を進める」「9バリエーションから選べる」
 * 「専任担当制」の 3 つの塊に出ていた。
 *
 * 🚨 **`.front-point__lead { margin: 0 }` は消さないこと。**①のための指定である
 * （消すと段落の既定の外余白 1em が生き、帯の上下 14px と潰れ合って 16.8px になり、
 * 移行元の 24.36px と食い違う。Bug #3838 の指摘）。**②だけを当たり先で絞って足す。**
 *
 * 🚨 **`16.8px` や `14px` の直値では書かない。**`1em` は段落自身の字を基準にするので、
 * 1050px 以上（字 16.8px）で 16.8px・749px 以下（字 14px）で 14px と、帯ごとに
 * 移行元と同じ値になる。直値にすると片方の幅でしか合わない。
 *
 * 当たり先はクラス 2 つなので、帯の中の `.front-point__lead`（クラス 1 つ）に
 * 詳細度で勝つ。帯の位置に関わらず効く. */
.front-point__title + .front-point__lead,
.front-point__subheading + .front-point__lead {
	margin: 1em 0 0;
}

/* 🚨 **横に長い表の器は、この区画では上下の外余白を持たない**（Bug #4322）。
 *
 * 移行元の `.table-wrap` は `margin: 0 106px`（幅 1440px）/ `margin: 0`（幅 375px）で、
 * **上下は 0** である。写しは共通部品の `.pa-table-scroll` に
 * `margin: var(--pa-space-sm) 0`（パソコン幅 40px / 携帯幅 20px）を当てていたため、
 * 上に余分な空きが入っていた（下の 40px は次の小見出しの上の外余白 61.25px と
 * 潰れ合うので、見た目に出るのは上だけである）。
 *
 * 実測（2026-09-07・「専任担当制 でフォローアップする 伴走型サポート」の塊）:
 *   幅 1440px  移行元 `0px 106px` 対 写し `40px 106px`（**上が 40px 余分**）
 *   幅  375px  移行元 `0px`       対 写し `20px 0px`（**上が 20px 余分**）
 *
 * 🚨 **共通部品の指定そのものは変えない。**`.pa-table-scroll` は結婚相談所の比較の
 * 区画などでも使われ、そちらは上下の外余白を前提に組んである
 * （`.front-comparison__narrow .pa-table-scroll` の指定が既に区画を絞っている前例）。
 * **この区画（`.front-point`）だけに絞って上下を 0 にする。**
 *
 * 左右の 106px は別の指定が与えているので、上下だけを書く. */
.front-point .pa-table-scroll {
	margin-top: 0;
	margin-bottom: 0;
}

/* 注記の段落（移行元 `<p class="pc-center">`）。寄せは移行元と同じ中央で、
 * **上下の外余白は 0** である（移行元は初期化で段落の既定の 1em を消している）。
 *
 * 🚨 **字を小さくしているのは、この段落ではなく中の `<span>` である**
 * （Task #3380）。移行元は中身を `<span class="small-caption">` で包み、
 * その span に `font-size: .85em; letter-spacing: 0` を当てている。
 * 段落そのものは本文の器の `1.2em`（1050px 以上で 16.8px）をそのまま受ける。
 *
 * ⚠️ **段落だけを見て「移行元に字の指定が無い」と判断してはいけない。**
 * 2026-09-04 に実際にそう読んで 0.85 倍を外し、注記が 2 行に折り返して
 * 移行元から遠ざかった（移行元 30.23px に対し 60.47px。外す前は 21.42px）。
 * 中の span まで降りて確かめること. */
.front-point__note {
	margin-block: 0;
	text-align: center;
}

/* 移行元 `.small-caption{font-size:.85em;letter-spacing:0}` を写す（Task #3380）。
 * 同じ移行元の目印を写した先例が 2 つあり（`.front-point__caption` と
 * `.front-cta__note-caption`）、こちらは行送りまで持つ後者にそろえる。
 *
 * 移行元は全要素へ `* { line-height: 1.5 }` を当てているため span は 1.5 に
 * 戻るが、テーマはその全要素への指定を持たない（持たせるとテーマ全体へ波及
 * する）。そのため 1.5 を直値で書く。
 *
 * 実測（両側・2026-09-04 15:18 JST・幅 1440px）: この span を 1 行に強制した
 * ときの実幅は移行元 701.92px。段落の側は本文の器の 1.2em（16.8px）のままで、
 * 字を小さくしているのはこの span である（実幅の比 701.92 ÷ 825.28 = 0.8505 が
 * `.85em` と一致する）. */
.front-point__note-caption {
	font-size: 0.85em;
	letter-spacing: 0;
	line-height: 1.5;
}

/* 説明文と図を横に並べる小さな塊。移行元の .detail-box */
/* 🚨 **上の空きと隙間は移行元の `1em`（= 14px）である**（Bug #3844・#3993）。
 * 移行元 `.detail-box { margin-top: 1em; gap: 1em }` で、この囲みの中の字は 14px
 * なので 14px になる。写しは 16px の直値だったため、**749px 以下の帯だけ**
 * 囲みが 2px 高く、上の空きが 2px 広かった（実測 2026-09-06・幅 375〜749px）。
 * 750〜1049px は Bug #3844 で先に直してあったが、素の値は 16px のままだった。
 * 1050px 以上の上の空きは移行元が `2em`（28px）で、下の帯が上書きする. */
.front-detail {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: var(--pa-inner-xs);
	margin: 14px auto 0;
	text-align: left;
}

.front-detail__text {
	margin: 0;
	font-size: 14px;
}

.front-detail__image {
	margin: 0;
	text-align: center;
}

/* 会員プロフィールの札。移行元の .profile-box
 *
 * 🚨 **外余白と内余白は移行元の `1em` / `1.5em`（= 14px / 21px）である**（Bug #4000）。
 * この区画の字は 14px なのでそう決まる。写しは 16px / 24px の直値だったため、
 * **749px 以下だけ**札が下がり、中身の幅が 6px 狭かった（実測 2026-09-06・幅 375px:
 * 中身の幅が 移行元 277 対 写し 271。中に入る男女比の札が 131.5 対 128.5）。
 * 750〜1049px は Bug #3844 で先に直してあったが、素の値は 24px のままだった。
 * 1050px 以上は移行元が `2em` / `2.5em` なので、下の帯が上書きする. */
.front-profile {
	max-width: var(--pa-inner-xs);
	margin: 14px auto 0;
	padding: 21px;
	border-radius: 32px;
	background-color: var(--pa-color-bg);
}

/* 札の見出し。移行元 `.profile-box dt{font-weight:700;font-size:1.25em;
 * margin-bottom:.5em;text-align:center}`。
 *
 * 下の外余白を `8px` から `0.5em` へ直す。移行元は見出し自身の大きさに掛けており、
 * 1050px 以上では 24.5px の半分の 12.25px になる。固定値だと大きさを直しても
 * 余白が付いてこない（Bug #2254）. */
.front-profile__label {
	margin-bottom: 0.5em;
	font-size: 1.25em;
	font-weight: 700;
	text-align: center;
}

/* 見出しの中の数字（「500」）。移行元は `.en{font-family:Inter,sans-serif;
 * font-size:1.25em}` で、見出しの 24.5px に対して 30.625px になる。
 *
 * テーマの共通の数字（`.front-page .pa-num`）は移行元の `.num` に合わせた `1.3em`
 * なので、見出しを移行元と同じ 24.5px にすると 31.85px になり、移行元より 1.2px
 * 大きい。この札の中だけ移行元の `.en` の比率へ戻す。
 * **共通の `.pa-num` は触らない**（比較表など他の区画が使っている）。
 *
 * 行の高さはここで指定しない。移行元の `.en` は行の高さを持たず共通 reset の
 * `* { line-height: 1.5 }` を受ける。共通の数字も Issue #2744 で行送り 1.5 に
 * そろえたので、上書きしなくても移行元の 45.94px と一致する. */
.front-profile__label .pa-num {
	font-size: 1.25em;
}

.front-profile__body {
	margin: 0;
}

/* 札の説明文。移行元 `.profile-box dd>p` は上の外余白を持たない（`pc-center` は
 * 1050px 以上で中央ぞろえにするだけ）。
 *
 * 旧版は上に 16px を置いていた。この余白は見出しの下余白（12.25px）と相殺されて
 * 大きいほうが残るため、**札が 3.75px 高くなっていた**（16 − 12.25。実測で確認）. */
.front-profile__text {
	margin: 0;
	text-align: center;
}

/* 年収の札は、人物の絵を札の左端へ重ねる。移行元の .profile-box.over-image
 *
 * 🚨 **左の内余白は移行元の `6em`（= 84px）である**（Bug #4000）。上の札と同じ理由で、
 * 写しは 96px の直値だった. */
.front-profile--single {
	position: relative;
	padding-left: 84px;
}

.front-profile--single .front-profile__label {
	text-align: left;
}

.front-profile__figure {
	display: block;
	position: absolute;
	top: 50%;
	left: -16px;
	width: 80px;
	margin: 0;
	transform: translateY(-50%);
}

/* 大きな数字（「69.5%」）。移行元の `.shift-text` である。
 *
 * ```
 * .shift-text{line-height:1;margin-inline:.15em;
 *   -webkit-text-stroke:.02em var(--sub-color);
 *   text-shadow:.025em .025em var(--sub-color);
 *   color:transparent;font-family:Inter;font-size:2.5em}
 * .shift-text span{font-size:.75em}
 * @media(min-width:1050px){.shift-text{font-size:3.25em;margin-top:.15em;display:block}}
 * ```
 *
 * **旧版は大きさも見せ方も写していなかった。**赤の塗り（`--pa-color-accent-strong`）で
 * 21px の文字を見出しの右へ並べるだけだったため、移行元の 79.625px の青い数字とは
 * 別物になっていた。実測（幅 1440px・2026-08-27）:
 *
 * |  | 移行元 | 旧版の dev |
 * |---|---|---|
 * | 大きさ | 79.625px | 21px |
 * | 組み方 | `display: block`（改行して 2 行組みになる） | `inline` |
 * | 文字色 | 透明（`color: transparent`） | 塗り `rgb(245,72,81)` |
 * | 縁取り | 1.5925px の `rgb(0,155,211)` | 無し |
 * | 影 | `rgb(0,155,211)` を 1.99px ずらす | 無し |
 *
 * **大きさだけ直すと「移行元に無い大きな赤い数字」になって悪化する**ため、
 * 色と見せ方は分けずに同じ節で写す。移行元の `--sub-color` は、このテーマでは
 * `--pa-palette-blue`（`#009bd3`）として同じ値を持っている。
 *
 * 文字の書体は指定しない。移行元は `font-family: Inter` を明示するが、トップページは
 * `body.pa-legacy-new-font` が付いて `--pa-font-family-base` の先頭が Inter になる
 * ので、数字はどちらも Inter で描かれる（実測で確認）。
 * 🚨 **テーマ全体の既定は Inter ではない**（`:root` は游ゴシック始まりの 3 書体）。
 * この部品をほかの画面へ持ち出すなら、書体を明示すること. */
.front-profile__shift {
	margin-inline: 0.15em;
	color: transparent;
	font-size: 2.5em;
	line-height: 1;
	text-shadow: 0.025em 0.025em var(--pa-palette-blue);
	-webkit-text-stroke: 0.02em var(--pa-palette-blue);
}

/* 移行元 `.shift-text span{font-size:.75em}`。「5%」だけ小さくする。
 *
 * 行の高さは 1.5 を明示する。移行元のこの `span` は行の高さを持たず、共通 reset の
 * `* { line-height: 1.5 }` が直接当たって 1.5 になる（親の `line-height: 1` は
 * 全称セレクタに負けるため継がない）。その結果、行の箱が 89.58px まで伸び、
 * 大きな数字の行が 91.58px になる。
 *
 * テーマには全称セレクタの行の高さが無いので、書かないと `span` が親の 1 を継ぎ、
 * **見出しの箱が 21px 低くなって人物の絵が収まらない**（実測で確認）. */
.front-profile__shift span {
	font-size: 0.75em;
	line-height: 1.5;
}

/* 男女比の 2 枚札。移行元の .ratio-box。移行元は基の指定に外余白・最大幅を
 * 持たず、間隔（gap: 1em = 14px）だけを常に持つ。外余白 2em（28px）・
 * 最大幅 600px は @media(min-width:1050px) でだけ付く（Bug #2317）。
 * 直値は本文層 .front-page の 14px 基準（1em = 14px）で換算した. */
.front-ratio {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

/* 🚨 **札の上の空きは器でなく「札そのもの」が持つ**（Bug #4000）。移行元は
   `.ratio-box__item { margin-top: 3em }`（= 42px）と `.ratio-box__item--img { top: -3em }`
   （= −42px）で、絵が札の上へちょうど 42px 突き出す。

   写しは器（`.front-ratio`）に `margin-top: 48px`、札に `margin-top: 0`、絵に `top: -40px`
   を置いていた。**750〜1049px では Bug #3754 が既に移行元と同じ持たせ方に直してあり、
   749px 以下だけが古い形で残っていた。**直前の要素の下端を 0 としたときの位置は次のとおり
   （実測 2026-09-06・幅 375px）。

     何                  移行元    写し・直す前
     絵の上端            +0        +8
     札の白い面の上端    +42       +48

   **Bug #3754 の意図は保たれる。**あの Issue は「750〜1049px でも絵が札の上へ突き出すこと」を
   求めたもので、移行元の `margin-top: 3em` は 1050px 未満のすべての幅で効くためである。
   1050px 以上は下の帯が `margin: 0` で打ち消す（移行元も同じ）. */

/* 移行元は外余白 2em（28px）・最大幅 600px をこの幅からだけ持つ（Bug #2317）。
 * 項目内部の見た目切り替え（.front-ratio__item 等）は 750px を境目にしており、
 * こことは別の食い違いなので触らない（この Issue の対象外）. */
@media (min-width: 1050px) {
	.front-ratio {
		max-width: 600px;
		margin: 28px auto;
	}
}

.front-ratio__item {
	position: relative;
	/* 移行元 `.ratio-box__item { margin-top: 3em }`。札の字は 14px なので 42px である
	 * （Bug #4000。上の注釈を読むこと）. */
	margin-top: 42px;
	/* 移行元 `.ratio-box__item { padding-block: 1em 0.5em }`。札の字は 14px なので
	 * 14 / 7px である（Bug #3911。写しは 16 / 8px で 3px 高かった）。**移行元は左右に
	 * 内余白を持たない。**1050px 以上は下の帯が `padding: 0` で打ち消す. */
	padding: 1em 0 0.5em;
	border-radius: 4px;
	background-color: var(--pa-palette-blue);
	color: var(--pa-color-bg);
	text-align: center;
}

.front-ratio__item--female {
	background-color: var(--pa-color-accent-strong);
}

.front-ratio__icon {
	position: absolute;
	/* 移行元 `.ratio-box__item--img { top: -3em }`。札の字は 14px なので −42px である
	 * （Bug #4000。写しは −40px で 2px 足りなかった）. */
	top: -42px;
	left: 50%;
	width: 51px;
	transform: translateX(-50%);
}

.front-ratio__label {
	/* 移行元 `.ratio-box__item--ttl { margin-bottom: 0.25em }`。この段の字は
	 * 1.125em（= 15.75px）なので 3.94px である（Bug #3911。写しは 4px の直値だった）. */
	margin: 0 0 0.25em;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1;
}

.front-ratio__value {
	margin: 0;
	font-size: 2em;
	font-weight: 700;
	line-height: 1;
}

/* 🚨 **「%」の行送りは自分で 1.5 倍として持つ**（Bug #3911）。移行元は先頭で
 * `* { line-height: 1.5 }` を全要素に当てているため、**行送りが親から子へ受け継がれない**。
 * `.ratio-box__item--num span` は行送りの規則を持たないので、親の `line-height: 1` ではなく
 * `*` の 1.5 が効き、**自分の字の 1.5 倍**（1050px 以上で 26.25 → 39.375px）になる。
 * それが親の 35px を超えるため、**数字の箱が 40.4px まで伸びる**。
 *
 * 写しは親の 1 を受け継いで 26.25px になっていたため、箱が 35px のままだった
 * （実測 2026-09-05: 375px と 750px で 33 対 28px、1050px 以上で 40 対 35px。
 * **どの幅でもちょうど 5px 低い**）。
 *
 * 同じ書き方が会員プロフィールの `.front-profile__shift span` にもある（そちらの注釈に
 * 仕組みの説明がある）。正本: memory `reference_legacy_universal_line_height_15.md`. */
.front-ratio__value span {
	font-size: 0.75em;
	line-height: 1.5;
}

/* 🚨 **750〜1049px の帯は、移行元の「1050px 未満」の値をそのまま使う**（Bug #3754）。
 * 移行元はこの帯に専用の指定を持たず、749px 以下と同じ値で 1049px まで通す。写しは
 * 共通の値（本文層の 16px 刻み）を使っていて、1〜6px ずつ食い違っていた。
 *
 * 実測（2026-09-05・幅 800px。移行元 www.p-a.jp と dev を同じ道具で）:
 *
 *   何                          移行元         写し・直す前
 *   絵の段落の外余白            0 0 20.3px     14px 0 14px
 *   導入文の外余白              0              14px 0 14px
 *   説明の囲みの上の外余白      14px           16px
 *   会員データの上の外余白      14px           16px
 *   会員データの内余白          21px           24px
 *   年収の札の内余白            21px 21px 21px 84px   24px 24px 24px 96px
 *
 * **749px 以下は触らない。**移行元は携帯専用のページ（/sp/）を別に持っており、
 * 写しの携帯幅はそちらと突き合わせない取り決めのため、基底の値は動かさない. */
@media (min-width: 750px) and (max-width: 1049px) {
	.front-point__figure {
		margin: 0 0 20.3px;
	}

	.front-point__lead {
		margin: 0;
	}

	/* 🚨 **縦積みの隙間も移行元は 1em（14px）である**（Bug #3844）。この帯だけ囲みが
	 * 2px 高くなっていた（実測 2026-09-05・幅 800px: 移行元 185.03 対 写し 187.03。
	 * 中の 2 つの段落は両側とも 50.38 と 120.66 で一致し、外余白も内余白も 0 なので、
	 * 差は隙間だけである）。**この上書きは Bug #3993 で素の指定を 14px にしたため
	 * 要らなくなり、外した。**素の 14px がこの帯にもそのまま効く. */

	/* 🚨 **この帯にあった `.front-profile` と `.front-profile--single` の上書きは、
	 * Bug #4000 で素の指定を移行元の 14px / 21px / 84px にそろえたため要らなくなり、
	 * 外した。**素の値がこの帯にもそのまま効く. */

	/* 🚨 **この帯の指定は、上の `.front-ratio__item` 等の基の指定より後ろに置く。**
	 * 強さが同じ (0,1,0) なので、前に置くと基の指定が勝って黙って効かない
	 * （2026-09-05 に一度それで詰まった）.
	 *
	 * 移行元は 1050px 未満で 2 枚札を縦積みにし、札の上の空き 42px を
	 * **札そのものの外余白**として持つ。写しは器（.front-ratio）の外余白として
	 * 48px を持っていたため、すぐ上の説明語（dt）の下余白 8.75px と重なって潰れ、
	 * 空きが 50.75 → 48px に縮んでいた。器は格子なので、札に付け替えると潰れない。
	 *
	 * 数字の段落は、移行元では中の `span`（0.75em = 21px）の行送りが 1.5 倍
	 * （31.5px）で、それが行の高さを 28 → 32.5px へ押し上げている。写しは行送りを
	 * 単位なしの 1 で書いており、`span` にも 1 が伝わって 21px になっていた
	 * （落とし穴: 単位なしの行送りは子の字の大きさで計算し直される）.
	 *
	 * 実測（2026-09-05・幅 800px）:
	 *
	 *   何                  移行元    写し・直す前
	 *   割合の帯            115.19    71.8（＋器の外余白 48px）
	 *   割合の札             73.19    71.8
	 *   札の外余白・内余白   42 / 14px 0 7px    0 / 16px 8px 8px
	 *   数字の段落           32.5     28.0
	 */
	/* 🚨 **この帯にあった `.front-ratio { margin-top: 0 }` と
	 * `.front-ratio__item { margin-top: 42px }` は、Bug #4000 で素の指定を移行元と同じ
	 * 持たせ方にそろえたため要らなくなり、外した。**素の値がこの帯にもそのまま効く。
	 * 内余白の 14 / 7px は素の `padding: 1em 0 0.5em` と同じ値なのでこれも外した. */

	.front-ratio__value span {
		line-height: 1.5;
	}
}

/* 4 段の進め方。移行元の .flow-list */
/* 4 段の流れの一覧。移行元 `.flow-list` を写す。
 *
 * 移行元の素は `margin-top: 2em; gap: 1em; max-width: 800px`（本文層の字 14px で
 * 28px / 14px / 800px）である。写しは 40px / 16px を当てていた（Task #3380）. */
.front-flow {
	display: flex;
	flex-direction: column;
	gap: 14px; /* 移行元 1em */
	max-width: var(--pa-inner-xs);
	margin: 28px auto 0; /* 移行元 2em */
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.front-flow__item {
	border-radius: 14px; /* 移行元 .flow-list__item の 1em */
	background-color: var(--pa-color-bg);
	overflow: clip;
	font-size: 14px;
}

.front-flow__image {
	display: block;
	width: 100%;
}

/* 移行元 `.flow-list__item--description { padding: 1em }`。1050px 以上は
 * `padding: 1em 1.25em` で、そこでは札の字が 1.2 倍（16.8px）になるため
 * 16.8px / 21px になる（下の 1050px 以上の帯を見る）. */
.front-flow__description {
	margin: 0;
	padding: 14px;
}

.front-flow__description dt {
	margin-bottom: 0.5em; /* 移行元 .5em（この dt の字 1.25em が基準なので 8.75px） */
	color: var(--pa-color-accent-strong);
	font-size: 1.25em;
	font-weight: 700;
}

.front-flow__description dd {
	margin: 0;
}

/* 手順の番号。移行元は見出しの中の数字に `.en { font-size: 1.25em }` を当てる
 * （実測: 幅 1440px で見出し 21px に対し 26.25px）。共通の数字（1.3em）とは
 * 別の値なので、この区画だけ上書きする（Issue #2620）。 */
.front-flow__description dt .pa-num {
	font-size: 1.25em;
}

/* 9 通りの出会い方。移行元の .variation-list
 *
 * 🚨 **行の隙間は器の字の大きさに連動する**（Task #3477）。移行元は
 * `.variation-list { gap: .75em }` で、器そのものが `@media (min-width: 650px)` で
 * `font-size: 1.2em`（本文層 14px なので 16.8px）になるため、**隙間も 10.5px →
 * 12.6px と変わる**。写しは `gap: 12px` の固定値だったので、携帯幅では広すぎ、
 * パソコン幅では狭すぎた。
 *
 * 実測（両側とも同じ道具・同じ幅・2026-09-04。項目そのものは 9 件とも数・箱・字・
 * 行送りが完全に一致していて、差は器の行の隙間だけだった）:
 *
 *   幅      行数  項目の高さの合計  移行元の隙間  写しの隙間  器の高さ（移行元 / 写し）
 *   375px   5 行  94.45px           10.5px        12px        136.45 / 142.45
 *   750px   5 行  113.45px          12.59px       12px        163.81 / 161.44
 *   1440px  3 行  68.07px           12.59px       12px        93.25 / 92.06
 *
 * **高さの差の向きが幅で逆になっていた**のは、この連動を持たないためである. */
.front-variation {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75em; /* 移行元 .variation-list { gap: .75em } */
	max-width: 600px;
	/* 🚨 **上の外余白は `2em` である**（Bug #4322）。共通の間隔
	 * （`--pa-space-sm` = パソコン幅 40px / 携帯幅 20px）は移行元と食い違う。
	 * `2em` はこの一覧自身の字が基準なので、**両方の幅で移行元と同じ値**になる
	 * （この一覧は 650px 以上で字が 1.2 倍になるため、1440px で 16.8px × 2 = 33.6px・
	 * 375px で 14px × 2 = 28px）。
	 *
	 * 実測（2026-09-07・移行元 `https://www.p-a.jp/` と dev を同じ道具で）:
	 *   幅 1440px  移行元 33.6px 対 写し 40px
	 *   幅  375px  移行元 28px   対 写し 20px（**向きが逆になる**） */
	margin: 2em auto 0;
	padding: 0;
	list-style: none;
	counter-reset: pa-variation;
}

/* 一覧の項目は、器の大きさの 0.9 倍である（移行元 `.variation-list li { font-size: .9em }`）。
   器そのものは 650px 以上で 1.2 倍になる（下の媒体条件）。写さないと本文層の 14px が
   そのまま出て、移行元の 12.6px（649px 以下）/ 15.12px（650px 以上）と食い違う
   （Bug #2620 の分類 ④。9 項目すべてに出ていた）. */
.front-variation li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9em;
	font-weight: 700;
	counter-increment: pa-variation;
}

/* 🚨 移行元はここだけ 650px で切り替える（`@media(min-width:650px){ .variation-list
   { font-size: 1.2em } }`）。テーマの他の区画が使う 750px ではない。移行元の CSS には
   450 / 650 / 700 / 750 / 1024 / 1050 / 1200px など複数の境目があり、この一覧は 650px を
   使っている。750px にすると 650〜749px の帯で 14px のままになり、移行元の 15.12px と
   食い違う（Bug #2620）. */
@media (min-width: 650px) {
	.front-variation {
		font-size: 1.2em;
	}
}

.front-variation li::before {
	content: counter(pa-variation);
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	background-color: var(--pa-front-marker);
	color: var(--pa-color-accent-strong);
	font-weight: 700;
	line-height: 1;
}

/* 出会いの方法 6 枚。移行元は Slick で自動送りしていた。
   ここでは共通部品の横送り（.pa-slider）に、自動送りとドット表示を持たせて載せている。
 *
 * 🚨 **上の一覧との間は 1049px 以下で 56px・1050px 以上で 84px 空ける**
 * （Task #3299）。写しは `--pa-space-sm`（750px 以上 40px・749px 以下 20px）
 * だった。この不足が、上へはみ出す「おすすめ」の札をすぐ上の
 * 「9 通りの出会い方」の一覧に食い込ませていた。
 *
 * 実測（両側とも 2026-09-04 に同じ道具で測った。一覧の下端から札の字の上端まで）:
 *
 *   幅      移行元   写し・直す前   写し・直した後
 *   375px    +20        −16            +20
 *   800px    +20         +4            +20
 *   1050px   +36         −8            +36
 *   1440px   +36         −8            +36
 *
 * 移行元の CSS は `.meet__body { margin-top: 4em }` の 1 本だけで、帯を持たない。
 * それでも 1050px 以上で 84px になる（実測）。`em` の基準がその帯で 14 → 21px に
 * 上がるためだが、**上げている規則は特定できていない**（親のつながりに 1050px 帯の
 * `font-size` は無い。子の外余白が親と合体している可能性がある）。仕組みが不明な
 * ぶん、写しは割合ではなく実測した直値で置く。
 *
 * ⚠️ **移行元の `.meet { padding: 12rem 0 }` はこの区画のものではない。**
 * トップの出会いの機会は `section.point-box.no-image#point3` の中の
 * `div.meet__body` であり、`.meet` という要素はトップに存在しない
 * （実ページで `document.querySelector('.meet')` が null であることを確かめた）。
 * CSS だけを読んで区画名を決めると取り違える. */
.front-meet {
	margin-top: 56px;
}

@media (min-width: 1050px) {
	.front-meet {
		margin-top: 84px;
	}
}

/* 🚨 **上に場所を空けない**（Task #3299）。移行元の `.meet__list__item` は
 * `padding: 0 3.25rem 3rem` で上の内余白を持たず、「おすすめ」の札は白い札の中から
 * 絶対配置で上へはみ出す。写しは札を白い札の外の兄弟に置いていたため、流れの中で
 * 場所を取ってしまい、上に 2.2em を空けて逃がしていた。札を中へ移したので、この
 * 逃がしは要らない（残すと札が 1 枚だけ 30.8px 下へずれる）. */
.front-meet__item {
	display: flex;
	position: relative;
	flex-direction: column;
	max-width: 480px;
}

/* 「おすすめ」の札の位置の基準になる（移行元の `.meet__list__item__inner` も
   `position: relative` を持つ）. */
.front-meet__card {
	display: flex;
	position: relative;
	flex: 1;
	flex-direction: column;
	/* 🚨 **絵を下端へ寄せるのは `justify-content` の役目である**（Bug #3896）。
	 * 移行元は `.meet__list__item__inner { justify-content: space-between }` で下端へ寄せつつ、
	 * 絵の側の `margin: 3rem auto 0` を「文と絵のあいだの最小の空き」として効かせている。
	 * 絵へ `margin-top: auto` を書くと下端へは寄るが、**いちばん高い札で空きが 0 になり**、
	 * 移行元の 30px と食い違う。中身は「おすすめ」の札（絶対配置）を除くと 2 つなので、
	 * `space-between` は移行元と同じ結果になる. */
	justify-content: space-between;
	padding: 0 20px 24px;
	border-radius: 20px;
	background-color: var(--pa-color-bg);
	/* 札を紙のように浮かせる薄い影。**移行元と同じ色にそろえる**（Bug #3742）。
	 * 移行元は `.meet__list__item { box-shadow: 0 0 10px #dde8e9 }`（青みのある薄い灰）
	 * で、写しは黒の 8% へ置き換えていた。ぼかしと位置は同じなので、差は色だけである。
	 *
	 * 実測（2026-09-05・幅 375px・札の左端をまたぐ 40px の帯を撮って画素で比べた）:
	 * 影が乗る 10px ぶんの画素が 移行元 (245,242,235)〜(239,239,235) 対
	 * 写し (250,241,231)〜(246,237,228)。**赤と青が 5〜7 ずつ違い、移行元は青寄り・
	 * 写しは黄寄りの灰**になっていた。
	 *
	 * この目印はトップの出会いの機会だけで使うので、ほかのページへは波及しない. */
	box-shadow: 0 0 10px #dde8e9;
}

/* 🚨 **「おすすめ」の札は白い札の中に置き、上へはみ出させる**（Task #3299）。
 * 移行元の `.callout-title` をそのまま写す。
 *
 *   .callout-title {
 *     font-size: 1.5em; font-weight: 700; text-align: center; margin-top: 2em;
 *     color: var(--main-color); position: absolute; top: -4em; left: 0; width: 100%;
 *   }
 *   .callout-title:before, .callout-title:after {
 *     content: ""; display: inline-block; width: 2px; height: 1em;
 *     background-color: var(--main-color); vertical-align: middle; margin: 0 .5em;
 *   }
 *   .callout-title:before { rotate: -30deg }
 *   .callout-title:after  { rotate:  30deg }
 *   @media (min-width: 1050px) { .callout-title { font-size: 2em } }
 *
 * 縦の位置は `top: -4em`（= −112px）と `margin-top: 2em`（= +56px）の合計で、
 * **札の上端から 56px 上**になる。左右の棒は 2px × 1em を ±30 度回したもので、
 * 「\ おすすめ /」のような見え方になる。行送りは `.callout-title` 自身が指定を
 * 持たず、移行元の初期化にある `p { line-height: 1.8 }` が効く（この見出しは
 * `<p>` である）。28 × 1.8 = 50.4px で、実測の高さ 50.39px と一致する。
 * **写しはこの値を直値で持たない**。テーマの `p` も行送り 1.8 を持つため、
 * 同じ値がそのまま出る（下の陰性対照の実測 50.4px で確かめた）。
 *
 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 に取得・幅 1440px）: 幅 415px・
 * 高さ 50.39px・札の上端から 56px 上・文字 28px。写しは札の外の兄弟に置いて
 * いたため幅 480px・札の上端と同じ高さ・棒なし・高さ 33.59px だった。
 *
 * 🔵 **箱の幅だけは 480px のままにしてある**（移行元は 415px）。移行元は白い札の
 * 中にもう 1 枚器（`.meet__list__item__inner`）を持ち、内余白の内側の 415px が
 * `width: 100%` の基準になる。写しはその器を持たないので、絶対配置の基準が白い札の
 * 内余白の外側（480px）になる。
 *
 * **見え方は変わらない。**中身は `text-align: center` で、どちらの箱も白い札と
 * 中心が同じだからである（実測: 白い札の中心 300 / 箱の中心 300 / 文字の箱の中心
 * 300）。器を 1 枚足せば箱の幅もそろうが、flex の組みを 1 段深くする割に見た目が
 * 変わらないので入れない（裁定 67 の「構造だけの差で見た目が同じものは OK」）. */
.front-meet__badge {
	position: absolute;
	top: -4em;
	left: 0;
	width: 100%;
	margin-top: 2em;
	margin-bottom: 0;
	color: var(--pa-color-accent-strong);
	font-size: 1.5em;
	font-weight: 700;
	text-align: center;
}

/* 文字の左右に出る斜めの棒。移行元の `.callout-title:before / :after` を写す. */
.front-meet__badge::before,
.front-meet__badge::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 1em;
	margin: 0 0.5em;
	background-color: var(--pa-color-accent-strong);
	vertical-align: middle;
}

.front-meet__badge::before {
	rotate: -30deg;
}

.front-meet__badge::after {
	rotate: 30deg;
}

.front-meet__top {
	display: block;
	width: 90%;
	max-width: 290px;
	/* 移行元 `.meet__top__text { margin: 0 auto 2.5rem }`。750px 以上の 1rem は 10px
	 * なので 25px である（Bug #3896。写しは 24px で 1px 狭かった）. */
	margin: 0 auto 25px;
	padding: 10px;
	border-radius: 0 0 12px 12px;
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
	/* 移行元 .meet__top__text は 750px 以上で 15px（本文層の 14px を継がず、
	 * body のアンビエントのまま）。Issue #2172 で全要素を突き合わせて見つけた
	 * 差分（明示指定が無く 15px→14px へ引きずられて壊れていた）. */
	font-size: 15px;
	font-weight: 700;
	text-align: center;
}

/* 出会い方の札の中見出し。移行元 .meet__item__heading は 1024px を境に
   1.8rem と 2.6rem（= 26px）で切り替わる。1.8rem（= 18px）側は Bug #2172 の
   全数突き合わせで発見（この要素は元々 1024px 未満の font-size を欠いており、
   UA 既定の h3 サイズ（Chromium は 1.17em）が本文層のアンビエントに掛かった
   値にたまたま近かったため、乖離が隠れていた）. 750px 未満は移行元自身が
   vw ベースで縮む書き方をしており、その幅の追従は対象外. */
.front-meet__heading {
	/* 移行元 `.meet__item__heading { margin: 0 0 1rem }`。750px 以上の 1rem は 10px
	 * である（Bug #3896。写しは 12px で 2px 広かった）. */
	margin: 0 0 10px;
	color: var(--pa-color-accent-strong);
	font-size: 18px;
	text-align: center;
}

@media (min-width: 1024px) {
	.front-meet__heading {
		font-size: 26px;
	}
}

.front-meet__text {
	margin: 0;
}

/* 🚨 **本文の改行は 1049px 以下では出さない**（Bug #3871 の直しの手直し）。
 *
 * 移行元はこの改行に `class="pc-only sp-only"` を付けている。**両方の幅で出る
 * という意味ではない。**移行元の共通 CSS は
 * `.sp-only { display: block }` → `.pc-only { display: none }` の順に書いてあり、
 * 詳細度が同じなので**後ろの `.pc-only` が勝つ**。つまり素の状態では隠れる。
 * `@media (min-width: 1050px)` で `.sp-only { display: none }` →
 * `.pc-only { display: block }` の順に入れ替わるので、そこで初めて出る。
 *
 * 実測（2026-09-06・本文の幅 415px・行送り 25.2px）:
 * 幅 751px で移行元 75.56px（3 行）に対し写しは 100.75px（4 行）。
 * 札の高さは行でいちばん高い札で決まるため、**札が 25.19px 高くなっていた**。
 * 幅 1050px は両側とも 100.75px（4 行）で一致する。
 *
 * 移行元と同じ計算値になるよう、1050px 以上は `inline` ではなく `block` を置く. */
.front-meet__text br {
	display: none;
}

@media (min-width: 1050px) {
	.front-meet__text br {
		display: block;
	}
}

/* 文と絵のあいだの空き。移行元は `.meet__item__img { margin: 3rem auto 0 }` で、
   750px 以上の 1rem は 10px なので **30px** である（Bug #3896）。

   下端へ寄せるのは親の `justify-content: space-between` が行う。ここは「文と絵のあいだに
   最低でもこれだけ空ける」を受け持つ。**いちばん高い札では空きがちょうどこの値になり、
   その札が行全体の高さを決める。**

   🚨 **以前ここには `margin-top: auto` と `padding-top: 24px` を書いていた**（Bug #3855）。
   当時は本文の改行が 1 つ欠けていて札が 25.19px 低く、その 24px が不足を埋めていた。
   改行は Bug #3871 で直したので、いまは移行元と同じ 30px を素直に置く. */
.front-meet__image {
	margin-top: 30px;
}

/* 🚨 **絵はもとの大きさより大きくしない**（Bug #3855）。器は札の幅いっぱいに
   広がるが、移行元の絵は**もとの幅で止まる**（狭い画面用は 531px・広い画面用は
   820px）。`width: 100%` だけを書くと器の幅まで引き伸ばされ、**器のほうが絵より
   広くなる幅の帯で絵が大きくなる**（実測: 幅 749px で移行元 531 × 440px に対し
   dev は 597.73 × 495.3px だった）。`width: auto` + `max-width: 100%` にすると、
   器が絵より狭ければ器に合わせ、広ければもとの大きさで止まる。

   移行元の当たり先は `img { max-width: 100%; height: auto }`（共通）と
   `.meet__item__img img { width: 100% !important }` で、器の側が
   `margin: 3rem auto 0` の左右 `auto` によって絵のもとの幅に縮んでいる。
   同じ結果を、器を縮めずに絵の側だけで作る. */
.front-meet__image img,
.front-meet__image .front-placeholder {
	display: block;
	width: auto;
	max-width: 100%;
	margin-inline: auto;
}

/* 🚨 **注記の上の外余白は、移行元の 5rem からドットのはみ出し 40px を引いた値である**
 * （Bug #3772）。移行元は `.meet__list__note { margin-top: 5rem }` を持つが、ドットの器を
 * `bottom: -40px` の絶対配置にしているため、**粒がその外余白へ 40px 食い込む**。写しは
 * ドットを流れの中に置くので、同じ 5rem を当てると粒と注記の隙間が 40px 広くなる。
 *
 * 実測（2026-09-05・粒の下端 → 注記の上端）:
 *
 *   幅       移行元   写し・直す前
 *   320px     0.7     40.71
 *   375px     7.7     47.7
 *   749px    55.28    95.28
 *   750px    10       40
 *   1050px   10       40
 *   1440px   10       40
 *
 * 750px 以上は移行元の 1rem が 10px なので 5rem − 40px = 10px になる。749px 以下は
 * 移行元の 1rem が画面の幅で決まるため、下の帯で `--pa-sp-rem` を使って同じ引き算をする. */
.front-meet__note {
	margin: 10px 0 0; /* 移行元 5rem − ドットのはみ出し 40px */
	font-size: 0.9em;
	text-align: center;
}

/* 注記（移行元 .meet__list__note）は 750px 以上で 13px 固定。Bug #2172 の全数
 * 突き合わせで発見（0.9em は本文層の 14px 基準だと 12.6px になり、移行元の
 * 13px からずれる）。375px 未満は移行元自身が vw ベースで縮む書き方をして
 * おり対象外. */
@media (min-width: 750px) {
	.front-meet__note {
		font-size: 13px;
	}
}

@media (min-width: 750px) {
	/* 角丸は移行元の `.point-box { border-radius: 0 4em 4em 0 }` = 56px にそろえる。
	 * 移行元の本文層の字は 14px なので 4em = 56px である。写しは 64px で 8px 大きく、
	 * 右上と右下の丸みが目に見えて違っていた（実測 2026-09-04: 移行元 0px 56px 56px 0px /
	 * 写し 0px 64px 64px 0px。幅 1050 / 1440px の両方）。
	 *
	 * 🚨 **移行元はこの帯（750px 以上）を持たない。**上の 3 つの値
	 * （角丸 56px・写真の絶対配置・本文の器の上下 42px）は、移行元では
	 * `@media (min-width: 1050px)` の中にしか無い。移行元の 750〜1049px は
	 * 素の `.point-box { overflow: clip; border-radius: 2em }`（四隅 28px）で、
	 * 写真は流れの中に置かれ、本文の器は `padding-inline: 1em`（14px）である。
	 * 写しがこれらを 750px 以上に置いているのは、この PR より前からの組みである。
	 * **帯ごと組み替える直しは Task #3322 で扱う**ので、ここでは 1050px 以上の
	 * 値を正しくすることだけを行う（750〜1049px はどちらにしても移行元と違う組みで、
	 * この PR で差が増えることはない）. */
	.front-point {
		position: relative;
		margin-top: 120px;
		border-radius: 0 56px 56px 0;
		overflow: visible;
	}

	/* 写真は枠の左上から外へはみ出させる。移行元の .point-box__image と同じ置き方である。
	 * 持ち上げの量と角丸は移行元の `top: -7em` / `border-radius: 0 2em 2em 0` にそろえる
	 * （本文層の字 14px 基準で 98px / 28px）。写しは 112px / 32px で、写真が 14px 高く
	 * 浮き、角の丸みも 4px 大きかった（実測 2026-09-04・幅 1050 / 1440px の両方）. */
	.front-point__image {
		position: absolute;
		top: -98px;
		left: 0;
		width: 100%;
		max-width: 518px;
		border-radius: 0 28px 28px 0;
		overflow: clip;
	}

	/* 上下の内余白は移行元の `padding: 3em 5.5em` = 42px / 77px にそろえる。写しは
	 * `--pa-space-sm`（40px）で 2px 足りなかった（実測 2026-09-04）。
	 * 左右の 88px が効くのは幅 750〜1049px の帯だけである。1050px 以上は下の
	 * `@media (min-width: 1050px)` の `.front-point__body { padding-inline: 77px }`
	 * が上書きするので、移行元の 77px と一致する（実測 2026-09-04・幅 1050 /
	 * 1440px でどちらも 42px 77px 42px 77px）。750〜1049px の帯は移行元が
	 * `padding-inline: 1em`（14px）で組み方が丸ごと違うため、Task #3322 で扱う. */
	.front-point__body {
		padding: 42px 88px;
	}

	/* 文字の大きさはここでは指定しない。移行元は素の 1.6em（22.4px）のまま
	   1050px まで進み、そこで 2.7em（37.8px）へ一段で上がる（実測: 750 / 800 /
	   900 / 1000 / 1049px はいずれも 22.4px）。テーマはここに 2.4em の段を
	   置いていたため、750〜1049px の帯で見出しが 33.6 対 22.4px でずれ、
	   中の `.front-point__caption`（0.85em）と `.front-point__marker` も
	   連動してずれていた（Issue #2620 の P3・7 件）。

	   🚨 **下の外余白もここでは指定しない**（Bug #3754）。移行元は
	   `@media (min-width: 1050px)` にしか下余白を持たず（実測 1440px で 75.6px）、
	   749px 以下と同じく 750〜1049px も 0 で通す。写しはここで 40px を与えていたため、
	   その帯だけ見出しと次の絵の間が 40px 広かった（実測 2026-09-05・幅 800px:
	   移行元 0 対 写し 40px）。1050px 以上の 75.6px は下の帯が持っており、
	   そちらは移行元と一致している. */

	/* 見出しを写真の右へ寄せ、写真の下端より下に本文が来るよう高さを確保する。
	   確保しないと、はみ出した写真が本文の 1 行目に重なる。写真は高さ 334px で
	   98px はみ出すため、枠の中に残るのは 236px である（持ち上げを移行元の
	   `top: -7em` = 98px にそろえた 2026-09-04 以降の値。それまでは 112px
	   はみ出して 222px 残る前提で書かれていた）. */
	.front-point:not(.front-point--no-image) .front-point__title {
		display: grid;
		align-content: center;
		min-height: 200px;
		padding-left: 460px;
	}

	.front-point--no-image {
		margin-top: 100px;
		padding-top: 0;
	}

	.front-point--no-image .front-point__title {
		padding-left: 0;
	}

	.front-page .front-meet__list {
		/* 左右の送りボタンの下へ札が潜り込まないよう、両端を空ける */
		padding-inline: 60px;

		/* 🚨 **札の間隔は 60px である**（Task #3238）。移行元は
		 * `@media screen and (min-width: 750px){ .meet__list__item { margin-right: 6rem } }`
		 * で、幅 750px 以上の 1rem は 10px なので 60px になる。札の幅 480px と足して
		 * **送りの刻みは 540px** である。写しは器の共通の指定（`gap: 16px`）のままで
		 * 刻みが 496px しかなく、隣の札が中央の札にほとんど接していた。
		 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 に取得・幅 1440px）:
		 * 札が x=−28 / 512 / 1052 と 540px 刻みで並ぶ。
		 * 749px 以下は移行元が `margin-right: 1rem` なので、器の共通の 16px を残す. */
		gap: 60px;
	}

	.front-page .front-meet__item {
		flex-basis: 480px;
	}

	/* 🚨 **送りボタンは器の端ではなく、中央の札の左右の隙間に置く**（Task #3238）。
	 * 移行元は 800px の器に対して
	 * `.meet__slider__arrow.-prev { left: 14% }` /
	 * `.meet__slider__arrow.-next { right: calc(14% - 20px) }` である。
	 * 実測（幅 1440px・器 320〜1120）: 前へ x=432〜492・次へ x=968〜1028。
	 * 写しは `left: 0` / `right: 0` で器の端（320 と 1060）にあった. */
	.front-page .front-meet .pa-slider__arrow--prev {
		left: 14%;
	}

	.front-page .front-meet .pa-slider__arrow--next {
		right: calc(14% - 20px);
	}

	/* 🚨 **中の絵は幅によらず 40 × 40px である**（Task #3238）。移行元は
	 * `.meet__slider__arrow svg { width: 40px; height: 40px }` を帯で囲っていない。
	 * 器だけが 1024px を境に 40 → 60px へ変わる（下の帯を見る）。写しは中の絵も
	 * 750px 以上で 60px にしていたため、赤い丸が移行元より 1.5 倍大きかった。
	 * 実測（移行元）: 幅 1023 / 1024 / 1199 / 1200 / 1440px のすべてで絵は 40 × 40px. */
	.front-page .front-meet .pa-slider__arrow .pa-arrow {
		width: 40px;
		height: 40px;
	}

	/* 内余白は移行元の `.meet__list__item { padding: 0 3.25rem 3rem }` を写している
	 * （幅 750px 以上の 1rem は 10px なので 0 / 32.5px / 30px）. */
	.front-meet__card {
		padding: 0 32.5px 30px;
		border-radius: 30px;
	}

}

/* 🚨 **携帯幅（749px 以下）の送りボタンは、器より 10px 外側に置く**（Bug #3742）。
 * 移行元は `@media screen and (max-width: 749px) { .meet__slider__arrow.-prev { left: 2rem }
 * .meet__slider__arrow.-next { right: 2rem } }` で、この 2rem は横送りの器より外側の
 * 器から測る。**描かれる位置は器の左右の端から 10px 外**である。
 *
 * 実測（2026-09-05・移行元 www.p-a.jp と dev を同じ道具で。器はどの幅でも x=28）:
 *
 *   幅      移行元の赤い丸            写し・直す前
 *   320px   左 x18〜58 / 右 x262〜302  左 x28〜68 / 右 x252〜292
 *   375px   左 x18〜58 / 右 x317〜357  左 x28〜68 / 右 x307〜347
 *   749px   左 x18〜58 / 右 x691〜731  左 x28〜68 / 右 x681〜721
 *   1440px  左 x432 / 右 x968          同じ（差は無い）
 *
 * **左右とも 10px 内側**にあり、画素でも確かめた（幅 375px の切り出しで、赤い丸の
 * 塗りが 移行元 19〜56 対 写し 29〜66）。1440px は一致しているので触らない. */
@media (max-width: 749px) {
	.front-page .front-meet .pa-slider__arrow--prev {
		left: -10px;
	}

	.front-page .front-meet .pa-slider__arrow--next {
		right: -10px;
	}
}

/* 🚨 **ドットは札の下 20px に置く**（Bug #3772）。移行元は Slick の既定の絶対配置に
 * `.slick-dots { padding-top: 1rem }` と `bottom: -40px` を当てており、**札の下端から
 * 粒の上端までが 20px** になる。写しは共通の指定（上の外余白 8px）のままで 24px あった。
 *
 * 実測（2026-09-05・移行元 www.p-a.jp と dev を同じ道具で。札の下端 → 粒の上端）:
 *
 *   幅      移行元   写し・直す前
 *   320px   20       24
 *   375px   20       24
 *   749px   20       24
 *   750px   20       24
 *   1050px  20       24
 *   1440px  20       24
 *
 * **どの幅でも 4px 内側**なので、この区画だけ上の外余白を 4px に下げる。粒の位置と
 * 大きさ（20 × 20px・刻み 30px）は変えない。コースと選び方の横送りは共通の 8px の
 * ままにするため、当たり先を `.front-meet` で絞る. */
.front-page .front-meet .pa-slider.is-enhanced .pa-slider__dots {
	margin-top: 4px;
}

/* 🚨 **送りボタンの上下は、器の中央ではなく札の帯の中央にそろえる**（Bug #5696）。
 *
 * 移行元は Slick なので、送りボタンが基準にする器（`.slick-slider`）の中身は
 * **札の帯だけ**である（粒は `position: absolute; bottom: -40px` で流れの外）。
 * だから素の `top: 50%` が札の中央に一致する。
 * 実測（2026-09-11 23:0x・本番 `https://www.p-a.jp/`）: 器・帯・札の上端と下端が
 * 3 つとも同じ値で、送りボタンの中央 − 札の中央は **幅 1440 も 375 も 0px**。
 *
 * こちらの器（`.pa-slider`）は札の帯のほかに次の 3 つを高さに持つ。
 *
 *   - 帯の上の内余白 56px（`.pa-slider__track.front-meet__list` が札の上のふきだしを
 *     はみ出させるために持つ。同じだけ外余白を負にしているので見た目は動かない）
 *   - 帯の下の内余白 16px
 *   - 粒（`.pa-slider__dots` 20px ＋ 上の外余白 4px）。**こちらは流れの中**にある
 *
 * そのため素の `top: 50%` は札の中央から `(16 + 4 + 20 − 56) ÷ 2 = −8px` ずれる。
 * 実測（同じ時刻・dev）: 幅 1440 も 375 も **−8.0px**（送りボタンが上へ）。
 *
 * **幅で分けない。**移行元は両方の幅で 0px なので、両方をそろえるほうが再現に近い
 * （司令塔の判断・2026-09-11 23:1x）。ずれは器の高さに依らない定数なので 1 つの式で足りる。
 *
 * 🚨 **`50%` を足し算で動かさない**（`calc(50% + 8px)` にしない）。それだと
 * 「なぜ 8px なのか」が式から消える。**帯の上の内余白から測り、札の帯の高さの半分を
 * 足す**形で書く。内余白や粒の大きさを変えたら、この式の 56px と 96px も直す. */
.front-page .front-meet .pa-slider.is-enhanced .pa-slider__arrow {
	top: calc(56px + (100% - 96px) / 2);
}

/* 🚨 出会いの機会の送りボタンは、幅 750〜1023px だけ左右 9% へ寄る（Task #3238）。
 * 移行元 `@media screen and (min-width: 750px) and (max-width: 1023px) {
 * .meet__slider__arrow.-prev { left: 9% } .meet__slider__arrow.-next { right: 9% } }`。
 * 実測（幅 1023px・器 111.5〜911.5）: 前へ x=183.5〜223.5（left 72px = 9%）・
 * 次へ x=799.5〜839.5（right 72px = 9%）. */
@media (min-width: 750px) and (max-width: 1023px) {
	.front-page .front-meet .pa-slider__arrow--prev {
		left: 9%;
	}

	.front-page .front-meet .pa-slider__arrow--next {
		right: 9%;
	}
}

/* 🚨 **器の大きさが切り替わるのは 1024px である**（Task #3238）。移行元は
 * `@media screen and (min-width: 750px) { .meet__slider__arrow { width: 60px; height: 60px } }`
 * のあとに `@media screen and (max-width: 1023px) { .meet__slider__arrow { width: 40px; height: 40px } }`
 * を置いており、後ろの規則が勝つため **1023px 以下は 40px・1024px 以上は 60px** になる。
 * 写しは器の共通の指定で 750px から 60px にしていた。
 * 実測（移行元）: 幅 1023px で 40 × 40px、1024 / 1199 / 1200 / 1440px で 60 × 60px. */
@media (max-width: 1023px) {
	.front-page .front-meet .pa-slider.is-enhanced .pa-slider__arrow {
		width: 40px;
		height: 40px;
	}
}

/* 🚨 **隣の札を器の外まで見せる**（Task #3238・幅の帯を広げたのは Task #3319）。
 * 移行元は Slick の切り取りを `.slick-list { overflow: visible }` で丸ごと解除して
 * おり、札は 800px の器の外まで描かれる。切り取るのは外側（`.white-area` と
 * `main.contents`。どちらも画面の左端から右端まで）である。
 *
 * 写しは横スクロール（`overflow-x: auto`）で送るので `visible` にはできない。
 * 代わりに**見えている窓そのものを画面幅まで広げる**。左右へ同じ量だけ広げるので
 * 窓の中心は動かず、送りの計算（`applyEdgePadding()` が `clientWidth` から出す
 * 中央寄せの内余白）も崩れない。内余白は JavaScript が上書きするので、ここでは
 * 外余白だけを負にする。
 *
 * 🚨 **前の版は「幅 1100px 以下は移行元も区画で切り取る」と書いていたが、これは
 * 取り違えだった**（Task #3319 で判明・取り消す）。根拠にしていた移行元の
 * `@media screen and (min-width: 750px) and (max-width: 1100px) { .meet {
 * overflow: clip } }` は、**トップには当たる要素が無い**（トップの区画は
 * `div.meet__body` で、`.meet` はトップの HTML に存在しない。実ページで
 * `document.querySelector('.meet')` が null であることを確かめた）。移行元の窓は
 * 幅 375〜1440px の 9 点すべてで `overflow: visible` だった。
 *
 * 実測（両側とも同じ道具・同じ幅・移行元は自動送りを止めた落ち着いた状態。
 * 2026-09-04）。移行元は「窓は区画のまま・切り取らない」ので、**見える範囲は
 * 画面の端まで**である。写しは窓を画面幅へ広げて同じ見え方にする:
 *
 *   幅      移行元の窓（切り取らない）  写し・直す前（切り取る）  写し・直した後
 *   750px   28〜722                     102〜648                  0〜750
 *   900px   50〜850                     102〜798                  0〜900
 *   1023px  111.5〜911.5                111.5〜911.5              0〜1023
 *   1100px  166.5〜966.5                166.5〜966.5              0〜1133（※）
 *   1440px  320〜1120                   0〜1440（既に広げていた）  同じ
 *
 * ※ 幅 1050〜1165px は下の段でさらに広げる（区画が画面の中心からずれる帯のため）。
 *
 * 直す前は幅 750〜1100px で隣の札が窓の端で切れ、幅 750px では右隣（675〜1155）が
 * 1px も見えなかった（移行元は 675〜750 の 75px が見える）。
 *
 * 749px 以下は広げない。移行元は札 1 枚が区画いっぱい（幅 749px で 674px）で、
 * 次の札が 28px だけ覗く組みであり、写しの札の幅（480px）から直す必要がある。
 * 札の幅を先に直さないと、窓だけ広げても移行元と違う見え方になる（別 Task）. */
.front-page .front-meet__list {
	margin-inline: calc((100% - 100vw) / 2);
}

/* 🚨 **幅 1050〜1165px は「区画の中心 = 画面の中心」ではない**（Task #3319）。
 * この帯では白い囲い（`.front-white-area`）の幅
 * `calc(1166px + (100% - 1166px) / 2)` が画面より広くなり、`margin-left: auto` が
 * 効かず左端 0 に張り付いて右へはみ出す。そのため区画は画面の中心より右へずれる
 * （実測: 幅 1050px で左端 154px・1100px で 166.5px・1165px で 182.75px）。
 *
 * 上の一般の指定は左右へ `(区画の幅 - 画面の幅) / 2` ずつ広げるので、窓の左端が
 * 画面の左端に届かず、左隣の札の左端が切れて残る（実測: 幅 1050px で 29px・
 * 1100px で 16.5px・1165px で 0.25px）。
 *
 * そこで**広げる量を「区画の左端から画面の左端まで」に増やす**。区画の左端は
 * `77px + (囲いの幅 - 77px * 2 - 800px) / 2` なので、囲いの幅の式を代入すると
 * `25vw - 108.5px` になる（実測の 3 点と 0.01px 差で一致）。左右へ同じ量を広げる
 * ので、**窓の中心は区画の中心にとどまり**、送りの中央寄せ（`applyEdgePadding()`
 * が `clientWidth` から出す）も動かない。右側は画面の外へ 2 倍のずれぶんはみ出す
 * が、外側の白い囲いと画面が切るので見え方は変わらない（移行元も同じ位置で切る）。
 *
 * 🚨 **囲いの幅の式（1166px）と本文の器の内余白（77px）と区画の頭打ち（800px）に
 * 連動する。**どれかを変えたらこの式も測り直す。1166px 以上では囲いが右寄せに
 * 変わり、区画の左端は `50vw - 400px` になるので、上の一般の指定
 * `(100% - 100vw) / 2` がそのまま正しい値になる（実測: 幅 1166 / 1200 / 1440px で
 * 窓が 0〜画面幅）. */
@media (min-width: 1050px) and (max-width: 1165px) {
	.front-page .front-meet__list {
		margin-inline: calc(108.5px - 25vw);
	}
}

/* 移行元 .point-box__title は 1050px 以上で 2.7em（親が 14px なので 37.8px）に
   なり、下外余白も 2em へ広がる。

   この 2.7em は Issue #2172 で .front-page に本文層（font-size: 14px）を足す
   前は「親が 15px」だったため、同じ 37.8px になるよう 2.52em（= 2.7 * 14/15）へ
   換算していた。本文層を足した今は親が実際に 14px になったので、換算せず
   移行元と同じ 2.7em をそのまま使う（2.52em のままだと 35.28px まで縮み、
   移行元の 37.8px から外れる）。下外余白の 2em は見出し自身の大きさに掛かるので、
   移行元と同じ 75.6px になる。

   この見出しの内側にある .front-point__marker（蛍光ペンの強調）と
   .front-point__caption（0.85em の小書き）は、どちらも自身の font-size を
   持たず見出しの計算後サイズを継ぐだけなので、ここを直せば連動して直る. */
@media (min-width: 1050px) {
	.front-point__title {
		margin-bottom: 2em;
		font-size: 2.7em;
	}

	/* 🚨 **4 段の流れの一覧を 2 列にするのは 1050px 以上だけ**（Task #3380）。
	 * 移行元 `.flow-list` は素で `flex-direction: column`（縦に 1 列）で、
	 * 2 列にするのは次の 1 か所だけである。
	 *
	 *   @media (min-width: 1050px) {
	 *     .flow-list { margin-top: 3em; text-align: left; display: grid;
	 *                  grid-template-columns: repeat(2, 1fr); font-size: 1.2em; gap: 2em }
	 *   }
	 *
	 * 写しは 750px から 2 列にしていたため、幅 750〜1049px で一覧の高さが
	 * 大きく足りなかった（実測 2026-09-04 14:0x JST・幅 750px で移行元
	 * 1488.63px 対 写し 504.41px。差 984.22px）。幅 1440px では 651.03 対
	 * 641.88 でほぼ一致していたので、**帯の切り方だけの差**である。
	 *
	 * Task #3322（理由の枠を幅 750〜1049px で素の組みに戻す）とまったく同じ型で、
	 * 移行元が 1050px を境にしているものを写しが 750px を境にしていた. */
	.front-flow {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 33.6px; /* 移行元 2em（この帯の札の字 16.8px が基準） */
		/* 🚨 **3em の基準は「この帯の札の字 16.8px」である**（Bug #4322）。
		 * 42px は 3 × 14px で、本文層の字を基準にした値だった。すぐ上の `gap` は
		 * 16.8px を基準に 33.6px と書いてあり、**同じ規則の中で基準が食い違って
		 * いた**。実測（2026-09-07・幅 1440px）: 移行元 50.4px 対 写し 42px。 */
		margin-top: 50.4px; /* 移行元 3em（札の字 16.8px × 3） */
		text-align: left;
	}

	/* 移行元 `.flow-list__item--description { padding: 1em 1.25em }`。
	 * この帯は札の字が 16.8px なので 16.8px / 21px になる. */
	.front-flow__description {
		padding: 16.8px 21px;
	}

	/* 🚨 **9 通りの出会い方を 3 列にするのも 1050px 以上だけ**（Task #3380）。
	 * 移行元 `.variation-list` は素で 2 列（`repeat(2, 1fr)`）で、3 列にするのは
	 * `@media (min-width: 1050px) { .variation-list { grid-template-columns:
	 * repeat(3, 1fr) } }` の 1 か所だけである。写しは 750px から 3 列にしていた。
	 *
	 * すぐ上の流れの一覧とまったく同じ型の差で、同じ枠の中に並んでいる. */
	.front-variation {
		grid-template-columns: repeat(3, 1fr);
	}

	/* 🚨 **見出しを格子にしない**（Task #3235）。移行元 `.point-box__title` は
	 * `@media(min-width:1050px){ font-size: 2.7em; padding-left: 11em; margin-bottom: 2em }`
	 * だけで、`display` は既定の block、高さの下限も無い。
	 *
	 * 上の `@media (min-width: 750px)` は「はみ出した写真が本文の 1 行目に重ならない
	 * ように高さを確保する」目的で `display: grid` と `min-height: 200px` を置いていた。
	 * ところがこれには 2 つの副作用がある。
	 *
	 * ①**蛍光ペンの帯が文字幅を超える**。`.front-point__marker` は `inline-block` で
	 *   書いてあるが、親が格子だと格子の項目になり `display` が block へ変わって列の
	 *   幅いっぱい（506px）に伸びる。実測（幅 1440px）: 移行元は文字幅ぴったりで
	 *   192,000人 435.91px / パーソナル婚活プログラム 447.56px / 専任担当制 189px /
	 *   伴走型サポート 264.61px。ユーザー目視の「『専任担当制でフォローアップする』
	 *   『伴走型サポート』の表示が違う」はこれである。
	 * ②**見出しの器が縦に伸びる**。実測: 移行元 113.375px（2 行）に対し写しは 200px。
	 *   POINT04 は 218.25px。
	 *
	 * 1050px 以上では写真の下端が枠の上から 236px（高さ 334px のうち 98px がはみ出す）
	 * で終わる。高さを確保しなくても本文は写真に重ならない。**実測での余裕は POINT01 /
	 * 02 / 04 で 53.9〜56.0px あった**（見出しの下外余白 2em と、続く中見出しの上外余白
	 * 5em が相殺して後者が勝つため、単純な足し算より余裕が大きい）。移行元と同じ組みに
	 * 戻す。
	 *
	 * ⚠️ この余裕の数字は、写真の持ち上げが 112px だったときの実測である。
	 * 2026-09-04 に移行元の `top: -7em`（98px）へそろえたので、写真の下端が 14px
	 * 下がり、余裕はおよそ 40〜42px に減る。重ならないという結論は変わらない。
	 *
	 * 750〜1049px の帯は、移行元が写真を流れの中に置く（`position: static`）のに対し
	 * 写しは 750px から絶対配置にしており、帯ごと組み替える別の話（Task #3322）なので
	 * ここでは触らない. */
	.front-point:not(.front-point--no-image) .front-point__title {
		display: block;
		/* 打ち消す相手は 4 宣言（`display` / `align-content` / `min-height` /
		 * `padding-left`）なので、`align-content` も既定へ戻す。いまは高さの下限を
		 * 0 にしたので余った高さが無く見た目は変わらないが、`align-content` は
		 * 今のブラウザではブロックの器にも効くため、将来この見出しに高さが付いたときに
		 * 移行元（`align-content` を持たない）と静かに食い違う. */
		align-content: normal;
		min-height: 0;
		padding-left: 11em; /* 移行元 11em = 37.8 × 11 = 415.8px */
	}

	/* 出会いの方法の札の上に出る赤い文字（「おすすめ」）。移行元は
	   `@media(min-width:1050px){ .callout-title{ font-size: 2em } }` で、素の 1.5em
	   （21px）から 28px へ大きくする。テーマはこの段を持たず 21px のままだった
	   （Bug #2620 の分類 ④。1050px 以上で 2 個）. */
	.front-meet__badge {
		font-size: 2em;
	}

	/* 移行元は 4 段の進め方の文字を 1050px 以上でだけ 1.2 倍にする（実測: 750 /
	   800 / 900 / 1000 / 1049px は 14px、1050px から 16.8px）。テーマはこれを
	   750px から効かせていたため、750〜1049px の帯だけ見出し `dt`（1.25em）が
	   21 対 17.5px、説明 `dd` が 16.8 対 14px でずれていた（Issue #2620 の P3・8 件）. */
	.front-flow__item {
		font-size: 16.8px;
	}

	/* 移行元は割合の数字も 1050px 以上でだけ大きくする（実測: 1049px まで 28px、
	   1050px から 35px）。中の `span`（0.75em）も連動し、21 → 26.25px になる。
	   テーマはこれを 750px から効かせていた（Issue #2620 の P3・7 件）. */
	.front-ratio__value {
		font-size: 2.5em;
	}

	/* 会員プロフィールの札の説明文。移行元は
	   `@media(min-width:1050px){ .profile-box dd>p{font-size:1.2em} }` で、
	   親が 14px なので 16.8px になる。移行元が大きさを明示している要素なので、
	   写さないと本文層（.front-page の 14px）へ流れ込んで 14px に落ちる。
	   1050px 未満は移行元も明示しないため、ここでだけ効かせる。
	   px の直値で書くのは、本文層を将来変えたときに連動して動かないようにするため
	   （Bug #2239）. */
	.front-profile__text {
		font-size: 16.8px;
	}

	/* 🚨 **1050px 以上の左右の内余白は移行元と違っていた**（Bug #2821）。移行元は
	   `@media(min-width:1050px){ .point-box__contents{padding:3em 5.5em} }` で
	   5.5em = 77px、写しは 88px だった（現行の実測: 1050 / 1440px で 77px）。

	   750〜1049px の帯（写しは 88px・移行元は `padding-inline:1em` = 14px）は
	   **写真の置き方の違いが真因**なので、この Issue では触らない。移行元は写真を
	   1050px からしか絶対配置にせず、1049px 以下は流れの中に置いて本文を全幅で
	   組む（現行の実測: 1049px で `position: static`・幅 1021px、1050px で
	   `position: absolute`・518 × 334px）。写しは 750px から絶対配置にしている
	   ため、本文を右へ寄せる内余白が要る。帯ごと組み替える話なので別に切り出す. */
	.front-point__body {
		padding-inline: 77px;
	}

	/* 「選ばれる理由」の枠の説明文も、移行元は 1050px 以上でだけ 1.2 倍にする
	   （実測: 750 / 800 / 900 / 1000 / 1049px は 14px、1050px から 16.8px）。
	   テーマはこの段を持たず 14px のままだった（Issue #2620 の P3・B の 1 件）。
	   直値で書く理由は上の説明文と同じ.

	   🚨 **揃えも 1050px から中央寄せになる**（Bug #2821 で判明）。移行元は
	   `@media(min-width:1050px){ .pc-center{text-align:center} }` を当てており、
	   1049px 以下は左寄せである（現行の実測: 1049px = left / 1050px = center）. */
	/* 🚨 **注記の段落もここへ入れる**（Task #3380）。移行元は
	 * `.point-box__contents > p { font-size: 1.2em }` で本文の器の中の段落を
	 * まとめて 1.2 倍にしており、注記の段落も同じ 16.8px になる。字を 0.85 倍に
	 * しているのは**中の `<span class="small-caption">`** のほうである。
	 *
	 * 段落を 16.8px にすることで**行の高さ（行送り 30.24px）も移行元と一致する**。
	 * 行の高さは行の中で最も高いものが決めるので、span の 14.28 × 1.5 = 21.42px
	 * ではなく、段落の 30.24px が採られる（移行元の実測も 30.23px）. */
	.front-point__lead,
	.front-point__note {
		font-size: 16.8px;
		text-align: center;
	}

	/* 🚨 **ロゴの帯と導入文のあいだの空きは、移行元では「帯の下」だけが持つ**（Bug #3838）。
	 * 段落の既定の外余白（1em）に任せると、帯が上下 14px・導入文が上 16.8px を持ち、
	 * 隣り合う外余白が潰れて 16.8px になる。移行元は段落の外余白を初期化で 0 にしたうえで、
	 * 帯の下にだけ 24.36px を置いている（実測 2026-09-05・幅 1440px。1050px 未満は
	 * 20.3px で、そちらは上の 750〜1049px の帯が持つ）。
	 *
	 * 見出しとの間（75.6px）・注記との間（0）・小見出しとの間（61.25px）は両側で
	 * 一致しているので触らない. */
	.front-point__figure {
		margin: 0 0 24.36px;
	}

	.front-point__lead {
		margin: 0;
	}

	/* --------------------------------------------------------------
	 * 会員プロフィールの札を移行元と同じ寸法へ（Bug #2254）
	 * --------------------------------------------------------------
	 * 旧版はこれらを `@media (min-width: 750px)` に置いていたが、移行元はすべて
	 * `@media(min-width:1050px)` で明示している。**切り替えの幅そのものがずれて
	 * いた**ため、750〜1049px の帯で移行元と食い違っていた（今夜すでに導線ボタンと
	 * 「選ばれる理由」の一覧で同じ取り違えを直している）。
	 *
	 * 移行元の指定（`assets/css/style.css`）:
	 *
	 * ```
	 * @media(min-width:1050px){
	 *   .profile-box{padding:2.5em;margin-top:2em}
	 *   .profile-box dt{font-size:1.75em}
	 *   .profile-box.over-image{padding:2em}
	 *   .profile-box.over-image dt{text-align:center}
	 *   .profile-box.over-image img{transform:none;top:-1.25em;left:8em;width:100px}
	 * }
	 * ```
	 *
	 * 実測（移行元・幅 1440px・2026-08-27）: 札 3 枚とも見出しが 24.5px
	 * （`1.75em × 14px`）・下余白 12.25px。年収の札だけ内余白が 28px（`2em`）で、
	 * 他の 2 枚は 35px（`2.5em`）である。
	 *
	 * **見出しの大きさは 3 枚が共有するクラスなので、3 枚とも移行元へ揃う。**
	 * Bug #2254 の受け入れ条件は「ほかの 2 枚が変わっていないこと」と書いているが、
	 * 実測すると dev は 3 枚とも 21px で移行元（24.5px）と食い違っており、
	 * 正しい陰性対照は「**3 枚とも移行元と一致すること**」である. */
	/* 🚨 **説明の囲みが横並びになるのは 1050px からである**（Bug #3754）。移行元は
	 * `@media (min-width: 1050px) { .detail-box { flex-direction: row; margin-top: 2em }
	 * .detail-box__text { flex: 1; font-size: 1.2em } }` で、**749px 以下と同じ縦積みを
	 * 1049px まで続ける**。写しはこの 3 つを 750px の帯に置いていたため、750〜1049px の
	 * 帯だけ文と絵が横に並び、囲みの高さが移行元より 64px 低かった
	 * （実測 2026-09-05・幅 800px: 移行元 185.03 対 写し 120.94。文の幅は 744 対 411）. */
	/* 🚨 **縦のそろえ方を書かない**（Bug #3910）。移行元 `.detail-box` は
	 * `@media (min-width: 1050px)` で横並びにするだけで、縦のそろえ方を指定しない。
	 * 既定の「引き伸ばし」が効くので、**文の段は囲みいっぱいの高さになり、文は
	 * 上端から始まる**。
	 *
	 * 写しは `align-items: center` を書いていたため、文の段が文の高さのままになり、
	 * 囲みの中で上下中央へ寄っていた。絵のほうが高いので、**文がその差の半分だけ
	 * 下がる**（実測 2026-09-05・幅 1440px: 文の段の高さが 移行元 121 対 写し 91px
	 * ／150 対 121px で、文が約 15px 下にあった。囲みの高さは両側とも同じ）。
	 *
	 * 移行元はこの帯で `.detail-box__image { width: fit-content }` も持つが、
	 * **写す必要は無い**。絵の段は横並びの要素として中身の幅に決まるので、
	 * 書いても書かなくても幅 317px で変わらない（実測で確認）. */
	.front-detail {
		flex-direction: row;
		/* 移行元は `margin-top: 2em` で、本文層の字 14px から 28px になる。写しは
		 * `--pa-space-sm`（40px）を当てていて 12px 広かった（Bug #3838。実測
		 * 2026-09-05・幅 1440px）. */
		margin-top: 28px;
	}

	.front-detail__text {
		flex: 1;
		font-size: 16.8px;
	}

	/* 🚨 **男女比の 2 枚札が横長になるのも 1050px からである**（Bug #3754）。移行元の
	 * ビルド後 CSS はこの姿を `@media (min-width: 1050px)` にしか持たない。写しは
	 * 750px の帯へ置いていたため、750〜1049px の帯だけ札が高さ 63px の横長になり、
	 * 会員データの段が移行元より 46px 低かった
	 * （実測 2026-09-05・幅 800px: 割合の帯が 移行元 115.19 対 写し 63）. */
	.front-ratio__item {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		height: 63px;
		margin-top: 0;
		padding: 0;
		border-radius: 32px;
	}

	.front-ratio__icon {
		top: 0;
		left: 0;
		width: 63px;
		height: 63px;
		transform: none;
	}

	.front-ratio__label {
		margin: 0;
	}

	.front-ratio__value {
		align-self: center;
		/* 移行元 `@media (min-width: 1050px) { .ratio-box__item--num { margin: 0.15em 0 0 } }`。
		 * この段の字は 2.5em（= 35px）なので 5.25px である（Bug #3911。写しは 2px の
		 * 直値で 3.25px 狭かった）。**1049px 以下は移行元も `margin: 0` なので、
		 * この帯だけに置く.** */
		margin: 0.15em 0 0;
	}

	.front-profile {
		margin-top: 2em;
		padding: 2.5em;
	}

	.front-profile__label {
		font-size: 1.75em;
	}

	/* 年収の札は内余白が他の 2 枚より狭く、人物の絵を札の上辺へ載せる. */
	.front-profile--single {
		padding: 2em;
	}

	.front-profile--single .front-profile__label {
		text-align: center;
	}

	.front-profile__figure {
		top: -1.25em;
		left: 8em;
		width: 100px;
		transform: none;
	}

	/* 大きな数字は改行して 2 行組みにする。これで札が伸び、人物の絵が収まる. */
	.front-profile__shift {
		display: block;
		margin-top: 0.15em;
		font-size: 3.25em;
	}

	/* 各ポイントの大きい丸。移行元は
	   `@media(min-width:1050px){ .point-box .point-circle{font-size:1.75em;
	   width:7.75em;height:7.75em;position:absolute;top:-3em;right:-2em} }`。
	   親が 14px なので丸自身の文字は 24.5px になり、7.75em = 189.88px になる。
	   dev はこの上書きを 750px のブロックに置き、大きさも 4.5em（= 110.25px）に
	   縮めていた。境目を移行元と同じ 1050px へ戻したので、750〜1049px では
	   移行元と同じく素の 5em（= 70px）の丸が本文の流れの中に並ぶ。
	   位置の -3em / -2em も丸自身の文字が基準なので、丸の大きさが変わっても
	   はみ出し方の比率が保たれる（Bug #2239）. */
	/* 🚨 **`margin` を 0 にしない**（Task #3389）。移行元はこの帯で `margin` の
	 * 指定を持たないので、基底の `margin: -1.5em auto 1em` がそのまま残る。
	 * 絶対配置でも `margin` は効くため、丸は `top: -3em` に加えて
	 * **上へ 1.5em（丸自身の字 24.5px 基準で 36.75px）**ずれる。
	 *
	 * 写しは `margin: 0` を足していたため、丸が 36.75px 下がって見出しに近づき、
	 * ユーザーの目視で「印と字の余白が狭い」と指摘された（S01 の①）。
	 *
	 * 実測（両側とも 2026-09-04 14:2x JST・幅 1440px。印の下端から見出しの上端まで）:
	 * 移行元 −37.63px に対し写し −74.38px で、POINT01 / 02 / 04 の 3 つとも
	 * 同じ 36.75px の差だった。印の `top` / `right` / 大きさ / 字はすべて一致して
	 * いたので、差はこの `margin` だけである.
	 *
	 * ⚠️ **下の `--no-image` の `top: -3.5em` は、この `margin: 0` を前提にした
	 * 補いである。**`margin` を戻すのに合わせて、移行元と同じ `-2em` へ戻す. */
	.front-point .pa-point-circle {
		position: absolute;
		top: -3em;
		right: -2em;
		font-size: 1.75em;
		width: 7.75em;
		height: 7.75em;
	}

	/* 図を持たないポイントだけ、丸の位置が移行元で違う。移行元
	   `@media(min-width:1050px){ .point-box.no-image .point-circle{top:-2em;right:-2em} }`。

	   移行元はこの `top: -2em` に、基底の `margin-top: -1.5em`（丸自身の字 24.5px
	   基準で 36.75px）が重なって、合わせて 85.75px 上へ出る（実測: 幅 1440px で
	   枠の上端 4993.89 に対し丸の上端 4908.14）。

	   🚨 **この `-3.5em` は「移行元の -2em + 重なる margin の -1.5em」の合計であり、
	   そのままにする**（Bug #2753）。Task #3389 で写真を持つ側の `margin: 0` を
	   外したが、**写真を持たない側は基底（`.front-point--no-image .pa-point-circle`）
	   で `margin: 0` を持つ**ため、こちらには基底の `margin: -1.5em` が残らない。
	   基底の `margin: 0` は、写しが印を包む層を 1 つ多く持つことへの調整なので
	   動かさない（動かすと 749px 以下の直しまで崩れる）。

	   **合計の 85.75px は移行元と同じである**（実測: 幅 1050 / 1200 / 1440px の
	   3 点とも、両側で枠の上端から −85.75px）。**それでも印と見出しの隙間は
	   18.89px 違っていた。**差は印ではなく見出しの側にあり、下の
	   `.front-point--no-image .front-point__title` で直している（Task #3389）. */
	.front-point--no-image .pa-point-circle {
		top: -3.5em;
		right: -2em;
	}

	/* 🚨 **写真を持たない枠だけ、見出しに上下の外余白が付く**（Task #3389）。
	 * 移行元 `@media(min-width:1050px){ .point-box.no-image .point-box__title
	 * { padding-left: 0; margin-block: .5em 1em } }`。写しは `padding-left: 0` だけを
	 * 750px 以上の帯へ写し、**外余白のほうを落としていた**。
	 *
	 * 落ちていた影響は 2 つある。①見出しが 0.5em（見出しの字 37.8px 基準で
	 * **18.9px**）上に寄る ②見出しの下が 1em でなく上の `.front-point__title`
	 * （`margin-bottom: 2em`）のままなので **37.8px 広い**。
	 *
	 * 🚨 **印の位置は両側とも合っていた**（枠の上端から −85.75px）。**ずれていたのは
	 * 見出しの側である。**印だけを見比べると差の出どころを取り違える.
	 *
	 * 実測（両側とも同じ道具・幅 1050 / 1200 / 1440px の 3 点で同値）:
	 *
	 * | | 移行元 | 直す前 | 直した後 |
	 * |---|---:|---:|---:|
	 * | 枠の上端から見出しの上端まで | 60.89px | 42px | **60.89px** |
	 * | 印の下端から見出しの上端まで | −43.24px | −62.13px | **−43.24px** |
	 * | 見出しの下端から本文の上端まで | 37.8px | 75.6px | **37.79px** |
	 *
	 * 写真を持つ側（POINT01 / 02 / 04）は 42px / 75.6px のままで動かない（陰性対照）. */
	.front-point--no-image .front-point__title {
		margin-block: 0.5em 1em;
	}
}

/* 750〜1049px の帯だけ、枠と本文の内余白の配り方が移行元と違っていた（Bug #2753）。

   | | 枠の上の内余白 | 本文の上の内余白 | 丸が枠より上へ出る量 | 丸と見出しの隙間 |
   |---|---:|---:|---:|---:|
   | 移行元 | **49px** | なし | **35px** | **14px** |
   | 直す前のテーマ | 0 | 40px | 14px | **−16px（重なる）** |

   移行元の実測は幅 800px と 1024px で同値である。テーマは丸の親が
   `.front-point__inner`（枠の内余白の内側）なので、枠へ内余白を戻し、本文側の
   上の内余白を取り消したうえで、丸の高さ 5em を足した `-6em` を当てると移行元と
   同じ位置になる。**749px 以下（[#2747](https://github.com/mationinc/wp-platform/issues/2747) で解決済み）と 1050px 以上には効かせない。** */
@media (min-width: 750px) and (max-width: 1049px) {
	.front-point--no-image {
		padding-top: 49px;
	}

	/* 🚨 **左右の内余白も移行元へ戻す**（Task #3319・#3322 の残り）。移行元は
	 * `.point-box__contents { padding-inline: 1em }`（本文層の字 14px なので 14px）を
	 * 1049px まで使い、1050px から `padding: 3em 5.5em`（42px / 77px）へ切り替える。
	 * 写しは 750px から `padding: 42px 88px` を当てていた。
	 *
	 * この帯の直し（PR #3379）は写真を持つ枠だけを対象にし、写真を持たないこの枠
	 * （POINT03）を `:not()` で外していたため、内余白だけが残っていた。
	 *
	 * 内余白は**中の区画の幅をそのまま決める**。出会いの機会の区画は
	 * `.front-point__body > *` の頭打ち 800px と中央寄せを受けるので、器の中身の幅が
	 * 800px より狭い帯（幅 1022px 以下）では区画がそのぶん狭くなっていた。
	 *
	 * 実測（両側とも同じ道具・同じ幅・移行元は自動送りを止めた落ち着いた状態。
	 * 2026-09-04）:
	 *
	 *   幅      移行元の区画        写し・直す前        写し・直した後
	 *   750px   28〜722（694）      102〜648（546）     28〜722（694）
	 *   900px   50〜850（800）      102〜798（696）     50〜850（800）
	 *   1023px  111.5〜911.5（800） 一致                一致
	 *
	 * 上下も移行元は 0 である（実測の 4 辺は `0px 14px 0px 14px`）。写しは上だけを
	 * 0 に打ち消し、下に 42px を残していたので、まとめて移行元と同じにする. */
	.front-point--no-image .front-point__body {
		padding: 0 14px;
	}

	.front-point--no-image .pa-point-circle {
		top: -6em;
	}
}

/* 🚨 **移行元は幅 750〜1049px を「素のまま」使う**（Task #3322）。写真を枠の外へ
 * 出すのは 1050px 以上だけで、この帯では写真は流れの中に置かれて枠いっぱいに
 * 広がり、本文はその下に全幅で組まれる。
 *
 * 移行元の CSS（トップが読む `assets/css/style.css`）:
 *
 *   .point-box          { margin-top: 2.5em; overflow: clip; border-radius: 2em;
 *                         padding-bottom: 3em }
 *   .point-box__image   { width: 100% }
 *   .point-box__contents{ padding-inline: 1em }
 *   @media (min-width: 1050px) {
 *     .point-box        { position: relative; overflow: visible;
 *                         border-radius: 0 4em 4em 0; margin-top: 12em }
 *     .point-box__image { max-width: 518px; position: absolute; top: -7em; left: 0;
 *                         border-radius: 0 2em 2em 0 }
 *     .point-box__contents { padding: 3em 5.5em }
 *     .point-box__title    { padding-left: 11em }
 *   }
 *
 * 本文層の字は 14px なので、素の値は 35px / 28px / 42px / 14px になる。
 *
 * 写しは 750px から 1050px 以上の組みを当てていた。実測（両側とも
 * 2026-09-04 13:3x JST に同じ道具で測った・幅 750px の例）:
 *
 *   対象            移行元                写し・直す前
 *   枠の角丸        28px（四隅）          0 56px 56px 0
 *   枠のはみ出し    clip                  visible
 *   枠の上外余白    35px                  168px
 *   写真の置き方    流れの中・幅 722px    絶対配置・幅 518px・98px 持ち上げ
 *   本文の内余白    0 / 14px              42px / 88px
 *   見出しの左内余白 0                    460px
 *   見出しの高さ    67.22px               200px
 *
 * **打ち消しではなく `:not()` で絞る形にしてある。**この帯の外（749px 以下と
 * 1050px 以上）へ 1 つも漏らさないためと、写真を持たない POINT03
 * （`--no-image`）を巻き込まないためである（移行元の `.point-box.no-image` は
 * 素で `overflow: visible; position: relative` を持ち、この帯でも変わらない）。
 * 詳細度は `.front-point:not(.front-point--no-image)` が (0,2,0) で、打ち消す
 * 相手の `.front-point`（0,1,0）より高いので、ファイルの後ろにある
 * `margin-top: 168px` にも勝つ. */
@media (min-width: 750px) and (max-width: 1049px) {
	.front-point:not(.front-point--no-image) {
		position: static;
		margin-top: 35px; /* 移行元 2.5em */
		border-radius: 28px; /* 移行元 2em（四隅） */
		overflow: clip;
	}

	/* 写真は流れの中に戻し、枠いっぱいに広げる（移行元 `.point-box__image
	 * { width: 100% }` だけの状態）。
	 *
	 * `top` と `max-width` も明示して移行元の計算値にそろえる。`position: static`
	 * では `top` は働かないので**見た目は変わらない**が、そろえておくと突き合わせ
	 * の道具が差として拾わなくなる（移行元の計算値は `top: auto` /
	 * `max-width: 100%`）. */
	.front-point:not(.front-point--no-image) .front-point__image {
		position: static;
		top: auto;
		width: 100%;
		max-width: 100%;
		border-radius: 0;
	}

	/* 本文は写真をよける必要がないので、移行元と同じ左右 14px・上下 0 に戻す. */
	.front-point:not(.front-point--no-image) .front-point__body {
		padding: 0 14px; /* 移行元 padding-inline: 1em */
	}

	/* 見出しも写真をよける必要がないので、左内余白と高さの下限を外す. */
	.front-point:not(.front-point--no-image) .front-point__title {
		display: block;
		align-content: normal;
		min-height: 0;
		padding-left: 0;
	}
}

/* ==============================================================
 * 5. 活動実績
 * ============================================================== */

.front-activity {
	position: relative;
	margin-top: var(--pa-space-md);
	padding: var(--pa-space-sm) 0;
	background-color: var(--pa-color-bg);
	text-align: center;
}

/* 背景に敷く珊瑚色の塊。移行元は .activity:before で作っていた */
.front-activity::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 88%;
	height: 100%;
	border-radius: 0 80px 80px 0;
	background-color: var(--pa-color-accent-strong);
}

/* 移行元 .content__inner は div.activity__img と div.activity__main の
   位置の基準になる全幅の器で、内余白を持たない（実測: max-width 1440px、
   padding 0）。内余白は下の .front-activity__main が引き継ぐ（Issue #2600）。

   上の外余白は下の @media（750px 以上）で足す。🚨 移行元がこの外余白を持つのは
   広い画面だけで、狭い画面は持たない（幅 375px の実測は、移行元も dev も区画の
   上端から y=14）。両方の幅に足すと狭い画面が 10px 下がって退行する
   （Issue #2657）. */
.front-activity__inner {
	position: relative;
	z-index: 1;
	max-width: 1440px;
	margin: 0 auto;
}

/* 移行元 .activity__main に対応する中間の器。狭い画面は幅 94%・左右の内余白
   5.089%（幅 320 / 375 / 414px で実測）。上の内余白は元 .front-activity__inner
   が持っていた --pa-space-md、下は --pa-space-sm を引き継ぐ（Issue #2600）. */
.front-activity__main {
	width: 94%;
	padding: var(--pa-space-md) 5.089% var(--pa-space-sm);
}

.front-activity__picture {
	display: block;
	width: 100%;
	border-radius: 32px;
}

.front-activity__body {
	position: relative;
	z-index: 1;
	color: var(--pa-color-bg);
	text-align: left;
}

/* 活動実績の大見出し。移行元 .activity__subHeading は 750px 以上で 3.2rem
   （= 32px）の太さ 600・行の高さ 1・左寄せで、下に 0.5rem の内余白を持つ。
   囲みではなく文字の幅だけ帯を敷くため display は inline-block である。
   749px 以下は 1.79rem（幅 375px で 17.08px）になる. */
.front-activity__heading {
	display: inline-block;
	padding-bottom: 5px;
	color: var(--pa-color-bg);
	font-weight: 600;
	line-height: 1;
}

/* 「＝「婚約」」の大きい部分。移行元 .activity__subHeading .lg は 750px 以上が
   3.9rem（= 39px）、749px 以下が 2.8rem（幅 375px で 26.7px）である。上の見出しに
   対する倍率で書くと、それぞれ 1.22em と 1.57em になる. */
.front-activity__heading-lg {
	font-size: 1.57em;
	letter-spacing: 3px;
	font-feature-settings: "palt";
	line-height: 1.5;
}

/* 🚨 **見出しの中の大きい字は、行送りを自分で持つ**（Bug #3909）。
 * 移行元は先頭で `* { line-height: 1.5 }` を全要素に当てているため、**行送りが親から
 * 子へ受け継がれない**。`.activity__subHeading .lg` は行送りの規則を持たないので、
 * 親の `line-height: 1` ではなく `*` の 1.5 が効き、**自分の字の 1.5 倍**になる。
 *
 * 写しは親の `line-height: 1` を受け継いでいたため、見出しの箱が低かった
 * （実測 2026-09-05: 幅 1440px で 移行元 96px 対 写し 76px、幅 750px で 97 対 77、
 * 幅 375px で 62 対 49）。
 *
 * 🚨 **`.front-activity__heading` の側を 1.5 にしてはいけない。**親を変えると、
 * 大きい字ではない地の部分の行送りまで動く。**当たり先は子の 2 つに絞る。**
 *
 * 単位を付けない `1.5` は「自分の字の 1.5 倍」になるので、帯ごとに字が変わっても
 * そのまま追随する（750px 以上 39px → 58.5px、749px 以下 26.7px → 40.08px）。
 *
 * **上の `.front-activity__heading-lg` と下の `.front-activity__mark` の 2 つに
 * それぞれ書いている。**合わせ書き（`A, B { … }`）にすると、検査の読み取りが
 * 「当たり先ごとに 1 つの規則」を前提にしているため見落とす。
 *
 * 正本: memory `reference_legacy_universal_line_height_15.md`. */

/* 🚨 **この帯は、上の 2 つの素の規則より後ろに置く。**折り返しの条件は詳細度を
 * 足さないので、素の `.front-activity__heading-lg { letter-spacing: 3px }` より前に
 * 置くと、同じ詳細度で後ろの素の規則が勝ち、字間の直しが効かない
 * （2026-09-06 に一度そう書き、型紙が 3px のままだと知らせて気づいた）. */
/* 🚨 **749px 以下は移行元が `rem` で書いており、画面幅に比例する**（Bug #3993）。
 * 移行元は `@media screen and (max-width: 749px) { .activity__subHeading
 * { margin: 3rem 0; font-size: 1.79rem } }` を持ち、素の `padding-bottom: 0.5rem` も
 * この帯では比例する。写しは **375px のときの実測値を直値**（28.6px / 5px / 17px）で
 * 置いていたため、375px ではそろい、**幅が広がるほど差が開いていた**
 * （実測 2026-09-06: 字が 幅 500px で 移行元 22.77 対 写し 17、幅 749px で 34.11 対 17。
 * **749px では字がほぼ半分の大きさだった**）。
 *
 * 🚨 **上下の余白と下の内余白も同じ理由でずれる**（幅 749px で 57.18 対 28.6、
 * 9.53 対 5）。3 つまとめて比例させる。
 *
 * 🚨 **字間も比例する**（移行元 `.activity__subHeading .lg { letter-spacing: 0.3rem }`）。
 * 大きい字の大きさ自体は既に比例して一致しているので、残る差は字間だけである
 * （5 文字ぶんで 幅 500px で 4.08px、幅 749px で 13.58px）. */
@media (max-width: 749px) {
	.front-activity__heading {
		margin: calc(3 * var(--pa-sp-rem)) 0;
		padding-bottom: calc(0.5 * var(--pa-sp-rem));
		font-size: calc(1.79 * var(--pa-sp-rem));
	}

	.front-activity__heading-lg {
		letter-spacing: calc(0.3 * var(--pa-sp-rem));
	}
}

@media (min-width: 750px) {
	.front-activity__heading {
		margin: 40px 0 10px;
		font-size: 32px;
	}

	/* 実際に効いているのは、この規則ではなく後段の `@media (min-width: 750px)` に
	   ある直値（`.front-activity__heading-lg, .front-activity__mark`）である。
	   帯ごとの直しはそちらで行う. */
	.front-activity__heading-lg {
		font-size: 1.22em;
	}
}

.front-activity__mark {
	color: var(--pa-palette-yellow);
	/* 上の `.front-activity__heading-lg` の注釈を読むこと（Bug #3909）. */
	line-height: 1.5;
}

.front-activity__lead {
	color: var(--pa-color-bg);
}

/* 移行元 .activity__btm の内余白は、狭い画面では 28px の固定値である（幅 320 /
   375 / 414px の 3 点で実測。画面の幅が変わっても 28px のまま）。この内余白は札の
   中の左列の幅を決めるため、札の中の文言の横位置に直接効く。実測: 24px → 28px
   （Issue #2600）。
   なお幅 750px 以上は下の @media が上書きする。移行元 .activity__btm の幅
   1440px での実測は 20px 40px で、左右の 40px は一致しており上下だけ 24px →
   20px に直す（Issue #2657）. */
.front-activity__panel {
	/* 移行元 `.activity__btm { margin-top: 3rem }`。750px 以上の 1rem は 10px なので
	 * 30px である（Bug #3909。写しは `--pa-space-sm` を当てていて 10px 広かった）。
	 * 749px 以下はこの `3rem` が画面幅に比例するので、下の帯で上書きする. */
	margin-top: 30px;
	padding: 28px;
	border-radius: 16px;
	background-color: var(--pa-color-bg);
	color: var(--pa-color-text);
	text-align: left;
}

/* 活動実績の札の中見出し。移行元 .maincol は 1050px を境に 17.5px と 21px で
   切り替わり、下外余白も同じ倍率（1em）で広がる。font-size: 17.5px は Bug #2172
   の全数突き合わせで発見（この要素は元々 1050px 未満の font-size を欠いており、
   UA 既定の h3 サイズが本文層のアンビエントに掛かった値にたまたま近かった
   ため、乖離が隠れていた）. */
.front-activity__panel-heading {
	margin: 0 0 17.5px;
	color: var(--pa-color-accent-strong);
	font-size: 17.5px;
	text-align: center;
}

@media (min-width: 1050px) {
	.front-activity__panel-heading {
		margin-bottom: 21px;
		font-size: 21px;
	}
}

.front-activity__figure {
	margin: 0;
	color: var(--pa-color-accent-strong);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.front-activity__figure-lg {
	font-size: 3.4em;
}

.front-activity__figure-md {
	font-size: 2em;
}

/* 「が最多」の表示（移行元 .clrBlack.sm）は全幅で 20px 固定。Bug #2172 の全数
 * 突き合わせで発見（1.4em は本文層を足す前は 15px 基準でたまたま 21px と近い
 * 値になっていたが、本文層を足すと 19.6px まで縮んで移行元の 20px からずれた。
 * `.front-activity__figure-sm` はこのファイル 1 箇所でしか使われず、祖先の
 * アンビエントは常に本文層の 14px で固定なので、`.pa-more-button` と同じ
 * 考え方で相対指定をやめ、直値にする）. */
.front-activity__figure-sm {
	font-size: 20px;
	color: var(--pa-color-text);
}

.front-activity__note {
	margin: 16px 0 0;
	font-size: 0.8em;
	text-align: center;
}

.front-activity__panel img,
.front-activity__panel .front-placeholder,
.front-activity__panel picture {
	max-width: 100%;
}

/* 狭い画面（既定）の主画像。移行元 .activity__img は幅 90%・上限 345px・
   右寄せ（実測）（Issue #2600）. */
.front-activity__image {
	width: 90%;
	max-width: 345px;
	margin-left: auto;
}

@media (min-width: 750px) {
	/* 移行元 .activity__main は幅 750px 以上で幅 auto・上限 1250px・中央寄せ、
	   内余白 60px 50px 50px（実測）（Issue #2600）. */
	.front-activity__main {
		width: auto;
		max-width: 1250px;
		margin: 0 auto;
		padding: 60px 50px 50px;
	}

	/* 移行元 .content__inner の上の外余白 10px。dev はこれを持たず、区画の中身が
	   丸ごと 10px 上にずれていた。幅 1440px・区画の上端からの距離で実測: 全幅の器は
	   移行元 y=24 に対し dev y=14、本文の器は移行元 y=84 に対し dev y=74。
	   狭い画面には足さない（移行元が持たないため。上の注釈を参照）（Issue #2657）. */
	.front-activity__inner {
		margin-top: 10px;
	}

	/* 本文の器。移行元は 1 本ではなく 2 本の帯に分けている。

	     @media (min-width: 1200px)                    { .activity__body { width: 75rem; max-width: 750px } }
	     @media (min-width: 750px) and (max-width: 1199px) { .activity__body { width: 90%;   max-width: 700px } }

	   🚨 「幅 750px 固定」という以前の注釈は誤りだった。1200px 以上の帯だけを
	   見て一般化したもので、750〜1199px の帯が丸ごと欠けていた（Issue #2836）。
	   その帯では移行元が「画面幅の 90%」で縮むのに dev は 750px のままなので、
	   本文の器と中の要素が移行元より広かった。

	   外側の .activity__main が左右 5rem（= 50px）の内余白を持つため、移行元の
	   実際の幅は min(0.9 × (画面幅 − 100px), 700px) になる。1199px 以下の帯で
	   上限 700px に届くのは画面幅 878px 以上である。

	   実測（移行元 / dev。直す前）: 855px で 679.5 対 750（+70.5）・
	   800px で 630 対 700・750px で 585 対 650。1200px 以上は両側 750 で一致. */
	.front-activity__body {
		width: 100%;
		max-width: 750px;
	}

	/* 移行元の主画像は幅 750px 以上で絶対配置になり、本文の器に重なる。位置の
	   基準は .front-activity__inner（最大 1440px・中央）である。

	   🚨 横位置は「左端からの固定値」ではない。移行元は右端を基準にしており、
	   器の右端から 55px はみ出したところで止まる（実測の right は -55px）。幅は
	   器の 44.444%（9 分の 4）で、640px で頭打ちになる。幅 800 / 1024 / 1200 /
	   1250 / 1366 / 1440 / 1600px の 7 点で実測して確かめた。

	   左端からの固定値（left: 855px）で書くと幅 1440px では一致するが、幅
	   750〜1249px で主画像が画面の外へ出る（幅 800px では見える割合が 0%
	   になる）。移行元は #header に min-width: 1200px を持つため狭い PC 幅では
	   横スクロールになり、この崩れが起きない（Issue #2600）. */
	.front-activity__image {
		position: absolute;
		top: 120px;
		right: -55px;
		left: auto;
		width: 44.444%;
		max-width: 640px;
		margin-left: 0;
	}

	/* 札の中身の並び。移行元 .activity__btm は両端寄せだけを持ち、隙間の指定を
	   持たない。

	     @media (min-width: 750px) { .activity__btm {
	       display: flex; align-items: center; justify-content: space-between;
	       padding: 2rem 4rem } }
	     @media (min-width: 750px) { .activity__btm__left { width: 50% } }

	   🚨 隙間を 32px 置くと、文章の列 50% + 図の列 46% + 32px が器を超えるため
	   flex の縮みが起きて、文章の列が移行元より狭くなっていた（Issue #2836。
	   1440px で注記が 332.3 対 335 = −2.7px）。隙間を持たせない. */
	.front-activity__panel {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0;
		padding: 20px 40px;
		text-align: left;
	}

	.front-activity__panel--stacked {
		display: block;
	}

	.front-activity__panel-text {
		width: 50%;
	}

	.front-activity__panel-chart {
		width: 46%;
	}
}

/* 本文の器の 750〜1199px の帯。移行元はこの帯だけ別の式を持つ。

     @media (min-width: 750px) and (max-width: 1199px) {
       .activity__body { width: 90%; max-width: 700px } }

   上の @media (min-width: 750px) の塊にある .front-activity__body は 1200px 以上の
   値（幅 100% / 上限 750px）で、移行元の
   `@media (min-width: 1200px) { .activity__body { width: 75rem; max-width: 750px } }`
   に当たる。この帯を足さないと、750〜1199px で移行元が「画面幅の 90%」に縮むのに
   dev は 750px のままになる（Issue #2836）。

   🚨 入れ子の @media にしない。この検査群は「入れ子の @media は使っていない」
   ことを前提に波かっこの深さを数えているため、入れ子にすると帯の切り出しが
   狂う。上の塊の外へ独立した帯として置く（詳細度は同じで、後ろにあるこの塊が
   重なる範囲で勝つ）. */
@media (min-width: 750px) and (max-width: 1199px) {
	.front-activity__body {
		width: 90%;
		max-width: 700px;
	}
}

@media (max-width: 749px) {
	/* 🚨 **狭い画面では赤い地色の持ち主を移行元と同じ要素へ戻す**（Bug #4239）。
	   移行元は狭い画面で `.activity__main` 自身が地色を持つ
	   （`background: var(--main-color); border-bottom-right-radius: 4rem`）。
	   写しは区画の疑似要素（`.front-activity::before`）で敷いていたため、
	   `top: 0` と `height: 100%` のぶん**区画の上端から下端まで**赤くなり、
	   その上にある主画像の裏側まで伸び上がっていた。

	   実測（幅 375px・2026-09-07・ユーザーの目視の指摘）:

	     赤の幅     移行元 352.5   写し 375      （+22.5）
	     赤の高さ   移行元 1217.05 写し 1454.84  （+237.79）
	     赤の上端   移行元 224.21  写し 0        （−224.21・区画の上端から）
	     右下の角丸 移行元 38.17   写し 40       （+1.83）

	   **器（`.front-activity__main`）の幅・内余白・引き上げは移行元と合っていた**
	   ので、地色をその器へ移すだけで幅・高さ・位置がそろう。狭い画面では疑似要素を
	   出さない（広い画面の `width: 88%` と `border-radius: 0 80px 80px 0` は移行元の
	   広い画面の姿なので**残す**）. */
	.front-activity::before {
		content: none;
	}

	/* 移行元 .activity__main は狭い画面で上へ 3rem 引き上げられ、その上にある
	   主画像の下端に重なる（実測: 幅 375px で上の外余白 -28.626px）。移行元の
	   狭い画面の 1rem は画面の幅の 2.5445292621% なので、3rem は 7.6336% に
	   あたる。画面の幅が変わっても移行元と同じだけ引き上がるよう、px ではなく
	   割合で書く（負の外余白の % は器の幅を基準に解決される）。
	   実測: 幅 375px で中間の器の上端が 移行元 y=224.2 に対し dev y=252.83
	   （28.63px 下）だった（Issue #2657）。

	   🚨 **上下の内余白と右下の角丸は画面の幅に比例させる**（Bug #4239）。
	   移行元は `padding: 6rem 2rem 4rem` と `border-bottom-right-radius: 4rem` で、
	   狭い画面の 1rem は画面の幅の 2.5445292621% である。**ここは固定 px
	   （上 57px・下 38px、角丸は疑似要素側で 40px）だったため、375px でしか
	   合っていなかった。**

	     幅 375px: 上 57.25 / 下 38.17 / 角丸 38.17（固定でもほぼ一致した）
	     幅 749px: 上 114.35 / 下 76.23 / 角丸 76.23（固定だと 57 / 38 / 40 で外れる）

	   Bug #2889 で隣の `.front-experience__inner` が踏んだのと同じ型である。
	   単位は共通変数 `--pa-sp-rem`（`.front-page` が持つ `2.5445292621vw`）で、
	   移行元の rem 値がそのまま読み取れる形にしてある。

	   左右の内余白は素の規則の `5.089%` がこの幅でも移行元（`2rem`）と一致する
	   ので触らない（実測: 375px で 19.078 対 19.08、749px で 38.109 対 38.11）. */
	.front-activity__main {
		margin-top: -7.6336%;
		padding-top: calc(6 * var(--pa-sp-rem));
		padding-bottom: calc(4 * var(--pa-sp-rem));
		border-bottom-right-radius: calc(4 * var(--pa-sp-rem));
		background-color: var(--pa-color-accent-strong);
	}
}

/* ==============================================================
 * 6. 無料婚活体験への導線（ページ内で 2 回出る）
 * ============================================================== */

.front-cta {
	/* 移行元 legacy/www.p-a.jp/public/assets/css/style.css の
	   .cta{padding:3em 1.5em} のうち左右（1.5em）を写す。この区画の字は
	   14px なので 1em = 14px、1.5em = 21px になる。テーマは左右を
	   --pa-inner-gutter（15px）で書いていたが、移行元は幅に関わらず
	   この固定値を使う。上下（3em）は今回の対象外なので触らない
	   （Issue #2606）. */
	padding: var(--pa-space-md) 21px;
	background-color: var(--pa-color-bg);
}

.front-cta__inner {
	/* 移行元 .cta は幅の上限を持たない（実測: 幅 1440px で内側 1398px）。
	   部品は 1 区画に 3 個で、320px × 3 + 間隔 14px × 2 = 988px なので、
	   上限を外しても 1 行に 3 個のまま行数は変わらない（両幅で実測済み）
	   （Issue #2606）. */
	margin: 0 auto;
	text-align: center;
}

/* 申し込み導線の帯の見出し。移行元 .cta__title は 750px 以上で 1.8em（親が 14px
   なので 25.2px）、下外余白は 1em（= 25.2px）である。749px 以下は h2 の既定
   （21px）で下外余白を持たない。基準（--pa-font-size-heading）の 32px は
   .heading-a の値で、この帯には当たらない（Issue #1624）. */
.front-cta__heading {
	margin: 0;
	color: var(--pa-color-heading);
	/* 749px 以下は h2 の既定の 21px である。上の説明のとおり移行元は 749px 以下で
	   .cta__title に大きさを指定せず、h2 の既定が出る。22px は書き間違いで、
	   移行元との差 1px がそのまま出ていた（Bug #2620 の分類 ④。見出し 2 個と、
	   中の強調 2 個の計 4 個）. */
	font-size: 21px;
}

@media (min-width: 750px) {
	.front-cta__heading {
		margin-bottom: 25.2px;
		font-size: 25.2px;
	}

	/* 見出しの中で強調する語（「無料婚活体験」）。移行元は
	   `@media(min-width:750px){ .cta__title span{font-size:1.6em;margin-inline:.1em;
	   padding-bottom:.1em} }` で、見出しの 25.2px に対して 40.32px になる。
	   写さないと見出しと同じ 25.2px のままで、強調が消える。
	   左右の外余白と下の内余白は語自身の大きさが基準なので、40.32px に対して
	   4.032px になり、下線（border-bottom）との間隔も移行元と揃う。
	   749px 以下は移行元も明示しないため、ここでだけ効かせる（Bug #2239）. */
	.front-cta__heading span {
		margin-inline: 0.1em;
		padding-bottom: 0.1em;
		font-size: 40.32px;
	}
}

.front-cta__heading span {
	color: var(--pa-color-accent-strong);
	font-weight: 700;
	border-bottom: 2px solid var(--pa-color-accent-strong);
}

/* 見出しと前置きの文の間隔。移行元は汎用の
   `.contents p:not([class]) { margin-top: 1em }` を持ち、この前置きの文は
   class を持たない素の `p` なので当たる。この区画の字は 14px なので
   1em = 14px になる（Issue #2890）。
 *
 * 750px 以上では見出し（.front-cta__heading）の下外余白 25.2px が
 * 打ち消し合いで勝つため、この 14px は見た目に出ない。749px 以下では
 * 見出しが下外余白を持たないので、この 14px がそのまま間隔になる。
 * 写していなかったため、749px 以下では区画が移行元より 14px 低かった. */
.front-cta__lead {
	margin: 14px 0 0;
}

/* 移行元 legacy/www.p-a.jp/public/assets/css/style.css の
   .cta__topic{gap:1em;margin-top:2em} を写す。この区画の字は 14px なので
   1em = 14px、2em = 28px になる。--pa-space-sm は幅で値が変わる別系統の
   数値（750px 以上 40px・749px 以下 20px）で、移行元の 28px と突き合わせて
   選ばれた値ではないため、共通トークンには手を入れず、この部品だけに
   移行元の実測値を直値で持たせる（Issue #2606）. */
.front-cta__topics {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.front-cta__topic {
	display: flex;
	align-items: center;
	/* 移行元 .cta__topic--item{border-radius:1em} を写す。この区画の字は
	   14px なので 1em = 14px（Issue #2606）. */
	border-radius: 14px;
	/* 移行元 legacy/www.p-a.jp/public/assets/css/style.css の
	   .cta__topic--item{…background:#f5f3ed} に合わせる。
	   移行元は固定値であり、テーマトークンに寄せると色が変わる。
	   背景トークン var(--pa-color-surface-muted) は rgb(255, 246, 236) で、
	   移行元 #f5f3ed=rgb(245, 243, 237) とは異なるため、トークンへ戻さない（Issue #2568）。 */
	background-color: #f5f3ed;
	overflow: clip;
}

/* 移行元のアイコンは 99 × 85px（PC・携帯幅とも同じ大きさ）。以前は 88px の
   固定値になっており、テンプレート（template-parts/front/cta.php）が渡す
   HTML の width/height 属性（99, 85）と食い違っていた。CSS の width が
   HTML 属性より優先されるため、実際の描画幅は 88px まで縮み、高さも
   HTML 属性から決まる比率（85/99）に連動して縮んでいた（Issue #2164）。
   ここでは width だけを 99px に直し、height は指定しない。HTML の
   width/height 属性から決まる縦横比（99:85）がそのまま働くため、高さは
   自動で 85px になる. */
.front-cta__topic img,
.front-cta__topic .front-placeholder {
	display: block;
	width: 99px;
	flex: 0 0 auto;
}

.front-cta__topic p {
	flex: 1;
	margin: 0;
	/* 移行元 .cta__topic--item p{padding-inline:1em} を写す。この区画の字は
	   14px なので 1em = 14px（Issue #2606）. */
	padding: 0 14px;
	font-weight: 700;
	/* 移行元 legacy/www.p-a.jp/public/assets/css/style.css の
	   .cta__topic--item p{…color:#664500…} に合わせる。
	   移行元は固定値であり、テーマトークンに寄せると色が変わる。
	   文字色を未指定にすると本文 #474747=rgb(71,71,71) を継承し、
	   移行元 #664500=rgb(102,69,0) と異なるため、トークンへ戻さない（Issue #2568）。 */
	color: #664500;
	text-align: left;
}

.front-cta__topic p span {
	display: block;
	font-size: 1.25em;
	/* 移行元は * { line-height: 1.5 } を全要素に当てたうえで p にだけ
	   line-height: 1.8 を置いている。span は p の中にあるが、* が span
	   自身に当たるため 1.5 に戻る。em の換算とは別の型（em/rem の掛け算では
	   ない）なので、ここに直接 1.5 を持たせる。全要素への指定は足さない
	   （テーマ全体へ波及するため）（Issue #2606）. */
	line-height: 1.5;
}

/* 注記「※お相手検索・詳細なEQ診断はご来店で可能です。」（Issue #2878 / #2890）。
 *
 * 移行元は `<p class="center"><span class="small-caption">…</span></p>` の
 * 入れ子で、外側の p が区画の字 14px をそのまま受け継ぎ、内側の span だけを
 * 0.85em（11.9px）へ落としている。p は `p{line-height:1.8}` を受けるので、
 * 行の箱は 14px × 1.8 = 25.2px になる。
 *
 * テーマは span を省いて p 自身へ 0.85em を当てていたため、行の箱が
 * 11.9px × 1.8 = 21.42px に縮み、移行元より 3.8px 低かった（Issue #2878）。
 * 字の大きさを内側の span へ移し、p は区画の字を受け継ぐ形に戻す。
 *
 * 外余白は移行元の p が上下とも 0 である。移行元の
 * `.contents p:not([class]) { margin-top: 1em }` は class を持つ p には
 * 当たらないためで、下の外余白は初期化の塊が 0 にしている。テーマは
 * 上に 16px を独自に足し、下はブラウザ既定の 1em（11.9px）を消していな
 * かったため、区画が移行元より高くなっていた（Issue #2890）. */
.front-cta__note {
	margin: 0;
}

/* 移行元 `.small-caption{font-size:.85em;letter-spacing:0}` を写す。
 * 移行元は全要素へ `*{line-height:1.5}` を当てているため span は 1.5 に
 * 戻るが、テーマはその全要素への指定を持たない（持たせるとテーマ全体へ
 * 波及する）。同じ理由で直値を持つ .front-cta__topic p span と揃えて、
 * ここにも 1.5 を直接書く. */
.front-cta__note-caption {
	font-size: 0.85em;
	letter-spacing: 0;
	line-height: 1.5;
}

/*
 * トップのページ末尾の LINE 導線（Bug #6934）。
 *
 * 写し元は移行元のミラー `legacy/www.p-a.jp/public/assets/css/style.css` の
 * `.line-contact` の塊（6629〜6851 行・224 行）。移行元は 2026-09-11 11:15:50 の更新
 * （`27fb75bbe`「LINE導線追加」）で、小さいリンク 1 本（`div.line-cta`）を消して
 * この囲みへ入れ替えた。**消した側 1 個・足した側 1 個なので二重には出ない。**
 *
 * 🚨 **パソコン版と携帯版で別の markup を出し、ここで出し分ける。**
 * 既定は `.line-contact__sp { display: none }`、幅 767px 以下で入れ替わる。
 *
 * 🚨 **幅の境目は移行元のままの 767px である。**テーマの携帯幅（749px）に寄せない。
 * 移行元がこの囲みだけ 767px で切っており、寄せると 750〜767px の見え方が移行元から離れる。
 * `screen and` は外した（テーマの書き方にそろえる。`main.css` の 183 本の携帯幅の節も
 * `@media (max-width: 749px)` の形である）。
 *
 * 🚨 **`#06c755` は LINE の色なのでトークン化せず直書きにする**（前の写しと同じ扱い）.
 */
.line-contact {
	width: 100%;
	margin: 0 auto;
}
.line-contact *,
.line-contact *::before,
.line-contact *::after {
	box-sizing: border-box;
}
.line-contact img {
	display: block;
	max-width: none;
}
/* ========================================
	PC
======================================== */
.line-contact__pc {
	position: relative;
	width: 100%;
	max-width: 1000px;
	height: 384px;
	margin: 100px auto 0;
	padding: 0;
	overflow: visible;
	background: rgba(6, 199, 85, 0.05);
	border-radius: 16px;
}
.line-contact-pc__header {
	position: absolute;
	top: -16px;
	left: 248px;
	z-index: 3;
	width: 465px;
	height: 108px;
}
.line-contact-pc__merits {
	position: absolute;
	top: 92px;
	left: 68px;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	width: 615px;
}
.line-contact-pc__merit {
	display: flex;
	align-items: flex-start;
	margin: 0;
	color: #444;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 500;
	text-align: left;
}
.line-contact-pc__merit:nth-child(1) { width: 205px; }
.line-contact-pc__merit:nth-child(2) { width: 190px; }
.line-contact-pc__merit:nth-child(3) { width: 220px; }
.line-contact-pc__check {
	flex-shrink: 0;
	margin-right: 8px;
	color: #06c755;
	font-weight: 700;
}
.line-contact-pc__woman {
	position: absolute;
	top: 55px;
	right: 39px;
	z-index: 3;
	width: 234px;
	height: auto;
}
.line-contact-pc__cta {
	position: absolute;
	top: 150px;
	left: 243px;
	z-index: 5;
	width: 494px;
}
/* 移行元の <img> は寸法の属性を持たず、max-height だけで 338×68 を 169×34 に縮める。
   dev は pa_front_image() が width="338" を付けるので、width: auto で比を保たせる（Bug #10092）. */
.line-contact-pc__step-text img {
	width: auto;
	margin: 0 auto;
	text-align: center;
	max-height: 34px;
}
.line-contact-pc__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 494px;
	height: 80px;
	border-radius: 40px;
	background: #06c755;
	color: #fff;
	text-decoration: none;
	font-size: 22px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.06em;
	transition: opacity 0.2s ease;
}
.line-contact-pc__button:hover { opacity: 0.85; }
.line-contact-pc__button-arrow {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
}
.line-contact-pc__button-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 47%;
	width: 10px;
	height: 10px;
	border-top: 3px solid #06c755;
	border-right: 3px solid #06c755;
	transform: translate(-60%, -50%) rotate(45deg);
}
.line-contact-pc__steps {
	position: absolute;
	left: 40px;
	bottom: 22px;
	z-index: 6;
	width: 920px;
}

/* ========================================
	SP
======================================== */
.line-contact__sp { display: none; }

@media (max-width: 767px) {
	.line-contact__pc { display: none; }
	.line-contact__sp {
		position: relative;
		display: block;
		width: 100%;
		margin: 70px auto 0;
		overflow: visible;
		background: rgba(6, 199, 85, 0.05);
		border-radius: 16px;
		padding-bottom: 15px;
	}
	.line-contact-sp__header {
		position: absolute;
		top: 35px;
		left: 50%;
		width: 281px;
		height: 64px;
		transform: translateX(-50%);
	}
	.line-contact-sp__badge {
		position: absolute;
		top: -35px;
		right: 0;
		z-index: 5;
		width: 70px;
		height: 70px;
	}
	.line-contact-sp__main {
		margin:0 auto 10px;
		padding-top: 29%;
		width:90.934%;
		height: auto;
	}
	.line-contact-sp__cta {
		margin: 18px auto 0;
		width: 90.934%;
	}
	.line-contact-sp__step-text img {
		margin: 0 auto;
		text-align: center;
		width: 100%;
	}
	.line-contact-sp__button {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 68px;
		padding: 0 45px 0 15px;
		border-radius: 34px;
		background: #06c755;
		color: #fff;
		text-align: center;
		text-decoration: none;
		font-size: 16px;
		line-height: 1.4;
		font-weight: 600;
		letter-spacing: 0.05em;
		white-space: nowrap;
	}
	.line-contact-sp__button-arrow {
		position: absolute;
		top: 50%;
		right: 15px;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		background: #fff;
		transform: translateY(-50%);
	}
	.line-contact-sp__button-arrow::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 47%;
		width: 8px;
		height: 8px;
		border-top: 2px solid #06c755;
		border-right: 2px solid #06c755;
		transform: translate(-60%, -50%) rotate(45deg);
	}
	.line-contact-sp__steps {
		margin: 0 auto;
		width: 90.934%;
		height: auto;
	}
}

@media (min-width: 750px) {
	/* 申し込み導線の帯の見出し（.front-cta__heading）の 25.2px は、ここにも
	   同じ指定があったが Issue #1706 で消した。見出しの様式そのものを移行元へ
	   戻す Issue #1624 の指定（`.front-cta__heading` の定義のすぐ下、同じ
	   750px 以上の媒体条件）が同じ値を持ち、そちらは上下の外余白の打ち消しも
	   含めて完全なためである。Issue #1629 の C1-G15 が残していた「二重に効いて
	   いないか確かめること」という申し送りへの回答にあたる. */

	.front-cta__topics {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}

	/* 移行元 legacy/www.p-a.jp/public/assets/css/style.css の
	   @media (min-width: 750px) にある
	   .cta__topic--item { width: 320px; border: 2px solid #F5F3ED } を写す。
	   枠は地と同じ色なので線としては見えないが、**絵の左側に地の色の縁を作る**
	   はたらきを持つ。この枠が無いと、絵の中の白がそのまま札の左端に接するため、
	   絵だけが札の外に貼られたように見える（Issue #2605 の見た目の差の正体）。
	   box-sizing は移行元もこのテーマも border-box なので、外形は 320px のまま
	   中身が 316px に縮み、絵の左端が 2px 内側へ入る。高さは 85px から 89px に
	   なる（絵の 85px ＋ 上下の枠 2px ずつ）。
	   枠は移行元でも 750px 以上にしか無い（749px 以下は指定を持たない）ため、
	   この媒体条件の中に置く. */
	.front-cta__topic {
		width: 320px;
		border: 2px solid #f5f3ed;
	}
}

/* ==============================================================
 * 7. コースとプラン
 * ============================================================== */

.front-plan {
	padding: var(--pa-space-md) var(--pa-inner-gutter);
	background-color: var(--pa-color-surface-muted);
}

/* 区画の左右の内余白を打ち消す（Bug #2700）。
 *
 * 🚨 **ここは「移行元の値へ比例させる」ではなく「打ち消す」のが正解である。**
 * 移行元 `.plan` は 749px 以下で `padding: 4rem 0`、750px 以上で `padding: 12rem 0` と、
 * **どちらの帯でも左右の内余白を持たない**。選び方の区画（1.5rem を持つ）とは向きが違う。
 *
 * テーマは共通の 15px を当てていたため、区画の中の白い面が**左右あわせて 30px ぶん
 * 狭く**なっていた（375px で 345 対 375px・749px で 719 対 749px。2026-09-01 実測）。
 * 750px 以上は下の媒体条件が既に 0 へ戻していたので、749px 以下だけが残っていた. */
@media (max-width: 749px) {
	.front-plan {
		padding-inline: 0;
	}
}

/* 750px 以上では区画の左右の内余白を外す（Bug #2661）。
 *
 * 移行元 `section.plan` は左右の内余白を持たない（実測 `120px 0px`）。内側の白い面が
 * `width: 90%` で自分の余白を作るためである。共通の左右の内余白
 * （`--pa-inner-gutter` = 15px）を残すと、90% の基準が 15px ずつ狭まり、白い面が
 * 移行元より細くなる（幅 1024px で 894.6px 対 移行元 921.59px）。
 *
 * 749px 以下は外さない。あの帯は札を画面の端まで見せる作りで、Bug #2640 が
 * `.front-plan__panels-viewport` の負の外余白でこの内余白を打ち消す形に組んである.
 *
 * 上下の内余白（`--pa-space-md` = 60px）はここでは触らない。移行元は 120px で
 * 差があるが、区画の間隔は別の観点として扱う. */
@media (min-width: 750px) {
	.front-plan {
		padding-left: 0;
		padding-right: 0;
	}
}

.front-plan__inner {
	max-width: var(--pa-inner-md);
	margin: 0 auto;
}

/* 白い角丸の面。移行元の `.plan__body` に当たる（Bug #2661）。
 *
 * 移行元はこの面を区画の中に置き、上に「つまみ・送り・ドット・注記」を乗せる。
 * 見出しの塊（移行元 `.sec__head`）はこの面の外で、区画の幅いっぱいに広がる。
 * テンプレート（template-parts/front/plans.php）も同じ入れ子にしてある。
 *
 * 749px 以下は地・角丸・内余白を持たない。移行元もこの帯では `.plan__body` が
 * 透明・全幅・内余白なしで、うしろの本文の器（`.front-page` の #f6f6f6）が
 * 透ける（Bug #2650 で確認）。よってここでは何も指定せず、下のメディアクエリ
 * だけが持つ. */

/* 実測（2026-09-01・生きている移行元 `https://www.p-a.jp/` ・7 つの幅）:
 *
 *   幅  375px  透明 / x=0    幅 375     / 角丸 0px  / 内余白 0px
 *   幅  750px  白   / x=37.5 幅 675     / 角丸 40px / 内余白 50px
 *   幅  900px  白   / x=45   幅 810     / 角丸 40px / 内余白 50px
 *   幅 1024px  白   / x=51.2 幅 921.59  / 角丸 40px / 内余白 50px
 *   幅 1200px  白   / x=60   幅 1080    / 角丸 40px / 内余白 50px
 *   幅 1440px  白   / x=120  幅 1200    / 角丸 40px / 内余白 50px
 *   幅 1600px  白   / x=200  幅 1200    / 角丸 40px / 内余白 50px
 *
 * 750〜1333px は画面幅の 90%、それより広いところは 1200px で止まる。
 * つまり `width: 90%` と `max-width: 1200px` の組み合わせである（実測の 7 点すべてで
 * 一致。1024px の 921.59px は 1024 × 0.9 = 921.6）。
 *
 * 中身（つまみ・送り・注記）は内余白の内側に入るので、1440px では 1200 − 100 =
 * 1100px になる。移行元の `.plan__thum` と `.plan__main` の実測も 1100px である. */
@media (min-width: 750px) {
	.front-plan__panel {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		padding: 50px;
		border-radius: 40px;
		background-color: var(--pa-color-bg);
	}

	/* 白い面の内余白（50px）だけを、つまみまでの間隔にする。
	 *
	 * `.front-plan__selector` は下で `margin-top: var(--pa-space-sm)`（40px）を
	 * 持つ。白い面が無かったころは、この上外余白が直前の `.pa-section-head` の
	 * 下外余白（60px）と相殺され、間隔は 60px の 1 つだけだった。白い面を足した
	 * ことで両者は別の親に分かれ、内余白を持つ親をまたぐ外余白は相殺しない。
	 * 打ち消さないと 50 + 40 = 90px になり、移行元より 40px 下へずれる。
	 *
	 * 実測（2026-09-01・生きている移行元 `https://www.p-a.jp/`・750 / 900 /
	 * 1024 / 1200 / 1440 / 1600px の 6 点）: 白い面（`.plan__body`）の上端から
	 * つまみ（`.plan__thum`）の上端までは **6 点すべてで 50px** である
	 * （`.plan__thum` の上外余白は 0px で、内余白 50px がそのまま間隔になる）。
	 * 見出しの塊から白い面までの 60px は移行元と一致しているので触らない.
	 *
	 * 749px 以下は白い面が内余白を持たず、相殺も従来どおり働くため対象外. */
	.front-plan__panel > .front-plan__selector {
		margin-top: 0;
	}
}

.front-plan__note {
	margin: 8px 0 0;
	/* 移行元 .plan__list__note の実測は 750px 以上で 13px（flat）。旧版は
	 * 本文層が無かったため body の 15px を 0.85em で近づける応急策だったが、
	 * Issue #2172 で .front-page に 14px の本文層を足したことで
	 * 14 * 0.85 = 11.9px まで縮み、移行元の 13px からかえって離れてしまう
	 * ため、実測値をそのまま書く。なお移行元は 749px 以下で画面幅に応じて
	 * 縮む書き方（11.45px @375px）をしており、この幅だけは本 PR の対象外
	 * （別の型の残差として残る。Issue #2172 の対象はあくまで本文層の欠落）。 */
	font-size: 13px;
	text-align: center;
}

.front-plan__selector {
	/* 点（現在位置の丸）を絶対配置で置くための土台。移行元も同じ位置の器
	 * （`.plan__main`）に `position: relative` を持たせている. */
	position: relative;
	margin-top: var(--pa-space-sm);
	/* コースの札から注記までの空き。移行元 `.plan__main { margin-bottom: 5rem
	 * !important }`（帯の外にあるので両方の幅に効く。750px 以上は 1rem = 10px
	 * なので 50px）。dev はこの空きを持たず、注記の上外余白 15px だけだったため
	 * 35px 足りなかった（幅 1440px の実測）。注記の上外余白とは隣どうしなので
	 * 相殺し、大きいほうのこの値が効く. */
	margin-bottom: 50px;
}

/* コースのつまみ 3 枚。移行元の .plan__thum__item。
 *
 * Issue #2057 のユーザー裁定により、3 枚が同じ大きさで並ぶタブの一覧性ではなく、
 * 移行元と同じ「選んだ 1 枚を中央にフル表示し、両隣を縮小して覗かせる」横送りの
 * 一覧性に戻す。つまみの列自体（.pa-tabs__list = 下の track）を JavaScript の
 * translateX で動かし、外側の .front-plan__thumbs-viewport で左右だけをクリップ
 * する。詳細カード側の .front-plan__panels-viewport（下の「コースの札」節）も
 * 同じクリップ・中央寄せの器なので、ここでまとめて定義する。
 *
 * 縦方向は素直に overflow-y: visible とはできない。CSS の仕様上、overflow-x に
 * visible 以外（ここでは hidden）を指定すると、overflow-y の算出値は visible
 * ではなく自動的に auto になる（PR #2080 の Codex レビューで指摘。実測でも
 * getComputedStyle().overflowY が "auto" になることを確認済み）。auto は
 * 「器の縦幅からはみ出た分だけ」隠すため、選択中のつまみから下へ 17px 伸びる
 * 吹き出しの三角（::after）が、器の縦幅ぴったりで余白が無いと隠れてしまう。
 * .front-plan__thumbs-viewport にだけ padding-bottom で三角の分の余白を
 * 確保し、auto の切り取り線を三角の外側まで押し下げる（詳細カード側の
 * バッジ ::before は上方向に伸びるが、こちらは margin-top の非相殺（後述）で
 * 既に十分な余白があるため対応不要、実測済み）。
 */
.front-plan__thumbs-viewport,
.front-plan__panels-viewport {
	overflow-x: hidden;
	overflow-y: visible;
}

/* 750px 以上は、切り取りを**白い角丸の面**へ移す（Bug #4280）。
 *
 * 移行元 <https://www.p-a.jp/> は、切り取りを白い面（`.plan__body`）が持ち、
 * 内側の送り枠（`.slick-list`）は切らない（実測: `.plan__body` の算出値が
 * `overflow: clip` / `overflow-clip-margin: 0px`、`.slick-list` と `.plan__thum`
 * と `.plan__main` は 3 つとも `visible`）。
 *
 * 写しは逆で、白い面が `visible`・内側の送り枠が `hidden` だった。白い面は左右に
 * 50px の内余白を持つため、**切る位置が左右それぞれ 50px 内側へ寄り、隣の札の
 * 覗く量がその分だけ少なくなっていた**（ユーザーの目視の指摘・2026-09-07）。
 *
 * 実測（幅 1440px・隣の札の見える幅）: 左隣 移行元 118.43 対 写し 68.42 /
 * 右隣 移行元 117.43 対 写し 67.43。幅 1280px: 左隣 移行元 94.43 対 写し 44.42。
 * タブの側も同じ器を共有するので同じだけ狭かった（移行元 298.5 対 写し 248.5）。
 *
 * 🚨 **`hidden` ではなく `clip` を使う。**CSS の仕様上、`overflow-x: hidden` を
 * 書くと `overflow-y` の算出値が `visible` ではなく `auto` になる（PR #2080 の
 * 指摘・実測済み）。`auto` は器の縦幅からはみ出た分を隠すため、選択中のタブから
 * 下へ 34px 伸びる吹き出しの三角（`::after`）が切られうる。`clip` は片方の軸だけを
 * 切れるので、縦は `visible` のまま保てる。**移行元も `clip` を使っている。**
 *
 * 🚨 **この帯は素の規則（上の `.front-plan__thumbs-viewport` の宣言）より後ろに
 * 置く。**`@media` は詳細度を足さないので、前に置くと同じ詳細度で後ろの素の規則が
 * 勝ち、直しが黙って効かない（`padding-bottom: 55px` の帯と同じ理由）。
 *
 * 🚨 **749px 以下は触らない。**あの帯は器と白い面が**同じ箱**なので、どちらで
 * 切っても結果が変わらない（実測・幅 375px: 器・白い面・区画がすべて 0〜375px。
 * 白い面はあの帯では透明・全幅・内余白なしである）。加えて、あの帯は札の右上へ
 * 25px 張り出す丸い印（人気No.1！）が切られないことを CSS の寸法の回帰テスト
 * （`spec-plan-card-fallback-sp.json`）が見張っている。動かす利点が無い。
 *
 * （Bug #2640 が入れた「器の負の左右の外余白」は Bug #2700 で既に外れている。
 * 打ち消す相手だった `.front-plan` の左右の内余白が 0 になったためである。
 * この節の上の注釈にその経緯がある。）
 *
 * 縦の軸も `clip` にしてよいことは実測で確かめた: 白い面から縦にはみ出す子孫は
 * 幅 1440px と 750px の両方で **0 件**である（隠れている要素は 0 の箱を返すので
 * 除いて数えた）. */
@media (min-width: 750px) {
	.front-plan__panel {
		overflow: clip;
	}

	.front-plan__thumbs-viewport,
	.front-plan__panels-viewport {
		overflow: visible;
		/* 🚨 `display: flow-root` を必ず添える。**外すと札の帯が 55px 下へ落ちる。**
		 *
		 * 直す前の `overflow: hidden` は器を「独立した組みの土台」にしていた
		 * （CSS の言葉では block formatting context）。土台になった器は、中身の
		 * 上外余白を外へ通さない。札の並び（`.front-plan__panels`）は上外余白
		 * 55px を持つので、土台が無くなるとその余白が器の外へ抜け出し、器そのものを
		 * 55px 下へ押す（つまみの並びから札の帯までの空きが 55 → 110px になる。
		 * `spec-front-plan-thumbs-gap-1440.json` が実際にこれを捕まえた）。
		 *
		 * `flow-root` は「切らずに土台だけを作る」指定なので、空きを 55px に
		 * 保ったまま、隣のカードを白い面の端まで見せられる。
		 * **`overflow: hidden` へ戻して土台を作り直してはいけない**（それでは
		 * 切る位置が 50px 内側へ戻り、この Bug が再発する）. */
		display: flow-root;
	}
}

.front-page .front-plan__selector.is-enhanced .front-plan__thumbs-viewport,
.front-page .front-plan__selector.is-enhanced .front-plan__panels-viewport {
	max-width: 1200px;
	margin: 0 auto;
}

/* この内余白は 2 つの役目を兼ねる（Bug #4078）。
 *
 * ①上の説明にある三角（つまみの下へ 17px 伸びる ::after）の切り取り避け。
 * ②**つまみの並びと札の帯のあいだの空き**。移行元は同じ空きを「つまみの並び
 *   そのものの下外余白」で持つ（`style.css` 2520〜2529 行）。
 *
 *     @media screen and (min-width: 750px) { .plan__thum { margin-bottom: 5.5rem } }
 *     @media screen and (max-width: 749px) { .plan__thum { margin-bottom: 2.5rem } }
 *
 * 直す前は幅によらず 20px の直値だったので、パソコン幅で 35px 狭かった。
 *
 * 実測（移行元 = 本番 https://www.p-a.jp/ を 2026-09-06 21:50 JST に幅ごとに
 * 1 回ずつ読み込み、「つまみの並び `.plan__thum` の下端」から「札の帯
 * `.plan__main` の上端」まで）: 1440px = 55 / 750px = 55 / 749px = 47.64 /
 * 375px = 23.84px。**移行元は 749px と 750px のあいだで 47.64 → 55px と飛ぶ**
 * ので、写しも同じところで同じだけ飛ばす。
 *
 * 749px 以下は移行元の 1rem が画面の幅で決まる（`html { font-size:
 * 2.5445292621vw }`）ため、直値ではなく `--pa-sp-rem` で比例させる
 * （裁定 208・台帳に記載済み）。2.5rem は幅 320px でも 20.36px あり、
 * 三角の 17px より広いので①の役目も満たす。
 *
 * 🚨 帯は素の規則より**後ろ**に置く（`@media` は詳細度を足さないため、
 * 前に置くと同じ詳細度で後ろの素の規則が勝ち、直しが黙って効かない）. */
.front-page .front-plan__selector.is-enhanced .front-plan__thumbs-viewport {
	padding-bottom: 55px;
}

@media (max-width: 749px) {
	.front-page .front-plan__selector.is-enhanced .front-plan__thumbs-viewport {
		padding-bottom: calc(2.5 * var(--pa-sp-rem));
	}
}

/* 携帯幅では、札の送りの器の切り取り線を画面の端まで広げる。
 *
 * 749px 以下は丸い印（人気No.1！）を札の外の右上へ 25px 張り出させる（移行元
 * .plan__item__img の right: -2.5rem）。この器は overflow-x: hidden を持つので、
 * 器が区画の左右の余白（--pa-inner-gutter）の内側にあると、印の右端が切られる
 * （実測: 幅 375px で器は 15〜360px、印の右端は 370px で 10px 欠けた）。
 *
 * 移行元は切り取りを区画（section.plan）と本文（main.contents）が持ち、どちらも
 * 画面の幅いっぱいである。そのため移行元では印が切られない（実測: 印の右端 361.2px
 * に対し切り取り線は 375px）。同じ構えにするため、左右の外余白を余白のぶんだけ
 * 負にして器を画面の端まで広げる。
 *
 * 札の位置は動かない。送りの中央寄せは器の内幅の半分から求めるため、器が広がると
 * 札の左端も同じだけ右へ寄り、画面上の位置は変わらない（実測: 前後とも x = 27.5px）。
 *
 * 🔴 この指定を .is-enhanced（front-page.js が付ける印）で絞ってはいけない。
 * JavaScript が無効、または初期化に失敗した携帯表示では印が付かず、器が
 * 左右 15px の内側のままになるため、丸い印がまた切られる（実測: 幅 375px で
 * 器は 15〜360px、印の右端は 382px で 22px 欠けた。PR #2640 の外部レビュー指摘）。
 *
 * 選択子に .pa-tabs を足しているのは、詳細度を合わせるためである。強化された
 * 状態の器には .front-page .front-plan__selector.is-enhanced .front-plan__panels-viewport
 * （クラス 4 つ）が margin: 0 auto を当てている。.is-enhanced を外すとクラス 3 つに
 * なって負けるので、器が必ず持つ .pa-tabs を足してクラス 4 つにそろえ、後ろに
 * 置くことで勝たせている（テンプレートは class="front-plan__selector pa-tabs"）。
 *
 * 🔴 **2026-09-02（Bug #2700）に、この負の外余白そのものを外した。**
 * 打ち消す相手だった `.front-plan` の左右の内余白 15px を、移行元にそろえて
 * 0 にしたためである（移行元 `.plan` は 749px 以下も 750px 以上も `padding` の
 * 左右が 0）。**親が余白を持たなくなったので、負の外余白は「打ち消し」ではなく
 * ただの張り出しになる**（実測: 幅 375px で器が x = −15px・幅 405px になり、
 * 画面から左右 15px ずつはみ出した）。
 *
 * **狙い（器を画面の端まで広げる）は、親の内余白が 0 になったことで自動的に
 * 満たされる。**器は x = 0・幅 375px で画面いっぱいになり、丸い印も切られない。
 * 上の段落が言う「JavaScript が効いていない携帯表示でも印が切られないこと」は、
 * `tests-retired/pa-cms-css-geometry/spec-plan-card-fallback-sp.json` が引き続き見張る. */

.front-page .front-plan__selector.is-enhanced .pa-tabs__list {
	/* position が無いと、初回だけ transform 未適用のため offsetParent が
	 * このトラックではなく body まで外れ、front-page.js の中央寄せ計算が
	 * ページ全体の余白分だけズレる（transform 適用後の 2 回目以降は自己修復
	 * するが、初回表示だけ中央からズレて見える。PR #2080 の外部レビューで
	 * 指摘・実測で再現を確認済み）. */
	position: relative;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
	transition: transform 0.5s;
}

/* 🚨 **携帯幅では、つまみの高さを 1 枚ずつ中身から決めて縦中央に置く**
 * （[Bug #4795](https://github.com/mationinc/wp-platform/issues/4795)）。
 *
 * 移行元の横送りの列（`.slick-track`）は**全幅で `align-items: center`** で、
 * 札の高さは Slick が 1 枚ずつ中身の高さで決める。上の素の宣言 `stretch` だと、
 * dev は 3 枚をいちばん背の高い札の高さまで伸ばしてしまう。
 *
 * 実測（配信中の移行元と dev を同じ道具で・札そのものの高さ・2026-09-08）:
 *
 * | 幅 | 赤 コンシェルジュ | 青 オンライン | 黄 コミットメント |
 * |---:|---|---|---|
 * | 749px | 169.63 / 直す前 203.93 | 161.15 / 193.74 | 193.74 / 193.74 |
 * | 375px |  84.91 / 直す前 102.08 |  80.66 /  96.98 |  96.98 /  96.98 |
 * | 320px |  72.41 / 直す前  87.04 |  68.79 /  82.70 |  82.70 /  82.70 |
 *
 * 🚨 **パソコン幅（750px 以上）は素の `stretch` のままでよい。**移行元も dev も
 * 札に高さの下限 152px を持つので（`min-height: 15.2rem`・Bug #4558）、3 枚が
 * 同じ高さになり `center` と `stretch` で描かれ方が変わらない。**素の宣言を
 * 触らないぶん、パソコン幅を壊す余地が無い。**
 *
 * 🚨 **この帯は素の宣言より後ろに置く。**`@media` は詳細度を足さないので、
 * 前に置くと同じ詳細度で後ろの素の宣言が勝ち、直しが黙って効かない。
 *
 * 🚨 **当たり先に `.front-plan__selector` を残す。**`.pa-tabs__list` は店舗一覧
 * （`.front-store__tabs`）でも使う共通部品なので、絞らないとそちらまで動く. */
@media (max-width: 749px) {
	.front-page .front-plan__selector.is-enhanced .pa-tabs__list {
		align-items: center;
	}
}

.front-page .front-plan__thumb {
	--pa-plan-color: var(--pa-palette-red);

	position: relative;
	flex: 0 0 260px;
	padding: 20px 15px;
	border-radius: 15px;
	background-color: var(--pa-plan-color);
	color: var(--pa-palette-white);
	opacity: 0.3;
	transform: scale(0.95);
	transition: opacity 0.3s, transform 0.3s;
	cursor: pointer;
}

/* 🚨 **携帯幅の札は、移行元では画面の幅に比例する**（Bug #4106・裁定 208）。
 *
 * 移行元は 749px 以下で `html { font-size: 2.5445292621vw }` を当てるので、
 * `rem` で書いた値がすべて画面の幅に比例する。写しは**幅 375px のときの直値**
 * （札 260px・内余白 20px 15px・角丸 15px）を全幅に置いていたため、
 * **375px では近く、749px で最大にずれていた**。
 *
 * 実測（移行元 = 本番 https://www.p-a.jp/ を 2026-09-07 00:3x JST に幅ごとに
 * 1 回ずつ読み込み・選んでいる 1 枚）:
 *
 * | 幅 | 札の幅（移行元 / 直す前） | 内余白（移行元） | 角丸（移行元） |
 * |---:|---|---|---|
 * | 375px | 248.08 / 260 | 19.08 62.02 14.31 19.08 | 14.31 |
 * | 749px | **495.52 / 260** | 38.12 123.88 28.59 38.12 | 28.59 |
 *
 * 移行元の指定は `.plan__thum__item { width: 26rem; margin: 0 1rem }` と
 * `.plan__thum__item__in { padding: 2rem 6.5rem 1.5rem 2rem; border-radius: 1.5rem }`
 * である（右の 6.5rem は人物の絵を避ける空き。750px 以上の 100px と同じ役目）。
 *
 * 🚨 **この帯は素の規則より後ろに置く。**`@media` は詳細度を足さないので、
 * 前に置くと同じ詳細度で後ろの素の規則が勝ち、直しが黙って効かない. */
@media (max-width: 749px) {
	.front-page .front-plan__thumb {
		flex: 0 0 calc(26 * var(--pa-sp-rem));
		padding: calc(2 * var(--pa-sp-rem)) calc(6.5 * var(--pa-sp-rem))
			calc(1.5 * var(--pa-sp-rem)) calc(2 * var(--pa-sp-rem));
		border-radius: calc(1.5 * var(--pa-sp-rem));
	}
}

/* 移行元はコースごとに色を変えていた（-red / -yellow / -blue） */
.front-page .front-plan__thumb--yellow {
	--pa-plan-color: var(--pa-front-brown);
}

/* 移行元 style.css の --sub-color は #009bd3 である。かつて読み込まれていない
   public/assets/css/top.css を根拠に #58d2d6 としていたが、生きている移行元で
   rgb(0, 155, 211) を実測して差し戻した（Issue #2553）. */
.front-page .front-plan__thumb--blue {
	--pa-plan-color: var(--pa-palette-blue);
}

.front-page .front-plan__thumb[aria-selected="true"] {
	opacity: 1;
	transform: scale(1);
}

/* 🚨 **指を乗せたときの変化が写されていなかった**（Task #3239）。移行元は
 * `@media screen and (min-width: 750px) { .plan__thum__item:hover { transform: scale(1);
 * opacity: 0.6 } }` を持ち、選んでいない札に指を乗せると**濃さ 0.6・倍率 100%**へ
 * 変わる（離すと 0.3・95% に戻る）。料金の面も同じ形（`.plan__item:hover`）である。
 *
 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 05:4x JST に取得・幅 1440px・実際の
 * マウスを動かし、同じ値が 3 回続くまで読んだ）:
 * 移行元 = 乗せる前 濃さ 0.3・95%・437 × 144.4px → 乗せたとき 濃さ 0.6・100%・
 * 460 × 152px → 離すと元へ戻る。写しは 3 つの状態すべて 0.3・95% で**変化が無かった**。
 *
 * 休んでいるときの姿は既に一致しているので、足すのは乗せたときの規則だけである。
 * 移行元は 750px 以上にしか持たないので、帯で囲う（指で触る端末でも `:hover` は
 * 付くため、囲わないと携帯幅で移行元に無い変化が出る）. */
@media (min-width: 750px) {
	.front-page .front-plan__thumb:not([aria-selected="true"]):hover {
		opacity: 0.6;
		transform: scale(1);
	}

	.front-page .front-plan__selector.is-enhanced .front-plan__item:not(.is-current):hover {
		opacity: 0.6;
		transform: scale(1);
	}
}

/* 選んでいるつまみから下の札へ向かう三角。移行元の .plan__thum__item__in::after
 *
 * 🚨 **三角の大きさは幅の帯で変わる**（Bug #4106）。移行元は 750px 以上で
 * 3.4rem（= 34px）、749px 以下で 1.7rem（この帯の 1rem は画面の幅に比例）である。
 * 左右の透明な辺も同じく 1.5rem（= 15px）と 0.8rem である。
 * **写しはどの幅も 17px / 8px の直値**だったため、750px 以上で半分の高さになり、
 * 749px では移行元 32px に対し 17px しか無かった。
 *
 * 実測（移行元 = 本番 https://www.p-a.jp/ を 2026-09-07 00:3x JST に幅ごとに
 * 1 回ずつ）: 高さは 375px で 16px・749px で 32px・750px と 1440px で 34px。
 *
 * 素の規則を 750px 以上の値にし、749px 以下は下の帯で比例させる. */
.front-page .front-plan__thumb[aria-selected="true"]::after {
	content: "";
	position: absolute;
	bottom: -34px;
	left: 50%;
	border-top: 34px solid var(--pa-plan-color);
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
	transform: translateX(-50%);
}

/* 🚨 この帯は上の素の規則より後ろに置く（`@media` は詳細度を足さない）. */
@media (max-width: 749px) {
	.front-page .front-plan__thumb[aria-selected="true"]::after {
		bottom: calc(-1.7 * var(--pa-sp-rem));
		border-top-width: calc(1.7 * var(--pa-sp-rem));
		border-right-width: calc(0.8 * var(--pa-sp-rem));
		border-left-width: calc(0.8 * var(--pa-sp-rem));
	}
}

.front-plan__thumb-fits {
	display: block;
}

.front-plan__thumb-fit {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
}

.front-plan__thumb-fit + .front-plan__thumb-fit {
	margin-top: 15px;
}

/* 🚨 **人物の絵を避ける空きは、行ではなく札そのものが持つ**（Bug #4106）。
 *
 * 直す前は、最後の行だけ右を空ける形（`padding-right: 70px`・750px 以上は 110px）
 * だった。しかし移行元は**札の内余白の右**で空けており（750px 以上 100px・
 * 749px 以下 6.5rem）、本文はどの行も同じ幅で折り返す。
 *
 * 行の側に持たせると**札の内余白と二重になる**。750px 以上では 24 + 110 = 134px
 * 空いて折り返し幅が 336 → 302px と狭くなり、いちばん長い札だけ本文が 3 行から
 * 4 行に増えていた。つまみの並びは `align-items: stretch` なので、その 1 枚が
 * 全部の札の高さを決め、152px であるべき札が 190px になっていた。
 *
 * 空きは札の内余白（上の `.front-page .front-plan__thumb`）へ移したので、
 * ここの規則は要らない. */

/* 2026-08-13 の料金改定（Bug #2010）で、移行元はつまみの文言を 3 項目の箇条書きから
   1 文の説明に変え、行頭のチェック印を content: none で消した。ここもチェック印を
   持たない. */

.front-plan__thumb-image {
	position: absolute;
	right: 10px;
	bottom: 0;
	width: 60px;
}

.front-plan__thumb-image img,
.front-plan__thumb-image .front-placeholder {
	display: block;
	width: 100%;
}

/* コースの札。JavaScript が動かないときは 3 枚が縦に並ぶ（フォールバック、
   このグリッドのまま）。JavaScript が動くとき（is-enhanced）は、つまみと同じく
   3 枚を横 1 列の track にして、選んだ 1 枚を中央にフル表示・両隣を縮小して
   覗かせる. */
.front-plan__panels {
	display: grid;
	justify-items: center;
	gap: 24px;
	margin-top: 32px;
}

/* .front-plan__panels-viewport のクリップ・中央寄せは上の「コースのつまみ」節で
   .front-plan__thumbs-viewport とまとめて定義済み. */
.front-page .front-plan__selector.is-enhanced .front-plan__panels {
	/* position の理由は上の .pa-tabs__list と同じ（初回の中央寄せズレ対策）. */
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 40px;
	touch-action: pan-y;
	transition: transform 0.5s;
	/* 🚨 **つまみとの空きを二重に作らない**（Bug #4455）。
	 *
	 * 素の規則の上外余白（749px 以下 32px・750px 以上 55px）は、JavaScript が
	 * 動かないとき 3 枚が縦に並ぶ形のための空きである。つまみで送る形のときは、
	 * **つまみの器（`.front-plan__thumbs-viewport`）の下の内余白**が同じ役目を
	 * 果たしており、両方が効くと空きが二重になる。
	 *
	 * 実測（区画の高さ・この打ち消しを入れる前）: 移行元より **幅 320 / 375 /
	 * 749px で +32.00px・幅 1440px で +53.00px** 高かった（1440px の内訳は
	 * 二重の 55px から、つまみの並びが移行元より 2px 低いぶんを引いた +53）。
	 *
	 * つまみの器の内余白は移行元の実測にそろえてある（1440px で 55・375px で
	 * 23.84px 等。上の「コースのつまみ」節を参照）。**空きの持ち主はそちら 1 つに
	 * する**。フォールバックの形は素の規則のまま変えない. */
	margin-top: 0;
}

/* 角丸は 750px 以上で 4rem（= 40px）、749px 以下で 2rem（= 20px）である
   （移行元 .plan__item）。はみ出しの切り取り（overflow）は 750px 以上にしか無い。
   749px 以下は丸い印を札の外へ出すため、全幅で切ると印が消える（下の
   @media (min-width: 750px) を参照）. */
.front-plan__item {
	position: relative;
	width: 100%;
	max-width: 640px;
	padding: 0;
	border: 3px solid var(--pa-palette-red);
	border-radius: 20px;
	background-color: transparent;
}

/* 選んだ 1 枚だけをフル表示・両隣を縮小するのは is-enhanced のときだけ。
   選択中の色付き枠（3px、移行元の .plan__item.-red 等）もここで付ける。
   移行元は中央かどうかに関わらず枠自体は常に付けているが、両隣は縮小・半透明に
   なるため見た目には選択中の 1 枚だけが強調されて見える. */
.front-page .front-plan__selector.is-enhanced .front-plan__item {
	flex: 0 0 320px;
	max-width: none;
	opacity: 0.3;
	transform: scale(0.95);
	transition: opacity 0.3s, transform 0.3s;
}

.front-page .front-plan__selector.is-enhanced .front-plan__item.is-current {
	opacity: 1;
	transform: scale(1);
}

.front-plan__item--yellow {
	border-color: var(--pa-front-brown);
}

.front-page .front-plan__selector.is-enhanced .front-plan__item--yellow {
	border-color: var(--pa-front-brown);
}

.front-plan__item--blue {
	border-color: var(--pa-palette-blue);
}

.front-page .front-plan__selector.is-enhanced .front-plan__item--blue {
	border-color: var(--pa-palette-blue);
}

/* コースの現在地を示すドット 3 個。移行元の #plan-slider 直下の slick-dots。
   押せる要素ではなく、選択中のつまみ・パネルと連動する目印だけを持つ
   （つまみ自体が押す操作を担うため、二重に押せる要素を増やさない）. */
/* 🚨 **点の刻みは幅の帯で変わる**（Task #3239）。
 *
 * 幅 750px 以上: 移行元は Slick の既定の点をそのまま使い、
 * `.slick-dots li { width: 20px; height: 20px; margin: 0 5px }` で 1 個が 30px を占める。
 * 実測（幅 1440px）: 3 個が x=680 / 710 / 740 で刻み 30px。写しは点が 10px・隙間 8px で
 * 刻み 18px だった。点そのものは 10px の丸なので、隙間を 20px にすると刻みが 30px になり、
 * 丸の中心が移行元の点の中心とそろう。
 *
 * 幅 749px 以下: 移行元はこの区画だけ点の見た目を作り直す。
 * `@media screen and (max-width: 749px) { .plan__main .slick-dots li { width: 1rem;
 * height: 1rem; border-radius: 50%; background: #d9d9d9; margin: 0 0.8rem } }` で、
 * **この帯の 1rem は画面幅に比例する**（移行元 `html { font-size: 2.5445292621vw }`）。
 * 刻みは 1rem + 0.8rem × 2 = 2.6rem で、幅 375px なら 24.8px になる。
 * ここを帯で分けずに 20px の隙間を当てると、携帯幅で刻みが 30px になって広がる. */
.front-plan__dots {
	display: none;
	justify-content: center;
	/* 移行元 1rem + 0.8rem × 2 = 2.6rem。点が calc(1 * var(--pa-sp-rem)) なので、
	   隙間は残りの 1.6rem 分にする（--pa-sp-rem はこの帯の 1rem。ファイル冒頭の説明を参照）. */
	gap: calc(1.6 * var(--pa-sp-rem));
	margin-top: 16px;
}

@media (min-width: 750px) {
	.front-plan__dots {
		gap: 20px;
	}
}

.front-page .front-plan__selector.is-enhanced .front-plan__dots {
	display: flex;
}

/* 点を流れの外へ出す（区画の高さを作らせない）。
 *
 * 移行元の点は `position: absolute` なので**区画の高さに 1px も足さない**。
 * dev は流れの中に置いていたため、上外余白 16px と点の高さぶん（幅 1440px で
 * 26px・375px で 25.53px・320px で 24.14px・749px で 35.05px）を高さに足していた。
 *
 * 🚨 **合わせる先は「丸の下端」である。**移行元の点の器は Slick の作りで
 * 行の余りを持つため、器の下端と丸の下端がそろわない。実測（コースの札の帯の
 * 下端を 0 としたときの丸の下端・2026-09-07）:
 *
 *   幅 1440px  **+40.00px**（帯の下端より下）  ← 移行元 `.slick-dots { bottom: -40px }`
 *   幅  749px  **−4.99px**
 *   幅  375px  **−4.99px**
 *   幅  320px  **−5.01px**
 *
 * 携帯幅は移行元 `@media screen and (max-width: 749px) { .plan__main .slick-dots
 * { bottom: 0 } }` で器の下端が帯の下端とそろい、**丸はそこから 5px 上**にある
 * （行の余りが丸の下に 5px 残る。3 つの幅で同じ値なので固定 px である）。
 * 写しの点の器は高さが丸と同じなので、**器の下端を 5px 上げれば丸の位置が合う**。
 *
 * 🚨 **当たり先をコースとプランの点に絞ってある**（`.front-plan__dots`）。
 * 点の器は出会いの機会・選び方でも使うが、それぞれ別の当たり先を持つ. */
.front-page .front-plan__selector.is-enhanced .front-plan__dots {
	position: absolute;
	right: 0;
	bottom: -40px;
	left: 0;
	margin-top: 0;
}

/* 点そのもの。幅 749px 以下は移行元が `width: 1rem; height: 1rem`（画面幅に比例）で
 * ある。750px 以上は移行元が Slick の既定（20px 角の枡の中に 6px の「•」）なので、
 * 写しの 10px の丸をそのまま使い、刻みだけ 30px にそろえる（上の隙間の指定）. */
.front-plan__dot {
	width: calc(1 * var(--pa-sp-rem));
	height: calc(1 * var(--pa-sp-rem));
	border-radius: 50%;
	background-color: var(--pa-color-border);
}

@media (min-width: 750px) {
	.front-plan__dot {
		width: 10px;
		height: 10px;
	}
}

.front-plan__dot.is-current {
	background-color: var(--pa-palette-ink);
}

/* 1 枚の札は、色の面（head）と白い面（foot）を持つ。パネル自身は送りの単位なので、
   新しい器はここに入れず内側に置く。移行元の .plan__item__in / __head / __foot に当たる. */
.front-plan__head {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 30px 20px;
	background-color: var(--pa-palette-red);
	color: var(--pa-palette-white);
	text-align: center;
}

.front-plan__item--yellow .front-plan__head {
	background-color: var(--pa-front-brown);
}

.front-plan__item--blue .front-plan__head {
	background-color: var(--pa-palette-blue);
}

/* 青（オンライン）コースの説明文だけ字間を詰める（Bug #3003）。
 *
 * 🚨 **移行元は青の説明文だけ字間を詰めている。**移行元の原文は
 * `.-blue .plan__item__txt { letter-spacing: -0.02em }` で、ページが読み込む
 * `assets/css/style.css` の「2026/0807/佐久本修正」の塊に在る（`top.css` には無い）。
 * 移行元が 2026-08-07 に後から足した指定で、ページ専用 CSS を写す作業で
 * この 1 行を取りこぼしていた。
 *
 * 🚨 **750px 以上だけに効く**（移行元の上書きも `@media screen and (min-width: 750px)`
 * の中に在る）。実測（配信中の移行元の計算後の値・2026-09-08）:
 *   幅 1440 / 1200 / 1023 / 750px → `-0.32px`（= 16px の -0.02em）
 *   幅  375 /  320px           → `normal`
 *
 * 何が変わるか（青の説明文の高さ・移行元と dev を同じ測り方で）:
 *   幅 1440px  移行元 58（2 行）/ 直す前の dev 86（3 行）→ 器の幅は両側 319px
 *   幅 1200px  同上
 *   幅 1023 / 750px  両側 58（2 行）。器が 414px 幅で、字間が無くても 2 行に収まる
 *   幅  375 /  320px  両側 72 / 62。移行元も字間を当てていないので差が無い
 *
 * 🚨 **折り返しが変わるのは 1200px と 1440px だけである。**それでも移行元と同じ
 * 750px 以上へ当てる（見た目に出ない幅でも指定をそろえる）。
 *
 * 🚨 **色の面は縦中央そろえなので、この 28px の差はコース名と説明を 14px 上へ
 * 寄せていた**（[Bug #3001](https://github.com/mationinc/wp-platform/issues/3001) の直しのあと、青の札だけ残っていた差）。
 *
 * 当たり先の名前に注意する。雛形が出すのは `--blue` である（Issue の本文にある
 * `.front-plan__item--online` は 1 か所も当たらない）. */
@media (min-width: 750px) {
	.front-plan__item--blue .front-plan__lead {
		letter-spacing: -0.02em;
	}
}

/* 白い面。移行元 .plan__item__foot は **地を持たない**（Bug #2650）。
 *
 * 実測（2026-09-01・生きている移行元・白い面から祖先をたどって最初に色を持つ
 * 要素を探した）:
 *
 *   幅  375px  .plan__item__foot 透明 → … → main.contents の rgb(246,246,246)
 *   幅  750px  .plan__item__foot 透明 → … → .plan__body の rgb(255,255,255)
 *   幅 1440px  同上
 *
 * **移行元は幅の帯で「透ける色」が変わる。**749px 以下は本文の器の
 * rgb(246,246,246) が透け、750px 以上は区画の中の白い面（.plan__body。
 * 1440px で 1200 × 847px・角丸 40px・内余白 50px）の白が透ける。
 *
 * テーマには .plan__body に当たる白い面が無い。そのため、この帯だけ描画色を
 * 合わせる目的で下のメディアクエリが白を持つ。**白い面そのものの再現（幅
 * 1200px・角丸 40px・内余白 50px）は本 Issue のスコープ外**で、別に扱う。
 * 749px 以下はここで地を持たないので、移行元と同じく本文の器の色が透ける. */
.front-plan__foot {
	padding: 10px 20px;
}

/* 「人気No.1！」の吹き出し。移行元の .plan__item__img */
.front-plan__badge {
	position: absolute;
	top: -25px;
	right: -25px;
	width: 75px;
	margin: 0;
}

.front-plan__badge img,
.front-plan__badge .front-placeholder {
	display: block;
	width: 100%;
}

/* コース名。移行元 .plan__item__heading と同じく、色の面で白抜きにする。750px 以上は
   3.2rem（= 32px）・字間 -0.12em・下外余白 1.5rem（= 15px）、749px 以下は
   1.8rem・下外余白 0.5rem である. */
.front-plan__name {
	margin: 0 0 5px;
	color: inherit;
	font-size: 18px;
}

@media (min-width: 750px) {
	.front-plan__name {
		/* コース名の上外余白（Bug #3001）。
		 *
		 * 🚨 **移行元のコース名には「素の見出し」の上外余白が付いている。**移行元の
		 * CSS は初期化で `h1〜h6 { margin: 0 }` を当てたあと、あとの規則で素の `h3`
		 * へ `margin-top` を戻しており、コース名を上書きする規則が無いためそのまま
		 * 効く。移行先は `margin: 0 0 5px` で 0 にしていたため、色の面が縦中央そろえ
		 * である分、中身が**上外余白の半分だけ上に寄っていた**（1440px で 39.49px）。
		 *
		 * 移行元の原文（ページが読み込む `assets/css/style.css`）:
		 *   `h3 { margin-top: 2em; font-size: 1.25em }`（帯の外）
		 *   `@media (min-width: 1050px) { h3 { margin-top: 2.5em; font-size: 1.75em } }`
		 *   `@media screen and (max-width: 749px) { .plan__item__heading { margin: 0 0 0.5rem } }`
		 *
		 * 🚨 **境目は 750px ではなく 1050px の 2 段である。**コース名の字は 750px 以上で
		 * 32px に固定されるので、上外余白は 750〜1049px で `2em` = **64px**、1050px 以上で
		 * `2.5em` = **80px** になる。`2.5em` の 1 段だけで書くと 750〜1049px で 16px
		 * 下がりすぎる（実測: 移行元の上外余白は 1440 / 1200px が 80px、1049 / 1023 /
		 * 750px が 64px・2026-09-08）。
		 *
		 * 🚨 **携帯幅は触らない。**移行元は 749px 以下で一括指定
		 * `margin: 0 0 0.5rem` を使い素の `h3` の上外余白を打ち消しており、
		 * **両側とも 0px で既に一致している**（幅 320px の実測はどちらも
		 * `0px 0px 4.07125px`）。
		 *
		 * 🚨 **数値を直に書かず `em` で書く。**移行元と同じ相対値なので、字の大きさを
		 * 変えたときに追従する。
		 *
		 * 🚨 **素の規則は `margin` の一括指定で上を 0 にしている**（すぐ上の
		 * `.front-plan__name`）。細かい指定をこの帯（素の規則より後ろ）に置いて
		 * 上書きする。`@media` は詳細度を足さないので、前に置くと効かない. */
		margin-top: 2em;
		margin-bottom: 15px;
		font-size: 32px;
		letter-spacing: -0.12em;
	}
}

/* コース名の上外余白の 2 段目（Bug #3001）。移行元の
   `@media (min-width: 1050px) { h3 { margin-top: 2.5em } }` に対応する。
   **上の 750px の帯より後ろに置く**（同じ詳細度なので後ろが勝つ）. */
@media (min-width: 1050px) {
	.front-plan__name {
		margin-top: 2.5em;
	}
}

.front-plan__lead {
	margin: 0;
	font-size: 14px;
}

/* コース説明文（移行元 .plan__item__txt）は 750px 以上で 16px 固定。Bug #2172
 * の全数突き合わせで発見（この要素は元々 font-size の指定を欠いており、本文層
 * を足す前は祖先の 15px をそのまま継承していた）。375px 未満は移行元自身が
 * vw ベースで縮む書き方をしており対象外（本 PR の対象はあくまで本文層を
 * 足したことによる退行）. */
@media (min-width: 750px) {
	.front-plan__lead {
		font-size: 16px;
	}
}

/* つまみと同じコース説明の控え。つまみが出ているときは隠して、
   同じ文言が 2 か所に見えないようにする. */
.front-plan__fits {
	margin: 16px 0 0;
	padding-left: 1.2em;
	text-align: left;
}

.front-plan__fits li {
	margin-bottom: 4px;
}

.front-page .front-plan__selector.is-enhanced .front-plan__fits {
	display: none;
}

.front-plan__table {
	width: 100%;
	border-collapse: collapse;
}

.front-plan__table th,
.front-plan__table td {
	padding: 8px;
	text-align: left;
	vertical-align: middle;
}

/* 🚨 **行の罫線は「2 行目以降の上」に引く**（Bug #3002）。移行元は次のとおりで、
 * **いちばん下の行の下には線が無い**。写しは全 8 行の下に引いていたため、
 * 表の下端に移行元に無い線が 1 本増えていた（実測 2026-09-05・幅 1440px:
 * 移行元 7 本・写し 8 本）。
 *
 *   .plan__item__table tr:not(:nth-child(1)) th,
 *   .plan__item__table tr:not(:nth-child(1)) td { border-top: 1px solid #474747 }
 *
 * 色も違った。移行元は本文と同じ濃い灰 `#474747`、写しは共通の枠線の色
 * （`--pa-color-border` = `rgb(217, 217, 217)`）で、線がずっと薄かった. */
.front-plan__table tr:not(:first-child) th,
.front-plan__table tr:not(:first-child) td {
	border-top: 1px solid #474747;
}

/* 🚨 **項目名は細字・値は太字である**（Bug #3002）。移行元は `th` に
 * `font-weight: 400` を当てて `th` の既定（太字）を打ち消し、`td` に
 * `font-weight: 700` を当てている。**写しは両方とも逆だった**（項目名が太字・
 * 値が細字。実測 2026-09-05・幅 1440px）. */
.front-plan__table th {
	font-weight: 400;
	line-height: 1.4;
}

.front-plan__table td {
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

/* 🚨 **金額と人数はコースの色で塗る**（Bug #3002）。移行元は札の色に合わせて
 * 数字を塗り分ける。
 *
 *   .-red    .plan__item__table .lg { color: var(--main-color) }   … #f54851
 *   .-blue   .plan__item__table .lg { color: var(--sub-color) }    … #009bd3
 *   .-yellow .plan__item__table .lg { color: #c88501 }
 *
 * 写しは色の指定を持たず、本文の字の色（`rgb(71, 71, 71)`）をそのまま継いで
 * いた。実測（2026-09-05・幅 1440px）: 移行元は 3 つの札でそれぞれ
 * `rgb(245, 72, 81)` / `rgb(0, 155, 211)` / `rgb(200, 133, 1)`、写しは 3 つとも
 * `rgb(71, 71, 71)`。
 *
 * 🚨 **単位（「名」）はここで塗らない。**移行元の `.md` は色の指定を持たず、
 * 親の `.lg` から受け継ぐ。写しも同じく `.pa-num` の中にあるので、数字を
 * 塗れば単位も一緒に色が付く. */
.front-plan__item .front-plan__table .pa-num {
	color: var(--pa-palette-red);
}

.front-plan__item--yellow .front-plan__table .pa-num {
	color: var(--pa-front-brown);
}

.front-plan__item--blue .front-plan__table .pa-num {
	color: var(--pa-palette-blue);
}

@media (min-width: 750px) {
	/* 移行元 `.plan__item__table th, td { padding: 1rem 0 }`。750px 以上では
	 * 1rem = 10px なので上下 10px・左右 0 になる。テーマは上下左右 8px を敷いて
	 * いたため、料金の行が移行元より 12px 低かった（Issue #2716）。 */
	.front-plan__table th,
	.front-plan__table td {
		padding: 10px 0;
	}

	/* 移行元 `.plan__item__table .lg { font-size: 2.2rem }`（750px 以上で 22px）。
	 * 共通の数字（`.front-page .pa-num`）は `1.3em` の相対値なので、この表の中だけ
	 * 移行元と同じ直値へ置き換える（Issue #2716）。
	 *
	 * 行の高さはここで指定しない。移行元の `.lg` は行送りを持たず初期化の
	 * `* { line-height: 1.5 }` を受け、共通の数字も Issue #2744 で 1.5 に
	 * そろえたので、上書きしなくても移行元と同じ 33px になる. */
	.front-plan__table .pa-num {
		font-size: 22px;
	}

	/* 🚨 **単位（「名」）は 18px である**（Bug #3705）。移行元
	 * `.plan__item__table .md { font-size: 1.8rem }`（750px 以上で 18px）。
	 * 写しはトップ全体で使い回す `.front-page .pa-unit { font-size: 0.6em }` を
	 * 継いでいて 13.2px にしかならず、数字（22px）との釣り合いが移行元と
	 * 違って見えた。倍率にすると移行元は数字の 0.818 倍・写しは 0.6 倍である。
	 *
	 * 🚨 **当たり先は料金表の中の「名」だけに絞る。**`.pa-unit` は割引の「円」
	 * などトップの他の区画でも使い回している（同じ絞り方を PR #3658 でも
	 * している）。詳細度は (0,3,0) で、共通の `.front-page .pa-unit`（(0,2,0)）に
	 * 並び順に頼らず勝つ. */
	.front-page .front-plan__table .pa-unit {
		font-size: 18px;
	}

	/* 🚨 **送りにかかる時間は移行元と同じ 500ms**（Task #3390）。移行元の Slick は
	 * `speed: 500`（生きている設定を読んで確かめた・2026-09-04）で、幅による
	 * 出し分けを持たない。写しは 0.3s で、実測でも 274〜291ms と速かった。
	 * つまみと詳細の 2 本を同じ値にそろえないと、連動が食い違って見える. */
	.front-page .front-plan__selector.is-enhanced .pa-tabs__list {
		gap: 60px;
	}

	/* 🚨 **内余白と影は、生きている移行元の実測に合わせる**（Bug #4106）。
	 *
	 * 移行元の写しの記録版には `.plan__thum__item__in { padding: 3.5rem 2.4rem }`
	 * （= 35px 24px）と書いてあるが、**本番ではこの宣言は効いていない**。本番の
	 * 実測は `30px 100px 30px 24px` である（幅 750px と 1440px の 2 点で同じ値・
	 * 2026-09-07 00:3x JST に取得）。**記録版の宣言をそのまま期待値にしない**
	 * （正本 memory `reference_legacy_css_declaration_may_lose_specificity`）。
	 *
	 * 右の 100px は、札の右下に重なる人物の絵を避けるための空きである。移行元は
	 * これを**札の内余白**で持つので、本文はどの行も同じ幅（460 − 24 − 100 = 336px）
	 * で折り返す。写しは本文の側に `padding-right: 110px` を持たせていたため、
	 * 札の 24px と二重になって右に 134px 空き、**折り返し幅が 302px しか無かった**。
	 *
	 * 🚨 **その 34px の差で、いちばん長い札（コミットメントコース）だけ本文が
	 * 3 行から 4 行に増えていた。**つまみの並びは `align-items: stretch` なので、
	 * その 1 枚が全部の札の高さを決める。結果、札が移行元の 152px に対し 190px に
	 * なっていた（実測 2026-09-07・写しの 5 枚の行数は 3 / 3 / **4** / 3 / 3 行）。
	 *
	 * 影は移行元 `.plan__thum__item__in { box-shadow: 0 0.2rem 0.2rem rgba(0,0,0,.1) }`
	 * で、**750px 以上にしか無い**（749px 以下は実測でも `none`）. */
	.front-page .front-plan__thumb {
		flex-basis: 460px;
		padding: 30px 100px 30px 24px;
		border-radius: 30px;
		box-shadow: 0 2px 2px rgb(0 0 0 / 10%);
		/* つまみの高さの下限（Bug #4558）。
		 *
		 * 🚨 **移行元のつまみの高さは中身から決まっていない。**移行元は
		 * `min-height: 15.2rem`（750px 以上は 1rem = 10px なので **152px**）を持ち、
		 * 中身（上下の内余白 60 ＋ 説明文 90 = 150px）より大きいのでこちらが勝つ。
		 * 写しは `min-height: auto` だったため 150px で、**2px 低かった**。
		 *
		 * 実測（配信中の移行元の計算後の値・2026-09-08）: 幅 750 / 1023 / 1200 /
		 * 1440px のすべてで `min-height: 152px`・つまみの組みの高さ 152px。
		 * **比例値ではなく固定値である。**
		 *
		 * 🚨 **この値の出どころは `top.css` ではない。**移行元のトップが読み込む
		 * 型紙は `assets/css/style.css` の 1 本だけで、その末尾のほうに
		 * `top.css` に無い上書きが在る（写しにも同じものが在る）。
		 *
		 * その上書きは「2026/0807/佐久本修正」という日付入りの注釈で始まる塊で、
		 * 中身は次のとおりである（注釈の記号は入れ子にできないので言葉で書く）。
		 *
		 *     750px 以上の帯で `.plan__thum__item__in` に
		 *       内余白 3rem 10rem 3rem 2.4rem（!important 付き）と min-height 15.2rem
		 *
		 *
		 * すぐ上の注釈が言う「移行元の 152px」の出どころがこれである。
		 * **内余白 `3rem 10rem 3rem 2.4rem` も同じブロックの値で、上の
		 * `padding: 30px 100px 30px 24px` と一致している。**
		 *
		 * 🚨 **携帯幅は触らない。**幅 320 / 375 / 749px の区画の高さは Bug #4455 の
		 * 直しで移行元と残差 0.00 であり、移行元の上書きも 750px 以上だけに効く. */
		min-height: 152px;
	}

	.front-plan__thumb-fit + .front-plan__thumb-fit {
		margin-top: 20px;
	}

	.front-plan__thumb-fit::before {
		width: 29px;
		height: 29px;
	}

	.front-plan__thumb-image {
		right: 35px;
		width: 90px;
	}

	.front-plan__panels {
		margin-top: 55px;
	}

	.front-page .front-plan__selector.is-enhanced .front-plan__panels {
		gap: 50px;
	}

	.front-page .front-plan__selector.is-enhanced .front-plan__item {
		flex-basis: 500px;
	}

	.front-plan__badge {
		top: 10px;
		right: auto;
		left: 10px;
		width: 80px;
	}

	.front-plan__head {
		padding: 40px;
	}

	.front-plan__foot {
		padding: 15px 40px;
		/* 移行元は 750px 以上で、区画の中の白い面（.plan__body）の白が透ける。
		 * テーマにその白い面が無いため、描画色を合わせる目的でここが持つ
		 * （Bug #2650）。白い面そのものの再現は別に扱う. */
		background-color: var(--pa-color-bg);
	}

	/* 角丸を大きくし、色の面が角からはみ出すのを切る。移行元 .plan__item の
	   border-radius: 4rem と overflow: clip に当たる。**この 2 行を 749px 以下へ
	   広げてはいけない。**749px 以下は丸い印を札の外（右上）へ張り出させる作りで、
	   切ると印が消える. */
	.front-plan__item {
		border-radius: 40px;
		overflow: clip;
	}
}

@media (max-width: 749px) {
	/* 札の幅は移行元 .plan__item の width: 32rem と同じ、画面幅に比例する値にする。
	 *
	 * 上の器を画面の端まで広げただけでは足りない。JavaScript が効いていない状態の
	 * 札は width: 100% なので、器を広げると札も 375px まで広がり、丸い印（右へ
	 * 2.5rem 張り出す）が画面の端でまた切られる。 */
	.front-plan__item {
		width: calc(32 * var(--pa-sp-rem));
		border-radius: calc(2 * var(--pa-sp-rem));
	}

	/* 元の強化時の規則もクラス 4 つなので、同じ詳細度で後ろに置き、
	 * flex: 0 0 320px の flex-basis を比例値へ上書きする。 */
	.front-page .front-plan__selector.is-enhanced .front-plan__item {
		flex-basis: calc(32 * var(--pa-sp-rem));
	}

	/* 色の面は札の上端に接するので、札の角丸の内側に収まるよう上の角だけ
	   移行元 .plan__item__head と同じ 1rem を丸める。 */
	.front-plan__head {
		border-top-left-radius: calc(1 * var(--pa-sp-rem));
		border-top-right-radius: calc(1 * var(--pa-sp-rem));
	}

	/* 白い面の下 2 角の角丸は持たせない。移行元の .plan__item__foot は角丸を
	 * 持たない（実測 0px・幅 375px と 1440px の両方）。
	 *
	 * PR #2640 はここに角丸を足していた。理由は「白い面が不透明な白地を持つため、
	 * 丸めないと四角い下角が赤い枠へはみ出す」ことだった（外部レビュー指摘）。
	 * Bug #2650 で 749px 以下の白地を外したので、**その前提ごと消えた。**
	 * 地が無ければ四角い角は見えないため、移行元と同じく角丸を持たない.
	 *
	 * 頭の面（.front-plan__head）の上 2 角の角丸は移行元にもある（.plan__item__head
	 * の border-top-*-radius: 1rem）。あちらは不透明な色地を持つので残す. */

	.front-plan__badge {
		top: calc(-2.5 * var(--pa-sp-rem));
		right: calc(-2.5 * var(--pa-sp-rem));
		width: calc(7.5 * var(--pa-sp-rem));
	}
}

/* 詳細カードの幅は 1024px 以上でだけ移行元の 82.3rem（823px）に合わせる。
   750〜1023px は上の 500px のまま（移行元も同じ 2 段構え）. */
@media (min-width: 1024px) {
	.front-page .front-plan__selector.is-enhanced .front-plan__item {
		flex-basis: 823px;
	}

	.front-plan__item-inner {
		display: flex;
	}

	.front-plan__head {
		width: 43.9%;
		padding: 20px;
	}

	.front-plan__foot {
		width: 56.1%;
	}
}

/* 動きを抑える設定を尊重する。切替そのものは効くが、300ms のスライド/拡縮は
   瞬時に切り替わる（front-page.js の自動送りが reduced-motion を尊重するのと
   同じ方針）. */
@media (prefers-reduced-motion: reduce) {
	.front-page .front-plan__selector.is-enhanced .pa-tabs__list,
	.front-page .front-plan__selector.is-enhanced .front-plan__panels,
	.front-page .front-plan__thumb,
	.front-page .front-plan__selector.is-enhanced .front-plan__item {
		transition: none;
	}
}

/* ==============================================================
 * 8. お得な割引プラン
 * ============================================================== */

.front-discount {
	padding: var(--pa-space-md) var(--pa-inner-gutter);
	background-color: var(--pa-color-bg);
}

.front-discount__inner {
	/* 札の見出し（.front-discount__title）を絶対配置で載せる土台。移行元も同じ位置の
	   器（.otherPlan__main）に position: relative を持たせている. */
	position: relative;
	max-width: var(--pa-inner-ex);
	margin: 0 auto;
	/* 移行元 .otherPlan__main の `border-top:1px solid #000`。区画の上端を横切る
	   黒い線で、その上に「お得な割引プラン」の札が背景色ごと重なって線を切る、
	   という見せ方である。dev はこの線を持っておらず、札だけが宙に浮いていた
	   （Bug #2165 の実測で判明。区画の高さの差 68.64px のうち 1px がこの線）. */
	border-top: 1px solid #000;
}

/* 「お得な割引プラン」の札。移行元 span.otehrPlan__title に当たる
   （otehr は移行元のつづり誤りで、原文のまま引用している）。

   top を負の値にして、区画の上端をまたいで外へはみ出す見え方にする。左右の中央揃えは
   移行元と同じく left: 50% と transform: translateX(-50%) の組み合わせで作る。

   実測（2026-08-08・移行元を Playwright で描画。Issue #1708）:
     パソコン幅 1440px  24px / 太さ 700 / 行の高さ 36px / 内余白 10px / 箱 212×56px / top -28px
     スマートフォン幅 375px  15.27px / 太さ 600 / 行の高さ 22.9px / 内余白 9.54px / 箱 141×42px / top -17.18px
   移行元は大きさを rem で書き、根の文字の大きさが画面幅に追従するため端数が出る。
   ここは同じ区画の他の指定（.front-discount__name 等）にならって px で置く。

   背景の #f3f7f9 は移行元のビルド後 CSS の値そのままである。文字色は移行元が
   rgb(71,71,71) で、共通パレットの黒（--pa-palette-ink）と同じ値になる。

   margin を 0 に落とすのは、h2 の既定の上下の外余白が絶対配置でも効いて top の値を
   ずらすためである。

   なお Issue #1624 は「この見出しは移行元のどこにも無い新設の販促文言である」という
   前提で、いったんこの札を画面から消していた。移行元が span で組んでいるため、
   見出し要素（h1〜h6）を手がかりに探す道具では拾えず、前提が誤っていた（Issue #1708）. */
.front-discount__title {
	position: absolute;
	top: -28px;
	left: 50%;
	margin: 0;
	padding: 10px;
	transform: translateX(-50%);
	color: var(--pa-palette-ink);
	background-color: #f3f7f9;
	font-size: 24px;
	font-weight: 700;
	line-height: 36px;
}

@media (max-width: 749px) {
	.front-discount__title {
		top: -17.18px;
		padding: 9.54px;
		font-size: 15.27px;
		font-weight: 600;
		line-height: 22.9px;
	}
}

.front-discount__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* カード本体。移行元 .otherPlan__item は角丸も下地も持たない。丸く見えるのは
   内側の白い箱の上（.otherPlan__item__content の 4rem）と、写真の下
   （.plan-image の 2em）を丸めているためである。dev はカードの外枠を丸めて
   クリーム色を敷いていたので、丸みの付き方が移行元と違っていた（Bug #2245）。

   flex column は残す。中の器（.front-discount__link）が高さいっぱいに
   広がるための土台であり、移行元の作りとは別の理由で置いている. */
.front-discount__item {
	display: flex;
	flex-direction: column;
	overflow: clip;
}

/* カードの中身をまとめる器。3 枚とも移行元と同じくリンクではない（ユーザー裁定
   2026-09-02・Bug #2063）ので、この要素は div である。.front-discount__item が
   持っていた flex column の並びを、1 階層下のこの要素へそのまま引き継ぐ。
   以前この要素が <a> だったときに置いていた `color: inherit` と
   `text-decoration: none` は、効く相手がいなくなったため外した. */
.front-discount__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* 文字の箱。移行元 .otherPlan__item__content は `padding:2rem`（20px）・
   `background:#fff`・上の角だけ丸める（750px 以上 4rem = 40px、749px 以下
   3rem = 30px）。dev は内余白 24px だけで下地も角丸も持たなかった（Bug #2245）. */
.front-discount__body {
	padding: 20px;
	border-radius: 30px 30px 0 0;
	background-color: var(--pa-palette-white);
}

@media (min-width: 750px) {
	.front-discount__body {
		border-radius: 40px 40px 0 0;
	}
}

/* プラン名。移行元 .otherPlan__title は赤・太さ 600・中央寄せ・行の高さ 1.2 で、
   大きさは 749px 以下が 2rem（幅 375px で 19.1px）、750〜1199px が 1.6rem、
   1200px 以上が 2.2rem である。下外余白は移行元の .otherPlan__item__content h3 が
   打ち消していて 0 になる. */
.front-discount__name {
	margin: 0;
	color: var(--pa-color-accent-strong);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

@media (min-width: 750px) {
	.front-discount__name {
		font-size: 16px;
	}
}

@media (min-width: 1200px) {
	.front-discount__name {
		font-size: 22px;
	}
}

/* 説明文。移行元 .otherPlan__lead は中央寄せで、上下の外余白が 1em 分ある
   （実測 1200px 以上で 14px、1199px 以下で 13px）。文字は 1200px 以上が
   1.4rem（14px）・1199px 以下が 1.3rem（13px）。dev は左寄せ・上余白 0・
   下余白 16px・文字 14px 固定だった（Bug #2245）。

   外余白を `1em` で書くのは、文字の大きさが幅で変わっても移行元と同じ比率を
   保つためである（移行元の実測もこの比率だった）. */
.front-discount__lead {
	margin: 1em 0;
	font-size: 13px;
	text-align: center;
}

@media (min-width: 1200px) {
	.front-discount__lead {
		font-size: 14px;
	}
}

/* 費用の束。移行元 .otherPlan__fee は横に並べず、費用 1 件ずつを縦に積む
   （どの幅でも `display: block`）。dev は flex + 隙間 16px で横 2 列に並べて
   いたため、束の高さが 76px 対 49px と食い違っていた（Bug #2245）。

   749px 以下の移行元は `width:90%; margin:0 auto` で束を中央に寄せる. */
.front-discount__fees {
	display: block;
}

@media (max-width: 749px) {
	.front-discount__fees {
		width: 90%;
		margin: 0 auto;
	}
}

/* 費用 1 件。移行元 .otherPlan__feeItem は札と金額を横 1 行に並べ、縦を中央で
   揃える。**ただし 750〜1023px の帯だけは `display: block`** で札を金額の上に置く
   （器が狭く横 1 行に収まらないため）。dev はどの幅でもブロックだった。

   2 件目以降の上の隙間は移行元の `margin-top: 1rem`（10px）である. */
.front-discount__fee {
	display: flex;
	align-items: center;
	text-align: center;
}

@media (min-width: 750px) and (max-width: 1023px) {
	.front-discount__fee {
		display: block;
	}
}

.front-discount__fee + .front-discount__fee {
	margin-top: 10px;
}

/* 「初期費用」「月会費」の札。移行元 .otherPlan__feeItem .title は
   `display:inline-block; background:#f3f7f9; padding:.5rem; border-radius:1.5rem;
   font-weight:500; min-width:9.5rem`（749px 以下は 8.7rem）である。dev は
   ブロックの太字だけで、下地・角丸・最小幅・内余白をすべて持っていなかった
   （Bug #2245）。

   文字は 1200px 以上が 1.4rem（14px）・1199px 以下が 1.2rem（12px）。
   750〜1023px の帯では、上の分岐で札が金額の上に来るため下の外余白 1rem（10px）が
   入る.

   下地の色は移行元の直値である。テーマの色の変数には、この薄い青みがかった灰色に
   あたるものが無い（--pa-color-surface-muted は #f2f4f7 で青みが足りない）. */
.front-discount__fee-label {
	display: inline-block;
	min-width: 87px;
	padding: 5px;
	border-radius: 15px;
	background-color: #f3f7f9;
	font-size: 12px;
	font-weight: 500;
}

@media (min-width: 750px) {
	.front-discount__fee-label {
		min-width: 95px;
	}
}

@media (min-width: 750px) and (max-width: 1023px) {
	.front-discount__fee-label {
		margin-bottom: 10px;
	}
}

@media (min-width: 1200px) {
	.front-discount__fee-label {
		font-size: 14px;
	}
}

/* 金額。移行元 .otherPlan__feeItem .amount は、器そのものの文字を 1rem（10px）・
   行の高さ 1 に落としたうえで、中の数字・単位・OFF がそれぞれ大きさを持つ。
   下から塗る黄色い帯（蛍光ペン）は `em` 指定なので、器の 10px が基準になって
   実測 2px〜10px の帯になる。札との間は `margin-left: 1rem`（10px）である。

   dev は器が本文の 14px を継いでおり、黄色い帯も札との間も持っていなかった
   （Bug #2245）. */
.front-discount__amount {
	position: relative;
	margin: 0 0 0 10px;
	background-image: linear-gradient(to top, #fcff74 0.2em, #fcff74 1em, transparent 0.6em, transparent 100%);
	color: var(--pa-color-accent-strong);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}

/* 移行元 `.amount span{line-height:1}`。数字と単位の行の高さを詰めて、
   金額のかたまりの高さを移行元と同じにする。

   🚨 **数字（.pa-num）にも同じ値を、同じ強さで当てる必要がある。**共通の数字は
   `.front-page .pa-num` という 2 つのクラスで指定されており、`.front-discount__amount
   span` より強い。共通が行送り 1.5 を持つため、ここで明示しないと金額の行だけ
   1.5 倍に伸びる。**この区画は幅 375px でも 1440px でも移行元と完全に一致して
   いるので壊さない**（実測: 1440px で 33px / 375px で 26.7176px。文字も行の高さも
   移行元と同値。Issue #2620）. */
.front-discount__amount span,
.front-page .front-discount__amount .pa-num {
	line-height: 1;
}

/* 🚨 **「円」の書体は和文の候補を持たない並びにする**（Bug #3636）。移行元
 * `.otherPlan__feeItem .amount` は `font-family: inter, sans-serif` で、本文の
 * 並びと違い**游ゴシックやヒラギノを候補に持たない**。Inter は和文の字を持たない
 * ので、「円」は次の候補（ブラウザの既定のゴシック）で描かれる。写さないと dev
 * だけ「円」が游ゴシックになる。
 *
 * 🚨 **当てる先を「円」（`.pa-unit`）だけに絞っている。**移行元は金額の器ごと
 * この並びにしているが、器へ広げると**数字の幅が変わる場面がある**。この区画の
 * 数字は Inter で描く前提で、Inter がまだ読み込まれていない状態では
 * `sans-serif` と本文の並びとで次の候補が変わり、幅 320px で費用の名前が
 * 2 行に折れた（CSS の寸法の回帰テスト `spec-front-discount-sp-320.json` が実測で捕まえた。
 * 3 枚目の「初期費用(最大)」が 22.8px → 37.4px）。**見た目の差が出るのは和文の
 * 「円」だけ**なので、そこだけに絞って写す（幅 1440px と 375px で 6 か所）。
 * 金額そのものの字は両側とも Inter で一致している（意図的変更の台帳の欧文の行）. */
.front-page .front-discount__amount .pa-unit {
	font-family: "Inter", sans-serif;
}

/* 注記の「※」。移行元 `.amount sup` は絶対配置で金額の右上に出し、太さは
   標準・大きさは 1rem（10px）である。dev は 11.67px の太字だった。

   内余白は移行元の共通 reset（`sup{padding:0 5px 10px}`）の値である。テーマは
   sup に共通の指定を持たないため、ここに直値で書く。**この 5px の右内余白が
   無いと、絶対配置の基準が箱の右端であるために「※」が移行元より 5px 右へ
   ずれる**（実測で確かめた）。

   上の位置は幅で切り替わる（移行元 750px 以上が .3rem = 3px、749px 以下が
   -0.5rem = -5px）. */
.front-discount__amount sup {
	position: absolute;
	top: -5px;
	right: -15px;
	padding: 0 5px 10px;
	font-size: 10px;
	font-weight: 400;
	/* 行の高さは移行元の共通 reset（`*{line-height:1.5}`）の値である。金額の器で
	   行の高さを 1 に落としているため、そのまま継ぐと箱が 20px になり、字が
	   移行元より 2.5px 上へ寄る（実測: 移行元の箱 25px 対 20px）. */
	line-height: 1.5;
}

@media (min-width: 750px) {
	.front-discount__amount sup {
		top: 3px;
	}
}

/* 🚨 **749px 以下は移行元が `rem` で書いており、画面幅に比例する**（Bug #4046）。
 * 移行元は次のとおりで、`1rem` は 749px 以下では `html { font-size: 2.5445292621vw }`
 * に従って画面幅に比例する。
 *
 *   .otherPlan__feeItem .amount sup { position: absolute; font-weight: 400; font-size: 1rem }
 *   @media screen and (max-width: 749px) { .otherPlan__feeItem .amount sup
 *     { top: -0.5rem; right: -1.5rem } }
 *
 * 写しは **750px 以上の値**（10px / -5px / -15px）を全幅へ置いていたため、375px では
 * ほぼそろい（字 9.54 対 10）、**幅が広がるほど差が開いていた**。実測 2026-09-06:
 *
 *   幅      字（移行元 / 写し）  箱の高さ      箱の幅
 *   375px   9.54 / 10            24.31 / 25    15.81 / 16.09
 *   500px   12.72 / 10           29.08 / 25    17.75 / 16.09
 *   700px   17.81 / 10           36.72 / 25    20.84 / 16.09
 *   749px   19.06 / 10           38.59 / 25    21.59 / 16.09
 *   750px〜 10 / 10              25 / 25       16.09 / 16.09
 *
 * **749px では「※」の字が移行元のほぼ半分だった。**
 *
 * 🚨 **内余白（`padding: 0 5px 10px`）は比例させない。**移行元の共通 reset は
 * `rem` ではなく px で書いている。
 *
 * 🚨 **この帯は上の 2 つの規則より後ろに置く。**折り返しの条件は詳細度を足さないので、
 * 前に置くと同じ詳細度で後ろの規則が勝ち、直しが黙って効かない. */
@media (max-width: 749px) {
	.front-discount__amount sup {
		top: calc(-0.5 * var(--pa-sp-rem));
		right: calc(-1.5 * var(--pa-sp-rem));
		font-size: calc(1 * var(--pa-sp-rem));
	}
}

/* 数字（22,000 / 2,200）。移行元 .otherPlan__feeItem .amount .lg は幅で 3 段に
 * 分かれる。
 *
 * - 1350px 以下（750px 以上）: 2.4rem = 24px 固定
 * - 1351px 以上: clamp(2rem, 2.2916666667vw, 3.3rem) → 幅 1440px で 33px、
 *   それより広い画面では 33px で止まる
 * - 749px 以下: 2.8rem。移行元は 1rem が画面幅に追従する（2.5445292621vw）ため
 *   幅 375px の実測は 26.72px になる
 *
 * dev は 24px 固定だったため、1350px より広い画面で 9px 小さかった（Bug #2245）。
 *
 * 🚨 **この注記は 2026-09-06 に書き換えた（裁定 208）。**もとは「携帯幅は『寸法の
 * 完全一致は求めない』取り決めなので、移行元の vw の追従は写さず幅 375px の実測に
 * 近い直値を置く」と書いてあった。いまは **携帯幅（375〜749px）でも、移行元が
 * 画面幅に比例させている値は比例のまま写す**。**375px の一致だけを見ると
 * 749px 付近の差（字がほぼ半分になる等）を見落とす**ためである。
 * 正本は `docs/pa-cms/design/意図的変更の台帳.md` の該当行。
 *
 * この当たり先は既に 749px 以下の帯で `calc(2.8 * var(--pa-sp-rem))` を持っており、
 * 移行元と一致している（実測 2026-09-06・幅 375 / 500 / 700 / 749px の 4 点）。
 * 素の 27px はその帯に上書きされる. */
.front-discount__amount .pa-num {
	font-size: 27px;
}

@media (min-width: 750px) {
	.front-discount__amount .pa-num {
		font-size: 24px;
	}
}

@media (min-width: 1351px) {
	.front-discount__amount .pa-num {
		font-size: clamp(20px, 2.2916666667vw, 33px);
	}
}

/* 単位の「円」。移行元 .amount .sm は
 * clamp(1.4rem, 2.2916666667vw, 2rem) を土台に、1199px 以下が 1.5rem（15px）・
 * 1200〜1350px が 1.6rem（16px）で上書きされる。効き方は次のとおり。
 *
 * - 750〜1199px: 15px / 1200〜1350px: 16px / 1351px 以上: clamp（幅 1440px で 20px）
 * - 749px 以下: clamp の下限 1.4rem（幅 375px の実測 13.36px）
 *
 * dev は共通の .pa-unit（0.6em）を継いでいて、金額の器が 10px になったあとは
 * さらに小さくなる。この金額表示だけ直値で置き直す（Bug #2245。修正前は 8.4px で
 * 移行元の半分以下だった）. */
.front-discount__amount .pa-unit {
	font-size: 13px;
}

@media (min-width: 750px) {
	.front-discount__amount .pa-unit {
		font-size: 15px;
	}
}

@media (min-width: 1200px) {
	.front-discount__amount .pa-unit {
		font-size: 16px;
	}
}

@media (min-width: 1351px) {
	.front-discount__amount .pa-unit {
		font-size: clamp(14px, 2.2916666667vw, 20px);
	}
}

/* 🚨 **749px 以下は移行元が `rem` で書いており、画面幅に比例する**（Bug #4046）。
 * 移行元は `clamp(1.4rem, 2.2916666667vw, 2rem)` で、**この帯では下限の 1.4rem が
 * 必ず勝つ**（1.4 × 2.5445292621vw = 3.562vw で、真ん中の 2.2917vw より常に大きい。
 * 幅 320px と 749px の両端で確かめた）。だから `calc(1.4 * var(--pa-sp-rem))` が
 * 移行元と 1 対 1 で一致する。
 *
 * 写しは 13px の直値だったため、375px ではほぼそろい（13.36 対 13）、**幅が広がる
 * ほど差が開いていた**。実測 2026-09-06:
 *
 *   幅      字（移行元 / 写し）  箱の高さ
 *   375px   13.36 / 13           16 / 16
 *   500px   17.81 / 13           21 / 16
 *   700px   24.94 / 13           30 / 16
 *   749px   26.68 / 13           32 / 16
 *   750px〜 15 / 15              19 / 19
 *
 * 🚨 **この帯は上の 4 つの規則より後ろに置く。**折り返しの条件は詳細度を足さない
 * ので、前に置くと同じ詳細度で後ろの規則が勝ち、直しが黙って効かない. */
@media (max-width: 749px) {
	.front-discount__amount .pa-unit {
		font-size: calc(1.4 * var(--pa-sp-rem));
	}
}

/* 「OFF」。移行元 .amount .md は
 * 750〜1199px が 1.5rem（15px）・1200〜1350px が 2rem（20px）・1351px 以上が
 * 2.8rem（28px）・749px 以下が 2.4rem（幅 375px の実測 22.9px）である。
 * dev は 750px 以上が 15px 固定だったため、1200px より広い画面で足りなかった
 * （Bug #2245）. */
.front-discount__off {
	font-size: 23px;
}

/* 移行元のカード写真は**器いっぱいに広がる**。
   移行元 `.plan-image { border-radius: 0 0 2em 2em; width: 100% }`
   （移行元の写し `legacy/www.p-a.jp/public/assets/css/style.css`）。

   🚨 **ここに `max-width: 360px` を置いてはいけない**（Bug #4324 で外した）。
   Bug #2165 のときは「移行元は HTML の `width="360"` がそのまま効いて器
   （`.otherPlan__item__img`、パソコン幅で 370px）より 10px 狭い」と読んだが、
   **移行元の CSS の `width: 100%` が属性を上書きしている**ことを見落としていた。
   生きている移行元を測ると写真は器と同じ幅である。

     実測（移行元 = 本番 www.p-a.jp・2026-09-07）:
       幅 1440px  器 370 × 170     / 写真 370 × 170
       幅  375px  器 337.5 × 155.06 / 写真 337.5 × 155.06
     上限を置いていたときの写し:
       幅 1440px  器 370 × 165.39  / 写真 360 × 165.39   ← 4.61px 低い

   縦横の比は両側とも 2.1766 で同じなので、幅が器にそろえば高さも合う
   （370 ÷ 2.1766 = 170.03）。管理画面から縦横比の違う写真に差し替えても、
   幅は器いっぱい・高さはその写真の比率で決まる. */
.front-discount__image img,
.front-discount__image .front-placeholder {
	width: 100%;
	/* 移行元 `.plan-image{border-radius:0 0 2em 2em}`。写真の下だけを丸める
	   （実測 28px。どの幅でも同じ値だった）。文字の箱の上の角丸と合わせて、
	   カード全体が丸く見える作りになる（Bug #2245）. */
	border-radius: 0 0 28px 28px;
	/* 写真の下に 5px の余りが出るのを止める。写真は行の中の要素（inline）なので、
	   既定の `vertical-align: baseline` だと文字のベースラインの下の余白ぶん、
	   器が写真より高くなる（実測: 器 170.39px 対 写真 165.39px）。移行元は共通の
	   reset が `img{vertical-align:bottom}` を当てているため、器と写真の高さが
	   そろう。この 5px がカードの高さの差（移行元 360.97px 対 dev 365.97px）
	   そのものだった（Bug #2245）. */
	vertical-align: bottom;
}

/* 移行元 .meet__list__note は上外余白 5rem（パソコン幅 50px）・文字 1.3rem（13px）。
   文字は PR #2174 が本文層（14px）を足すまで 0.85em × 15px = 12.75px で移行元に
   近かったが、本文層のあとは 0.85em × 14px = 11.9px まで縮んでいた。同じ PR が
   U29 プランの注記（.front-plan__note）で採った直し方に揃えて、実測値の直値に
   する（Bug #2165）。

   携帯幅は下の `@media (max-width: 749px)` の帯で `5rem` / `1.2rem` を画面幅に
   追従させる（Bug #4324。以前は「寸法の完全一致は求めない」として書き分けて
   いなかったが、実測で上外余白 +2.29px・高さ +2.78px の差になっていた）。

   下外余白 0 は移行元の値である。書かないと閲覧ソフトの既定 `1em`（13px）が入る。
   いまは次の押しボタンの上外余白 28px と重なって消えるので見た目は変わらないが、
   箱の値を移行元とそろえておく. */
.front-discount__note {
	margin-top: 50px;
	margin-bottom: 0;
	font-size: 13px;
	text-align: center;
}

@media (min-width: 750px) {
	/* 移行元 .otherPlan は節そのものに左右の内余白を持たず、内側の器
	   .otherPlan__main が `width:83.3333333333%; max-width:1200px` で中央に寄る。
	   dev は節に共通の左右の余白（--pa-inner-gutter の 15px）を持ったまま器を
	   1120px で止めていたため、パソコン幅 1440px で器が 80px 狭かった
	   （移行元 1200px 対 dev 1120px。Bug #2165）。

	   750px 以上では左右 8.33% が余白として残るので、この 15px を外しても文字が
	   画面の端に付くことはない。狭い画面（749px 以下）では 15px をそのまま残す. */
	.front-discount {
		padding-right: 0;
		padding-left: 0;
	}

	.front-discount__inner {
		width: 83.3333333333%;
		max-width: 1200px;
	}

	/* 移行元 .otherPlan__item は `width:30.8333333333%; max-width:370px` の 3 枚を
	   両端揃え（justify-content:space-between）で並べる。等分（1fr）で並べると
	   器の幅に対して札が広がりすぎるため、移行元と同じ割合で置く。割合なので
	   器が狭くなってもはみ出さない. */
	.front-discount__list {
		grid-template-columns: repeat(3, 30.8333333333%);
		justify-content: space-between;
		/* 移行元 .otherPlan__list は `display:flex; justify-content:space-between` だけで、
		   列の間に固定の隙間を持たない（原本 public/assets/css/style.css）。3 列の合計は
		   器の 92.5% なので、残る 7.5% が両端揃えで 2 か所へ均等に配られる。器が
		   1200px のときは 45px ずつになり、移行元の実測と一致する。
		   固定の隙間を足すと、器が狭い幅（750px で 625px）では
		   92.5% + 64px = 642px となり器から 17px はみ出す. */
		gap: 0;
	}

	/* 「OFF」は 750〜1199px で 15px（移行元 .amount .md の 1.5rem）. */
	.front-discount__off {
		font-size: 15px;
	}
}

@media (min-width: 1200px) {
	.front-discount__off {
		font-size: 20px;
	}
}

@media (min-width: 1351px) {
	.front-discount__off {
		font-size: 28px;
	}
}

/* PAC のバナー。移行元 .banner-pac は内余白を持たず、上下の外余白 4em（実測 56px）だけで
   間を空け、画像は縦横の指定どおりの大きさ（750px 以上 770×152 / 749px 以下 340×190）で
   中央に置く。テーマが同梱する画像は 2 倍の大きさなので、表示の幅を CSS で移行元に
   合わせる（Issue #1629 の C1-G10）. */
.front-pac {
	margin: 56px 0;
	text-align: center;
}

.front-pac__link {
	display: block;
	max-width: 340px;
	margin: 0 auto;
}

.front-pac__link img,
.front-pac__link .front-placeholder {
	width: 100%;
}

@media (min-width: 750px) {
	.front-pac__link {
		max-width: 770px;
	}
}

/* ==============================================================
 * 9. 結婚相談所の比較
 * ============================================================== */

/* 移行元は「見出しが左・角丸の写真が右」の 2 カラムを、写真を絶対位置で右上へ浮かせて
   作っていた。写真は節の上辺より上へはみ出し、節はその分の場所を上の外余白で空ける。
   器の 4 段の対応は template-parts/front/comparison.php の冒頭コメントにある
   （Issue #1629 の C1-G9・C1-G13）. */
.front-comparison {
	/* 移行元 .comparisn の 4rem（実測 38px）. */
	padding-top: 38px;
}

.front-comparison__container {
	position: relative;
}

/* 749px 以下は、写真を右へ寄せて置き、その下辺に白い面を重ねる. */
.front-comparison__image {
	width: 80%;
	max-width: 300px;
	margin-left: auto;
}

.front-comparison__picture {
	display: block;
	width: 100%;
}

/* 🚨 **横と下の内余白は移行元と同じ `1em` である**（Bug #4325）。移行元は
   `style.css` の `.comparisn__body { padding: 8rem 1em 1em }` で、**自分の字
   （14px）に連動する `1em`** を使う。共通の余白の変数（`--pa-inner-gutter` =
   15px）を当てていたため、左右と下が 1px ずつ広かった。左右が広いと本文の幅が
   2px 狭くなり、携帯幅では表や注記の折り返しが変わる。

   上の値と負の上外余白は、下の 749px 以下の帯で画面の幅に比例させる。ここに
   残す直値は、その帯が効かないときの控え（375px のときの値）である. */
.front-comparison__body {
	margin-top: -86px;
	padding: 76px 1em 1em;
	background-color: var(--pa-color-bg);
}

.front-comparison__inner {
	margin: 0 auto;
}

/* 比較の大見出し。移行元 .comparisn__heading は 750px 以上で左寄せに変わり、
   下外余白が 6rem（= 60px）へ広がる。大きさは 750〜1199px が 2.4rem、
   1200px 以上が 3.6rem（= 36px）である。749px 以下だけ中央寄せ・太さ 600 で、
   上下の外余白（4rem / 3rem）を持つ. */
.front-comparison__heading {
	margin: 38px 0 28.6px;
	color: var(--pa-color-heading);
	font-size: 22px;
	font-weight: 600;
	text-align: center;
}

@media (min-width: 750px) {
	.front-comparison__heading {
		margin: 0 0 60px;
		font-size: 24px;
		font-weight: 700;
		text-align: start;
	}
}

@media (min-width: 1200px) {
	.front-comparison__heading {
		font-size: 36px;
	}
}

/* 表は 2 通り持つ。1049px までは縦横を入れ替えた項目ごとの表、1050px からは
   他社を列に並べた 1 枚の表である。中身の出どころは comparison.php の配列 1 つ
   だけである。

   切り替えの幅は移行元の pc-only / sp-only と同じ 1050px である（移行元の共通
   CSS が `.pc-only{display:none} .sp-only{display:block}` を素にして、
   `@media(min-width:1050px)` で入れ替える）。かつてはテーマの他の区画と同じ
   750px で切り替えていたため、**750〜1049px の帯だけ、移行元が項目ごとの表を
   出しているところに dev が 1 枚の表を出していた**（Bug #2825）。幅の違いでは
   なく別の組みが出ている状態だったため、この区画は 1050px を使う. */
.front-comparison__wide {
	display: none;
}

.front-comparison__narrow {
	display: block;
}

/* この区画だけ、横送りの器が持つ共通の上下余白を外し、表自身の 2em の上余白を
 * 移行元と同じ唯一の間隔にする。伴走型サポートの .pa-table-scroll には影響しない。 */
.front-comparison__narrow .pa-table-scroll {
	margin-block: 0;
}

/* 「コース比較」の中見出し。移行元は .maincol（赤）で、大きさは 1050px を境に
   17.5px と 24.5px で切り替わる（`.front-point__subheading` と同じく
   `h3{font-size:1.25em}` が効いた値。Bug #2172 の全数突き合わせで、本文層を
   足す前は UA 既定の h3 サイズがたまたま近く乖離が隠れていたが、本文層を
   足すと 16.38px まで縮んで離れることが判明したため、直値で明示する）. */
/* 🚨 **上の空きは共通の間隔ではなく「自分の字の 2 倍」である**（Bug #3587）。
   移行元は共通 CSS に `h3 { margin-top: 2em; font-size: 1.25em }`（1050px 以上は
   `margin-top: 2.5em; font-size: 1.75em`）を持ち、**上外余白が自分の字に連動する**。
   テーマは共通の間隔（`--pa-space-sm`）を当てていたため、携帯幅で 20px しかなく、
   移行元の 35px より 15px 狭かった（実測 2026-09-05・幅 375px）。

   直前の横送りの器（`.pa-table-scroll`）は上下に 20px の外余白を持つ。隣り合う
   外余白は大きいほうへ相殺されるので、この見出しに 35px を持たせれば空きは 35px に
   なる（移行元の `.table-wrap` は外余白 0 で、見出しの 35px がそのまま空きになる）。

   なお**この見出しは 1050px 以上では出ない**（両側とも携帯幅用の塊の中にある。
   移行元 `.sp-only.compares` / テーマ `.front-comparison__narrow`）。1050px 以上の
   `2.5em` は、移行元の値をそのまま写して意図を残すためのものである. */
.front-comparison__sub-heading {
	margin: 2em 0 0;
	color: var(--pa-color-accent-strong);
	font-size: 17.5px;
	text-align: center;
}

@media (min-width: 1050px) {
	.front-comparison__sub-heading {
		margin-top: 2.5em;
		font-size: 24.5px;
	}
}

/* コース比較の注意書きの中の、比較したコースの並び。
 *
 * 🚨 **移行元はこの 5 行を段落 1 つで組む**（記録版 1fbfa9dda の
 * public/index.html 1812〜1820 行。行の先頭に「・」を書き、`<br />` で折る）。
 * テーマは意味が伝わる箇条書き（`ul`）で組むので、**見え方だけを移行元に
 * そろえる**（Bug #2938）。そろえるのは 4 つである。
 *
 *   ①字の大きさ 0.85em と行送り 1.5 … 移行元 `.notice p` と同じ値。
 *     箇条書きの項目は段落ではないので `.pa-notice-box p` が当たらず、
 *     14px / 21px のまま**移行元より 1 行あたり 3.15px 高かった**
 *   ②行頭の「・」… 移行元は文字として書いてある
 *   ③左の字下げ … 移行元は段落なので 0 である
 *   ④点の印 … 移行元に無い
 *
 * 実測（幅 375px）: 移行元は 5 行で 89.3px。テーマは直す前が 101.86px
 * （項目 4 行 × 21px + 「での比較」の段落 17.86px）で、+12.56px 高かった。
 *
 * 🚨 **`.pa-notice-box p` には触らないこと。**区画の末尾の注意書き
 * （※ 各社WEBサイトからの…）と共有しており、そちらは移行元と高さが
 * 完全に一致している（両側 107.16px）. */
.front-comparison__course-list {
	margin: 0;
	padding-left: 0;
	list-style: none;
	font-size: 0.85em;
	line-height: 1.5;
}

.front-comparison__course-list li::before {
	content: "・";
}

/* 移行元 `.advice` は `position: relative` の箱に対して `.advice img` を
 * `position: absolute` で右下へ「はみ出させる」装飾になっている（Bug #2069
 * の根本原因）。素直な flex 収まりをやめ、同じ技法に作り替える。
 * 画像の右端は移行元と同じく箱の右端にフラッシュ（`right` は箱の内側の
 * 余白ぶん）。下へのはみ出し量（`bottom` の負値）と画像サイズ（117px/165px）
 * は移行元の実測どおり、1050px を境に変える（移行元 `@media(min-width:1050px)`
 * の `.advice img{width:165px;bottom:-4em}` に対応）。
 * 本文と画像が重ならないようにする役割は、下にある改行位置の出し分け
 * （`.front-comparison__advice-br--pc`/`--sp`）が持つ。移行元と同じ改行位置を
 * 使うことで、画像の高さぶんが最後の行より下に収まる（comparison.php の
 * 注記・行ごとの実測矩形で重なり無しを確認済み。Codex レビュー指摘への対応）。
 * 画像が箱の外まではみ出す分、下の余白（margin）を通常より広めに取り、
 * 次の節と重ならないようにする（移行元の `margin:2em auto` /
 * `margin-block:4em 3em` に対応）。 */
.front-comparison__advice {
	position: relative;
	max-width: 794px;
	/* margin/padding/border-radius は移行元 `.advice` の実測値をそのまま使う
	 * （`padding:24px`・`border-radius:16px` は本要素だけの指定で、テーマ共通の
	 * トークンではなかった。「テーマ全体の余白設計だからスコープ外」という
	 * 判断は誤りだったため、本 PR で移行元の実測値に揃える）。
	 * margin は幅で変わる（移行元 `margin:2em auto` を 1050px 以上で
	 * `margin-block:4em 3em` に切り替えている実測に対応。ambient font-size は
	 * 常に 14px なので 2em=28px、4em=56px、3em=42px）. */
	margin: 28px auto;
	padding: 7px 28px 14px;
	border-radius: 14px;
	/* 移行元 `.advice` の実測背景色は #fff3f3（rgb(255,243,243)）。同じ薄い赤でも
	 * 料金比較表の背景（Bug #1478 で確定した #fff7f7 = --pa-color-notice-bg）とは
	 * 別の値を移行元自身が使っているため、既存トークンを流用せず実測値を直に書く。
	 * 旧 var(--pa-color-bg) は白（--pa-palette-white）に解決され、箱が実質見えない
	 * 状態になっていた（本 PR で見つかった別枠の乖離。要素自体は元々のスコープ内）. */
	background-color: #fff3f3;
}

.front-comparison__advice p {
	/* 移行元の実測 14px（1050px 未満）。Bug #2064 で確認済みのアンビエント
	 * 文字サイズの設計差により、dev はこの祖先の文脈を持たないため実測 px を
	 * 直に書く（1050px 以上の 16.8px は下の @media 側で上書き）。 */
	font-size: 14px;
	/* 移行元 `.advice p` の実測 margin は `1em 0 0`（幅を問わず、その時点の
	 * 自身の font-size と同じ px。14px 幅では 14px、1050px 以上では 16.8px）。
	 * margin:0 だと箱の上側の余白が padding-top ぶんしか無くなり、移行元より
	 * 詰まって見えていた（Bug #2141 の残差の一因）。 */
	margin: 1em 0 0;
}

/* 改行位置の出し分け（移行元 `.advice .pc-only`/`.sp-only`、700px を境）。
 * comparison.php 側の注記を参照。本文の幅を狭めずに、右下へはみ出す
 * 画像と本文の行が重ならないようにする役割を持つ（Codex レビュー指摘への
 * 対応。padding-right で帯を空ける案は、幅が狭いほど余計な折り返しを
 * 増やしてしまい区画の高さが移行元から離れるため採らなかった）。 */
.front-comparison__advice-br--pc {
	display: none;
}

.front-comparison__advice-br--sp {
	display: block;
}

@media (min-width: 700px) {
	.front-comparison__advice-br--pc {
		display: block;
	}

	.front-comparison__advice-br--sp {
		display: none;
	}
}

.front-comparison__advice img,
.front-comparison__advice .front-placeholder {
	/* right/bottom は移行元の実測値をそのまま使う（right:0 は箱の右端に画像を
	 * フラッシュさせる指定。padding ぶん内側に寄せていた旧値（right:24px /
	 * bottom:-24px）だと、はみ出し量が足りず本文 1 行目と画像が実測で重なって
	 * いた（Codex レビュー指摘）。移行元と同じ量だけ下へはみ出させることで、
	 * 画像の上端が本文の行より下がり、重なりが解消する）. */
	position: absolute;
	right: 0;
	bottom: -42px;
	width: 117px;
}

@media (min-width: 1050px) {
	.front-comparison__advice {
		margin: 56px auto 42px;
	}

	.front-comparison__advice p {
		/* 移行元の実測 16.8px（「.contents」祖先の 14px 文脈 × 1.2em。Bug #2064
		 * で確認済みのアンビエント文字サイズの設計差により、dev はこの祖先の
		 * 文脈を持たないため、em ではなく実測 px を直に書く）. */
		font-size: 16.8px;
	}

	.front-comparison__advice img,
	.front-comparison__advice .front-placeholder {
		width: 165px;
		bottom: -56px;
	}
}

@media (min-width: 750px) {
	/* 移行元 .comparisn の 30rem（実測 300px）。上へはみ出す写真の場所をここで空ける. */
	.front-comparison {
		padding-top: 0;
		margin-top: 300px;
		background-color: var(--pa-color-bg);
	}

	/* 移行元 .content__inner。写真の絶対位置の基準になる. */
	.front-comparison__container {
		width: 100%;
		max-width: 1440px;
		margin: 10px auto 0;
	}

	/* 移行元 .comparisn__img の実測。右へ 79px はみ出し、上へ 230px せり上がる。
	   幅の割合 64.5833% は、器が 1440px のとき 930px になる値である. */
	.front-comparison__image {
		position: absolute;
		top: -230px;
		right: -79px;
		width: 64.5833%;
		max-width: 930px;
		margin-left: 0;
	}

	/* 移行元 `.comparisn__body { padding: 10rem 1em 1em }`（750px 以上は
	   1rem = 10px なので上は 100px）。**横と下は `1em` である**（Bug #4325）. */
	.front-comparison__body {
		margin-top: 0;
		padding: 100px 1em 1em;
	}

	/* 移行元 .l-inner-sm-pc. */
	.front-comparison__inner {
		width: 90%;
		max-width: 1200px;
	}

	/* 比較の大見出し（.front-comparison__heading）の下の外余白 60px と左寄せは、
	   ここにも同じ指定があったが Issue #1706 で消した。見出しの様式そのものを
	   移行元へ戻す Issue #1624 の指定（`.front-comparison__heading` の定義の
	   すぐ下、同じ 750px 以上の媒体条件）が、上の外余白の打ち消しと文字の
	   大きさ・太さまで含めて完全なためである。写真が右上にあるので見出しを左に
	   置く必要があるが、その左寄せ（`text-align: start`）も #1624 側が持つ
	   （横書きの日本語では `left` と `start` は同じ結果になる）. */
}

/* 項目ごとの表から 1 枚の表への切り替え。移行元の pc-only / sp-only と同じ
   1050px である（詳しい理由は `.front-comparison__wide` の素の定義のコメント）。
   この区画の他の指定（写真の絶対位置・器の幅・見出し）は 750px のままで、
   ここが受け持つのは表の出し分けだけである. */
@media (min-width: 1050px) {
	.front-comparison__wide {
		display: block;
		margin-block: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* 🚨 **表の上の外余白（`2em` = 28px）を器の中で打ち消す**（Bug #4325）。
	 *
	 * 移行元の表も同じ 28px を持つが、**器（`.pc-only`）の外へ抜けて上の見出しの
	 * 下外余白 60px に相殺され、消える**（隣り合う外余白は大きいほうが残る）。
	 * dev の器は 1 つ上の `overflow-x: auto` で**閉じた箱**になっているため、
	 * 中の外余白が外へ抜けない。そのため器の高さが表より 28px 高くなり、区画の
	 * 高さが移行元より 28px 高かった（実測: 移行元の器 1080.64 対 dev 1108.64。
	 * **表そのものはどちらも 1080.64px で同じ**）。
	 *
	 * `overflow-x: auto` は横に長い表を指で送るために要るので外せない。器の中で
	 * 余白を 0 にして、移行元と同じ「見出しの 60px だけが空く」姿にする。
	 *
	 * 🚨 当たり先は**この器の中だけ**に絞る。狭い画面用の表（`.pa-table-scroll`
	 * の中）は別の器で、そちらの上の空きは移行元と一致している. */
	.front-page .front-comparison__wide .pa-compare-table--wide {
		margin-top: 0;
	}

	.front-comparison__narrow {
		display: none;
	}
}

/* ==============================================================
 * 10. 結婚相談所の選び方
 * ============================================================== */

.front-choose {
	padding: var(--pa-space-md) var(--pa-inner-gutter);
	background-color: var(--pa-color-bg);
}

.front-choose__inner {
	max-width: var(--pa-inner-ex);
	margin: 0 auto;
}

/* 区画の器の左右を移行元へそろえる（Bug #2700）。
 *
 * 移行元 `.choose` は 749px 以下で `padding: 4rem 1.5rem`、750px 以上で
 * `padding: 12rem 0`（＝左右 0）である。テーマは共通の 15px 固定を当てていたため、
 * 749px 以下は移行元より広く（15 対 12.2137px＠320px）、750px 以上は移行元が
 * 持たない余白を持っていた。
 *
 * 749px 以下は移行元の `1.5rem` を写す。移行元は 749px 以下で
 * `html { font-size: 2.5445292621vw }` を使うため、画面幅に比例する。
 * `--pa-sp-rem` はその 1 単位である（ファイル冒頭の説明を参照）. */
@media (max-width: 749px) {
	.front-choose {
		padding-inline: calc(1.5 * var(--pa-sp-rem)); /* 移行元 1.5rem */
	}

	/* 移行元 `.choose__head { padding: 0 1rem 2rem }`。見出しの塊だけ、区画より
	   さらに内側へ寄る。テーマは左右 0 だった. */
	.front-choose .pa-section-head {
		margin-bottom: calc(2.5 * var(--pa-sp-rem));
		padding-inline: calc(1 * var(--pa-sp-rem)); /* 移行元 1rem */
	}
}

/* 750px 以上は、移行元 `.choose__main { width: 88.8888888889%; max-width: 1280px;
   margin-left: auto }` を写す。
   🚨 **移行元は `margin-left: auto` だけを持つ（右寄せ）。**`margin-right` は既定の 0 で、
   中央寄せではない。移行元は札を右端からはみ出させる見せ方をしている。
   実測（1023px で 909.33px = 1023 × 0.888888…／1440px で上限の 1280px）と一致する. */
@media (min-width: 750px) {
	.front-choose {
		padding-inline: 0;
	}

	.front-choose__inner {
		width: 88.8888888889%;
		max-width: 1280px;
		/* 🚨 **右端は画面の右端ではなく「中央にそろえた 1440px の器」の右端である**
		 * （Task #3237）。移行元は `section.choose > div.content__inner`
		 * （`width: 100%; max-width: 1440px; margin: 10px auto 0`）の中で
		 * `.choose__main` を右そろえしている。テーマはこの中間の器を持たないため、
		 * 画面幅が 1440px を超えると器がそのまま画面の右端まで届いてしまう。
		 * 実測（移行元 = 本番を 2026-09-04 04:0x JST に取得）: 幅 1999px で移行元
		 * 439.5〜1719.5 に対し写しは 719〜1999。幅 1440px と 1200px は一致していた。
		 *
		 * 右の外余白に「画面幅が 1440px を超えたぶんの半分」を入れると、中間の器を
		 * 足したときと同じ右端になる（1440px 以下では 0 なので現状と変わらない）。
		 *
		 * 幅の側は器を足さなくても全幅で一致する。画面が 1440px 以下なら中間の器の
		 * 幅は画面幅そのものなので、88.888% の基準が両側で同じになる。1440px を
		 * 超えると中間の器は 1440px で止まり、88.888% が 1280px（= 1440 ×
		 * 0.888888…）で頭打ちに達するため、画面幅そのものを基準にした写しの側も
		 * 同じ 1280px になる。**この境目は 1280 ÷ 0.888888… = 1440px である**
		 * （体験談の器は 90% なので境目が 1280 ÷ 0.9 = 1422.2px で、値が違う）. */
		margin-inline: auto max(0px, (100% - 1440px) / 2);

		/* 移行元は中間の器 `section.choose > div.content__inner` に
		 * `margin: 10px auto 0` を持ち、**この 10px だけが 750px 以上で効く**
		 * （749px 以下は 0 である）。テーマはこの中間の器を持たないため、上の
		 * `margin-inline` と同じ考え方で、この器へ 10px を移す（Bug #4326）。
		 *
		 * 実測（移行元 = 本番 www.p-a.jp・幅 1440px）: 区画の上端から器の上端まで
		 * 130px（区画の上の内余白 120px + この 10px）。札の並びの上端は 348.78px。
		 * 写しはどちらも 10px 高かった（120px / 338.78px）. */
		margin-top: 10px;

		/* 移行元 `.choose__main` は下の内余白 `2rem`（= 20px）を持つ。写しは 0 で、
		 * 札の下の余白が 20px 足りなかった（実測 2026-09-04・幅 1050 / 1440px で
		 * 移行元 20px 対 写し 0px）。移行元もこの規則ごと 750px 以上にしか無いので、
		 * 749px 以下は変えない。
		 *
		 * 同じ規則にある `overflow: clip` は写していない。**切る場所が 1 段
		 * 違うだけで、どちらの側も見えない**からである。移行元は Slick が帯を
		 * 25000px の幅で書き、器（`.choose__main`）の `clip` で切る。写しは中の
		 * `.pa-slider__track` が `overflow-x: auto` を持ち、そこで切る。
		 *
		 * 実測（2026-09-04・幅 375 / 800 / 1050 / 1440px）では、どちらの側も
		 * 器の外へ 3,600〜23,000px ぶんの札が並んでいる。**箱の位置としては
		 * 外に出ているが、描かれてはいない**（移行元は器が切り、写しは横送りの
		 * 帯が切る）。よって器に `clip` を足しても見た目は変わらない。
		 * 足さない理由は、送りボタンとドットもこの器の中にあり、将来それらの
		 * 位置を器の外へずらしたときに黙って消える作りになるためである. */
		padding-bottom: 20px;
	}
}

/* 選び方の大見出し。移行元 .choose__heading は 750px 以上で 3.6rem（= 36px）の
   左寄せになる。749px 以下だけ中央寄せ・太さ 600・2.2rem である。下外余白は
   どの幅でも 2rem（PC で 20px）である. */
.front-choose__heading {
	margin: 0 0 20px;
	color: var(--pa-color-heading);
	font-size: 22px;
	font-weight: 600;
	text-align: center;
}

@media (min-width: 750px) {
	.front-choose__heading {
		font-size: 36px;
		font-weight: 700;
		text-align: start;
	}
}

/* 移行元の `.choose__lead` は揃えの指定を持たず、**全幅で左寄せ**である
   （現行を 375 / 650 / 749 / 750 / 800 / 1000 / 1049 / 1050 / 1440px の 9 点で
   測って確かめた。2026-09-02。Bug #2821 の差 2）。中央寄せにしていたのを外す. */
.front-choose__lead {
	margin: 0;
	text-align: left;
}

/* リード文（移行元 .choose__lead）は 750px 以上で 16px 固定。Bug #2172 の全数
 * 突き合わせで発見（この要素は元々 font-size の指定を欠いており、本文層を
 * 足す前は祖先の 15px をそのまま継承していた）。375px 未満は移行元自身が
 * vw ベースで縮む書き方をしており対象外. */
@media (min-width: 750px) {
	.front-choose__lead {
		/* 🚨 **字の太さも 750px から 500 になる**（Bug #2821 の差 1）。移行元は
		   `@media screen and (min-width:750px){ .choose__lead{font-weight:500;
		   font-size:1.8rem} }` で、太さと大きさを同じ節で切り替えている。
		   **境目は 750px である。**Issue の本文は「800px 以上」と書いているが、
		   これは測定点に 750px が無かったためで、749px = 400 / 750px = 500 を
		   現行で実測して確かめた（2026-09-02）. */
		font-size: 16px;
		font-weight: 500;
	}
}

/* 移行元は 1200px からこのリード文を 18px にする（実測: 750 / 1050 / 1199px は
   16px、1200 / 1440px は 18px）。テーマはこの段を持たず 16px のままだった
   （Issue #2620 の P3・B の 1 件）. */
@media (min-width: 1200px) {
	.front-choose__lead {
		font-size: 18px;
	}
}

/* 🚨 **札の上の空きは 2 か所で決める**（Task #3496）。見出しの塊の下外余白と、
 * 器の上の内余白（切り取り避け）の合計が「説明文から札まで」になる。ここに
 * 外余白を置くと、**隣り合う外余白は大きいほうへ合体する**ので、見出しの塊の
 * 下外余白を減らしても効かなくなる（実測: この 40px が残っていたため
 * パソコン幅で 95 対 80px と 15px 広かった）。0 にして 2 か所だけで決める. */
.front-choose__slider {
	margin-top: 0;
	/* 移行元 `div#choose-list`（Slick の器）は下外余白 `30px` を持つ。写しは
	 * この器に当たる `.front-choose__slider` が 0 で、代わりに横送りの帯
	 * （`.pa-slider__track`）が下の内余白 16px を持つ。**16px は写しだけの仕掛け**
	 * （横送りの帯の掴む余地）なので、残る 14px をこの器の外余白として置く
	 * （30 − 16 = 14。Bug #4326）。
	 *
	 * 🚨 **点（`.pa-slider__dots`）を流れから外すのと必ず対で入れる。**点が流れの
	 * 中にあると、その 28px（上外余白 8 + 高さ 20）が下の空きを二重に作る. */
	margin-bottom: 14px;
}

/* 🚨 **移行元の点は絶対配置で、区画の高さを作らない**（Bug #4326・ユーザー裁定 422）。
 *
 * 移行元 `.slick-dots` は `position: absolute` で、選び方の器の下へはみ出して置く。
 * 効く値は幅で 2 段ある（移行元の写し `public/assets/css/style.css`）:
 *   749px 以下  `.slick-dots { bottom: -40px }`
 *   750px 以上  `.choose__main .slick-dots { bottom: -50px }`（選び方だけの上書き）
 * 写しは点を流れの中に置いていたため、**区画の高さに 28px を足していた**
 * （上外余白 8px + 高さ 20px）。
 *
 * ずらす量は移行元の値そのままではなく、**写しの横送りの帯が持つ下の内余白 16px**を
 * 足して決める（移行元の器はこの内余白を持たない）。
 * よって 749px 以下は −40 + 16 = **−24px**、750px 以上は −50 + 16 = **−34px**。
 *
 * 🚨 **合わせる先は「点の器の上端」ではなく「丸の位置」である。**移行元の器は上に
 * 1rem の内余白を持ち、さらに点を横並びの行（`inline-block`）で組むため、丸は器の
 * 上端から 16px（携帯幅 15.53px）下に出る。**丸の下端は器の下端とちょうど重なる。**
 * 写しは `flex` で組むので器の高さが丸と同じ 20px であり、**器の下端をそろえれば
 * 丸の位置が合う**。だから `bottom` を移行元と同じ考え方で置ける。
 *
 * 実測（移行元 = 本番 www.p-a.jp・2026-09-07・区画の上端からの値）:
 *   幅 1440px  点の器 713.90〜749.90 / 丸の上端 **729.90**
 *   幅  375px  点の器 627.86〜663.39 / 丸の上端 **643.39**
 * 直したあとの写しは、点の器の下端が 749.90 / 663.39 に来るので丸の上端が一致する。
 *
 * 🚨 **当たり先を `.front-choose__slider` で絞る。**出会いの機会・コースとプランの
 * 横送りの点は流れの中のままで、1px も動かしてはいけない。
 *
 * 🚨 **`.is-enhanced` を付けて詳細度を 4 にそろえる。**先にある
 * `.front-page .pa-slider.is-enhanced .pa-slider__dots` と同じ重みにして、
 * 後に置くことで上書きする（`@media` は詳細度を上げない）。
 *
 * 器を切る指定は足していない（すぐ上の `.front-choose__inner` の注釈のとおり
 * `overflow: clip` を写していない）ので、下へはみ出した点は消えない. */
.front-page .front-choose__slider.is-enhanced .pa-slider__dots {
	position: absolute;
	right: 0;
	bottom: -24px;
	left: 0;
	margin-top: 0;
}

@media (min-width: 750px) {
	.front-page .front-choose__slider.is-enhanced .pa-slider__dots {
		bottom: -34px;
	}
}

/* 移行元は「前へ」の矢印を意図的に出していない
   （.choose__slider__arrow.-prev { display: none !important; }）。次へのみの
   片方向送りが移行元の設計であるため、ここでも同じく隠す。common な
   `.pa-slider.is-enhanced .pa-slider__arrow { display: grid; }` より詳細度が
   高くなるよう、移行元と同じく !important を使って確実に上書きする。Issue #2058. */
.front-page .front-choose__slider .pa-slider__arrow--prev {
	display: none !important;
}

/* 🚨 **移行元は「選び方」の送りボタンだけ、中身の無い `div` に絵を敷いている。**
   横送りの組み立て（本番 `assets/js/main.js`）が、区画ごとに別の札を作る。

     出会いの機会 … `<div class="meet__slider__arrow -next"><svg>…<circle class="arrow-circle" …/>…`
     選び方       … `<div class="choose__slider__arrow -next"></div>`   ← 中身が空

   空の `div` の見た目は背景の絵だけで決まる（本番 CSS の `.choose__slider__arrow.-next`）。

     @media screen and (min-width: 750px) {
       .choose__slider__arrow.-next { background: url(../img/top/arrow-black.png) center/contain no-repeat }
     }

   `arrow-black.png`（60 × 60px）の画素を数えた実測（2026-09-14・本番から取得）:
   `rgb(71, 71, 71)` が 2,645 画素（73.5%）・白が 55 画素（中の「>」）。
   **円は #474747 である。**純黒ではない。

   写しは区画によらず共通の SVG を描き、円へ `currentColor` を流すので、
   選び方の送りボタンも強調色（`#f54851`）の赤い丸になっていた（Bug #6101・
   ユーザーの目視 W44）。ここで移行元と同じ `#474747` を当てる。

   🚨 **`--pa-color-accent-strong` は書き換えない。**トップの導線ボタン・店舗一覧・
   出会いの機会の送りボタンも同じトークンを読む。**出会いの機会は移行元も赤である**
   （本番 CSS の `.meet__slider__arrow { color: var(--main-color) }`・
   `:root { --main-color: #f54851 }`。dev と同じ値なので差は無い）。だから
   **選び方の区画に限って**当てる。

   🚨 **選択子の重さを上の共通規則より重くする。**打ち消す相手は
   `.front-page .pa-slider.is-enhanced .pa-slider__arrow`（類名 4 個）なので、
   `.front-choose__slider` を足しただけの 3 個では負ける。同じファイルの
   14916 行付近の規則と同じ形（類名 5 個）で書く.

   携帯幅（749px 以下）は中の絵そのものを `display: none` にしている（Bug #3712）
   ので、この色は描かれない。移行元も同じ幅で絵を敷かない. */
.front-page .front-choose__slider.pa-slider.is-enhanced .pa-slider__arrow {
	color: var(--pa-palette-ink);
}

/* 🚨 **移行元は携帯幅でも「次へ」を出し、器の左端に置く**（Task #3398）。
 *
 * 実測（移行元 = 本番 www.p-a.jp・2026-09-04・1 回の読み込みで 4 幅）:
 *
 * | 幅 | 前へ | 次へ | 器の左端 |
 * |---|---|---|---|
 * | 375px  | 描かれない | x **14.31** / 40 × 40px | 14.31 |
 * | 749px  | 描かれない | x **28.58** / 40 × 40px | 28.58 |
 * | 750px  | 描かれない | x 630.02 / 40 × 40px | 83.34 |
 * | 1440px | 描かれない | x 910 / 60 × 60px | 160.02 |
 *
 * **幅 749px 以下では「次へ」の左端が器の左端と同じ値になる。**移行元の CSS は
 * `.choose__slider__arrow.-next` に `right` を幅 750px 以上の帯でしか書いておらず、
 * 携帯幅では左右どちらの指定も持たない。`position: absolute` で左右の指定が無い
 * 要素は**流れの中にいたときの場所（静的位置）に残る**ので、器の左端へ来る。
 * 縦は `top: 50%` + `translateY(-50%)` で、器（Slick が `position: relative` を
 * 付ける `.choose__body`）の高さの中央である。
 *
 * 写しは共通の `.pa-slider__arrow--next { right: 0 }` のままで、幅 375px の実測が
 * x 320.69 だった（器の右端）。ユーザーの目視の指摘（S02 の ⑥「右送りのボタンが
 * ある」）はこの置き場所を指している。
 *
 * 🚨 **移行元の CSS には「携帯幅で送りボタンを隠す」宣言があるが、1 度も効いていない。**
 *
 *   @media screen and (max-width:749px) { .choose__slider__arrow { display: none } }
 *
 * Slick は組み立てのときに jQuery の `.show()` を矢印へ呼ぶ（`slick.js` の
 * `Slick.prototype.initUI`）。`.show()` は要素へ `style="display: block"` を直接
 * 書き込むので、器の指定（`!important` 無し）は負ける。「前へ」だけが隠れて
 * 見えるのは、そちらが `display: none !important` を持つからである。
 * **CSS の宣言だけを根拠に「隠れている」と判断してはいけない。**この読み違いで
 * 一度「携帯幅で隠す」直しを書き、実測で取り下げた.
 */
@media (max-width: 749px) {
	.front-page .front-choose__slider .pa-slider__arrow--next {
		right: auto;
		left: 0;
	}

	/* 🚨 **移行元は携帯幅で矢印の絵を敷かない**（Bug #3712）。上の注釈のとおり、
	 * 移行元の `display: none` は横送りの JS に打ち消されて効かないが、
	 * **矢印の絵そのものが 750px 以上でしか当たらない。**
	 *
	 *   @media screen and (min-width: 750px) {
	 *     .choose__slider__arrow.-next { background: url(../img/top/arrow-black.png) ... }
	 *   }
	 *
	 * つまり移行元の携帯幅には「押せるだけで何も描かれない 40 × 40px の領域」が
	 * ある。写しは共通の横送り部品が SVG（赤い丸と白い「>」）を描くので、
	 * 移行元が何も描かない幅でも矢印が見え、次の札の青い吹き出しの見出しに
	 * 重なっていた。
	 *
	 * 実測（2026-09-05・幅 375px・矢印の箱 x 14.31 / 40 × 40px を画素で数えた）:
	 *
	 *   移行元 6,400 画素のうち 6,280 が白（残り 75 は後ろの青い箱の角）
	 *   写し   4,363 画素が赤 rgb(245, 72, 81)
	 *
	 * 🚨 **絵だけを消し、ボタンは残す。**移行元でもこの 40 × 40px は押せて、
	 * 押すと次の札へ送られる。ボタンごと消すと押せる領域まで変わる。
	 * 置き場所（左端）は Task #3398 が実測でそろえた値なので触らない. */
	.front-page .front-choose__slider .pa-slider__arrow--next .pa-arrow {
		display: none;
	}
}

/* 🚨 **携帯幅の札は「画面幅 − 28px」で、間隔は移行元の 1rem である**（Task #3398）。
 *
 * 移行元の宣言は 2 本ある。
 *
 *   @media(max-width:749px){ .choose .slick-initialized .slick-slide { max-width: calc(100vw - 2em) } }
 *   @media screen and (max-width:749px){ .choose__item { margin-right: 1rem } }
 *
 * **引き算の 28px は画面幅によらず一定である。**実測で幅 375px も 749px も
 * ちょうど 28px 引いた値だった（375 − 347 = 28・749 − 721 = 28）。`2em` の `em` が
 * 14px 固定であるためで、**画面幅に比例しない**。器の左右の内余白（1.5rem × 2 =
 * 7.63vw）とは別物なので、器の幅（`100%`）で写すと幅 749px で 29px 足りなくなる
 * （実際にそう書いて実測で取り下げた）。
 *
 * **札は器より広く、はみ出した右側は器が切り取る**（移行元は `.choose { overflow: clip }`・
 * 写しは器の `overflow-x: auto` で送れる）。よって携帯幅では隣の札が覗かない。
 *
 * 実測（両側とも同じ道具・同じ幅で測った。移行元 = 本番 www.p-a.jp・2026-09-04）:
 *
 * | 幅 | 移行元の札 | 移行元の刻み | 写し・直す前の札 | 同・刻み |
 * |---|---|---|---|---|
 * | 375px | **347** | 356.53 | 312（器の 90%） | 328 |
 * | 749px | **721** | 740.05 | 623（器の 90%） | 639 |
 *
 * 間隔は札の幅に 1rem を足した差から出る（356.53 − 347 = 9.53px・740.05 − 721 = 19.05px）。
 * これは携帯幅の 1rem（`2.5445292621vw`。375px で 9.542・749px で 19.06）と一致する。
 * **札の幅は固定の引き算・間隔は画面幅に比例**という組み合わせである。
 *
 * 🚨 **px で写してはいけない。**携帯幅の 1rem は画面幅に比例する（このファイルの
 * 先頭の注釈を読む）。幅 749px では 1rem が 19.06px になり、器と札は 691.8px になる.
 */
@media (max-width: 749px) {
	.front-page .front-choose__list {
		gap: calc(1 * var(--pa-sp-rem));
	}

	.front-page .front-choose__list .pa-slider__item {
		flex: 0 0 calc(100vw - 28px);
	}
}

/* 🚨 **見出しの札のはみ出す分だけ、器の上に場所を空ける**（Task #3496）。
 * 横スクロールの器（`overflow-x: auto`）は上へはみ出した部分を切り落とすため、
 * **いちばん深くはみ出す札（`--lg`）の持ち上げ量と同じ内余白**が要る
 * （750px 以上は 5.5rem = 55px・749px 以下は 4.5rem）。
 *
 * 🚨 **この内余白は「説明文から札までの間隔」と連動する。**器の上の内余白を
 * 増やすと札が同じだけ下がるので、直前の見出しの塊（`.pa-section-head`）の下
 * 外余白を同じだけ減らして、合計を移行元にそろえる。移行元の実測:
 *
 *   幅      説明文の下端から札の上端まで
 *   375px   66.78px（= 7rem）
 *   749px   133.39px（= 7rem）
 *   750px   80px
 *   1440px  80px
 *
 * 内訳: 750px 以上は 25px（見出しの塊）+ 55px（この内余白）= 80px、
 * 749px 以下は 2.5rem + 4.5rem = 7rem である. */
.front-page .front-choose__list {
	padding-top: 55px;
}

.front-choose__item {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: space-between;
	padding: 50px 15px 20px;
	border-radius: 10px;
	background-color: var(--pa-color-bg);
	box-shadow: 8px 8px 5px rgba(0, 0, 0, 0.05);
}

/* 見出しは、雲の形の絵（choose_shape.webp）を背中に敷いて札の上辺へ載せる */
.front-choose__item-title {
	position: absolute;
	top: -35px;
	left: 0;
	z-index: 1;
	width: 100%;
	margin: 0;
	padding: 20px;
	color: var(--pa-color-text);
	font-size: 1.1em;
	font-weight: 600;
	/* 🚨 **行送りは 1.5 である**（Task #3496）。移行元 `.choose__item__title` は
	 * `line-height` の指定を持たず、body の 1.5 を継ぐ。写しは 1.4 を当てていた
	 * ため、見出しの高さが幅 375px で 56.86 対 58.19px、750px で 79.59 対 81px、
	 * 1440px で 85.19 対 87px と、どの幅でも 1.3〜1.8px 低かった. */
	line-height: 1.5;
}

/* 雲の形の絵。**高さは見出しの高さに追随しない**（Task #3496）。移行元は
 * `@media (min-width: 750px) { height: 8.6rem }` /
 * `@media (max-width: 749px) { height: 7.4rem }` の固定の rem で、2 行になる札
 * （`--lg`）でも絵の高さは変わらず `top` だけが下がる。写しは `height: 100%` で
 * 見出しに追随していたため、2 行の札で絵が 24px 縦に伸びていた。
 *
 * 実測（移行元の絵の高さ）: 70.61px（375px）／141.03px（749px）／86px（750px 以上）. */
.front-choose__item-title::before {
	content: "";
	position: absolute;
	top: 3px; /* 移行元 .3rem */
	left: 0;
	z-index: -1;
	width: 100%;
	height: 86px; /* 移行元 8.6rem */
	background: url("../images/top/choose_shape.webp?ver=846037feb9a4") no-repeat;
	background-size: 100% 100%;
}

/* 🚨 **見出しの持ち上げ量は札ごとに 3 通りある**（Task #3496）。移行元は題名の
 * 行数に応じて `-lg`（2 行）と `-mdLg` を手で振り分けている。写しは 1 つの
 * 固定値（-35px）しか持たず、**2 枚目と 4 枚目が 20px 低い位置**に出ていた。
 *
 * 実測（札の上端からの持ち上げ量。移行元 / 写し・直す前）:
 *
 *   札          目印      375px          749px          750px      1440px
 *   1 枚目      （なし）  33.39 / 35     66.70 / 35     35 / 35    35 / 35
 *   2・4 枚目   `--lg`    42.94 / 35     85.75 / 35     55 / 35    55 / 35
 *   3・5 枚目   `--mdlg`  28.63 / 35     57.17 / 35     35 / 35    35 / 35
 *
 * 移行元は `-mdLg` に 750px 以上の指定を持たないので、その帯では素の値
 * （3.5rem = 35px）と同じになる。ここでも `--mdlg` の帯別の指定は置かない. */
.front-choose__item-title--lg {
	top: -55px; /* 移行元 -5.5rem */
}

.front-choose__item-title--lg::before {
	top: 15px; /* 移行元 1.5rem */
}

/* 🚨 **課題の文の下の外余白は 40px である**（Task #3474）。移行元
 * `.choose__item .sec__text { margin-bottom: 4rem }` は、750px 以上の 1rem が 10px
 * なので 40px になる。写しは 32px で、**これが札の高さの 8px の差の全部だった**
 * （実測 2026-09-04・幅 750px と 1440px で移行元 351.13px 対 写し 343.13px）。
 *
 * 札の中を 1 要素ずつ全数でたどって突き合わせたところ、要素の数も他の高さも
 * 一致しており、違うのはこの外余白だけだった:
 *
 *   要素          移行元    写し・直す前
 *   課題の文      50.38px   50.38px（一致）
 *   その下の余白  40px      32px      ← ここだけ
 *   答えの面      135.56px  135.56px（一致）
 *   札の内余白    70/30px   70/30px（一致）
 *
 * 749px 以下は下の `@media (max-width: 749px)` が `calc(4 * var(--pa-sp-rem))` で
 * 上書きするので、この値が効くのは 750px 以上だけである. */
.front-choose__issue {
	margin: 0 0 40px; /* 移行元 4rem */
}

/* 答えの面は青地に白文字。移行元の .choose__item__content（--sub-color） */
.front-choose__answer {
	position: relative;
	margin-top: auto;
	padding: 30px 20px;
	border-radius: 15px;
	background-color: var(--pa-palette-blue);
}

.front-choose__answer-label {
	position: absolute;
	top: -20px;
	left: 20px;
	padding: 5px 10px;
	border: 2px solid var(--pa-palette-blue);
	border-radius: 10px;
	background-color: var(--pa-palette-white);
	color: var(--pa-palette-blue);
	/* 移行元 .choose__content__topText は 750px 以上で 15px（本文層の 14px を
	 * 継がず、body のアンビエントのまま）。Issue #2172 で全要素を突き合わせて
	 * 見つけた差分（明示指定が無く 15px→14px へ引きずられて壊れていた）. */
	font-size: 15px;
	font-weight: 600;
}

.front-choose__answer-text {
	margin: 0;
	color: var(--pa-palette-white);
	font-weight: 600;
	letter-spacing: 0.05em;
}

/* 🚨 **上付き文字は移行元のサイト共通の指定を写す**（Bug #3587）。移行元は初期化で
 * `sup { font-size: .7em; vertical-align: super; padding: 0 5px 10px 5px }` を全体に
 * 当てている。テーマは `sup` の共通指定を持たず**当たる場所ごとに書く作り**なので、
 * ここだけ指定が抜けてブラウザ既定（`smaller` ≒ 0.83em・内余白 0）になっていた。
 *
 * 実測（2026-09-05・幅 375px・iPhone の名乗り。移行元 / 直す前の写し）:
 *   字 8.68321 / 10.3372px・箱 17.47×20 / 8.77×12・答えの段落の高さ 133.97 / 137.09px
 * 大きさが違うぶん最後の行の折り返しも変わっていた（文の外接矩形の幅 277.64 / 273.06）。
 *
 * 🚨 **`sup` の共通規則を新設しない。**ページ内の `sup` は両側とも 8 個で、
 * 残る 7 個（割引の金額 3 個・比較表 4 個）はすでに場所ごとの規則で移行元と
 * そろっている（`.front-discount__amount sup` / `.pa-compare-table sup`）。
 * 共通規則を足すと、その 7 個と二重に当たって値の出どころが分かりにくくなる.
 *
 * `vertical-align: super` はブラウザ既定と同じなので書かない（実測で両側 super）. */
.front-choose__answer-text sup {
	padding: 0 5px 10px 5px;
	font-size: 0.7em;
}

/* 人物の絵は 749px 以下では出さない。移行元も同じ扱いである */
.front-choose__staff {
	display: none;
}

@media (min-width: 750px) {
	/* 🚨 **器に左右の内余白を持たせない**（Task #3240）。移行元の `.choose__main` は
	 * 左右の内余白を持たず、器の幅がそのまま札の割合の基準になる。写しは「送りボタンの
	 * 下へ札が潜り込まないよう」左右 60px を空けていたが、**これが札の幅が 730px に
	 * 届かない真因**だった（下の `flex-basis` の注釈を見る）。移行元の送りボタンは
	 * 札の右隣の隙間に置くので、器を空ける必要が無い。 */
	.front-page .front-choose__list {
		padding-inline: 0;

		/* 🚨 **札の間隔は 100px である**（幅 1024px 以上）。移行元は
		 * `.choose__item { margin-right: 10rem }`（幅 750px 以上の 1rem は 10px）で、
		 * 札の幅 730px と足して**送りの刻みは 830px** になる。実測（幅 1440px）:
		 * 札が x=160.02 / 990.02 / 1820.02 と 830px 刻みで並ぶ。
		 * 写しは器の共通の `gap: 16px` のままで刻み 677px だった。
		 * 幅 750〜1023px は移行元が `margin-right: 6rem` = 60px なので下の帯で戻す. */
		gap: 100px;
	}

	/* 🚨 **札の幅は幅 750px 以上のどこでも 730px 固定である**（Task #3240）。
	 *
	 * 移行元の宣言は `.choose__item { width: 57.03125%; max-width: 730px }` だが、
	 * **この百分率は器（`.choose__main`）を基準にしていない**。Slick は
	 * `variableWidth: true` のとき `.slick-track` の幅を 25000px という大きな値で
	 * 書き込むので、札の百分率はその中の枠を基準に解かれ、**どの幅でも頭打ちの
	 * 730px に達する**。
	 *
	 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 に取得）:
	 *
	 * | 画面幅 | 器 | 帯（slick-track） | 札 | 送りの刻み |
	 * |---|---|---|---|---|
	 * | 750px  | 666.66 | 25000 | **730** | 790 |
	 * | 1023px | 909.33 | 25000 | **730** | 790 |
	 * | 1024px | 910.22 | 25000 | **730** | 830 |
	 * | 1199px | 1065.77 | 25000 | **730** | 830 |
	 * | 1440px | 1279.98 | 25000 | **730** | 830 |
	 * | 1999px | 1279.98 | 25000 | **730** | 830 |
	 *
	 * **幅 750〜1279px では札のほうが器より広く、器（`overflow: clip`）が右をはみ出させる。**
	 *
	 * 器の幅を基準に 57.03125% を掛けると、幅 1440px では偶然 730px に一致するが
	 * （1279.98 × 0.5703125 = 730）、それより狭い帯では足りない（1023px で 519px・
	 * 1199px で 608px）。**移行元の宣言をそのまま写すのではなく、実測した効き目
	 * （730px 固定）を写す。**
	 *
	 * 写しが 661px にとどまっていた元の原因は、器に左右 60px の内余白があり
	 * `flex-basis` の百分率の基準が 1279.98 − 120 = 1159.98px に減っていたことである
	 * （内余白は上で外した）. */
	.front-page .front-choose__list .pa-slider__item {
		flex: 0 0 730px;
		max-width: 730px;
	}

	.front-choose__item {
		padding: 70px 30px 30px;
		border-radius: 20px;
	}

	/* 見出しの大きさは移行元に合わせて 14px にする。移行元は 1199px までが 14px、
	   1200px から 18px である（実測: 750 / 1050 / 1199px は 14px、1200 / 1440px は
	   18px）。テーマは 1.2em（本文層 14px に対し 16.8px）を全域に当てていた
	   （Issue #2620 の P3・C の 3 件）。1200px 以上は下の帯で 18px にする. */
	/* 器の上の内余白 55px と足して、移行元の「説明文から札まで 80px」にそろえる
	 * （Task #3496）。写しは 60px + 40px = 100px で 20px 広かった. */
	.front-choose .pa-section-head {
		margin-bottom: 25px;
	}

	.front-choose__item-title {
		left: 30px;
		width: 90%;
		max-width: 404px;
		padding: 30px 20px;
		font-size: 14px;
	}

	.front-choose__answer {
		padding: 30px;
	}

	.front-choose__answer-label {
		left: 30px;
	}

	.front-choose__answer-text {
		width: 78%;
	}

	/* 移行元は札の幅に対する割合（23.17%）で置いていたが、この節の札は移行元より狭い。
	   同じ割合を写すと絵が 118px まで縮むため、移行元の表示の大きさ 146px を直に指定し、
	   札が狭い画面幅では割合で縮める（Issue #1629 の C1-G13）. */
	/* 🚨 **人物の絵の器は答えの面の 23.1746031746%** である（Task #3496）。移行元
	 * `@media screen and (min-width: 750px) { .choose__item__staff { position: absolute;
	 * width: 23.1746031746%; right: 0; bottom: 0 } }` で、答えの面 670px に対して
	 * 155.27px になる。**絵そのものは器いっぱいに広がらず、原寸の 146px のまま器の
	 * 左に置かれる**（移行元の `img` は CSS の幅を持たず、原寸 146 × 155px で描かれる）。
	 *
	 * 写しは器を 146px の固定値にし、絵を `width: 100%` で器いっぱいに広げていた。
	 * 絵の大きさは同じ 146px だが、**器が 9.27px 狭いぶん絵が右へ寄っていた**
	 * （実測・幅 750px: 移行元は絵の右端が面の右端から 9.27px 内側／写しは面の右端）。
	 *
	 * 写しの絵は 2 倍の大きさ（292 × 310px）で持っているので、原寸に当たる 146px を
	 * 明示する（`width: 100%` のままでは器の 155.27px まで伸びてしまう）. */
	.front-choose__staff {
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		width: 23.1746031746%;
	}

	.front-choose__staff img,
	.front-choose__staff .front-placeholder {
		display: block;
		width: 146px;
		max-width: 100%;
	}
}

/* 🚨 選び方の札の間隔は、幅 750〜1023px だけ 60px である（Task #3240）。
 * 移行元 `@media screen and (min-width: 750px) and (max-width: 1023px) {
 * .choose__item { margin-right: 6rem } }`。1024px 以上は 100px（上の帯）. */
@media (min-width: 750px) and (max-width: 1023px) {
	.front-page .front-choose__list {
		gap: 60px;
	}
}

/* 🚨 **選び方の「次へ」は、札の右隣に来るように幅の帯ごとに位置が変わる**
 * （Task #3240）。移行元の当て方は次のとおりで、器（`.choose__main`）の右端からの
 * 距離で置く。写しは `right: 0` で器の右端にあった。
 *
 * | 幅 | 移行元の `right` | 実測（器と送りボタンの x） |
 * |---|---|---|
 * | 750〜1023px | 12% | 器 113.67〜1023 のとき x=873.89〜913.89（right 109.109px） |
 * | 1024〜1199px | 18% | 器 133.23〜1199 のとき x=967.17〜1007.17（right 191.828px） |
 * | 1200〜1399px | 26% | 器 133.34〜1200 のとき x=862.67〜922.67（right 277.328px） |
 * | 1400px 以上 | 47rem = 470px | 器 160.02〜1440 のとき x=910〜970 |
 *
 * 移行元は `@media(min-width:1024px) and (max-width:1399px){ right: 26% }` のあとに
 * `@media(min-width:750px) and (max-width:1199px){ right: 18% }` を置いているので、
 * **1024〜1199px では後ろの 18% が勝つ**（26% が効くのは 1200〜1399px だけ）。
 * 帯を取り違えないよう、ここでは重ならない帯で書く。
 *
 * 器の大きさは 1199px 以下が 40 × 40px・1200px 以上が 60 × 60px である
 * （移行元 `@media(max-width:1199px){ .choose__slider__arrow { width: 40px; height: 40px } }`）。
 * 「前へ」は移行元が `display: none !important` で常に隠しており、写しも同じ
 * （`.front-choose__slider .pa-slider__arrow--prev`）なので触らない. */
@media (min-width: 750px) and (max-width: 1023px) {
	.front-page .front-choose__slider .pa-slider__arrow--next {
		right: 12%;
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.front-page .front-choose__slider .pa-slider__arrow--next {
		right: 18%;
	}
}

@media (min-width: 1200px) and (max-width: 1399px) {
	.front-page .front-choose__slider .pa-slider__arrow--next {
		right: 26%;
	}
}

@media (min-width: 1400px) {
	.front-page .front-choose__slider .pa-slider__arrow--next {
		right: 470px; /* 移行元 47rem（幅 750px 以上の 1rem は 10px） */
	}
}

@media (min-width: 750px) and (max-width: 1199px) {
	.front-page .front-choose__slider.pa-slider.is-enhanced .pa-slider__arrow {
		width: 40px;
		height: 40px;
	}

	.front-page .front-choose__slider .pa-slider__arrow .pa-arrow {
		width: 40px;
		height: 40px;
	}
}

/* 移行元は 1200px からこの見出しを 18px にする（実測: 750 / 1050 / 1199px は
   14px、1200 / 1440 / 1600 / 1920px は 18px）。上の 750px の帯で 14px を敷き、
   ここで上げる（Issue #2620 の P3・C）. */
@media (min-width: 1200px) {
	.front-choose__item-title {
		font-size: 18px;
	}
}

/* ==============================================================
 * 11. 会員のホンネ体験談
 * ============================================================== */

/* 移行元は、薄い黄緑の面を画面の右端まで伸ばし、左側だけを丸めていた。
   面からはみ出す絵があるため、節の外へこぼれた分は切り落とす. */
.front-experience {
	overflow: clip;
}

/* 🚨 **黄色い面の右端は画面の右端ではなく「中央にそろえた 1440px の器」の右端である**
 * （Task #3237）。移行元は `section.experience > div.content__inner`
 * （`width: 100%; max-width: 1440px; margin: 10px auto 0`）の中で `.experience__main`
 * を `margin-left: auto` で右そろえしている。テーマはこの中間の器を持たないため、
 * 画面幅が 1440px を超えると面がそのまま画面の右端まで届いてしまう。
 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 04:0x JST に取得）: 幅 1999px で移行元
 * 439.5〜1719.5 に対し写しは 719〜1999。幅 1440px と 1200px は一致していた。
 * ユーザー目視の「『会員のホンネ体験談』の黄色背景の幅が移行元と違う」はこれである。
 *
 * 右の外余白に「画面幅が 1440px を超えたぶんの半分」を入れると、中間の器を足した
 * ときと同じ右端になる（1440px 以下では 0 なので現状と変わらない）。
 *
 * 幅の側は器を足さなくても全幅で一致する。画面が 1440px 以下なら中間の器の幅は画面幅
 * そのものなので、90%（この器の素の指定は 95%）の基準が両側で同じになる。1440px を
 * 超えると中間の器は 1440px で止まり、90% が 1280px の頭打ちに達するため、画面幅
 * そのものを基準にした写しの側も同じ 1280px になる。**この境目は
 * 1280 ÷ 0.9 = 1422.2px である**（選び方の器は 88.888% なので境目が
 * 1280 ÷ 0.888888… = 1440px で、値が違う）. */
.front-experience__inner {
	width: 95%;
	max-width: var(--pa-inner-md);
	margin: 0 max(0px, (100% - 1440px) / 2) 0 auto;
	padding: var(--pa-space-md) var(--pa-inner-gutter);
	border-radius: 30px 0 0 30px;
	background-color: var(--pa-front-experience-bg);
}

/* 人物の写真 2 枚と吹き出し 3 つを組み合わせた貼り絵。移行元は格子（grid）ではなく、
   1 枚ずつ絶対位置で重ねて置いている。文の長さで崩れないよう格子へ組み替えていたが、
   これが縦の間延びと吹き出し画像の扁平化の原因だった（Issue #2059）。移行元と同じ
   絶対位置の重ね置きへ戻す。器（この要素）の高さと基準点は下の各メディアクエリで
   幅ごとに指定する（移行元の .erperience__top も高さの指定が広い画面だけにある）. */
.front-experience__collage {
	position: relative;
}

/* 🚨 **写真には幅を書かない。**移行元は共通 CSS の `img{max-width:100%;height:auto}`
   だけを効かせ、`<img width="503" height="503">` の属性で大きさを決めている。器が
   写真より狭いときだけ縮み、器が広くなっても属性の大きさで止まる。

   `width: 100%` と書くと器に合わせて引き伸ばすため、器が属性の大きさを超える帯で
   移行元より大きくなる。この区画は 749px 以下で器が画面幅に比例するので、幅が
   広がるほど差が開いていた（区画の高さが 650px で +78.05px、700px で +107.44px、
   749px で +140.2px。Bug #2889）。実測（両側で同じ測り方・2026-09-02）:

   | 幅 | 器 | 移行元の写真 | 直す前の dev の写真 |
   |---:|---:|---:|---:|
   | 375px | 220.41 | 220.41（器が狭いので縮む） | 220.41 |
   | 650px | 382.05 | **304**（属性で止まる） | 382.05 |
   | 749px | 440.25 | **304** | 440.25 |

   この既定は同じ CSS の `img{max-width:100%;height:auto}`（「画像の縦揃え」の節の
   すぐ上）が持つので、写真には何も書かないのが移行元と同じ結果になる。

   画像が無いときの代替の箱（.front-placeholder）は属性を持たないため、器いっぱいに
   広げる指定を残す（縦横比は front-page.php が style 属性で与える）. */
.front-experience__figure img {
	display: block;
}

.front-experience__figure .front-placeholder {
	display: block;
	width: 100%;
}

/* 吹き出しの形は背景画像で作る。移行元は幅の区間（≥1200px・750〜1199px・
   ≤749px）ごとに固定の余白（padding）と高さで吹き出し 1 つずつの縦横比を
   決めており、割合の余白は使っていない。ここでは位置決めの基準
   （position: absolute）だけを全ての幅に効かせ、余白と高さは各区間の
   メディアクエリ側で指定する（移行元の .exp__comment__item__top 等も
   広い画面・狭い画面の両方で絶対位置）. */
.front-experience__cloud {
	display: block;
	position: absolute;
	background: url("../images/top/exp_cloud01.webp?ver=56a7e26edfe9") no-repeat;
	background-size: 100% 100%;
	color: var(--pa-color-text);
	text-decoration: none;
}

.front-experience__cloud--2 {
	background-image: url("../images/top/exp_cloud02.webp?ver=9ff901afab87");
}

.front-experience__cloud--3 {
	background-image: url("../images/top/exp_cloud03.webp?ver=7f73d075a054");
}

.front-experience__text {
	margin: 0;
	line-height: 1.5;
}

/* 🚨 **本文は 750〜1399px の帯だけ 12px である**（Bug #3643）。移行元は
 * `@media screen and (min-width: 750px) and (max-width: 1399px) { .exp__text
 * { font-size: 1.2rem } }` を持ち、この帯の root は 10px 固定なので 12px になる。
 * 帯の外は継いだ 15px（1400px 以上）と、画面幅に比例する値（749px 以下）である。
 *
 * 写しはこの帯の指定を持たず、750〜1399px でも 15px のままだった。**1.25 倍の字は
 * 吹き出しに収まらない。**移行元と同じ全文（64〜93 字）を入れると、幅 750px の
 * 2 枚目で中身が吹き出しから 29.89px はみ出した（実測）。12px へそろえると
 * 移行元と同じ 5 行 90px に収まる。
 *
 * 実測（本文の字。移行元 / 直す前の dev）:
 *   1440px  15px / 15px（一致）
 *   1050px  12px / 15px
 *   1000px  12px / 15px
 *    900px  12px / 15px
 *    800px  12px / 15px
 *    750px  12px / 15px
 *    749px  24.7761px / 24.7761px（一致。携帯幅の帯）
 *    375px  12.4046px / 12.4046px（一致）
 *
 * 🚨 **上の帯の終わりは 1399px である**（テーマがよく使う 1050px や 1200px ではない）. */
@media (min-width: 750px) and (max-width: 1399px) {
	.front-experience__text {
		font-size: 12px;
	}
}

/* 🚨 **上の余白を持たせない。**移行元は語り手の名前の上外余白が全幅で `0px` である
 * （実測: 幅 1440 / 1200 / 749 / 375 / 320px のいずれでも本文の下端と名前の上端が
 * 同じ位置）。写しの CSS には `.exp__name { margin-top: 0.5rem }` と書いてあるが、
 * **配信中の移行元では `0px` が勝っている**ので写しの字面を当てにしない
 * （[Bug #4773](https://github.com/mationinc/wp-platform/issues/4773)）. */
.front-experience__name {
	margin: 0;
	font-weight: 600;
}

/* 語り手の名前（移行元 `.exp__name`）は、パソコン幅の全域で 13px である
   （実測: 幅 750 / 1050 / 1199 / 1200 / 1440px のいずれでも 13px）。テーマは
   大きさを指定しておらず、祖先の 15px をそのまま継いでいた
   （Issue #2620 の P3・C の 3 件）。749px 以下は別の帯なのでここでは触らない. */
@media (min-width: 750px) {
	.front-experience__name {
		font-size: 13px;
	}
}

/* 🚨 **上の余白を持たせない。**移行元は「詳しく見る」の器（`.exp__btnWrap`）の
 * 上外余白が全幅で `0px` である（実測: 幅 1440 / 1200 / 749 / 375 / 320px のいずれでも
 * 名前の下端と同じ位置から始まる）。`gap: 8px` は字と矢印の**横**の間隔なので残す
 * （[Bug #4773](https://github.com/mationinc/wp-platform/issues/4773)）. */
.front-experience__more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	color: var(--pa-front-brown);
	font-weight: 600;
}

/* 携帯幅の「詳しく見る」の字の大きさ（Bug #10020・事業部の指摘 W02・P0）。移行元は
 * `.exp__btn { font-size: 1.5rem }`（`public/assets/css/style.css`）で、749px 以下の 1rem は
 * 画面の幅に比例する（`html { font-size: 2.5445292621vw }`）。幅 375 で 9.542 × 1.5 = 14.313px.
 * dev は字の大きさを持たず、吹き出し（`.front-experience__cloud`）から 1.3 × 9.542 = 12.4046px を
 * 受け継いでいた（2026-10-09 17:52 の実測・T 席）。同じ比例の物差し `--pa-sp-rem`（`.front-page` に
 * 749px 以下だけ定義）で 1.5 倍にする。行の高さは受け継ぐ 1.5 倍のままで、移行元と同じ 21.47px になる.
 * 750px 以上は移行元も 15px の固定で、dev も 15px を受け継ぐので触らない. */
@media (max-width: 749px) {
	.front-experience__more {
		font-size: calc(1.5 * var(--pa-sp-rem));
	}
}

.front-experience__more .pa-arrow {
	position: static;
	width: 24px;
	height: 24px;
	transform: none;
}

.front-experience__action {
	margin: 0;
}

/* 「会員のホンネ体験談を見る」ボタンだけ、共通の外余白
 * （.front-page .pa-more-button{margin:2em auto 0}）を打ち消す。移行元は
 * このボタンにだけ .m0（margin:0 !important）を当てており、上下左右の余白が無い
 * （Bug #2250）。ほかの導線ボタン 10 か所（共通部品でそのまま移行元と
 * 一致済み）には触れない. */
.front-experience__action .pa-more-button {
	margin: 0;
}

@media (min-width: 750px) {
	.front-experience__inner {
		width: 90%;
		/* 移行元の .experience__main の max-width: 1280px に合わせる（Issue #2570）。 */
		max-width: 1280px;
		/* 区画の上端との空き 10px（Bug #4417）。
		 *
		 * 移行元は区画の直下に中間の器 `div.content__inner`
		 * （`width: 100%; max-width: 1440px; margin: 10px auto 0`）を持ち、
		 * **この 10px は 750px 以上だけ効く**（749px 以下は 0）。テーマはこの中間の器を
		 * 持たないため、器ごとに 10px を移す。
		 *
		 * 実測（移行元 = 本番 https://www.p-a.jp/ と dev を同じ測り方で・2026-09-08）:
		 *   幅 1440px  移行元の器の上外余白 10px / dev 0px  → 区画が 10px 上に寄る
		 *   幅  375px  両側 0px（差なし）
		 *
		 * 🚨 **素の規則は `margin` の一括指定で上を 0 にしている**（この節の上の
		 * `.front-experience__inner`）。細かい指定をこの帯（素の規則より後ろ）に
		 * 置いて上書きする。一括指定をこの帯に書くと、右の外余白
		 * `max(0px, (100% - 1440px) / 2)` まで消える。
		 *
		 * 🚨 **この 10px を足すと、この区画より下の区画の絶対位置が 10px 下がる**
		 * （実測: よくあるご質問・写真の帯・注目コンテンツ・店舗一覧・お知らせ・
		 * 申し込みの帯・無料婚活体験の 7 つ）。位置を絶対値で見張っている
		 * CSS の寸法の回帰テストは期待値の打ち直しが要る。
		 * **区画そのものの高さは増えない**（実測 +0.00px。外余白は区画の高さに
		 * 含まれず、区画を下へ押すだけである）。
		 *
		 * 同じ型は選び方（`.front-choose__inner`・Bug #4326）と結婚相談所の比較
		 * （`.front-comparison__container`）で既に入っている. */
		margin-top: 10px;
		padding: var(--pa-space-md) 50px;
		border-radius: 40px 0 0 40px;
	}

	/* 移行元と同じ、1 枚目の写真を器の左上へはみ出させ、吹き出し 3 つを重ねて
	   置く貼り絵に戻す。値は移行元の .erperience__top / .img__experience__top /
	   .img__experience__btm / .exp__comment__item__top /
	   .exp__comment__item__btm / .experinece__comment__btm__item をそのまま
	   移した（Issue #2059）。この幅では根の文字が 10px 固定なので、移行元の
	   rem 値は 10 倍して px に換算してある（例: 12rem → 120px）. */
	.front-experience__collage {
		height: 500px;
		margin-bottom: 100px;
	}

	.front-experience__figure--first {
		position: absolute;
		width: 42.6271186441%;
		top: -120px;
		left: -150px;
	}

	.front-experience__figure--second {
		position: absolute;
		width: 25.7627118644%;
		top: 41%;
		right: 19%;
	}

	.front-experience__cloud--1 {
		width: 43.8983050847%;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		height: 310px;
		padding: 60px 70px;
		font-size: 15px;
	}

	/* 吹き出し 1 だけ、中央寄せに transform: translateX(-50%) を使っている
	   （750px 未満は使わない）。一方、登場演出（pa-reveal・上の「登場演出」区画）も
	   is-revealed で transform（translateY）を animation 経由で書き込むため、
	   共通の pa-fadein キーフレームをそのまま使うと 2 つの transform が競合し、
	   演出が終わった瞬間に横方向のずらしだけが消えて右へ半幅ずれ、750〜1199px では
	   .front-experience の overflow: clip で右端が欠ける（PR #2085 のレビュー
	   指摘）。この幅専用のキーフレームで、縦の演出中も translateX(-50%) を
	   保ち続ける. */
	.front-experience__cloud--1.pa-reveal.is-revealed {
		animation-name: pa-fadein-cloud-centered;
	}

	.front-experience__cloud--2 {
		width: 43.0508474576%;
		bottom: -9%;
		left: 0;
		height: 287px;
		padding: 80px 120px 40px 80px;
		font-size: 15px;
	}

	.front-experience__cloud--3 {
		width: 40.4237288136%;
		top: 76%;
		right: 19%;
		height: 287px;
		padding: 80px 120px 70px 80px;
		font-size: 15px;
	}

}

/* 吹き出し 1（.front-experience__cloud--1）専用の登場演出。中央寄せの
   translateX(-50%) を保ったまま、縦方向だけ pa-fadein と同じ動きにする. */
@keyframes pa-fadein-cloud-centered {
	0% {
		opacity: 0;
		transform: translateX(-50%) translateY(10%);
	}

	100% {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}

/* 750px 以上でも、器（.erperience__top）の幅が狭いこの区間だけ、移行元は写真の
   はみ出し量と吹き出しの余白・位置を別の値に差し替えている（原本の
   `@media (min-width: 750px) and (max-width: 1199px)`）。この差し替えが無いと、
   器の幅に対して余白（padding）が広すぎ、体験談の抜粋文が吹き出しからあふれる. */
@media (min-width: 750px) and (max-width: 1199px) {
	.front-experience__figure--first {
		top: -70px;
		left: -80px;
	}

	.front-experience__cloud--1 {
		width: 65%;
		top: -21px;
		padding: 70px 70px 40px;
	}

	.front-experience__cloud--2 {
		width: 61%;
		bottom: -2%;
		left: -20px;
		padding: 100px 100px 70px 60px;
	}

	.front-experience__cloud--3 {
		width: 55%;
		top: 57%;
		right: -6%;
		padding: 100px 80px 40px 60px;
	}
}

/* 吹き出し 1 の落ち着く位置（Issue #2630）。
 *
 * 移行元も CSS の指定は同じ（left: 50% + transform: translateX(-50%)）だが、
 * 登場演出（.js-scroll.fadeUp）が transform を translateY だけで書き換えるため、
 * 演出が終わると横方向のずらしが消える。その結果、移行元の落ち着く位置は
 * 「器の中央が吹き出しの左端」になる（幅 1440px で x=800・実測）。テーマは
 * 演出中も中央寄せを保つ専用のキーフレームを当てていたので、落ち着く位置が
 * 半幅ぶん（259px）左になっていた。
 *
 * 🔴 この差し戻しは 1200px 以上にだけ当てる。1199px 以下は移行元自身が
 * #header の min-width: 1200px で横スクロールする帯で、見比べが成立しない
 * （実測: 幅 1000px で移行元の scrollWidth は 1200px）。この帯で中央寄せを
 * 外すと吹き出しが右へ大きく出るだけなので、テーマの中央寄せを残す. */
@media (min-width: 1200px) {
	.front-experience__cloud--1 {
		transform: none;
	}

	.front-experience__cloud--1.pa-reveal.is-revealed {
		animation-name: pa-fadein;
	}
}

/* 携帯幅は移行元も貼り絵の器そのものに高さの指定が無く、写真 2 枚を通常の並びに
   戻して吹き出しをその上下に重ねる組み方に変わる（1 枚目の写真は margin だけで
   間隔を取り、2 枚目の写真だけ position: relative で流し込みに残る）。
   このテーマの根の文字は全ページで 16px 固定のため、移行元の rem 値は
   `calc(値 × 2.5445292621vw)` の形へその場で換算する（このファイル内の
   「11 番」以外の節でも使っている換算式。幅 375px で 1 単位が約 9.542px になる）. */
@media (max-width: 749px) {
	.front-experience__figure--first {
		width: calc(26.6 * 2.5445292621vw);
		margin: calc(22 * 2.5445292621vw) 0 calc(10 * 2.5445292621vw) auto;
	}

	.front-experience__figure--second {
		position: relative;
		width: calc(23.1 * 2.5445292621vw);
		margin-bottom: calc(20 * 2.5445292621vw);
		z-index: 1;
	}

	.front-experience__cloud--1 {
		width: 134.5565749235%;
		height: calc(26 * 2.5445292621vw);
		right: calc(-8 * 2.5445292621vw);
		top: calc(-20 * 2.5445292621vw);
		padding: calc(5 * 2.5445292621vw) calc(8 * 2.5445292621vw) calc(4 * 2.5445292621vw) calc(6 * 2.5445292621vw);
		font-size: calc(1.3 * 2.5445292621vw);
	}

	.front-experience__cloud--2 {
		width: 142.5076452599%;
		height: calc(26.3 * 2.5445292621vw);
		left: calc(-13 * 2.5445292621vw);
		top: 27%;
		padding: calc(6 * 2.5445292621vw) calc(11 * 2.5445292621vw) calc(4 * 2.5445292621vw) calc(12 * 2.5445292621vw);
		font-size: calc(1.3 * 2.5445292621vw);
	}

	.front-experience__cloud--3 {
		width: 125.993883792%;
		height: calc(27.5 * 2.5445292621vw);
		bottom: -29%;
		left: calc(-3 * 2.5445292621vw);
		z-index: 2;
		padding: calc(8 * 2.5445292621vw) calc(8 * 2.5445292621vw) calc(4 * 2.5445292621vw) calc(10 * 2.5445292621vw);
		font-size: calc(1.3 * 2.5445292621vw);
	}
}

/* ==============================================================
 * 12. よくあるご質問
 * ============================================================== */

/* 移行元 .faq の上下の内余白は 4rem（実測 38px）で、750px 以上では 12rem（120px）に
   なる。共通の余白の段階（--pa-space-md は 60px）では足りないため、この節だけ移行元の
   値を直に持つ（Issue #1629 の C1-G14）。
   🚨 **左右の内余白は持たない。**移行元 style.css の .faq は
   `padding: 12rem 0`（750px 以上）／`padding: 4rem 0`（749px 以下）で、
   左右はどちらも 0 である。左右を空けるのは器の側（移行元 .l-inner-xs =
   このテーマの .front-faq__inner）である。ここに共通の --pa-inner-gutter
   （15px）を置いていたため、750px 以上で器の 90% の基準が 30px 狭まっていた
   （Bug #2833）。**共通の変数そのものは変えない**（28 か所で使われ、トップ以外へも
   波及する）. */
.front-faq {
	padding: 38px 0;
	background-color: var(--pa-color-bg);
}

/* 移行元の器 .l-inner-xs は 750px 以上が `width: 90%; max-width: 800px;
   margin: 0 auto`、749px 以下が `padding: 0 1.5rem` である
   （style.css の 241〜250 行）。
   🚨 **上限だけを写すと、上限に届かない帯でずれる。**上限 800px に 90% で届くのは
   888.9px（800 / 0.9）からなので、750〜888px のすべての幅で差が出る
   （Bug #2833 の実測: 750px で +45px・800px で +50px・855px で +30.5px）。
   90% は下の @media (min-width: 750px) の段で足す. */
.front-faq__inner {
	max-width: var(--pa-inner-xs);
	margin: 0 auto;
}

.front-faq__list {
	margin: 0;
}

/* 移行元 .faq__item は白いカード（角丸 1rem = 10px）で、内余白は 1.5rem
   （実測 15px）、750px 以上では 2rem（20px）になる。カードの地の色は
   var(--pa-color-bg)（白）で、.front-faq 側は透明のままページの基調のグレー
   （.front-page の #f6f6f6 敷き）を透かす。区切り線（border-bottom）は
   カード化にともない廃止する（Issue #2070）. */
.front-faq__item {
	background-color: var(--pa-color-bg);
	border-radius: 10px;
	padding: 15px;
}

/* 移行元は 7 件の間を 2rem（20px）空けていた. */
.front-faq__item + .front-faq__item {
	margin-top: 20px;
}

/* 749px 以下は、移行元の値がすべて rem で書かれていて画面幅に比例する。
   移行元の 1rem はこの帯で 2.5445292621vw なので、固定の px では写せない
   （共通の書き方 = --pa-sp-rem に移行元の rem 値を掛ける。Issue #2606）。
   写しているのは 3 つである。

     移行元 .l-inner-xs   padding: 0 1.5rem   → 器の左右
     移行元 .faq__item    padding: 1.5rem     → カードの内余白
     移行元 .faq__item:not(:last-child) margin-bottom: 2rem → カードの間隔

   固定の 15px / 20px を当てていたため、器は 320px で 5.59px・375px で 1.38px
   狭く、質問はさらにカードの内余白のぶんだけずれていた（Bug #2833）。
   🚨 **この段は上の素の宣言より後ろに置くこと。**同じ強さなので、前に置くと
   後ろの `padding: 15px` に上書きされて 1 度も効かない（実測で踏んだ）。
   🚨 --pa-sp-rem は .front-page の中でしか宣言されていない。解決できないと
   宣言ごと無効になり、上の素の値（15px / 20px）へ落ちる. */
@media (max-width: 749px) {
	.front-faq__inner {
		padding-right: calc(1.5 * var(--pa-sp-rem));
		padding-left: calc(1.5 * var(--pa-sp-rem));
	}

	.front-faq__item {
		padding: calc(1.5 * var(--pa-sp-rem));
	}

	.front-faq__item + .front-faq__item {
		margin-top: calc(2 * var(--pa-sp-rem));
	}
}

/* 移行元の質問は段落（p）で、行間は段落の 1.8 である。答えとの間の余白は質問側では
   なく答え側が持つ。質問側に持たせると、答えを閉じたときに余白だけが残る。
   文字色は移行元と同じ既定の文字色（--pa-color-accent-strong は使わない。
   赤は開閉ボタンの丸バッジと答えの "A" だけが持つ）. */
.front-faq__question {
	position: relative;
	margin: 0;
	font-weight: 700;
	line-height: var(--pa-line-height-text);
}

/* 質問の開閉ボタン。既定は button の枠を消して見た目を dt のテキストへ揃える
   だけで、開閉の印（+ / −）は JavaScript が動いたとき（is-enhanced）だけ出す。
   移行元に "Q." の接頭辞は無い（丸バッジだけが開閉の目印）ので、このテーマも
   前置の疑似要素は持たせない. */
.front-faq__toggle {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: inherit;
}

/* 🚨 **丸バッジのぶんの右余白は置かない。**移行元 .faq__question:before は
   `position: absolute; right: 0` で質問の箱の上に重ねて置き、箱そのものは
   削らない。ここに padding-right（749px 以下 40px・750px 以上 45px）を
   置いていたため、**質問の使える幅が全幅で 40〜45px 狭く、折り返す位置が
   移行元と違っていた**（Bug #2833 の実測: 1050px で 移行元 185〜865 に対し
   dev 185〜820）。移行元と同じく、文字は必要なら丸バッジの下へ回り込む. */

.front-faq__list.is-enhanced .front-faq__toggle {
	cursor: pointer;
}

/* 移行元 .faq__question:before は赤い丸地（background: var(--main-color) =
   #F54851）に白い +/− を出す。750px 未満は 3.05rem×3rem（実測 30.5px×30px）、
   750px 以上は 3.5rem×3.4rem（35px×34px）である（移行元 style.css の
   .faq__question:before を @media 境界つきで再抽出して確認済み）。
   --main-color はこのテーマの --pa-color-accent-strong と同値（#f54851）。
   移行元は :before の "+" と、縮小した "-" を描く :after を重ねる作りだが、
   ここでは同じ見た目を素直な content の入れ替え（+ → −）で作る. */
.front-faq__list.is-enhanced .front-faq__toggle::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	display: grid;
	place-content: center;
	width: 30.5px;
	height: 30px;
	border-radius: 50%;
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-button-text);
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1;
}

.front-faq__list.is-enhanced .front-faq__toggle[aria-expanded="true"]::after {
	content: "−";
}

.front-faq__answer {
	position: relative;
	/* 移行元 `.faq__ans` の `margin-top: 2rem`（Bug #6011）。**移行元は子に置くが、
	   このテーマは親が持つ。**749px 以下は 1rem が画面幅に比例するので、固定の
	   20px では合わない。実測（2026-09-13）: 質問と答えの間隔は 375px で
	   移行元 19.08 対 dev 20（ほぼ一致）だが、**749px で移行元 38.11 対 dev 20 と
	   18.11px ずれていた**。375px でたまたま近い値になるので、そこだけ見ると
	   気づけない.

	   閉じているときは 0 に落とし、開いたときだけこの変数を足す（下の
	   `.is-open` の規則）。変数にしてあるので、幅ごとの値を 1 か所で決められる. */
	--pa-faq-answer-mt: 20px;
	margin: var(--pa-faq-answer-mt) 0 0;
	line-height: var(--pa-line-height-text);
}

/* 移行元 .faq__ans は答えの上に横罫線（border-top: 1px solid #a9a9a9）を引き、
   質問との区切りにする。左上に赤い大きな "A" を独立して置く配置で、750px 未満
   では文字の真上（padding-left は持たず、padding-top 38px ぶん下げて文字を
   逃がす）、750px 以上では文字の左（padding-left 30px・padding-top 20px）に
   変わる（移行元 style.css の .faq__ans / .faq__ans:before を @media 境界
   つきで再抽出し、実機 https://www.p-a.jp/ の PC 1440px・SP 375px で
   getComputedStyle を採って確認済み。Issue #2070）。

   border-top と padding-top は .front-faq__answer（グリッドコンテナ）ではなく
   .front-faq__text（overflow: hidden; min-height: 0 を持つグリッド項目）に
   置く。グリッドコンテナ自身の border・padding はグリッドの行サイズ
   （grid-template-rows の 0fr ⇔ 1fr）に追従して縮まないため、コンテナに
   置くと閉状態でも 21px（罫線 1px + 上余白 20px）が消えずに残ってしまう
   （ヘッドレスブラウザで実際に高さを採って見つけた）。

   750px 以上での上余白（20px）は CSS カスタムプロパティ --pa-faq-answer-pt
   に持たせる。閉時の 0・開時（.is-open）の実測値のどちらも同じ変数を参照する
   だけでよく、ブレークポイントごとに .is-open 側の値を個別に上書きし直す
   必要がない（詳細度で辻褄を合わせる書き方を避けられる）. */
.front-faq__text {
	position: relative;
	/* 🚨 **上の外余白はここへ書かない。**移行元は子（`.faq__ans`）に
	 * `margin-top: 2rem` を置くが、**このテーマは親（`.front-faq__answer`）が
	 * 持っている**（`--pa-faq-answer-mt`）。ここへ足すと二重になる
	 * （2026-09-13 に外部レビューが指摘し、実測で確かめた）. */
	margin: 0;
	/* 移行元 `.faq__ans` の太さ（Bug #6011）。**テーマはこれを持っておらず、
	 * 継承の 400 になっていた**（3 幅とも移行元 500 対 dev 400・2026-09-13 の実測）。
	 * `.front-faq__text::before` の `font-weight: 700` は「A」の印のもので、
	 * 本文の太さではない. */
	font-weight: 500;
	/* 🚨 **これは 750px 以上の値である。**749px 以下は移行元が 1.3rem を持つので、
	 * 下の `@media (max-width: 749px)` で画面幅に比例させる（Bug #6004）。
	 *
	 * 移行元 .faq__ans の実測 15px。FAQ 区画は本文層の 14px より大きい文字を
	 * 明示的に使っており（.front-faq__question の 16px も同様、上の別ルールで
	 * 維持）、本文層の一部ではない。Issue #2172 で .front-page に 14px を
	 * 足す前から、この要素は明示指定を持たずに body のアンビエント 15px を
	 * そのまま使って移行元と一致していたため、ここで 15px を明示して
	 * その一致を保つ. */
	font-size: 15px;
	--pa-faq-answer-pt: 38px;
	padding-top: var(--pa-faq-answer-pt);
	border-top: 1px solid #a9a9a9;
}

.front-faq__text::before {
	/* 移行元は "A"（ピリオド無し）。750px 未満は文字の上に載る配置なので
	   left: 0 のままでよい（この幅では padding-left を持たせていない）. */
	content: "A";
	position: absolute;
	top: 19px;
	left: 0;
	color: var(--pa-color-accent-strong);
	font-family: Rubik, sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 0;
}

/* 開閉の transition の所要時間も CSS カスタムプロパティにする。動きを控える
   設定（prefers-reduced-motion: reduce）は、この変数を 0s に上書きするだけで
   全 transition 宣言に効く。従来は「動きを控える設定」側で .is-ready を含む
   同じ長さのセレクタを 3 つ複製して詳細度をそろえていたが、値の参照元を
   1 つに集約したことでセレクタの複製自体が不要になった. */
.front-faq__list.is-enhanced {
	--pa-faq-transition-duration: 500ms;
}

@media (prefers-reduced-motion: reduce) {
	.front-faq__list.is-enhanced {
		--pa-faq-transition-duration: 0s;
	}
}

/* 開閉のアニメーション（JavaScript が動いたときだけ）。移行元は jQuery の
   slideToggle(500) で height / padding-top / padding-bottom / margin-top /
   margin-bottom を 500ms かけていっしょに動かす。

   実測（このセルフレビューで .faq__ans の height を 10ms 間隔で採取）では、
   読み込まれている easing プラグイン（js/easing.js）が既定の easing
   （$.easing.swing）を easeOutQuad へ上書きしている「はず」だったが、実測した
   カーブはむしろ線形（linear）に近かった（102px の可動域に対し、easeOutQuad
   当てはめの誤差は RMSE 約 21px、線形当てはめの誤差は約 2px）。目分量ではなく
   この実測に合わせ、linear の transition を当てる。

   [hidden] ではなく height を transition で動かす必要があるため、grid-
   template-rows を 0fr ⇔ 1fr で動かす手法を使う（[hidden] は display:none を
   一瞬で切り替えるだけでアニメーションできない）。visibility は
   transition-delay で「閉じ終わってから」隠す・「開き始めた瞬間」に見せるよう
   にして、支援技術からは開閉前後で hidden 相当に扱われるようにする。delay も
   --pa-faq-transition-duration を参照させる（duration と同じ長さにする必要が
   あるうえ、動きを控える設定で duration を 0s にしたときに delay だけ 500ms
   残ると、閉じた直後も 500ms のあいだ支援技術からは visible のまま扱われて
   しまうため。self-review で見つけた）。

   transition 宣言は is-ready が付いてから効かせる。理由: 外部ファイルの
   main.css が読み込まれる前は visibility の既定値が visible なので、
   is-enhanced だけで transition も同時に効く作りだと、CSS 読み込み完了の
   瞬間に「visible → hidden」が 500ms かけて動いてしまい、初期表示で答えが
   一瞬見えてしまう（実機のヘッドレスブラウザで実際に再現して見つけた）。
   is-ready は JavaScript が 2 フレーム後に付け、その時点ではもう閉状態の
   スタイルが反映済みなので、transition が本当に開閉のときだけ効く. */
.front-faq__list.is-enhanced .front-faq__answer {
	display: grid;
	grid-template-rows: 0fr;
	margin-top: 0;
	visibility: hidden;
}

.front-faq__list.is-enhanced.is-ready .front-faq__answer {
	transition:
		grid-template-rows var(--pa-faq-transition-duration) linear,
		margin-top var(--pa-faq-transition-duration) linear,
		visibility 0s linear var(--pa-faq-transition-duration);
}

.front-faq__list.is-enhanced .front-faq__answer.is-open {
	grid-template-rows: 1fr;
	/* 🚨 **固定の 20px を書かない。**上の `--pa-faq-answer-mt` を読む（Bug #6011）。
	   ここへ数値を書くと、幅ごとの値が 2 か所に分かれて片方だけ直す事故が起きる. */
	margin-top: var(--pa-faq-answer-mt);
	visibility: visible;
}

.front-faq__list.is-enhanced.is-ready .front-faq__answer.is-open {
	transition:
		grid-template-rows var(--pa-faq-transition-duration) linear,
		margin-top var(--pa-faq-transition-duration) linear;
}

/* .front-faq__text 自身の border-top・padding-top は、閉じているときは 0 に
   落とす。border・padding はグリッド行のサイズ（0fr ⇔ 1fr）に追従して縮まない
   固定値のため、.front-faq__text に常時 38px の padding-top と 1px の
   border-top を持たせたままだと、閉状態でもその 21px 分が消えずに残ってしまう
   （ヘッドレスブラウザで実際に高さを採って見つけた）。開いたとき
   （.is-open）だけ、--pa-faq-answer-pt（750px 未満は 38px・750px 以上は
   20px）を足す。移行元の slideToggle は padding-top を height と同時に
   動かしているので、ここでも grid-template-rows と同じ transition を当てる
   （border-top-width は移行元ではアニメーションしない静的な値だが、行サイズ
   に追従させるため同じく transition の対象にする）. */
.front-faq__list.is-enhanced .front-faq__answer > .front-faq__text {
	overflow: hidden;
	min-height: 0;
	padding-top: 0;
	border-top-width: 0;
}

.front-faq__list.is-enhanced.is-ready .front-faq__answer > .front-faq__text {
	transition:
		padding-top var(--pa-faq-transition-duration) linear,
		border-top-width var(--pa-faq-transition-duration) linear;
}

.front-faq__list.is-enhanced .front-faq__answer.is-open > .front-faq__text {
	padding-top: var(--pa-faq-answer-pt);
	border-top-width: 1px;
}

@media (min-width: 750px) {
	.front-faq {
		padding-top: 120px;
		padding-bottom: 120px;
	}

	/* 移行元の器 .l-inner-xs は `width: 90%` と `max-width: 800px` の両方を持つ。
	   上限に届くのは 888.9px（800 / 0.9）からで、それ未満の幅では 90% が効く
	   （Bug #2833）. */
	.front-faq__inner {
		width: 90%;
	}

	/* 移行元は器（.l-inner-xs = 800px）の内側で .faq__body をさらに絞る
	   （style.css の @media screen and (min-width: 750px) の
	   .faq__body { width: 90%; max-width: 900px; margin: 0 auto }）。
	   器が 800px のとき 90% で 720px になり、左右の余白は auto の計算結果として
	   40px ずつになる。この段が無いと質問と答えが器いっぱいの 800px に広がる
	   （Issue #2571 の差 4）. */
	.front-faq__list {
		width: 90%;
		max-width: 900px;
		margin: 0 auto;
	}

	.front-faq__item {
		padding: 20px;
	}

	.front-faq__list.is-enhanced .front-faq__toggle::after {
		width: 35px;
		height: 34px;
	}

	/* 移行元 .faq__question の 1.6rem（16px）. */
	.front-faq__question {
		font-size: 16px;
	}

	.front-faq__text {
		--pa-faq-answer-pt: 20px;
		padding-left: 30px;
	}

	.front-faq__text::before {
		top: 40px;
		font-size: 24px;
	}
}

/* ==============================================================
 * 13. 全幅の写真と注目コンテンツ
 * ============================================================== */

.front-bgfull__picture {
	display: block;
	width: 100%;
}

.front-highlights {
	padding: var(--pa-space-md) var(--pa-inner-gutter);
	background-color: var(--pa-color-bg);
}

.front-highlights__inner {
	max-width: var(--pa-inner-sm);
	margin: 0 auto;
}

/* 749px 以下の左右の内余白は、移行元の器 `.l-inner-sm` の `padding: 0 1.5rem` である。
 * この帯の 1rem は画面幅に比例するので、固定の 15px では合わない
 * （実測: 移行元は 375px で 346.38px の器。dev は 345px で 1.38px 狭かった）。
 * 上の素の宣言より後ろに置くこと（同じ強さなので、前に置くと打ち消せない）。Bug #2977. */
@media (max-width: 749px) {
	.front-highlights {
		padding-inline: calc(1.5 * var(--pa-sp-rem));
	}
}

.front-highlights__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 札は写真と本文の横並びにする。移行元の .content__item と .contentWrap の
   幅の比（写真 38.9% / 本文 52.8%、750px 以上は 45.1% / 50.8%）を写した. */
.front-highlights__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	height: 100%;
	padding: 10px;
	border: 1px solid var(--pa-color-border);
	border-radius: 5px;
	background-color: var(--pa-color-bg);
	text-decoration: none;
}

.front-highlights__image {
	width: 38.9%;
}

.front-highlights__image img,
.front-highlights__image .front-placeholder {
	display: block;
	width: 100%;
}

/* 🚨 **下の内余白を持たせない。**移行元 `.content__body` は内余白を全幅で `0px` に
 * している（実測: 幅 1440 / 1200 / 749 / 375 / 320px のいずれでも上下とも 0px。
 * 写しの `assets/css/style.css` の 4867・4872 行も幅だけを指定している）。
 *
 * 🚨 **札は縦中央そろえなので、ここに下の内余白を置くと題と説明文がその半分だけ
 * 上へ動く。**28px を置いていたため、パソコン幅で題と説明文が 14.12px 上にあった
 * （[Bug #4774](https://github.com/mationinc/wp-platform/issues/4774)）. */
.front-highlights__body {
	width: 52.8%;
}

/* 注目コンテンツの札の見出し。移行元 .content__item__heading は 1024px を境に
   1.5rem と 2rem（= 20px）で切り替わる。下外余白は移行元が持たない. */
.front-highlights__title {
	margin: 0;
	color: var(--pa-palette-blue);
	font-size: 14.3px;
	line-height: 1.2;
}

@media (min-width: 750px) {
	.front-highlights__title {
		font-size: 15px;
	}
}

@media (min-width: 1024px) {
	.front-highlights__title {
		font-size: 20px;
	}
}

/* 移行元 `.content__text { font-weight: 500 }`。写しは太さを持たず、本文の 400 の
 * ままだった（実測: 幅 1440px と 375px の両方で 500 対 400・Bug #3639）. */
.front-highlights__text {
	margin: 0;
	font-weight: 500;
}

.front-highlights__link .pa-arrow {
	top: auto;
	right: 8px;
	bottom: 8px;
	width: 24px;
	height: 24px;
	color: var(--pa-palette-blue);
	transform: none;
}

@media (min-width: 750px) {
	/* 区画の左右の内余白を打ち消し、内側の器を移行元と同じ「画面幅の 90% +
	   上限」にする。移行元は器のクラス .l-inner-sm がこの形を持つ。

	     @media (min-width: 750px) { .l-inner-sm {
	       width: 90%; max-width: 1000px; margin: 0 auto } }

	   テーマは共通のトークンの注釈（上の 327〜334 行。値は 335〜342 行）で「750px 以上は
	   width 90% + max-width、749px 以下は左右に --pa-inner-gutter」と自分で
	   決めているが、この区画は前半（width 90%）を書き忘れていた。そのため
	   器が「画面幅 − 30px」になり、上限 1000px に届かない帯で移行元より広く
	   なっていた（Issue #2836）。

	   🚨 区画の内余白の指定（9845-9848 行。宣言は 9846 行）は @media の外にあるので、帯の中の
	   1 行を消すのでは直らない。ここで打ち消す必要がある。

	   実測（移行元 / dev）: 855px で 769.5 対 825・1000px で 900 対 970。
	   1440px は両側とも上限 1000px に届いて一致する。

	   749px 以下は Bug #2977 で直した（移行元の 1.5rem は画面幅に比例するので
	   固定の 15px では合わない。下の @media (max-width: 749px) を見よ）. */
	.front-highlights {
		padding-left: 0;
		padding-right: 0;
	}

	.front-highlights__inner {
		width: var(--pa-inner-ratio);
	}

	/* 札の並べ方。移行元は隙間を持たず、札の幅 48.5% を両端寄せで置く。

	     .content__list { display: flex; justify-content: space-between; flex-wrap: wrap }
	     .content__item { width: 48.5% }
	     .content__item:not(:nth-child(-n+2)) { margin-top: 2rem }

	   🚨 横の隙間を作る宣言は移行元に無い。48.5% × 2 = 97% の余り 3% が隙間に
	   なるので、隙間は器の幅に比例する（器 675px なら 20.25px）。テーマの
	   gap: 32px は固定値なので、器が狭いほど札が細くなっていた。
	   縦の隙間は移行元 margin-top: 2rem = 20px（750px 以上の 1rem は 10px）。

	   実測の横の隙間（移行元）: 1440px で 30・855px で 23.09・750px で 20.25px。
	   仕組みは grid のまま値だけ写す（flex へ書き換えても同じ値になることを
	   実測で確かめたうえで、差分の小さいほうを採った）. */
	.front-highlights__list {
		grid-template-columns: repeat(2, 48.5%);
		justify-content: space-between;
		column-gap: 0;
		row-gap: 20px;
	}

	.front-highlights__link {
		padding: 20px;
	}

	.front-highlights__image {
		width: 45.1%;
	}

	.front-highlights__body {
		width: 50.8%;
	}

	.front-highlights__link .pa-arrow {
		right: 16px;
		bottom: 16px;
		width: 32px;
		height: 32px;
	}
}

/* ==============================================================
 * 14. 店舗一覧
 * ============================================================== */

/* 節そのものは白地で、内側に薄い水色の角丸の面を置く。移行元の
   .store（#fff）と .store__main（#f3f7f9）の入れ子と同じである。
   文字の大きさは、この器では持たせない。
 *
 * PR #2174 はここに `font-size: 15px` を置いていた。本文層（.front-page の
 * 14px）が流れ込むと、当時 15px だった値が移行元の 16px からさらに離れる
 * ため、原因が分かるまで悪化だけを止める暫定措置だった。Bug #2184 で
 * 移行元を読み直したところ、16px は継承ではなく明示された値だと分かった
 * （移行元 public/assets/css/style.css の `.sec__lead{font-size:1.6rem}` と
 * `.store__item__link{…font-size:1.6rem}`。移行元は 750px 以上で
 * `html{font-size:10px}` なので 1rem = 10px）。
 *
 * そこで、文字を持つ 4 種類（見出し・リード文・店舗名のリンク・エリアの
 * つまみ）それぞれに移行元の実測値を持たせ、この器の暫定措置は外した。
 * 本文層 14px の流れ込み先はもう残らない（「お近くの支店を探す」の
 * .pa-more-button も 21px の直値を持つ）. */
.front-store {
	padding: var(--pa-space-md) var(--pa-inner-gutter);
	background-color: var(--pa-color-bg);
}

.front-store__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: var(--pa-space-sm) var(--pa-inner-gutter);
	border-radius: 30px;
	background-color: var(--pa-front-store-bg);
}

/* 区画の器の左右を移行元へそろえる（Bug #2700）。
 *
 * 移行元は左右の余白を**内側の器だけ**が持つ。`section.store` は左右の内余白を
 * 持たず、`.store__main` が 749px 以下で `padding: 4rem 1.5rem` を持つ。
 * テーマは外側と内側の両方に 15px を当てていたため、**合計 30px** になり、
 * 移行元の 12.2137px（＠320px）より 17.8px も内側へ寄っていた. */
@media (max-width: 749px) {
	.front-store {
		padding-inline: 0;
	}

	.front-store__inner {
		padding-inline: calc(1.5 * var(--pa-sp-rem)); /* 移行元 1.5rem */
	}
}

/* 750px 以上は、移行元の器の幅の決め方を写す。移行元は `.store__main` を
   `.l-inner-md { width: 90%; max-width: 1528px }` の中に置き、`.store__main` 自身に
   `max-width: 1100px` を持たせる。つまり**画面幅の 90% と 1100px の小さいほう**である。
   テーマは画面幅から左右 15px ずつを引いた幅だったため、1023px で 993 対 920.69px と
   ずれていた（1440px は両側とも上限の 1100px で一致していた）. */
@media (min-width: 750px) {
	.front-store {
		padding-inline: 0;
	}

	.front-store__inner {
		width: 90%;
	}
}

/* 店舗一覧への導線の大見出し。移行元 .store__heading は下外余白 2rem（PC で 20px）
   で、749px 以下だけ太さ 600 になる。大きさは .heading-a と同じ基準でよい. */
.front-store__heading {
	margin: 0 0 20px;
	color: var(--pa-color-heading);
	font-size: var(--pa-font-size-heading);
	font-weight: 600;
	text-align: center;
}

@media (min-width: 750px) {
	.front-store__heading {
		font-weight: 700;
	}
}

/* 移行元 .sec__lead は 1.6rem。この class は移行元のトップページ全体でここ 1 か所に
   しか出てこないので、店舗一覧のリード文の値と読んでよい（Bug #2184）。

   移行元の 1rem は幅で変わる（750px 以上は 10px 固定・749px 以下は画面幅に追従して
   375px で 9.54px）ため、実測は 750px 以上で 16px・375px で 15.27px になる。dev は
   根の文字の大きさを画面幅に追従させていないので、この 2 段を直値で書き分ける。
   狭い画面を 16px にすると器（315px）に収まらず 2 行が 3 行へ増えるため、
   移行元の実測（15.27px）に近い 15px を残す. */
.front-store__lead {
	margin: 0;
	font-size: 15px;
	text-align: center;
}

/* つまみと一覧を包む器。移行元 .store__body は
   `@media(min-width:750px){ width:95%; max-width:930px; margin:0 auto }` で、
   **95% は 750px 以上だけの指定**である。749px 以下では幅の指定を持たず、
   親（.store__main の左右の内余白 1.5rem の内側）いっぱいに広がり、
   代わりに一覧の側が左右の内余白 2rem を持つ。
 *
 * テーマは 95% を媒体条件なしで持たせていたため、749px 以下でも 5% 分（375px で
 * 17.33px）狭まり、そのぶん店舗名のリンクが移行元より広く見えていた
 * （Issue #2831。375px で dev 329.05 対 移行元 308.22px）. */
.front-store__tabs {
	max-width: 930px;
	margin: var(--pa-space-sm) auto 0;
}

/* エリアのつまみ。移行元の .storeNav__link */
.front-page .front-store__tabs.is-enhanced .pa-tabs__list {
	gap: 5px;
}

/* 移行元 .storeNav__item は 750px 以上（狭い画面は下の @media(max-width:749px)
 * を見よ）で flex: 1 を持たず、文言の長さなりの幅になる（min-width は床）。
 * dev は flex: 1 1 auto を全幅で持たせていたため、つまみが均等に伸びて
 * 文言の長さと関係ない幅（161px）になっていた（Bug #2249）. */
.front-page .front-store__tabs .pa-tabs__tab {
	/* 最小幅は移行元では 749px 以下だけが 108px を持ち、750〜1199px は指定が無い
	 * （文言なりの幅になる）。基底へ置くと 750px 以上へ漏れるため、下の
	 * @media (max-width: 749px) へ移した（Issue #2698）。 */
	padding: 10px 0.7em;
	border: 1px solid var(--pa-color-accent-strong);
	border-radius: 3px;
	background-color: var(--pa-color-bg);
	color: var(--pa-color-accent-strong);
	/* 移行元 .storeNav__link は 1199px 以下で 1.2rem = 12px、1200px 以上で
	 * 1.4rem = 14px である。祖先の文字の大きさに掛ける 0.9em ではなく、
	 * 移行元と同じ 2 段の直値にする（Bug #2184）. */
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
}

.front-page .front-store__tabs .pa-tabs__tab[aria-selected="true"] {
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
}

.front-store__tabs .pa-tabs__panels {
	margin-top: 20px;
}

.front-store__group {
	margin-bottom: var(--pa-space-sm);
}

.front-store__area {
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--pa-color-accent-strong);
	color: var(--pa-color-accent-strong);
}

/* つまみが出ているときは、エリア名をつまみが示すので見出しは重ねて出さない。
   組（パネル）はつまみを aria-labelledby で指しているため、読み上げでも
   エリア名は伝わる. */
.front-store__tabs.is-enhanced .front-store__area {
	display: none;
}

.front-store__tabs.is-enhanced .front-store__group {
	margin-bottom: 0;
}

/* 店舗の一覧。間隔 10px は移行元の 1rem に当たる。移行元は間隔を器ではなく
   項目の外余白で作っており、750px 以上は
   `.store__list__item:not(:nth-child(-n+3)){margin-top:1rem}`（行の間）と
   `.store__list__item:not(:nth-child(3n)){margin-right:1rem}`（列の間）で、
   750px 以上の 1rem は 10px 固定である。器の間隔でも同じ結果になる。
   749px 以下の 1rem は画面幅に比例するので、下の媒体条件で読み替える. */
.front-store__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 店舗名のリンク。移行元 .store__item__link は 1.6rem を明示している（Bug #2184）。
   実測は 750px 以上で 16px・375px で 15.27px。リード文と同じ理由で 2 段に書き分け、
   ここは狭い画面のぶん（15px）を持たせる。
 *
 * 高さは指定しない。移行元も指定を持たず、上下の内余白 1.5rem と矢印の印 26px の
 * 足し算で決まる。750px 以上は 1rem が 10px 固定なので 15 × 2 + 26 = 56px になり、
 * 749px 以下は 1rem が画面幅に比例するので 375px で 54.63px・320px で 50.41px と
 * 縮む。テーマは 56px を最小の高さとして固定で持っていたため、749px 以下で
 * 移行元より高くなっていた（Issue #2831）。**この 56px は 375px で測った値ではなく
 * 750px 以上の値**で、狭い画面へそのまま持ち込むと差が開く形だった。
 * 最小の高さを外しても、店舗名が折り返せば中身のぶん器の側が伸びる
 * （移行元と同じ振る舞いになる）. */
.front-store__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 15px;
	border-radius: 10px;
	background-color: var(--pa-color-bg);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
	color: var(--pa-color-text);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.front-store__link .pa-arrow {
	position: static;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	color: var(--pa-color-accent-strong);
	transform: none;
}

.front-store__link:hover {
	background-color: var(--pa-color-accent-strong);
	color: var(--pa-color-bg);
}

.front-store__link:hover .pa-arrow {
	color: var(--pa-color-bg);
}

.front-store__link:hover .pa-arrow__path {
	stroke: var(--pa-color-accent-strong);
}

@media (min-width: 750px) {
	.front-store__inner {
		padding: var(--pa-space-lg) 0 var(--pa-space-md);
		border-radius: 70px;
	}

	/* 移行元の 1rem がこの幅から 10px 固定になるので、1.6rem の実測は 16px になる
	   （Bug #2184）. */
	.front-store__lead,
	.front-store__link {
		font-size: 16px;
	}

	/* 移行元 .store__body の `width: 95%` はこの幅から効く（基底に置くと 749px
	   以下へ漏れる）. */
	.front-store__tabs {
		width: 95%;
		margin-top: var(--pa-space-md);
	}

	.front-store__tabs .pa-tabs__panels {
		margin-top: 50px;
	}

	/* 移行元は 750px 以上で 3 列に並べていた。列の幅は移行元
	   `.store__list__item { width: 32.2580645161% }` をそのまま写す。
	 *
	 * 等分（1fr）にすると間隔 10px を差し引いた 3 等分になり、器 930px では
	 * 1 列 303.33px になる。移行元は器の 32.2580645161%（= 300px）を取り、
	 * 3 列と間隔 2 つで 920px を使って右に 10px 残す作りである。テーマは
	 * 等分にしていたため、店舗名のリンクが 3.33px 広かった（Issue #2831）. */
	.front-store__list {
		grid-template-columns: repeat(3, 32.2580645161%);
	}
}

/* 移行元がエリアのつまみの文字を 1.4rem = 14px へ大きくする境目は 1200px で
   ある（`@media(min-width:1200px){.storeNav__link{…font-size:1.4rem}}`）。
   最小幅と内余白も移行元では同じ 1200px が境目である。以前はこの 2 つを
   750px 以上の枠に置いていたため、750〜1199px で移行元とずれていた
   （Issue #2698 で解消。以前の注釈にあった「触らない」の判断は取り消した）。

   移行元を測った値（幅 750 / 1050 / 1440px）:
     750px   文字 12 / 上下 10 / 左右 8.4 / 箱 90.8×40
     1050px  文字 12 / 上下 10 / 左右 8.4 / 箱 90.8×40
     1440px  文字 14 / 上下  5 / 左右 14  / 箱 114×33
   750〜1199px は上の基底（`10px 0.7em` と文字 12px）がそのまま移行元に一致する。 */
@media (min-width: 1200px) {
	.front-page .front-store__tabs .pa-tabs__tab {
		min-width: 114px;
		padding: 5px 1em;
		font-size: 14px;
	}
}

/* 移行元 `@media(max-width:749px){.storeNav__item{flex:1;min-width:108px}}`。
 * 狭い画面だけ、つまみを均等に伸ばして横いっぱいに並べる（Bug #2249）。
 * 最小幅もこの枠だけが持つ（Issue #2698 で基底からここへ移した）。
 *
 * 🚨 **伸びの基準は 0 にする**（Bug #2894）。移行元の `flex: 1` は
 * `flex: 1 1 0%` の短縮形で、**基準が 0 なので 1 行に並んだ札が文言の長さに
 * 関わらず同じ幅になる**（実測: 幅 375px で 6 個とも 112.28px）。
 * `flex: 1 1 auto` にすると基準が中身の幅になり、**文言の長い札ほど広くなる**
 * （直す前の実測: 108〜120.38px とばらばら。幅 700px では 108〜352.86px）。
 * 短縮形の `flex: 1` で書くと基準が 0% になるので、移行元と同じ書き方にする. */
@media (max-width: 749px) {
	.front-page .front-store__tabs .pa-tabs__tab {
		flex: 1;
		min-width: 108px;
	}

	/* 移行元 `@media screen and (max-width: 749px){ .store__navList { gap: .5rem } }`。
	 * この帯の 1rem は画面幅に比例するので、固定の 5px では合わない
	 * （実測: 移行元は 320px で 4.07125px・375px で 4.77099px・700px で 8.90585px）。
	 * **伸びの基準が 0 なので、札の間の差はそのまま札の幅の差になる**
	 * （幅 700px で 1 行 5 個なら、間 4 か所ぶんの 15.6px を 5 で割った 3.1px ずつ）。
	 * 750px 以上は移行元が札の右外余白で間隔を作っており、いまの 5px のままで
	 * 移行元と一致しているので触らない. */
	.front-page .front-store__tabs.is-enhanced .pa-tabs__list {
		gap: calc(0.5 * var(--pa-sp-rem));
	}
}

/* 移行元は 749px 以下の rem を画面幅に比例させる。各値は移行元の rem 値を
 * そのまま読めるよう、共通の 1 単位へ掛ける。750px 以上の規則は上の既存の
 * min-width 媒体条件に残し、この媒体条件だけで上書きする（Issue #2677 / #2675）。 */
@media (max-width: 749px) {
	.front-choose__heading {
		margin-bottom: calc(2 * var(--pa-sp-rem));
		font-size: calc(2.2 * var(--pa-sp-rem));
	}

	.front-choose__lead {
		font-size: calc(1.6 * var(--pa-sp-rem));
	}

	/* 🚨 **札の内余白と角丸も画面幅に比例する**（Task #3473）。移行元
	 * `@media screen and (max-width: 749px) { .choose__item { padding: 5rem 1.5rem 2rem;
	 * border-radius: 1rem } }` である。写しは `50px 15px 20px` / `10px` の固定値だった
	 * ため、幅 375px では近い値になるが幅 749px では上の内余白が 95.29 対 50px と
	 * 45px ずれ、札の高さが 769.89 対 607.56px（162px 差）になっていた。
	 *
	 * 実測（両側とも同じ道具・同じ幅・2026-09-04。移行元の内余白の 4 辺）:
	 *
	 *   幅      移行元                        写し・直す前
	 *   375px   47.71 / 14.31 / 19.08 / 14.31  50 / 15 / 20 / 15
	 *   749px   95.29 / 28.59 / 38.12 / 28.59  50 / 15 / 20 / 15
	 *
	 * 750px 以上は上の `@media (min-width: 750px)` が `70px 30px 30px` で上書きする
	 * （移行元の `7rem 3rem 3rem` と一致済み）. */
	.front-choose__item {
		padding: calc(5 * var(--pa-sp-rem)) calc(1.5 * var(--pa-sp-rem)) calc(2 * var(--pa-sp-rem));
		border-radius: calc(1 * var(--pa-sp-rem));
	}

	.front-choose__item-title {
		top: calc(-3.5 * var(--pa-sp-rem)); /* 移行元 -3.5rem */
		padding: calc(2 * var(--pa-sp-rem));
		font-size: calc(1.4 * var(--pa-sp-rem));
	}

	.front-choose__item-title--lg {
		top: calc(-4.5 * var(--pa-sp-rem)); /* 移行元 -4.5rem */
	}

	.front-choose__item-title--mdlg {
		top: calc(-3 * var(--pa-sp-rem)); /* 移行元 -3rem */
	}

	.front-choose__item-title::before {
		top: calc(-0.3 * var(--pa-sp-rem)); /* 移行元 -.3rem */
		height: calc(7.4 * var(--pa-sp-rem)); /* 移行元 7.4rem */
	}

	.front-choose__item-title--lg::before {
		top: calc(1 * var(--pa-sp-rem)); /* 移行元 1rem */
	}

	/* 器の上の内余白を増やしたぶん、直前の見出しの塊の下外余白を減らして
	 * 「説明文から札まで」の合計を移行元（7rem）にそろえる. */
	.front-page .front-choose__list {
		padding-top: calc(4.5 * var(--pa-sp-rem));
	}

	/* 答えの面の内余白と角丸も比例する。移行元
	 * `@media screen and (max-width: 749px) { .choose__item__content { padding: 3rem 2rem } }`
	 * と基底の `border-radius: 1.5rem`。写しは `30px 20px` / `15px` の固定値だった
	 * （実測・幅 749px: 移行元 57.18 / 38.12px に対し写し 30 / 20px）. */
	.front-choose__answer {
		padding: calc(3 * var(--pa-sp-rem)) calc(2 * var(--pa-sp-rem));
		border-radius: calc(1.5 * var(--pa-sp-rem));
	}

	/* 「パートナーエージェントなら」の札の位置も比例する。移行元
	 * `@media screen and (max-width: 749px) { .choose__content__topText
	 * { left: 2rem; top: -2rem } }`。写しは `-20px` / `20px` の固定値だった
	 * （実測・幅 375px: 移行元は答えの面の上辺から 19.08px 上に対し写し 20px）。
	 * 角丸の 10px は移行元も固定値なので触らない. */
	.front-choose__answer-label {
		top: calc(-2 * var(--pa-sp-rem));
		left: calc(2 * var(--pa-sp-rem));
	}

	/* 🚨 **課題の文は携帯幅だけ太字（500）になる**（Task #3473）。移行元は
	 * `@media screen and (max-width: 749px) { .choose .sec__text { font-weight: 500;
	 * font-size: 1.3rem } }` で、**選び方の区画に限って**太さを上げている（移行元の
	 * body は 400 で、ほかの区画の同じ組みの文も 400 のままである。実測で確かめた）。
	 * 写しは 400 のままだった. */
	.front-choose__issue {
		margin-bottom: calc(4 * var(--pa-sp-rem));
		font-size: calc(1.3 * var(--pa-sp-rem));
		font-weight: 500;
	}

	.front-choose__answer-label {
		padding: calc(0.5 * var(--pa-sp-rem)) calc(1 * var(--pa-sp-rem));
		font-size: calc(1.3 * var(--pa-sp-rem));
	}

	.front-choose__answer-text {
		font-size: calc(1.3 * var(--pa-sp-rem));
	}

	/* 🚨 **青い帯の最大幅は 749px 以下で 220px である**（Bug #3987）。移行元は
	 * `@media screen and (max-width: 749px) { .meet__top__text { max-width: 220px } }`
	 * を持ち、750px 以上の 290px から**狭める**。写しはこの 1 行が抜けていて 290px の
	 * ままだったため、帯が広くなり折り返しが減っていた（実測 2026-09-06: 幅 500px で
	 * 帯の高さが移行元 132.31 に対し写し 78.88、幅 749px で 238.25 に対し 198.22）。
	 *
	 * 🚨 **220px は直値である。**移行元も `rem` ではなく px で書いているので、
	 * ここだけ画面幅に比例させない（同じ規則の中の余白と字は比例する）. */
	.front-meet__top {
		max-width: 220px;
		margin-bottom: calc(2.5 * var(--pa-sp-rem));
		padding: calc(1 * var(--pa-sp-rem));
		font-size: calc(1.4 * var(--pa-sp-rem));
	}

	.front-meet__heading {
		margin-bottom: calc(1 * var(--pa-sp-rem));
		font-size: calc(1.8 * var(--pa-sp-rem));
	}

	/* 🚨 **絵の上の空きも、この帯では画面幅に比例する**（Bug #3896）。移行元の
	 * `.meet__item__img { margin: 3rem auto 0 }` には 749px 以下の上書きが無いので、
	 * `3rem` がそのまま比例の値になる。写しは 24px の固定値だったため、
	 * **幅が広がるほど差が開いていた**（実測: 幅 375px で 28.63 対 24px、
	 * 幅 749px で 57.18 対 24px）。青い帯と見出しの空きは既に比例している. */
	.front-meet__image {
		margin-top: calc(3 * var(--pa-sp-rem));
	}

	.front-meet__text {
		font-size: calc(1.4 * var(--pa-sp-rem));
	}

	.front-meet__note {
		/* 移行元 5rem から、ドットのはみ出し 40px を引く（Bug #3772。上の
		   .front-meet__note の説明を読む）. */
		margin-top: calc(5 * var(--pa-sp-rem) - 40px);
		font-size: calc(1.2 * var(--pa-sp-rem));
	}

	/* 🚨 **札 1 枚が区画いっぱいに広がり、次の札は区画の外へ覗く**（Task #3476）。
	 * 移行元の仕組みを実測で解いた（記録版を手元で配信・幅 320 / 375 / 560 / 749px）:
	 *
	 *   幅      区画（= 画面 − 56px）  札の幅       右外余白（1rem）  刻み
	 *   320px   264                    255.86       8.14              264
	 *   375px   319                    309.46       9.54              319
	 *   560px   504                    489.75       14.25             504
	 *   749px   693                    673.94       19.06             693
	 *
	 * **白い面の幅 = 区画の幅 − 1rem・刻みは区画の幅そのもの**である（移行元は Slick が
	 * 札へ直の幅を書き込み、`margin-right: 1rem` を足した合計が区画の幅にちょうど
	 * 収まる）。写しは器の共通の指定（`flex: 0 0 90%` と頭打ち 480px・隙間 16px）の
	 * ままで、幅 749px では札が 480px しかなく、刻みも 496px だった。
	 *
	 * 区画の幅は `画面 − 56px` である（白い囲いの左右 14px と本文の器の左右 14px の
	 * 合計）。**この 4 つの 14px のどれかを変えたらここも測り直す。**
	 *
	 * 送りの刻みを区画の幅と同じにすると、**次の札は区画の右端からちょうど始まる**。
	 * 移行元は窓を切り取らないので、画面の端までの 28px ぶんが覗く（幅 375px なら
	 * 区画 28〜347 に対し次の札が 347 から始まり、375 までの 28px が見える）。
	 * この覗きを出すため、下の「窓を画面幅まで広げる」段を携帯幅にも効かせている. */
	.front-page .front-meet__list {
		gap: 0;
	}

	/* 🚨 **1rem の隙間は「札の内側」に持たせる。**器の `gap` にすると、送りの
	 * 中央寄せ（`applyEdgePadding()` は札の外形 `offsetWidth` を測る）が札の幅
	 * 309.46px を基準にしてしまい、札が区画の左端より 4.77px 右へずれる。
	 * 札の外形を区画の幅（= 刻み）と同じ 319px にし、内側の白い面を右内余白で
	 * 1rem ぶん縮めると、**移行元と同じ「札が区画の左端から始まる」**形になる
	 * （移行元は 749px 以下だけ左端そろえで、750px 以上は中央そろえである）。
	 *
	 * 実測（幅 375px・移行元 / この形）: 今の札 27.97〜337.42 / 28〜337.46、
	 * 前の札の見えている端 0〜18.44 / 0〜18.46、次の札 346.95〜375 / 347〜375. */
	.front-page .front-meet__list .front-meet__item {
		flex: 0 0 calc(100vw - 56px);
		max-width: none;
		padding-right: calc(1 * var(--pa-sp-rem));
	}

	/* 札の内余白と角丸も画面幅に比例する。移行元
	 * `@media screen and (max-width: 749px) { .meet__list__item { padding: 0 2rem 3rem;
	 * border-radius: 2rem } }`。写しは `0 20px 24px` / `20px` の固定値だった
	 * （実測・幅 749px: 移行元 0 / 38.12 / 57.18px に対し写し 0 / 20 / 24px）。
	 *
	 * 移行元はこれを札そのもの（`.meet__list__item`）へ当てているが、写しは札の中の
	 * 白い面（`.front-meet__card`）が札と同じ箱を占めるので、そこへ当てても同じに
	 * なる（札の内余白は 0 のまま）. */
	.front-meet__card {
		padding: 0 calc(2 * var(--pa-sp-rem)) calc(3 * var(--pa-sp-rem));
		border-radius: calc(2 * var(--pa-sp-rem));
	}

	.front-store__heading {
		margin-bottom: calc(2 * var(--pa-sp-rem));
		font-size: calc(2.2 * var(--pa-sp-rem));
	}

	.front-store__lead,
	.front-store__link {
		font-size: calc(1.6 * var(--pa-sp-rem));
	}

	.front-store__link {
		padding: calc(1.5 * var(--pa-sp-rem));
	}

	/* お知らせの見出しの塊だけが持つ上の内余白。移行元は
	   `@media(max-width:749px){ .news .sec__head { padding-top: 5rem } }` で、
	   **お知らせの区画に限った指定**である（節の見出しの塊に共通で当たる
	   `.sec__head` の規則ではない）。
	 *
	 * この幅の 1rem は画面幅に比例するので、375px で 47.71px・749px で 95.28px に
	 * なる。写していなかったため、お知らせの見出しが移行元より上に詰まっていた
	 * （Issue #2832）。この余白は 749px 以下にだけあり、750px 以上では持たない.
	 *
	 * 移行元がここへ余白を置くのは、この幅だけ出る写真（.front-news__image）が
	 * 前の節へ食い込むように上へずらしてあり、その下に見出しが来るためである. */
	.front-news .pa-section-head {
		padding-top: calc(5 * var(--pa-sp-rem));
	}

	/* 移行元 `@media(max-width:749px){ .store__list{ padding: 0 2rem } }`。
	   750px 以上では持たない指定で、この幅の器の狭まりはここで作る
	   （器の側の `width: 95%` ではない）。
	 *
	 * 間隔は移行元 `.store__list__item:not(:last-child){margin-bottom:1rem}`。
	 * 749px 以下の 1rem は画面幅に比例するので、基底の 10px 固定から読み替える
	 * （375px で 9.54px・320px で 8.14px。固定のままだと画面が狭いほど差が開く）. */
	.front-store__list {
		gap: calc(1 * var(--pa-sp-rem));
		padding: 0 calc(2 * var(--pa-sp-rem));
	}
}

/* ==============================================================
 * 15. お知らせ
 * ============================================================== */

/* 移行元は 749px 以下で html { font-size: 2.5445292621vw }、750px 以上で html {
   font-size: 10px } と切り替える。従って 1rem は SP で画面幅の 2.5445292621%、PC で
   10px。幅 375px で検算すると 1rem = 9.5420px、1.2rem = 11.4504px、2rem = 19.0840px
   （実測 9.54198px / 11.4504px / 19.084px と一致）。テーマの 1rem は 16px なので rem を
   そのまま書かない。Issue #2572 由来. */
.front-news {
	background-color: var(--pa-color-bg);
}

/* 写真は 749px 以下だけの飾りである。移行元は前の節へ少し重ねて右へ寄せていた
   （width: 90% / max-width: 300px / margin-top: -16rem）。750px 以上では出さない.

   🚨 **重ねる量は固定の px で写せない**（Bug #3837）。移行元の 749px 以下は
   `html { font-size: 2.5445292621vw }` なので、`-16rem` は画面幅に比例する。
   固定の -160px は移行元のパソコン幅の `1rem = 10px` を当てはめた値で、
   749px 以下では合わない（実測: 移行元は 320px で -130.28px・375px で -152.672px・
   749px で -304.936px）。下の @media で比例値へ置き換える. */
.front-news__image {
	position: relative;
	z-index: 1;
	width: 90%;
	max-width: 300px;
	margin-left: auto;
}

/* 上の素の宣言より後ろに置くこと（同じ強さなので、前に置くと打ち消せない）。
   750px 以上では写真そのものを出さないので、この帯だけで足りる。Bug #3837. */
@media (max-width: 749px) {
	.front-news__image {
		margin-top: calc(-16 * var(--pa-sp-rem));
	}
}

.front-news__picture {
	display: block;
	width: 100%;
}

.front-news__inner {
	max-width: var(--pa-inner-xs);
	margin: 0 auto;
	padding: var(--pa-space-md) var(--pa-inner-gutter);
}

/* 749px 以下の左右の内余白は、移行元の器 `.l-inner-xs` の `padding: 0 1.5rem` である。
 * この帯の 1rem は画面幅に比例するので、固定の 15px では合わない
 * （実測: 移行元は 375px で 346.38px・749px で 691.84px の器。dev は 345px と 719px で、
 * 749px では 27.16px も広かった）。上の素の宣言より後ろに置くこと。Bug #2977. */
@media (max-width: 749px) {
	.front-news__inner {
		padding-inline: calc(1.5 * var(--pa-sp-rem));
	}
}

/* 🚨 **お知らせの器は、幅を割合で決めて頭打ちを 770px にし、左右の内余白を持たない**
 * （Task #3237）。移行元は共通の器の指定
 * `@media screen and (min-width: 750px){ .l-inner-xs { width: 90%; max-width: 800px; margin: 0 auto } }`
 * の上に
 * `@media screen and (min-width: 750px){ .news__main { max-width: 770px } }`
 * を重ねているので、実際は「幅 90%・頭打ち 770px・左右の内余白なし」になる。
 *
 * 写しは 3 点とも違っていた。
 *
 * | 項目 | 移行元 | 写し |
 * |---|---|---|
 * | 幅 | 90% | 100%（`width` を持たない） |
 * | 頭打ち | 770px | 800px（`--pa-inner-xs`） |
 * | 左右の内余白 | 0 | 15px（`--pa-inner-gutter`） |
 *
 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 04:0x JST に取得）: 幅 1440px で
 * 移行元の器は 335〜1105（770px）、写しは 320〜1120（800px）だった。頭打ちに達しない
 * 幅ではさらに開き、幅 750px で 675 対 750px（75px 差）になる。
 *
 * 左右の内余白は器の地色が無いため器の縁としては見えないが、`box-sizing: border-box`
 * なので**中の一覧が左右 15px ずつ内側へ寄る**。移行元は内余白を持たないので、
 * ここで 0 に戻す。
 *
 * `--pa-inner-xs`（800px）と `--pa-inner-gutter`（15px）はよくあるご質問の器などでも
 * 使うので変えない。749px 以下は移行元が `padding: 0 1.5rem`（画面幅に比例）なので、
 * 素の指定をそのまま残す. */
@media (min-width: 750px) {
	.front-news__inner {
		width: 90%;
		max-width: 770px;
		padding-inline: 0;
	}
}

.front-news .news-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.front-news .news-list__item {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 5.0890585242vw 0;
	border-bottom: 2px solid #a9a9a9;
}

/* 日付とカテゴリラベルをまとめる行。写し元 .news__item__top（本番 2026-08-01 取得）と
   同じく、PC・SP どちらでも日付行が上・タイトル行が下の縦積みにする。
 *
 * 🚨 **横並べ（flex）にしないこと**（Bug #3706）。移行元は日付と区分を**並びの要素**
 * （`display: inline`）のまま置く。
 *
 *     .news__item__top      { line-height: 1 }
 *     .news__item__top span { line-height: 0 }
 *
 * **並びの要素の箱の高さは行送りではなく書体の高さで決まる**ので、字 14px なら箱は
 * 17px になり、区分の左辺に引いた黒い縦棒もその 17px で描かれる。横並べにすると
 * 中が塊の要素になり、箱の高さが行送りそのもの（14px）へ縮んで、**縦棒が 3px 短く
 * なる**（1440px で 17 → 14px・375px で 14 → 11.45px。画素でも数えて確かめた）。
 * 行の高さは器の `line-height: 1` が決めるので、子の行送りを 0 にしても崩れない.
 */
.front-news .news-list__meta {
	margin: 0 0 2.5445292621vw;
	font-size: 3.0534351145vw;
	font-weight: 700;
	line-height: 1;
}

/* 移行元 `.news__item__top span { line-height: 0 }`。器の行送り 1 が行の高さを決め、
   日付と区分の箱は書体の高さのまま残る. */
.front-news .news-list__meta time,
.front-news .news-list__category {
	line-height: 0;
}

/* 日付の色は本文色（両プロファイルで共通の --pa-color-text）に寄せる。写し元では
   #474747 相当の太字である. */
.front-news .news-list__meta time {
	color: var(--pa-color-text);
}

/* カテゴリラベルの色 #fd7b7d（パレットの --pa-palette-coral と同値だが、legacy-compat
   プロファイルの役割トークンは金・赤系のため役割トークンには寄せられない）は、写し元
   .category（本番 2026-08-01 取得）から固定値として写した。本番の SP 表記に合わせ、
   ここを既定（モバイルファースト）の値にする. */
.front-news .news-list__category {
	margin-left: 2.5445292621vw;
	padding-left: 2.5445292621vw;
	color: #fd7b7d;
	font-weight: 500;
	border-left: 2px solid #000;
}

.front-news .news-list__item a,
.front-news .news-list__item .news-list__title {
	text-decoration: none;
	font-size: 3.0534351145vw;
	font-weight: 500;
	line-height: 1.8;
}

/* 題名に指を乗せたら下線を付ける（Bug #2607）。
 *
 * 移行元は項目全体を 1 つのリンク（`<a class="news__item">`）にしていて、
 * 指を乗せたときの手がかりを `.news__item:hover .news__desc{text-decoration:underline}`
 * で出す。**色は変えない。**テーマは題名の `<a>` だけがリンクで、色を変えて
 * 手がかりを出していた（色の側は Bug #2648 が共通 CSS で直す）。
 *
 * 実測（2026-09-01・幅 1440px・実マウス相当で測定）:
 *   移行元 通常 下線なし・#474747 → 指を乗せると 下線あり・#474747 のまま
 *   dev    通常 下線なし・#474747 → 指を乗せると 下線なし・#f54851 へ変わる
 *
 * 手がかりの出し方を移行元とそろえる。押せる範囲そのものの作り（項目全体を
 * リンクにするか）は移行元と違うままで、本件の対象外である。
 *
 * 詳細度は (0,3,1) で、下線を消している素の `a:hover`（(0,1,1)）と
 * `body.pa-profile-new a`（(0,1,2)）の両方に勝つ。並び順に頼らない。
 *
 * 題名がリンクでない項目（掲載先の URL を持たない回。テンプレートは
 * `<span class="news-list__title">` を出す）は押せないので、対象にしない. */
.front-news .news-list__item a:hover {
	text-decoration: underline;
}

@media (min-width: 750px) {
	.front-news__image {
		display: none;
	}

	.front-news .news-list__category {
		margin-left: 15px;
		padding-left: 15px;
		font-weight: 700;
	}

	.front-news .news-list__item {
		padding: 20px 0;
	}

	.front-news .news-list__meta {
		margin-bottom: 15px;
		font-size: 14px;
	}

	.front-news .news-list__item a,
	.front-news .news-list__item .news-list__title {
		font-size: 14px;
		font-weight: 700;
	}
}

/* ==============================================================
 * 16. 固定ページ本文の枠とフォームの枠
 * ============================================================== */

.front-page__content-inner,
.front-page__form {
	max-width: var(--pa-inner-sm);
	margin: 0 auto;
	padding: 0 var(--pa-inner-gutter);
}

/* --------------------------------------------------------------
 * 店舗ページ・店舗一覧（#1241 の編集領域）
 *
 * 値の写し元（いずれも移行元サイトのリポジトリ legacy/www.p-a.jp 配下）:
 *   店舗一覧      public/branch/index.html と public/branch/css/style.css
 *                 public/sp/branch/index.html と public/sp/branch/css/_style.css
 *                 （エリアの見出し .ttl_gold_bb は金 #a3762b の 2px の下線）
 *   店舗ページ    public/branch/css/style_area1.css（旧デザイン・24 店舗）
 *                 public/branch/css/style_renew.css（改装版・9 店舗）
 *                 public/branch/assets/css/style.css（新デザイン・4 店舗）
 *
 * ------------------------------------------------------------------
 * この区画が 2 つの役割を持つ理由
 * ------------------------------------------------------------------
 * 1. テンプレートが出す枠の見た目
 *    題名・店舗情報の表・エリアごとの一覧・戻る導線など、テーマ側の要素である。
 *    クラス名は pa-branch__* と pa-branch-archive__* で始まる。
 * 2. 移行してきた本文の中の見た目
 *    店舗ページの本文は移行元の HTML をほぼそのまま持ち込む。その中には移行元の
 *    クラス名（page-branch / title-01 / about-info / c-table など）が残る。移行元の
 *    CSS は持ち込まないため、指定が無いままだと表も見出しも素のままになる。そこで
 *    主だったものへ見た目を当て直す。これらは .pa-branch__content の下だけに
 *    閉じてあり、他のページへは波及しない。
 *
 * ------------------------------------------------------------------
 * 移行元に 3 世代あるが、色は 2 プロファイルで受ける
 * ------------------------------------------------------------------
 * 移行元の店舗ページには 3 世代の作りが同居する（旧デザイン 24 店舗・改装版
 * 9 店舗・新デザイン 4 店舗）。ただし色と文字組みのプロファイルは 2 組
 * （legacy-compat と new）で、新デザインの 4 店舗だけが body.pa-profile-new に
 * なる。3 世代のクラス名それぞれに見た目を当てつつ、色は必ず共通トークン
 * （var(--pa-*)）を通す。そのため 4 店舗では金の飾りが珊瑚色に替わる。
 *
 * ------------------------------------------------------------------
 * 移行で失われる部品への手当て
 * ------------------------------------------------------------------
 * 移行時のサニタイズ（scripts/pa-cms/sanitize-allowlist.json）と、CSS を持ち込まない
 * 方針から、次の 3 つは本文の中で中身を失う。空の箱がそのまま残ると縦に隙間が
 * できるので、隠すか畳む。
 *   - 背景画像だけで絵を出していた空の div（.mainvisual-img / .mv-blur-layer 等）
 *   - 読み込みを先回りさせるためだけの画像置き場（.mainvisual-assets。移行元は
 *     高さ 0 で隠しているが、ここでは店舗の写真として見せる）
 *   - 地図の埋め込み（iframe は許可リストに無く、中身ごと落ちる）。「大きな地図で
 *     見る」のリンクは残るので、そちらを押しボタンの形にする
 * -------------------------------------------------------------- */

.pa-branch,
.pa-branch-archive {
	/* エリアの見出しに引く線。移行元スマートフォン版 .ttl_gold_bb の 2px である.
	   色は共通トークン経由なので、新デザインの 4 店舗では珊瑚色になる. */
	--pa-branch-rule: 2px solid var(--pa-color-accent);
	/* 一覧の項目と、移行元の店舗カード（.shop_detail）を仕切る線。移行元は #ccc. */
	--pa-branch-hairline: 1px solid #ccc;
	/* エリアの見出しの大きさ。移行元 .ttl_gold_bb と .shop_detail h4 の 20px. */
	--pa-branch-area-title-size: 20px;
	/* 移行してきた本文の基準の大きさ。移行元 .text-01 の 14px。共通の基準
	   （legacy-compat で 13px）より 1px 大きい移行元の値をそのまま使う. */
	--pa-branch-body-size: 14px;
	/* 店舗情報の表の見出し列の幅。移行元 .about-info th の 150px. */
	--pa-branch-term-width: 150px;
	/* 表のセルの上下の余白。移行元 .about-info td の 20px と 30px をならした値. */
	--pa-branch-cell-space: 20px;
}

/* 店舗ページの単独ページ（single-branch.php が描く器）。移行元の内側の幅 1,100px へ
   揃える（Bug #1945）。共通ブロックが左右に置く内余白（--pa-inner-gutter の 15px
   ずつ）を足した 1,130px を外枠にすると、中身の幅がちょうど 1,100px になり、画面幅
   1440px では左端が (1440 - 1130) / 2 + 15 = 170px で移行元と揃う。この
   「外枠 1,130px・内寸 1,100px」の書き方は、固定ページと採用の詳細が既に採っている
   形と同じである（このファイルの「17-3. 記事と固定ページの本文の器の幅」）。

   移行元の写し元は次の 2 本で、どちらも width: 1100px である。
     旧デザイン legacy/www.p-a.jp/public/branch/css/style_area1.css 157〜161 行
                .page-branch .l-container
     改装版・新デザイン
                legacy/www.p-a.jp/public/branch/css/style_renew.css  186〜190 行
                .content-wrap

   もとは最も近いトークン（--pa-inner-ex ＝ 1,120px）に寄せており、中身が 1,090px で
   移行元より 10px 狭かった。この 10px 差は店舗ページの中の区画ごとの Task が
   「既知の差」として何度も記録していたもので、ここを直すと区画の中の隙間も
   移行元の値へ戻る（継続サポートの 50px → 60px、成婚コンシェルジュの 10px → 20px、
   ご挨拶の柱 840px → 850px、手順 3 列の 336.67px → 340px）。

   トークンの値そのものは変えない。この変更のあとも 11 か所が同じトークンを
   共有しており（内訳はフッターの規則のコメントに書いた）、値を変えると狙っていない
   場所まで一緒に広がるためである。

   携帯幅の 10px 差（dev 345px 対 移行元 335px）は **Task #3228 で解消した**（2026-09-04）。
   店舗の詳細では本文の器（.page-branch）を移行元と同じ全幅へ戻し、内側の器
   （.l-container / .content-wrap）に移行元と同じ左右の余白を持たせた。実測で
   旧デザインと改装版は中身 335px @20、新デザインは 336.84px @19.08 で移行元と一致する。
   （この差を受け持つと書いてあった Bug #1992 は閉じており、閉じた時点では直っていなかった。
   取り決め 21 の照合で見つけたので参照を更新した。）

   一覧の側（下の .archive-content--branch と .archive-content--pa-area）は作りが別で
   Bug #1945 のスコープ外なので、トークンのままにする. */
.single-content--branch {
	max-width: 1130px;
}

/* 旧デザインと改装版の店舗詳細 19 ページだけ、外側の器の絞りを外す（Bug #6555）。

   移行元は画面幅 1,100px 固定の作りで、狭い画面には横スクロールで応じる
   （ユーザー決定 D288「移行元に合わせる」）。dev は本文の区画を
   `width: 100vw` ＋ `margin-inline: calc(50% - 50vw)` で画面いっぱいへ広げていたが、
   🚨 **`100vw` は縦スクロールバーの幅を含む。**バーが場所を取る閲覧環境では
   そのぶん横へはみ出すので、祖先（`.site-main`）で切り落とす必要があった。
   その切り落としが、1,100px の柱を狭い画面で読むための横スクロールまで止めていた。

   `100vw` をやめれば、切り落とし自体が要らなくなる。ここで外側の器の絞りを外すと
   `.site-main` が全幅の親になり、区画は `width: 100%` で画面いっぱいに届く。
   🚨 **`.site-main` は幅の指定を持たない素の箱で、その幅は縦スクロールバーを
   含まない。**だからバーの有無に左右されない。

   🚨 **絞りの門は `.single-content--branch` ではなく `.single-content--branch-store`
   である。**前者は地域の一覧 8 ページ・地図 34 ページ・デートスポットにも付く。
   後者は型紙 single-branch.php が `pa_branch_is_store_detail_slug()` の判定で
   店舗の詳細だけに足す。`body.pa-profile-legacy-compat` を前置してあるのは、
   新デザインの 7 店を対象から外すためである（移行元に固定幅の指定が無い）。

   🚨 **`:has(.pa-branch__content .page-branch)` も要る。**投稿名が 3 節という条件は、
   店舗の詳細でないページも 1 枚拾う。**東京インフォメーション（`branch-tokyo-info`）**が
   それで、`pa_branch_is_store_detail_slug()` は 3 節なので `true` を返すが、移行元
   （`branch/tokyo/info/index.html`）は `.page-branch` を持たず、このファイルの下の方に
   `.single-content--branch.pa-branch--branch-tokyo-info { max-width: 1280px }` という
   専用の幅がある。`:has()` を付けないとクラス 3 つのこちらが勝ち、その 1,280px を
   打ち消してしまう。**全幅にするのは `.page-branch` を持つページだけでよい。**

   実測（`pa-verify-assets/D2/out-6555-pagetop-0916/`・浜松と札幌・幅 1440/1000/375）:
   区画の幅が 3 幅とも `.site-main` の幅と一致し、1440px と 375px のはみ出しは 0、
   1000px では右端まで送れた（scrollX 0→113 / 0→100）。

   🚨 **2026-09-19 に `body.pa-profile-new`（新デザインの店舗 7 店）を足した（Bug #7806）。**
   それまでは旧デザインの外装だけに当てており、**新デザインは上の
   `.single-content--branch { max-width: 1130px }` に絞られたまま**だった。
   そのため移行元が全幅（1440）に敷く地色が、中央の 1100 のぶんしか出ていなかった。

   | | 移行元 | 直す前の dev |
   |---|---:|---:|
   | `.page-branch` の幅 | 1440 | **1100** |
   | `.main-visual` の幅 | 1440 | **1100** |
   | 各区画の左右の外余白 | 170 | **0** |
   | 本文層の地色 | `rgb(246, 246, 246)` | **透明** |

   🚨 **外装の絞りは外さない。**外すと、将来 3 つ目の外装が来たときに黙って当たる
   （統括の判断・2026-09-19）。**当たり先を 1 本足す形にする。**

   🚨 **中の区画は `.content-wrap` の側が 1100 で受ける。**すぐ下の
   `.pa-branch__content .page-branch .content-wrap { max-width: 1100px; margin-inline: auto }`
   が効くので、外枠が 1440 になれば左右の外余白は (1440 − 1100) / 2 = 170 になり、
   移行元と同じ値に戻る**見込み**である。**取り込んだあと実ブラウザで測って確かめる**. */
body.pa-profile-legacy-compat .single-content--branch-store:has(.pa-branch__content .page-branch),
body.pa-profile-new .single-content--branch-store:has(.pa-branch__content .page-branch) {
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

/* 骨格段階の共通ブロックが置いている max-width: 1200px を、移行元の内側の幅
   （旧デザイン .l-container の 1100px、新デザイン .content-wrap の最大 1100px）に
   最も近いトークンへ差し替える. */
.archive-content--branch,
.archive-content--pa-area {
	max-width: var(--pa-inner-ex);
}

/* --- 店舗ページの横方向のはみ出し（Task #1549） ------------------
   店舗ページの主役の絵と、その下端に重なる飛び先の帯は、移行元と同じく画面の幅
   いっぱいに広げる。広げ方は幅 100vw と左右の負の余白で、100vw には縦スクロール
   バーの幅も含まれる。バーが場所を取る閲覧環境（Windows の既定など）では、その
   ぶんだけ横にはみ出して横スクロールバーが出てしまう。ここで切り落として防ぐ。

   hidden ではなく clip を使うのは、hidden がスクロールの器を作ってしまい、
   ヘッダーの貼り付き（position: sticky）が効かなくなるためである。clip は器を
   作らないので貼り付きは保たれる。clip を解さない古い閲覧環境では、横スクロール
   バーが出るだけで、読めなくなる箇所は無い。

   目印のクラスは、絵を実際に広げたときだけテーマの JavaScript が body へ付ける。
   ほかのページや、スライド表示に切り替わらなかったページの横スクロール（広い表
   など）を、巻き添えで切り落とさないためである. */
body.has-fullbleed-mainvisual {
	overflow-x: clip;
}

/* 🚨 上の目印は「絵を実際に広げたときだけ」付くので、店舗の詳細ページのうち
   スライド表示に切り替わらなかったページには付かない（実測: 銀座店の body は
   `pa-profile-new pa-breadcrumb-style--branch-style-renew2` だけで、この目印を持たない）。
   ところが Task #3228 で本文の器（.page-branch）そのものを 100vw へ広げたため、
   **目印の有無に関わらず横方向のはみ出しが起きうる**。

   自分自身に置いた `overflow-x` では自分の箱の幅は変わらないので、切り落としは
   **祖先**に置く必要がある。`.pa-branch__content` の側へ置いてはいけない
   （1,100px の柱なので、広げた .page-branch を 1,100px に切ってしまう）。

   🚨 **`body` へ置いても効かない。**Chromium では `body { overflow-x: clip }` で
   横スクロールが止まらない（このファイルの「体験談の一覧の飾り」の節に同じ実測が
   記録されている）。止まるのは本文の外枠（`.site-main`）へ置いたときである。
   `.site-main` は幅の指定を持たない素の箱なので、その右端は常に画面の右端と一致し、
   広げた区画のはみ出しをちょうど画面の端で切れる。実測でも `body` / `html` に
   置いた場合は `scrollWidth` が縮まず、`.site-main` に置いたときだけ縮んだ。

   🚨 **条件は `.page-branch` まで見る。**`.pa-branch__content` だけを条件にすると
   広すぎる。本文のクラスの分岐（single-branch.php）は投稿名が `branch` で始まる
   ものすべてに `.pa-branch__content` を付けるため、**地域の一覧 8 ページ・
   都道府県の一覧・地域の地図まで当たってしまう**。それらは `.page-branch` を
   持たず 100vw へ広げていないので、切り落とす理由が無い（横に広い表などを
   巻き添えで切ってしまう）。**広げた当人が居るページだけに絞る。**

   デートスポットの詳細 3,328 ページは本文のクラスが `.entry-content` だけなので、
   この条件では最初から当たらない。支店紹介の一覧 `/branch/` は body が
   `post-type-archive-branch` で `single-branch` を持たないため、こちらも当たらない。

   hidden でなく clip を使う理由は上と同じ（貼り付きを壊さない）。

   ------------------------------------------------------------------
   🚨 この切り落としは Bug #6555 で外した（2026-09-16）
   ------------------------------------------------------------------
   区画を `100vw` で広げるのをやめ、外側の器の絞りを外して `width: 100%` で
   届かせる形に変えたため、**切り落とす相手そのものが居なくなった**。
   上に書いた判断（祖先へ置く・`body` では効かない・`.page-branch` まで条件に見る）は
   `100vw` を使う区画には今も当てはまるので、記録として残す。

   切り落としを外したのは、これが**狭い画面で 1,100px の柱を読むための横スクロールも
   止めていた**ためである。幅 1000px では右端の 100〜113px が読めなかった
   （料金表の成婚料の列が数字の途中で切れていた）。

   🚨 **区画自身の `overflow-x: clip`（このファイルの「店舗ページの横方向のはみ出し」の
   節）は残してある。**あちらは移行元の `.page-branch { overflow-x: hidden }`
   （`branch/css/style_area1.css` 16〜19 行）を写したもので、`100vw` とは別の理由で
   置かれている。主役の絵を広げるページでは `is-mainvisual-fullbleed` が付いて
   `visible` に戻る作りも、そのままにしてある. */

/* ==============================================================
 * 店舗一覧（archive-branch.php / taxonomy-pa_area.php）
 * ============================================================== */

.pa-branch-archive__header {
	margin-bottom: var(--pa-space-md);
	text-align: center;
}

.pa-branch-archive__title {
	margin: var(--pa-space-sm) 0 16px;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-font-size-heading);
	font-weight: 400;
	letter-spacing: 0.05em;
}

/* .pa-branch-archive__title は taxonomy-pa_area.php（エリア一覧）とも共有する
   クラスである。店舗一覧アーカイブ（archive-branch.php）だけ、この h1 に
   pa-visually-hidden を重ねて画面から隠す（Bug #2036）。移行元の店舗一覧は
   本文に大きな見出しを持たないため。エリア一覧側の見出しは対象外（今のまま）
   なので、上のクラス単体の装飾は変えず、2 クラス分の詳細度で archive-branch.php
   の場合だけ装飾を打ち消す（single-branch.php の .pa-branch__title を外した
   Bug #1999 と同じ理由で、margin を残すと pa-visually-hidden の隠し方が崩れる）. */
.pa-branch-archive__title.pa-visually-hidden {
	margin: -1px;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: normal;
}

.pa-branch-archive__lead {
	margin: 0;
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
}

/* --- 店舗一覧の見出しと惹句を移行元へ合わせる（Task #3267） ------------------
   🚨 **`.pa-branch-archive__header` と `.pa-branch-archive__lead` は
   taxonomy-pa_area.php（エリアのページ）と共有している。**この節の指定は
   `.archive-content--branch` で必ず限定する。限定しないとエリアのページの
   惹句まで 24px の黒になる.

   【移行元の作り】移行元の店舗一覧（legacy/www.p-a.jp/public/branch/index.html）は、
   見出し・惹句・地図・WEB 相談の帯を 1 つの節 `section#event_top` に入れている
   （写し元 public/css/page_event_top.css の 10〜18 行と
   public/branch/css/style.css の .map_box / .online_box）。

     #event_top { width: 1100px; padding: 0 0 30px; text-align: center }
     #event_top .title { margin-bottom: 30px }
     #event_top .copy  { margin-bottom: 15px; font-size: 24px; letter-spacing: 0.05em }

   【高さの差 192px の内訳（実測・幅 1440px）】移行元の節は 1,049px、dev の
   `.pa-branch-archive__mapbox` は 857px だった。差の 192px は次の足し算で
   ちょうど合う（**この節の中の差はこれで尽きる**。節と節の継ぎ目に出る差は
   別で、下の「パソコン幅の上書き」の節で器ごと打ち消している）.

     見出し 81 + 見出しの下 30 + 惹句 36 + 惹句の下 15 + 節の下の内余白 30 = 192

   地図から下は、移行元（地図の器 692 + 下 40 + 帯 65 + 下 60 = 857）と
   dev（地図 686 + 上 46 + 帯 65 + 下 60 = 857）で**合計が既に一致している**。

   🚨 **見出しと惹句を `.pa-branch-archive__mapbox` の中へ移してはいけない。**
   あの区画は `@media (min-width: 1100px)` でしか `display: block` にならないので、
   移すと 1,100px 未満で見出しと惹句が丸ごと消える。DOM の並びは移行元と既に
   同じ（帯 → 見出し・惹句 → 地図 → WEB 相談の帯）なので、**置き場所は変えずに
   姿だけ合わせ、合否は画面左端からの絶対位置で見る**. */
.archive-content--branch .pa-branch-archive__header {
	/* 移行元 #event_top の柱の幅。狭い画面では画面幅に留めて横スクロールを出さない. */
	width: min(1100px, 100%);
	/* 🚨 **下外余白は 0 にして、器の格子の行の空きに任せる。**
	   移行元スマートフォン版はこの器の下を 18px 空ける
	   （.main_read の margin-bottom: 18px。legacy/public/sp/branch/css/style.css
	   の 60〜65 行）。共通の器 .archive-content は幅 749px 以下で
	   `--pa-archive-gap: 18px` の行の空きを持ち、**格子では子の外余白が行の空きに
	   足し算される**ので、ここに 18px を書くと合計 36px になって 18px 広がる。
	   セルフレビューの bug 観点が実測で見つけた（幅 375px で 36px を確認）。
	   パソコン幅は下の @media が行の空きを 0 にしたうえで 15px を書く. */
	margin: 0 auto;
}

/* 見える見出し「支店一覧」（archive-branch.php が出す h2）。

   大原則は「画像に焼き込まれた文言はテキストで出す」なので、絵は貼らずに
   明朝の文字と赤い短線で組み立てる。**移行元は 2 つの版で絵が別**なので、
   土台をスマートフォン版に置き、パソコン幅を下の @media で上書きする。

   【土台 = 移行元スマートフォン版】絵は sp/branch/images/main_ttl.gif（191 × 85）。
   器は `#report .category_ttl { margin: 0 auto 20px; width: 34.8% }` で、
   **画面幅に比例して伸縮する**（固定 px ではない）。画素を数えた中身:

     明朝の黒い「支店一覧」  絵の中の x=1〜184（幅 184）・y=2〜43
     赤い短線                絵の中の x=75〜114（幅 40）・y=83〜84（太さ 2）・#f10000

   画面幅 W に対する実寸へ直すと（絵の横幅 = 0.348W・縦横比 85 : 191）:

     字の大きさ    184 / 191 × 34.8% ÷ 4 文字 = 8.3812vw
     短線の幅       40 / 191 × 34.8%          = 7.288vw
     短線の太さ      2 / 191 × 34.8%          = 0.3644vw
     短線までの空き 83 / 191 × 34.8% − 字     = 6.7392vw
     見出しの高さ   85 / 191 × 34.8%          = 15.4848vw

   幅 375px での実測は 130.5 × 58.06 で、上の式は 58.07 を出す（一致する）。

   🚨 **短線は絵の飾りであって CSS の罫線ではない。**`border-bottom` で描くと
   要素の幅いっぱいに伸びるので、擬似要素で短い箱として描く. */
.pa-branch-archive__legacy-title {
	margin: 0 auto 20px;
	color: #000;
	font-family: var(--pa-font-family-serif);
	font-size: 8.3812vw;
	font-weight: 400;
	line-height: 1;
	letter-spacing: normal;
	text-align: center;
}

.pa-branch-archive__legacy-title::after {
	display: block;
	width: 7.288vw;
	height: 0.3644vw;
	margin: 6.7392vw auto 0;
	background-color: #f10000;
	content: "";
}

/* 惹句。土台は移行元スマートフォン版 `.main_read`。dev は 16px・灰（本文色）だった。
   **文言は既に移行元と同じなので変えない**
   （「全国どこからでもパートナーエージェントをご利用いただけます。」句点あり）。

   🚨 **行送りは `.main_read` の `line-height: 140%` ではなく 2 である。**
   同じファイルの 13〜15 行に `#report p { line-height: 2 }` が在り、この段落は
   `<div id="report">` の中にある（legacy/public/sp/branch/index.html の 105〜111 行）。
   id を含む側（1,0,1）がクラスだけの側（0,1,0）に勝つので、140% は 1 度も効かない。
   写しを手元から配って測った実測も 26px（= 13 × 2）だった。
   **CSS の字面だけを読んで 140% と書いていた誤りをセルフレビューが見つけた。**

   🚨 **書体はゴシックである。**移行元パソコン版は `<p class="copy serif">` で明朝だが、
   スマートフォン版は `<p class="main_read">` で `serif` を持たない
   （legacy/public/sp/css/common.css の 2〜9 行で、body は游ゴシック系・`.serif` だけが明朝）。
   実測も游ゴシックだった。土台の `.pa-branch-archive__lead` が明朝を指しているので、
   ここで基本の書体へ戻し、下の @media でパソコン幅だけ明朝へ返す。

   ⚠️ 移行元スマートフォン版は「全国どこからでも<br>パートナーエージェントを…」と
   改行を 1 つ持つ。dev は改行を持たないため、折り返す位置だけが違う。
   文言そのものは同じなので、この PR では型紙に手を入れない（別途記録する）. */
.archive-content--branch .pa-branch-archive__lead {
	color: #000;
	font-family: var(--pa-font-family-base);
	font-size: 13px;
	line-height: 2;
	text-align: center;
}

/* 節の下の内余白 30px（移行元 #event_top の padding-bottom）。移行元では見出しから
   WEB 相談の帯までが 1 つの節なので、その末尾に付く。dev は地図の区画が末尾に
   あたるので、ここに置くと次の区画までの空きが移行元と同じになる. */
.archive-content--branch .pa-branch-archive__mapbox {
	padding-bottom: 30px;
}

/* --- パソコン幅（移行元パソコン版）の上書き --------------------------------
   移行元パソコン版の絵は branch/images/title.gif（156 × 75）で、h2 の高さは 81px
   である（絵 75 + 行の箱の余り 6）。画素を数えた中身:

     明朝の黒い「支店一覧」  絵の中の x=0〜150（幅 151）・y=2〜35
     赤い短線                絵の中の x=59〜94（幅 36）・y=74（太さ 1）・#f10000

   字の大きさは、全角 4 文字の送りが 151px に収まることから 38px と置いた
   （4 × 38 = 152）。高さ 81px は「行の箱 38 + 短線までの空き 36 + 短線 1 +
   絵の下の余り 6」で組み立てている。

   器そのものが足している縦の空きも、ここで打ち消す。共通の器 .archive-content は
   「格子・行の空き 22px・上外余白 60px・下外余白 80px」を持つが（このファイルの
   25900 行あたり）、移行元の /branch/ はどれも持たない。幅 1440px の実測
   （移行元 out/archive-legacy-1440.json）:

     上のパンくずの下端            192
     導入の帯 .introduce_top       192 〜 412（下外余白 60）
     地図の節 #event_top           472 〜 1521（上下の外余白 0）
     支援の帯 .box_support        1521 〜 2189（上外余白 0・下外余白 75）
     先頭へ戻る .page_topArea     2264

   移行元が持つ空きは「帯の下 60」だけである。dev は器が継ぎ目 3 か所へ 22px ずつ
   足し、さらに上へ 60・下へ 80 を足すので、合わせて 206px 縦に伸びていた。
   🚨 **格子では外余白が重ならない**ので、子の外余白は行の空きに足し算される。

   🚨 **上書きの区切り幅を 2 つに分けてある。**

   字まわり（見出しの大きさ・短線・惹句）は **750px から**上書きする。土台の
   `vw` は画面幅に比例して伸び続けるので、1,100px まで放っておくと幅 750px で
   62.9px・幅 1,099px で 92.1px の見出しになる（実測）。移行元はどちらの版でも
   その大きさを出さないので、**どこにも存在しない姿**になる。移行元は画面幅では
   なく端末の名乗りで版を切り替えるため、幅で区切るならテーマの主な区切り
   （このファイルで 749px / 750px が 280 か所・1,100px は 18 か所）に合わせる。
   セルフレビューの bug 観点が実測で見つけた。

   器の打ち消し（行の空きと上下の外余白）は **1,100px のまま**にする。
   1,100px 未満ではエリアの区画が現れ、その縦の並びは 18px の行の空きを
   前提にしているためである。エリアの区画は器の直の子なので、ここを 0 にすると
   区画どうしがくっつく。

   🚨 **共通の .archive-content を書き換えない。**ほかの一覧ページを巻き込む。
   🚨 **器の目印を 2 クラスにしてある。**共通の .archive-content の宣言はこの位置
   より後ろに在るため、1 クラスで書くと同じ詳細度で負けて 1 度も効かない. */
@media (min-width: 750px) {
	.pa-branch-archive__legacy-title {
		margin: 0 auto 30px;
		padding-bottom: 6px;
		font-size: 38px;
	}

	.pa-branch-archive__legacy-title::after {
		width: 36px;
		height: 1px;
		margin: 36px auto 0;
	}

	.archive-content--branch .pa-branch-archive__lead {
		/* 移行元パソコン版の惹句は `<p class="copy serif">` で明朝。土台で基本の
		   書体へ戻してあるので、ここで明朝へ返す. */
		font-family: var(--pa-font-family-serif);
		font-size: 24px;
		line-height: 1.5;
		letter-spacing: 0.05em;
	}
}

@media (min-width: 1100px) {
	.archive-content--branch .pa-branch-archive__header {
		/* 移行元 #event_top .copy の下外余白。器の行の空きを 0 にしたうえで
		   ここに 15px を書くので、地図までの空きがちょうど 15px になる. */
		margin: 0 auto 15px;
	}

	.archive-content--branch.pa-branch-archive {
		row-gap: 0;
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* エリアへの飛び先。移行元スマートフォン版の .anchor_menu にあたる。移行元は
   エリア名を画像で並べているが、ここでは文字で並べる. */
.pa-branch-archive__jump-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 12px;
	list-style: none;
	margin: 0 0 var(--pa-space-md);
	padding: 0;
}

.pa-branch-archive__jump-item a {
	display: block;
	padding: 8px 16px;
	border: 1px solid var(--pa-color-accent);
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	text-decoration: none;
}

.pa-branch-archive__jump-item a:hover,
.pa-branch-archive__jump-item a:focus-visible {
	background-color: var(--pa-color-accent);
	color: var(--pa-color-button-text);
}

.pa-branch-archive__area {
	margin-bottom: var(--pa-space-md);
}

/* エリアの見出し。移行元スマートフォン版 .ttl_gold_bb の写しである. */
.pa-branch-archive__area-title {
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: var(--pa-branch-rule);
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-branch-area-title-size);
	font-weight: 400;
}

.pa-branch-archive__area-title a {
	color: inherit;
	text-decoration: none;
}

.pa-branch-archive__area-title a:hover,
.pa-branch-archive__area-title a:focus-visible {
	text-decoration: underline;
}

.pa-branch-archive__note {
	margin: 0 0 16px;
	font-size: var(--pa-branch-body-size);
}

/* 店舗の並び。移行元のパソコン版は 2 列、スマートフォン版は 1 列に積む。
   店舗名は移行してきた題名（移行元 title タグ）で、長いものがあるため、
   幅を決め打ちせず 280px を下限にした自動の段組みにする. */
.pa-branch-archive__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 0 var(--pa-space-sm);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-branch-archive__item {
	border-bottom: var(--pa-branch-hairline);
}

/* 移行元は項目の右端に矢印の画像を置く。画像を持ち込まず、文字の三角で表す. */
.pa-branch-archive__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 4px;
	font-size: 15px;
	text-decoration: none;
}

.pa-branch-archive__link::after {
	content: "\203a";
	color: var(--pa-color-accent);
	font-size: 18px;
	line-height: 1;
}

.pa-branch-archive__link:hover,
.pa-branch-archive__link:focus-visible {
	text-decoration: underline;
}

/* 店舗名の 2 通りの書き方（Task #3608）。移行元は版によって呼び名が違う。

     パソコン版 legacy/public/branch/include/branchlist.shtml  「パートナーエージェント 札幌店」
     スマートフォン版 legacy/public/sp/branch/index.html        「札幌店」

   dev は 1 つの URL で両方の幅に応えるので、テンプレートが両方を書き出し、
   幅で出し分ける。土台（パソコン幅）は移行してきた長い題名を出し、携帯幅の帯で
   短い店名へ差し替える。

   🚨 **短い店名は隠すのであって、書き出さないのではない。**読み上げの対象から
   外れないよう、どちらか一方だけが `display: none` になる形にしてある. */
.pa-branch-archive__link-short {
	display: none;
}

.pa-branch-archive__link-full {
	display: inline;
}

/* 都道府県の入口など、店舗そのものではない案内ページ。店舗の並びと見分けが
   つくよう、一段小さくして字下げする. */
.pa-branch-archive__guides {
	margin-top: var(--pa-space-sm);
}

.pa-branch-archive__guides-title {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
}

.pa-branch-archive__guides-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
}

.pa-branch-archive__terms {
	margin: var(--pa-space-md) 0;
	padding-top: var(--pa-space-sm);
	border-top: 1px solid var(--pa-color-border);
}

.pa-branch-archive__terms-title {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
}

.pa-branch-archive__terms-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-branch-archive__more {
	margin: var(--pa-space-md) 0;
	text-align: center;
}

/* エリアのページだけは、一覧への導線が 2 つ並ぶことがある。エリア（pa_area）は
   店舗と体験談が共有しており、並んでいる投稿の種類に合わせて行き先を出すため
   である。押しボタンどうしが触れないよう、間に 16px を置く. */
.archive-content--pa-area .pa-branch-archive__more {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

/* 一覧をまたぐ導線の押しボタン。旧デザインの .button-01（濃い地に白文字）ではなく、
   共通トークンの押しボタン色を使う。

   採用の応募導線（.pa-recruit-apply と .pa-recruit-apply__link）の指定は、Bug #1445 で
   採用情報の一覧を廃止したときに削除した。あの導線は一覧テンプレート
   archive-recruit.php だけが出しており、テンプレートごと消えたため出しどころが
   無くなった。採用の応募ボタンは移行本文の中の画像リンクが担う
   （inc/recruit-apply-link.php が遷移先を書き換える）. */
.pa-branch-archive__more-link,
.pa-branch__back-link {
	display: inline-block;
	min-width: 260px;
	padding: 14px 40px;
	background-color: var(--pa-color-button-bg);
	color: var(--pa-color-button-text);
	font-size: 14px;
	text-align: center;
	text-decoration: none;
}

.pa-branch-archive__more-link:hover,
.pa-branch-archive__more-link:focus-visible,
.pa-branch__back-link:hover,
.pa-branch__back-link:focus-visible {
	color: var(--pa-color-button-text);
	opacity: 0.8;
}

/* --- 携帯幅の店舗一覧（Task #3608）------------------------------------
   移行元は携帯の名乗りでスマートフォン版 /sp/branch/ へ転送する。写す先は
   legacy/www.p-a.jp/public/sp/branch/css/style.css と、同 sp/branch/index.html の
   105〜290 行である。

   🚨 **移行元スマートフォン版は画面幅で伸縮しない。**下層のパソコン版が
   `html { font-size: 2.5445292621vw }` で全部を伸ばすのとは作りが違う。実測（本番を
   携帯の名乗りで 1 回読み、幅 320 / 375 / 749px を測った・2026-09-04T23:48:44Z）:

     字の大きさ      13px   13px   13px    ← 変わらない
     行送り          26px   26px   26px    ← 変わらない
     エリアの見出し  52px   52px   52px    ← 変わらない
     区画の下の空き  30px   30px   30px    ← 変わらない
     一覧の器の幅   280px  328px  655px    ← 87.5% で伸びる
     目次の 1 件    137px  160px  320px    ← 48.928% で伸びる

   **つまり長さは px のまま写し、幅だけを % で写す。**`vw` へ畳む必要があるのは、
   移行元が絵で組んでいて縦横比で高さが決まるところ（目次の押しボタン）だけである。

   🚨 **行送りは `.main_read { line-height: 140% }` ではなく 2 である。**同じファイルの
   13〜15 行に `#report p { line-height: 2 }` が在り、id を含む側が勝つ。
   （[[reference_legacy_css_declaration_may_lose_specificity]] と同じ型）

   移行元の組み方（幅 375px の実測）:

     #report        画面いっぱい・padding 25px 0
     .category_ttl  34.8%・margin 0 auto 20px      ← 見出し（別の節で写し済み）
     .main_read     画面いっぱい・margin-bottom 18px
     .anchor_menu   画面いっぱい・padding 0 6.25% 11px
       li           48.928%・margin-bottom 5px・中身は 274 × 123 の絵
     .report_body   87.5%・margin auto
       .ac_sec      margin-bottom 30px
         .ttl_gold_bb  padding 15px 0・行送り 20px・下に 2px の金線・margin-bottom 15px
         .list_branch  li は 26px（13px × 行送り 2）・下線なし
   -------------------------------------------------------------------- */
@media (max-width: 749px) {
	/* 共通の器は幅 92% で中央に置くが、移行元は画面いっぱいの器に「自分で幅を
	   決める 3 つの子」を積む。ここで移行元と同じ組み方へ戻す。
	   🚨 目印を 2 クラスにしてあるのは、共通の .archive-content の宣言が後ろに
	   在るためである。1 クラスだと同じ詳細度で負けて 1 度も効かない. */
	.archive-content--branch.pa-branch-archive {
		row-gap: 0;
		width: 100%;
		max-width: none;
		margin: 0;
		/* 下の 25 は持たない（Bug #9197）。移行元の 25 は器 `#report` の下に在り、パンくず・帯・押しボタンは
		   その外に並ぶ。dev はパンくずと帯をこの器の中に入れるので、下に 25 を持つと帯 → 押しボタンが
		   30＋25＝55 になる。25 は下のパンくずの上へ移す（すぐ下の規則の `margin-top: 64px`）. */
		padding: 25px 0 0;
	}

	/* 下のパンくずから来店予約の帯までを、移行元スマホ版の 39 にそろえる（Bug #9175）。
	   全国の一覧では、パンくずと帯がこの器の直の子として並ぶ（`inc/branch-archive-legacy-parts.php` の
	   `pa_branch_archive_render_support_band()` が、パンくずのすぐ後に帯を出す）。この器は
	   `.archive-content` の `display: grid` なので外余白が相殺されず、パンくずの下 39 と帯の上 15 が足されて
	   54 になっていた。移行元（`sp/branch/index.html` の `div.path` と `div.conv-banner`）は block の中で相殺して 39 である。
	   帯は共通の部品なので触らず、パンくずの下を 39 − 15 = 24 にする。地方と都道府県の一覧のパンくずは
	   block の `.pa-conv-band-host` の中に在り、この選択子に当たらない（相殺して 39 のまま）. */
	/* 上の 64 は、移行元の器 `#report` の下の内余白 25 と `div.path` の上の外余白 39 の和である（Bug #9197）.
	   grid の中なので、前の中身の下の外余白とも相殺しない（移行元も `#report` の内余白が相殺を止める）. */
	.archive-content--branch.pa-branch-archive > .pa-breadcrumb--bottom {
		margin-top: 64px;
		margin-bottom: 24px;
	}

	/* 見出しと惹句の器。移行元 .main_read の下外余白 18px を、器の下に持たせる
	   （器の中では h2 の下外余白 20px がそのまま効く）. */
	.archive-content--branch .pa-branch-archive__header {
		margin: 0 0 18px;
	}

	/* エリアへの飛び先。移行元 .anchor_menu は画面いっぱいで、左右に 6.25% の
	   内余白を持つ。押しボタンは 274 × 123 の絵なので、縦横比で高さが決まる. */
	.archive-content--branch .pa-branch-archive__jump {
		margin: 0;
		padding: 0;
	}

	.archive-content--branch .pa-branch-archive__jump-list {
		display: flex;
		flex-wrap: wrap;
		/* 移行元は奇数番を左へ、偶数番を右へ寄せる（float: left / right）。
		   2 列に分けて両端へ寄せると同じ並びになり、9 件目は左に残る. */
		justify-content: space-between;
		gap: 0;
		margin: 0;
		padding: 0 6.25% 11px;
	}

	.archive-content--branch .pa-branch-archive__jump-item {
		width: 48.928%;
		/* 移行元は li の下外余白なので、最後の行にも 5px が付く（行の空きだと
		   最後の行に付かず、器が 5px 低くなる）. */
		margin-bottom: 5px;
	}

	/* 押しボタンの中身は絵（sub_nav_01〜10.gif・274 × 123）である。文言はテキストで
	   書き、絵の中の飾りを CSS で組み直す。絵の中を画素で数えた値:

	     下地            黒 #000
	     文字            白の明朝・大きさ 26px・左の余り 5px・上下は中央
	     矢印（∨）      白・幅 28px・高さ 14px・線 2px・右の余り 17px
	     白い下線        全幅・高さ 3px・下端に付く
	     赤い短線        左から 110px（40.146%）・高さ 6px・#e1200f・下端に付く

	   絵の中の px を、押しボタンの幅（48.928% × 87.5vw = 42.812vw）に対する比で
	   書く。押しボタン自身の幅が画面幅に比例するので、絵と同じ比率で縮む。
	     字の大きさ  26 / 274 × 42.812vw = 4.0625vw
	     文字の余り   5 / 274 × 42.812vw = 0.78125vw
	     矢印の外枠  28 / 274 × 42.812vw = 4.375vw（回した正方形の一辺は ÷ √2）
	     矢印の右余り 17 / 274 × 42.812vw = 2.65625vw
	     白い下線     3 / 274 × 42.812vw = 0.46875vw
	     赤い短線     6 / 274 × 42.812vw = 0.9375vw

	   🚨 **白い下線を border-bottom で描かない。**赤い短線を重ねる擬似要素が
	   内側の箱に収まるため、下端で 3px ずれる。下地の絵として敷けば重ねられる. */
	.archive-content--branch .pa-branch-archive__jump-item a {
		display: flex;
		position: relative;
		align-items: center;
		box-sizing: border-box;
		aspect-ratio: 274 / 123;
		padding: 0 0 0 0.78125vw;
		border: 0;
		background-color: #000;
		background-image: linear-gradient(#fff, #fff);
		background-position: left bottom;
		background-repeat: no-repeat;
		background-size: 100% 0.46875vw;
		color: #fff;
		font-family: var(--pa-font-family-serif);
		font-size: 4.0625vw;
		line-height: 1;
	}

	/* 赤い短線。絵の飾りであって罫線ではないので、幅を持つ箱として描く. */
	.archive-content--branch .pa-branch-archive__jump-item a::before {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 40.146%;
		height: 0.9375vw;
		background-color: #e1200f;
		content: "";
	}

	/* 下向きの矢印。外枠を 28 × 14 にするため、回した正方形を縦へ半分に潰す。
	   変形は右から順に効くので、回してから潰す並びで書く. */
	.archive-content--branch .pa-branch-archive__jump-item a::after {
		position: absolute;
		top: 50%;
		right: 2.65625vw;
		width: 3.09359vw;
		height: 3.09359vw;
		margin-top: -1.546795vw;
		border-right: 0.3125vw solid #fff;
		border-bottom: 0.3125vw solid #fff;
		transform: scaleY(0.5) rotate(45deg);
		content: "";
	}

	.archive-content--branch .pa-branch-archive__jump-item a:hover,
	.archive-content--branch .pa-branch-archive__jump-item a:focus-visible {
		background-color: #000;
		color: #fff;
	}

	/* エリアの区画。移行元 .report_body（87.5%・中央）の中に .ac_sec が積まれる。
	   dev は区画が器の直の子なので、区画そのものに幅と下外余白を持たせる. */
	.archive-content--branch .pa-branch-archive__area {
		width: 87.5%;
		margin: 0 auto 30px;
	}

	/* エリアの見出し。移行元 .ttl_gold_bb は上下に 15px の内余白を持ち、
	   行送りは字の大きさと同じ 20px、下に 2px の金線が付く（15 + 20 + 15 + 2 = 52）. */
	.archive-content--branch .pa-branch-archive__area-title {
		margin: 0 0 15px;
		padding: 15px 0;
		font-size: 20px;
		line-height: 1;
	}

	/* 店舗の並び。移行元は幅 749px でも 1 列である。土台の自動の段組み
	   （最小 280px）は幅 655px の器で 2 列に割れるため、ここで 1 列に固定する. */
	.archive-content--branch .pa-branch-archive__list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	/* 移行元の携帯版は項目に仕切り線を持たない（線を引くのはパソコン版の
	   店舗カード .shop_detail である）. */
	.archive-content--branch .pa-branch-archive__item {
		border-bottom: 0;
	}

	/* 店舗のリンク。移行元は下線付きの素の文字で、高さは 13px × 行送り 2 = 26px。
	   土台が付ける矢印と内余白と枠の見た目をここで外す. */
	.archive-content--branch .pa-branch-archive__link {
		display: inline;
		padding: 0;
		font-size: 13px;
		line-height: 2;
		text-decoration: underline;
	}

	.archive-content--branch .pa-branch-archive__link::after {
		content: none;
	}

	/* 「エリア内のご案内ページ」を携帯幅では出さない（Task #3664）。

	   移行元スマートフォン版（/sp/branch/）はこの塊を持たない。配られ方を追うと、
	   移行元の店舗一覧（パソコン版・スマートフォン版とも）に 0 件、携帯版のエリア別の
	   一覧にも 0 件で、出てくるのはパソコン版のエリア別の一覧とフッターのサイトマップ
	   だけである。畳んでも導線は失われない（サイトマップが残る）。

	   ユーザー判断（2026-09-05）: **携帯幅では消す。パソコン幅はそのまま残す。**

	   🚨 **テンプレートからは書き出しを消さない。**判断が戻ったときに、この 1 規則を
	   外すだけで元へ戻せるようにしてある。

	   🚨 **目印を .archive-content--branch で限定する。**この塊を書き出すのは店舗一覧
	   （archive-branch.php）だけなので、いまは限定しなくても結果は同じである。
	   それでも限定するのは 2 つの理由からである。
	     1. この帯のほかの規則（区画・項目・リンク・並び）は**限定が要る**。
	        エリアのページ（taxonomy-pa_area.php）が同じ目印
	        （__area / __item / __link / __list / __more / __terms）を使うためである。
	        1 本だけ書き方を変えると、あとで読む人がどれに限定が要るのか判断できない
	     2. この塊をエリアのページへも出すようになったとき、そちらまで畳まない
	   （Greptile の指摘で、当初の注釈が「エリアのページでも使っている」と
	   事実に反する説明をしていたのを直した）。

	   🚨🚨 **オンライン店の区画は除く。**テンプレートは同じ器の名前を 2 つの役割で
	   使っている。エリアの区画では「エリア内のご案内ページ」だが、オンライン店の
	   区画では**「店舗のないエリア → WEB相談」**である。除かずに畳むと、移行元が
	   携帯幅でも出している WEB相談（移行元スマートフォン版の 9 つめの区画）が
	   消える。手元で測って実際に消えることを確かめた. */
	.archive-content--branch .pa-branch-archive__area:not(.pa-branch-archive__area--online) .pa-branch-archive__guides {
		display: none;
	}

	/* 店舗名は短い店名（札幌店）を出す。長い題名はパソコン幅で出す. */
	.pa-branch-archive__link-short {
		display: inline;
	}

	.pa-branch-archive__link-full {
		display: none;
	}
}

/* --- 日本地図に店舗名を重ねる区画（Task #1805） ---------------------
   移行元のパソコン版は、日本地図の絵（assets/branch/images/map.png・1100 × 686px）
   の上にエリア名と店舗名を重ねて置く。これがパソコン版の店舗一覧そのものである。
   写した先は移行元 legacy/www.p-a.jp/public/branch/css/style.css の 171〜330 行
   （.map_box / .online_box ほか）と、同 public/branch/index.html の 100〜166 行。
   地図の絵の下にエリアごとの節は無く、「店舗のないエリア → WEB相談」の帯が続く
   だけである。よってパソコン幅では、現行のエリアごとの並びを出さない。

   ------------------------------------------------------------------
   幅に応えながら移行元の位置を保つ作り
   ------------------------------------------------------------------
   移行元は固定幅 1100px の版だが、このテーマは 1 つの URL で幅に応える。地図の
   中の位置・文字の大きさ・余白を **すべて同じ比率で** 縮めるため、移行元の 1px に
   あたる長さをトークン（--pa-branch-map-px）に置き、移行元の px 値を掛けて書く。
   数値をそのまま px で書くと、幅が縮んだときに札だけが絵からはみ出す。

   枠線の 1px だけは実寸のままにする。比率で縮めると細くなって消えるためである。

   ------------------------------------------------------------------
   地図を出し始めるのが 1100px 以上である理由
   ------------------------------------------------------------------
   このテーマのスマートフォン幅の境目は 749px だが、地図はそこから出さない。
   縮尺が器の幅に比例するため、狭い画面では文字と行送りが読めない大きさまで縮む
   からである（実測。750px で店舗名 9.2px・行送り 14.1px、768px で 9.4px・14.5px）。
   その帯には iPad の縦 768px と横 1024px が丸ごと入り、指で押す人には
   現行の並び（リンクの押せる高さ 44px）より押しにくくなる。移行元は固定幅 1100px
   の版で、狭い画面には横スクロールか /sp/ ミラーで応えていたので、9px まで縮む
   状態は移行元にも無い。

   そこで 1100px を境目にし、それより狭い画面では現行のエリアごとの並びを残す
   （司令塔の裁定・2026-08-12）。1100px では店舗名 13.5px・行送り 20.7px で、
   地図が原寸 1100px に達するのは画面の幅 1223px 以上である。

   コンテナクエリを解さない古い閲覧環境では、下の @supports が効かないので地図を
   出さず、現行のエリアごとの並びがそのまま残る。これは意図した退避である。 */

.pa-branch-archive__mapbox {
	/* 移行元の 1px にあたる長さ。1cqw はこのブロックの幅の 1% なので、
	   地図の幅 1100px の 1/1100 は 100 / 1100 = 0.0909091cqw である。

	   🚨 **この器は枠線を持たないので、内側の幅は 1,100px のままである。**
	   だから 100 / 1100 で正しい。**店舗詳細の地図（`.map_box`）は枠線 1px を
	   左右に持つため内側が 1,098px になり、同じ値では 0.18% 縮む**
	   （Bug #4651。あちらは `calc(100cqw / 1098)` へ直した）。**両方を同じ値に
	   そろえてはいけない。**反映前の計測で、この器を 1,098 で割ると見出しが
	   18px → 18.0328px に、エリアの箱が 65px → 65.109px に太ることを確かめた。

	   **この変数を .pa-branch-archive__mapbox 自身の指定で使ってはいけない。**
	   cqw は「その要素の祖先にあるコンテナ」を基準に解くため、コンテナ自身の
	   指定で使うと基準が地図ではなく画面（small viewport）へ移る。エラーにはならず
	   値だけが静かにずれる。使ってよいのは子孫の指定だけである. */
	--pa-branch-map-px: 0.0909091cqw;

	container-type: inline-size;
	/* 既定では地図を出さない。1100px 以上で出す指定は下にある（理由は上のコメント）. */
	display: none;
	width: 100%;
	/* 移行元の地図の絵の幅。これより広い画面でも絵を伸ばさない. */
	max-width: 1100px;
	margin: 0 auto;
}

@supports (container-type: inline-size) {
	@media (min-width: 1100px) {
		.pa-branch-archive__mapbox {
			display: block;
		}

		/* 地図を出す幅では、移行元に無い現行の並びを出さない。

		   セレクタを .archive-content--branch で必ず限定する。
		   .pa-branch-archive__area（エリアごとの節）はエリアのページ
		   （.archive-content--pa-area）でも使っており、限定しないとそちらの
		   並びまで消えるためである。

		   🚨 ここには .pa-branch-archive__terms（エリアから探す）と
		   .pa-branch-archive__more（デートスポットを探す）も並んでいた。
		   **どちらも Task #3675 で店舗一覧のテンプレートから消した**ので、
		   店舗一覧には最初から出てこない。隠す指定も要らなくなった。
		   エリアのページ側の同じ 2 つは残っている. */
		.archive-content--branch .pa-branch-archive__jump,
		.archive-content--branch .pa-branch-archive__area {
			display: none;
		}
	}
}

/* 地図の絵。img ではなく背景として敷く。絵は飾り（中身は上に重ねたリンクの文字が
   持つ）であり、img だと親が display: none でもスマートフォン幅で 37,189 バイトを
   取って捨ててしまうためである。背景画像は display: none の下では取得されない。

   縦横比は絵の実寸（1100 × 686）で固定する。これで読み込みの前後に高さが動かず、
   区画の置き場所（下の calc）とも食い違わない. */
.pa-branch-archive__map {
	position: relative;
	aspect-ratio: 1100 / 686;
	background-image: url("../branch/images/map.png?ver=e28e310e8a3e");
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

/* エリアの区画。移行元 .map_box .area は幅を指定せず、中身に合わせて縮む。

   上限の 200 だけは移行元に無い受け皿である。区画は幅を持たない絶対配置なので、
   札の文字が想定より長くなると地図の右外へ伸び、ページに横スクロールが出る
   （テンプレート側でも短い店名を 2 段構えで引いて防いでいるが、こちらは最後の
   受け皿である）。いまの札で最も広いのは中部・関西の 120 なので、正常な表示には
   当たらない。最も右にある東北の区画（左端 875）でも 875 + 200 = 1075 で、
   地図の幅 1100 に収まる. */
.pa-branch-archive__map-area {
	position: absolute;
	max-width: calc(200 * var(--pa-branch-map-px));
	overflow-wrap: anywhere;
	/* 移行元 .map_box .area の 15px（Task #3267 の項目 3）。
	   ⚠️ **この値は画面には出ない。**札の中の文字はすべて子が自分で大きさを
	   持っている（見出し 18px が 9 件・店舗名 15px が 34 件。幅 1440px で数えた）。
	   受け継ぐだけの土台をそろえて、あとから足す文字が移行元と同じ大きさで
	   始まるようにするための指定である。子の大きさは calc() の絶対値なので、
	   ここを変えても子は動かない（実測で確認した）. */
	font-size: calc(15 * var(--pa-branch-map-px));
	text-align: left;
}

/* 区画の置き場所。移行元の px 値をそのまま掛けている（地図の絵の左上が原点）。
   四国は移行元の地図にも区画が無いので、ここにも置き場所を持たない。

   【店舗を増やすときの余地】札の高さは「見出し 18 + 見出しの下の余白 24 +
   行数 × 23」で決まり、1 行に 2 店舗が並ぶ。置き場所が固定なので、増やしすぎると
   隣の札や地図の下端にぶつかる。いまの余地は次のとおりで、**中部がいちばん狭い**。

     区画   いまの下端  ぶつかる相手        あと何店舗で壊れるか
     中部     671       地図の下端 686      +2 店舗（1 行）ではみ出す
     関東     428       東京 507            +6 店舗
     東京     595       地図の下端 686      +8 店舗
     北海道   110       — （余裕あり）      —

   エリアを増やすときは、ここに置き場所も足すこと（足さないと地図の左上に重なる）. */
.pa-branch-archive__map-area--hokkaido {
	top: calc(45 * var(--pa-branch-map-px));
	left: calc(553 * var(--pa-branch-map-px));
}

.pa-branch-archive__map-area--tohoku {
	top: calc(154 * var(--pa-branch-map-px));
	left: calc(875 * var(--pa-branch-map-px));
}

.pa-branch-archive__map-area--kanto {
	top: calc(294 * var(--pa-branch-map-px));
	left: calc(799 * var(--pa-branch-map-px));
}

.pa-branch-archive__map-area--tokyo {
	top: calc(507 * var(--pa-branch-map-px));
	left: calc(799 * var(--pa-branch-map-px));
}

.pa-branch-archive__map-area--chubu {
	top: calc(583 * var(--pa-branch-map-px));
	left: calc(372 * var(--pa-branch-map-px));
}

.pa-branch-archive__map-area--kansai {
	top: calc(233 * var(--pa-branch-map-px));
	left: calc(315 * var(--pa-branch-map-px));
}

.pa-branch-archive__map-area--chugoku {
	top: calc(351 * var(--pa-branch-map-px));
	left: calc(110 * var(--pa-branch-map-px));
}

.pa-branch-archive__map-area--kyushu {
	top: calc(557 * var(--pa-branch-map-px));
	left: calc(95 * var(--pa-branch-map-px));
}

/* 「－オンライン店一覧－」の区画（.pa-branch-archive__map-area--online）の置き場所は
   Task #9293 で消した。移行元の 10/1 の最終リリース（822eda470）が地図からこの区画を
   やめ、オンライン店を各エリアの札へ 1 行ずつ配ったためである（archive-branch.php）。

   🚨 **オンライン店が入ったので、中部の札は地図の絵の下端（686）より下へ伸びる。**
   中部は店舗 2 行 + オンライン店 4 行で、移行元でも絵の外へはみ出す。移行元はその分を
   .map_box の下の余白で空けている（40px → 110px。下の .pa-branch-archive__map-consult）。
   上の「店舗を増やすときの余地」の表は、それより前の数え方である. */

/* エリアの見出し。移行元 .map_box .area h3 の写しである（18px / 太字 /
   行の高さ 1 / 下の余白 24px）。書体は移行元と同じ基準の書体で、この一覧の
   ほかの見出しが使う明朝ではない。

   **見出しそのものの色は黒である。** 移行元の .map_box .area h3 は色を書いて
   おらず、金茶（#a3762b）は下の h3 > a に付いている。見出しへ直に当てると、
   エリアの入口ページが無くて見出しがリンクにならないときに、移行元では黒で
   出る文字が金茶になってしまう. */
.pa-branch-archive__map-area-title {
	margin: 0 0 calc(24 * var(--pa-branch-map-px));
	color: var(--pa-palette-ink-legacy);
	font-family: var(--pa-font-family-base);
	font-size: calc(18 * var(--pa-branch-map-px));
	font-weight: 700;
	line-height: 1;
}

/* 金茶は見出しの中のリンクに付く。移行元 .map_box .area h3 a は、カーソルを
   載せても色も下線も変えない. */
.pa-branch-archive__map-area-title a {
	color: var(--pa-color-accent);
	text-decoration: none;
}

/* 店舗名。大きさは移行元 .map_box .area の 15px である。

   行の高さ 23px は実測値である。移行元は line-height を書いておらず normal の
   ままで、游ゴシック 15px のときに 23px で描かれていた（幅 1440px で実測。
   8 エリアもオンライン店も同じ 23px）。ここで normal のまま置かず 23px と書き
   切るのは、normal が解決する値が書体によって変わるためである。読み手の環境で
   游ゴシックが無いときも、移行元と同じ行送りを保てる。

   上下の余白は 0 にする。移行元はオンライン店の区画だけ段落（p）を持たず、
   リンクと改行を直に並べているため、段落の既定の余白が付くと、見出しとの間隔が
   移行元より広がってしまう. */
.pa-branch-archive__map-stores {
	margin: 0;
	font-size: calc(15 * var(--pa-branch-map-px));
	line-height: calc(23 * var(--pa-branch-map-px));
}

/* 店舗名のリンクの色は移行元の黒（#000）である。共通の本文色（#474747）ではない
   ので、旧デザインの黒を持つトークンを直に使う. */
.pa-branch-archive__map-stores a {
	color: var(--pa-palette-ink-legacy);
	text-decoration: underline;
}

/* 指を乗せたときは下線が消えて色が赤へ変わる（Bug #2670）。
 *
 * 移行元 `/branch/` の地図の店舗名リンクは、通常時が「下線あり・#000000」で、指を
 * 乗せると「下線なし・#e1200f」になる（2026-09-01 に幅 1440px と 375px で実測。
 * 34 本すべて同じ）。これは旧デザインの共通 CSS が持つ `a:hover` の振る舞いである。
 *
 * テーマではこの振る舞いが打ち消されていた。**詳細度が同じで、並び順で負けていた**
 * ためである。
 *
 *   `a:hover { text-decoration: none }`                        …… クラス 1 + 要素 1
 *   `:where(body:not(.pa-profile-new)) a:hover { color: … }`   …… クラス 1 + 要素 1
 *   `.pa-branch-archive__map-stores a { color: …; underline }` …… クラス 1 + 要素 1
 *
 * 3 つとも同じ詳細度なので、後ろにあるこの部品の指定が勝ち、指を乗せたときの下線の
 * 解除も色の変更も打ち消されていた。通常時の見た目（黒・下線あり）としては正しい
 * 指定なので、足りない `:hover` をここで補う。この規則はクラス 1 + 疑似クラス 1 +
 * 要素 1 で、上の 3 つより強い。並び順に頼らない。
 *
 * 色は共通の役割トークンを使う。旧デザインのプロファイルでは
 * `--pa-palette-red-legacy`（#e1200f）を指し、移行元の実測値と一致する. */
.pa-branch-archive__map-stores a:hover {
	color: var(--pa-color-link-hover);
	text-decoration: none;
}

/* 地図の中のリンクの行の高さ（移行元 .map_box a { line-height: 1.3 }・Task #9293）。

   移行元の 10/1 の最終リリース（822eda470）で branch/css/style.css に足された。
   見出しのリンク（18px）と店舗名のリンク（15px）の両方に当たる。店舗名の行は段落の
   行送り 23px（.pa-branch-archive__map-stores）が支えるので、1.3（19.5px）では
   行は低くならない。見出しの行は 1（18px）から 1.3（23.4px）へ高くなる.

   ⚠️ **見出しの高さが変わることは、まだ実ブラウザで測っていない。**移行元の CSS を
   写した値である. */
.pa-branch-archive__map a {
	line-height: 1.3;
}

/* 「店舗のないエリア → WEB相談」の帯。移行元 .online_box に当たり、地図の絵の
   外・下に置く。

   地図の絵の下端から 46px 下に置き、下に 60px の余白を取る（幅 1440px で実測）。
   移行元では、地図を囲む .map_box の下の余白 40px に、絵が行の中に収まるための
   余り 6px が足された結果である。

   🚨 **移行元の 10/1 の最終リリース（822eda470）で .map_box の下の余白が 110px に
   なった**（Task #9293。オンライン店を各エリアの札へ配り、中部の札が絵の外へ伸びた
   ため）。空きは 110 + 6 = **116px** になる。下の 46px の説明はそれより前の記録である.

   幅は地図の幅の 70% である。移行元は box-sizing が既定（content-box）なので、
   内側 770px に枠線 1px を足した外形 772px になる。このテーマは border-box を
   全体に効かせているため、同じ外形にするには枠線 2 本ぶんの 2px を足して書く。

   🚨 **上の 46px は移行元との差ではない。**移行元は「.map_box の下の余白 40px +
   絵が行の中に収まるための余り 6px」で同じ 46px を作っている。実測（幅 1440px）でも
   地図の下端から帯の上端までが両側とも 46px で一致する。**Task #3267 は
   「移行元の .online_box は上の外余白 0・dev は 46px」を差として挙げていたが、
   これは対応しない 2 つの値を引き比べた誤りである**（移行元側の 46px は
   .online_box ではなく .map_box が出している）。0 にすると 46px の退行になるので
   直さない。

   枠線の色は移行元の実値 #a18046 を直に書く（Task #3267）。**共通トークン
   var(--pa-color-accent)（= --pa-palette-gold = #a3762b）では色が違う**。
   実測すると移行元 rgb(161,128,70) 対 dev rgb(163,118,43) で、見た目に出る差だった。
   この区画の冒頭には「色は必ず共通トークンを通す」という決めごとがあるが、
   移行元の再現を優先する（司令塔の裁定 67「見た目・レイアウト・UX の違いはすべて直す」）。
   #a18046 は、いまも読み込まれる移行元 public/branch/css/style.css の .online_box が
   書いている実値である。

   トークンを通す利点だった「新デザインのページでは金が珊瑚色に替わる」は、この帯には
   はじめから当てはまらない。新デザインになるのはトップ・店舗の詳細 4 件・固定ページ
   2 件だけで（inc/design-profile.php の pa_current_design_profile()）、この帯を出す
   archive-branch.php は 1 度も新デザインにならない（目印を持つ型紙もこの 1 本だけ）.

   🚨 **同じ帯の中でも、見出しの金はトークンのままで正しい。**移行元の
   .online_box h3 は #a3762b で、これは --pa-palette-gold と同じ値である。
   枠線だけが別の値なので、見出し側（.pa-branch-archive__map-consult-title）は触らない。

   カーソルを載せたときの下地の金は、移行元 .online_box:hover も #A18046 なので、
   そちらも実値へそろえてある（下の :hover の節）。

   下地の #f5f2ef は金ではなく、対応するトークンも無いので実値のまま置く。 */
.pa-branch-archive__map-consult {
	width: calc(70% + 2px);
	margin: calc(116 * var(--pa-branch-map-px)) auto calc(60 * var(--pa-branch-map-px));
	border: 1px solid #a18046;
	background-color: #f5f2ef;
}

/* 帯の中のリンク。移行元は content-box のままなので、幅 100%（770px）に左右の
   余白 10px が外側へ足され、中身が器から 20px はみ出している。このテーマは
   border-box なので、同じ書き方でもはみ出さず 770px に収まる。中身は中央寄せ
   なので見た目の差はほぼ出ないが、移行元の値をそのまま写しても同じにはならない
   箇所である（はみ出さない側を採る）. */
.pa-branch-archive__map-consult > a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: calc(20 * var(--pa-branch-map-px)) calc(10 * var(--pa-branch-map-px));
	text-decoration: none;
}

.pa-branch-archive__map-consult-title {
	margin: 0;
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-base);
	font-size: calc(18 * var(--pa-branch-map-px));
	font-weight: 700;
	line-height: 1;
}

/* 見出しの後ろに入る区切り。移行元 .online_box h3::after の
   「半角スペース + 全角スペース + 縦棒 + 全角スペース + 半角スペース」である。
   全角スペースは見た目で半角と区別できないので、文字そのものではなく符号位置
   （\3000 = U+3000）で書く。CSS の符号位置の書き方は、直後の半角スペース 1 つを
   区切りとして食べるため、\20 で書いた半角スペースが別に要る. */
.pa-branch-archive__map-consult-title::after {
	content: "\20\3000 ｜\3000 \20";
}

.pa-branch-archive__map-consult-text {
	margin: 0;
	color: var(--pa-palette-ink-legacy);
	font-size: calc(15 * var(--pa-branch-map-px));
	line-height: calc(23 * var(--pa-branch-map-px));
	text-decoration: underline;
}

/* 移行元はカーソルを載せたときだけ色を反転する。キーボードで辿る人にも同じ
   合図が要るので、帯の中のリンクへ焦点が来たときも同じ見た目にする. */
/* カーソルを載せたときの下地。移行元 .online_box:hover も枠線と同じ #A18046 なので、
   枠線と同じ理由で実値へそろえる（Task #3267）。トークンの金 #a3762b とは別の色である. */
.pa-branch-archive__map-consult:hover,
.pa-branch-archive__map-consult:focus-within {
	background-color: #a18046;
}

.pa-branch-archive__map-consult:hover .pa-branch-archive__map-consult-title,
.pa-branch-archive__map-consult:hover .pa-branch-archive__map-consult-text,
.pa-branch-archive__map-consult:focus-within .pa-branch-archive__map-consult-title,
.pa-branch-archive__map-consult:focus-within .pa-branch-archive__map-consult-text {
	color: var(--pa-palette-white);
}

/* ==============================================================
 * 店舗ページの枠（single-branch.php）
 * ============================================================== */

.pa-branch__header {
	margin: 0;
	text-align: center;
}

/* .pa-branch__title の装飾（金色・serif・見出しサイズ）は Bug #1999 で外した。
   移行元の店舗系ページは本文に大きな見出しを持たないため、h1 は
   pa-visually-hidden（single-branch.php）で画面から隠し、見えるページ名は
   ヘッダー上段の帯（.site-header__page-name・Task #1680）が担う。ここに装飾を
   残すと、同じ 1 クラスぶんの強さで後勝ちになり、pa-visually-hidden の
   margin: -1px 等を打ち消して隠し方が崩れる。

   .pa-branch__header の上下余白は 0 のままでよい。「エリア ◯◯」の 1 行
   （.pa-branch__areas・pa_area タクソノミーが付いた投稿へ出していた）は、
   Bug #2685 で移行元に無い行だと分かり single-branch.php ごと削除した
   （2026-09-02）。その行を受けていた .pa-branch__areas /
   .pa-branch__areas-label の 2 規則も、当てる先が無くなったので合わせて
   削除した。h1 は pa-visually-hidden で通常のフローから外れる
   （position: absolute）ため、いまは全 25 ページとも header の中身が
   視覚上空になり、「空ブロックの margin collapse」で header 自体の
   margin: 0 がそのまま効く。これは移行元の「パンくず直下 0px 開始」と一致する. */

.pa-branch__back {
	margin: var(--pa-space-md) 0;
	text-align: center;
}

/* 「店舗（センター）一覧へ戻る」は**店舗側の 28 ページから消した**（店舗の詳細 25 ＋
   エリアの地図 3。Bug #5387・2026-09-09 のユーザーの目視）。移行元は店舗ページの
   パソコン版もスマホ版もこの押しボタンを持たない
   （実測: どちらの HTML にも「一覧へ戻る」の字が 0 件。
   legacy/www.p-a.jp/public/branch/kanto/chiba.html と、同 public/sp/branch/kanto/chiba.html）。

   ここには以前「携帯幅だけ隠す」1 本が在った（Bug #4834・裁定 682）。**押しボタン自体を
   出さなくなったので当たり先が消え、規則も消した。**残しても 1 か所も当たらない
   （不発の規則は誤りが画面に出ないので置かない）。

   上の `.pa-branch__back` と `.pa-branch__back-link` の見た目の指定は**残す**。
   デートスポットの詳細 1,316 ページが使い続ける.

   🚨 **デートスポットの詳細を携帯幅で隠す 1 本は別に在る**（`.single-content--branch-spot`・
   Bug #4749）。あちらはユーザー決定で残す側なので触らない. */

/* --- ページの中の飛び先の帯（Task #1549） ------------------------
   写し元: public/branch/css/style_area1.css の 669〜701 行（.navigation）。
   移行元は高さ 80px・地色 rgba(89, 65, 0, .85) の茶色の帯に、白い明朝 14px の
   リンクを 4 つ並べ、左に小さな矢印の画像（icn_nv.png）を敷く。

   🚨 **矢印は絵に戻した（裁定 169・2026-09-05）。**もとは「絵が移行してこない」
   として下向きの山形を CSS で描いて代えていたが、**その前提はいま成り立たない**。
   移行元の写しに両幅の実体があり、`assets/` へ運び込んである。

   携帯幅は移行元スマホ版の姿（畳める「Quick Menu」）を写す。指定はこのファイルの
   携帯幅の節にあり、開け閉めは `assets/js/branch-anchor-nav.js` が受け持つ
   （Task #3903・裁定 168）。

   地色は移行元の実値をそのまま持つ。共通トークンには同じ色が無く、使うのが
   この帯の中だけだからである。

   テンプレートは本文の直前にこの帯を出す。テーマの JavaScript
   （assets/js/branch-visual.js）が主役の絵の直後へ移せたときは、下の
   --overlay が付いて移行元と同じ重なりになる. */

.pa-branch__anchor-nav {
	/* 移行元 .navigation の地色（茶色・不透明度 85%）. */
	--pa-branch-anchor-nav-bg: rgba(89, 65, 0, 0.85);

	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
	margin: 0 0 var(--pa-space-sm);
	background-color: var(--pa-branch-anchor-nav-bg);
}

/* 主役の絵の下端に重ねた形。移行元 .navigation の margin: -80px 0 0 である。
   絵の上に重ねるので、絵より前へ出す（z-index）。絵と同じく画面の幅いっぱいに
   広げる（幅の 3 つ組は「主役の絵をスライド表示にする」の節に書いてある）. */
/* 🚨 **下の外余白は 0 である**（Bug #4528）。移行元の旧デザインは
   `.page-branch .navigation` に `margin: -80px 0 0` と書き、上へ 80px 引き上げる
   だけで下は空けない（写し `branch/css/style_area1.css` 669 行）。移行元の
   スマホ版も `.page-branch .navigation` に外余白を持たない（写し
   `sp/branch/css/style_area1.css` 666 行）。テーマの `--pa-space-sm`（素で 40px・
   749px 以下で 20px）を当てていたぶんが、そのまま「最初の見出しより前」の高さの
   差になっていた（実測: 神戸店・幅 1440px で +40px・375px で +20px）。
   この印（--overlay）が付くのは旧デザインの店舗詳細だけである。テーマの
   JavaScript が付ける条件が「本文に .mainvisual-assets と .mainvisual-img が
   在ること」で（assets/js/branch-visual.js 280〜284 行）、改装版と新デザインの
   本文はこれを持たない（写しを数えて確かめた）。共通の
   `.pa-branch__anchor-nav`（下の外余白 40px）は触らない（裁定 222）. */
.pa-branch__anchor-nav--overlay {
	position: relative;
	z-index: 1;
	margin-block: -80px 0;
}

/* スマートフォン幅では重ねない。飛び先が 2 段に折り返して帯が高くなるうえ、絵の
   高さも 200px まで下がるため、重ねると店名が隠れてしまう（幅 375px で確認）。
   移行元にはスマートフォン専用のページがあり、この幅の見本は無い. */
@media (max-width: 749px) {
	.pa-branch__anchor-nav--overlay {
		margin-block: 0;
	}
}

/* 以下 3 つのセレクタで .pa-branch__anchor-nav を前置しているのは、本文共通の
   指定（.entry-content :is(ul, ol) の左の字下げ・.entry-content li の下の余白・
   .entry-content a の下線）に勝つためである。JavaScript が帯を主役の絵の直後へ
   移すと、帯は .entry-content の中に入り、これらの指定が届くようになる. */
.pa-branch__anchor-nav .pa-branch__anchor-nav-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	/* 🚨 **項目の間隔は `gap` で作らない（Bug #7811・2026-09-19）。**
	   移行元 `.page-branch .navigation-list li { margin: 0 24px }` は
	   **両端にも 24px ずつ置く**。`gap` は項目の**あいだ**にしか入らないので、
	   両端の 24 × 2 = 48px が足りず、一覧の幅が 48px 狭くなっていた。

	   実測（2026-09-19 23:0x・浜松店・幅 1440px・移行元リポジトリ www.p-a.jp `main` `25cf8dcdd`）:
	   移行元 686px 対 dev 638px。項目そのもの（82 × 34・内余白 20px・字 14px）は
	   両側で 1 つも違わなかった。

	   | | 置き方 | 4 項目ぶん |
	   |---|---|---:|
	   | 移行元 | 各項目に左右 24px | 24 × 2 × 4 = **192** |
	   | 直す前の dev | あいだに 48px | 48 × 3 = **144** |

	   差 192 − 144 = 48px で、測った差と 1 の位まで合う。
	   **移行元と同じく項目の側へ置く**（下の `.pa-branch__anchor-nav-item`）。
	   縦の 4px は折り返したときの行の間隔なので `gap` に残す. */
	gap: 4px 0;
	list-style: none;
	margin: 0;
	padding: 0 20px;
}

.pa-branch__anchor-nav:not(.pa-branch__anchor-nav--renew) .pa-branch__anchor-nav-item {
	/* 移行元 `.page-branch .navigation-list li { margin: 0 24px }` と同じ形。
	   **両端にも 24px 置く**ので、一覧の幅が移行元と同じになる（Bug #7811）。

	   🚨 **改装版（`--renew`）を外す（Bug #7886）。**Bug #7811 の直しはここを
	   `.pa-branch__anchor-nav` で書いており、**改装版 4 店（札幌・仙台・高崎・福岡）にも
	   当たっていた。**改装版の移行元は項目を `flex: 1 1 0` で等分し、**外余白を
	   持たない**（実測: 5 項目とも 220px ちょうど・外余白 0・折り返さない）。
	   24px を足すと項目が 172px へ縮み、外余白と合わせてちょうど 1100px になるため
	   **`flex-wrap: wrap` の境目に乗って 2 行に折り返した**（札幌・高崎・福岡の
	   3 店で高さ 92px → 113px）。項目が 3 つの仙台店だけは合計が収まって 1 行のままだった。

	   実測（2026-09-20 04:5x・幅 1440px・移行元リポジトリ www.p-a.jp `main` `25cf8dcdd`）:

	   | | 項目の幅 | 外余白 | 行 |
	   |---|---:|---:|---:|
	   | 移行元（改装版・5 項目） | 220 × 5 | 0 | 1 |
	   | 直す前の dev | 172 × 5 | 24 × 2 × 5 = 240 | **2** |

	   旧デザイン 13 店は外余白を持つ側なので、この規則のままでよい（浜松店で
	   両側 686.4px の一致を確認済み）. */
	margin: 0 24px;
}

/* 引き金は携帯幅だけの部品である。移行元パソコン版には無い. */
.pa-branch__anchor-nav-trig {
	display: none;
}

/* 🚨 **書体は移行元の並びをそのまま書く（裁定 169）。**テーマの
   `--pa-font-family-serif` は先頭が「游明朝」だが、移行元
   `branch/css/style_area1.css`:697 は先頭が「ヒラギノ明朝 ProN W3」で、
   続きの並びも別物である。同じ明朝でも解決先が変わる. */
/* 🚨 **並びの中の要素（inline）のままにする。**移行元 `.navigation-list a` は
   `display` を指定せず並びの中に置かれるので、**箱の高さは行送りでなく書体の
   高さで決まる**（14px の字で箱 34px = 内余白 20px ＋ 字 14px）。`block` にすると
   行送りぶん高くなり、帯の中の位置が下へずれる. */
.pa-branch__anchor-nav .pa-branch__anchor-nav-link {
	display: inline;
	padding: 10px 0 10px 20px;
	color: #fff;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-decoration: none;
}

/* 🚨 **絵は改装版（--renew）へ当てない。**あちらは**別の絵を li に敷く**別の意匠で
   （Bug #6939 で入れた `icon_arrow_wh.png`）、ここの絵も当てると 2 つ出る。
   もとの実装は基底も `::before` だったため改装版の指定が上書きして漏れなかったが、
   絵に変えると当たり方が変わる（陰性対照で捕まえた）。
   🚨 **その除外が改装版から印を消していた（Bug #6939）。**当時の改装版は位置だけを
   直す `::before` しか持たず、基底が絵へ移った時点で描き手がいなくなった。
   いまは改装版が自分の絵を li に持つので、この除外は正しく働く。

   🚨 **除外は絵の 3 行だけに掛ける。**色や字の大きさまで一緒に除外すると、
   改装版がそれらを自分で持っていないため白い字が黒くなる（同じく陰性対照で捕まえた）. */
.pa-branch__anchor-nav:not(.pa-branch__anchor-nav--renew) .pa-branch__anchor-nav-link {
	background-image: url("../branch/images/area1/icn_nv.png?ver=159ecd90a3c2");
	background-position: 0;
	background-repeat: no-repeat;
}

/* 🚨 **矢印は移行元の絵に戻した（裁定 169）。**
   もとは「絵が移行してこない」という前提で、細い下向きの山形を CSS で描いて
   代えていた。**その前提はいま成り立たない。**移行元の写しに両幅の実体があり
   （`branch/images/area1/icn_nv.png` 10×6 と `sp/…` 50×26 で中身が違う）、
   `assets/` へ運び込んである。原則は移行元の完全再現なので絵を敷く。

   絵は `background` の一括指定にせず、項目ごとの指定で置いている。携帯幅で
   絵と位置だけを差し替えるためである. */

.pa-branch__anchor-nav .pa-branch__anchor-nav-link:hover {
	color: #fff;
	text-decoration: underline;
}

/* キーボードで辿ったときの位置を、茶色の地の上でも見える白い枠で示す. */
.pa-branch__anchor-nav .pa-branch__anchor-nav-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

/* --- 携帯幅の Quick Menu（Task #3903・裁定 168） ---------------------
   写し元: public/sp/branch/css/style_area1.css の 700〜743 行と、
   public/sp/branch/js/area1.js の 30〜37 行。

   移行元スマホ版は**畳める形**である。最初は閉じていて高さ 40px の帯だけが見え、
   「Quick Menu」を押すと 4 項目（各 40px）が 160px ぶん開く。開け閉めは
   JavaScript が印（`is-open`）を付け外しするだけで、**高さの動きは CSS の
   遷移**（`height .45s ease`）が受け持つ。

   | | 移行元パソコン版 | 移行元スマホ版 |
   |---|---|---|
   | 帯の地色 | rgba(89, 65, 0, .85)（透ける） | **#5f4a12（透けない）** |
   | 項目の書体 | 明朝 | **游ゴシック**（引き金だけ明朝） |
   | 項目の字 | 14px | **13px** |
   | 項目の並び | 横 | **縦・各 40px・上に細い罫線** |
   | 矢印の位置 | 左端（0） | **左から 20px・12.5×6px に縮める** |

   🚨 **項目の書体はパソコン幅と違う。**移行元スマホ版は `.navigation-list a` に
   書体を指定しないので、親から游ゴシックが降りてくる。**同じ画面の同じ部品なのに
   書体が変わる**が、そのまま写す（裁定 168）。

   🚨 **畳んだ状態をここで固定しない。**畳むのは JavaScript が付ける印
   （`is-collapsible`）の内側だけである。JavaScript が動かない環境で「畳んだまま
   開けない」を防ぐためで、そのときは一覧が開いたまま残り、引き金は隠れる。
   `assets/js/collapsible-nav.js` と同じ方針である。

   開いたときの高さは JavaScript が測って
   `--pa-branch-anchor-nav-open-height` へ入れる。移行元は 160px の決め打ちだが、
   項目が 4 つに満たないページでは空きが出るため、実際の高さから決める
   （項目が 4 つなら 40 × 4 = 160px で移行元と一致する）. */
@media (max-width: 749px) {
	.pa-branch__anchor-nav:not(.pa-branch__anchor-nav--renew) {
		display: block;
		position: relative;
		min-height: 0;
		/* 移行元スマホ版の地色は透けない. */
		--pa-branch-anchor-nav-bg: #5f4a12;
	}

	/* 引き金。移行元 .navigation-trig は明朝 16px・高さ 40px・左に 15px 空ける. */
	.pa-branch__anchor-nav-trig {
		position: relative;
		width: 100%;
		height: 40px;
		margin: 0;
		padding: 0 0 0 15px;
		border: 0;
		background: transparent;
		color: #fff;
		font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-feature-settings: "palt";
		font-size: 16px;
		line-height: 40px;
		text-align: left;
		cursor: pointer;
	}

	/* JavaScript が畳める形にできたときだけ引き金を出す. */
	.pa-branch__anchor-nav.is-collapsible .pa-branch__anchor-nav-trig {
		display: block;
	}

	.pa-branch__anchor-nav-trig:focus-visible {
		outline: 2px solid #fff;
		outline-offset: -4px;
	}

	/* 右端の ＋ 印。移行元は 16×16 の枠の中に、横棒と縦棒を線で引く. */
	.pa-branch__anchor-nav-trig-mark {
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 16px;
		height: 16px;
		margin-top: -8px;
	}

	.pa-branch__anchor-nav-trig-mark::before,
	.pa-branch__anchor-nav-trig-mark::after {
		content: "";
		display: block;
		position: absolute;
	}

	.pa-branch__anchor-nav-trig-mark::before {
		top: 50%;
		left: 0;
		width: 100%;
		margin-top: -1px;
		border-top: 2px solid #fff;
	}

	.pa-branch__anchor-nav-trig-mark::after {
		top: 0;
		left: 50%;
		height: 100%;
		margin-left: -1px;
		border-left: 2px solid #fff;
	}

	.pa-branch__anchor-nav:not(.pa-branch__anchor-nav--renew) .pa-branch__anchor-nav-list {
		display: block;
		padding: 0;
	}

	/* 畳むのは印の内側だけ。移行元 .navigation-list の height: 0 と
	   transition: height .45s ease である. */
	.pa-branch__anchor-nav.is-collapsible .pa-branch__anchor-nav-list {
		overflow: hidden;
		height: 0;
		transition: height 0.45s ease;
	}

	.pa-branch__anchor-nav.is-collapsible.is-open .pa-branch__anchor-nav-list {
		height: var(--pa-branch-anchor-nav-open-height, 160px);
	}

	.pa-branch__anchor-nav:not(.pa-branch__anchor-nav--renew) .pa-branch__anchor-nav-link {
		display: block;
		position: relative;
		box-sizing: border-box;
		width: 100%;
		height: 40px;
		padding: 0 0 0 38px;
		border-top: 1px solid hsla(0, 0%, 100%, 0.1);
		background-image: url("../sp/branch/images/area1/icn_nv.png?ver=ed1cdf12e16a");
		background-position: 20px;
		background-size: 12.5px 6px;
		/* 🚨 移行元スマホ版は書体を指定せず、親の游ゴシックが降りてくる。
		   パソコン幅の明朝を打ち消す（裁定 168）. */
		font-family: var(--pa-font-family-base);
		font-size: 13px;
		letter-spacing: normal;
		line-height: 40px;
	}

	/* 動きを控える設定のときは時間をかけない（テーマの他の動きと同じ方針）. */
	@media (prefers-reduced-motion: reduce) {
		.pa-branch__anchor-nav.is-collapsible .pa-branch__anchor-nav-list {
			transition: none;
		}
	}
}


/* --- 改装版の帯（Bug #1732） ------------------------------------
   写し元: public/branch/css/style_renew.css の 79〜133 行（.navigation）。
   ここまでの指定は旧デザイン 24 ページの茶色の帯である。改装版 5 ページ
   （広島・札幌・高崎・福岡・仙台）の帯は作りが違うので、違うところだけ上書きする。

   移行元との違いは 4 つある。
     1. 地色が青（#486D94）で、不透明度は掛けない
     2. リンクを 5 つ等分に並べ、項目の境目に白い縦線を引く（移行元は
        .navigation-list:before が並びの左端、li:after が各項目の右端に
        1px×40px の線を置く）
     3. 文字はゴシック体の太字で、字間を広げない（移行元 html > body の游ゴシック）
     4. 矢印は文字の右ではなく真下に置く（移行元は icon_arrow_wh.png を
        「左 50%・下から 27px」に敷く）
        🚨 **ここは移行元と同じになった（Bug #6939）。**もとは「画像は移行して
        こない」という前提で CSS の山形に代えていたが、**その前提は成り立たない。**
        CSS の背景の絵は投入では届かないだけで、テーマの資材として運び込めば敷ける。
        移行元の実物（145 バイト）を `assets/branch/images/` へ置いて同じ絵を敷く

   主役の絵に重ねない点も違う。移行元の改装版は帯を絵の下に置くだけで、旧デザインの
   ような負の余白（margin: -80px 0 0）を持たない。そのため --overlay は付けない. */

.pa-branch__anchor-nav--renew {
	/* 移行元 .navigation の地色（青）. */
	--pa-branch-anchor-nav-bg: #486d94;
}

/* 移行元 .navigation-list は 1,100px 固定で中央に置く。ここでは画面が狭いときに
   はみ出さないよう、最大 1,100px として詰められるようにする. */
.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-list {
	position: relative;
	flex-wrap: wrap;
	gap: 0;
	width: 100%;
	max-width: 1100px;
	padding: 0;
}

/* 並びの左端の白い縦線（移行元 .navigation-list:before）. */
.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-list::before {
	content: "";
	position: absolute;
	top: 25px;
	left: 0;
	width: 1px;
	height: 40px;
	background-color: #fff;
}

/* 移行元 .navigation-list li は並び方向いっぱいに広がり、5 つが等分になる.

   🚨 **下向きの印は li の背景の絵である（Bug #6939）。**写し元は
   `public/branch/css/style_renew.css` の
   `.navigation-list li { background: url(/branch/images/icon_arrow_wh.png)
   no-repeat left 50% bottom 27px/auto 6px }` で、**`a` でも疑似要素でもなく li に敷く。**
   絵は移行元の実物（145 バイト）を `assets/branch/images/` へ運び込んだ。
   CSS の背景の絵は投入では届かないため、テーマの資材として持つ必要がある。

   🚨 **以前はここに印が無かった。**Bug #5805 の直し（PR #6331）が、旧デザインの印を
   疑似要素から絵（`icn_nv.png`）へ変えるときに改装版を `:not(--renew)` で除外した。
   それまでは「基底の `::before` が描き、改装版は位置だけ直す」組みだったので、
   除外した瞬間に**改装版は描き手を失い、位置の指定だけが残った**（`content` の無い
   `::before` は描かれない）。位置だけの規則はこの直しで落とした。

   携帯幅は下の `@media (max-width: 749px)` の同じ当たり先が `background` の一括指定で
   置き換える（移行元も携帯版は右端に別の絵を敷く）。ここで打ち消す指定は要らない. */
.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-item {
	position: relative;
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	background: url("../branch/images/icon_arrow_wh.png?ver=0ce63eb04731") no-repeat left 50% bottom 27px / auto 6px;
	text-align: center;
}

/* 各項目の右端の白い縦線（移行元 .navigation-list li:after）. */
.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-item::after {
	content: "";
	position: absolute;
	top: 25px;
	right: 0;
	width: 1px;
	height: 40px;
	background-color: #fff;
}

.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: 100%;
	/* 移行元 .navigation-list li a の余白。下が広いのは矢印の場所を空けるため. */
	padding: 26px 0 45px;
	font-family: var(--pa-font-family-base);
	font-weight: bold;
	letter-spacing: normal;
}


/* --- 改装版の帯の携帯幅（Bug #5184・ユーザーの目視） --------------
   写し元: public/sp/branch/css/style_renew.css の 57〜145 行と、
   public/sp/branch/js/function.js の 36〜44 行。**本番の CSS を取って写しと
   1 バイトも違わないことを確かめた**（2026-09-09 15:44 JST・37,945 バイト）。
   値はすべて**移行元の本番を実ブラウザで測った**ものである
   （札幌店・幅 375px・画素比 2・iPhone の名乗り・2026-09-09 15:48 JST）。

   移行元スマートフォン版の改装版 4 店（札幌・仙台・高崎・福岡）は、旧デザインと
   同じく**畳める形**である。閉じているときは高さ 40px の青い帯だけが見え、
   「Quick Menu」を押すと項目が開く（札幌・高崎・福岡は 5 つ、仙台は 3 つ）。

   ここは以前「改装版は畳まない」という前提で、5 つを 2 行に折り返す形にしていた。
   **前提が誤りだった。**写しを 4 店すべてで数えると `navigation-btn` が各 1 個で、
   4 店とも畳む形である。実測でも dev だけが 220.75px の 2 段組みだった。

   🚨 **引き金の字は 13px である。**移行元の `.navigation-btn` には
   `font-size: 16px` と書いてあるが、**画面に出ている字は 13px** である。字は中の
   `<span>` に入っており、移行元の初期化 CSS が
   `html, body, div, span, …, nav, … { font-size: 13px }` で **`span` に直に当たる**。
   `.navigation-btn` の 16px は親から降りてくるだけなので、重みが低くても
   **直に当たるほうが勝つ**。CDP で当たっている規則を全数で出して確かめた。
   dev の引き金は字を直に持つので、ここは 13px と書く。

   | | 移行元パソコン版 | 移行元スマートフォン版 |
   |---|---|---|
   | 帯の高さ | 92px | **閉 40px / 開 245px** |
   | 引き金 | 無い | **有る**（13px・白・中央・高さ 40px・地色 #486D94） |
   | 並び | 横に 5 等分・項目の境目に白い縦線 | **縦・各 41px・下に白い横線** |
   | 一覧の地色 | 無し（帯と同じ） | **#E0E0E0** |
   | 項目の字 | 白・14px・太字 | **#486D94・14px・太さ 400** |
   | 矢印 | 文字の真下（CSS で描く） | **右から 20px（画像 icon_arrow_bl.png）** |

   🚨 **畳んだ状態をここで固定しない。**畳むのは JavaScript が付ける印
   （`is-collapsible`）の内側だけである。旧デザインと同じ方針で、JavaScript が
   動かない環境では一覧が開いたまま残り、引き金は隠れる。

   🚨 **パソコン幅は 1px も動かさない。**移行元・dev とも帯 1440 × 92・引き金無し・
   項目 5 つで既に一致している（実測・2026-09-09 15:48 JST）。ここは携帯幅の
   囲いの中だけで上書きする. */
@media (max-width: 749px) {
	/* 帯そのもの。パソコン幅の中央寄せの並びを解いて、上から順に積む. */
	.pa-branch__anchor-nav--renew {
		display: block;
		position: relative;
		min-height: 0;
	}

	/* 引き金。移行元 .navigation-btn は高さ 40px・地色 #486D94 で、
	   .navigation の text-align: center と .navigation-btn span の
	   display: table-cell により上下左右の中央に置かれる。
	   書体の指定は無く、親から游ゴシックが降りてくる（実測でも游ゴシック）. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-trig {
		padding: 0;
		font-family: var(--pa-font-family-base);
		font-size: 13px;
		text-align: center;
	}

	/* ＋ 印の場所。移行元は横棒が「右から 30px・上から 20px・14 × 2」、
	   縦棒が「右から 36px・上から 14px・2 × 14」である。14 × 14 の枠を
	   右から 30px・上から 14px に置くと、共通の ::before / ::after
	   （枠の中央に 2px の線を引く）がそのまま同じ場所に来る. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-trig-mark {
		top: 14px;
		right: 30px;
		width: 14px;
		height: 14px;
		margin-top: 0;
	}

	/* 開いているときは縦棒を消して ＋ を − にする（移行元 .navigation-btn.open:after）。
	   旧デザインは開いても ＋ のままなので、改装版だけに当てる. */
	.pa-branch__anchor-nav--renew.is-open .pa-branch__anchor-nav-trig-mark::after {
		opacity: 0;
	}

	/* 一覧。移行元 .navigation-list は幅いっぱい・地色 #E0E0E0 で、閉じているときは
	   display: none である。ここは高さの遷移で畳むので（共通の .is-collapsible が
	   受け持つ）、並びだけ縦へ戻す。開いた高さは項目数 × 41px（実測 5 つで 205px）. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-list {
		display: block;
		max-width: none;
		background-color: #e0e0e0;
	}

	/* パソコン幅の白い縦線（並びの左端。移行元 .navigation-list:before）は、
	   移行元のスマートフォン版に無い. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-list::before {
		content: none;
	}

	/* 開いた一覧の下端の白い 1px の線（移行元 .navigation-list.open:after）。
	   こちらは左右の端まで届く。畳んでいるときは器が高さ 0 で切り落とすので見えない. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-list::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #fff;
	}

	/* 移行元 .navigation-list li は 375 × 41。矢印は右から 20px に敷く
	   （移行元の実物を持ち込む。実寸 22 × 12 を高さ 6px で描くので 11 × 6 になる）. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-item {
		display: block;
		flex: none;
		padding: 0 20px;
		background: url("../sp/branch/images/icon_arrow_bl.png?ver=39328092ea8e") no-repeat right 20px top 50% / auto 6px;
		font-weight: bold;
		text-align: center;
	}

	/* 項目の下の白い 1px の線（移行元 .navigation-list li:after）。左右 20px 空ける. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-item::after {
		top: auto;
		right: auto;
		bottom: 0;
		left: 20px;
		width: calc(100% - 40px);
		height: 1px;
	}

	/* 移行元 .navigation-list li a は 335 × 41 @20・内余白 10px・青（#486D94）・14px。
	   🚨 **太さは 400 である。**親の li が bold でも、移行元は `a` に直に当たる規則で
	   400 へ戻している（引き金の字と同じ「直に当たるほうが勝つ」形）。パソコン幅の
	   改装版は bold なので、ここで打ち消す。
	   行送りは 1.5（14 × 1.5 = 21px に内余白 10px ずつを足して 41px。実測と一致）. */
	.pa-branch__anchor-nav--renew .pa-branch__anchor-nav-link {
		display: block;
		padding: 10px;
		color: #486d94;
		font-size: 14px;
		font-weight: 400;
		letter-spacing: normal;
		line-height: 1.5;
	}
}
/* ==============================================================
 * 移行してきた本文（3 世代に共通する土台）
 * ============================================================== */

.pa-branch__content {
	font-size: var(--pa-branch-body-size);
}

/* 強調（`em`）の太さと傾き（Bug #5321・ユーザーの目視）。

   移行元のサイト共通の初期化 CSS は、`em` を 2 本の規則で扱っている
   （当たっている規則を CDP で全数出して確認・2026-09-09 16:58 JST）。

     address, caption, cite, code, dfn, em, th, strong, var
                                      { font-style: normal; font-weight: normal }
     em, strong                       { font-weight: bold }

   1 本目が閲覧環境の既定の斜体を消し、2 本目が太字に戻す。**テーマにはこの 2 本が
   無い**ため、`em` は閲覧環境の既定（`i, cite, em, var, address, dfn
   { font-style: italic }`）のまま斜体になり、太さは親の 400 を受け継いでいた。

   実測（札幌店・幅 1440px・2026-09-09 16:55 JST）。**違うのはこの 2 つだけで、
   帯の寸法・地色・内余白・上下の空きは 1px も違わなかった。**

     会員数の帯の強調  移行元 24px 700 normal  対  dev 24px 400 italic

   🚨 **check-mobile-only: 意図してメディアクエリの外に置く。**移行元の初期化は
   パソコン幅・携帯幅の区別を持たない。同じ差が携帯幅にも出ており
   （Bug #5185 の店長の言葉・Bug #5186 の誘いの一文）、幅で分けると片方が残る。

   当たり先を `.pa-legacy-common-css` で絞ってあるのは、**移行元でこの初期化を
   読むページだけに当てる**ためである。新デザインの 6 店（銀座・新宿・名古屋・
   静岡・横浜・岡山）は移行元がこの初期化を読まないので、この印が付かない
   （`inc/design-profile.php` の `PA_DESIGN_LEGACY_COMMON_CSS`）。あの 6 店の本文に
   `em` は 1 つも無いので見た目は変わらないが、当たり先で意図を残す。

   `.pa-branch__content` で支店紹介の本文に絞ってあるのは司令塔の裁定である
   （2026-09-09 17:1x）。移行元で `em` を使う投入対象のページは 23 件あり、
   支店紹介の外の 19 件は 15 班が共通部品として別に扱う。

   🚨 **`.pa-legacy-common-css` は「移行元がこの初期化を読む」ことの証明ではない**
   （7 班の申し送り・2026-09-09 18:2x）。`inc/design-profile.php` の作りは
   「トップ・店舗 6 件・コースと料金の 8 ページ以外に付ける」で、5,318 ページに付く。
   実例として、ご入会の流れ（`/guidance/step2.html`）はこの印が付くのに
   `/css/common.css` を読まず、移行元の `em` は 400 である。**ここでは当たり先を
   狭める道具として使っているだけ**で、読むかどうかは別に確かめること。

   この 4 店については確かめてある。`branch/hokkaido/sapporo.html` は
   `/css/import.css` を読み、その `@import` で `common.css` が入る（パソコン幅の
   `em, strong { bold }` が当たる）。携帯幅は初期化 `sp/css/basic.css` が `em` を
   400 にし、`sp/branch/css/style_renew.css` の区画別の 4 本
   （`.content-txt-box .txt em` / `.content-msg p em` / `.opencampaign-msg em` /
   `.opencampaign-area .lead em`）だけが太字に戻す。**4 店の `em` は 4 個・3 個・
   4 個・4 個で、すべてその区画の中に在る**ので、幅で囲わないこの書き方は
   両方の幅で移行元と一致する（9 班と 7 班が別々に数えて同じ結果になった）. */
.pa-legacy-common-css .pa-branch__content em {
	font-style: normal;
	font-weight: 700;
}

/* 仙台店の携帯幅で、中身の無い器が作る空きを消す（Bug #5348）。

   移行元のパソコン版は、キャンペーンの器だけを残して中身を注釈へ畳んでいる。

     <section id="opencampaign" class="opencampaign-wrap"><div class="content-wrap"></div></section>

   dev はパソコン版から本文を作るのでこの器を持ち、**高さ 0 のまま下の外余白
   30px だけが空きになる**（実測・幅 375px・2026-09-09 17:51 JST）。
   **移行元のスマートフォン版にはこの器が無い**（まるごと注釈の中）。

   🚨 **パソコン幅では消さない。**移行元のパソコン版はこの器を持っており、
   dev と一致している。消すのは携帯幅だけである。

   当たり先を投稿名で絞ってあるのは、**この器を持つ移行元のページが仙台店 1 枚
   だけ**だからである（`branch/` 配下の写しを全数走査し、注釈を除いて数えた）。
   ほかの店があとから本物のキャンペーンの区画を持ったときに、巻き添えで
   消さないためでもある. */
@media (max-width: 749px) {
	.pa-branch--branch-tohoku-sendai .pa-branch__content .opencampaign-wrap {
		display: none;
	}
}

/* 店舗ページの本文の柱の幅（Task #1549・Bug #1947）。移行元は旧デザイン・改装版・
   新デザインのいずれも 1,100px である（旧デザインは branch/css/style_area1.css
   157〜161 行の .l-container、改装版と新デザインは branch/css/style_renew.css
   186〜190 行の .content-wrap）。記事・固定ページと共通の本文の指定
   （このファイルの下の方の .entry-content の 800px）を外し、外側の
   .single-content--branch の内寸（1,100px）まで広がらせる。

   セレクタに .single-content--branch を前置してあるのは、次の 2 つを同時に
   満たすためである。
     1. クラス 2 つになり、後に書いてある .entry-content の 800px に勝つ。
        .pa-branch__content の 1 つだけでは、後に書いた側が勝つのでここが無視される
     2. デートスポットのページ（3,326 件）を対象から外す。あちらは本文のクラスが
        .entry-content だけで（single-branch.php 189 行）、.pa-branch__content が
        付かない。**あちらの器はすでに移行元と一致している**（2026-09-04 に
        /spot/area_01.html と dev を幅 1440px で実測: 節が 1100 @170・支援の帯が
        1280 @80・先頭へ戻るが 1100 @170 で両側同値）。受け持つと書いてあった
        Bug #1991 は閉じており、取り決め 21 の照合で解決済みと確認した

   以前はこの指定を .pa-profile-legacy-compat の下（すぐ下の文字の指定と 1 つの規則）
   に置いていたため、新デザインの 4 店舗（銀座・新宿・静岡・岡山）だけ 800px のまま
   取り残されていた（Bug #1947。実測で 4 店舗とも 800px・左端 320px だった）。
   新デザインを維持する取り決めは飾りについてのもので、移行元の新デザインの柱も
   1,100px である。つまりここを 1,100px にするのは取り決めに沿う. */
.single-content--branch .pa-branch__content {
	max-width: none;
}

/* 旧デザインの店舗ページの本文の文字の大きさ（Task #1549）。移行元は 16px
   （.page-branch）である。

   セレクタに .pa-profile-legacy-compat を前置してあるのは、次の 2 つを同時に
   満たすためである。
     1. 新デザインの 4 店舗（銀座・新宿・静岡・岡山）を対象から外す。あちらは
        移行後も新デザインを維持する取り決めなので、いまの見え方を変えない
     2. 記事・固定ページと共通の本文の指定（このファイルの下の方にある
        .entry-content の文字の大きさ）に勝つ。クラス 1 つ同士では後に書いた側が
        勝つため、前置しないとここの値が無視される。

   🚨 **この 16px は旧デザインの 15 本だけの値である（Task #3672）。**移行元で
   16px を置いているのは旧デザインが読む branch/css/style_area1.css の 16〜19 行
   `.page-branch { overflow-x: hidden; font-size: 16px }` であり、改装版が読む
   branch/css/style_renew.css の 44〜47 行の `.page-branch` は
   `min-width` と `margin-bottom` しか持たない。**改装版はサイト共通の
   public/css/style.css 1296 行 `#contents { font-size: 13px }` を受け継いで
   13px になる。**改装版はすぐ下の規則で 13px へ戻す。**


   ここを `:not()` で外していないのは、`:not()` が中身の詳細度をそのまま足すため
   である。`:not(.pa-branch-renew .pa-branch__content)` と書くとこの規則が (0,4,0)
   になり、下の (0,2,0) の規則が負けて 1 度も効かなくなる。下の規則は同じ (0,2,0)
   で、あとに書いてあるぶんだけ勝つ。

   2026-09-05 に本番と dev を幅 1440px で突き合わせた実測では、文言と要素の種類で
   対応づけた組のうち **13px 対 16px が 85〜103 組**あった（札幌 103・仙台 85）. */
.pa-profile-legacy-compat .pa-branch__content {
	font-size: 16px;
}

/* 改装版の店舗ページ 4 本（札幌・仙台・高崎・福岡）の本文の文字の大きさ
   （Task #3672）。移行元は上に書いたとおり `#contents` の 13px を受け継ぐ。

   印 pa-branch-renew は inc/branch-renew-map.php が body へ付ける。判定の正本は
   あのファイルの pa_branch_renew_maps() で、移行元で改装版の CSS を読むページの
   一覧である。**ここへ店舗名を書き足さない**（一覧を二重に持つと片方が古くなる）。

   .pa-branch__content だけでは、すぐ上の .pa-profile-legacy-compat 付きの規則
   （クラス 2 つ）に負ける。body の印を前置してクラス 2 つにし、あとに書くことで
   勝たせる。値は共通トークン --pa-content-font-size（旧デザインの世代で 13px）を
   通す。直書きすると、世代ごとの基準を 1 か所で持つ約束（Bug #3470）から外れる. */
.pa-branch-renew .pa-branch__content {
	font-size: var(--pa-content-font-size);
	line-height: normal;
}

/* 店舗ページ 14 本（郡山・水戸・大宮・柏・船橋・千葉・町田・立川・浜松・四日市・
   梅田・天王寺・京都・神戸）の本文の文字色（Task #3674）。

   移行元はこの 14 本だけが読む店舗ページ専用の CSS
   （写し `branch/css/style_area1.css` の 147〜149 行）に

     .page-branch * { color: #3d4e56 }

   を置いている。**全称の目印で、本文の器の中の全部に当たる。**dev はこの規則を
   持たず、本文の既定の黒のままだった。幅 1440px で神戸店を突き合わせた実測では、
   文言と要素の種類で対応づけた 588 組のうち **148 組が「#3d4e56 → 黒」**だった。

   ------------------------------------------------------------------
   🚨 裁定 104 の既定を動かさない
   ------------------------------------------------------------------
   裁定 104 は「旧デザインは黒 `#000`・新デザイン 6 本は `#474747`」と決めた。
   **この 14 本はそのどちらでもない。**既定を黒へ戻した直しによって、この 14 本は
   逆に移行元から離れた。

   直し方は**この 14 本だけに当てる**ことである。既定は黒のままにし、body の印
   `pa-branch-area1` を前置した中だけで `#3d4e56` を当てる。印を付けるのは
   inc/design-profile.php の pa_is_branch_area1_page() で、判定の正本は同じ
   ファイルの pa_design_profile_area1_branch_slugs()（移行元で style_area1.css を
   読む店舗の一覧）である。**ここへ店舗名を書き足さない**（一覧を二重に持つと
   片方が古くなる）。

   ------------------------------------------------------------------
   なぜ移行元と同じ全称の目印で写すのか
   ------------------------------------------------------------------
   移行元が全称で当てているので、**同じ形で写さないと当たり漏れが出る**。
   要素の種類を並べて書くと、本文に新しい種類が現れたときに黒のまま取り残される。

   当たり先の器も移行元と同じ `.page-branch` にしてある。この器は移行した本文の
   側に入っており、14 本とも 1 つずつ持つ（写しで確認）。テーマの器
   `.pa-branch__content` ではなく本文の器を使うことで、移行元と当たる範囲が
   そろう（パンくずや誘導帯といった共通部品には届かない）。

   詳細度は (0,2,0) である。これに負ける（より詳細度の高い）テーマの規則が
   本文の中に在れば、そこだけ移行元と違う色のまま残る。**残りは実ページの
   突き合わせで拾う**（この規則だけで 0 件になるとは限らない）. */
.pa-branch-area1 .page-branch * {
	color: #3d4e56;
}

/* 🚨 **ページの中の飛び先の帯（Quick Menu）だけは、上の全称の規則から外して
   移行元どおりの白へ戻す（Bug #3962）。**

   assets/js/branch-visual.js は帯を主役の絵の直後へ移す。移した先は
   `.page-branch` の中なので、**上の全称の規則が帯にも当たる**。基底の
   `.pa-branch__anchor-nav .pa-branch__anchor-nav-link` は詳細度が (0,2,0) で
   上と同点のため、後ろに在る上のほうが勝ち、白い字が `#3d4e56` になっていた。
   帯の地色は移行元と同じなので、**暗い地に暗い字**が乗る。

   🚨 **並び順で直さない。**上の規則より後ろへ置けば当座は直るが、あとから
   誰かが規則を足すと黙って戻る。**移行元も詳細度で決着している**
   （`branch/css/style_area1.css`:693 の `.page-branch .navigation-list a` は
   (0,2,1) で、147 行の `.page-branch *` (0,1,0) に勝つ）。同じ形にする。

   ここは (0,3,0) で、上の (0,2,0) に勝つ。帯の中は字・引き金・＋の印まで
   すべて白なので、帯とその子孫をまとめて戻す。改装版（--renew）の店舗は
   body に `pa-branch-area1` が付かないため、この規則は届かない.

   ＋の印の 2 本の棒は `border-*: 2px solid #fff` で描いており `currentColor` を
   使っていないので、もともと当たっていない（戻す対象は文字色だけである）. */
.pa-branch-area1 .page-branch .pa-branch__anchor-nav,
.pa-branch-area1 .page-branch .pa-branch__anchor-nav * {
	color: #fff;
}

/* 🚨 行送りも移行元と同じ形で写す（Task #3674）。文字色と同じ 14 本が対象である。

   移行元の写しを読むと、この 14 本が読む `branch/css/style_area1.css` の
   `.page-branch`（16〜19 行）は `overflow-x` と `font-size` しか持たず、
   **行送りを 1 つも書いていない**。サイト共通の `css/style.css` も `body` に
   行送りを置いていない（1〜9 行）。つまり移行元は、区画ごとの規則が置いた場所
   だけが値を持ち、それ以外は `normal` で描かれる。

   dev は `body` に共通の行送り（`--pa-line-height-base`）を置いているので、
   何も書かないと本文の隅々までそれが届く。**改装版の 4 本で同じ形を写したのと
   同じ直しである**（Task #3672・すぐ上の節）。

   器へ置く指定なので、**区画ごとの規則を持つ要素には届かない**（受け継ぎより
   直接当たる規則が強い）。テーマが個別に書いている行送りは今までどおり効く。

   🚨 **残る差の件数は実ページで測って決める。**Issue #3674 は行送りの差を 312 組と
   数えているが、これは文字色を直す前の数字である。**この器の指定でどれだけ減るかは
   実測しないと分からない**（移行元が区画ごとに持つ値は別に写す必要がある）. */
.pa-branch-area1 .page-branch {
	line-height: normal;
}

/* 🚨 **成婚事例の見出しの複製は、既定では出さない**（Bug #6825）。
   `inc/branch-case-leadcopy-sp.php` が `div.case-header` の直前へ複製を差し込む。
   **パソコン幅は移行元パソコン版と同じ形が正しい**ので、複製を消して元
   （`div.case-meta` の中の見出し）をそのまま見せる。

   🚨 **隠すのは `display: none` である。**`visibility: hidden` や画面外への移動では、
   同じ文が読み上げと検索に二重に残る。携帯幅の節で逆に切り替えるので、
   **どちらか一方が常に `display: none`** になる. */
.pa-branch-area1 .page-branch .pa-branch-case-leadcopy--sp {
	display: none;
}

/* 🚨 **ご入会までの流れの複製は、既定では出さない**（Bug #6862）。
   `inc/branch-flow-order-sp.php` が `div.l-container.flow` の 1 つ目の前へ、移行元
   スマホ版と同じ順に組み直した柱を差し込む。**パソコン幅は移行元パソコン版と同じ
   「見出しの行 ＋ 箱の行」の 2 本が正しい**ので、複製を消して元の 2 本を見せる。

   🚨 **隠すのは `display: none` である。**`visibility: hidden` や画面外への移動では、
   同じ文が読み上げと検索に二重に残る。携帯幅の節で逆に切り替えるので、
   **複製と元のどちらか一方が常に `display: none`** になる.

   🚨🚨 **当たり先を 5 つに伸ばしてあるのは、詳細度で勝つためである**（Bug #6900）。
   短く `.pa-branch-area1 .page-branch .pa-branch-flow--sp`（類 3）と書いていたときは、
   この下の 27000 行台に在る

       @media (min-width: 750px) {
           .pa-profile-legacy-compat .pa-branch__content .flow.l-container {
               display: flex;
           }
       }

   （類 **4**）に負け、**パソコン幅で複製が隠れなかった**。2026-09-17 17:41 の実測で
   `section#area-procedure` が 1012.78 対 1505.56（**＋492.78**）だった。
   **宣言が書いてあることと、画面に効いていることは別である。**

   🚨 **短くしない。**当たり先を縮めると静かに負ける。下の携帯幅の節も**同じ長さ**で
   書いてある。片方だけ縮めると、今度は携帯幅で複製が消える. */
.pa-profile-legacy-compat .pa-branch__content .page-branch .flow.pa-branch-flow--sp {
	display: none;
}

/* 🚨 移行元の**個別の色の規則 45 本**も、同じ当たり先でそのまま写す（Task #3674）。

   ------------------------------------------------------------------
   なぜ全称の 1 本だけでは足りないのか
   ------------------------------------------------------------------
   移行元は `.page-branch * { color: #3d4e56 }` のほかに、区画ごとの色を
   45 本持っており、それらが全称に勝つ（詳細度が高い）。**全称の 1 本だけを
   写すと、勝つはずの個別の規則が移行先に無いぶん、塗り過ぎになる。**

   2026-09-05 の実測（神戸店・幅 1440px）で実際に起きた。全称の 1 本だけを
   入れた状態で、**移行元が白で塗るリンク 4 組と `#51411e` で塗る段落 4 組が、
   `#3d4e56` に塗り替わった**（直す前は一致していた）。

   ------------------------------------------------------------------
   `color: inherit` の 11 本を落とさない
   ------------------------------------------------------------------
   移行元の 45 本のうち 11 本は `color: inherit` である。**これは全称の規則を
   打ち消して親の色を受け継がせるための指定**であり、見た目に効く。落とすと
   その要素だけ `#3d4e56` になる。

   ------------------------------------------------------------------
   写し方
   ------------------------------------------------------------------
   移行元の当たり先の頭に印 `pa-branch-area1` を足しただけで、**順序も
   カンマの並びも移行元のまま**である。移行元の CSS から機械で書き出した。
   詳細度は (0,3,0) 以上になるので、上の全称の規則 (0,2,0) にも、テーマが
   持つ (0,2,0) の規則にも勝つ。移行元と同じ勝ち負けになる。

   写し元は `legacy/www.p-a.jp/public/branch/css/style_area1.css` である. */

.pa-branch-area1 .page-branch .mainvisual-logo {
	color: #231815;
}

.pa-branch-area1 .page-branch .mainvisual-shopname span {
	color: #ceb01f;
}

.pa-branch-area1 .page-branch .navigation-list a {
	color: #fff;
}

.pa-branch-area1 .page-branch .leadcopy-shop-name {
	color: #fff;
}

.pa-branch-area1 .page-branch .leadcopy-shop-caption {
	color: #e3d7be;
}

.pa-branch-area1 .page-branch .leadcopy-txt {
	color: #51411e;
}

.pa-branch-area1 .page-branch .leadcopy-txt-01 {
	color: inherit;
}

.pa-branch-area1 .page-branch .leadcopy-txt-01 strong {
	color: inherit;
}

.pa-branch-area1 .page-branch .leadcopy-txt-01 small {
	color: inherit;
}

.pa-branch-area1 .page-branch .leadcopy-txt-02 {
	color: inherit;
}

.pa-branch-area1 .page-branch .title-01.title-01--nobg .title-01-en {
	color: #b0a056;
}

.pa-branch-area1 .page-branch .title-01.title-01--nobg .title-01-jp {
	color: #3d4e56;
}

.pa-branch-area1 .page-branch .title-01-en {
	color: #dfbf29;
}

.pa-branch-area1 .page-branch .title-01-jp {
	color: #fff;
}

.pa-branch-area1 .page-branch .title-02 {
	color: #b0a056;
}

.pa-branch-area1 .page-branch .title-02 small {
	color: inherit;
}

.pa-branch-area1 .page-branch .button-01,
.pa-branch-area1 .page-branch .button-02 {
	color: #fff;
}

.pa-branch-area1 .page-branch .value small {
	color: inherit;
}

.pa-branch-area1 .page-branch .about-info th {
	color: #084e6c;
}

.pa-branch-area1 .page-branch .manager-name-en {
	color: #a6b3b9;
}

.pa-branch-area1 .page-branch .manager-position {
	color: #b0a056;
}

.pa-branch-area1 .page-branch .case-box-female * {
	color: #6f5953;
}

.pa-branch-area1 .page-branch .case-box-female .case-leadcopy strong,
.pa-branch-area1 .page-branch .case-box-female .case-name,
.pa-branch-area1 .page-branch .case-box-female .value {
	color: #c84778;
}

.pa-branch-area1 .page-branch .case-box-male * {
	color: #53616f;
}

.pa-branch-area1 .page-branch .case-box-male .case-leadcopy strong,
.pa-branch-area1 .page-branch .case-box-male .case-name,
.pa-branch-area1 .page-branch .case-box-male .value {
	color: #235593;
}

.pa-branch-area1 .page-branch .case-leadcopy strong span {
	color: inherit;
}

.pa-branch-area1 .page-branch .case-name strong {
	color: inherit;
}

.pa-branch-area1 .page-branch .case-name span {
	color: inherit;
}

.pa-branch-area1 .page-branch .case-career {
	color: inherit;
}

.pa-branch-area1 .page-branch .case-review-star span {
	color: #dcbd51;
}

.pa-branch-area1 .page-branch .case-box-female .case-review-star {
	color: #cfc8c7;
}

.pa-branch-area1 .page-branch .case-box-male .case-review-star {
	color: #c7cccf;
}

.pa-branch-area1 .page-branch .case-button span {
	color: #fff;
}

.pa-branch-area1 .page-branch .course-detail dt {
	color: #084e6c;
}

.pa-branch-area1 .page-branch .course-price thead th {
	color: #2d3c42;
}

.pa-branch-area1 .page-branch .news .text-01,
.pa-branch-area1 .page-branch .news .title-03 {
	color: #486d94;
}

.pa-branch-area1 .page-branch .parent-btn-title {
	color: #b0a056;
}

.pa-branch-area1 .page-branch .parent-btn-01 {
	color: #084e6c;
}

.pa-branch-area1 .page-branch .parent-btn-01 span {
	color: inherit;
}

.pa-branch-area1 .page-branch .parent-btn-02 {
	color: #fff;
}

.pa-branch-area1 .page-branch .flow-header-01 .flow-title {
	color: #084e6c;
}

.pa-branch-area1 .page-branch .flow-header-02 .flow-title {
	color: #2f6c50;
}

.pa-branch-area1 .page-branch .flow-time {
	color: #fff;
}

.pa-branch-area1 .page-branch .flow-title-02 h4 {
	color: #b0a056;
}

.pa-branch-area1 .page-branch .flow .flow-notes {
	color: #e04d40;
}

/* 🚨 行送りも移行元と同じ形で写す（Task #3672）。
 *
 * 移行元の本文の器（`#contents`）は `line-height` を 1 つも書いておらず、区画ごとの
 * 規則が置いた場所だけが値を持ち、それ以外は `normal` で描かれる。dev は `body` に
 * 共通の行送り 1.5 を置いているので、何も書かないと本文の隅々までそれが届く。
 *
 * 2026-09-05 に本番と dev を突き合わせた実測では、地図の区画の外で**行送りが違う組の
 * うち 92〜115 組が「移行元 `normal` 対 dev の計算値」**だった（仙台 92・札幌 111・
 * 高崎 115・福岡 110）。器へ `normal` を置くと、この組が移行元と同じ姿になる。
 *
 * 器へ置く指定なので、**区画ごとの規則を持つ要素には届かない**（受け継ぎより直接
 * 当たる規則が強い）。つまりテーマが個別に書いている行送りは今までどおり効く。
 * 移行元が区画ごとに持つ値（19.6px・14px など）は別に写す必要があり、まだ残って
 * いる。残りは Issue のコメントに件数を書いた. */


/* 🚨 移行元の**行送り・太さ・字の大きさの規則 61 本**も、同じ当たり先でそのまま
   写す（Task #3873）。文字色（すぐ上の 45 本）と同じ考え方である。

   ------------------------------------------------------------------
   要になるのは 1 本目の初期化である
   ------------------------------------------------------------------
   移行元はこの 14 本だけに、`.page-branch` 配下の**要素の初期化**（Meyer 式の
   reset）を掛けている。約 70 種類の要素へ `font: inherit` を当てるもので、
   これが効くと

     - `dt` `th` `h3` `h4` は**太字にならない**（既定の 700 が 400 になる）
     - 見出しの**字の大きさが親と同じ**になる（`h3` の 1.17em などが消える）
     - 行送りも親から受け継ぐ

   2026-09-05 の実測（神戸店・幅 1440px）で、**太さの差 35 組はすべて
   「移行元 400 対 dev 700」**だった。移行先にこの初期化が無いためである。

   ------------------------------------------------------------------
   `html` と `body` の当たり先だけ落とした
   ------------------------------------------------------------------
   移行元の初期化は reset をそのまま写しているため `.page-branch html` と
   `.page-branch body` を含む。**`.page-branch` は本文の中の `div` なので、
   この 2 つは何にも当たらない。**残しても害は無いが、当たらない指定を増やさない
   ためにここでは落とした。**当たり先はこの 2 つ以外を 1 つも落としていない**
   （移行元 81 種類に対して 79 種類。カンマの並びも移行元のまま）。

   ------------------------------------------------------------------
   🚨 宣言は 6 つのうち 5 つを写している。`margin: 0` だけを写さない（Bug #4831）
   ------------------------------------------------------------------
   移行元は 6 つ（`margin: 0` / `padding: 0` / `border: 0` / `font-size: 100%` /
   `font: inherit` / `vertical-align: baseline`）を当てる。**ここに在るのは
   `margin: 0` を除く 5 つである。並びも移行元のままにしてある。**

   🚨 **`margin: 0` を足してはいけない。足すと移行元から離れる。**
   2026-09-08 に代表 3 店（大宮・浜松・神戸）で 1 宣言ずつ当てて測った実測である。

     | 当てた宣言 | 幅 1440px で差の出た区画 | 幅 375px |
     |---|---:|---:|
     | **`margin: 0`** | **14**（3 店の延べ） | 16 区画が縮む |
     | `padding: 0` | 0 | 0 |
     | `border: 0` | 0 | 0 |
     | `vertical-align: baseline` | 0 | 0 |

   **幅 1440px では、いま全区画が移行元と差 0.00 である。**`margin: 0` を足すと
   5 種類の区画が移行元より短くなる（主役の絵など +80 / 店名 −6 / こだわり −40 /
   コースと料金 −80 / ご来店・ご入会の流れ −14）。**残る 3 つは 1 区画も動かさない**
   ので写した。

   **幅 375px では逆に `margin: 0` が差を縮める**（コースと料金は +490.62 → +164.62
   で 326px 縮む）。**幅で向きが逆なので、幅の条件の中に置くかどうかは
   Task #4741 で判断する。**移行元の初期化は幅で分かれていないため、ユーザー裁定が要る。

   🚨 **原因は「素のタグの余白」ではない。**当たり先は素のタグ 79 種類だが、その中に
   `div` も入っており、クラスで付けた余白（詳細度 (0,1,0)）にも初期化 (0,2,1) が勝つ。
   **HTML のタグを数えて「この区画は動かないはず」と絞り込むと外れる**（2026-09-08 に
   実際に外した）。**確かめるときは 1 宣言ずつ当てて測る。**

   ------------------------------------------------------------------
   写し方
   ------------------------------------------------------------------
   移行元の当たり先の頭に印 `pa-branch-area1` を足しただけで、**順序も
   カンマの並びも移行元のまま**である。移行元の CSS から機械で書き出した。
   初期化は詳細度が低い (0,2,1) ので、区画ごとの規則には負ける。移行元と同じ
   勝ち負けになる。

   写し元は `legacy/www.p-a.jp/public/branch/css/style_area1.css` である.
   ------------------------------------------------------------------
   🚨 `th` と `td` の `border: 0` は、いま 1 度も効いていない（Task #7096）
   ------------------------------------------------------------------
   この塊の詳細度は (0,2,1) = **201**。テーマが持つ

       .entry-content table:not(.pa-form-table) :is(th, td) { border: 1px solid … }

   が **202** で勝つ（`:not(.pa-form-table)` が類 1、`:is(th, td)` が要素 1 を足す）。
   **`border: 0` は書かれたまま、表のセルには 1 度も効いていない。**

   🚨 **それでも消さない。**この塊は移行元の初期化を**機械で写した**もので、
   **2 本だけ抜くと写しの原則と移行元との照合が壊れる**。
   **移行元スマホ版には「共通の表へ枠線を当てる規則」が 0 件**なので（2026-09-17 23:3x に
   ミラーで数えた）、**移行元ではこの初期化が効いている。写しとしては正しい。**
   効かないのは、**dev のテーマ側に移行元に無い規則がある**からである。

   🚨 **実害は無い。**旧デザイン 13 店の本文に在る表は 3 種類だけで、
   どれにも 202 より詳しい手当てが在る（2026-09-17 20:11 の棚卸しで数えた）。

   | 表 | 13 店での件数 | 手当ての詳細度 |
   |---|---:|---:|
   | `case-intro`（成婚事例） | 127 | 301 |
   | `about-info`（店舗情報） | 13 | 302 |
   | `course-price`（料金表） | 13 | 303 |

   🚨 **表が増えて手当てが無い状態になったら、共通の 1px が露出する。**
   それを見張る検査が `tests-retired/pa-cms-branch-table-borders/` に在る。
   **赤くなったら、この塊の直後へ支店紹介用の打ち消しを 1 本足して 202 に勝たせる**
   （Task #7096 の本文に案を書いてある）。**いまは実害が無いので入れていない。** */

.pa-branch-area1 .page-branch a,
.pa-branch-area1 .page-branch abbr,
.pa-branch-area1 .page-branch acronym,
.pa-branch-area1 .page-branch address,
.pa-branch-area1 .page-branch applet,
.pa-branch-area1 .page-branch article,
.pa-branch-area1 .page-branch aside,
.pa-branch-area1 .page-branch audio,
.pa-branch-area1 .page-branch b,
.pa-branch-area1 .page-branch big,
.pa-branch-area1 .page-branch blockquote,
.pa-branch-area1 .page-branch canvas,
.pa-branch-area1 .page-branch caption,
.pa-branch-area1 .page-branch center,
.pa-branch-area1 .page-branch cite,
.pa-branch-area1 .page-branch code,
.pa-branch-area1 .page-branch dd,
.pa-branch-area1 .page-branch del,
.pa-branch-area1 .page-branch details,
.pa-branch-area1 .page-branch dfn,
.pa-branch-area1 .page-branch div,
.pa-branch-area1 .page-branch dl,
.pa-branch-area1 .page-branch dt,
.pa-branch-area1 .page-branch em,
.pa-branch-area1 .page-branch embed,
.pa-branch-area1 .page-branch fieldset,
.pa-branch-area1 .page-branch figcaption,
.pa-branch-area1 .page-branch figure,
.pa-branch-area1 .page-branch footer,
.pa-branch-area1 .page-branch form,
.pa-branch-area1 .page-branch h1,
.pa-branch-area1 .page-branch h2,
.pa-branch-area1 .page-branch h3,
.pa-branch-area1 .page-branch h4,
.pa-branch-area1 .page-branch h5,
.pa-branch-area1 .page-branch h6,
.pa-branch-area1 .page-branch header,
.pa-branch-area1 .page-branch hgroup,
.pa-branch-area1 .page-branch i,
.pa-branch-area1 .page-branch iframe,
.pa-branch-area1 .page-branch img,
.pa-branch-area1 .page-branch ins,
.pa-branch-area1 .page-branch kbd,
.pa-branch-area1 .page-branch label,
.pa-branch-area1 .page-branch legend,
.pa-branch-area1 .page-branch li,
.pa-branch-area1 .page-branch mark,
.pa-branch-area1 .page-branch menu,
.pa-branch-area1 .page-branch nav,
.pa-branch-area1 .page-branch object,
.pa-branch-area1 .page-branch ol,
.pa-branch-area1 .page-branch output,
.pa-branch-area1 .page-branch p,
.pa-branch-area1 .page-branch pre,
.pa-branch-area1 .page-branch q,
.pa-branch-area1 .page-branch ruby,
.pa-branch-area1 .page-branch s,
.pa-branch-area1 .page-branch samp,
.pa-branch-area1 .page-branch section,
.pa-branch-area1 .page-branch small,
.pa-branch-area1 .page-branch span,
.pa-branch-area1 .page-branch strike,
.pa-branch-area1 .page-branch strong,
.pa-branch-area1 .page-branch sub,
.pa-branch-area1 .page-branch summary,
.pa-branch-area1 .page-branch sup,
.pa-branch-area1 .page-branch table,
.pa-branch-area1 .page-branch tbody,
.pa-branch-area1 .page-branch td,
.pa-branch-area1 .page-branch tfoot,
.pa-branch-area1 .page-branch th,
.pa-branch-area1 .page-branch thead,
.pa-branch-area1 .page-branch time,
.pa-branch-area1 .page-branch tr,
.pa-branch-area1 .page-branch tt,
.pa-branch-area1 .page-branch u,
.pa-branch-area1 .page-branch ul,
.pa-branch-area1 .page-branch var,
.pa-branch-area1 .page-branch video {
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

.pa-branch-area1 .page-branch .mainvisual {
	line-height: 0;
}

/* 大見出しの書体と字間（Bug #4717）。移行元の写しは
   `branch/css/style_area1.css` の 411〜447 行と、スマホ版 `sp/…` の 408〜445 行である。

   🚨🚨 **当たり先をクラス 3 つにしているのは、初期化に勝つためである。**
   このファイルの旧デザインの初期化は
   `.pa-branch-area1 .page-branch div, … span, … { font-family: inherit }` で、
   クラス 2 つ＋要素名 1 つの **(0,2,1)** である。テーマが既に持っていた
   `.pa-branch__content .mainvisual-logo { font-family: var(--pa-font-family-serif) }`
   はクラス 2 つの (0,2,0) なので**負けており、1 度も効いていなかった**（実測: 大宮店・
   幅 1440px で本文のゴシックが出る）。ここはクラス 3 つの (0,3,0) で勝つ。

   🚨 **書体はテーマの変数を使わず、移行元の並びをそのまま書く。**移行元は
   **ヒラギノ明朝 ProN W3 が先頭**で、テーマの `--pa-font-family-serif` は游明朝が
   先頭である。並び順が違うと、端末に両方が入っているときに別の書体で描かれる
   （実測: 字の幅が幅 1440px で +23.16px 違う）。同じ理由で並びを直接書いた先例が
   このファイルの「ご利用の流れ」の見出しに在る. */
.pa-branch-area1 .page-branch .mainvisual-logo {
	line-height: 32px;
	font-size: 18px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* 🚨 **字間は移行元がどちらの幅も `normal` である。**テーマは共通の
   `.pa-branch__content .mainvisual-shopname` に `letter-spacing: 0.1em` を当てており、
   効いている値は幅 1440px で 6px・375px で 3.2px になっていた。**共通の側は弱めない**
   （新デザインと改装版の店舗詳細にも当たるため。司令塔の裁定 222）。旧デザインだけ
   ここで `normal` に戻す. */
.pa-branch-area1 .page-branch .mainvisual-shopname {
	font-size: 60px;
	line-height: 1;
	letter-spacing: normal;
}

/* 英字の店名は 1 文字ずつ span に入る。移行元は **Bodoni が先頭**の並びを当てる
   （写し `branch/css/style_area1.css` 447 行・スマホ版も同じ並び）。dev は span へ
   書体を当てておらず、初期化の `inherit` だけが当たっていた. */
.pa-branch-area1 .page-branch .mainvisual-shopname span {
	font-family: Bodoni, BauerBodoniRoman, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, serif;
}

/* 携帯幅の字の大きさ（Bug #4717・司令塔の裁定 644）。移行元スマホ版は日本語の店名を
   11px（写し `sp/branch/css/style_area1.css` 414 行）・英字の店名を 24px（同 434 行）で
   組む。dev は幅で変えていなかったため、375px で日本語が +7px・英字が +8px 大きかった。

   🚨 **当たり先にクラスを 4 つ置いているのは、後ろに在る規則に勝つためである。**
   このファイルは `.pa-branch__content .mainvisual.is-slider-ready .mainvisual-logo`
   （クラス 3 つ）や `@media (max-width: 749px)` の
   `.pa-branch__content .mainvisual-shopname`（クラス 2 つ）を**このブロックより後ろ**に
   持つ。同じ強さだと後ろが勝つため、1 段強くしてある（取り決め 47）. */
@media (max-width: 749px) {
	.pa-branch-area1 .page-branch .mainvisual.is-slider-ready .mainvisual-logo {
		font-size: 11px;
	}

	.pa-branch-area1 .page-branch .mainvisual.is-slider-ready .mainvisual-shopname {
		font-size: 24px;
	}
}

.pa-branch-area1 .page-branch .navigation-list a {
	font-size: 14px;
}

/* 🚨 **移行元の目印だけでなく、テーマが実際に出す目印にも当てる（Bug #3966 と同じ型）。**

   すぐ上の `.navigation-list a` は移行元をそのまま写したものだが、**投入は本文の
   `nav.navigation` を落とす**ので、この 14 本にその目印は 1 度も現れない
   （`scripts/pa-cms/build-import-payload.py` の枠の一覧）。テーマは
   `.pa-branch__anchor-nav` で帯を描き、`assets/js/branch-visual.js` がそれを
   主役の絵の直後（＝ `.page-branch` の中）へ移す。

   そのため**上の初期化が帯にも届く**。詳細度は初期化が (0,2,1)、テーマの基底の
   指定が (0,2,0) で**初期化のほうが強い**。放っておくと字が 14px から 16px へ、
   書体が明朝から游ゴシックへ変わる（実測で確認）。

   移行元は同じ関係を詳細度で解いている（`.page-branch .navigation-list a` (0,2,1)
   対 `.page-branch a` (0,1,1)）。こちらも詳細度で勝たせる。ここは (0,4,0) である。
   **並び順に頼らない**（後ろへ置くだけだと、規則を 1 本足しただけで黙って戻る）. */
/* 🚨 **内余白も同じ理由でここへ置く（Bug #5805）。**上の初期化 (0,2,1) は
   `padding: 0` も持つので、基底 (0,2,0) の `padding: 10px 0 10px 20px` は
   書体と同じく負けている。**字は勝っていたので見落としていた。**
   dev の町田店を幅 1440 で測ると、項目 4 つとも 内余白 `0`・高さ 14px・
   幅 61.61px で、移行元（内余白 `10px 0 10px 20px`・高さ 34px・幅 81.61px）と
   ちょうど 20px 違う（2026-09-14 22:58 実測）。
   下向きの絵は `background-position: 0` で左端に敷いてあるため、左の内余白が
   無いと**字の下に重なって見えなくなる**。Issue が言う「印が無い」「印の余白が
   無い」は、この 1 つの原因で両方が起きている. */
.pa-branch-area1 .page-branch .pa-branch__anchor-nav .pa-branch__anchor-nav-link {
	padding: 10px 0 10px 20px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 14px;
}

@media (max-width: 749px) {

	/* 🚨 **携帯幅は明朝でなく游ゴシックである（裁定 168）。**移行元スマートフォン版は
	   項目に書体を指定せず、親の游ゴシックが降りてくる。同じ画面の同じ部品なのに
	   パソコン幅と書体が変わる。改装版（--renew）は別の意匠なので外す.

	   🚨 **内余白もここで携帯幅の値へ戻す（Bug #5805）。**携帯幅の値は
	   `.pa-branch__anchor-nav:not(--renew) .pa-branch__anchor-nav-link`（(0,3,0)）が
	   `padding: 0 0 0 38px` で持っており、初期化 (0,2,1) には勝てていた。
	   しかし上へ足した (0,4,0) はそれより強いので、**このまま置くと携帯幅まで
	   パソコン幅の 20px になる**。同じ (0,5,0) でここへ書き戻す. */
	.pa-branch-area1 .page-branch .pa-branch__anchor-nav:not(.pa-branch__anchor-nav--renew) .pa-branch__anchor-nav-link {
		padding: 0 0 0 38px;
		font-family: var(--pa-font-family-base);
		font-size: 13px;
	}
}


.pa-branch-area1 .page-branch .leadcopy-shop-logo {
	line-height: 0;
}

.pa-branch-area1 .page-branch .leadcopy-shop-name {
	font-size: 40px;
	line-height: 1;
}

.pa-branch-area1 .page-branch .leadcopy-shop-caption {
	font-size: 12px;
}

.pa-branch-area1 .page-branch .leadcopy-txt-01 {
	font-size: 20px;
	line-height: 1.8;
}

.pa-branch-area1 .page-branch .leadcopy-txt-01 small {
	font-size: 11px;
}

.pa-branch-area1 .page-branch .leadcopy-txt-02 {
	font-size: 11px;
	line-height: 1.2;
}

.pa-branch-area1 .page-branch.page-branch-sukiyabashi .leadcopy-shop-name {
	font-size: 30px;
}

.pa-branch-area1 .page-branch .title-01-en {
	font-size: 13px;
	line-height: 1;
}

.pa-branch-area1 .page-branch .title-01-jp {
	font-size: 36px;
	line-height: 1.5;
}

.pa-branch-area1 .page-branch .title-02 {
	font-size: 20px;
	line-height: 1.6;
}

.pa-branch-area1 .page-branch .title-02 small {
	font-size: 11px;
}

.pa-branch-area1 .page-branch .title-03 {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
}

.pa-branch-area1 .page-branch .text-01 {
	font-size: 14px;
	line-height: 2;
}

.pa-branch-area1 .page-branch .text-01 small {
	font-size: 12px;
	line-height: 1.4;
}

.pa-branch-area1 .page-branch .notes-01 {
	font-size: 11px;
	line-height: 2;
}

.pa-branch-area1 .page-branch .button-01,
.pa-branch-area1 .page-branch .button-02 {
	font-size: 14px;
}

.pa-branch-area1 .page-branch .value {
	line-height: 1.1;
	font-size: 30px;
	font-weight: 200;
}

.pa-branch-area1 .page-branch .value small {
	font-size: 18px;
}

.pa-branch-area1 .page-branch .value .price_normal {
	font-size: 18px;
}

/* こだわりの区画の絵。移行元は下の外余白を 40px 持つ（写し
   `branch/css/style_area1.css` の 1017〜1022 行）。テーマは本文の絵へ一律に
   `--pa-article-paragraph-gap`（25px）を与えるので、**15px 足りない**まま
   区画の高さに効いていた（Bug #4591・幅 1440px・大宮店の実測）。

   🚨 **パソコン幅では絵を箱の中央に置く（Bug #9519）。**移行元は同じ規則で
   `text-align: center` を持つ。dev はこれを写していなかったので、絵が箱の左端に
   付いていた（幅 1440px・大宮店と船橋店の実測で、絵の左端が移行元の 390px に対して
   dev は 251px）。**携帯幅には当てない。**移行元の携帯版（`sp/branch/css/style_area1.css`
   1111〜1120 行）は寄せを持たないので、計算値を移行元と同じ start に保つ. */
.pa-branch-area1 .page-branch .feature-figure {
	margin-bottom: 40px;
	line-height: 0;
}

@media (min-width: 750px) {
	.pa-branch-area1 .page-branch .feature-figure {
		text-align: center;
	}
}

.pa-branch-area1 .page-branch .about-info {
	font-size: 14px;
	line-height: 1.6;
}

.pa-branch-area1 .page-branch .about-info td small {
	font-size: 11px;
}

.pa-branch-area1 .page-branch .manager-img {
	line-height: 0;
}

.pa-branch-area1 .page-branch .manager-name {
	line-height: 1;
}

.pa-branch-area1 .page-branch .manager-name-jp {
	font-size: 24px;
}

.pa-branch-area1 .page-branch .manager-name-en {
	font-size: 12px;
}

.pa-branch-area1 .page-branch .manager-position {
	font-size: 14px;
}

.pa-branch-area1 .page-branch .manager-message p {
	font-size: 14px;
	line-height: 2;
}

.pa-branch-area1 .page-branch .case-img {
	line-height: 0;
}

.pa-branch-area1 .page-branch .case-leadcopy {
	font-size: 18px;
	line-height: 24px;
}

.pa-branch-area1 .page-branch .case-name {
	font-size: 13px;
	line-height: 1;
}

.pa-branch-area1 .page-branch .case-name strong {
	font-size: 22px;
}

.pa-branch-area1 .page-branch .case-career {
	font-size: 13px;
	line-height: 1.2;
}

.pa-branch-area1 .page-branch .case-intro td,
.pa-branch-area1 .page-branch .case-intro th {
	font-size: 13px;
	line-height: 1.6;
}

.pa-branch-area1 .page-branch .case-intro th {
	font-weight: 700;
}

.pa-branch-area1 .page-branch .case-score-title {
	font-weight: 700;
	font-size: 13px;
}

.pa-branch-area1 .page-branch .case-review-theme {
	font-size: 13px;
	font-weight: 700;
}

.pa-branch-area1 .page-branch .case-review .text-01 {
	line-height: 1.8;
}

.pa-branch-area1 .page-branch .case-review-name {
	font-weight: 700;
	font-size: 15px;
}

.pa-branch-area1 .page-branch .case-review-star {
	font-size: 20px;
}

.pa-branch-area1 .page-branch .case-button span {
	font-size: 14px;
}

.pa-branch-area1 .page-branch .course-detail {
	font-size: 13px;
	line-height: 1.6;
}

.pa-branch-area1 .page-branch .course-notes {
	font-size: 11px;
}

.pa-branch-area1 .page-branch .course-price thead th {
	font-size: 16px;
	line-height: 20px;
}

.pa-branch-area1 .page-branch .course-price thead th.course-price-th-name {
	font-size: 18px;
}

.pa-branch-area1 .page-branch .course-price thead th.course-price-th-detail {
	font-size: 14px;
}

/* 🚨 **コースの札の題と説明は、表の見出しのセルの太字を受け継がない**（Bug #5213）。
 *
 * 移行元は `.title-02` にも `.text-01` にも `font-weight` を書いていない。移行元の
 * 初期化が並の太さを置くので、画面では 400 で描かれる（2026-09-09 14:4x に
 * 移行元の本番を**両方の幅**で実測。パソコン幅 1440px も携帯幅 375px も 400）。
 *
 * dev が 700 になるのは、移行元の初期化を写した規則が `font:` のまとめ書きで
 * **受け継ぎ**にしており、表の見出しのセル（`th`）の太字を受け継ぐためである。
 * **両方の幅に出る差なので、幅の条件を付けない。**
 *
 * 🚨 当たり先は料金の表の中だけに絞る。`.text-01` は事例の区画などでも使われ、
 * そこは移行元も太字の親を受け継ぐ場合があるため、広げると別の差を作る.
 *
 * 🚨 `:is()` でまとめない。当たり先をコンマで切って組み方の印を見張る検査が、
 * かっこの中の 2 本目を印の無い当たり先として切り出して落ちる。
 *
 * check-mobile-only: 意図してメディアクエリの外に置く（太さの差は移行元の
 * パソコン幅 1440px でも携帯幅 375px でも同じ 400 対 700 で出るため、
 * 片方の幅の帯へ入れるともう片方が直らない）. */
.pa-branch-area1 .page-branch .course-price .title-02,
.pa-branch-area1 .page-branch .course-price .text-01 {
	font-weight: 400;
}

/* 🚨 **移行元は料金の表の見出しのセルだけ、携帯幅で別の値を持つ**（Bug #5213）。
 *
 * 移行元スマホ版の `sp/branch/css/style_area1.css` にだけ 2 本が在り、
 * パソコン版の `branch/css/style_area1.css` には**在らない**。そのため
 * 携帯幅だけ差が出て、パソコン幅では一致していた。
 *
 *   .course-price thead th .title-02 { font-size: 18px }
 *   .course-price thead th .text-01  { line-height: 1.6 }
 *
 * 🚨 **移行元は `thead`・dev は `tbody` に置いている。**同じコース名の見出しの
 * セルなのに、移行元は
 *   `table.course-price > thead > tr > th > h4.title-02`
 * dev は
 *   `table.course-price > tbody > tr > th > h4.title-02`
 * である（2026-09-09 15:4x に両側で道すじを実測）。**移行元と同じ `thead th` で
 * 書くと dev では 1 度も当たらない。**そこで節を問わず `th` の中で書く。
 * 料金の表の `th` で `.title-02` を持つのはこの見出しのセルだけである.
 *
 * 🚨 金額（`.value`）と「円」は**両側とも一致している**ので触らない。移行元スマホ版の
 * CSS には `.course-price tbody td .value { font-size: 16px }` が在るが、移行元の
 * 金額は `tbody td` の中に無いため当たっておらず、実測は両側とも 20px である。
 * **CSS に在ることと効いていることは別である**（写しの字だけを見て足すと差を作る）. */
@media (max-width: 749px) {
	.pa-branch-area1 .page-branch .course-price th .title-02 {
		font-size: 18px;
	}

	.pa-branch-area1 .page-branch .course-price th .text-01 {
		line-height: 1.6;
	}
}

.pa-branch-area1 .page-branch .parent-img {
	line-height: 0;
}

.pa-branch-area1 .page-branch .parent-btn-title {
	font-size: 16px;
}

.pa-branch-area1 .page-branch .parent-btn-01 {
	font-size: 28px;
	font-weight: 200;
}

.pa-branch-area1 .page-branch .parent-btn-02 {
	font-size: 16px;
}

.pa-branch-area1 .page-branch .flow-title {
	font-size: 20px;
}

.pa-branch-area1 .page-branch .flow-time {
	font-size: 14px;
	line-height: 1;
}

/* 手順の題（Bug #4799）。写し元は `branch/css/style_area1.css` の 2020〜2047 行と、
   スマホ版 `sp/branch/css/style_area1.css` の 2097〜2124 行である。

   🚨🚨 **番号（`span`）を流れから外すのが芯である。**移行元は番号を
   `position: absolute` で題の左へ重ねるため、**題の箱の高さは `h4` の 16px で収まる**。
   dev は番号を流れの中に置いていたので、60px がそのまま題の箱に乗り、
   **箱が 16px から 126px へ 110px 伸びていた**（実測: 神戸店・幅 1440px）。その結果
   「ご来店・ご入会の流れ」の区画が移行元より **125px 高かった**（13 店）。

   🚨 **`left` は負の値で器の左へはみ出す**（パソコン版 −15px・スマホ版 −12px）。
   移行元と同じ位置に重ねるための値なので、器の側で切り落とさないこと。

   🚨 **書体は移行元の並びをそのまま書く**（番号は Bodoni 先頭・題はヒラギノ明朝 先頭）。
   テーマの `--pa-font-family-serif` は游明朝が先頭で並びが違う。同じ理由で並びを直接
   書いた先例が、このファイルの支店紹介の大見出し（Bug #4717）と「ご利用の流れ」の
   見出しに在る. */
.pa-branch-area1 .page-branch .flow-title-02 {
	position: relative;
	margin: 10px 0;
	line-height: 1;
}

.pa-branch-area1 .page-branch .flow-title-02 span {
	display: block;
	position: absolute;
	bottom: -0.15em;
	left: -15px;
	font-family: Bodoni, BauerBodoniRoman, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, serif;
	font-size: 60px;
	font-style: italic;
}

.pa-branch-area1 .page-branch .flow-title-02 h4 {
	/* 🚨 移行元は Meyer 式の初期化で `.page-branch h4` の外余白を 0 にする
	   （写し `branch/css/style_area1.css` 95〜107 行）。**dev の初期化の写しは
	   `font-size` と `font` だけを取り込み、`margin` を落としている**ので、
	   テーマの見出しの外余白（上 50px・下 20px）が残る。その 2 つが親
	   `.flow-title-02` の `margin: 10px 0` と重なり、上で 40px・下で 10px、
	   合わせて**札の高さを 50px 押し下げていた**（2026-09-08 の実測）。
	   初期化の写しを直すと 14 店の約 70 種類の要素へ波及するため、ここは
	   この見出しだけに絞って移行元と同じ 0 へ戻す（裁定 222）. */
	margin: 0;
	padding-left: 30px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 16px;
}

/* 手順の札の説明文（写し `branch/css/style_area1.css` 2016 行・スマホ版も同じ 5px）。
   本文共通の下の外余白（20px）が出ていたため 15px 広かった. */
.pa-branch-area1 .page-branch .flow-container .text-01 {
	margin-bottom: 5px;
}

.pa-branch-area1 .page-branch .flow .flow-notes {
	font-size: 11px;
	line-height: 1.6;
}

/* --------------------------------------------------------------
   # 旧デザインの店舗詳細（14 店）の携帯幅の字（Bug #4590）

   **移行元はパソコン版とスマホ版で別のファイル・別の値を持つ。**dev は
   パソコン版（`legacy/www.p-a.jp/public/branch/css/style_area1.css`）の値だけを
   写し、**幅の条件を付けなかった**ので、携帯幅にもパソコン版の値が当たっていた。

   数え上げ（`pa-verify-assets/f7-visitor-0907/count-4590.py`）:

     `.pa-branch-area1` を持ち字の色・大きさ・行送りを宣言する規則   199 本
       うち幅の条件が無い（両方の幅に当たる）                        197 本
       別々の当たり先にまとめた数                                    172 本
     移行元のパソコン版とスマホ版で値が違う当たり先                   39 本
       うち 14 店に実際に出る                                        32 本
         そのうちこの塊で直せる                                      30 本
         大見出しの区画（横送りの節が勝つ。別の Issue）                2 本
       1 店にも出ない（写さない）                                     7 本

   🚨 **dev の値 43 件はすべて移行元パソコン版と一致していた。**「パソコン版を
   写して幅で囲わなかった」という見立てが、1 件の例外もなく裏づけられた。

   🚨 **既存の 900 行は 1 行も触らない**（裁定 604 / 607）。いまの規則は
   パソコン版の値として正しいので、**携帯幅の塊を 1 つ足して上書きする**。
   Issue 本文は「素をスマホ版へ書き換え、パソコン版を `min-width: 750px` で
   上書き」と書いているが、**その向きは採らない**（変更行数が 2 倍以上になり、
   移行元パソコン版と一致している 900 行を触ることになる）。

   🚨 **この塊は、上の 33 本を宣言している規則より後ろに置く。**当たり先の強さは
   同じ（`@media` は強さを足さない）ので、**順番でしか勝てない**。いちばん後ろの
   規則は `.flow .flow-notes`（この注釈のすぐ上）である。

   🚨 **1 店にも出ない 7 本は写さない**（`.manager-name-en` `.manager-position`
   `.manager-name-jp` `.manager-message p` `.parent-btn-title` `.parent-btn-01`
   `.text-01 small`）。移行元パソコン版でもスマホ版でも 14 店の本文に 1 度も出ない。
   [Bug #4494] の `th.course-price-th-shop` と同じ判断である。

   🚨 **大見出しの 2 本（`.mainvisual-logo` `.mainvisual-shopname`）はここに書かない。**
   dev はこの区画をテーマの横送り（スライダー）で作り直しており、
   `.pa-branch__content .mainvisual.is-slider-ready ...` が**この塊より後ろに在る**。
   当たり先の強さが同じなので順番で負け、`has-mainvisual-logo` 付きは強さが上で
   位置に関係なく勝つ。**dev で実測して 3 件とも 1 度も効かなかった。**
   携帯幅の大見出しは字の大きさだけでなく社章の絵・内余白・上の余白も別なので、
   横送りの節を直す別の Issue へ切り出した。
   -------------------------------------------------------------- */

@media (max-width: 749px) {

	/* --- 見出し: 移行元スマホ版は題名を小さく出す。 --- */

	.pa-branch-area1 .page-branch .title-01-en {
		font-size: 10px; /* 移行元パソコン版 13px */

		/* 🚨 **英字の下の空きは外余白ではなく内余白で作る**（Bug #6465）。
		   移行元スマホ版 `/sp/branch/css/style_area1.css` の `.page-branch .title-01-en` は
		   `padding: 0 0 10px` で、**要素の箱そのものが 20px になる**（字 10px ＋ 内余白 10px）。
		   テーマの既定は `margin: 0 0 12px` なので、箱は 10px のまま外に 12px の空きができる。
		   見た目の位置は近いが、**箱の高さが 10px 違い、外余白の 12px が別に足される**ため、
		   実測で見出しの塊が 170px 対 189px になっていた（2026-09-15 22:40・幅 375px・町田店）。
		   🚨 **移行元スマホ版が読む CSS はパソコン版と別ファイルである**
		   （`/sp/branch/css/style_area1.css` と `/branch/css/style_area1.css` は md5 が違う）. */
		margin-bottom: 0;
		padding-bottom: 10px;
	}

	.pa-branch-area1 .page-branch .title-01-jp {
		font-size: 20px; /* 移行元パソコン版 36px */

		/* 下の短い棒を流れの外へ置くため（すぐ下の `::after` を見よ）. */
		position: relative;
	}

	/* 🚨 **見出しの下の短い棒は高さを持たない**（Bug #6465）。
	   移行元スマホ版の `.page-branch .title-01-jp:after` は
	   `position: absolute; bottom: -15px; left: 50%; margin: 0 0 0 -30px` で、
	   **流れの外にあるので見出しの高さを増やさない**。
	   テーマの既定は流れの中に置いて `margin-top: 16px`（携帯幅）を取るため、
	   棒の 1px と合わせて **17px** だけ見出しが高くなっていた。
	   位置は移行元と同じ「見出しの下端から 15px 下」にそろえる. */
	.pa-branch-area1 .page-branch .title-01-jp::after {
		position: absolute;
		bottom: -15px;
		left: 50%;
		margin: 0 0 0 -30px;
	}

	/* 🚨 **店舗情報の器は格子のすき間も上の外余白も持たない**（Bug #6465）。
	   移行元スマホ版には `.page-branch .about.l-container` の規則が 1 本も無く、
	   表と地図は素の流れで積まれる（表の下の空きは地図の `margin-top: 20px` だけ）。
	   テーマの既定 `.pa-branch__content .about.l-container` は
	   `display: grid; gap: 50px; margin-top: var(--pa-space-md)` で、携帯幅では
	   `grid-template-columns: 1fr` に上書きされるものの **`gap` と `margin-top` は残る**。
	   携帯幅の `--pa-space-md` は 30px なので、表の下が 20px 対 70px・器の上が 0 対 30px に
	   なっていた（2026-09-15 22:40 の実測）. */
	.pa-branch-area1 .page-branch .about.l-container {
		gap: 0;
		margin-top: 0;
	}

	/* 🚨 **ご入会までの流れの区画は下に 15px の外余白を持つ**（Bug #6648）。
	   写し元は移行元スマホ版 `sp/branch/css/style_area1.css` の
	   `.page-branch .flow-container { position: relative; margin-bottom: 15px }`。
	   dev はこの区画の中の `.text-01` の `margin-bottom: 5px` だけを写しており、
	   **器そのものの下余白が落ちていた**。

	   この 15px は**本文の終わりの位置をそのまま押し下げる**。2026-09-16 17:55 の
	   実測（幅 375px・町田店）で、本文の終わりから下部のパンくずの上端までが
	   移行元 54.00 に対し dev 39.00 だった。差の 15.00 がこれである
	   （パンくず側の `margin-top: 39px` は両側で同じ）。

	   🚨 **`position: relative` は写さない。**絶対配置の子を持たなければ見た目に
	   出ず、写すと流れの中に在る子の位置が変わる余地を作る。**必要だと分かってから
	   別で足す。**

	   🚨 **対象は `style_area1.css` を読む 13 店だけ。**改装版の 4 店（札幌・仙台・
	   高崎・福岡）は `style_renew.css` を読み、**そちらに `.flow-container` の規則は
	   0 件・4 店の本文に markup も 0 件**なので、この区画そのものを持たない
	   （2026-09-16 に移行元の写しで確認）. */
	.pa-branch-area1 .page-branch .flow-container {
		margin-bottom: 15px;
	}

	/* 🚨 **成婚事例の見出しを箱の先頭へ出す**（Bug #6825）。

	   移行元スマホ版は `h4.case-leadcopy` を `div.case-header` の**外**（前）に置く。
	   dev の本文は移行元パソコン版から取り込むので、見出しは `div.case-meta` の中に
	   在り、`display: flex` の `div.case-header` の中で**写真の右の縦積みの一部**になる
	   （2026-09-17 13:37 の実測で幅 305 対 201.5・`div.case-header` の高さ 85 対
	   124.97〜150.16・`section#area-case` の高さが 93.06 低い）。

	   🚨 **CSS だけでは直せない。**`div.case-meta` に `display: contents` を当てると
	   名前と経歴もそろって flex の子になり、移行元の縦積みが横並びに崩れる。写真の幅は
	   移行元の CSS に指定が無く画像の実寸なので、`flex-basis` で作り直すこともできない。
	   だから `inc/branch-case-leadcopy-sp.php` が複製を差し込み、ここで出し分ける.

	   🚨 **隠すのは `display: none` である**（読み上げと検索に二重に残さない）. */
	.pa-branch-area1 .page-branch .pa-branch-case-leadcopy--sp {
		display: block;
	}

	.pa-branch-area1 .page-branch .case-meta .case-leadcopy {
		display: none;
	}

	/* 🚨 **ご入会までの流れを、移行元スマホ版と同じ順に見せる**（Bug #6862）。

	   移行元スマホ版は `div.l-container.flow` が **1 つ**で、
	   `div.flow-come`（見出し → 文 → 箱）→ `div.flow-join`（見出し → 文 → 箱）の順に
	   読ませる。dev の本文は移行元パソコン版から取り込むので柱が **2 つ**に分かれ、
	   **見出し 2 つ → 箱 2 つ**の順になる（2026-09-17 13:18 の実測で
	   `section#area-procedure` の高さが 1514.98 対 1483.98・−31.00）。

	   🚨 **箱を 1 つ目の柱へ移す形は採らない。**パソコン幅は見出しの行
	   （`.flow-come` 830px ＋ `.flow-join` 265px）と箱の行を分けて横に並べており、
	   1 つにまとめると**いま移行元と合っているパソコン幅が崩れる**。複製なら
	   パソコン幅の CSS に一切触らない。

	   🚨 **隠すのは `display: none` である**（読み上げと検索に二重に残さない）. */
	/*
	 * 🚨🚨 **当たり先の長さは素の規則とそろえる**（Bug #6900）。素の側を類 5 にしたので、
	 * ここを類 3 のままにすると**素の規則が携帯幅でも勝ち、複製が消える**。
	 * 片方だけ伸ばす・片方だけ縮めるのは、どちらの幅でも壊れる.
	 */
	.pa-profile-legacy-compat .pa-branch__content .page-branch .flow.pa-branch-flow--sp {
		display: block;
	}

	/*
	 * 🚨 **元の柱を隠す側は類 3 のままでよい。**競合する
	 * `.pa-profile-legacy-compat .pa-branch__content .flow.l-container { display: flex }` は
	 * `@media (min-width: 750px)` の中に在り、**携帯幅では効かない**。
	 * 2026-09-17 17:39 の実測（375px）で、元の柱 2 本は幅も高さも 0 だった。
	 * **動いているものを直しに巻き込まない.**
	 */
	.pa-branch-area1 .page-branch .pa-branch-flow--pc {
		display: none;
	}

	/* 🚨 **ご入会までの流れの柱の上に 20px 空ける**（Bug #7000・親は Bug #6904）。

	   | | `.page-branch .flow.l-container` の `margin-top` |
	   |---|---:|
	   | 移行元パソコン版 | 60px（`:nth-of-type(3)` だけ 0） |
	   | 移行元スマホ版 | **20px** |
	   | dev の携帯幅 | **指定が無く 0px** |

	   2026-09-17 19:49 の実測（町田店・375px）で、`section#area-procedure` の上端から
	   柱の上端までが移行元 160.00 に対し dev 140.00 だった（**−20.00**）。

	   🚨 **携帯幅で出るのは複製の柱 1 本だけである**（Bug #6862）。複製は
	   `l-container flow pa-branch-flow--sp` を持つのでこの当たり先に当たる。
	   **移行元も柱 1 つに 20px** なので同じ形になる。

	   🚨 **パソコン幅は触らない。**あちらの 60px は
	   `.pa-profile-legacy-compat .pa-branch__content .flow.l-container`（`@media (min-width: 750px)`）
	   が持っており、**携帯幅では効かない**ので競合しない。

	   携帯幅で柱に外余白を当てる規則はほかに 1 本だけ
	   （`.pa-page--guide .page-content__body #guide01 .flow`）で、あれはガイドのページである. */
	.pa-branch-area1 .page-branch .flow.l-container {
		margin-top: 20px;
	}

	/* 🚨 **上の 15px を位置に出すための止め**（Bug #6753）。

	   宣言だけでは効かない。`.flow-container` の下外余白は、下端が重なる親
	   （`.flow-box` → `.flow-join` → `.l-container.flow` → `#area-procedure` →
	   `.page-branch`）を**突き抜けて**外へ出る。dev では本文の下のパンくず
	   （`nav.pa-breadcrumb--bottom-branch-sp`）が `.page-branch` の次の兄弟なので、
	   突き抜けた 15px とパンくずの `margin-top: 39px` が隣り合って**重なり**、
	   大きい 39 だけが残っていた。

	   移行元は同じ 15px を `sp/css/basic.css` 66 行の
	   `.clearfix:after { content: "."; display: block; clear: both; height: 0 }` で
	   `div.clearfix` の内側に止めている。だから移行元は `div#sp_wrap` の下端が
	   `div.page-branch` の下端より 15px 下に在り、そこへパンくずの 39px が
	   **足されて** 54 になる。**dev にはこの層が無い**ので、同じ止めを
	   `.page-branch` の下端に置く.

	   実測（幅 375px・町田店・2026-09-17 08:43）:
	   `.flow-container` の下端からパンくずの上端まで 移行元 54.00 / dev 39.00.

	   🚨 **`display: flow-root` にはしない。**あれは上端の余白も閉じ込めるので、
	   いま突き抜けている上の余白があると本文全体が下へずれる。**下端だけを止める。**
	   🚨 **`clear` は写さない。**13 店が読む `style_area1.css` に `float` は 0 件。

	   ------------------------------------------------------------------
	   🚨 4 つの宣言を 1 つでも欠くと、この止めは静かに効かなくなる
	   ------------------------------------------------------------------
	   **`content` を空にしてはいけない。**空の `content` は**行ボックスを作らない**。
	   行ボックスも中身も高さも内余白も枠線も持たないブロックの箱は、CSS 2.1 の言う
	   **self-collapsing（自分で潰れる箱）**になる。潰れる箱は前の兄弟の下外余白とも
	   親の下端とも一緒に重なるので、**止めの役に立たない**。

	   🚨 **PR #6755 で実際に踏んだ**（2026-09-17）。`content: ""` と `display: block`
	   だけを書いてデプロイしたところ、**`div.page-branch` の下端が 1px も動かず**、
	   本文の終わりからパンくずまでは 39.00 のままだった（10:34 の実測）。

	   **ピリオド 1 文字で行ボックスを作り、`height: 0` で高さを消し、
	   `visibility: hidden` で字を隠す。**移行元の 4 つの宣言はこの順で噛み合っている.
	   */
	.pa-branch-area1 .page-branch::after {
		content: ".";
		display: block;
		height: 0;
		visibility: hidden;
	}

	.pa-branch-area1 .page-branch .title-02 {
		font-size: 16px; /* 移行元パソコン版 20px */
	}

	.pa-branch-area1 .page-branch .title-02 small {
		font-size: 9px; /* 移行元パソコン版 11px */
	}

	/* --- 本文: リード・本文・注記・数字・押しボタンの字。 --- */

	.pa-branch-area1 .page-branch .leadcopy-txt-01 {
		font-size: 16px; /* 移行元パソコン版 20px */
		line-height: 1.7; /* 移行元パソコン版 1.8 */
	}

	.pa-branch-area1 .page-branch .leadcopy-txt-01 small {
		font-size: 10px; /* 移行元パソコン版 11px */
	}

	.pa-branch-area1 .page-branch .leadcopy-txt-02 {
		font-size: 10px; /* 移行元パソコン版 11px */
	}

	.pa-branch-area1 .page-branch .text-01 {
		font-size: 13px; /* 移行元パソコン版 14px */

		/* 🚨 **下の外余白も版で違う**（Bug #7000・親は Bug #6904）。

		   | | `.page-branch .text-01` の下外余白 |
		   |---|---:|
		   | 移行元パソコン版（`branch/css/style_area1.css`） | 20px |
		   | 移行元スマホ版（`sp/branch/css/style_area1.css`） | **15px** |

		   dev は素の `.pa-branch__content .text-01`（類 2 ＝ 200）が両方の幅で 20px を
		   当てている。**パソコン幅は移行元と合っている**ので、携帯幅だけ 15px へ戻す。
		   この当たり先は類 3 ＝ 300 なので素に勝つ。

		   2026-09-17 19:49 の実測（町田店・375px）で、**説明文の下のすき間が
		   移行元 15.00 に対し dev 20.00** だった。ご入会までの流れの説明文 → 箱が
		   2 か所、コースと料金の説明文 → 帯が 2 か所、合わせて ＋5 × 4 である。

		   🚨 **例外 2 つは触らない。**移行元スマホ版は `.flow-container .text-01` を
		   5px にしており、dev にも在る（素・類 4 ＝ 400 なのでここに勝つ）。
		   `.news .text-01`（移行元 20px）は dev に無いが、**`.news` の区画は 13 店とも
		   0 件**なので実害が無い（投入の材料で数えた）。

		   🚨 **当たる箇所が多い。**`p.text-01` は 1 ページ 47〜55 件（13 店で 667 件）ある. */
		margin-bottom: 15px;
	}

	.pa-branch-area1 .page-branch .notes-01 {
		font-size: 10px; /* 移行元パソコン版 11px */
	}

	/* 🚨 **携帯幅の注記は、移行元スマホ版の組みへ戻す**（Bug #8389）。
	   dev は既定の `.pa-branch__content .notes-01` がパソコン版の組み（`dt`「※1」と `dd` を
	   2 列に並べる grid）を持ち、それが携帯幅にも効いていた。加えて本文の共通の
	   `.entry-content dl` が左右に 1em の外余白を当てる。移行元スマホ版の
	   `sp/branch/css/style_area1.css` は、`dt` を `display: none` にし、`dd` を幅 100%・
	   左の内余白 2em にして、「※1」〜を `dd::before` で左端へ置く（パソコン版の
	   `branch/css/style_area1.css` は flex で `dt` 3.5%・`dd` 96%）。
	   2026-09-25 12:21 の実測（大宮・375px）で、`dd` の左端と幅が 移行元 20 / 335 に対し
	   dev 65 / 280、字の左端が dev で 25px 右だった（記録 `pa-verify-assets/A/8389-規則-0925/`）。
	   この区画を持つのは旧デザイン 13 店のうち大宮・船橋・京都・神戸の 4 店だけである
	   （移行元の携帯版の型紙で `notes-01` を数えた）。
	   🚨 番号は移行元と同じく `:nth-of-type` で振る（移行元は 8 番まで持つ）. */
	.pa-branch-area1 .page-branch .notes-01 {
		display: block;
		position: relative;
		margin-left: 0;
		margin-right: 0;
	}

	.pa-branch-area1 .page-branch .notes-01 dt {
		display: none;
	}

	.pa-branch-area1 .page-branch .notes-01 dd {
		position: relative;
		width: 100%;
		box-sizing: border-box;
		padding: 0 0 0 2em;
	}

	.pa-branch-area1 .page-branch .notes-01 dd::before {
		content: "※";
		position: absolute;
		left: 0;
		top: 0;
	}

	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(1)::before { content: "※1"; }
	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(2)::before { content: "※2"; }
	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(3)::before { content: "※3"; }
	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(4)::before { content: "※4"; }
	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(5)::before { content: "※5"; }
	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(6)::before { content: "※6"; }
	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(7)::before { content: "※7"; }
	.pa-branch-area1 .page-branch .notes-01 dd:nth-of-type(8)::before { content: "※8"; }

	.pa-branch-area1 .page-branch .value {
		font-size: 21px; /* 移行元パソコン版 30px */
	}

	.pa-branch-area1 .page-branch .value small {
		font-size: 13px; /* 移行元パソコン版 18px */
	}

	.pa-branch-area1 .page-branch .button-01 {
		font-size: 13px; /* 移行元パソコン版 14px */
	}

	.pa-branch-area1 .page-branch .button-02 {
		font-size: 13px; /* 移行元パソコン版 14px */
	}

	.pa-branch-area1 .page-branch .parent-btn-02 {
		font-size: 14px; /* 移行元パソコン版 16px */
	}

	/* --- 事例: 成婚事例の見出し・名前・経歴・評点・口コミ。 --- */

	.pa-branch-area1 .page-branch .case-leadcopy {
		line-height: 1.4; /* 移行元パソコン版 24px */
	}

	.pa-branch-area1 .page-branch .case-name {
		font-size: 12px; /* 移行元パソコン版 13px */
	}

	.pa-branch-area1 .page-branch .case-name strong {
		font-size: 20px; /* 移行元パソコン版 22px */
	}

	.pa-branch-area1 .page-branch .case-career {
		font-size: 12px; /* 移行元パソコン版 13px */
		line-height: 1.4; /* 移行元パソコン版 1.2 */
	}

	.pa-branch-area1 .page-branch .case-score-title {
		font-size: 12px; /* 移行元パソコン版 13px */
	}

	.pa-branch-area1 .page-branch .case-review-name {
		font-size: 14px; /* 移行元パソコン版 15px */
	}

	.pa-branch-area1 .page-branch .case-review-star {
		font-size: 16px; /* 移行元パソコン版 20px */
	}

	/* --- 流れ: ご入会からの流れの見出しと時間。 --- */

	.pa-branch-area1 .page-branch .flow-title {
		font-size: 15px; /* 移行元パソコン版 20px */
	}

	/* 手順の題（Bug #4799）。移行元スマホ版は**パソコン版と値が違う**
	   （写し `sp/branch/css/style_area1.css` 2097〜2124 行）。番号の重ね方は同じで、
	   大きさ・寄せ方・余白だけが小さくなる. */
	.pa-branch-area1 .page-branch .flow-title-02 {
		margin: 0 0 5px; /* 移行元パソコン版 10px 0 */
	}

	.pa-branch-area1 .page-branch .flow-title-02 h4 {
		padding-left: 23px; /* 移行元パソコン版 30px */
		font-size: 15px; /* 移行元パソコン版 16px */
	}

	.pa-branch-area1 .page-branch .flow-title-02 span {
		left: -12px; /* 移行元パソコン版 -15px */
		font-size: 45px; /* 移行元パソコン版 60px */
	}

	.pa-branch-area1 .page-branch .flow-time {
		font-size: 12px; /* 移行元パソコン版 14px */
	}

	.pa-branch-area1 .page-branch .flow .flow-notes {
		line-height: 1.4; /* 移行元パソコン版 1.6 */
	}

	/* --- コースと料金: Issue #4590 の本文が挙げた 2 つ（コースの明細と注記）。 --- */

	.pa-branch-area1 .page-branch .course-detail {
		font-size: 11px; /* 移行元パソコン版 13px */
	}

	.pa-branch-area1 .page-branch .course-notes {
		font-size: 10px; /* 移行元パソコン版 11px */
	}

	/* --- 店舗情報: 店舗情報の表。 --- */

	.pa-branch-area1 .page-branch .about-info {
		font-size: 13px; /* 移行元パソコン版 14px */
	}

	.pa-branch-area1 .page-branch .about-info td small {
		font-size: 10px; /* 移行元パソコン版 11px */
	}
}


/* 移行元のパンくず。旧デザインのページは本文として取り込む範囲の中に持っている. */
.pa-branch__content .path {
	margin: 0 0 var(--pa-space-sm);
	font-size: 11px;
}

/* エリアページの「出典：」の後ろの出典名（Bug #5806）。移行元はこの文字を HTML に
   持たず、**CSS の `content` で入れている**。投入は CSS を運ばないので、dev では
   「出典：」だけが出て後ろが空になる。

   移行元の指定（どちらも本番から取得して写しと md5 が一致・2026-09-11）:

     パソコン版 `/css/page_event_top.css`（md5 fe33d6b9cd69bf3541cb37ca17e7c713）
       `#event_top .areaseoTxt .tar:after { content: "総務省統計局「日本の統計2014」"; }`
     携帯版 `/sp/css/style.css`（md5 daa325795a49a229377ecf4e84c5aed3）
       `.areaseoTxt .tar:after { content: "総務省統計局「日本の統計2014」"; }`

   🚨 **幅の節の中へ入れない。**移行元はパソコン版と携帯版の両方で同じ出典名を
   入れており、dev は 1 つのページを両方の幅で出す。片方の幅だけに置くと、
   都道府県の一覧が反対の幅で「出典：」だけになる。

   実測（移行元の本番・全数・1 回ずつ・2026-09-11・すべて応答 200・転送 0・着地一致）:

     パソコン版 56 本 … 説明文（`div.areaseoTxt`）と `<p class="tar">出典：</p>` が
       **50 本**に 1 件ずつ。無いのは東北・関東・中部・関西・中国・九州の **6 本**。
       56 本とも `#event_top` と `css/page_event_top.css` を持つ
     携帯版 55 本 … 同じ組が **47 本**（都道府県の一覧）に 1 件ずつ。無いのは
       エリアの一覧 **8 本**（中部・中国・北海道・関西・関東・九州・東北・東京）。
       55 本とも `/sp/css/style.css` を読み込む

   **例外は 1 本も無い。**四国はエリアの一覧を移行元が持たないので携帯版は 55 本、
   パソコン版は `branch/tohoku/index_tohoku.html` が 1 本多い。

   エリアの一覧 8 ページの携帯幅は、この上の `body.pa-branch-area-index` の規則
   （Bug #5803）が説明文ごと隠すので、この指定は届かない。移行元の携帯版も
   同じ 8 ページで説明文を出さない。

   🚨 **素の `.tar` へ当てない。**`.tar` は会社情報のページなども使う
   （このファイルの `:is(.entry-content, .page-content__body) .tar`）。
   `.areaseoTxt` を通さずに `content` を当てると、支店紹介と関係ないページへ
   出典名が出る。検査が「ほかに当てる規則が無いこと」を見張る. */
.pa-branch__content .areaseoTxt .tar::after {
	content: "総務省統計局「日本の統計2014」";
}

/* 出典の行の字の大きさ（Bug #5879）。移行元は説明文の本体より 2px 小さくしている。

   移行元の指定（どちらも本番から取得して写しと md5 が一致・2026-09-12）:

     パソコン版 `/css/page_event_top.css`（md5 fe33d6b9cd69bf3541cb37ca17e7c713）
       `#event_top .areaseoTxt .tar { font-size: 11px; }`
     携帯版 `/sp/css/style.css`（md5 daa325795a49a229377ecf4e84c5aed3）
       `.areaseoTxt .tar { font-size: 11px; }`

   🚨 **幅の節の中へ入れない。**移行元はパソコン版と携帯版の両方で 11px にしている
   （上の 2 つの指定）。下の余白だけが幅で違うので、そちらはパソコン幅の節へ置く。

   🚨 **素の `.tar` へ当てない。**`.tar` は支店紹介以外も使う。dev の全数で数えると
   （投稿タイプ 10 種を `class="tar"` で探した・2026-09-11 23:4x）、`.areaseoTxt` を
   通さずに使うのは固定ページ 7 本 9 回である。

     `/introduce/movie/movie_01/` `movie_02/` `movie_03/` … 動画の下の説明
     `/introduce/movie2/` `/introduce/movie2/movie_02/` `movie_03/` … 同上
     `/company/release/` … プレスリリースの結び（「以上」）

   支店紹介の 50 本はすべて `.areaseoTxt` の中で、外に 1 本も無い。

   🚨 **`.areaseoTxt` 側の字の大きさには負けない。**パソコン幅の
   `#event_top .areaseoTxt`（Bug #5807）と携帯幅の器（Bug #5866）はどちらも
   `font-size: 13px` を持つが、あれは**器そのもの**に当たる指定で、`.tar` は
   受け継ぐだけである。直に当てるこの規則が勝つ. */
.pa-branch__content .areaseoTxt .tar {
	font-size: 11px;
}

/* 移行元は 3 世代とも div.page-branch で全体を包む。移行元 style_area1.css は
   ここに overflow-x: hidden を置いており、横にはみ出す飾りを隠していた.

   ------------------------------------------------------------------
   区画を画面いっぱいに広げる（Task #3228）
   ------------------------------------------------------------------
   移行元の店舗の詳細ページは「**区画は画面いっぱい・その内側の器で 1,100px に
   絞る**」作りである。区画（.l-section / section.leadcopy / .content-white-bg /
   .content-beige-bg / section.content *）が地色を左右の端まで敷き、中身だけが
   1,100px の柱に収まる。

   dev はこれを「区画そのものをテーマの柱（.page-content__body の 1,100px）に
   収める」形に置き換えていたため、**地色が 1,100px で切れていた**。
   2026-09-04 に本番 www.p-a.jp を取得して測った差（幅 1440px）:

     銀座店（新デザイン） 移行元 .page-branch 1440 @0 対 dev 1100 @170
     福岡店（改装版）     移行元 .page-branch 1440 @0 対 dev 1100 @170
     大宮店（旧デザイン） 区画が 1440 @0 対 1100 @170（9 区画すべて）

   🚨 **この直しはページ全体の高さの差を動かさない。**銀座店の高さは移行元 15,349px に
   対し dev は直す前 24,099px・直した後 24,265px で、縮んでいない（幅 375px も
   26,229 → 26,183px でほぼ変わらない）。高さの差の原因は幅ではなく、主役の絵の
   組み方（移行元は 1 枚を背景で敷き、dev は縦に積む。Issue #2710）と、区画の中身の
   写し漏れ（Issue #2707）である。**残る 8,900px の差を幅の問題として調べ直さないこと.**

   ここで .page-branch を画面いっぱいへ戻す。区画は .page-branch の子なので、
   1 つの指定で 3 世代すべてに行き渡る。広げる書き方は、このファイルの
   .pa-fullwidth と同じ「柱の中央から画面幅へ開く」形に揃える。

   **内側の柱の幅は今と変わらない。**テーマの柱はすでに 1,100px で、移行元の
   .l-container / .content-wrap も 1,100px だからである。つまりこの直しは
   「地色の帯を端まで伸ばす」だけで、中身を割り算して列を作っている箇所
   （下の .pa-profile-legacy-compat の区画が calc() で書いている）の前提を
   動かさない。

   当て先を .pa-branch__content .page-branch に絞ってあるのは、次の 2 つを
   巻き込まないためである。
     1. **地域の一覧 8 ページ**（.page-branch を持たない）。2026-09-04 の実測で
        区画の幅は移行元と既に一致している（section.introduce_top 1270 @85・
        div.box_support 1280 @80 が両側で同値）
     2. **デートスポットの詳細 3,328 ページ**。本文のクラスが .entry-content だけで
        .pa-branch__content が付かない（single-branch.php の本文のクラスの分岐）

   切り落としは残す。100vw は縦スクロールバーの幅を含むため、バーが出ている環境では
   画面より数 px 広くなる。ここで切り落とす。

   🚨 **切り落としは `hidden` でなく `clip` で行う（Bug #5811）。**CSS の仕様上、
   `overflow-x` に `visible` 以外を置くと `overflow-y` の算出値が `visible` から
   **`auto` へ変わる**ため、`hidden` だとこの器が**巻き取りの器**になる。すると
   中の `position: sticky`（新デザインのコンシェルジュの写真・`.concierge-profile`）が
   ページの巻き取りに反応せず、追尾しなくなる。`clip` は巻き取りの器を作らないので
   切り落としだけが残る。

   すぐ上の `.site-main:has(.pa-branch__content .page-branch)` が同じ理由で `clip` を
   選んでおり（注釈に「貼り付きを壊さない」と書いてある）、こちらだけ `hidden` のまま
   だった。実測は `pa-verify-assets/branch-survey/検算-5811-5812-新デザイン-1440.mjs`
   （リポジトリの外）に残す. */
/* 🚨 **`100vw` をやめた（Bug #6555・2026-09-16）。**上の注釈は `100vw` を使っていた
   ころの判断である。いまは外側の器（`.single-content--branch-store`）の絞りを
   旧デザインと改装版の店舗詳細だけ外してあるので、親が `.site-main` と同じ幅になり、
   `width: 100%` で画面いっぱいに届く。縦スクロールバーの幅を含まないぶん、
   祖先の切り落としも要らなくなった。

   `overflow-x: clip` は残す。これは移行元の `.page-branch { overflow-x: hidden }`
   （`branch/css/style_area1.css` 16〜19 行）を写したもので、`100vw` とは別の理由で
   置かれている。主役の絵を広げるページでは `is-mainvisual-fullbleed` が付いて
   `visible` に戻る（このファイルの主役の絵の節）. */
.pa-branch__content .page-branch {
	width: 100%;
	margin-inline: 0;
	overflow-x: clip;
}

/* 移行元の内側の幅。旧デザイン .l-container は 1,100px 固定
   （branch/css/style_area1.css 157〜162 行）、新デザインと改装版の .content-wrap は
   最大 1,100px で、携帯幅は左右 2rem の外余白（branch/assets/css/style.css
   161〜168 行）である。上で区画を画面いっぱいへ戻したので、絞るのはこの器の役目に
   なる。

   .page-branch を前置して詳細度を 3 にしてあるのは、この節の下にある
   .pa-profile-legacy-compat の器ごとの幅（.feature.l-container の 920px 等）を
   打ち消さないためである（あちらも詳細度 3 で、後に書いてあるので勝つ）。

   🚨 **ただし、すぐ下の固定幅の規則（Bug #6555）は `body` を前置しているので、
   器ごとの幅より詳細度が高い。**`.feature.l-container` の 920px はこの固定幅に
   負けていた（Bug #9519）。器ごとの幅は、固定幅に勝つ書き方で別に置き直す. */
.pa-branch__content .page-branch .l-container,
.pa-branch__content .page-branch .content-wrap {
	width: auto;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

/* 旧デザインと改装版の店舗詳細だけ、柱を 1,100px の固定へ戻す（Bug #6555）。

   移行元は `.l-container` が 1,100px の固定で（`branch/css/style_area1.css`
   157〜162 行）、画面がそれより狭いときは横スクロールで読む作りである。
   上の `max-width` だけだと、1,100px に届かない画面で柱が「画面幅」まで縮み、
   中の 2 列組みや表が移行元と違う並びになる（ユーザー決定 D288「移行元に合わせる」）。

   🚨 **携帯幅には当てない。**移行元のスマホ版は別ページで、柱に幅を与えず
   左右 20px の余白だけを持つ（`sp/branch/css/style_area1.css` 145〜149 行）。
   区切りの 749px / 750px は、このファイルが既に使っている値にそろえた。

   🚨 **新デザインの 7 店は対象外。**移行元に固定幅の指定が無いので
   `body.pa-profile-legacy-compat` を前置して外す. */
@media (min-width: 750px) {
	body.pa-profile-legacy-compat .pa-branch__content .page-branch .l-container,
	body.pa-profile-legacy-compat .pa-branch__content .page-branch .content-wrap {
		width: 1100px;
		max-width: none;
	}
}

/* ページ先頭へ戻る領域の幅（Bug #6555）。

   `.page_topArea` はこのファイルの記事・固定ページ共通の節で
   `max-width: 1100px; margin: 0 auto` を持つだけで、**親の幅に頼っている**。
   外側の器の絞りを外すと親が画面の幅まで広がるため、1,100px に届かない画面で
   この領域だけ画面いっぱいに伸び、移行元より左右の余白を失う。

   パソコン幅は柱と同じ 1,100px の固定にする（移行元に合わせる）。
   携帯幅は**箱の形を変えない**書き方にした。外側の器の内余白 20px が無くなったぶんを
   自分で持つので、幅 375px で中身 335px・左端 20px と、いままでと 1px も変わらない。

   🚨 門に `:has(.pa-branch__content .page-branch)` を付けてあるのは、上の外側の器と
   同じ理由である（東京インフォメーションを巻き込まない）。

   実測（`pa-verify-assets/D2/out-6555-pagetop-0916/`）: 幅 1440px で 1100@170、
   幅 375px で 335@20 と、どちらも現状と同じ値に戻った. */
@media (min-width: 750px) {
	body.pa-profile-legacy-compat .single-content--branch-store:has(.pa-branch__content .page-branch) .pa-branch__content > .page_topArea {
		width: 1100px;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 749px) {
	body.pa-profile-legacy-compat .single-content--branch-store:has(.pa-branch__content .page-branch) .pa-branch__content > .page_topArea {
		width: calc(100% - 40px);
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}
}

/* 携帯幅の左右の余白。移行元は .content-wrap に margin: 0 2rem を置く。
   移行元の 749px 以下の 1rem は 2.5445292621vw なので、2rem は
   calc(2 * 2.5445292621vw) = 幅 375px で 19.08px になる（実測でも移行元の
   見出しは 336.84px 幅・左端 19.08px だった）。

   🚨 **世代で値が違うので分けて書く。**移行元のスマホ版は、新デザインが 2rem
   （幅 375px で 19.08px）、旧デザインと改装版が **20px の固定**である
   （`sp/branch/css/style_area1.css` 145〜149 行の `.l-container` と
   `sp/branch/css/style_renew.css` 157〜160 行の `.content-wrap`）。
   幅 375px で測った移行元は、新デザインが中身 336.84px @19.08、旧デザインが
   中身 335px @20 だった。

   🚨 **`.page-branch` を 100vw にしたので、外側の器の内余白から抜ける。**
   旧デザインと改装版は、外側の器
   （`.pa-profile-legacy-compat .single-content--branch-store`）が携帯幅で左右
   20px の内余白を持つ。全幅にする前はその内余白が中身の幅を決めていたが、
   全幅にした後は `.page-branch` がそれを飛び越えるため、**内側の器に余白を
   書かないと中身が画面の端に付く**（実測で 375px @0 になった。移行元は 335px @20）。
   二重にはならないので、ここで移行元と同じ値を置く. */
@media (max-width: 749px) {
	/* 新デザイン 4 店。移行元 .content-wrap の margin: 0 2rem. */
	body.pa-profile-new .pa-branch__content .page-branch .content-wrap {
		max-width: none;
		margin-inline: calc(2 * 2.5445292621vw);
	}

	/* 旧デザイン 14 店と改装版。移行元のスマホ版は左右 20px の固定. */
	body.pa-profile-legacy-compat .pa-branch__content .page-branch .l-container,
	body.pa-profile-legacy-compat .pa-branch__content .page-branch .content-wrap {
		max-width: none;
		margin-inline: 20px;
	}
}

/* 画面の幅で出し分ける改行（Bug #3230）。移行元は `.visible-lg` / `.visible-md` /
   `.visible-sm` の 3 つを、境目 1024px と 750px で出し分ける（写し
   public/branch/assets/css/style.css 62〜92 行）。**投入した本文はこの名前のまま
   `<br>` を持っている**が、テーマは同じ働きを別の名前（.pa-hr-bottom__br--*）で
   持っていたため、店舗ページでは 1 つも当たらず**携帯用の改行がパソコン幅でも
   入っていた**。ページ内遷移ボタンの帯が移行元の 42.19px に対して 66.38px（= 2 行
   ぶん）に伸びていたのがこれである。

   移行元の指定は全ページに当たる形だが、ここでは店舗の詳細ページに絞る。ほかの
   区分の本文にも同じ名前が入っている可能性があり、この Task の範囲を超えるため. */
@media (min-width: 1024px) {
	.pa-branch__content .page-branch .visible-md,
	.pa-branch__content .page-branch .visible-sm {
		display: none;
	}

	.pa-branch__content .page-branch .visible-lg {
		display: inherit;
	}
}

@media (min-width: 750px) and (max-width: 1023px) {
	.pa-branch__content .page-branch .visible-lg,
	.pa-branch__content .page-branch .visible-sm {
		display: none;
	}

	.pa-branch__content .page-branch .visible-md {
		display: inherit;
	}
}

@media (max-width: 749px) {
	.pa-branch__content .page-branch .visible-lg,
	.pa-branch__content .page-branch .visible-md {
		display: none;
	}

	.pa-branch__content .page-branch .visible-sm {
		display: inherit;
	}
}

.pa-branch__content .l-section,
.pa-branch__content section {
	margin-bottom: var(--pa-space-md);
}

/* 移行元は回り込み（float）で 2 列を作る箇所が多い。回り込みを解除する要素が
   移行の過程で失われても崩れないよう、清算を付けておく. */
.pa-branch__content .clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* 移行元の表は幅を px で決め打ちしている。画面幅に合わせて縮むようにする. */
.pa-branch__content table {
	width: 100%;
	border-collapse: collapse;
}

.pa-branch__content th,
.pa-branch__content td {
	padding: var(--pa-branch-cell-space) 0;
	border-bottom: 1px solid var(--pa-color-border);
	text-align: left;
	vertical-align: top;
	line-height: 1.6;
}

.pa-branch__content th {
	width: var(--pa-branch-term-width);
	color: var(--pa-color-accent);
	font-weight: 700;
}

/* 地図の埋め込み（iframe）は移行時に落ちる。残る「大きな地図で見る」のリンクを
   押しボタンの形にして、地図の代わりの導線として目立たせる。

   🚨 この措置の当て先から `.map-link` を外した（Task #3438）。移行元の店舗ページ
   148 本を走査すると、まとめてあった 2 つの名前は別々のページにしか出ない。

   | 名前 | 出るページ |
   |---|---|
   | `map-link` | 4 本（新デザインの 4 店舗だけ） |
   | `button-01` | 27 本（新デザインには 1 本も無い） |

   新デザインの 4 店舗は地図が実際に出ている（dev の銀座店の HTML に Google マップの
   `<iframe>` が 1 個ある）。地図が出ているページに「地図の代わりのボタン」まで出る
   のは移行元と違う姿なので、素の文字リンクへ戻した（下の .map-link の節）。
   `.button-01` は旧デザインの 27 ページ向けの措置としてそのまま残す. */
.pa-branch__content .button-01 {
	display: inline-block;
	margin-top: 12px;
	padding: 12px 32px;
	background-color: var(--pa-color-button-bg);
	color: var(--pa-color-button-text);
	font-size: 14px;
	text-align: center;
	text-decoration: none;
}

.pa-branch__content .button-01:hover,
.pa-branch__content .button-01:focus-visible {
	color: var(--pa-color-button-text);
	opacity: 0.8;
}

/* ページの中の飛び先のうち、本文に移行元の `.navigation-list` が残っている場合の
   見え方。移行元の帯の絵を持ち込まないため、枠線で表す代替の実装である。

   🚨 **新デザインの `.page-nav .nav-list` はここから外した（Bug #3230）。**
   移行元の新デザインは帯の絵を使わず、白い帯と半透明の内側の器で作っているので
   代替に置き換える理由が無く、下の「新デザインのページ内遷移ボタン」の節で
   移行元どおりに写してある。ここに残しておくと `flex-wrap: wrap` の 1 行だけが
   生き残り、移行元（既定の `nowrap`）と違って折り返す状態になる。
   `.nav-list`（素の名前）が出るのは新デザインのページだけで、旧デザインと改装版の
   帯はテーマが `.pa-branch__anchor-nav-list` という別の名前で出す（採った HTML 6 本を
   クラス名の単位で数えて確認。素の `nav-list` は銀座店と横浜店にしか無い）. */
.pa-branch__content .navigation-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 12px;
	list-style: none;
	margin: 0 0 var(--pa-space-sm);
	padding: 0;
}

.pa-branch__content .navigation-list a {
	display: block;
	padding: 8px 16px;
	border: 1px solid var(--pa-color-accent);
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.pa-branch__content .navigation-list a:hover,
.pa-branch__content .navigation-list a:focus-visible {
	background-color: var(--pa-color-accent);
	color: var(--pa-color-button-text);
}

/* ==============================================================
 * 移行してきた本文（旧デザイン 24 店舗・改装版 9 店舗）
 * 写し元: public/branch/css/style_area1.css と style_renew.css
 * ============================================================== */

/* 主役の絵。移行元は 3 枚の写真を背景画像として重ね、順に入れ替えて見せる。
   背景画像は CSS の中にあり移行してこないため、空の箱になる。隠す。

   ここから .mainvisual-shopname までは、テーマの JavaScript
   （assets/js/branch-visual.js）が働かないときの見え方である。働いたときは、
   下の「主役の絵をスライド表示にする」の指定が上書きする。

   .pa-profile-legacy-compat を前置してあるのは、新デザインの 4 店舗（銀座・
   新宿・静岡・岡山）を対象から外すためである。あちらは移行後も新デザインを
   維持する取り決めなので、いまの見え方を変えない（Bug #1641）。

   とくに .mv-blur-layer は、旧デザインの部品ではなく新デザイン専用の部品で
   ある（移行元 public/branch/assets/css/style.css の 508〜531 行にだけ定義が
   あり、使っているのも新デザインの 4 店舗の HTML だけである）。ここに並んで
   いたため、隠す指定が新デザインの 4 店舗にも当たっていた。移行元での実測
   では display: block のまま出ており、背景も枠も影も持たず、ぼかしの指定も
   コメントで止めてあるため、絵は 1 つも描かない空の箱である。したがって
   新デザイン側に隠す指定を置き直す必要はなく、外すだけでよい. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-img,
.pa-profile-legacy-compat .pa-branch__content .mv-blur-layer {
	display: none;
}

/* 移行元が読み込みの先回りに使う画像置き場。移行元は高さ 0 で隠しているが、
   ここには店舗の写真の実体が入っている。唯一残る絵なので、写真として並べる。
   スライド表示に切り替わったときは、この置き場の画像が背景画像の素材になり、
   置き場そのものは隠れる. */
.pa-branch__content .mainvisual-assets {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin-bottom: var(--pa-space-sm);
}

.pa-branch__content .mainvisual-assets img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* キャンペーンの帯（Bug #4489）。
   写し元: public/branch/css/style_area1.css の 701〜711 行（パソコン版）と
           public/sp/branch/css/style_area1.css の 747〜753 行（携帯版）。

   移行元は帯を中央寄せにして上下に 25px の空きを置き、**絵の幅を 832px までに
   留める**。dev はこの当たり先を 1 本も持っていなかったため、絵が器の幅
   （1,440px）まで伸びていた（実測: 移行元 832 × 184px 対 dev 1,439.95 × 318.45px・
   帯の高さ 190px 対 324.45px）。

   🚨 **`.pa-branch-area1` で絞る。**`.campaign` は**銀座店と同じ組み方の 6 店も
   持つ**が、あちらは別の指定（`branch/assets/css/style.css` の 652 行・地色 #fff と
   `clamp()` の内余白）で組んでいる。範囲を絞らないとあちらの見え方が変わる。

   携帯幅の `max-width: 100%` は書かない。テーマの初期化（`img { max-width: 100%;
   height: auto }`・このファイルの 917 行）が同じ値を当てており、移行元スマホ版の
   指定と結果が一致するためである. */
.pa-branch-area1 .page-branch .campaign {
	width: 100%;
	margin: 25px auto;
	text-align: center;
}

@media (min-width: 750px) {
	.pa-branch-area1 .page-branch .campaign img {
		max-width: 832px;
	}
}

/* コースと料金のご案内の区画（Bug #4494）。
   写し元: public/branch/css/style_area1.css の 1628〜1780 行（パソコン版）と
           public/sp/branch/css/style_area1.css の 1753〜1890 行（携帯版）。

   dev はこの区画の当たり先を 1 本も持っていなかった。そのため**移行元が横に
   並べる（flex）ものを dev が縦に積み**、コースの帯の高さが 471px 対 1,872px
   （+1,401px）になっていた（幅 1440px の実測）。区画そのものの高さの差は
   14 店すべてで +1,368.18〜+1,368.20px である。

   **携帯幅の値を素の状態に置き、パソコン幅の値を min-width: 750px で上書きする。**
   移行元はパソコン版とスマホ版で別のファイル・別の値を持ち、dev は 1 つのページを
   幅で作り替えるためである。

   🚨 **写したのは移行元の当たり先 14 本のうち 13 本である**（司令塔の裁定 537）。
   `.course-price thead th.course-price-th-shop`（移行元は `height: 44px`）は写さない。
   **当たる要素が、移行元パソコン版・移行元スマホ版・dev の 3 つとも 14 店すべて
   0 個だった**（道具は `pa-verify-assets/branch-survey/count-course-targets.mjs`。
   移行元 28 回・dev 24 回とも応答 200）。写しても見た目は動かず、検査も同語反復に
   なる。同じ判断の先例がこのファイルに在る（`.course-price tbody .gray_premium th`
   の節）。

   🚨 **移行元スマホ版は料金表を 3 つに分けている。パソコン版は 1 つである。**
   そのため次の 5 本には**移行元スマホ版に写し元の指定がそもそも無く、当たる要素も
   0 個**だった。よって min-width: 750px の中だけに置く。
     `.course-banner.course-banner02` と同 ` a`
     `.course-price tbody td.course-price-td-all`
     `.course-price tbody .course-price-all` と同 `-inner`

   🚨 **`border-collapse: collapse` は写さない。**移行元は
   `.course-price tbody td.course-price-td-all` に書いているが、`border-collapse` は
   表（table）にしか効かず、セルに書いても無視される。dev の表は本文の共通の規則が
   すでに `border-collapse: collapse` を当てている。

   🚨 **`.course-detail dt` の `background: none` も写さない。**移行元スマホ版だけが
   持つが、**両側とも背景の絵は none・地色は rgba(0, 0, 0, 0)** で、打ち消す相手が
   無かった（幅 375px で浜松店の 4 個ずつを実測）。

   `.pa-branch-area1` で絞るのは、既存の 2 節（字の色・字の大きさ）と同じ形に
   そろえるためである。**dev の 24 店で数えた実測では、銀座店と同じ組み方の 6 店・
   札幌店と同じ組み方の 4 店に `.course-*` の当たり先は 1 つも無い**ので、絞りを
   外してもいまは事故は起きない。それでも印を付けて、当たる範囲を字面で読み取れる
   ようにする。

   字の大きさ・行送り・字の色は、この節では触らない。既存の 2 節が持っている
   （携帯幅で移行元スマホ版と食い違っている件は Bug #4590 が受け持つ）. */
.pa-branch-area1 .page-branch .course-leadcopy {
	margin: 20px 0;
}

/* 🚨 **外余白は一括で書く。**移行元は `margin-bottom` だけを書いているが、移行元は
   別に初期化（`.page-branch dl { margin: 0 }`）で左右と上を 0 にしている。dev には
   その初期化が無く、閲覧環境の既定（`dl { margin: 1em }`）で左右と上に 13px
   （字 13px の 1em）が付き、**明細の幅が 1,100px 対 1,074px（−26px）になっていた。**
   一括で書けば、移行元と同じ計算後の値（上 0・左右 0・下だけ）になる. */
.pa-branch-area1 .page-branch .course-detail {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 20px;
}

.pa-branch-area1 .page-branch .course-detail dd,
.pa-branch-area1 .page-branch .course-detail dt {
	margin-bottom: 10px;
}

.pa-branch-area1 .page-branch .course-detail dt {
	width: 65px;
}

.pa-branch-area1 .page-branch .course-detail dd {
	width: calc(100% - 65px);
}

.pa-branch-area1 .page-branch .course-banner {
	position: relative;
}

.pa-branch-area1 .page-branch .course-banner a {
	display: block;
}

.pa-branch-area1 .page-branch .course-banner img {
	width: 100%;
}

.pa-branch-area1 .page-branch .course-notes {
	margin-bottom: 20px;
	text-align: right;
}

/* 携帯幅だけが持つ 2 つ。**素の状態に置かず、幅の条件の中に入れる。**
   移行元パソコン版はこの 2 つを持たないため、素の状態に置くとパソコン幅で
   打ち消しが要る。打ち消しを増やすより、当たる幅を限る方が読みやすい。

   🚨 **行送りを素の状態に置いてはいけない理由がもう 1 つある。**検査
   `tests-retired/pa-cms-branch-area1-color/run-branch-area1-color.php` の節 6 は、
   **素の状態で行送り・太さ・字の大きさを持つ規則の本数**（62 本）を見張っている。
   その 62 本は移行元**パソコン版**の写しの数である。**携帯版由来の行送りを素の状態へ
   足すと 63 本になって落ちる**（実際に落ちた）。幅の条件の中に入れれば数に入らない. */
@media (max-width: 749px) {
	.pa-branch-area1 .page-branch .course-banner a {
		margin-bottom: 10px;
		line-height: 0;
	}
}

@media (min-width: 750px) {
	.pa-branch-area1 .page-branch .course-leadcopy {
		margin: 60px 0;
	}

	.pa-branch-area1 .page-branch .course-detail {
		margin: 0 0 40px;
	}

	.pa-branch-area1 .page-branch .course-detail dt {
		width: 90px;
	}

	.pa-branch-area1 .page-branch .course-detail dd {
		width: calc(100% - 90px);
	}

	.pa-branch-area1 .page-branch .course-banner {
		display: flex;
		justify-content: space-between;
		width: 724px;
		margin: 0 auto;
	}

	.pa-branch-area1 .page-branch .course-banner a {
		width: 348px;
	}

	/* 2 枚めの帯とその中のリンクは同じ幅なのでまとめて書く（移行元は 2 本に分けている）. */
	.pa-branch-area1 .page-branch .course-banner.course-banner02,
	.pa-branch-area1 .page-branch .course-banner.course-banner02 a {
		width: 537px;
	}

	.pa-branch-area1 .page-branch .course-notes {
		margin-bottom: 30px;
	}

	.pa-branch-area1 .page-branch .course-price tbody td.course-price-td-all {
		border-right: 1px solid #e7eff1;
		border-left: 1px solid #e7eff1;
	}

	.pa-branch-area1 .page-branch .course-price tbody .course-price-all {
		position: relative;
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.pa-branch-area1 .page-branch .course-price tbody .course-price-all-inner {
		text-align: left;
	}
}

/* コースの料金表の枡（Bug #4612）。
   写し元: public/branch/css/style_area1.css の 1694〜1780 行。

   Bug #4494 で区画の並べ方を写したあとも、**料金表の中は行ごとに大きく違っていた。**
   表そのものの差は +6px しか無く、中で打ち消し合っていたので気づきにくい
   （幅 1440px・浜松店の実測）。

   | 行 | 移行元 | dev | 差 |
   |---|---:|---:|---:|
   | 見出しの行 | 80px | 39px | **−41.00** |
   | 1 行め | 140.5px | 167px | **+26.50** |
   | 2 行め | 141px | 167px | **+26.00** |
   | 3 行め | 141px | 135px | **−6.00** |

   🚨 **未写しの当たり先は、名前だけが `main.css` に在った。**地色（`background-color`）は
   先に写されていたため、「末尾のクラス名で `main.css` を探して 0 件のもの」を集める
   やり方では Bug #4494 の 14 本の一覧に入らなかった。**「名前が在る」と「値がそろって
   いる」は別物である。**

   🚨 **本文の共通の表の規則に勝たせる。**本文の表には
   `.entry-content table:not(.pa-form-table) :is(th, td)`（強さ (0,2,2)）が内余白 `0.5em` と
   **四辺の罫線**を当てている。移行元は**下と右だけ**なので、当たり先の強さを (0,3,2) へ
   上げて上から当てる。**共通の側は弱めない**（本文の表を持つ画面すべてに響くため。
   司令塔の裁定 222）。同じ形の先例がこのファイルに在る
   （`.pa-branch__content .page-branch table.about-info :is(th, td)` の節・Bug #4050）。

   🚨 **移行元スマホ版は料金表を 3 つに分けている**（パソコン版は 1 つ）。組みが違うので
   写し方の判断が別になる。**この節はパソコン幅だけに置き、携帯幅は触らない**（携帯幅の
   受入基準は「パソコン幅の指定が漏れていないこと」である）。

   14 店すべてで**表 1 個・見出しの行 1 本・本文の行 3 本**であり、当たり先の個数も
   両側で一致する（道具は `pa-verify-assets/branch-survey/count-course-price-rows.mjs`）。
   そのため直しは 1 通りで 14 店に効く. */
@media (min-width: 750px) {
	/* 罫線と内余白は、共通の表の規則の四辺を打ち消してから移行元の値を置く。 */
	.pa-branch-area1 .page-branch table.course-price :is(th, td) {
		border: 0;
	}

	.pa-branch-area1 .page-branch table.course-price thead th {
		border-right: 1px solid #fff;
		padding: 0;
	}

	.pa-branch-area1 .page-branch table.course-price thead th.course-price-th-name {
		height: 80px;
		padding-left: 30px;
		text-align: left;
	}

	.pa-branch-area1 .page-branch table.course-price thead th.course-price-th-detail {
		width: 180px;
	}

	/* 🚨 **移行元が列の幅を持つのは内訳の 4 列（180px）だけで、コース名の列は表の
	   自動割り付けに任せている。**dev はこのファイルの店舗ページの節が `th` へ
	   150px（`--pa-branch-term-width`・18558 行）を当てるため、**5 列すべてに幅が
	   付いた状態**になる。表の幅 1100px と指定の合計 750px の差 350px が 5 列へ均等に
	   配られ、上の 180px も 227.38px まで太る（実測。移行元は 379.5 / 180 / 180 /
	   180 / 180px、dev は 219.8 / 227.38 / 227.38 / 227.38 / 227.41px）。列の幅が
	   食い違うと字の折り返しが変わり、**行の高さが最大 +88px ずれる。**

	   直し方は、コース名の列と本文の項目名の列から 150px を外して自動へ戻すことである
	   （移行元と同じ状態にする）。**共通の側（`.pa-branch__content th`）は弱めない**
	   （店舗ページの用語の表すべてに響くため。司令塔の裁定 222）。同じ形の先例が
	   このファイルの改装版の料金表に在る（`.pricing-table thead th:not(.th-course)`・
	   28602 行・Bug #4050）。

	   `:not()` の除外はその規則の全宣言に掛かるので、**この規則には `width` 以外を
	   混ぜない**（先例と同じ注意である）. */
	.pa-branch-area1 .page-branch table.course-price thead th.course-price-th-name,
	.pa-branch-area1 .page-branch table.course-price tbody th {
		width: auto;
	}

	.pa-branch-area1 .page-branch table.course-price tbody th {
		padding: 40px 0 40px 30px;
		border-bottom: 1px solid #e7eff1;
		text-align: left;
	}

	.pa-branch-area1 .page-branch table.course-price tbody td {
		padding: 0;
		border-right: 1px solid #e7eff1;
		border-bottom: 1px solid #e7eff1;
		text-align: center;
	}

	/* 行送りは移行元の `normal` に戻す。dev は共通の表の規則が 24px を当てていた。 */
	.pa-branch-area1 .page-branch table.course-price tbody :is(th, td) {
		line-height: normal;
	}

	/* 枡の中の段落の下の空きを消す（移行元 1815〜1818 行・1836〜1839 行）。 */
	.pa-branch-area1 .page-branch .course-price tbody th .text-01,
	.pa-branch-area1 .page-branch .course-price tbody th .title-02,
	.pa-branch-area1 .page-branch .course-price tbody .course-price-all .title-03 {
		margin-bottom: 0;
	}

	.pa-branch-area1 .page-branch .course-price tbody .course-price-all .value {
		margin-bottom: 40px;
	}
}

/* 来店の流れの注記と、親御さまの区画（Bug #4518）。
   写し元: `branch/css/style_area1.css` の 2045・2054・1826・1832 行（パソコン版）と
   `sp/branch/css/style_area1.css` の 2126・2135・1921・1931 行（携帯版）。

   移行元の頁別の CSS のうち、dev に当たり先が 1 本も無いものを機械で数えて残った分である
   （司令塔の裁定 501。キャンペーンの帯は Bug #4489・コースと料金は Bug #4494 が受け持つ）。

   ## ① 来店の流れの注記（`.flow .flow-notes`・14 店）

   移行元は `::before` に「※」を絶対配置で置き、その分だけ左に内余白を取る。実測
   （幅 1440px・14 店すべて・2026-09-08 10:2x）は 1 店あたり 7 か所食い違っていた。

   | 測ったもの | 移行元 | 直す前の dev |
   |---|---|---|
   | 左の内余白 | 12.65px（`1.15em`） | 0px |
   | 下の外余白 | 0px | **25px** |
   | 置き方 | `relative` | `static` |
   | `::before` の中身 | `"※"` | 無し |
   | `::before` の並べ方 | `block` | `inline` |
   | `::before` の置き方 | `absolute 0 0` | `static auto auto` |
   | 枠の幅 | 257.64px | 245px |

   🚨 **下の外余白 25px は共通の本文の字組みである**（`.entry-content p` の
   `margin: 0 0 var(--pa-article-paragraph-gap)`）。Bug #4615 と同じ形なので、**同じやり方で
   注記へ絞って打ち消す。共通の側は弱めない**（裁定 222）。

   🚨 **枠の幅の差は `width: 100%` の有無である。**枠の寸法の数え方が `content-box` なので、
   `width: 100%` ＋ 左内余白 12.65px で器より 12.65px 広くなる（移行元と同じ振る舞い）。

   🚨 **行送りだけ幅で違う**（パソコン版 1.6・携帯版 1.4）。パソコン版の 1.6 は上の節が
   すでに写しているので、ここでは携帯幅の 1.4 だけを足す。

   ## ② 親御さまの区画（`.parent-img` / `.parent-info`・神戸・京都・船橋・大宮）

   Issue は 5 店（＋梅田）と書いているが、**移行元の本番の梅田は 2026-09-08 の作業中に
   新デザインへ作り替わり、この区画を持たなくなった**（当たり先が移行元 0 個・dev 2 個）。
   突き合わせができるのは 4 店である。浜松店はこの区画を持たない（陰性対照）。

   実測（幅 1440px・4 店すべて）: `.parent-img` の幅 400px 対 1100px・置き方 `relative`
   対 `static`、`.parent-info` の幅 650px 対 1100px（高さは 400px 対 288px）。

   🚨 **携帯幅は組み方が別である。**移行元携帯版は `.parent-img` を 40% にして
   `float: left` で回り込ませ、`.parent-info` は幅を持たず `::before` / `::after` で
   回り込みを解除する。パソコン版はどちらも持たない。**幅で分けて写す**. */
.pa-branch-area1 .page-branch .flow .flow-notes {
	position: relative;
	box-sizing: content-box;
	width: 100%;
	margin-bottom: 0;
	padding-left: 1.15em;
}

.pa-branch-area1 .page-branch .flow .flow-notes::before {
	content: "※";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

/* 🚨 **区画の器（`.parent.l-container`）にも当たり先が 1 本も無かった。**Issue は当たり先を
   3 本（`.parent-img` / `.parent-img img` / `.parent-info`）と書いているが、器の規則が無いと
   **2 列が横に並ばず縦に積む**（実測: 器の高さ 移行元 400px 対 dev 744px・並べ方 `flex`
   対 `block`）。器は `.parent-btn-title` 等と同じ「parent」の字を含むため、**名前で探す
   数え方では「在る」と出てしまう**（落とし穴: 名前が在ることと値がそろっていることは
   別である）。写し元は `branch/css/style_area1.css` の 1815 行と
   `sp/branch/css/style_area1.css` の 1917 行で、**上の外余白だけ幅で違う**
   （パソコン版 60px・携帯版 20px）。携帯版は横並びにしない. */
.pa-branch-area1 .page-branch .parent.l-container {
	margin-top: 20px;
}

.pa-branch-area1 .page-branch .parent-img {
	position: relative;
}

.pa-branch-area1 .page-branch .parent-img img {
	width: 100%;
}

@media (min-width: 750px) {
	.pa-branch-area1 .page-branch .parent.l-container {
		display: flex;
		justify-content: space-between;
		margin-top: 60px;
	}

	.pa-branch-area1 .page-branch .parent-img {
		width: 400px;
	}

	.pa-branch-area1 .page-branch .parent-info {
		width: 650px;
	}
}

@media (max-width: 749px) {
	.pa-branch-area1 .page-branch .flow .flow-notes {
		line-height: 1.4;
	}

	.pa-branch-area1 .page-branch .parent-img {
		float: left;
		width: 40%;
		margin: 0 20px 20px 0;
	}

	/* 回り込みの解除。移行元携帯版はこの 2 つで写真の回り込みを閉じる（`sp/…:1921`）. */
	.pa-branch-area1 .page-branch .parent-info::before,
	.pa-branch-area1 .page-branch .parent-info::after {
		content: "";
		display: table;
	}

	.pa-branch-area1 .page-branch .parent-info::after {
		clear: both;
	}
}

/* 置き場の最後に入っているのは店の写真ではなく社章の画像である（移行元の
   ファイル名は mv_logo.png）。写真と同じ大きさで並ぶと浮くので隠す。名前で
   見分けているため、投入で名前が変わったときは並ぶだけで、崩れはしない. */
.pa-branch__content .mainvisual-assets img[src*="logo"] {
	display: none;
}

/* 移行元がスライダーとして重ねて見せていた並び。行頭の点と余白を消す打ち消し
   だけを置く。この打ち消しは、写真を縦に積む静止表示でも、重ねて入れ替える
   スライド表示でも要る。

   かつてここには「動かす JavaScript を持ち込まないので縦に積む」判断を書いて
   いたが、Bug #1998 で覆った。テーマの JavaScript
   （assets/js/branch-visual.js の setUpRenewMainVisualSlider）が移行元と同じ
   スライド表示を作る。重ねる組み方の指定は、このファイルの「冒頭の写真を
   スライド表示にする（Bug #1998）」の節にある。JavaScript が働かないときは、
   この打ち消しだけが残って写真は縦に積まれる.

   幅 min(1380px, 100%) は Bug #2685 で足した。branch-visual.js は写真の元の
   大きさ（1,380 × 480px）を読んで aspect-ratio をこの要素へ直接書く
   （setUpRenewMainVisualSlider の image.naturalWidth/naturalHeight）。この要素の
   幅がそのまま高さの計算に使われるため、器（.mainvisual-slide-area、最大
   1,400px）の幅のままだと高さが移行元の 480px より 7px 高くなる。写真の元の
   大きさで頭打ちにし、margin: auto で器の中央へ戻す. */
.pa-branch__content .mainvisual-slide-list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	width: min(1380px, 100%);
}

.pa-branch__content .mainvisual-text {
	margin-bottom: var(--pa-space-sm);
	text-align: center;
}

/* 店名。移行元は 18px の明朝にロゴの画像を敷く。画像は持ち込まず文字だけにする. */
.pa-branch__content .mainvisual-logo {
	font-family: var(--pa-font-family-serif);
	font-size: 18px;
}

/* 英字の店名。移行元は 1 文字ずつ span に入れて 60px で並べる. */
.pa-branch__content .mainvisual-shopname {
	display: flex;
	justify-content: center;
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: 40px;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

/* ==============================================================
 * 主役の絵をスライド表示にする（Task #1549）
 * 写し元: public/branch/css/style_area1.css の 164〜370 行と 566〜585 行
 *
 * 移行元は 3 枚の写真を背景画像として重ね、25 秒かけて 1 回だけ入れ替える。
 * 1 枚目は寄りから引きへ、2 枚目は右から左へ、3 枚目はまた寄りから引きへ動く
 * （移行元 @keyframes img-01 / img-02 / img-03）。
 *
 * 背景画像は移行元の CSS の中にあり移行してこないため、本文の中の画像置き場
 * （.mainvisual-assets）の画像を素材にして、テーマの JavaScript
 * （assets/js/branch-visual.js）が背景画像として流し込む。流し込めたときだけ
 * .mainvisual に is-slider-ready が付く。付かないときは上の 2 列に並べた静止
 * 表示がそのまま残るので、JavaScript が無い閲覧環境でも写真は見える。
 *
 * 入れ替えの動きは is-anime-start を足したときだけ始まる（移行元と同じクラス
 * 名である）。動きを減らす設定の閲覧者にはこのクラスを付けないので、最も上に
 * 重なる 3 枚目（店舗の写真）が静止したまま出る。
 * ============================================================== */

/* 絵の入る枠。移行元は画面の幅いっぱい（外側の #contents が width: 100%）で、
   写真は 1504×660 である。ここでは本文の柱（1,120px）を跨いで画面の幅まで広げる。

   🚨 **高さは移行元と同じ 2 つの固定値にする**（Bug #4528・司令塔の裁定 640）。
   移行元はパソコン版が 600px（写し `branch/css/style_area1.css` 164 行）、スマホ版が
   240px（写し `sp/branch/css/style_area1.css` 155 行）で、**どちらも幅で変わらない**。
   以前はここを `clamp(200px, 46.875vw, 600px)` として幅に追従させていたが、移行元に
   その姿は無く、意図的変更の台帳にも記載が無かった。**幅 1,280px 以外のすべての幅で
   移行元と食い違う**（実測: 1200px で −37.5px・749px で +111.09px・375px と 320px で
   −40px）。同じ形の未記録の判断を「大原則どおり移行元に合わせる」として直した先例が
   Bug #4591（節の見出しの帯の高さ 400px）に在る。

   これにより**幅 750〜1,280px の見え方が変わる**（絵が画面の幅に対して縦長になる）。
   移行元のパソコン版もこの幅では 600px のままで、横へ送って見る作りである
   （裁定 265・272「中間幅は移行元と同じく横スクロールを許容する」）。

   写真は background-size: cover なので、比が変わっても伸び縮みはせず、左右が
   多めに切り落とされるだけである。

   画面の幅まで広げる指定は 3 つ組で効く。1 つでも欠けると絵の左右が切り落と
   されたり、横スクロールが出たりするので、まとめて扱うこと。
     1. ここの width: 100vw と margin-inline: calc(50% - 50vw)
     2. すぐ下の、祖先の切り落としを外す指定（.is-mainvisual-fullbleed）
     3. body 側の overflow-x: clip（このファイルの「店舗ページの横方向の
        はみ出し」の節）. */
.pa-branch__content .mainvisual.is-slider-ready {
	position: relative;
	height: 240px;
	margin-block: 0;
	overflow: hidden;
	line-height: 0;
}

/* 幅 750px 以上は移行元のパソコン版と同じ 600px（Bug #4528）。素の高さを
   スマホ版の 240px にしてあるので、ここで上書きする. */
@media (min-width: 750px) {
	.pa-branch__content .mainvisual.is-slider-ready {
		height: 600px;
	}
}

/* 移行元 .page-branch の overflow-x: hidden は、絵を画面の幅まで広げると左右を
   切り落としてしまう。スライド表示へ切り替わったときだけ外す（クラスはテーマの
   JavaScript が本文の囲みへ付ける）。横方向のはみ出しを抑える役目は、body 側の
   overflow-x: clip が引き継ぐ。

   .pa-profile-legacy-compat を前置してあるのは、新デザインの 4 店舗（銀座・
   新宿・静岡・岡山）を対象から外すためである。あちらは移行後も新デザインを
   維持する取り決めなので、いまの見え方を変えない（Bug #1641）。

   なお、この 1 本だけは前置しなくても 4 店舗へは届かない。ここは
   is-mainvisual-fullbleed が付いていることを求めるが、それを付ける
   assets/js/branch-visual.js は .mainvisual が見つからないとその手前で
   引き返す作りで、4 店舗の本文に .mainvisual は 1 つも無い（新デザインは
   mv-container / mv-image-box という別の部品で組んである）。それでも前置して
   あるのは、残る 3 本と書き方をそろえ、あとから .mainvisual を持つ形へ変わった
   ときにも漏れないようにするためである. */
.pa-profile-legacy-compat .pa-branch__content.is-mainvisual-fullbleed .page-branch {
	overflow-x: visible;
}

/* 絵の上の 8px の空き（Bug #4528）。移行元の旧デザインは
   `.page-branch .mainvisual` に `margin-top: 8px` を持ち、中身の器の上端から
   8px 下げて絵を置く（写し `branch/css/style_area1.css` 164 行）。移行元の
   スマホ版は `margin: 0` なので（写し `sp/branch/css/style_area1.css` 155 行）、
   幅 750px 以上だけに当てる。

   🚨 **絵の側へ `margin-top: 8px` を書くと効かない。**移行元の器は
   `overflow-x: hidden` を持つため外余白が器の外へ抜けないが、dev はすぐ上の
   規則で `overflow-x: visible` に戻している（絵を画面の幅まで広げるため）。
   その結果、最初の子の上の外余白は**器ごと 8px 下げる**形になり、器の上端から
   絵までの空きは 0 のままになる（実測: 絵へ書いたときの差 −8px）。**器の側の
   内余白で書く**と、移行元と同じ「器の中の 8px」になる。

   実測（神戸店・幅 1440px）: 移行元は器の上端から絵まで 8px、dev は 0px. */
@media (min-width: 750px) {
	.pa-profile-legacy-compat .pa-branch__content.is-mainvisual-fullbleed .page-branch {
		padding-top: 8px;
	}
}

/* 移行元 .mainvisual-container / .mainvisual-img / .mainvisual-text は、いずれも
   枠いっぱいに広がる絶対配置である. */
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-container,
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-img,
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-text {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pa-branch__content .mainvisual.is-slider-ready .mainvisual-container {
	overflow: hidden;
}

/* 🚨 **主視覚の親は、スライドが立ち上がる前から横を切る**（Bug #7413）。

   移行元は幅に関係なく無条件で切っている（移行元スマホ版
   `sp/branch/css/style_area1.css` 173〜175 行）:

       .page-branch .mainvisual-container { overflow: hidden }

   dev は上の `is-slider-ready` の節にしか `overflow: hidden` が無いので、
   **JavaScript がスライドを立ち上げるまで（立ち上がらない場面では最後まで）
   切られない。**主視覚の絵は移行元でも dev でも左右にはみ出す寸法で置かれて
   おり（幅 375 で左 −38・右 450）、移行元はこの器で切って
   `documentElement.scrollWidth` を 375 に保っている。dev は切らないので
   **ページが横に 20px はみ出す**（幅 375 で 395）。

   🚨 **`.mainvisual-assets` は切らない。**あちらは移行元では高さ 0 の
   読み込み置き場だが、dev では**店舗の写真の実体がそこにしか残らない**ので
   意図して見せている（17398 行・21210 行）。切ると写真が消える. */
.pa-branch__content .mainvisual-container {
	overflow: hidden;
}

/* 静止表示では隠していた 3 枚の層を出す。背景画像は JavaScript が入れる. */
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-img {
	display: block;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}

/* 2 枚目だけは横に流すため、枠より広く取る（移行元 .mainvisual-img-02 の
   width: 120% と background-position: 0）. */
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-img-02 {
	width: 120%;
	background-position: 0;
}

/* 🚨 **携帯幅では背景の伸ばし方が `cover` ではなく `100%` である**（Bug #5209）。
 *
 * `cover` は器を埋めるまで拡大してはみ出す分を切り落とす。`100%` は幅を器に
 * 合わせ、高さは絵の比のまま伸ばす。**切り取られる範囲が変わるので絵の見え方が
 * 変わる。**
 *
 * 移行元は幅で使い分けている（2026-09-09 14:07〜14:08 に実ページで実測）。
 *
 *   パソコン幅 1440px … 移行元も dev も `cover`（一致しているので触らない）
 *   携帯幅 375px     … 移行元は `100%`・dev は `cover`
 *
 * 🚨 この区画の絵は **CSS の背景**で描く。`<img>` の一覧で突き合わせると
 * 「dev に絵が無い」と誤って読む（実際に一度そう起票した）。
 *
 * 🚨 当たり先の頭に `.pa-branch-area1` を付ける。横送りの節は旧デザインの店舗
 * すべてに当たるが、移行元スマホ版でこの値を持つのは `sp/branch/css/style_area1.css`
 * を読む 14 店だけである（`tests-retired/pa-cms-branch-mv-sp/` の注記と同じ理由）. */
@media (max-width: 749px) {
	.pa-branch-area1 .pa-branch__content .mainvisual.is-slider-ready .mainvisual-img {
		background-size: 100%;
	}
}

/* 素材として読み終わった画像置き場は隠す（移行元も高さ 0 で隠している）. */
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-assets {
	display: none;
}

/* 店名は絵の中央に重ねる（移行元 .mainvisual-text）. */
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0;
	line-height: var(--pa-line-height-heading);
}

/* 日本語の店名。移行元 .mainvisual-logo は 18px の明朝で、色は #231815、
   左に社章の画像（mv_logo.png）を敷いて 70px ぶん字下げする。社章は本文の
   画像置き場に入っているので、JavaScript が見つけられたときだけ敷く
   （has-mainvisual-logo）. */
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-logo {
	color: #231815;
	font-size: 18px;
}

/* 🚨 **社章の伸ばし方は `auto`（Bug #5253）。**移行元は
   `background: url(../images/area1/mv_logo.png) no-repeat 0` と書くだけで
   `background-size` を持たないので、**絵の元の大きさ（66 × 32px）のまま**描く。
   dev はここに `contain` を書いていた。

   **いまの見た目は変わらない。**器の高さが 32px で絵の高さも 32px なので、`contain`
   でも縮尺は 1 倍になる（`min(321 / 66, 32 / 32) = 1`）。**それでも直すのは、
   `min-height` と組み合わさると器が伸びたときに絵まで一緒に伸びるためである。**
   移行元は `height: 32px` の固定なので伸びない。**同じ姿になる書き方ではなく、
   移行元と同じ書き方にそろえておく。**

   携帯幅は移行元が `background-size: 25.5px 9px` を書いており、下の携帯幅の節が
   その値を置いている（`auto` はそこで上書きされる）. */
.pa-branch__content .mainvisual.is-slider-ready.has-mainvisual-logo .mainvisual-logo {
	min-height: 32px;
	padding-left: 70px;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto;
	line-height: 32px;
}

/* 英字の店名。移行元 .mainvisual-shopname は 60px で、色は #ceb01f である。

   🚨🚨 **字の大きさは移行元と同じ 2 つの固定値にする**（Bug #4717・司令塔の裁定 644）。
   移行元はパソコン版 60px（写し `branch/css/style_area1.css` 436 行）・スマホ版 24px
   （写し `sp/…` 434 行）で、**どちらも幅で変わらない**。以前はここを
   `clamp(32px, 4.7vw, 60px)` として幅に追従させていたが、移行元にその姿は無く、
   意図的変更の台帳にも記載が無かった（主役の絵の高さと同じ形の未記録の判断で、
   裁定 640 が固定へ戻すと決めた）。狭い画面ぶんは下の `@media (max-width: 749px)` が
   24px を当てる. */
.pa-branch__content .mainvisual.is-slider-ready .mainvisual-shopname {
	margin-top: 20px;
	font-size: 60px;
	line-height: 1;
}

/* 1 文字ずつ、少し下（奇数は上）から浮き上がらせる。移行元は文字ごとに
   transition-delay を書き分けていたが、待ち時間は JavaScript が渡す. */
.pa-branch__content .mainvisual.is-slider-ready.is-anime-start .mainvisual-shopname span {
	animation: pa-branch-mv-letter 0.7s ease both;
}

.pa-branch__content .mainvisual.is-slider-ready.is-anime-start .mainvisual-shopname span:nth-of-type(odd) {
	animation-name: pa-branch-mv-letter-odd;
}

.pa-branch__content .mainvisual.is-slider-ready.is-anime-start .mainvisual-img-01 {
	animation: pa-branch-mv-01 25s linear 0s 1 normal;
}

.pa-branch__content .mainvisual.is-slider-ready.is-anime-start .mainvisual-img-02 {
	animation: pa-branch-mv-02 25s linear 0s 1 normal;
}

.pa-branch__content .mainvisual.is-slider-ready.is-anime-start .mainvisual-img-03 {
	animation: pa-branch-mv-03 25s ease-out 0s 1 normal;
}

/* 移行元 @keyframes img-01。寄った絵が浮かび上がりながら引きへ戻る. */
@keyframes pa-branch-mv-01 {
	0%,
	4% {
		opacity: 0;
		transform: scale(1.2);
	}

	12% {
		opacity: 1;
	}

	36% {
		transform: scale(1);
	}

	to {
		opacity: 1;
	}
}

/* 移行元 @keyframes img-02。浮かび上がりながら左へ 10% 流れる. */
@keyframes pa-branch-mv-02 {
	0%,
	28% {
		opacity: 0;
		left: 0;
	}

	36% {
		opacity: 1;
	}

	60% {
		left: -10%;
	}

	to {
		opacity: 1;
		left: -10%;
	}
}

/* 移行元 @keyframes img-03。1 枚目と同じ動きを終盤に置く. */
@keyframes pa-branch-mv-03 {
	0%,
	52% {
		opacity: 0;
		transform: scale(1.2);
	}

	60% {
		opacity: 1;
	}

	88% {
		transform: scale(1);
	}

	to {
		opacity: 1;
	}
}

/* 移行元は偶数の文字を下から、奇数の文字を上から動かす
   （.mainvisual-shopname span:nth-of-type の translateY 10px と -10px）. */
@keyframes pa-branch-mv-letter {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes pa-branch-mv-letter-odd {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* --------------------------------------------------------------
   # 旧デザインの店舗詳細（14 店）の携帯幅の大見出し（Bug #4685）

   **移行元はパソコン版とスマホ版で大見出しをまるごと別に組む。**dev は上の横送りの
   節でパソコン版の値（と、狭い画面であふれないように幅へ追従させる値）を出して
   おり、**幅の条件を持たない**ため携帯幅にもそのまま当たっていた。

   実測（大宮店 `/branch/branch-kanto-omiya/`・2026-09-08・幅 320 / 375 / 749px）:

     器の高さ              移行元 240px         対 dev 200 / 200 / 351.09px
     日本語の店名の字      移行元 11px          対 dev 18px
     同じ要素の行送り      移行元 14px          対 dev 32px
     同じ要素の高さ        移行元 14px          対 dev 32px（最低の高さ）
     同じ要素の内余白      移行元 2px 0 0 28px  対 dev 左 70px
     社章の絵の大きさ      移行元 25.5px 9px    対 dev contain
     英字の店名の字        移行元 24px          対 dev 32 / 32 / 35.2px
     同じ要素の上の外余白  移行元 10px          対 dev 20px

   写し元: legacy/www.p-a.jp/public/sp/branch/css/style_area1.css の 155〜161 行
   （器）・408〜424 行（日本語の店名）・426〜436 行（英字の店名）。

   🚨 **当たり先の頭に `.pa-branch-area1` を足す。**上の横送りの節は旧デザインの
   店舗すべてに当たるが、**移行元スマホ版でこの値を持つのは
   `sp/branch/css/style_area1.css` を読む 14 店だけ**である。改装版は別の写し
   （`sp/branch/css/style_renew.css`）を持つので、ここで一緒に変えてはいけない。

   🚨 **強さで勝ったうえで、順番でも負けないように節の後ろへ置く。**日本語の店名の
   当たり先は、上の `has-mainvisual-logo` 付きの規則と**印の数が同じ 5 つ**である。
   `@media` は強さを足さないので、**同じ強さなら後ろに在るほうが勝つ**。ここを節の
   前へ動かすと 1 度も効かなくなる。

   🚨 **社章の絵が無い店にも当てる。**移行元はこの値を絵の有無で分けていないので、
   `has-mainvisual-logo` の付かない店でも高さ・内余白・行送りは同じである。だから
   絵の有無で分かれている dev の 2 本を、こちらは 1 本にまとめて当てる。

   🚨 **パソコン幅（750px 以上）は 1 行も変えない。**幅 1440px の実測（器 600px・
   日本語の店名 18px / 行送り 32px・英字の店名 60px）はいまのままである。
   -------------------------------------------------------------- */

@media (max-width: 749px) {

	/* 器。移行元スマホ版は幅に関係なく 240px である（sp/…:155）. */
	.pa-branch-area1 .pa-branch__content .mainvisual.is-slider-ready {
		height: 240px; /* 移行元パソコン版 600px */
	}

	/* 日本語の店名。社章の絵は 25.5 x 9px で、左に 28px ぶん字下げする（sp/…:408）。
	   最低の高さを外すのは、移行元が高さ 14px を直に書いているためである. */
	.pa-branch-area1 .pa-branch__content .mainvisual.is-slider-ready .mainvisual-logo {
		/* 🚨 **移行元の 14px をそのまま書くと 2px 低くなる。**移行元は箱の数え方が
		   `content-box` で、高さ 14px に上の内余白 2px が積まれて外側は 16px に
		   なる。このテーマは全要素へ `border-box` を効かせているので、同じ外側の
		   16px を出すには 16px と書く（実測: 14px と書くと dev 14 対 移行元 16）. */
		height: 16px; /* 移行元スマホ版は content-box の 14px ＋ 内余白 2px */
		min-height: auto; /* 移行元パソコン版 32px */
		padding: 2px 0 0 28px; /* 移行元パソコン版 左 70px */
		background-size: 25.5px 9px; /* 移行元パソコン版 contain */
		font-size: 11px; /* 移行元パソコン版 18px */
		line-height: 14px; /* 移行元パソコン版 32px */
	}

	/* 英字の店名（sp/…:426）. */
	.pa-branch-area1 .pa-branch__content .mainvisual.is-slider-ready .mainvisual-shopname {
		margin-top: 10px; /* 移行元パソコン版 20px */
		font-size: 24px; /* 移行元パソコン版 clamp(32px, 4.7vw, 60px) */
	}
}

/* 店名と惹句の帯。移行元 .leadcopy は薄い緑（#e3e3d3）の地色を敷く。共通トークンの
   「一段浮かせる面」の色で代える. */
.pa-branch__content .leadcopy {
	margin-bottom: var(--pa-space-md);
	padding: 25px 20px;
	background-color: var(--pa-color-surface-muted);
	text-align: center;
}

/* 店名。移行元 .leadcopy-shop-name の 40px である（Task #1549 で 32px から戻した。
   共通トークンの見出しの大きさではなく移行元の実値を使う）. */
.pa-branch__content .leadcopy-shop-name {
	margin: 0 0 4px;
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: 40px;
	font-weight: 400;
	letter-spacing: 0.2em;
}

.pa-branch__content .leadcopy-shop-caption {
	margin: 0 0 16px;
	font-size: 12px;
}

.pa-branch__content .leadcopy-txt-01 {
	margin: 0;
	font-family: var(--pa-font-family-serif);
	font-size: 20px;
	line-height: 1.8;
}

.pa-branch__content .leadcopy-txt-02 {
	margin: 8px 0 0;
	font-size: 11px;
}

/* 節の見出し。移行元 .title-01 は写真を敷いた高さ 400px の帯だが、背景画像を
   持ち込まないため帯は作らず、文字組みだけを写す. */
.pa-branch__content .title-01 {
	margin-bottom: var(--pa-space-sm);
	text-align: center;
}

.pa-branch__content .title-01-en {
	margin: 0 0 12px;
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: 13px;
	letter-spacing: 0.5em;
	line-height: 1;
}

/* 移行元は 36px の明朝で、下に幅 60px の金の線を引く. */
.pa-branch__content .title-01-jp {
	margin: 0;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-font-size-heading-lg);
	font-weight: 400;
	letter-spacing: 0.05em;
}

/* 🚨 **旧デザイン（area1）の店舗は、明朝の並びを移行元と同じにする**（Bug #5211）。
 *
 * ## 何が起きていたか
 *
 * 上の `.pa-branch__content .title-01-en` などは明朝の合印（`--pa-font-family-serif`）を
 * 置いているが、**画面では游ゴシックで描かれていた。**移行元の初期化を写した
 * `.pa-branch-area1 .page-branch p`（要素名まで書く長い一覧）が `font-family: inherit` を
 * 置いており、**当たり先の強さが上（印 2 個 + 要素 1 個）で勝つ**ためである
 * （上の規則は印 2 個 + 要素 0 個）。受け継いだ先は本文の游ゴシックである。
 *
 * ## 移行元はどう書いているか
 *
 * 移行元の `branch/css/style_area1.css`（パソコン版）と `sp/branch/css/style_area1.css`
 * （スマホ版）は、**どちらも同じ 2 つの並び**を 19 か所へ書いている。**幅で使い分けて
 * いないので、ここでも幅の条件を付けない。**
 *
 *   A（和文の明朝）  ヒラギノ明朝 ProN W3 を先頭に置く
 *   B（欧文 + 明朝） Bodoni を先頭に置き、続けて A と同じ並びを置く
 *
 * 🚨 **テーマの合印（`--pa-font-family-serif`）は使えない。**合印は游明朝を先頭に
 * 置くので、両方が入っている機械では移行元と違う書体で描かれる（実測: 移行元
 * Hiragino Mincho ProN 対 dev YuMincho）。**移行元の並びをそのまま書く。**
 *
 * ## 当たり先の選び方
 *
 * 移行元は 19 か所へ書いているが、**dev に実在するのは下の 9 か所である**
 * （浜松店と大宮店で数えた。`.navigation-trig` `.manager-name-jp` `.manager-name-en`
 * `.manager-position` `.parent-btn-title` は dev に器が無い）。
 * `.mainvisual-logo` `.mainvisual-shopname span` `.flow-title-02 span`
 * `.flow-title-02 h4` は**すでに移行元と同じ並び**なので触らない. */
.pa-branch-area1 .page-branch {
	--pa-branch-area1-mincho: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "YuMincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--pa-branch-area1-mincho-en: Bodoni, BauerBodoniRoman, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "YuMincho", serif;
}

.pa-branch-area1 .page-branch .leadcopy-shop,
.pa-branch-area1 .page-branch .leadcopy-shop-name,
.pa-branch-area1 .page-branch .leadcopy-txt-01,
.pa-branch-area1 .page-branch .title-01-jp,
.pa-branch-area1 .page-branch .title-02,
.pa-branch-area1 .page-branch .case-leadcopy,
.pa-branch-area1 .page-branch .case-name strong,
.pa-branch-area1 .page-branch .flow-title {
	font-family: var(--pa-branch-area1-mincho);
}

.pa-branch-area1 .page-branch .title-01-en {
	font-family: var(--pa-branch-area1-mincho-en);
}

/* 🚨 字詰め（約物と仮名を詰める palt）も移行元と同じにする（Bug #8426）。
 *
 * 移行元は `.page-branch .title-02` に `font-feature-settings: "palt"` を与える。
 * パソコン版 `branch/css/style_area1.css` の 878 行と、スマートフォン版
 * `sp/branch/css/style_area1.css` の 919 行の両方にあり、値は同じである。
 * `.flow-title-02 span` と `.flow-title-02 h4` も、同じ 2 本（2026・2039 行／2103・2116 行）で同じ値を持つ。
 * dev はどれにも指定が無く、書体・大きさ・字間が同じでも字の幅が広かった
 * （実測 2026-09-25 15:09: 旧デザイン 13 店・両幅の `.title-02` 69 か所すべてで
 * 移行元 "palt" 対 dev normal。コース名は 375 幅で 18.4〜31.7px 広く、中央寄せの左端がずれた）。
 * 幅を問わず効く規則なので、`@media` の外に置く. */
.pa-branch-area1 .page-branch .title-02,
.pa-branch-area1 .page-branch .flow-title-02 span,
.pa-branch-area1 .page-branch .flow-title-02 h4 {
	font-feature-settings: "palt";
}

.pa-branch__content .title-01-jp::after {
	content: "";
	display: block;
	width: 60px;
	margin: 30px auto 0;
	border-bottom: 1px solid var(--pa-color-accent);
}

.pa-branch__content .title-02 {
	margin: 0 0 10px;
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.6;
}

.pa-branch__content .text-01 {
	margin-bottom: 20px;
	font-size: var(--pa-branch-body-size);
	line-height: 2;
}

/* 小見出し。移行元 .title-03 は 16px の太字である. */
.pa-branch__content .title-03 {
	margin: 0 0 20px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}

/* 本文と見出しに添える小さな注記（Task #1549）。移行元は入る場所ごとに大きさが
   違うので、それぞれの実値を写す。
     .text-01 small     12px（1 行に収めず段落として置く。移行元は display: block）
     .title-02 small     11px
     .about-info td small 11px
   指定が無いと、いずれも親の大きさをそのまま継いで大きく出てしまう. */
.pa-branch__content .text-01 small {
	display: block;
	font-size: 12px;
	line-height: 1.4;
}

.pa-branch__content .title-02 small,
.pa-branch__content .about-info td small {
	font-size: 11px;
}

/* 注釈の定義リスト。移行元は「※1」と説明を横に並べる. */
/* 🚨 上の外余白は移行元が持たない（写し `branch/css/style_area1.css` の
   927〜938 行は `margin-bottom: 20px` だけ）。テーマの既定が 11px を与えていた
   （Bug #4591・大宮店の実測: 上 移行元 0px 対 dev 11px）. */
.pa-branch__content .notes-01 {
	display: grid;
	grid-template-columns: 3.5em 1fr;
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 11px;
	line-height: 2;
}

.pa-branch__content .notes-01 dt,
.pa-branch__content .notes-01 dd {
	margin: 0;
}

/* 店舗情報の表と地図の並び。移行元は横並び（flex）で表 650px・地図 400px・
   すきま 50px を固定する（写し `branch/css/style_area1.css` の
   `.page-branch .about-info { width: 650px }` と `.about-map { width: 400px }`）。
   器の幅は両側とも 1,100px なので 650 + 50 + 400 でちょうど収まる。
 *
 * 🚨 割り付けを `1.3fr / 1fr` にしていたため、表が 599.13px・地図が 460.88px に
 * なっていた（実測・幅 1440px）。**セルが 500px から 448.13px へ狭まると、同じ
 * 文章でも折り返しの回数が変わり、行数と高さが移行元と合わなくなる**（Bug #4050）。
 *
 * 携帯幅で 1 列に積むのは `@media (max-width: 749px)` の側が受け持つ。ここを
 * `.pa-profile-legacy-compat` などで強くすると、そちらに勝って積まなくなる。
 *
 * 🚨 **750〜1099px で器からはみ出すが、切れない。移行元も同じである**（自動レビューの
 * 指摘で実測した。幅 750 / 900 / 1099px）。移行元はこの幅で文書が 1,280px まで横へ
 * 送れ、地図の右端 1,100px まで届く。dev は直す前から文書が 1,200px まで送れており、
 * 直したあとも 1,200px のまま変わらない。地図の右端 1,100px はその内側なので、横へ
 * 送れば 3 つの幅すべてで地図が画面に収まる（実測で確認済み）. */
.pa-branch__content .about.l-container {
	display: grid;
	grid-template-columns: 650px 400px;
	gap: 50px;
	/* 🚨 **`align-items` を書かない（Bug #4552）。**移行元は横並びの器に `align-items` を
	   書かず、既定の伸ばし（`stretch`）のままである（写し `branch/css/style_area1.css` の
	   1024〜1031 行）。そのため**地図の箱が隣の表の高さまで伸びる**。表の高さは店ごとに
	   違うので、地図の箱の高さも店ごとに変わる（写しを手元で描いた実測: 15 店で
	   **451.00〜830.94px** に散る。最小は京都・立川、最大は町田）。
	   `align-items: start` は伸びを止めており、**どの店も中身どおりの 476.00px**
	   （= 地図 400 ＋ 空き 10 ＋ 押しボタン 41 ＋ 段落の包みの下余白 25）で固まっていた。
	   浜松は −86.25px・神戸は −41.47px・町田は −354.94px の差になっていた。
	   🚨 **新デザインの店舗ページ（`.info-layout`）でまったく同じ見落としを直した先例が
	   ある**（`tests-retired/pa-cms-branch-intro-info/run-branch-intro-info.php` の節 2 が
	   「横並びの帯に `align-items` が 1 つも書かれていない」を見張っている）。**ここが
	   最も戻りやすい**ので、こちらにも同じ形の見張りを置いた。
	   携帯幅は下の `@media (max-width: 749px)` が 1 列に積むので、伸ばしは効かない. */
	margin-top: var(--pa-space-md);
}

/* 🚨 **地図の箱の最後の子に残る下余白を落とす（Bug #4552）。**移行元は押しボタンを
   `.about-map` の直下に置き、包みを持たない（写し `branch/chubu/hamamatsu.html` の
   182〜186 行）。dev は WordPress の段落の自動組み立て（`wpautop`）が `<p>` で包むため、
   本文の段落の下余白 `--pa-article-paragraph-gap`（25px）が付いていた。

   この 25px は、**表が短い店で高さの差になって出る**。器は伸ばしなので、行の高さは
   「表の高さ」と「地図の箱の中身の高さ」の**大きいほう**で決まる。移行元の中身は
   400 ＋ 10 ＋ 41 = **451.00px** だが、dev は 25px 足されて **476.00px** だった。
   そのため表が 451px より短い 3 店（京都・千葉・立川）で 476.00px に固まっていた
   （実測 幅 1440px: 移行元 京都 451.00・千葉 472.69・立川 451.00）。

   当て先は「最後の子」に限る。地図の器（`.about-map-container`）が持つ 10px の
   下余白は移行元にもあり、残さなければならない（写し `branch/css/style_area1.css`
   の 1062〜1068 行）。

   🚨 **新デザインの店舗ページで同じ直しを入れた先例がある**（下の
   `.pa-profile-new ... .intro-content > *:last-child` と `.map-area > *:last-child`・
   Task #3438）。**あちらは `body.pa-profile-new` で世代を絞っている**が、
   `.about-map` は旧デザインの店舗ページにしか出ないので絞らない
   （移行元の店舗ページ 148 本のうち 15 本に出て、いずれも旧デザインである。
   うち藤沢店は閉店済みで dev では 14 店になる）。

   🚨 **携帯幅では箱の高さが 1px も動かない（実測）。**幅 320px で 370.00px・
   幅 749px で 799.00px であり、この 2 つの直しの前後で同じだった（4 店で確かめた）。
   **この規則は携帯幅でも当たっている**（`<p>` の下の外余白が 18px から 0px へ
   変わることを実測した）が、箱の高さは変わらない。**なぜ変わらないのかは未解明で
   ある。**携帯幅の箱の高さは、子を積み上げた高さ（幅 320px で 280 ＋ 10 ＋ 40 ＝ 330）
   とも一致しないため、別の何かが決めている。**携帯幅を触るときは、ここを実測から
   始めること。** */
.pa-branch__content .page-branch .about-map > *:last-child {
	margin-bottom: 0;
}

/* 店舗情報の表のセル（Bug #4050）。
 *
 * 🚨 **テーマの店舗向けの規則（`.pa-branch__content :is(th, td)` = (0,1,1)）は、
 * 本文の共通の表の規則（`.entry-content table:not(.pa-form-table) :is(th, td)`
 * = (0,2,2)）に負けていて 1 つも効いていなかった。**そのため内余白 7px（`0.5em`）・
 * 四辺の罫線・行送り 1.5 のままになっていた。移行元は
 * `.page-branch .about-info td, th { padding: 20px 0 30px; border-bottom: 1px solid #e7eff1 }`
 * と `.page-branch .about-info { line-height: 1.6 }` である。
 *
 * ここは (0,3,2) で共通の規則に勝たせる。**共通の側は弱めない**（本文の表を持つ
 * 画面すべてに響くため。司令塔の裁定 222）。
 *
 * 携帯幅は移行元スマホ版が別の値を持つ（内余白 0・罫線なし・字 13px）。この Issue は
 * パソコン幅だけを扱うので `min-width: 750px` で囲い、携帯幅は触らない. */
@media (min-width: 750px) {
	.pa-branch__content .page-branch table.about-info :is(th, td) {
		padding: 20px 0 30px;
		border: 0;
		border-bottom: 1px solid #e7eff1;
		line-height: 1.6;
	}
}

/* 店舗情報の表の携帯幅（Bug #4076）。移行元スマホ版は
 * `sp/branch/css/style_area1.css` の 1122〜1144 行でこう組む。
 *
 *   .page-branch .about-info tbody, td, th, tr { display: block }
 *   .page-branch .about-info tr { padding: 0 0 10px; border-bottom: 1px solid #e7eff1 }
 *   .page-branch .about-info th { color: #084e6c; text-align: left; margin: 15px 0 5px }
 *
 * **余白と罫線を持つのは行（tr）で、セルは何も持たない。**dev は逆で、上の共通の
 * 表の規則（(0,2,2)）が勝ってセルに内余白 7px と四辺の罫線を付け、行には何も
 * 付いていなかった（幅 375px の実測。移行元 602.33px 対 dev 653px）。
 *
 * 上のパソコン幅の直し（Bug #4050）は `min-width: 750px` で囲ってあるので携帯幅へは
 * 届かない。ここが携帯幅の側を受け持つ。当たり先の強さは上と同じ (0,3,2) で、
 * 共通の表の規則に勝たせる。**共通の側は弱めない**（本文の表を持つ画面すべてに
 * 響くため。司令塔の裁定 222）。
 *
 * 🚨 **携帯幅の字は移行元スマホ版の 13px にそろえる（ユーザー判断 2026-09-06 23:0x）。**
 * それまでは「移行元パソコン版の 14px をそのまま使う」（司令塔の裁定 224）としていたが、
 * **その取り決めは携帯幅について取り消された**。パソコン幅は移行元パソコン版が 14px
 * なので、上の `min-width: 750px` の側と
 * `.pa-branch-area1 .page-branch .about-info { font-size: 14px }`（17370 行）は
 * そのまま残す。**変えるのは携帯幅だけ**である。
 *
 * 行送りは px でなく比（1.6）で写す。移行元スマホ版の
 * `.page-branch .about-info { font-size: 13px; line-height: 1.6 }` と同じ組み合わせで、
 * 13 × 1.6 = 20.8px になる。
 *
 * 字をそろえる前は、組み方を移行元とそろえても 1 行あたり 1.6px 高くなり、折り返しの
 * 回数も変わって表が約 30px 高かった（浜松店で 602.33px 対 約 639px）。字をそろえると
 * 実測でぴたりと一致する（浜松 602.33 / 梅田 789.50 / 町田 872.69px）。
 *
 * 🚨 見出しの左寄せは移行元の同じ規則にある。移行元の初期化（`css/common.css` の
 * `th { text-align: center }`）を、店舗ページの携帯版だけが左へ戻している。
 * パソコン幅は移行元も中央のままなので、ここでだけ左にする.
 *
 * tbody を block へ戻すのは、テーマが携帯幅で本文の表を
 * `display: block` + `overflow-x: auto` にし、tbody を `display: table` へ戻して
 * 横へ転がせるようにしているためである。行を積むこの表では横へ転がす必要がなく、
 * 移行元も tbody を block にしている. */
@media (max-width: 749px) {
	.pa-branch__content .page-branch table.about-info tbody,
	.pa-branch__content .page-branch table.about-info tr {
		display: block;
	}

	.pa-branch__content .page-branch table.about-info tr {
		padding: 0 0 10px;
		border-bottom: 1px solid #e7eff1;
	}

	/* 字は表そのものへ置く。移行元スマホ版が
	   `.page-branch .about-info { font-size: 13px; line-height: 1.6 }` と表へ書いており、
	   セルはそれを受け継ぐ。**セルへ直に書くと、行（tr）だけが 14px を受け継いだまま
	   残る**（行に直の文字は無いので見た目には出ないが、移行元と値が食い違う）。
	   `td small` の 11px は絶対値なので影響を受けない. */
	.pa-branch__content .page-branch table.about-info {
		font-size: 13px;
	}

	.pa-branch__content .page-branch table.about-info :is(th, td) {
		padding: 0;
		border: 0;
		font-size: 13px;
		line-height: 1.6;
	}

	.pa-branch__content .page-branch table.about-info th {
		margin: 15px 0 5px;
		text-align: left;
	}

	/* 🚨 **表の見出しのセルは、移行元スマホ版では太字にならない**（Bug #5212）。
	 *
	 * 移行元スマホ版の `sp/branch/css/style_area1.css` は `.about-info th` にも
	 * `.course-price thead th` にも `font-weight` を書いていない。移行元の初期化が
	 * `normal` を置いているので、画面では並の太さで描かれる（2026-09-09 13:18 に
	 * 実ページで実測。7 か所すべて 400）。
	 *
	 * dev は `.pa-branch__content th { font-weight: 700 }` と、記事の本文共通の
	 * `.entry-content table th { font-weight: bold }` の 2 本が当たるため 700 になる。
	 * **どちらも幅の条件を持たないので、携帯幅でここへ置き直す。** */
	/* 🚨 `:is()` でまとめない。検査は当たり先をコンマで切って「組み方の印
	 * （.pa-branch-area1）が付いているか」を見るので、**かっこの中の 2 本目が
	 * 印の無い当たり先として切り出され、落ちる**（実際に落ちた）. */
	.pa-branch-area1 .page-branch table.about-info th,
	.pa-branch-area1 .page-branch table.course-price th {
		font-weight: 400;
	}

	/* 🚨 **料金表の見出しのセルの字・色・行の高さも、移行元スマホ版は指定を持たない**
	 * （Bug #5212）。移行元スマホ版の `style_area1.css` の `.course-price-th-detail` は
	 * 幅と内余白と地の色だけで、字・色・行の高さを書いていない。したがって移行元の
	 * 初期化の値（字 13px・色 #3d4e56・行の高さ 1.4）がそのまま出る
	 * （2026-09-09 13:18 の実測。移行元 13px / rgb(61,78,86) / 18.2px）。
	 *
	 * dev の 14px・rgb(45,60,66)・20px は**移行元のパソコン版**を写したもので、
	 * 幅の条件を持たない。**携帯幅で移行元スマホ版の値へ置き直す。**
	 * 色は素の値と同じだが、上の `.course-price thead th` の上書きを打ち消すために
	 * 明示して書く（消すことはできないので、同じ当たり先へ置き直す）. */
	.pa-branch-area1 .page-branch .course-price thead th.course-price-th-detail {
		color: #3d4e56;
		font-size: 13px;
		line-height: 1.4;
	}

	/* 🚨 見出しの中の改行を携帯幅だけ効かせない（司令塔の裁定 239）。
	 *
	 * 移行元はパソコン版とスマホ版で別の HTML を持つ。パソコン版の見出しは
	 * 列の幅が 150px なので `浜松店への<br>アクセス` と改行を書くが、**スマホ版の
	 * HTML はこの改行を書いていない**（見出しの高さの実測が 1 行ぶんの 20.8px）。
	 * dev は 1 つの HTML を両方の幅で使うので、そのままだと携帯幅で見出しが
	 * 2 行になり、10 店とも移行元より 1 行ぶん高くなる（実測で 20.8px）。
	 *
	 * 当たり先はこの表の見出しの中だけで、本文の他の表へは広がらない。
	 * トップの改行の隠し（裁定 186）と同じ考え方である. */
	.pa-branch__content .page-branch table.about-info th br {
		display: none;
	}
}

/* 携帯幅だけに出す改行（Bug #5214）。
 *
 * 上の裁定 239 と**向きが逆の差**である。移行元はパソコン版とスマホ版で別の HTML を
 * 持ち、次の 2 か所は**スマホ版にだけ改行が在る**（旧デザイン 13 店 × 2 か所 = 26 か所。
 * 大阪店は D18 で新デザインへ作り直されるため後回し）。
 *
 *   .title-01-jp … `結婚相談所パートナーエージェント<br>◯◯店のご案内`
 *   .text-01     … `お相手探しは自分のペースで<br>自主的に進めるコース`
 *
 * dev は 1 つの本文を両方の幅で使うので、**投入する本文の側へ移行元スマホ版と同じ位置で
 * `<br class="pa-branch-sp-br">` を入れ、パソコン幅ではここで隠す。**本文から改行を
 * 落とすやり方は採れない（携帯幅で改行が出なくなる）。本文の入れ替えは 16 班が行う。
 *
 * 🚨 **当たり先が投入より先に入っていてよい。**印を持つ `br` が 1 つも無いうちは
 * 1 か所も当たらないので無害で、投入の直後から効く（PR #5313 と同じ形）。
 *
 * 🚨 **裁定 239 の当たり先（`table.about-info th br`）とは別物である。**あちらは
 * 「パソコン版にだけ在る改行を携帯幅で消す」で、**すでに入っている**。この Bug の
 * 一覧に「アクセスの見出し」を 14 行入れていたのは誤りで、投入は要らない。
 *
 * 🚨 **絞りは `.pa-branch__content` で足りる。**印の名前が支店紹介に固有で、当たり先も
 * 支店紹介の本文の中に閉じている。世代の印（`.pa-branch-area1`）まで足すと、改装版や
 * 新デザインの店で同じ差が見つかったときに黙って効かなくなる。
 *
 * check-mobile-only: 意図してメディアクエリの外に置く
 * ── この 1 本だけはパソコン幅の側に置く。**携帯幅に足す改行を、パソコン幅で
 * 打ち消すための規則**だからである。入れたあともパソコン幅の見え方は今日と変わらない
 * （移行元パソコン版はこの 2 か所に改行を持たない）. */
@media (min-width: 750px) {
	.pa-branch__content br.pa-branch-sp-br {
		display: none;
	}
}

/* 移行元スマホ版とパソコン版で改行と「※」「。」の位置が違う 4 種（Bug #9237・`inc/branch-sp-markup.php`）。
   本文フィルタが片方の幅だけで見せる印を足すので、その反対の幅で隠す。印が無い本文では 1 か所も当たらない.

   check-mobile-only: 意図してメディアクエリの外に置く
   ── パソコン幅の側の 1 本は、携帯幅に足した「※」「。」をパソコン幅で打ち消すための規則である. */
@media (min-width: 750px) {
	.pa-branch__content .pa-branch-sp-only {
		display: none;
	}
}

@media (max-width: 749px) {
	.pa-branch__content .pa-branch-pc-only,
	.pa-branch__content br.pa-branch-pc-br {
		display: none;
	}
}

/* 地図の枠。移行元は iframe を入れる箱で、移行後は空になる。畳んでおく. */
.pa-branch__content .about-map-container {
	display: none;
}

/* 会員の活動例。移行元は写真と表を組み合わせた囲みである。囲みの体裁だけ整える. */
.pa-branch__content .case-box {
	margin-bottom: var(--pa-space-sm);
	padding: var(--pa-space-sm);
	background-color: var(--pa-color-surface-muted);
}

/* 改装版（style_renew.css）の見出し（Task #1649 → 値を Task #3672 で移行元へそろえた）。
 *
 * 🚨 **もとは 2 つの見出しを 1 つの規則でまとめていたが、移行元では別々の値である。**
 * まとめていたために、どちらも移行元と食い違っていた。2026-09-05 に本番と記録版の
 * 両方で測った値は次のとおりである。
 *
 * | 当たり先 | 写し元（style_renew.css） | 寄せ | 書体 | 色 | 太さ | 字 | 行送り | 下の外余白 |
 * |---|---|---|---|---|---|---|---|---|
 * | `.content-headline`  | 192〜198 行 | 中央 | ゴシック | 受け継ぎ | 700 | 36px | 1.6 | 50px |
 * | `.content-ttl-main`  | 324〜328 行 | **左** | ゴシック | 受け継ぎ | 700 | 32px | 1.4 | 32px |
 *
 * 直す前の dev はどちらも「32px・太さ 400・行送り 1.6・下 24px・明朝・金」だった。
 *
 * 🚨 **書体の宣言を外し、色は `inherit` にする。**移行元はどちらにも `color` と
 * `font-family` を書いておらず、本文から受け継いだ黒とゴシックで描かれる。テーマが
 * 当てていた `var(--pa-color-heading)`（金 rgb(163,118,43)）と
 * `var(--pa-font-family-serif)`（明朝）は移行元に無い姿である。
 *
 * 書体は宣言を消すだけで受け継ぎに戻る。**色は消すだけでは戻らない。**テーマの
 * 共通の見出しの指定（このファイルの `.entry-content h2, .page-content__body h2`
 * が当てる `var(--pa-color-heading)`）が (0,1,1) で当たっており、宣言を消すと
 * そちらが勝って金のままになる（CDP の CSS.getMatchedStylesForNode で勝者を
 * 確かめた）。ここは (0,2,0) で勝つので、`inherit` と書いて「移行元と同じく
 * 受け継ぐ」姿にする。
 *
 * 白い見出し（`.content-headline__wh`）は別の規則が (0,4,0) で色を持っているので、
 * この `inherit` に負けず白のままである（実測で確認）。
 *
 * この 2 つの当たり先は改装版の 4 本にしか無い（新デザインの 4 店舗と旧デザインの
 * 15 本では 0 個。記録版 1fbfa9dda の店舗ページ 24 本を全数で数えた）。そのため
 * 世代の印を前置しなくても、ほかの世代へは届かない. */
.pa-branch__content .content-headline {
	margin: 0 0 50px;
	color: inherit;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

/* 「ご来店のご案内」の節だけ下の外余白が広い（移行元 style_renew.css 726〜728 行
   `.guide .content-headline { margin-bottom: 72px }`）。実測でも 4 本とも
   この 1 か所だけが 72px である. */
.pa-branch__content .guide .content-headline {
	margin-bottom: 72px;
}

/* 🚨 移行元は左寄せである（`.content-ttl-main` に `text-align` の宣言が無く、
   本文の既定の左寄せで描かれる）。テーマは中央寄せにしていた. */
.pa-branch__content .content-ttl-main {
	margin: 0 0 32px;
	color: inherit;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

/* 🚨 **移行元の改装版は見出しに字間を書いていない。**写し元 `style_renew.css` の
 * `letter-spacing` の宣言は 33 行の `.txt__combining { -0.18em }` 1 つだけで、
 * 見出しには当たらない。移行元の写しを PHP で配って測ると、本文層の中で字間が
 * `normal` でない要素は「お困りごとの箱の段落」1 件（2.4px）だけで、dev も同じ
 * 2.4px である（2026-09-08 03:0x・札幌店・幅 1440px）。
 *
 * テーマの本文の既定（このファイルの `.entry-content :is(h2, h3, h4, h5, h6)` と
 * `.page-content__body :is(…)`）が `letter-spacing: 0.05em` を当てるため、dev の
 * 見出しは 42 か所で 0.7〜1.8px の字間を持っていた。**字間が広がると文字の描画幅も
 * 伸びるので、文言で突き合わせた 293 件のうち 118 件の「文字の描画幅の差」も
 * ここから出ていた**（Bug #2956）。
 *
 * 🚨 **当たり先は `pa-branch-renew` で改装版の 4 店に絞る。**`.pa-branch__content`
 * だけでは店舗詳細 24 本すべてに届き、新デザインの 6 店と旧デザインの 14 店の
 * 見え方まで変えてしまう。`pa-branch-renew` が付くのは札幌・高崎・仙台・福岡の
 * 4 本だけである（dev の店舗詳細 24 本を全数で数えた・2026-09-08）。
 *
 * 段落（`p`）は当たり先に入れない。お困りごとの箱の段落は両側とも 2.4px で
 * 一致しており、ここで `normal` へ戻すと逆に移行元から外れる. */
.pa-branch-renew .pa-branch__content :is(h2, h3, h4, h5, h6) {
	letter-spacing: normal;
}


/* 移行元の節の題の下にある「短い棒」（`style_renew.css` 201〜212 行の
 * `.content-headline:after`）。**テーマはこれを写していなかった。**
 *
 * 実測（2026-09-08 03:29・札幌店・幅 1440px）:
 *
 * | | 移行元 | dev |
 * |---|---|---|
 * | 飾りの中身 | `""` | `none`（擬似要素そのものが無い） |
 * | 寸法 | 32px × 3px | — |
 * | 位置 | `absolute` 下 −28px / 左 50% / 左の外余白 −15px | `static` |
 * | 色 | `#486d94`（白抜きの題は `#fff`） | — |
 *
 * 題 8 本すべてで棒が出ていなかった。
 *
 * 🚨 **「テーマは見出しの下の罫線で代えている」という以前の記録は、いまは事実では
 * ない。**実測すると `border-bottom` は `0px none` で、**幅が 0 なので 1 本も描かれて
 * いない**。色だけを白へ合わせていた宣言（`.brand .content-headline__wh` の
 * `border-bottom-color`）は、幅 0 の罫線に色を付けるだけで何も起きていなかったため
 * 外した。
 *
 * 🚨 **左の外余白は −15px である（−16px ではない）。**棒の幅は 32px なので、中央に
 * 置くなら −16px になるはずだが、**移行元は −15px と書いており 1px 右へずれる。**
 * 見た目を移行元にそろえるので、この 1px も写す。
 *
 * 🚨 **題の位置指定（`position: relative`）も要る。**移行元は付けているが dev は
 * `static` だった。付けないと棒がページの左上へ飛ぶ。
 *
 * 当たり先は `pa-branch-renew` で改装版の 4 店に絞る（新デザインの 6 店と旧デザインの
 * 14 店には棒が無い）. */
.pa-branch-renew .pa-branch__content .content-headline {
	position: relative;
}

.pa-branch-renew .pa-branch__content .content-headline::after {
	position: absolute;
	bottom: -28px;
	left: 50%;
	display: block;
	width: 32px;
	height: 3px;
	margin-left: -15px;
	background-color: #486d94;
	content: "";
}

/* 白抜きの題（写真の上に載る 6 本）は棒も白にする（移行元 218〜220 行）. */
.pa-branch-renew .pa-branch__content .content-headline__wh::after {
	background-color: #fff;
}

/* 節ごとに下の位置が違う（移行元 730〜732 行と 1065〜1067 行）。
   ご来店のご案内は −25px、成婚コンシェルジュのご紹介は −26px である. */
.pa-branch-renew .pa-branch__content .guide .content-headline::after {
	bottom: -25px;
}

.pa-branch-renew .pa-branch__content .cc-intro .content-headline::after {
	bottom: -26px;
}

/* 改装版の区画の余白を移行元へそろえる（Bug #4542）。
 *
 * ## 主因は 1 つ: テーマが段落に当てている下の外余白
 *
 * テーマの本文の既定（このファイルの `.entry-content p`）が `margin-bottom: 25px` を
 * 当てる。**移行元の改装版はどの段落も 0 である。**札幌店の段落 105 個を両側で全数
 * 測ったところ、値が食い違うのは **dev だけが 25px を持つ 17 個**で、移行元が 0 以外の
 * 値を持つ 13 個（20 / 5 / 25.6 / 28.8 / 27.2 / 27px）は**両側で完全に一致**していた
 * （2026-09-08 03:58）。
 *
 * 🚨 **まとめて 0 へ戻しても、その 13 個は 1 つも壊れない。**差し込んで
 * `getComputedStyle` で勝っている値を測り直して確かめた（取り決め 47）。
 * 直したあとの内訳は 0px が 99 個・ほかは移行元と同じ値のままである。
 *
 * これで「ようこそ」の +49.5px（写真 +24.5・呼びかけの帯 +25）、親御さまの +25px、
 * コースと料金の導入文の +25px がまとめて消える。
 *
 * ## 節の下の外余白
 *
 * テーマは節に 60px を当てるが、**移行元は 0 である**（節 19 個を全数で確認）。
 *
 * 🚨 **`.plan` だけは移行元も 100px を持つので除く。**除かずに書くと、`.content` を
 * 当たり先にした (0,3,0) がテーマの `.plan` の指定に勝ち、100px が 0 になる
 * （差し込んで実測したら実際に落ちた）。
 *
 * ## 写されていなかった移行元の指定 4 つ
 *
 * | 当たり先 | 移行元（`branch/css/style_renew.css`） | 直す前の dev |
 * |---|---|---|
 * | `.shop` | 上の外余白 −85px ／ 上の内余白 85px | どちらも 0 |
 * | `.plan .content-wrap` | 上の外余白 78px（1624 行） | 0 |
 * | `.plan .plan` | 上の外余白 70px（1723 行） | 20px |
 * | `.plan .txt` | 字 16px（1628 行） | 13px |
 *
 * 当たり先は `pa-branch-renew` で改装版の 4 店に絞る. */
.pa-branch-renew .pa-branch__content p {
	margin-bottom: 0;
}

/* 🚨 `.plan` を除くのは、移行元がこの節にだけ下の外余白 100px を持つためである. */
.pa-branch-renew .pa-branch__content .content:not(.plan) {
	margin-bottom: 0;
}

.pa-branch-renew .pa-branch__content .guide-set.shop {
	margin-top: -85px;
	padding-top: 85px;
}

.pa-branch-renew .pa-branch__content .plan .content-wrap {
	margin-top: 78px;
}

.pa-branch-renew .pa-branch__content .plan .plan {
	margin-top: 70px;
}

.pa-branch-renew .pa-branch__content .plan .txt {
	font-size: 16px;
}

/* 🚨 **上の 4 つは移行元の「パソコン版」の値である。携帯幅では移行元スマホ版が
 * 別の値を持つ。**そのまま当てると携帯幅で 213px 高くなる（85 + 78 + 50 = 213 を
 * 幅 375px で実測した・2026-09-08）。写し元は `sp/branch/css/style_renew.css`。
 *
 * | 当たり先 | 移行元パソコン版 | 移行元スマホ版 |
 * |---|---|---|
 * | `.guide-set.shop` | 上の外余白 −85px ／ 上の内余白 85px | **どちらも無い**（784 行は下の外余白 30px だけ） |
 * | `.plan .content-wrap` | 上の外余白 78px | **45px**（1349 行） |
 * | `.plan .plan` | 上の外余白 70px | **45px**（1447 行） |
 * | `.plan .txt` | 字 16px | **字 14px**（1353 行） |
 *
 * 段落と節の下の外余白（上の 2 つの規則）は幅で変えない。携帯幅で測っても、
 * 節の下の外余白の内訳が移行元スマホ版と**完全に一致**した（0px 14 / 30px 2 /
 * 50px 2 / 40px 1）。
 *
 * 🚨 **`@media` に書いた指定が、後ろの素の規則に負けることがある**（取り決め 47）。
 * 差し込んで `getComputedStyle` で勝っている値を測り直して確かめてある. */
@media (max-width: 749px) {
	.pa-branch-renew .pa-branch__content .guide-set.shop {
		margin-top: 0;
		padding-top: 0;
	}

	.pa-branch-renew .pa-branch__content .plan .content-wrap {
		margin-top: 45px;
	}

	.pa-branch-renew .pa-branch__content .plan .plan {
		margin-top: 45px;
	}

	.pa-branch-renew .pa-branch__content .plan .txt {
		font-size: 14px;
	}
}

/* 改装版の本文（Task #3672 で移行元の値へそろえた）。
 *
 * 🚨 **もとは 2 つの当たり先へ「ならした値」1.8 をまとめて当てていたが、移行元では
 * 別々である。**移行元 style_renew.css 293〜296 行は `.content-txt-box .txt` に
 * `font-size: 16px; line-height: 2` を置き、331〜338 行の `.content-msg` には
 * **行送りを 1 つも書いていない**（計算後の値は `normal`）。ならすと、どちらも
 * 移行元と違う姿になる。2026-09-05 の実測では dev が 28.8px（= 16px × 1.8）と
 * 39.6px（= 22px × 1.8）を出しており、移行元の 32px と `normal` の両方から外れて
 * いた。
 *
 * .pa-profile-legacy-compat を前置してあるのは、新デザインの 4 店舗（銀座・
 * 新宿・静岡・岡山）を対象から外すためである。あちらは移行後も新デザインを
 * 維持する取り決めなので、いまの見え方を変えない（Bug #1641）。新デザインの
 * 4 店舗は体験談の紹介カードの中で .txt を使っており、移行元 public/branch/
 * assets/css/style.css には .txt の指定が 1 つも無い. */
.pa-profile-legacy-compat .pa-branch__content .content-txt-box .txt {
	font-size: 16px;
	line-height: 2;
}

/* 店長の言葉の強調の色（Bug #5185・ユーザーの目視）。移行元は**パソコン版と携帯版の
   どちらにも**同じ 1 本を書いている。

     branch/css/style_renew.css     310〜313 行  .content-txt-box .txt em { color: #486D94; font-weight: bold }
     sp/branch/css/style_renew.css  258〜261 行  同じ

   太さは Bug #5321 が `em` の初期化として当てるので、ここは色だけを持つ。

   🚨 **check-mobile-only: 意図してメディアクエリの外に置く。**移行元が両方の幅で
   同じ色を書いており、幅で分けると片方が黒のまま残る。Bug #5185 の本文は
   「パソコン幅は対象外」としていたが、それは**携帯幅だけを測った結果**であり、
   移行元の CSS はパソコン幅にも同じ色を持つ. */
.pa-profile-legacy-compat .pa-branch__content .content-txt-box .txt em {
	color: #486d94;
}

/* 移行元の呼びかけの帯（`.content-msg`）。写し元は style_renew.css 331〜338 行の
   `background-color: #F9F5E4; padding: 25px; text-align: center; font-size: 22px;
   color: #A08046; font-weight: bold` である。
 *
 * 🚨 **`line-height: normal` を書いてあるのは、移行元に宣言が無いことを写すためで
 * ある。**移行元は行送りを書いておらず、親からも受け継がないので計算後は `normal`
 * になる。テーマは `body` に共通の行送りを置いているため、何も書かないと
 * そちらを受け継いで移行元と違う姿になる。「移行元に無い宣言は足さない」の例外で、
 * 足す理由は「移行元と同じ計算後の値にする」ことにある。
 *
 * 色は移行元の実値を書く。共通トークンの金（`--pa-color-accent` の
 * rgb(163,118,43)）とは別の色（rgb(160,128,70)）で、トークンを通すと 3 色とも
 * ずれるためである. */
.pa-profile-legacy-compat .pa-branch__content .content-msg {
	padding: 25px;
	background-color: #f9f5e4;
	color: #a08046;
	font-size: 22px;
	font-weight: 700;
	line-height: normal;
	text-align: center;
}

/* 呼びかけの帯の中の段落（Bug #5371）。
 *
 * 🚨 **上の帯に `line-height: normal` を書いてあっても、中の段落には届かない。**
 * テーマの土台に `p { line-height: var(--pa-line-height-text) }`（＝1.5）という
 * **要素名だけの規則**が在り、**継承より、その要素へ直接当たる規則が勝つ**ためである。
 * 段落が 1.5 を受け取ると、その中の強調（`em`）も 1.5 を受け継ぐ。
 *
 * 実測（幅 1440px・`pa-branch-renew` の 4 店・2026-09-09 19:46）: 強調の行送りが
 * **移行元 `normal` 対 dev 33px**（22 × 1.5）。字の大きさ 22px・色・太さは一致して
 * いたので、行送りだけが広かった。
 *
 * Bug #5321（本文の `em` が斜体・細字）と Bug #5245（表の見出しの行送り）も同じ型で
 * ある。**「親に書いてあるから大丈夫」を根拠にしない。**
 *
 * 携帯幅の強調にはすでに `line-height: normal` を書いてある（Bug #5186）。この 1 本は
 * その 1 段上を直すので、携帯幅の値は変わらない.
 */
.pa-profile-legacy-compat .pa-branch__content .content-msg p {
	line-height: normal;
}

.pa-branch__content .content-txt-note {
	font-size: 11px;
}

/* ==============================================================
 * 改装版の店舗詳細だけが持つ装飾（Task #1649）
 * 写し元: legacy/www.p-a.jp/public/branch/css/style_renew.css（パソコン版）
 *         legacy/www.p-a.jp/public/sp/branch/css/style_renew.css（携帯版）
 *
 * ------------------------------------------------------------------
 * なぜ「束ね直し」が要るのか
 * ------------------------------------------------------------------
 * 移行元はパソコン版と携帯版を別々の URL・別々の CSS ファイルで出し分けて
 * いる。写し元のパソコン版ファイルには画面幅の切り替え（@media）が 1 個しか
 * 無く、携帯版の値はもう一方のファイルにしか無い。移行先は 1 つの URL で
 * 両方を出すため、2 つのファイルの値を 749px で束ね直す必要がある。
 * ここから下は、その束ね直しの結果である。
 *   750px 以上 … 既定として書く（移行元パソコン版の値）
 *   749px 以下 … このファイルの下にある @media (max-width: 749px) で上書き
 *                する（移行元携帯版の値）
 *
 * ------------------------------------------------------------------
 * セレクタに .pa-profile-legacy-compat を前置する理由
 * ------------------------------------------------------------------
 * 新デザインの 4 店舗（銀座・新宿・静岡・岡山）へ漏らさないためである。
 * あちらは移行後も新デザインを維持する取り決めで、いまの見え方を変えない。
 * 併せて、テーマが本文共通に当てている表や押しボタンの指定にも勝てる。
 *
 * ------------------------------------------------------------------
 * 幅の扱い（移行元をそのまま写せない箇所がある）
 * ------------------------------------------------------------------
 * 移行元の本文の幅は 1,100px で、移行先も 1,100px である（Bug #1945 で揃えた。
 * 器の指定はこのファイルの .single-content--branch）。**携帯幅の 10px 差（移行元 335px 対
 * 移行先 345px）は Task #3228 で解消した**（2026-09-04）。いまは旧デザインと改装版が
 * 中身 335px @20、新デザインが 336.84px @19.08 で移行元と一致する（実測）。
 * （受け持つと書いてあった Bug #1992 は閉じており、閉じた時点では直っていなかった。）
 *
 * 🚨 この節から下には「dev の柱は 1,090px」と書いたコメントが 20 か所ほど残って
 * いる。いずれも Bug #1945 を直す前に測った値で、各区画がなぜその書き方を選んだかの
 * 記録として残してある。**いまの柱の幅は 1,100px である。** 幅を割り算している箇所は
 * 移行元の固定 px をそのまま写さず calc() で割合に直してあるため、柱が 1,100px に
 * なったことで移行元と同じ値へ自動でそろっている（手順 3 列は 336.67px から 340px へ、
 * 継続サポートの列の間は 50px から 60px へ、ご挨拶の柱は 840px から 850px へ）。
 * 内側余白・外側余白・文字の大きさ・行間は移行元の固定値をそのまま写している。
 *
 * ------------------------------------------------------------------
 * 画像の参照の書き換え
 * ------------------------------------------------------------------
 * 移行元の CSS は url(/branch/images/…) という絶対パスで書いている。移行先で
 * これは画像ではなく店舗一覧ページの URL を指してしまう。テーマに取り込んだ
 * 実体（assets/branch/images/ と assets/sp/branch/images/。Task #1645）へ、
 * このファイルからの相対で参照し直してある。
 * ============================================================== */

/* --------------------------------------------------------------
 * 項目 1: 見出し「店舗のご案内」（.guide-set.intro）
 * 写し元: style_renew.css の 830-838 行目と 965 行目
 * -------------------------------------------------------------- */

.pa-profile-legacy-compat .pa-branch__content .guide-set.intro {
	margin-bottom: 105px;
}

/* 移行元は薄緑の帯に白文字を置き、角を丸める。移行先の既定は透明・左揃えの
   ただの段落なので、帯の形から作り直す. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .ttl {
	margin: 0 0 25px;
	padding: 2px 0;
	border-radius: 30px;
	background: #b6b694;
	color: #fff;
	font-size: 16px;
	text-align: center;
}

.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .text {
	margin: 0 0 28px;
	font-size: 16px;
}

.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .text .note {
	display: block;
	margin-top: 15px;
	font-size: 12px;
}

/* 写真 3 枚の横並び。移行元は入れ物を左へ 10px ずらし、各枚に左 10px の間隔を
   付けて 3 等分している（本文 1,100px のとき 1 枚 360px）。移行先の本文は
   1,090px なので、360px の固定では 10px あふれる。入れ物の幅を 3 等分する式に
   直した。

   一覧の黒丸と字下げは、移行元では共通 CSS の reset が消していた。移行先の
   本文には reset が無く、既定の disc と字下げが残る（dev の実測値
   list-style-type: disc / padding-left: 25.6px）。ここで消す. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list {
	display: block;
	overflow: hidden;
	margin: 0 0 0 -10px;
	padding: 0;
	list-style: none;
}

.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li {
	float: left;
	width: calc(100% / 3 - 10px);
	margin-left: 10px;
}

/* --------------------------------------------------------------
 * 項目 2: 料金表の見出し「コース名」（.plan table）
 * 写し元: style_renew.css の 1631-1710 行目
 *
 * 罫線と見出しの中央揃えは style_renew.css には無く、移行元が全ページへ
 * 読み込んでいる共通 CSS（legacy/www.p-a.jp/public/css/common.css の
 * 288-296 行目）が出している。そこは td と th へ border: 1px solid（色の
 * 指定が無いので文字色と同じ色になる）を当てている。移行元のパソコン幅で
 * 見出しの罫線が白・中身の罫線が黒に見えるのは、この文字色ぶんの違いである。
 * 移行先には共通 CSS を持ち込まないため、料金表の中だけに写し直す。
 *
 * テーマは本文共通で th に金色の文字（.pa-branch__content th）を当てている。
 * ここのセレクタはクラス 4 つでそれより詳細度が高く、!important 無しで
 * 上書きできる. */
.pa-profile-legacy-compat .pa-branch__content .plan table {
	width: 100%;
	margin: 28px 0 10px;
}

.pa-profile-legacy-compat .pa-branch__content .plan table th,
.pa-profile-legacy-compat .pa-branch__content .plan table td {
	border: 1px solid currentColor;
	vertical-align: middle;
}

/* ------------------------------------------------------------------
   料金表の列幅を移行元へそろえる（Bug #5141・ユーザーの目視の指摘）
   ------------------------------------------------------------------
   直す前は**コース名の列が 41px 広く、価格の 4 列が 9〜12px ずつ狭かった**。狭くなった
   列で **6 桁の価格（198,000円 など）が移行元の 2 行に対して 3 行へ折り返していた**
   （移行元も「○○,○○○」と「円」で 2 行に折り返す。3 行になるのは dev だけだった）。

   直したのは 3 つ。**いちばん効いたのは箱の数え方である。**

   1. **箱の数え方を `content-box` へ戻す**。テーマは全体の既定で `border-box` を当てて
      おり、そのままだと**指定幅 188px の中へ内余白（左右 24px）と枠線（2px）が入り、
      中身に使える幅が 162px へ縮む**。移行元は `content-box` なので 188 + 24 + 2 = 214px
      を占める。`table-layout: auto` の列幅の配分はこの値で決まるため、**内余白や行の
      高さだけ直しても列幅は 1px も動かなかった**（実測で確認）
   2. **見出しの内余白を 25px 12px へ戻す**（写し元 `branch/css/style_renew.css` の
      1637〜1644 行。11px と書いていた）
   3. **行の高さを `normal` へ戻す**（移行元はこのセルに行の高さを与えていない）

   3 つを当てると、5 列とも移行元と同じ値になり（コース名 334.6 / 登録料 188.2 /
   初期費用 194 / 月会費 188.2 / 成婚料 194）、3 行の価格が消えた（2026-09-09 11:42 の実測）.
 */
.pa-profile-legacy-compat .pa-branch__content .plan table th,
.pa-profile-legacy-compat .pa-branch__content .plan table td {
	box-sizing: content-box;
	line-height: normal;
}

.pa-profile-legacy-compat .pa-branch__content .plan table th {
	width: 188px;
	padding: 25px 12px;
	background: #486d94;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

.pa-profile-legacy-compat .pa-branch__content .plan table tr:nth-child(1) th:nth-child(1) {
	width: 450px;
}

.pa-profile-legacy-compat .pa-branch__content .plan table td {
	width: 154px;
	padding: 20px 28px 25px;
	font-size: 16px;
}

.pa-profile-legacy-compat .pa-branch__content .plan table tr:nth-child(1) td:nth-child(1) {
	width: 416px;
}

.pa-profile-legacy-compat .pa-branch__content .plan table tr:last-child td {
	padding: 25px 15px 30px;
}

.pa-profile-legacy-compat .pa-branch__content .plan table tr:last-child td:first-of-type {
	padding: 25px 28px 30px;
}

/* 中身の行内見出し（コース名）と金額. */
.pa-profile-legacy-compat .pa-branch__content .plan table td .course {
	display: block;
	margin-bottom: 7px;
	color: #486d94;
	font-size: 20px;
	font-weight: bold;
}

.pa-profile-legacy-compat .pa-branch__content .plan table td .price {
	display: block;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

.pa-profile-legacy-compat .pa-branch__content .plan table td .price_normal {
	display: block;
	padding-bottom: 3px;
	font-size: 0.7em;
	font-weight: normal;
}

.pa-profile-legacy-compat .pa-branch__content .plan table .need {
	width: 130px;
	padding-left: 48px;
	font-size: 18px;
	font-weight: bold;
}

.pa-profile-legacy-compat .pa-branch__content .plan table .need .price {
	text-align: left;
}

.pa-profile-legacy-compat .pa-branch__content .plan table .need .price:nth-child(2) {
	margin-bottom: 30px;
}

/* ------------------------------------------------------------------
   「料金の内容」の見出しと本文（Bug #5142・ユーザーの目視の指摘）
   ------------------------------------------------------------------
   移行元の写しはこの見出しに**字の大きさと下の外余白しか与えず、文字色を書かない**
   （写し元 `branch/css/style_renew.css` 1712〜1716 行の `.plan .price-body h3`）。
   宣言が無いぶんテーマの見出しの既定が残り、**移行元の黒 16px に対して金茶 22px**に
   なっていた（[Bug #2784] や [Bug #2732] と同じ「写しに宣言が無くテーマの値が残る」型）。

   実測（2026-09-09 11:32〜11:34・札幌店）:

     パソコン幅  移行元 16px・黒・行の高さ normal・下の外余白 15px
                 dev    22px・金茶 rgb(163,118,43)・行の高さ 33px・下の外余白 20px
     携帯幅      移行元 12px・黒／本文 12px
                 dev    19px・金茶／本文 14px

   本文（`.txt`）も移行元はパソコン幅 14px・携帯幅 12px で、行の高さは両方 1.45 である
   （写し元 1718〜1721 行と `sp/branch/css/style_renew.css` 1441〜1445 行）.
 */
.pa-profile-legacy-compat .pa-branch__content .plan .price-body h3 {
	margin-bottom: 10px;
	color: #000;
	font-size: 12px;
	font-weight: bold;
	line-height: normal;
}

.pa-profile-legacy-compat .pa-branch__content .plan .price-body .txt {
	margin-top: 0;
	font-size: 12px;
	line-height: 1.45;
}

@media (min-width: 750px) {
	.pa-profile-legacy-compat .pa-branch__content .plan .price-body h3 {
		margin-bottom: 15px;
		font-size: 16px;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan .price-body .txt {
		font-size: 14px;
	}
}

/* 取り扱いを終えた区分は薄く見せる. */
.pa-profile-legacy-compat .pa-branch__content .plan table .gray_premium td {
	background-color: #dfdfdf;
	opacity: 0.5;
}

.pa-profile-legacy-compat .pa-branch__content .plan .note {
	margin-bottom: 27px;
	font-size: 10px;
	text-align: right;
}

/* 料金表は本文に 2 組ある（Bug #1734）。移行元はパソコン版と携帯版で料金表の
   組み方そのものが違い、CSS だけでは寄せられないため、投入スクリプトが両方の
   組み方を本文へ入れている（scripts/pa-cms/build-import-payload.py の
   _augment_plan_table_with_sp_markup）。
     table.pa-plan-table-pc … パソコン版の組み方。コース名を 1 列目に入れた表 1 個
     .pa-plan-table-sp      … 携帯版の組み方。コース名の見出しの箱（.table-area）と
                              そのコースの金額だけの表を 1 組にして並べたもの
   750px 以上ではパソコン版だけを出す。入れ替えは 749px 以下の側で行う。
   切り替えの幅はテーマの既存の区切り（749px / 750px）をそのまま使っている. */
.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp {
	display: none;
}

/* --------------------------------------------------------------
 * 項目 3: 押しボタン「ご予約フォームへ」（.firststep の導線）
 * 写し元: style_renew.css の 1435-1510 行目
 *
 * 【移行元の作りの食い違いを、そのまま写している箇所がある】
 * 移行元は赤いボタンの当て方がパソコン版と携帯版で違う。
 *   パソコン版 … .link-list li:nth-child(1) a（「1 個目の項目」という並び順）
 *   携帯版     … .link-list li .btn a（.btn というクラス）
 * 広島の店舗ページは 1 個目の項目が電話番号（囲みの中に a が無い）なので、
 * 移行元でもパソコン幅では赤くならず、携帯幅でだけ赤くなる。改装版 5 ページ
 * のうち 1 個目が電話番号なのは広島だけで、札幌・高崎・福岡・仙台はどれも
 * 1 個目が予約フォームへの押しボタンである（移行元の markup を実測して
 * 確認済み）。移行先は 1 つの URL で両方の幅を出すため、移行元のまま写すと
 * 「画面を狭めるとボタンの色が変わる」ページが 1 枚残る。
 * どちらか一方の当て方へ揃えると移行元の見た目が変わり、デザイン変更の
 * 承認が要るため、ここでは揃えずに移行元のまま写している.
 * -------------------------------------------------------------- */

.pa-profile-legacy-compat .pa-branch__content .firststep .content-wrap {
	margin-top: 76px;
	overflow: hidden;
}

/* 移行元は文章を左 580px、写真を右 460px の 2 列に組む. */
.pa-profile-legacy-compat .pa-branch__content .firststep .content-area {
	float: left;
	width: 580px;
	margin-top: -2px;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .txt {
	margin-bottom: 1.8em;
	font-size: 16px;
	line-height: 1.6;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .img {
	float: right;
	width: 460px;
}

/* 一覧の黒丸と字下げは、移行元では共通 CSS の reset が消していた（項目 1 と
   同じ事情）. */
.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list {
	overflow: hidden;
	margin: 44px 0 0;
	padding: 0;
	list-style: none;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li {
	float: left;
	width: 320px;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li h4 {
	margin: 0 0 8px;
	color: #486d94;
	font-size: 16px;
	font-weight: bold;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li p {
	box-sizing: border-box;
	height: 60px;
	margin: 0;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

/* 移行先の a は既定のまま（display: inline）で、押しボタンの形にならない。
   高さ 60px の箱へ組み直す. */
.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li a {
	display: block;
	box-sizing: border-box;
	height: 60px;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li:nth-child(1) a {
	position: relative;
	padding: 16px 0 0 20px;
	background: #c51f10;
	color: #fff;
	text-decoration: none;
}

/* 左に指輪の絵、右端に右向きの矢印を重ねる. */
.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li:nth-child(1) a::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 40px;
	display: block;
	width: 18px;
	height: 30px;
	background: url("../branch/images/branch_icon_res.png?ver=d32e7ae3d8e9") no-repeat 0 0;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li:nth-child(1) a::after {
	content: "";
	position: absolute;
	top: 25px;
	right: 10px;
	display: block;
	width: 6px;
	height: 11px;
	background: url("../branch/images/icon_arrow_right_wh.png?ver=67e621b72d45") no-repeat 0 0;
}

/* --------------------------------------------------------------
 * 項目 4: 「成婚率No.1の全国区ブランド × 地元密着のサポート」の区画
 * 写し元: style_renew.css の 346-535 行目
 *
 * 移行元の組み立ては次のとおりである。
 *   1. 店内写真を敷いた帯（.parallax__fix、高さ 500px）を置く
 *   2. すぐ下の本文（.brand .content-wrap）を上へ 500px 引き戻し、写真の上に
 *      白抜きの見出しと本文を重ねる
 *   3. その下に青いカードと淡緑のカードを左右に並べ、間に「×」を置く
 *   4. 最後にベージュの帯で締める
 * 写真の高さ 500px と引き戻しの -500px は必ず組で扱う。片方だけだと本文が
 * 大きくずれる（携帯幅では 375px の組になる）。
 * -------------------------------------------------------------- */

/* 背景写真。移行元は画面の幅いっぱいに広げている。移行先の本文の入れ物は
   1,090px なので、そのままでは本文幅で止まる。テーマにある主役の絵の全幅
   表示（このファイルの .mainvisual.is-slider-ready）と同じ 3 つ組で広げる。
     1. ここの width: 100vw と margin-inline: calc(50% - 50vw)
     2. 祖先の切り落としを外す指定（すぐ下の .page-branch と、携帯幅の
        .pa-branch__content）
     3. body 側の overflow-x: clip（すぐ下）
   1 つでも欠けると、写真の左右が切り落とされるか、横スクロールが出る。

   祖先の切り落としを外す指定は :has() でこの区画を持つページだけに絞る。
   ほかの店舗ページ（旧デザイン 24 店舗）の切り落としは残す.

   Task #1798 で当て先を広げた。移行元はこの 3 本を区画で絞らず全ページ共通に
   当てており（style_renew.css の 343・357・361 行目）、帯は 1 ページに 6 か所
   出る。ここを .brand の中だけに絞っていたため、残る 5 か所は帯が出ないまま
   だった。詳しい経緯と、それが引き起こしていた「白抜き見出しが金茶のまま残る」
   不一致は、このファイルの項目 8 に書いてある。

   .parallax__fix（高さ 500px）が付くのはこの区画の 1 か所だけなので、絞りを
   外しても高さの指定は他へ広がらない（dev の店舗系 132 ページで実測 5 件 =
   改装版 5 ページに 1 つずつ）. */
.pa-profile-legacy-compat .pa-branch__content .parallax {
	display: block;
	background-attachment: fixed;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.pa-profile-legacy-compat .pa-branch__content .parallax__fix {
	min-height: 500px;
}

.pa-profile-legacy-compat .pa-branch__content .parallax-ttl {
	background-color: #9fb6cc;
	background-image: url("../branch/images/cont_ttl_bg.png?ver=f6e26dd9c387");
}

.pa-profile-legacy-compat .pa-branch__content .page-branch:has(.brand .parallax__fix) {
	overflow-x: visible;
}

body.pa-profile-legacy-compat:has(.pa-branch__content .brand .parallax__fix) {
	overflow-x: clip;
}

/* 写真の上へ本文を引き戻す。上の min-height: 500px と対の値である. */
.pa-profile-legacy-compat .pa-branch__content .brand .content-wrap {
	margin-top: -500px;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-txt-box {
	margin-bottom: 40px;
}

/* 写真に重ねる見出しと本文。テーマは本文共通で見出しへ濃い色を当てており、
   そのままでは写真の上で読めない。移行元が同じ場所で使っている白抜きと
   影の指定（style_renew.css の 214-224 行目・298-305 行目）を写す。
   移行元は全ページ共通で当てているが、ここでは この区画（.brand）の中だけに
   絞ってある. */
/* 🚨 **見出しの下の棒は、上の `.pa-branch-renew … .content-headline::after` で
   移行元どおりに作り直した（Task #2621 の 2 番・2026-09-08）。**もとはここに
   「テーマは金色の罫線で代えているので色だけ白へ合わせる」と書いてあったが、
   実測すると罫線の幅は 0px で 1 本も描かれておらず、色の宣言は何もしていな
   かった。色の宣言は外し、字の色だけを残してある. */
.pa-profile-legacy-compat .pa-branch__content .brand .content-headline__wh {
	color: #fff;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-headline__shadow {
	text-shadow: 0 0 10px #486d94;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-txt-box .txt__wh {
	color: #fff;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-txt-box .txt__shadow {
	text-shadow: 0 0 10px #486d94;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-txt-box .txt__center {
	text-align: center;
}

/* 青いカード。移行元は 1,100px の中で「520 + 間 60 + 520」に組む。移行先の
   本文は 1,090px なので、520px の固定だと間が 50px に狭まる。内側余白を幅に
   含める数え方（border-box）にして半分から間の半分を引くと、間 60px を保った
   まま各カードが 515px になる（移行元との差は 5px）. */
.pa-profile-legacy-compat .pa-branch__content .brand-area {
	position: relative;
	box-sizing: border-box;
	float: left;
	width: calc(50% - 30px);
	margin: 60px 0 70px;
	padding: 40px 40px 60px;
	background: url("../branch/images/brand_bg.png?ver=e607f97525e3") no-repeat 50% #486d94;
}

/* テーマは本文の h3 の左へ金色の縦棒（border-left）を立てる。移行元のこの
   カードの見出しは縦棒の無い白い箱なので、ここでは消す. */
.pa-profile-legacy-compat .pa-branch__content .brand-area h3 {
	margin: 0;
	padding: 12px;
	border: 0;
	background: #fff;
	color: #486d94;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul {
	display: block;
	margin: 40px 0 0;
	padding: 0;
	list-style: none;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li {
	overflow: hidden;
	margin-top: 40px;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li .img {
	float: left;
	width: 100px;
}

/* 移行元は 440 - 絵 100 - 間 30 = 310px の関係。カードの幅が 515px に変わる
   ので、絵と間のぶんを引く式に直す. */
.pa-profile-legacy-compat .pa-branch__content .brand-area ul li p {
	float: right;
	width: calc(100% - 130px);
	margin: 24px 0 0;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li p strong {
	font-size: 25px;
	line-height: 1.9;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li p strong.en {
	font-size: 30px;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(2) p {
	margin-top: 0;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(2) p strong {
	margin-right: 0;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(3) p {
	margin-top: 20px;
}

.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(3) p strong {
	line-height: 1.2;
}

/* 2 枚のカードの間に置く「×」。移行元のパソコン版は画像ではなく文字である. */
.pa-profile-legacy-compat .pa-branch__content .brand-area::after {
	content: "×";
	position: absolute;
	top: 180px;
	right: -45px;
	width: 50px;
	height: 50px;
	color: #486d94;
	font-size: 70px;
	font-weight: bold;
}

/* 淡緑のカード。移行元は背景に店内写真（sapporo_support_bg.png）を敷く指定を
   持つが、対象のページはいずれも class="support-area support-area2" であり、
   .support-area2 の背景色が写真を打ち消す。写真は本文の中の
   <p class="bg-img"><img …></p> が持っている。そのため写真は移植しない. */
.pa-profile-legacy-compat .pa-branch__content .brand .support-area {
	box-sizing: border-box;
	float: right;
	width: calc(50% - 30px);
	margin: 60px 0 70px;
	padding: 40px 40px 60px;
	background: #b6b694;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area h3 {
	margin: 0;
	padding: 12px;
	border: 0;
	background: #fff;
	color: #b6b694;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul {
	display: block;
	margin: 40px 0 0;
	padding: 0;
	list-style: none;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li {
	overflow: hidden;
	margin-top: 40px;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li .img {
	float: left;
	width: 100px;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li p {
	float: right;
	width: calc(100% - 130px);
	margin: 20px 0 0;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li p strong {
	font-size: 26px;
	line-height: 1.6;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li:nth-child(2) p {
	margin-top: 16px;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li:nth-child(2) p strong {
	line-height: 1.9;
}

/* 本文の中の店内写真を、カードの下側へ重ねて置く. */
.pa-profile-legacy-compat .pa-branch__content .brand .support-area2 {
	position: relative;
	background: #b6b694;
}

.pa-profile-legacy-compat .pa-branch__content .brand .support-area2 .bg-img {
	position: absolute;
	right: 0;
	bottom: 60px;
	left: 0;
	margin: 0;
}

/* 締めのベージュの帯. */
.pa-profile-legacy-compat .pa-branch__content .brand .content-msg {
	clear: both;
	padding: 53px 0 58px;
	background-color: #f9f5e4;
	color: #a08046;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-msg p {
	margin: 0;
	font-size: 20px;
	font-weight: normal;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-msg p em {
	font-size: 24px;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-msg p.mini {
	margin-top: 15px;
	font-size: 16px;
	font-weight: bold;
}

/* 🚨 区画（`.brand`）で絞らない（Bug #4048）。移行元の
   `branch/css/_style_renew.css` の 279 行は `.content-msg sup { font-size: 10px }`
   で、区画を絞っていない。`.brand` に絞ると `.main` の区画の肩付き文字だけが
   テーマの既定（親の字 22px × `smaller` ≒ 18.33px）のまま残る。
   実測（1440px）: 移行元 10px 対 dev 18.34px。旧デザインの店舗 4 本
   （札幌・高崎・仙台・福岡）すべてで再現した。
   当たり先は `.pa-profile-legacy-compat .pa-branch__content` で旧デザインの
   店舗ページの中に絞られたままなので、ほかの区分へは広がらない。 */
.pa-profile-legacy-compat .pa-branch__content .content-msg sup {
	font-size: 10px;
}

.pa-profile-legacy-compat .pa-branch__content .brand .content-txt-note {
	margin-top: 10px;
}

/* --------------------------------------------------------------
 * 項目 5: 「Close up!」の折りたたみ（.closeup と .accordion-*）
 * 写し元: style_renew.css の 543-716 行目（パソコン版・26 本）
 *         sp/branch/css/style_renew.css の 484-655 行目（携帯版・24 本）
 *
 * 出るのは改装版の店舗詳細 5 ページ（広島・札幌・高崎・福岡・仙台）だけである。
 * 移行元でこのマークアップを持つ公開中のページはこの 5 ページしか無く、旧デザイン
 * 24 店舗と新デザイン 4 店舗は 1 件も持たない（移行元の HTML を全件検索して確認した）。
 *
 * 入れ子は次のとおりで、5 ページとも同じ形である。
 *   section.content.closeup > .content-wrap > .accordion-area.closeup-area
 *     ├ .accordion-head-area … h2 と h3 の見出し
 *     ├ .accordion-btn-area  … 空の div。文字と山形は擬似要素で出す
 *     └ .accordion-txt-area  … 本文。中に .content-area（写真と説明）が 2 つ
 *
 * 開け閉めする JavaScript（is-hide と is-show を付け外しする処理）は Task #1860 が
 * 担う。ここが持つのは見た目だけである。ただし畳んだときの高さ
 * （.accordion-txt-area.is-hide の height）は見た目の値なのでここに置く。
 *
 * 移行元にあるのに写していない規則が 4 本ある。理由はそれぞれの場所に書いた。
 * -------------------------------------------------------------- */

/* 灰色の帯。上辺の中央から下向きの三角を出して、上の区画から続いていることを
   示す（移行元 543・550 行）。

   帯は画面の幅いっぱいに広げる。移行元は 1440px 幅で帯 1,440px（左端 0）・白い札
   1,100px となり、札の左右に灰色が 170px ずつ見える。移行先はこの区画を本文の器
   （.single-content--branch。外枠 1,130px ＝ 内寸 1,100px）の内側に置くため、
   そのままでは帯が 1,100px で止まり、札と同じ幅になって札の輪郭が出ない。

   広げ方はテーマにすでにある 3 つ組に揃える（このファイルの店舗ページの主役の絵・
   改装版の背景写真・移行してきた一覧と同じ書き方）。
     1. ここの width: 100vw と margin-inline: calc(50% - 50vw)
     2. 祖先の切り落としを外す指定（すぐ下の .page-branch）
     3. body 側の overflow-x: clip（すぐ下）
   1 つでも欠けると、帯の左右が切り落とされるか、横スクロールが出る。100vw には
   縦スクロールバーの幅も含まれるため、3 番目は必ず要る。

   祖先の切り落としを外す指定は :has() でこの区画を持つページだけに絞る。旧デザイン
   27 ページと新デザイン 4 店舗の切り落としはそのまま残す. */
.pa-profile-legacy-compat .pa-branch__content .closeup {
	position: relative;
	overflow: hidden;
	padding: 70px 0;
	background-color: #e0e0e0;
}

/* 船橋店だけ、帯の写真が専用のものになる（Task #3901）。
   写し元は `branch/css/style_area1.css`:834 の
   `.page-branch.page-branch-funabashi .title-01 { background: url(…bg_tti01.jpg) }`。

   🚨 **移行元は一括指定（`background:`）なので、写真だけでなく位置・大きさ・
   繰り返しも初期化される。**上の共通の帯は「中央・幅いっぱい・繰り返さない」
   だが、**船橋店だけ「左上・元の大きさ・敷き詰める」になる**。移行元の本番で
   計算後の値を実測して確かめた（2026-09-05）。

   | | 共通（13 本） | 船橋店 |
   |---|---|---|
   | 写真 | `area1/bg_ttl01.jpg` | `kanto/funabashi/bg_tti01.jpg` |
   | 位置 | 50% 50% | **0% 0%** |
   | 大きさ | 100% | **auto** |
   | 繰り返し | no-repeat | **repeat** |

   写真だけを差し替えると、位置と大きさが移行元と食い違う。

   🚨 **ファイル名は `bg_tti01` である**（共通は `bg_ttl01`）。移行元の綴り違い
   だが、実体のファイル名なのでそのまま使う。

   店舗の目印は移行してきた本文が持つ `page-branch-funabashi` である。
   **この目印を持つのは 14 本のうち船橋店だけ**（移行元の写しを全数確認）。
   なお郡山・柏・天王寺は移行元の写し間違いで別店舗の目印を持つが（裁定 154）、
   船橋店の目印を持つページは無いので、ほかの帯は変わらない. */
body.pa-profile-legacy-compat .pa-branch__content .page-branch-funabashi .title-01:not(.title-01--nobg) {
	background-image: url("../branch/images/kanto/funabashi/bg_tti01.jpg?ver=085fcd593ed9");
	/* 一括指定の初期値と同じにする（0 0 と書くと計算後が 0px 0px になり、
	   移行元の 0% 0% と字面が食い違う。見た目は同じだが実測の突き合わせで差に出る）. */
	background-position: 0% 0%;
	background-repeat: repeat;
	background-size: auto;
}

/* 移行元 .page-branch の overflow-x: hidden は、帯を画面の幅まで広げると左右を
   切り落としてしまう。この区画を持つページだけ外す。横方向のはみ出しを抑える役目
   は、すぐ下の body 側の overflow-x: clip が引き継ぐ. */
.pa-profile-legacy-compat .pa-branch__content .page-branch:has(.closeup) {
	overflow-x: visible;
}

body.pa-profile-legacy-compat:has(.pa-branch__content .closeup) {
	overflow-x: clip;
}

/* 帯を広げたぶん、白い札の器は元の幅へ戻す。テーマはこのページの .content-wrap を
   「テンプレート側が既に幅を絞っている」前提で幅いっぱいにしているが、上で帯を器の
   外へ出したので、この区画の中だけその前提が崩れる。

   値の出どころは 2 つある。
     パソコン幅  移行元の器は 1,100px（移行元 style_renew.css 188 行）。Bug #1945 で
                 柱そのものを 1,100px へ揃えたので、ここも同じ値をそのまま写す
                 （それまでは柱が 1,090px だったため、10px 狭い値に合わせていた）
     携帯幅      移行元は左右に 20px ずつの余白を空ける（移行元 sp 版で実測。
                 375px 幅で帯 375px・札 335px）
   min() で 1 本にまとめてある。1,440px 幅なら 1,100px、375px 幅なら 335px になる。

   このファイルの中で 1,090px を宣言として直書きしていたのはここだけだった
   （Bug #1945 の調査で実測）。ほかの箇所は割合や calc() で柱の幅から導いているため、
   柱が 1,100px になれば自動で追従する. */
.pa-profile-legacy-compat .pa-branch__content .closeup .content-wrap {
	width: min(1100px, 100% - 40px);
	margin-inline: auto;
}

.pa-profile-legacy-compat .pa-branch__content .closeup::before {
	content: "";
	position: absolute;
	top: 70px;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -40px;
	border-width: 30px 40px 0 40px;
	border-style: solid;
	border-color: #e0e0e0 transparent transparent transparent;
}

/* 白い角丸のカード（移行元 563 行）。下の内余白 85px は、この中へ浮かせて置く
   押しボタン（.accordion-btn-area の bottom: 50px）の居場所である. */
.pa-profile-legacy-compat .pa-branch__content .closeup-area {
	position: relative;
	padding-bottom: 85px;
	border-radius: 6px;
	background-color: #fff;
}

/* 本文の中の 2 列（移行元 570-578 行）。移行元は本文 1,100px から左右の内余白
   100px を引いた 1,000px に「480 + 間 40 + 480」で組む。移行先の本文は 1,090px
   なので、480px の固定のままだと間が 30px に縮む。半分から間の半分を引く式に
   直すと、間 40px を保ったまま 1 列 475px になる（移行元との差は 5px）。器の幅の
   差を列の幅で吸収する考え方は、この区画の青いカード（項目 4）と同じである. */
.pa-profile-legacy-compat .pa-branch__content .closeup .content-area {
	width: calc(50% - 20px);
}

.pa-profile-legacy-compat .pa-branch__content .closeup .content-area:nth-child(even) {
	float: left;
}

.pa-profile-legacy-compat .pa-branch__content .closeup .content-area:nth-child(odd) {
	float: right;
}

/* 写真（移行元 582 行）。移行元の HTML は p にも img にも class="img" を付けて
   いるので、この 1 本が両方に当たる. */
.pa-profile-legacy-compat .pa-branch__content .closeup .content-area .img {
	margin-bottom: 5px;
}

/* 写真の下の説明（移行元 586 行）。テーマは店舗の本文の .txt へ行間 1.8 を当てて
   いるが、下の .accordion-txt-area p（クラス 3 つ + 要素 1 つ）が持つ 1.6 の方が
   強いので、ここでは行間を書かない。移行元も 1.6 で、あちらは .accordion-txt-area
   からの受け継ぎで同じ値になっている. */
.pa-profile-legacy-compat .pa-branch__content .closeup .content-area .txt {
	font-size: 14px;
}

/* 見出しの入れ物（移行元 590・594 行）。カードの上辺の中央にも同じ三角を出す. */
.pa-profile-legacy-compat .pa-branch__content .accordion-head-area {
	position: relative;
	padding: 38px 50px 12px;
}

.pa-profile-legacy-compat .pa-branch__content .accordion-head-area::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 0;
	height: 0;
	margin-left: -40px;
	border-width: 30px 40px 0 40px;
	border-style: solid;
	border-color: #e0e0e0 transparent transparent transparent;
}

/* 「Close up!」の見出し（移行元 608 行）。テーマは本文の h2 へ下向きの罫線・下の
   内余白・上の外余白・字間 0.05em を足しているが（このファイルの .entry-content
   :is(h2, h3, h4, h5, h6) と .entry-content h2）、移行元はどれも持たないので
   打ち消す. */
.pa-profile-legacy-compat .pa-branch__content .accordion-head-area h2 {
	margin-top: 0;
	margin-bottom: 30px;
	padding-bottom: 0;
	border-bottom: 0;
	color: #486d94;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: normal;
	text-align: center;
}

/* 副見出し（移行元 616 行）。テーマは本文の h3 へ左の縦罫線・左の内余白・見出しの
   金茶・上下の外余白・字間を足しているが、移行元はどれも持たないので打ち消す。

   太さは太字である。移行元の共通 reset（public/css/common.css）は 95 行目で
   h1〜h6 を font-weight: normal にした後、260 行目で同じ 6 つを font-weight: bold
   に戻しており、**後に書いた 260 行目が勝つ**。改装版のページはこの reset を
   css/import.css 経由で読む。移行元の実測でも 700 である（1440px 幅・広島）。
   携帯版も同じく太字である. */
.pa-profile-legacy-compat .pa-branch__content .accordion-head-area h3 {
	margin: 0;
	padding-left: 0;
	border-left: 0;
	color: inherit;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: normal;
	text-align: center;
}

/* 副見出しの中の強い一文（移行元 621 行）。こちらも太字である。共通 reset は
   71 行目で strong を font-weight: normal にした後、317 行目で em と strong を
   font-weight: bold に戻しており、**後に書いた 317 行目が勝つ**。テーマも本文の
   strong を太字にする（.entry-content :is(strong, b)）ので、打ち消さずに
   そのまま通す. */
.pa-profile-legacy-compat .pa-branch__content .accordion-head-area h3 strong {
	display: block;
	margin-top: 6px;
	font-size: 20px;
	font-weight: bold;
}

/* 移行元 627 行の .accordion-head-area.open:after は写していない。移行元でも一度も
   描かれないためである。開け閉めの JavaScript（移行元 branch/js/function.js の
   28 行目）は open を .accordion-txt-area にしか付けず、見出しには付けない。
   加えて土台の .accordion-head-area:after が無く content の指定も無いので、仮に
   open が付いても擬似要素そのものが作られない。携帯版 564 行も同じ理由で写して
   いない。写さないでおくと、Task #1860 が open の付け先を見出しへ広げても、
   移行元に無い矢印が出ることがない. */

/* 「続きを読む」の押しボタン（移行元 634 行）。移行元の div は空で、中の文字も
   右端の山形も擬似要素で出す. */
.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area {
	position: absolute;
	bottom: 50px;
	left: 50%;
	width: 160px;
	margin-left: -80px;
	padding: 5px 0;
	border-radius: 6px;
	background-color: #000;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	cursor: pointer;
}

/* マウスを載せたときの減光（移行元 651 行）。移行元の携帯版はこの規則を持たない
   ので、下の携帯幅のブロックで元へ戻す. */
.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area:hover {
	opacity: 0.5;
}

/* 押しボタンの文字と山形（移行元 655-677 行）。ここから 4 本はパソコン版と携帯版で
   値がまったく同じなので、既定に 1 本ずつ置いて両方の幅で使う. */
.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area::before {
	content: "続きを読む";
}

.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 15px;
	height: 9px;
	margin-top: -5px;
	background-image: url("../branch/images/icon_arrow_acc_open_wh.png?ver=bf080bdf465d");
	background-repeat: no-repeat;
	background-size: cover;
}

.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area.is-show::before {
	content: "閉じる";
}

.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area.is-show::after {
	background-image: url("../branch/images/icon_arrow_acc_close_wh.png?ver=f43d6f35a37f");
}

/* 折りたたむ本文（移行元 681 行）。段落の行間 1.6 は、移行元ではこの入れ物から
   受け継がれている。テーマは本文の段落へ行間を直接指定しており（.entry-content p）、
   直接の指定は受け継ぎに必ず勝つ。そのため下の .accordion-txt-area p でも 1.6 を
   書き直してある. */
.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area {
	overflow: hidden;
	padding: 12px 50px 10px;
	font-size: 16px;
	line-height: 1.6;
}

/* 畳んだときの高さ（移行元 688 行）。is-hide を付け外しするのは Task #1860 の担当で、
   ここは付いたときの高さだけを持つ。

   移行元は 4.5em と書いているが、**そのまま写すと文字が見える量が減る**。移行元は
   箱の数え方が content-box で、4.5em は内余白を含まない「文字が見える高さ」を指す。
   テーマの既定は border-box なので、同じ 4.5em が内余白まで含んだ全体の高さになり、
   文字が見える高さが 72 − 12 − 10 ＝ 50px へ縮む（移行元の実測は 72px）。

   そこで内余白のぶん（上 12px ＋ 下 10px）を足した値を書く。この要素だけ数え方を
   content-box へ変える手もあるが、**採らない**。開け閉めの処理（Task #1860）が
   offsetHeight（内余白を含む高さ）を測って直接指定の height へ入れるため、数え方を
   変えると動いている間だけ 22px 高くなってしまうからである。数え方は border-box の
   まま、書く値のほうを合わせるほうが、見た目も動きも移行元と揃う。

   em のまま書いてあるのは、文字を大きくする設定でも移行元と同じく伸びるようにする
   ためである（4.5em ＝ 16px × 4.5 ＝ 72px）. */
.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area.is-hide {
	position: relative;
	height: calc(4.5em + 22px);
}

/* 畳んだ本文の下端にかける白いぼかし（移行元 693 行）。移行元は同じ見た目を 5 通りの
   書き方で並べており、実際に描かれるのは WebKit 系の古い書き方（-webkit-gradient）
   である。最後の接頭辞なしの 1 行は向きを to bottom ではなく top と書いているため、
   いまの標準の文法としては成り立たず読み飛ばされる。このファイルは接頭辞を 1 つも
   使わない方針なので、色の止め位置は移行元のまま写したうえで、書き方だけ標準の
   1 行にまとめた（上から下へ、同じ 4 つの止め位置）。50% の止め位置が 2 つ並ぶのも
   移行元のままである（同じ色なので見た目には出ない）. */
.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area.is-hide::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	height: 30px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 80%);
}

/* 移行元 708 行の .accordion-txt-area.open { display: block } は写していない。
   div の既定が block であり、移行元にもこのテーマにも、この要素を display: none に
   する規則が 1 つも無いためである。携帯版 641 行も同じ理由で写していない. */

/* 段落（移行元 712 行）。行間は上に書いたとおり、受け継ぎではテーマの直接指定に
   負けるのでここで書き直す. */
.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area p {
	margin-bottom: 20px;
	line-height: 1.6;
}

/* 小見出し（移行元 716 行）。テーマは本文の見出しへ上の外余白・字間・行間を足して
   いるが、移行元は持たない（共通 reset の 77 行目が余白を 0 にする）。行間は
   1 つ上の .accordion-txt-area の 1.6 を受け継ぐのが移行元で、テーマは 1.5 を
   直接指定している。直接指定は受け継ぎに必ず勝つので、ここで 1.6 を書き直す
   （14px × 1.6 = 22.4px。テーマのままだと 21px になる）。

   太さは太字である。共通 reset の 260 行目が h1〜h6 を font-weight: bold に
   戻しているためで、移行元の実測でも 700 である. */
.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area h4 {
	margin-top: 0;
	margin-bottom: 17px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: normal;
}

/* --------------------------------------------------------------
 * 項目 5 の携帯幅（749px 以下）の値
 * 写し元: sp/branch/css/style_renew.css の 484-655 行目
 *
 * この区画の取り決めどおり、750px 以上は上の既定（移行元パソコン版）で出し、
 * 749px 以下をここで上書きする。上書きには 2 種類ある。
 *   1. 移行元の携帯版が別の値を持つもの
 *   2. 移行元の携帯版に対応する規則が無く、パソコン版の値が残ると困るもの。
 *      移行元はパソコン版と携帯版を別ファイルで配っていて混ざらないが、移行先は
 *      1 つの CSS を両方の幅へ配るため、ここで元へ戻す必要がある
 * 戻しに当たるのは .closeup .content-area の幅と回り込み、.closeup-area の下の
 * 内余白、.accordion-txt-area の左右の内余白、段落の下の外余白、押しボタンの
 * 減光の 5 か所である。
 * -------------------------------------------------------------- */

@media (max-width: 749px) {
	/* 灰色の帯と三角（移行元 484・492 行）. */
	.pa-profile-legacy-compat .pa-branch__content .closeup {
		margin-top: 0;
		padding: 50px 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .closeup::before {
		top: 50px;
		z-index: 1;
		margin-left: -27px;
		border-width: 20px 27px 0 27px;
	}

	/* 白いカード（移行元 506 行）。携帯版は下の内余白を持たない。押しボタンの
	   居場所は、下の .accordion-area が持つ内余白 65px が作る. */
	.pa-profile-legacy-compat .pa-branch__content .closeup-area {
		padding-bottom: 0;
	}

	/* 移行元の携帯版に .accordion-area の指定がある（519 行）。パソコン版には
	   同じ指定が無く、上の既定にも置いていない. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-area {
		position: relative;
		padding: 0 20px 65px;
	}

	/* 2 列をやめて縦に積む。移行元の携帯版は幅も回り込みも指定しないので、上の既定を
	   元へ戻す（移行元にこの規則は無い・束ね直しのための戻し）。:nth-child を付けた
	   2 本も並べて書いてあるのは、上の既定がその形で回り込みを指定しており、擬似
	   クラスのぶんだけ強いためである。クラスだけの 1 本では回り込みを解除できない
	   （Chrome の計算値で float が left / right のまま残ることを確かめた）. */
	.pa-profile-legacy-compat .pa-branch__content .closeup .content-area,
	.pa-profile-legacy-compat .pa-branch__content .closeup .content-area:nth-child(even),
	.pa-profile-legacy-compat .pa-branch__content .closeup .content-area:nth-child(odd) {
		width: auto;
		float: none;
	}

	/* 写真と説明（移行元 511・515 行）. */
	.pa-profile-legacy-compat .pa-branch__content .closeup .content-area .img {
		margin-bottom: 10px;
	}

	.pa-profile-legacy-compat .pa-branch__content .closeup .content-area .txt {
		font-size: 12px;
	}

	/* 見出しの入れ物と三角（移行元 524・528 行）。左右の内余白は
	   .accordion-area が持つので、ここは上下だけになる. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-head-area {
		padding: 30px 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .accordion-head-area::before {
		margin-left: -27px;
		border-width: 20px 27px 0 27px;
	}

	/* 見出しと副見出し（移行元 543・551・557 行）。携帯版は副見出しと強い一文の
	   太字を明示している。既定の側も太字なので値は同じだが、移行元が書いている
	   宣言はそのまま写す. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-head-area h2 {
		font-size: 14px;
	}

	.pa-profile-legacy-compat .pa-branch__content .accordion-head-area h3 {
		font-size: 12px;
		font-weight: bold;
	}

	.pa-profile-legacy-compat .pa-branch__content .accordion-head-area h3 strong {
		font-size: 18px;
		font-weight: bold;
	}

	/* 押しボタン（移行元 573 行）。文字と山形の 4 本は値が同じなので既定のまま使う. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area {
		bottom: 30px;
	}

	/* 移行元の携帯版はマウスを載せたときの減光を持たないので元へ戻す
	   （移行元にこの規則は無い・束ね直しのための戻し）. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-btn-area:hover {
		opacity: 1;
	}

	/* 折りたたむ本文（移行元 616 行）。携帯版は上の内余白だけを持ち、左右と下は
	   持たない。文字の大きさと行間も指定が無く、下の段落と小見出しが個別に持つ. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area {
		padding: 12px 0 0;
	}

	/* 畳んだときの高さとぼかし（移行元 621・626 行）。

	   移行元は 6em と書いているが、**そのまま写すと移行元より背が高くなる**。理由が
	   2 つ重なっている。

	     文字の土台   em はその要素の文字の大きさを 1 とする単位で、移行元の携帯版は
	                  土台が 13px なので 6em ＝ 78px になる。テーマの土台は 16px な
	                  ので、同じ 6em が 96px になってしまう
	     箱の数え方   既定の側に書いたとおり、移行元は内余白を高さに含めない

	   そこで**移行元の実測（文字が見える高さ 78px）に、携帯版の上の内余白 12px を
	   足した値**を書く。携帯版は左右と下の内余白を持たないので、足すのは 12px だけ
	   である. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area.is-hide {
		height: 90px;
	}

	.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area.is-hide::before {
		height: 40px;
	}

	/* 段落（移行元 655 行）。携帯版は下の外余白を持たないので、既定の 20px を
	   元へ戻す。列どうしの間隔は、次の .content-area:last-child が作る. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area p {
		margin-bottom: 0;
		font-size: 14px;
	}

	/* 最後の列の下の間隔（移行元 645 行）。パソコン版には同じ指定が無い. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area .content-area:last-child {
		margin-bottom: 20px;
	}

	/* 小見出し（移行元 649 行）。携帯版は上下の外余白と太字を明示している。

	   行間は既定側で 1.6 を書いたので、ここで 1.5 へ戻す。移行元の携帯版は
	   1 つ上の折りたたむ本文にも小見出しにも行間の指定を持たず、実測は 18px
	   （12px × 1.5）である。既定の 1.6 が残ると 19.2px になり 1.2px 高くなる. */
	.pa-profile-legacy-compat .pa-branch__content .accordion-txt-area h4 {
		margin: 30px 0 10px;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.5;
	}
}

/* --------------------------------------------------------------
 * 項目 6: 地図の押しボタン「大きな地図で見る」（.guide-set.shop .map-area .btn）
 * 写し元: style_renew.css の 952-963 行目（パソコン版・規則 1 本）
 *
 * 出るのは改装版の店舗詳細だけである。数えた当時は 5 ページ（広島・札幌・高崎・
 * 福岡・仙台）で、dev の店舗系 132 ページを全部取り寄せた結果は改装版 5 件・
 * 旧デザイン 27 ページ 0 件・新デザイン 4 店舗 0 件・共通 96 ページ 0 件だった。
 *
 * 🚨 **2026-09-07 の実測では 4 ページである。**広島店の dev の実体は
 * `/branch/branch-chugoku-index_hiroshima/` で、そのページは `guide-set` の区画を
 * 1 つも持たない（世代の違う古い型で、移行元スマホ版も同じ型である）。
 *
 * ------------------------------------------------------------------
 * .guide-set.shop を省いてはいけない
 * ------------------------------------------------------------------
 * 新デザインの 4 店舗（銀座・新宿・静岡・岡山）も `.map-area .btn a` という
 * 同じ形を持つ（実測 4 件）。この 2 語が無いとそちらへ波及する。節の冒頭に書いた
 * .pa-profile-legacy-compat の前置と合わせて、二重に防いでいる。
 *
 * ------------------------------------------------------------------
 * 🚨 携帯幅は移行元スマホ版の姿へ寄せる（Bug #4335・裁定 374 で案 A に決定）
 * ------------------------------------------------------------------
 * 🚨🚨 **ここに在った「携帯幅の上書きを置かない理由」は誤りだったので
 * 2026-09-07 に取り消した。**そこには「移行元でもパソコン版のページを 375px まで
 * 狭めると同じ 300 × 40px の黒帯が出る（実測）」と書いてあったが、**携帯幅の
 * 移行元はパソコン版のページではなく `/sp/` の写しである**（正本
 * reference_mobile_legacy_needs_mobile_user_agent）。当時の実測は携帯の識別子
 * （User-Agent）を渡していなかったため、パソコン版のページを狭めた姿を見ていた。
 *
 * 移行元スマホ版はこの押しボタンを**絵**で出す（sp/branch/images/btn_tomap2.jpg・
 * 原寸 560 × 80px を 335px で描く）。**白地・細い薄灰の枠・黒の太字**で、
 * パソコン版の黒帯とは別の姿である。左に地図の押しピン、右に山形の矢印が付く。
 *
 *   幅 375px の実測（札幌店・2026-09-07）
 *     移行元スマホ版  絵のリンク   335 × 47.84px  白地に黒文字
 *     dev（直す前）   文字のリンク 300 × 40px     黒地に白文字
 *
 * 全体原則（feedback_visual_fidelity_image_text_principle）に従い、**絵に焼き
 * 込まれた文言はテキストのまま置き、地と飾りだけを CSS で作る**。markup は
 * 触らないので読み上げの順も変わらない。
 *
 * 🚨 **出るのは 4 店（札幌・高崎・福岡・仙台）である。広島店は両側とも
 * この区画を持たない。**移行元スマホ版も dev も世代の違う古い型で、`guide-set` の
 * 区画そのものが無い（2026-09-07 に両側の実ページを取得して確かめた。dev は
 * `/branch/branch-chugoku-hiroshima/` ではなく `/branch/branch-chugoku-index_hiroshima/`
 * が実体で、前者は後者へ 301 する）。よってこの規則は広島店には当たらない。
 * -------------------------------------------------------------- */

/* 黒地に白の太字。右端から 10px の位置に白い矢印を置く（移行元 952 行）。

   移行元の url(/branch/images/…) は、この節の冒頭に書いたとおり、テーマに取り込んだ
   実体への相対参照へ書き換えてある。

   行間だけは移行元の書き方をそのまま写せない。移行元はこの要素に行間の指定を持たず
   normal（16px の文字で実測 24px）だが、移行先は .entry-content p が
   --pa-line-height-text（1.8）を渡すため、そのままだと文字の行が 28.8px になり、
   押しボタンの高さが移行元の 40px に対して 44.8px へ伸びる。移行元の実測値 24px に
   合わせて 1.5 を書く。

   text-decoration: none は移行元にも書いてあるが、移行先では .entry-content a が
   引く下線を消す役目も兼ねる。

   max-width は移行元に無い 1 行だが、移行先の狭い画面のために足す。移行先の本文は
   左右 15px の余白を持つため、画面幅 329px 以下では本文が 300px を割る。実測では
   320px 幅のとき本文 290px に対してこの押しボタンが 300px のままで、10px はみ出した
   （広島店・仙台店・2026-08-16 採取）。移行元の携帯版はこの押しボタンを別の画像で
   出すので、写せる値が無い。よって画面幅 330px 以上では移行元と同じ 300px を保ち、
   それより狭いときだけ本文の幅まで縮める形にする. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area .btn a {
	display: block;
	width: 300px;
	max-width: 100%;
	margin: 20px auto;
	padding: 8px 0;
	background: url("../branch/images/icon_arrow_right_wh.png?ver=67e621b72d45") no-repeat right 10px top 50% #000;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
}

/* --------------------------------------------------------------
 * 749px 以下だけの上書き（地図の押しボタン・Bug #4335・裁定 374 = 案 A）
 * 寄せ先: sp/branch/images/btn_tomap2.jpg（原寸 560 × 80px・335px で描く）
 *
 * 絵を画素で数えた結果（表示寸に直した値）
 *   箱          335 × 47.86px（比 560 : 80 = 7 : 1）
 *   地          #fff
 *   枠          #e3e3e3（外周 1px）
 *   文字        「大きな地図で見る」16px・太字・#000
 *   押しピン    幅 13.8 × 高さ 20.3px・文字と 2 つで 1 塊として中央に置く
 *   山形の矢印  幅 9.0 × 高さ 14.4px・右端から 17px
 *
 * 段落の外余白は移行元スマホ版の `<p class="mt10 mb20">` に合わせて上 10px・
 * 下 20px にする（パソコン幅は押しボタン自身の `margin: 20px auto` が持つ）。
 *
 * 🚨 **絵記号は新しい画像を増やさず CSS で描く。**押しピンは角丸を 3 隅だけ
 * 丸めた四角を 45 度回して涙の形にし、白い点を重ねる。矢印は枠線を 2 辺だけ
 * 残した四角を 45 度回す。どちらも字の大きさに追随する。
 * -------------------------------------------------------------- */
@media (max-width: 749px) {
	/* 押しボタンの箱と地（移行元スマホ版の絵の姿）。パソコン幅の黒地・白文字・
	   矢印の背景画像・幅 300px・左右中央寄せをここで打ち消す。

	   🚨 **外余白は包む段落ではなく押しボタン自身に書く。**移行元スマホ版は段落に
	   `.mt10 .mb20`（上 10px・下 20px）を持つが、その値を段落へ書いても効かない。
	   項目 7 に**同じ当たり先で `margin: 0` の規則がこれより後ろに在る**ためで、
	   詳細度が同じなら後ろが勝つ（`@media` は詳細度を上げない）。押しボタン自身は
	   項目 6 の 1 本しか当たり先が無いので、そちらへ書けば順序に左右されない. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area .btn a {
		display: flex;
		position: relative;
		gap: 8px;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		margin: 10px 0 20px;
		border: 1px solid #e3e3e3;
		background: #fff;
		padding: 0;
		width: 100%;
		max-width: none;
		min-height: 47.86px;
		aspect-ratio: 560 / 80;
		color: #000;
		line-height: 1.5;
	}

	/* 地図の押しピン（絵の左の飾り）。涙の形にして白い点を重ねる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area .btn a::before {
		content: "";
		flex: none;
		border-radius: 50% 50% 50% 0;
		background: radial-gradient(circle at 50% 50%, #fff 0 30%, #000 31%);
		width: .875em;
		height: .875em;
		transform: rotate(-45deg) translate(.05em, -.05em);
	}

	/* 山形の矢印（絵の右の飾り）。右端から 17px の位置に置く. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area .btn a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 17px;
		border-top: 1.5px solid #000;
		border-right: 1.5px solid #000;
		width: .45em;
		height: .45em;
		transform: translateY(-50%) rotate(45deg);
	}
}

/* --------------------------------------------------------------
 * 項目 7: 店舗情報と地図の区画（.guide-set.shop・Task #1875 と Task #1908）
 * 写し元: style_renew.css の 734・904-950 行目・2,180 行目（パソコン版）
 *         sp/branch/css/style_renew.css の 784-824 行目（携帯版）
 *         css/common.css の 75-78 行目（段落の外余白を 0 にする共通の reset）
 *         移行元の iframe の style="border:0"（HTML に直接書かれている分）
 * 規則の内訳と、それぞれがどちらの Task で入ったかは、下の各規則の見出しに書いてある。
 *
 * 出るのは改装版の店舗詳細 5 ページ（広島・札幌・高崎・福岡・仙台）だけである。
 *
 * ------------------------------------------------------------------
 * この項目が 2 つの Task に分かれている理由
 * ------------------------------------------------------------------
 * 先に入った Task #1875 は、表の装飾（罫線・字の色・セルの内余白）だけを写した。
 * 移行元はこの区画を 2 列に組む（右に表 580px・左に地図 460px）が、当時の dev は
 * この区画に地図の埋め込み（iframe）を 1 件も持たなかった。本文の取り込みが iframe を
 * 落とすためである。地図が無いまま 2 列にすると左の 460px が空のまま残り、1 列の
 * 現状より悪い中途状態になる。そこで 2 列組みは、地図を出す実装と同時に入れることを
 * 2026-08-17 に HQ が裁定した。
 *
 * その地図を出す実装が Task #1908 で、テーマ側の inc/branch-renew-map.php が
 * div.map-area の中へ移行元と同じ iframe を差し込む。2 列組みの 3 本（区画の
 * 回り込みの閉じ込め・表の列・地図の列）と、枠線と携帯幅の地図の幅は、その Task で
 * 足したものである。下の各規則の見出しに、どちらの Task が足したかを書いてある。
 *
 * ------------------------------------------------------------------
 * dev 側は「素のまま」ではない
 * ------------------------------------------------------------------
 * テーマの本文共通の表の装飾（.pa-branch__content th / td）が当たっており、
 * 見出しセルが金茶（#a3762b）・中央そろえ・幅 150px になっている。移行元へ戻すには
 * 移行元が書いている宣言をそのまま写して上書きする必要がある。値が既に一致している
 * 宣言（font-size: 16px・font-weight: bold・vertical-align: top）も、移行元が
 * 書いているものはそのまま写す。
 *
 * ------------------------------------------------------------------
 * 写さなかった宣言
 * ------------------------------------------------------------------
 * 移行元の .guide-set.shop は padding-top: 85px と margin-top: -85px を対で持つ
 * （904 行）。これはページ内の飛び先を固定ヘッダーのぶんだけずらす仕掛けで、
 * 上下の間隔としては差し引き 0 になる。移行先はヘッダーの高さが違い、この区画だけ
 * ずらしても揃わないため写さない。下の外余白（40px）だけを写す。
 * -------------------------------------------------------------- */

/* 区画の下の間隔（移行元 904 行）。dev は 60px。
   overflow: hidden は 2 列組みのため Task #1908 で足した 1 行である（移行元 734 行）。
   移行元は .guide-set のすべての版へまとめて書いているが、ここでは .shop に絞る。
   ほかの版（.feature / .member / .address / .intro）の回り込みは別の Task の担当で、
   この 1 行を広げると担当外の区画の間隔まで変わるためである。
   この 1 行が無いと、下の 2 つの列（回り込み）の高さが区画に伝わらない。実測では
   区画の高さが 0 になり、次の区画「店舗のご案内」（.guide-set.intro）が地図と
   556px ぶん重なった（広島店・パソコン幅 1440px・2026-08-19）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop {
	overflow: hidden;
	margin-bottom: 40px;
}

/* 表の列（移行元 910 行・Task #1908）。パソコン幅で右へ回り込ませ 580px にする。
   dev は回り込みも幅の指定も無く、本文の幅いっぱい（1,090px）に広がっていた. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area {
	float: right;
	width: 580px;
}

/* 地図の列（移行元 947 行・Task #1908）。パソコン幅で左へ回り込ませ 460px にする. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area {
	float: left;
	width: 460px;
}

/* 地図を包む段落（Task #1908）。移行元は共通の reset で段落の外余白を 0 にしている
   （css/common.css の 75-78 行）が、テーマの本文既定（.entry-content p）は下へ 25px を
   当てる（実測 0px 0px 25px）。そのままだと地図と押しボタンの間が、移行元の 20px に
   対して 25px になる。移行元の値へ戻す. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area .map {
	margin: 0;
	line-height: normal;
}

/* 🚨 **押しボタンを包む段落の外余白を打ち消す**（移行元 `css/common.css` の
   75〜78 行の初期化・Bug #4143）。移行元はこの段落の外余白を 0 にし、中の
   `a` に `margin: 20px auto` を書く（上の項目 6 で写した）。dev はテーマの
   本文既定（`.entry-content p` の下 25px）がこの段落にも乗る。

   段落の下 25px は中の `a` の下 20px と重なって（外余白の相殺）25px になり、
   移行元の 20px に対して +5px の差になっていた（札幌店・パソコン幅 1440px・
   2026-09-07 実測。地図の列の高さが移行元 546px 対 dev 550.5px。残り 0.5px は
   すぐ上の地図の段落の行送りぶんである）。

   🚨 **地図の段落の行送りも `normal` へ戻す**（すぐ上の規則）。地図の埋め込み
   （iframe）は行の中の要素なので、行送りが変わると下に付く余りが変わる。移行元は
   共通の初期化で `normal`・dev はテーマの既定 19.5px で、0.5px の差になっていた。
   項目 14・15 と同じ型で、この区画で 3 度目である. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area .btn {
	margin: 0;
}

/* 地図の枠線（移行元は iframe の style="border:0"・Task #1908）。移行元のインライン
   スタイルは CSS 側で再現する取り決め（scripts/pa-cms/sanitize-allowlist.json の
   style_attribute）に従い、ここで枠線を消す。この 1 行が無いと閲覧環境の既定が出る
   （Chrome の実測は 2px inset rgb(0, 0, 0)）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area iframe {
	border: 0;
}

/* 表の上の罫線（移行元 915 行）。dev には上の罫線が無い。

   🚨 **表の下の外余白を移行元へ戻す（Bug #4143）。移行元の値は幅で変わるので、
   ここは 0 を書く。**移行元スマホ版は初期化
   （`sp/css/basic.css`）で `table { margin: 0 }` を当て、スマホ版の改装版 CSS
   （`sp/branch/css/style_renew.css` 792 行）は表に `width: 100%` しか書かない。
   実測（札幌店・幅 375px・2026-09-07）でも移行元スマホ版は **0px** だった。
   パソコン幅の `1em` は、すぐ下の `@media (min-width: 750px)` で足す。

   🚨 **移行元スマホ版は、携帯の識別子（User-Agent）を渡さないと開けない。**
   `/sp/…` は机上向けの識別子だと PC 版へ 302 で戻る。Playwright の `isMobile` は
   画面の幅と触り操作を変えるだけで識別子を変えないため、**携帯幅なのにパソコン版を
   移行元として測る**事故が起きる（2026-09-07 に踏んだ）。

   🚨 **「このページの表すべて」へ広げてはいけない。**同じページの料金表
   （`table.pa-plan-table-pc` / `pa-plan-table-sp`）は移行元・dev とも上 28px 下 10px で
   **既に一致している**（札幌店で全数を測って確認）。`1em` をページ全体へ当てると、
   合っている 10px を 13px へ壊す. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table {
	width: 100%;
	margin-bottom: 0;
	border-top: 1px solid #e0e0e0;
}

/* パソコン幅の表の下の外余白（Bug #4143）。移行元は共通 CSS
   （`public/css/common.css` 288 行）の `table { margin-bottom: 1em }` で、表の字
   13px に対して 13px になる。dev はテーマの本文共通の表
   （`.entry-content table:not(.pa-form-table)` の `margin: 0 0 var(--pa-article-paragraph-gap)`）が
   25px を当てており、+12px の差になっていた（札幌店・幅 1440px・2026-09-07 実測。
   表の列の高さが移行元 650.67px 対 dev 662.67px）。

   🚨 **`13px` でなく `1em` で書く。**移行元がそう書いており、表の字が変わっても
   ついてくる. */
@media (min-width: 750px) {
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table {
		margin-bottom: 1em;
	}
}

/* 見出しセル（移行元 920 行）。青・左そろえ・幅 110px。テーマの既定は金茶・
   中央そろえ・幅 150px なので、そのすべてを上書きする。

   背景を透明へ戻す 1 行だけは移行元に無い。移行元の見出しセルは背景を持たない
   （実測 rgba(0, 0, 0, 0)）が、テーマが薄い青（rgb(242, 244, 247)）を敷いており、
   計算値の突き合わせでは気づけなかった（スクリーンショットの比較で見つけた）。
   移行元の見え方に戻すため、宣言が無いこと自体を写す形で透明を書く. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table th {
	width: 110px;
	padding: 18px 0 20px;
	border: none;
	border-bottom: 1px solid #e0e0e0;
	background-color: transparent;
	color: #486d94;
	font-size: 16px;
	font-weight: bold;
	line-height: normal;
	text-align: left;
	vertical-align: top;
}

/* 本文セル（移行元 932 行）。行の高さ 1.65 は dev の 1.5 より広い. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td {
	padding: 16px 0 20px;
	border: none;
	border-bottom: 1px solid #e0e0e0;
	font-size: 16px;
	line-height: 1.65;
	vertical-align: top;
}

/* 本文セルの中の注記（移行元 941 行）。dev では小さめの文字（small）が行の中に
   流れているが、移行元は行を改めて 12px で出す. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td .note {
	display: block;
	margin-top: 10px;
	font-size: 12px;
}

/* 注記の中のリンク（移行元 2,180 行）。本文共通のリンクの色を黒へ戻す.
   Issue #1875 の本文は写し元を 2,117 行と書いているが、実際は 2,180 行である
   （2,117 行はトップページの帯の指定で、この区画とは関係がない）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td .note a {
	display: block;
	color: #000;
	font-size: 12px;
}

/* --------------------------------------------------------------
 * 項目 8: どの区画にも属さない土台の指定（Task #1798）
 * 写し元: style_renew.css の 32・182・192-224・226・231-254・257-283・
 *         315-320 行目（パソコン版）
 *         sp/branch/css/style_renew.css の 23・152・162-188・192・
 *         201-230・233-241・263-268 行目（携帯版）
 *
 * ------------------------------------------------------------------
 * この項目が扱うもの
 * ------------------------------------------------------------------
 * 移行元がセレクタを区画で絞らず、改装版の店舗詳細のどのページ・どの区画でも
 * 同じ値を当てている指定である。区画別の子 Task（ご来店の案内 #1797 / 転勤して
 * も安心の継続サポート #1799 / 成婚コンシェルジュの紹介 #1800）へ分けて書くと
 * 同じ規則を何度も書くことになるため、ここへ 1 か所だけ置く。
 *
 * ------------------------------------------------------------------
 * 「白抜き見出しが金茶のまま残る」不一致の真因（実測で特定した）
 * ------------------------------------------------------------------
 * Feature #1617 の検収（2026-08-10）は、改装版で白抜きの節見出しが金茶
 * （rgb(163,118,43)）のまま残る不一致をパソコン幅 8 件・携帯幅 7 件として
 * 記録していた。原因は文字色だけではない。**節の見出しを載せる写真の帯が、
 * .brand 以外の 5 区画で丸ごと出ていなかった。**
 *
 * 移行元の組み立ては 4 つの指定の組である。
 *   1. 帯（.parallax）… 写真を中央・繰り返しなし・切り出しで敷く。幅は画面いっぱい
 *   2. 帯の絵（.parallax-ttl）… cont_ttl_bg.png と下地の色 #9fb6cc
 *   3. 見出しの器（.content-headline-wrap）… 上下の内余白が帯の高さを作る
 *   4. 見出しの文字（.content-headline__wh）… 白
 * テーマは 1〜4 をすべて .brand の中だけに絞っていたため、残る 5 区画では帯の絵も
 * 下地の色も出ず、器の内余白も 0 だった。**4 だけを直すと白い背景に白い文字を
 * 置くことになり、見出しが読めなくなる。** よって 1〜4 は必ず組で直す。
 * 1 と 2 は当て先を広げる形で項目 4 の側を直してある。3 と 4 はこの項目で足す。
 *
 * 実測（移行元ミラーと検証ハーネスの計算値・改装版 5 ページ × パソコン幅 1440px
 * と携帯幅 375px）では、直す前は 1 ページに 5 か所とも次の状態だった。
 *   .parallax-ttl        background-image: none / background-color: 透明
 *   .content-headline-wrap  padding: 0
 *   .content-headline__wh   color: rgb(163,118,43)
 *
 * ------------------------------------------------------------------
 * 波及は 0 件（数えて確かめた）
 * ------------------------------------------------------------------
 * ここで足すクラスは、dev の店舗系 132 ページを全部取り寄せて数えた棚卸し
 * （docs/pa-cms/investigation/店舗系ページの移植候補クラス棚卸し.md・2026-08-14
 * 採取）で、いずれも「出てくる系統 = 改装版・ページ数 = 5」だった。旧デザイン
 * 27 ページと新デザイン 4 店舗では 0 件である。
 *   content 54 件 / content-subline 47 件 / content-headline 39 件 /
 *   content-headline__wh 30 件 / content-headline-wrap 30 件 / parallax 30 件 /
 *   parallax-ttl 30 件 / content-txt-note 9 件 / content-txt-note-right 9 件 /
 *   content-img-box 5 件 / content-img-set 5 件 / txt__combining 1 件
 * それでも節の冒頭の取り決めどおり .pa-profile-legacy-compat を前置して二重に
 * 防いでいる。
 *
 * ------------------------------------------------------------------
 * この項目で写さなかったもの（判断の記録）
 * ------------------------------------------------------------------
 * 移行元が同じ土台の位置で書いていても、次の 4 つは写していない。テーマが別の
 * 値を選んだ経緯が既にあり、写すと Task #1649 の判断を覆すことになるためである。
 * 覆すかどうかは見た目の作り直しの話になるので、この Task では踏み込まない。
 *   - .content-headline の字の大きさ・太さ・下の外余白（移行元 36px / 700 /
 *     50px、テーマ 32px / 400 / 24px）。テーマは明朝体の見出しとして作ってある
 *   - .content-headline:after の白い短い棒（幅 32px・高さ 3px）。テーマは見出しの
 *     下の罫線で代えている（項目 4 のコメントに経緯あり）
 *   - .content-txt-box .txt の行間（移行元 2、テーマ 1.8）。テーマが「ならした値」
 *     として選んでいる
 *   - .content-wrap の幅（移行元 1,100px、テーマ 1,090px）。節の冒頭に書いてある
 *     既知の 10px の差
 *
 * ------------------------------------------------------------------
 * 見出しの器の内余白は区画ごとに値が違う
 * ------------------------------------------------------------------
 * 移行元は土台で padding-top: 94px を当てたうえで、5 つの区画がそれぞれ別の値へ
 * 上書きしている（84〜86px）。土台だけを写すと 5 区画とも 94px になって合わない。
 * 上書きは 1 つの性質の組なので、区画別の子 Task へ散らさずここへまとめて置く。
 * 対応する子 Task（#1797 / #1799 / #1800）では、この内余白を触らない。
 * -------------------------------------------------------------- */

/* 節の器（移行元 182 行）。移行元は節と節の間を上の外余白で空ける. */
.pa-profile-legacy-compat .pa-branch__content .content {
	margin-top: 100px;
}

/* 節ごとの上書き（移行元 721・1055・1143・1206・1418・1512・1613 行）。

   土台の 100px だけを写すと、移行元が別の値へ上書きしている 7 つの節が
   すべて 100px になって合わない。上の土台と組でしか正しくならないので、
   区画別の子 Task へ散らさずここへまとめて置く。**対応する子 Task
   （#1797 / #1799 / #1800）では節の上下の余白を触らない。**

   .cc-intro と .voice の負の上余白は、すぐ後ろの内余白（.cc-intro）または
   透明な上の罫線（.voice）と必ず組で写す。移行元はページ内の飛び先
   （#li03 / #li04）へ跳んだときに固定の見出しへ潜らせないための目的で
   書いており、負の値だけを写すと節が本当に上へ 80px めり込む. */
.pa-profile-legacy-compat .pa-branch__content .guide {
	margin-top: 0;
	padding-top: 100px;
}

.pa-profile-legacy-compat .pa-branch__content .cc-intro {
	margin-top: -80px;
	padding-top: 80px;
}

.pa-profile-legacy-compat .pa-branch__content .cc-comment {
	margin-top: 72px;
}

.pa-profile-legacy-compat .pa-branch__content .voice {
	margin-top: -80px;
	border-top: 80px solid rgba(255, 255, 255, 0);
}

.pa-profile-legacy-compat .pa-branch__content .firststep {
	margin-top: 0;
}

.pa-profile-legacy-compat .pa-branch__content .security {
	margin-top: 102px;
}

.pa-profile-legacy-compat .pa-branch__content .plan {
	margin-top: 20px;
	margin-bottom: 100px;
	padding-top: 80px;
}

/* 見出しの器（移行元 226 行）。上下の内余白が写真の帯の高さを作る. */
.pa-profile-legacy-compat .pa-branch__content .content-headline-wrap {
	padding-top: 94px;
	padding-bottom: 20px;
}

/* 区画ごとの上書き（移行元 1060・1422・1516・1619・1765 行）. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .content-headline-wrap {
	padding-top: 84px;
	padding-bottom: 28px;
}

.pa-profile-legacy-compat .pa-branch__content .firststep .content-headline-wrap {
	padding-top: 86px;
	padding-bottom: 27px;
}

.pa-profile-legacy-compat .pa-branch__content .security .content-headline-wrap {
	padding-top: 86px;
	padding-bottom: 26px;
}

.pa-profile-legacy-compat .pa-branch__content .plan .content-headline-wrap {
	padding-top: 85px;
	padding-bottom: 27px;
}

.pa-profile-legacy-compat .pa-branch__content .coming .content-headline-wrap {
	padding-top: 85px;
	padding-bottom: 27px;
}

/* 写真の帯に載る見出しの文字色（移行元 214 行）。移行元は区画で絞らず全ページ
   共通に当てている。テーマは項目 4 で .brand の中だけに絞っていたため、残る
   5 区画が金茶のまま残っていた。

   帯の絵と下地の色は項目 4 の .parallax-ttl で出しているので、この 5 区画でも
   文字の下は写真になる（白い背景に白い文字にはならない）。

   下の罫線の色も白へ合わせる。テーマは見出しの下に金色の罫線を引いており、
   移行元も白抜きのときは棒を白にしている（移行元 218 行）. */
.pa-profile-legacy-compat .pa-branch__content .content-headline__wh {
	border-bottom-color: #fff;
	color: #fff;
}

/* 小見出し（移行元 231 行）。青文字・太字・下に 1px の青い罫線。

   テーマは本文の見出しへ別の大きさと色を当てているので、ここで書き直す。
   上の外余白を 0 にするのは、移行元の共通 reset（css/common.css の 260 行目）が
   h1〜h6 の margin を 0 にしているためである。

   左の罫線と字下げを 0 に戻すのも同じ理由である。この小見出しは h3 と h4 の
   両方で書かれており（改装版 5 ページで実測 h3 が 6 件・h4 が 4 件）、h3 の
   側にはテーマの本文既定（このファイルの下の .entry-content h3）が金色の
   縦棒（4px）と字下げ（12px）を当ててしまう。移行元の h3 はどちらも 0 で、
   縦棒は出ない. */
.pa-profile-legacy-compat .pa-branch__content .content-subline {
	margin-top: 0;
	margin-bottom: 50px;
	padding-bottom: 20px;
	padding-left: 0;
	border-bottom: 1px solid #486d94;
	border-left: 0;
	color: #486d94;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.6;
}

/* 料金表の中の小見出しだけ下の外余白が狭い（移行元 1727 行の .plan .plan
   .content-subline）。土台の 50px を上書きする. */
.pa-profile-legacy-compat .pa-branch__content .plan .plan .content-subline {
	margin-bottom: 46px;
}

/* 小見出しの中の添え書き（移行元 245 行）。行を分けて小さく出す. */
.pa-profile-legacy-compat .pa-branch__content .content-subline .small {
	display: block;
	font-size: 16px;
}

/* 移行元 250 行の .content-subline .label（青地に白の小さな札）は写していない。
   当たる要素が 1 つも無いためである。dev の店舗系 132 ページを全部取り寄せて
   数えた棚卸しに `label` は載っておらず、改装版 5 ページと旧デザイン・新デザインの
   見本 6 ページの本文でも実測 0 件だった. */

/* 写真と本文を左右に並べる組（移行元 257・262 行）。回り込みで組んでいるので、
   組の終わりで回り込みを解除する. */
.pa-profile-legacy-compat .pa-branch__content .content-img-set {
	margin-bottom: 33px;
}

.pa-profile-legacy-compat .pa-branch__content .content-img-set::after {
	display: block;
	clear: both;
	content: "";
}

/* 写真の側（移行元 267・274・279 行）。移行元は幅 510px で、本文の入れ物
   1,100px の中で右に 60px の間を取る。移行先の入れ物は 1,090px だが、本文の側は
   幅を持たず残りを使う作りなので、写真の幅と間はそのまま写して差を本文の側で
   吸収させる（節の冒頭に書いてある 10px の差の扱いと同じ）. */
.pa-profile-legacy-compat .pa-branch__content .content-img-box {
	position: relative;
	display: block;
	float: left;
	margin-right: 60px;
}

.pa-profile-legacy-compat .pa-branch__content .content-img-box .img {
	width: 510px;
}

.pa-profile-legacy-compat .pa-branch__content .content-img-box .img img {
	width: 100%;
	height: auto;
}

/* 移行元 283 行の .content-img-box .bnr（写真に重ねる小さな帯）は写していない。
   移行元の markup 側でこの帯が丸ごとコメントとして閉じられており、当たる要素が
   1 つも無いためである（改装版 5 ページの本文で実測 0 件。ページに在る
   ul.bnr は別の場所の並びで、この入れ物の外にある）. */

/* --------------------------------------------------------------
 * 「コースと料金のご案内」の絵の並び（Task #3672）
 *
 * 移行元はコースの絵 2 枚を**横に並べる**が、dev は縦に積んでいた。**この 1 か所
 * だけで 589px 高い。**2026-09-05 に本番と dev を幅 1440px で測った値である。
 *
 * | 器 | 移行元 | dev（直す前） |
 * |---|---|---|
 * | 1 つ目 `ul.bnr` | 754 × 464.89・`li` 348 × 464.89 が横に 2 枚 | 1100 × 1054・`li` 1100 × 527 が縦に 2 枚 |
 * | 2 つ目 `ul.bnr` | 754 × 466・`li` 537 × 466 が 1 枚 | 1100 × 472・`li` 1100 × 472 が 1 枚 |
 *
 * 写し元は style_renew.css の 1731〜1742 行（`.plan .plan .bnr` と
 * `.plan .plan .bnr li`）と 1743〜1746 行（`.plan .plan.premium .bnr`）である。
 *
 * 🚨 **`li` の `font-size: 0` は移行元にある宣言である。**絵の間に空白文字ぶんの
 * 隙間が出るのを消すための書き方で、見た目の一部なので写す。
 *
 * 🚨 **絵は器に合わせて縮む。**移行元の絵の実寸は 390 × 521 で、`li` の幅 348px に
 * 収まるよう 348 × 464.89 で描かれる。dev は原寸のままだった。`width: 100%` を
 * 当てて移行元と同じ縮み方にする. */
.pa-profile-legacy-compat .pa-branch__content .plan .plan .bnr {
	width: 754px;
	margin: 46px auto 0;
	overflow: hidden;
}

.pa-profile-legacy-compat .pa-branch__content .plan .plan .bnr li {
	float: left;
	width: 348px;
	margin-left: 28px;
	font-size: 0;
}

.pa-profile-legacy-compat .pa-branch__content .plan .plan .bnr li img {
	width: 100%;
	height: auto;
}

/* 🚨 **バナーの `<a>` を箱にする（Bug #8301）。**写し元 `branch/css/style_renew.css`
   1761 行の `.plan .plan .bnr li a { display: block }` が写せていなかった。

   `<a>` は既定で `display: inline` なので、**中の絵が浮いている（`li` が `float: left`）
   と高さが 0 になる。**絵は `li` の側で見えるが、**`<a>` に当たり判定が無く押しても
   飛ばない。**移行元と dev を並べて測った値は次のとおり（2026-09-21 01:31・実ブラウザ）。

   | 幅 | 移行元 | dev（直す前） |
   |---|---|---|
   | 1440 | `block` 348×464.9 ／ 348×464.9 ／ 537×466 | `inline` 348×**0** ／ 348×**0** ／ 537×**0** |
   | 375 | `block` 335×447.5 ／ 335×447.5 ／ 335×447.6 | `inline` 335×**0** ／ 335×**0** ／ 335×**0** |

   **幅は一致していて高さだけ 0** なので、絵の差としては出ない（絵は正しい寸法で
   描かれている）。飛び先は `/uvalue/`・`/singlemother/`・`/pac/` の 3 本である。

   🚨 **幅の条件は付けない。**写し元にも条件が無く、両幅とも `block` が正しい
   （上の実測のとおり移行元は両幅で `block`）. */
.pa-profile-legacy-compat .pa-branch__content .plan .plan .bnr li a {
	display: block;
}

/* 2 つ目の器（`.premium`）は絵が 1 枚で、移行元は横並べで中央に置く
   （style_renew.css 1743〜1747 行と 1752〜1755 行）。

   🚨 **左の外余白 27px を 0 にしない。**移行元はこの札にも外余白を残しており、
   横並べの中央寄せはその外余白を含めた外形で計算される。0 にすると札が左へ
   13.5px ずれる（実測: 移行元 x=465 に対して 451.5）。**1px 違いの 28px でもなく
   27px である**（移行元は 1 つ目の器の 28px と書き分けている）. */
.pa-profile-legacy-compat .pa-branch__content .plan .plan.premium .bnr {
	display: flex;
	justify-content: center;
}

.pa-profile-legacy-compat .pa-branch__content .plan .plan.premium .bnr li {
	width: 537px;
	margin-left: 27px;
}

/* 注記（移行元 315・320 行）。テーマは 11px を当てているが移行元は 10px である。

   下の外余白を 0 にするのは、移行元がこの段落に下の外余白を持たないためである
   （移行元の指定は上の外余白と字の大きさだけで、共通 reset が段落の外余白を
   0 にしている。実測でも 0px）。テーマの本文既定（このファイルの下の
   .entry-content p）は 25px を当てるので、ここで戻す。携帯幅は移行元が
   `margin: 10px 0 30px` と下の外余白まで書いているので、下の携帯幅の節で
   上書きする. */
.pa-profile-legacy-compat .pa-branch__content .content-txt-note {
	margin-top: 7px;
	margin-bottom: 0;
	font-size: 10px;
}

.pa-profile-legacy-compat .pa-branch__content .content-txt-note-right {
	text-align: right;
}

/* 縦書きの組文字（移行元 32 行）。仙台店の 1 か所だけで使う. */
.pa-profile-legacy-compat .pa-branch__content .txt__combining {
	letter-spacing: -0.18em;
}

/* --------------------------------------------------------------
 * 項目 9: 「ご来店の案内」の区画（.coming・Task #1797）
 * 写し元: branch/css/style_renew.css の 1770-1869 行目（パソコン版）
 *         sp/branch/css/style_renew.css の 1473-1561 行目（携帯版）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * ご来店から入会までの流れを 3 つの手順で並べる区画である。移行元は次の
 * 3 つを組み合わせて作っている。
 *   1. 小見出しの中の札（.content-subline span）… 青地に白の小さな札。
 *      「所要時間：約90分」がこれで、Feature #1617 の検収が「白抜き文字が
 *      金茶のまま残る」と記録した 1 件がこの札である
 *   2. 手順の並び（.flow-list）… パソコン幅は 3 列に横並べ、携帯幅は縦積み
 *   3. 手順の番号（h4 の擬似要素）… 薄い黄土色の丸に白い数字
 *
 * ------------------------------------------------------------------
 * パソコン版と携帯版で作りが大きく違う（番号の出し方が別の擬似要素）
 * ------------------------------------------------------------------
 * 移行元はパソコン版と携帯版を別のファイルで配っているため、同じ見た目を
 * 別の作りで実現している箇所がある。**移行先は 1 つの CSS を両方の幅へ配る
 * ので、片方の作りが他方に残ると壊れる。**
 *
 * いちばん大きいのは番号の出し方である。
 *   パソコン版 … 丸は h4::before、数字は h4::after（2 つの擬似要素を重ねる）
 *   携帯版 … 丸と数字をまとめて h4::before の 1 つで出す
 * 携帯版には h4::after が無い。そのままにするとパソコン版の数字が残り、
 * **番号が 2 つ出る**。よって携帯幅で h4::after を消す。
 *
 * 手順をつなぐ三角の向きも変わる（パソコン幅は右向き・携帯幅は下向き）。
 * 携帯版は最後の手順の三角を消す。
 *
 * 携帯幅で元へ戻す指定は、下の @media (max-width: 749px) にまとめてある。
 * 戻す対象は次の 5 つで、いずれも移行元の携帯版に対応する規則が無いために
 * パソコン版の値が残ってしまうものである。
 *   .flow-list の負の左外余白と回り込みの囲い込み
 *   .flow-list li の回り込み・幅・左外余白
 *   .flow-list li::after の上と右の位置
 *   .flow-list li h4 の表組みの並べ方と左内余白
 *   .content-subline span の左外余白と縦の位置合わせ
 *
 * ------------------------------------------------------------------
 * 波及は 0 件（数えて確かめた）
 * ------------------------------------------------------------------
 * この項目のセレクタはすべて .coming の中に閉じている。dev の店舗系 132 ページを
 * 全部取り寄せて数えた棚卸し（docs/pa-cms/investigation/店舗系ページの移植候補
 * クラス棚卸し.md・2026-08-14 採取）で、`coming` と `flow-list` はどちらも
 * 「出てくる系統 = 改装版・ページ数 = 5」である。`txt` と `note` は改装版のほかに
 * 新デザインや共通にも出るが、.coming の中に限っているので届かない。
 *
 * ------------------------------------------------------------------
 * 見出しの器の内余白は書かない（Task #1798 の担当）
 * ------------------------------------------------------------------
 * 移行元 1765 行の .coming .content-headline-wrap（上下の内余白）は、この項目に
 * 書かない。節の見出しの写真の帯の高さを作る指定で、土台と区画別の上書きが組で
 * しか正しくならないため、項目 8（Task #1798）がまとめて持っている。
 * -------------------------------------------------------------- */

/* 節の中身の器（移行元 1770 行）。この区画だけ上の外余白が広い. */
.pa-profile-legacy-compat .pa-branch__content .coming .content-wrap {
	margin-top: 76px;
}

/* 小見出しの中の札（移行元 1774 行）。青地に白の小さな札で、「所要時間：約90分」が
   これに当たる。Feature #1617 の検収が記録した「白抜き文字が金茶のまま残る」
   1 件は、この札の指定が無かったために起きていた. */
.pa-profile-legacy-compat .pa-branch__content .coming .content-subline span {
	display: inline-block;
	margin-left: 30px;
	padding: 3px 6px;
	background: #486d94;
	color: #fff;
	font-size: 13px;
	text-align: center;
	vertical-align: 7px;
}

/* 本文の文字（移行元 1785 行）。

   下の外余白を 0 にするのは、移行元がこの段落に下の外余白を持たないため
   である（移行元の共通 reset が段落の外余白を 0 にしており、実測でも 0px）。
   テーマの本文既定（.entry-content p）が 25px を当てるので、ここで戻す。

   行間を normal に戻すのは、テーマの本文既定が段落へ行間 1.8 を当てるため
   である。移行元は段落に行間を書いておらず、実測でも normal である. */
.pa-profile-legacy-compat .pa-branch__content .coming .txt {
	margin-bottom: 0;
	font-size: 16px;
	line-height: normal;
}

/* 手順の並び（移行元 1789 行）。3 つを横に並べる。負の左外余白は、各手順の
   左外余白 40px を打ち消して左端を器に揃えるためのもので、次の規則と組で
   しか正しくならない。回り込みで組むので囲い込みが要る。

   🚨 左の内余白と行頭記号を 0 に戻すのは、この並びが番号つきの箇条書き
   （ol.flow-list）だからである。テーマの本文既定（.entry-content ol）が
   左の内余白 25.6px と行頭記号の数字を当てるため、そのままにすると
   **手順が右へ 25.6px ずれ、番号が 2 つ出る**（行頭記号の数字と、この項目が
   丸の中に出す数字）。移行元の共通 reset（css/common.css）は ol の内余白と
   行頭記号をどちらも 0 にしており、実測でも移行元は内余白 0px・行頭記号
   なしである. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list {
	margin: 46px 0 0 -40px;
	padding-left: 0;
	overflow: hidden;
	list-style: none;
}

/* 各手順（移行元 1794 行）。

   幅は移行元の 340px を直接は書かず、行を 3 つに割る形で書く。この書き方を選んだ
   のは、当時の器の幅が移行元より 10px 狭かった（移行元 1,100px・テーマ 1,090px）
   ためである。

   移行元の 340px は器 1,100px を前提にぴったり割った値である。
     3 列 × 340px ＋ 間 2 つ × 40px ＝ 1,100px（余りなし）
   器が 10px 狭かった当時、この 340px をそのまま書くと 1 行に 3 つ入らず、
   **3 つめが 2 段目へ落ちた**（実測で確認した）。

   calc((100% - 120px) / 3) は、器が移行元と同じ 1,100px のときに 340px へ
   解決する（120px ＝ 各手順の左外余白 40px × 3。並びの負の左外余白が
   1 つめのぶんを打ち消している）。**Bug #1945 で器を 1,100px へ揃えたので、この式は
   いま移行元と同じ 340px に解決する**（それまでは 336.67px だった）。割合で書いて
   あるぶん、器の幅が将来変わっても移行元と同じ割り方が保たれる。

   下の外余白を 0 にするのは、テーマの本文既定（.entry-content li）が 8px を
   当てるためである。移行元は箇条書きの項目に外余白を持たない（実測でも 0px）. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li {
	position: relative;
	float: left;
	width: calc((100% - 120px) / 3);
	margin-bottom: 0;
	margin-left: 40px;
}

/* 手順の中の段落（写真を包む p・説明の p.txt・注記の p.note）。移行元の
   共通 reset（css/common.css の 76 行目）が段落の外余白を 0 にしており、
   実測でも 0px である。テーマの本文既定（.entry-content p）が下の外余白
   25px（携帯幅 18px）と行間 1.8 を当てるので、ここで戻す。戻さないと
   写真と手順見出しの間が移行元の 18px より 7px 広がる（実測 25px）. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li p {
	margin-bottom: 0;
	line-height: normal;
}

/* 手順をつなぐ右向きの三角（移行元 1801 行）。罫線で三角を描く作りである. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li::after {
	position: absolute;
	top: 65px;
	right: -30px;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 15px;
	border-color: transparent transparent transparent #e0e0e0;
	content: "";
}

/* 手順の写真（移行元 1814 行）。縦の位置合わせを文字の下端（baseline）へ
   戻すのは、テーマが写真に `vertical-align: middle` を当てているためである。
   移行元のパソコン版は写真を行の中の箱のまま扱い、位置合わせを変えていない. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li img {
	width: 100%;
	height: auto;
	vertical-align: baseline;
}

/* 手順の見出し（移行元 1819 行）。左の内余白 40px が番号の丸の場所を空ける。

   行間と字間を normal に戻すのは、テーマの本文既定（.entry-content の
   h2〜h6）が行間 1.5 と字間 0.05em を当てるためである。移行元は h4 に
   どちらも書いておらず、実測でも normal である（携帯版も同じ）. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li h4 {
	position: relative;
	display: table;
	margin: 18px 0 15px;
	padding-left: 40px;
	font-size: 16px;
	font-weight: bold;
	line-height: normal;
	letter-spacing: normal;
}

/* 番号の丸（移行元 1828 行）。パソコン版は丸だけを出し、数字は次の ::after が
   重ねて出す. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li h4::before {
	position: absolute;
	top: 0;
	left: 0;
	display: table-cell;
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	background: #b6b694;
	content: "";
}

/* 番号の数字（移行元 1842 行）。丸の上に白い数字を重ねる。**携帯幅では
   この擬似要素を消す**（携帯版は丸と数字を ::before の 1 つで出すため、
   残すと番号が 2 つ出る）. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li h4::after {
	position: absolute;
	top: 0;
	left: 0;
	display: table-cell;
	width: 30px;
	margin-top: 2px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}

/* 数字の中身（移行元 1855・1859・1863 行）. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li:nth-child(1) h4::after {
	content: "1";
}

.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li:nth-child(2) h4::after {
	content: "2";
}

.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li:nth-child(3) h4::after {
	content: "3";
}

/* 手順の中の注記（移行元 1867 行）。下の外余白は上の .txt と同じ理由で 0 に
   戻す（テーマの .entry-content p が 25px を当てる）. */
.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li .note {
	margin-top: 17px;
	margin-bottom: 0;
}

/* --------------------------------------------------------------
 * 項目 10: 「転勤しても安心の継続サポート」の区画（.security・Task #1799）
 * 写し元: branch/css/style_renew.css の 1521-1565 行目（パソコン版）
 *         sp/branch/css/style_renew.css の 1293-1342 行目（携帯版）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 転勤時の継続サポートを説明する区画である。移行元は次の 3 つで作っている。
 *   1. 2 列組み（.content-area と .img-security）… パソコン幅は本文 580px を
 *      右へ、絵 460px を左へ回り込ませる。携帯幅は縦積み
 *   2. 「全国に広がるネットワーク」の札（.network h4）… 薄い黄土色の丸い帯に白文字
 *   3. 注記（.note）… 10px の小さな文字
 *
 * ------------------------------------------------------------------
 * この項目で写さないもの
 * ------------------------------------------------------------------
 * - 節の上の外余白（.security の margin-top）と見出しの器・見出しの白は、
 *   区画をまたぐ組で項目 8（Task #1798）が対応済み
 * - 地図（.map_box とその中）は区画「店舗情報と地図」の担当で、この Task の
 *   規則 20 本に含まれない。テーマには店舗一覧向けの .map_box の規則が
 *   既にあり（このファイルの店舗一覧の節）、それがこの区画にも当たる
 * - 移行元の携帯版だけにある地図の文字一覧（.area-list、sp 1327-1342 行）は
 *   写さない。移行先は地図のマークアップがパソコン版（.map_box）の 1 本で、
 *   .area-list の要素がページに存在しないためである（dev の本文で実測 0 件）
 *
 * ------------------------------------------------------------------
 * 波及は 0 件
 * ------------------------------------------------------------------
 * セレクタはすべて .security の中に閉じている。dev の店舗系ページの棚卸し
 * （docs/pa-cms/investigation/店舗系ページの移植候補クラス棚卸し.md）で
 * `security` は「出てくる系統 = 改装版・ページ数 = 5」である。
 * -------------------------------------------------------------- */

/* 節の中身の器（移行元 1521 行）. */
.pa-profile-legacy-compat .pa-branch__content .security .content-wrap {
	margin-top: 78px;
}

/* 本文の列（移行元 1525 行）。580px を右へ回り込ませ、左の絵 460px と
   2 列に組む。

   幅は移行元の 580px をそのまま書く。実装した当時は器が移行元 1,100px に対して
   1,090px と 10px 狭かったが、580px ＋ 460px ＝ 1,040px は 1,090px に収まるため
   列は落ちなかった。列の間だけが移行元の 60px から 50px へ狭まっていた。
   **Bug #1945 で器を 1,100px へ揃えたので、列の間はいま移行元と同じ 60px である。**
   #1797 の手順の並び（3 列がぴったり詰まっていて 10px 差で列が落ちる）とは
   条件が違う. */
.pa-profile-legacy-compat .pa-branch__content .security .content-area {
	float: right;
	width: 580px;
	margin-top: -2px;
}

/* 本文の文字（移行元 1531 行）。外余白・大きさ・行間の 3 つとも移行元が
   書いており、テーマの本文既定（.entry-content p）を同時に上書きする. */
.pa-profile-legacy-compat .pa-branch__content .security .content-area .txt {
	margin-bottom: 1.7em;
	font-size: 16px;
	line-height: 1.6;
}

/* 注記（移行元 1537 行）。10px の小さな文字。

   下の外余白 0 と行間 normal は移行元の宣言には無い。移行元の共通 reset
   （css/common.css の 76 行目）が段落の外余白を 0 にしており、行間も
   書かれず normal である（実測でも 0px / normal）。テーマの本文既定
   （.entry-content p）が 25px と行間 1.8 を当てるので戻す. */
.pa-profile-legacy-compat .pa-branch__content .security .content-area .note {
	margin-top: -2px;
	margin-bottom: 0;
	font-size: 10px;
	line-height: normal;
}

/* 絵の列（移行元 1542 行）。460px を左へ回り込ませる。

   下の外余白 0 と行間 normal は上の注記と同じ理由の戻しである（絵を包む
   p にテーマの本文既定が当たる）. */
.pa-profile-legacy-compat .pa-branch__content .security .img-security {
	float: left;
	width: 460px;
	margin-bottom: 0;
	line-height: normal;
}

/* 絵（移行元 1547 行）。縦の位置合わせを文字の下端（baseline）へ戻すのは、
   テーマが写真に `vertical-align: middle` を当てているためである。移行元の
   パソコン版は写真を行の中の箱のまま扱い、位置合わせを変えていない. */
.pa-profile-legacy-compat .pa-branch__content .security .img-security img {
	width: 100%;
	height: auto;
	vertical-align: baseline;
}

/* ネットワークの区画（移行元 1552 行）。上の 2 列の回り込みをここで解く. */
.pa-profile-legacy-compat .pa-branch__content .security .network {
	clear: both;
	padding-top: 47px;
}

/* 「全国に広がるネットワーク」の札（移行元 1557 行）。薄い黄土色の丸い帯に
   白文字。

   上の外余白 0・太字・行間と字間の normal は移行元の宣言には無い。
   移行元の共通 reset が h1〜h6 の margin を 0 にし、260 行目で太字へ戻して
   おり、行間と字間は書かれず normal である（実測でも 0px / 700 / normal）。
   テーマの本文既定（.entry-content の h4）が上の外余白 50px・行間 1.5・
   字間 0.05em を当てるので戻す. */
.pa-profile-legacy-compat .pa-branch__content .security .network h4 {
	margin-top: 0;
	margin-bottom: 29px;
	padding: 4px 0;
	border-radius: 30px;
	background: #b6b694;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
}

/* --------------------------------------------------------------
 * 項目 11: 「成婚コンシェルジュの紹介」の区画（.cc-intro / .cc-comment・Task #1800）
 * 写し元: branch/css/style_renew.css の 1055-1204 行目（パソコン版）
 *         sp/branch/css/style_renew.css の 896-969 行目（携帯版）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 節は 2 つに分かれている。移行元は前半を .cc-intro、後半を .cc-comment という
 * 別の節として置いており、ページの中の飛び先（#li03）は前半に付いている。
 *   前半（.cc-intro）… 写真の帯に載る節の見出しと、店舗長のご挨拶
 *   後半（.cc-comment）… コンシェルジュ 1 人ずつの札つきの紹介文と、店舗の写真
 *
 * ご挨拶（.greeting）は写真を左・文章を右に置く 2 列組みで、回り込み（float）で
 * 作っている。紹介文の一覧は、名前を薄い黄土色の丸みのある札（角丸 30px・
 * 背景 #b6b694・白文字）にして、その下に本文を置く。
 *
 * ------------------------------------------------------------------
 * 一覧のクラスが 2 種類ある（.cc-list と .cc-list02）
 * ------------------------------------------------------------------
 * 移行元は同じ見た目を 2 つの作りで出している。**どちらも当て先が在るので、
 * 片方だけを写すと 1 ページだけ札が出ない。**
 *   .cc-list   … 回り込みで 2 列に並べる（1 項目 320px・間 50px）
 *   .cc-list02 … flex で 2 列に並べる（1 項目 520px・両端揃え）
 * 札と本文の指定は移行元も 2 つのセレクタを並記しているので、ここでも並記する。
 *
 * ------------------------------------------------------------------
 * 現存する改装版 5 ページの実測（2026-08-20 JST・移行元の HTML と dev の本文の両方）
 * ------------------------------------------------------------------
 * | 店舗 | .cc-intro の中身 | .cc-comment | 一覧 | 店舗の写真 |
 * |---|---|---|---|---|
 * | 広島 | 見出しの帯 ＋ ご挨拶 | HTML のコメントで無効 | – | – |
 * | 札幌 | 見出しの帯のみ | 有効 | .cc-list02（4 項目・1 つめは写真） | 一覧の中 |
 * | 高崎 | 見出しの帯のみ | 有効 | .cc-list（2 項目） | .img-list |
 * | 福岡 | 見出しの帯のみ | 有効 | .cc-list（1 項目） | – |
 * | 仙台 | 見出しの帯のみ | 有効 | .cc-list（1 項目） | .img-list |
 *
 * ご挨拶（.greeting）が在るのは広島の 1 ページだけで、その広島には .cc-comment が
 * 無い。つまり **前半と後半が同じページに両方出ることは無い。** 棚卸し
 * （docs/pa-cms/investigation/店舗系ページの移植候補クラス棚卸し.md・2026-08-14 採取）
 * のページ数もこの表と一致する（cc-intro 5・cc-comment 4・cc-list 3・cc-list02 1・
 * greeting 1）。
 *
 * ------------------------------------------------------------------
 * 波及は 0 件（数えて確かめた）
 * ------------------------------------------------------------------
 * この項目のセレクタはすべて .cc-intro か .cc-comment の中に閉じている。上記の
 * 棚卸しで、cc-intro・cc-comment・cc-list・cc-list02・greeting はいずれも
 * 「出てくる系統 = 改装版」だけである。**旧デザイン 24 店舗と新デザイン 4 店舗の
 * 本文には 1 件も出てこないので、当て先が 0 件で見た目は変わらない。**
 * .img-list は改装版の 3 ページに 5 回出るが、.cc-comment の中に限っているので
 * 「店舗のご案内」の中の .img-list（項目 1）には届かない。
 *
 * ------------------------------------------------------------------
 * 移行元の書き方をそのまま写す（子ではなく子孫のセレクタ）
 * ------------------------------------------------------------------
 * 移行元の `.txt-area .txt` は、右の柱（div.txt）と、その中の挨拶文（p.txt）の
 * **両方に当たる**。挨拶文にも回り込みと 850px の幅が届く書き方である。ここでも
 * 同じ子孫のセレクタで写して、移行元と同じ重なり方を再現する。子のセレクタ
 * （`>`）へ直すと移行元と違う見た目になるため、直さない。
 *
 * ------------------------------------------------------------------
 * テーマの本文既定を元へ戻す指定を足している
 * ------------------------------------------------------------------
 * 移行元の共通 reset（css/common.css）は箇条書きの左内余白・行頭記号・段落と
 * 見出しの外余白をすべて 0 にしている。このテーマの本文既定はそうではないので、
 * 写すだけでは移行元と揃わない。実測（移行元をローカルで配って 1440px と 375px で
 * 採取・2026-08-20 JST）で差が出た次の 5 つを戻している。
 *   一覧（ul）の左内余白 25.6px と行頭記号の中黒 … 移行元は 0 と none
 *   一覧（ul）の下外余白 25px（携帯幅 18px） … 移行元は 0
 *   札（h4）の上外余白 50px（携帯幅 30px）と下外余白 20px … 移行元は 0
 *   札（h4）の行の高さ 27px（携帯幅 25.5px） … 移行元は normal（札の高さが変わる）
 *   段落（p）の下外余白 25px（携帯幅 18px） … 移行元は 0
 * 段落の下外余白は、**取り込みが作った中身の無い段落にも当たる**ため、段落 1 つ
 * ずつではなくまとめて戻している。詳しくはその規則のコメントに書いた。
 *
 * ------------------------------------------------------------------
 * この項目で写さなかったもの（判断の記録）
 * ------------------------------------------------------------------
 *   - 節の上下の外余白（移行元 1055・1143 行）と見出しの器の内余白（移行元 1060 行）・
 *     白抜きの見出しの文字色は、項目 8（Task #1798）がまとめて持っている
 *   - .cc-intro .content-headline:after の位置（移行元 1065 行）。テーマは移行元の
 *     白い短い棒を採らず見出しの下の罫線で代えており、その判断は項目 8 の
 *     「写さなかったもの」に記録がある。棒が無いので位置の上書きも要らない
 *   - .cc-intro .greeting-wrap 以下の 5 本（移行元 1111-1140 行）。**当て先の
 *     マークアップが dev に無い。** 上記の棚卸しの「消えたクラス 8 件」に
 *     greeting-wrap・greeting-inner・greeting-inner__main・greeting-inner__sub が
 *     挙がっている。2026-08-10 の投入し直しで、これらを使う日付つきの旧版
 *     （sendai0901）が公開対象から外れたためである
 *   - 中身を載せる柱の幅（実装した当時は移行元 1,100px に対してテーマ 1,090px）。
 *     紹介文の一覧の 2 列は 720px ＋ 360px ＝ 1,080px で 1,090px に収まるので、
 *     そのまま px で写した。**ご挨拶の挨拶文の柱だけは calc() で器から引く形に
 *     変えている**（移行元は器が 1,100px 固定だが、このテーマの器は画面幅に追従して
 *     縮むため、850px を直接書くと狭い幅で挨拶文が切り取られる）。理由はその規則の
 *     コメントに書いた。**Bug #1945 で器を 1,100px へ揃えたので、挨拶文の柱は
 *     いま移行元と同じ 850px に解決する**（それまでは 840px だった）
 *   - 書体の割り当てと本文の文字色。Task #1673 のスコープ境界で外してある
 * -------------------------------------------------------------- */

/* ご挨拶の器（移行元 1069 行）。この区画だけ上の外余白が広い. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .content-wrap {
	margin-top: 76px;
}

/* ご挨拶と紹介文の中の段落は、下の外余白を 0 に戻す。移行元の共通 reset
   （css/common.css の 76 行目 `p { margin: 0; padding: 0 }`）に当たる指定で、
   テーマの本文既定（.entry-content p の下外余白 25px・携帯幅 18px）を打ち消す。

   🚨 ここを段落 1 つずつではなくまとめて書いているのは、**dev の本文には
   取り込みの段落づけ（wpautop）が作った中身の無い段落が混ざっている**ためである。
   クラスが付かないので `.txt` などの名前では拾えない。実測（2026-08-20 JST）で
   見つかった影響は次の 2 つで、どちらも移行元には無い余白である。
     ご挨拶の名前と挨拶文の間 … 移行元 25px に対し dev は 50px
     紹介文の一覧の下、および写真の枠の中 … 25px ぶん余分に空く

   写真を包む段落（p.img）にも当たるが、携帯幅では下に 20px を置くので、
   下の @media の .img の指定（こちらより限定が強い）が勝つ。

   節の見出しの写真の帯（.parallax / .content-headline-wrap）の中にも同じ
   中身の無い段落が在るが、**そちらは意図的に含めていない。** 帯の高さは
   項目 8（Task #1798）が全 7 区画まとめて持っており、この区画だけ変えると
   区画ごとに帯の高さが食い違う. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting p,
.pa-profile-legacy-compat .pa-branch__content .cc-comment .content-wrap p {
	margin-bottom: 0;
}

/* ご挨拶の 2 列組み（移行元 1073 行）。回り込みで組むので囲い込みが要る. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area {
	overflow: hidden;
}

/* 店舗長の写真（移行元 1077 行）。左に 200px で置く. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .img {
	float: left;
	width: 200px;
}

/* 写真そのもの（移行元 1082 行）。縦の位置合わせを文字の下端（baseline）へ
   戻すのは、テーマが写真に vertical-align: middle を当てているためである。
   移行元は写真を行の中の箱のまま扱い、位置合わせを変えていない. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .img img {
	width: 100%;
	height: auto;
	vertical-align: baseline;
}

/* 挨拶文の柱（移行元 1087 行）。右に置く。移行元と同じく、この指定は柱（div.txt）と
   中の挨拶文（p.txt）の両方に当たる。

   🚨 幅は移行元の 850px を直接は書かず、器から写真のぶんを引く形で書く。移行元の
   器は 1,100px 固定だが、**このテーマの器は画面幅に追従して縮む**ためである。
   850px をそのまま書くと、器が 850px より狭くなる幅（画面幅 880px 未満）で
   右寄せの柱が左へ押し出され、親の `overflow: hidden` に切り取られて**挨拶文の
   左側が読めなくなる**（実測: 画面幅 750px で 130px ぶん欠ける）。器が 1,090px
   より狭い間は写真にも重なる。

   calc(100% - 250px) は、器が移行元と同じ 1,100px のときに 850px へ解決する
   （250px ＝ 写真の 200px ＋ 写真と柱の間の 50px）。**Bug #1945 で器を 1,100px へ
   揃えたので、この式はいま移行元と同じ 850px に解決する**（それまでは 840px だった）。
   写真との間隔 50px は器の幅に関わらず移行元と揃う。

   中の挨拶文（p.txt）にはこの式を効かせない。移行元では柱と中の挨拶文が同じ
   850px で、挨拶文が柱の幅いっぱいに広がる。式が中にも効くと挨拶文だけ
   さらに 250px 狭くなり、折り返す位置が移行元とずれる。下の規則で
   `width: 100%` を当てて、移行元と同じ「柱の幅いっぱい」に戻している. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .txt {
	float: right;
	width: calc(100% - 250px);
}

/* 店舗名つきの肩書きと名前（移行元 1092・1099 行）。移行元は 2 つの span を
   行ごとに分けて出しており、2 つめ（名前）だけ大きくする. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .txt span {
	display: block;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.65;
}

.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .txt span:nth-child(2) {
	font-size: 18px;
}

/* 挨拶の本文（移行元 1103 行）。

   行の高さを normal に戻すのは、テーマの .pa-branch__content .txt が 1.8 を
   当てるためである。移行元はこの段落に行の高さを書いておらず、実測でも
   normal である（下の外余白は上の段落まとめの規則で 0 にしてある）。

   幅を 100% にするのは、上の柱の calc() をこの段落まで効かせないためである。
   移行元では柱と挨拶文がどちらも 850px で、挨拶文が柱の幅いっぱいに広がる. */
.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .txt .txt {
	width: 100%;
	margin-top: 25px;
	font-size: 16px;
	line-height: normal;
}

/* 紹介文の節（移行元 1143 行）。回り込みで 2 列を作るので囲い込みが要る。
   上の外余白 72px は項目 8（Task #1798）が持っているので、ここでは書かない. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment {
	overflow: hidden;
}

/* 紹介文の一覧・回り込み版（移行元 1148 行）。左に 770px で置く。負の左外余白は、
   各項目の左外余白 50px を打ち消して左端を器に揃えるためのもので、次の規則と
   組でしか正しくならない。

   🚨 左の内余白と行頭記号を 0 に戻すのは、この一覧が箇条書き（ul）だから
   である。テーマの本文既定（.entry-content :is(ul, ol)）が左内余白 25.6px と
   行頭記号の中黒、下外余白 25px を当てるため、そのままにすると**一覧が右へ
   25.6px ずれ、名前の札の左に中黒が並ぶ**。移行元の共通 reset は ul の内余白と
   行頭記号と外余白をすべて 0／none にしており、実測でも移行元は内余白 0px・
   行頭記号なし・下外余白 0px である. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list {
	float: left;
	width: 770px;
	margin-bottom: 0;
	margin-left: -50px;
	padding-left: 0;
	list-style: none;
}

/* 各項目・回り込み版（移行元 1154 行）。外余白は移行元と同じ一括指定で写す。
   テーマの本文既定（.entry-content li）が下外余白 8px を当てるので、一括指定で
   まとめて上書きする形になる. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list li {
	float: left;
	width: 320px;
	margin: 0 0 32px 50px;
}

/* 紹介文の一覧・flex 版（移行元 1161 行）。札幌店だけがこちらを使う。
   左の内余白・行頭記号・下の外余白を戻す理由は回り込み版と同じである. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 0;
	padding-left: 0;
	list-style: none;
}

/* 各項目・flex 版（移行元 1167 行）. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li {
	width: 520px;
	margin: 0 0 32px;
}

/* flex 版の中の写真（移行元 1171 行）。札幌店は 1 つめの項目が写真だけである. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li img {
	max-width: 100%;
}

/* 名前の札（移行元 1176 行）。角丸の薄い黄土色の帯に白い文字を中央へ置く。
   Task #1800 の本文が実測として挙げた「中井戸コンシェルジュが移行元では
   白文字なのに dev では別の色」の 1 件は、この札の指定が無かったために
   起きていた。

   上下の外余白を 0・行の高さを normal に戻すのは、テーマが見出し（h4）へ
   上外余白 50px・下外余白 20px・行の高さ 1.5 を当てるためである。移行元の
   共通 reset は見出しの外余白を 0 にしており、行の高さも書いていない。
   **行の高さを戻さないと札の高さが 27px ＋ 内余白 4px になり、移行元の
   約 21px より 10px 高い帯になる**（実測）. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list li h4,
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li h4 {
	border-radius: 30px;
	background: #b6b694;
	margin: 0;
	padding: 2px 0;
	color: #fff;
	font-size: 15px;
	line-height: normal;
	text-align: center;
}

/* 札の下の紹介文（移行元 1186 行）。下の外余白は上の段落まとめの規則で 0 に
   してある. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list li .txt,
.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li .txt {
	margin-top: 14px;
	line-height: 1.65;
	font-size: 16px;
}

/* 店舗の写真の一覧（移行元 1193 行）。右に寄せて紹介文の横に置く。
   左の内余白・行頭記号・下の外余白を戻す理由は紹介文の一覧と同じである. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .img-list {
	float: right;
	margin-bottom: 0;
	padding-left: 0;
	list-style: none;
}

/* 写真の枠（移行元 1197 行）。テーマの本文既定（.entry-content li）の下外余白
   8px を 0 へ戻す. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .img-list li {
	width: 360px;
	margin-bottom: 0;
}

/* 写真そのもの（移行元 1201 行）。縦の位置合わせを戻す理由はご挨拶の写真と
   同じである. */
.pa-profile-legacy-compat .pa-branch__content .cc-comment .img-list li img {
	width: 100%;
	height: auto;
	vertical-align: baseline;
}

/* --------------------------------------------------------------
 * 項目 12: 冒頭の大きな絵の題名の重ね方（.mainvisual-slide-area /
 *          .mainvisual-slide-ttl・Task #1974）
 * 写し元: branch/css/style_renew.css の 47・53 行目（パソコン版）
 *         sp/branch/css/style_renew.css の 32・37 行目（携帯版）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 改装版のページの一番上に在る、店舗の写真と「◯◯店のご案内」の題名である。
 * 移行元は写真を入れる枠（.mainvisual-slide-area）を位置の基準にして、題名
 * （.mainvisual-slide-ttl）を写真の右上へ重ねる。テーマにはどちらの指定も
 * 無かったため、題名が写真の上へ流れの中で出ていた（パソコン幅 1440px の実測で
 * 枠 1,090 × 2,007px・題名 1,090 × 54px。移行元は枠 1,400 × 480px・
 * 題名 147 × 60px が右上に重なる）。
 *
 * ------------------------------------------------------------------
 * 写さない値が 2 つある
 * ------------------------------------------------------------------
 *   width: 1400px … 移行元の枠は本文の柱（1,100px）より広い。移行先の柱は
 *                   1,090px で、これは Task #1649 が意図して選んだ既知の差で
 *                   ある。固定の 1,400px を書くと狭い画面で横スクロールが
 *                   出るため写さない（帯を画面の幅まで広げる項目 5 と同じ
 *                   考え方で、器の幅は移行先の値に合わせる）
 *   margin: auto  … 枠は柱の中で幅いっぱいなので、左右の自動余白は効かない
 *
 * ------------------------------------------------------------------
 * 携帯版の枠は写す値がパソコン版と同じ
 * ------------------------------------------------------------------
 * 移行元の携帯版も .mainvisual-slide-area に position: relative と margin: auto を
 * 書いている（32 行）。写す値（position: relative）がパソコン版と同じなので、
 * 携帯幅の上書きは置かない。
 *
 * **題名の側は、移行元の携帯版だけ別の見せ方をしている**（37 行。青い下地
 * #b3c6e7・白い 12px の文字・影を付けた小さな札）。移行元の携帯版の HTML は
 * 題名が文字だが、dev はパソコン版のマークアップを取り込んでいるので画像で
 * ある。文字向けの装飾を画像へ当てると画像の後ろに青い箱と影が出るだけなので、
 * ここでは写していない。
 *
 * 携帯幅の見せ方は Task #1974 で判断を仰ぎ、**ユーザー裁定で「画像を写真の
 * 右上へ重ねる（案 A）」に決まった**（2026-08-20）。そこで位置だけを移行元の
 * 携帯版から写し（top: 5px / right: 0）、文字向けの装飾（青い下地 #b3c6e7・
 * 白い 12px の文字・影・内余白 2px 5px）は写さない。この節の末尾の
 * @media (max-width: 749px) がその上書きである。位置の基準
 * （position: absolute）・重ね順（z-index: 100）・外余白の打ち消し
 * （margin-top: 0）はパソコン版の指定から受け継ぐ。
 *
 * ------------------------------------------------------------------
 * 当て先の実測（2026-08-20 JST・dev の配信テーマ版 0.11.125）
 * ------------------------------------------------------------------
 * .mainvisual-slide-area と .mainvisual-slide-ttl は改装版 5 ページ（広島・札幌・
 * 高崎・福岡・仙台）に各 1 件ずつ在り、旧デザインと新デザインの店舗ページでは
 * 0 件だった。それでも節の取り決めどおり .pa-profile-legacy-compat を前置して
 * 二重に防いでいる。
 *
 * ------------------------------------------------------------------
 * 写真そのものの見せ方は別の節で扱う
 * ------------------------------------------------------------------
 * 移行元は .mainvisual-slide-list li を display: none にして 1 枚目だけ見せる
 * （移行元 65・73 行）。Task #1974 の時点では「動かす JavaScript を持ち込まない
 * ので縦に積む」判断が記録されており、この節はそれを前提に題名の位置だけを
 * 写した。
 *
 * **この判断は Bug #1998 で覆った。** テーマの JavaScript
 * （assets/js/branch-visual.js の setUpRenewMainVisualSlider）が移行元と同じ
 * スライド表示を作り、写真は 1 枚ずつ重ねて入れ替わる。指定は下の
 * 「冒頭の写真をスライド表示にする（Bug #1998）」の節にある。
 *
 * 題名の位置はどちらでも変えていない。スライド表示では、いま出している写真の
 * 右上へ重なり続ける（写真はすべて同じ位置に重なるため）。JavaScript が働かない
 * ときは、積んだ 1 枚目の写真の右上へ重なる。
 * -------------------------------------------------------------- */

/* 主役の絵の全幅化（第 1 世代・Bug #2685）
 *
 * 移行元は現行の www.p-a.jp/branch/css/style_renew.css の 49〜53 行で
 * `.mainvisual-slide-area { width: 1400px; margin: auto; }` としており、
 * 画面幅 1440px なら器（.mainvisual）1440×480・写真の枠 1400×480・枠の左端は
 * 画面の端から 20px 内側になる。この全幅化は第 2 世代（is-slider-ready）向けに
 * 既にあるが（main.css 冒頭の「本文の柱から全幅へ出す器」のセレクタリスト）、
 * 第 1 世代の目印 .mainvisual-slide-area が対象に入っておらず漏れていた。
 *
 * テーマに文書化された 3 つ組（.closeup の節・main.css 12108 行あたりの説明）に
 * そろえる。1. 器の width: 100vw と margin-inline は上のセレクタリストへ足した。
 * 2. 祖先の切り落としを外す指定（すぐ下）。3. body 側の overflow-x: clip（すぐ下）。
 *
 * .mainvisual-slide-area の有無で絞るため、JavaScript が is-renew-slider-ready を
 * 付ける前でも崩れない（幅と全幅は JavaScript の有無に関わらず移行元と同じであるべき
 * という判断による）. */
.pa-profile-legacy-compat .pa-branch__content .page-branch:has(.mainvisual-slide-area) {
	overflow-x: visible;
}

body.pa-profile-legacy-compat:has(.pa-branch__content .mainvisual-slide-area) {
	overflow-x: clip;
}

/* 写真を入れる枠（移行元 47〜51 行）。題名を重ねるための位置の基準になる。
 * 幅は移行元の 1,400px を写す。携帯幅では画面をはみ出さないよう
 * min(1400px, 100%) にする（狭い画面での固定値直書きは過去 3 回指摘済みの型）。
 * margin: auto は器が 1400px を超えて広がったぶん中央へ戻すためで、移行元の
 * `margin: auto` と同じ役目である. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area {
	position: relative;
	width: min(1400px, 100%);
	margin: auto;
}

/* 題名（移行元 53 行）。写真の右上へ重ねる。上の外余白を 0 にするのは、テーマの
   本文既定が見出しに外余白を与えており、絶対配置でも top からの位置がその分
   ずれるためである. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-ttl {
	position: absolute;
	top: 40px;
	right: 4px;
	z-index: 100;
	margin-top: 0;
}

/* 🚨 **携帯幅のために足したラベルは、パソコン幅で必ず隠す。**隠し忘れると画像のラベルと
   テキストのラベルが 2 つ並ぶ。テキストは `inc/branch-renew-mv-label-sp-text.php` が
   パソコン版の画像の `alt` から作って同じ見出しの中へ足す。Bug #6549. */
.pa-profile-legacy-compat .pa-branch__content .pa-branch-renew-mv-label-sp {
	display: none;
}

@media (max-width: 749px) {

	/* 携帯幅の題名（移行元 sp/branch/css/style_renew.css の 37 行）。移行元の
	   携帯版はこの位置に文字の札を置いている。dev は題名が画像なので、位置だけを
	   写して装飾は写さない（上の説明の「携帯幅の見せ方」を参照）. */
	/* 携帯幅のラベル（移行元 sp/branch/css/style_renew.css の 37 行）。移行元の
	   携帯版は画像を 1 枚も使わず、文字の札を CSS で描く。dev はパソコン版の本文を
	   取り込んでいるので画像を持つ。**画像を隠し、`alt` から作ったテキストを出す。**
	   実測（2026-09-16 11:47・幅 375px）の目標値は 12px・白・太さ 400・
	   行の高さ normal・箱 94 x 22px である。Bug #6549. */
	.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-ttl {
		top: 5px;
		right: 0;
		padding: 2px 5px;
		box-shadow: 0 3px 3px rgb(0 0 0 / 10%);
		background-color: #b3c6e7;
		color: #fff;
		font-size: 12px;
		font-weight: 400;
		line-height: normal;
	}

	.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-ttl img {
		display: none;
	}

	.pa-profile-legacy-compat .pa-branch__content .pa-branch-renew-mv-label-sp {
		display: inline;
	}
}

/* --------------------------------------------------------------
 * 冒頭の写真をスライド表示にする（Bug #1998）
 * 写し元: branch/js/function.js の 24〜32 行（動きの設定値。携帯版の
 *         sp/branch/js/function.js の 24〜32 行も同じ値）と
 *         branch/js/slick.css の 128〜211 行（丸い印の見た目・パソコン版）、
 *         sp/branch/js/slick.css の 127〜210 行（同・携帯版）
 *
 * ------------------------------------------------------------------
 * 何をしているか
 * ------------------------------------------------------------------
 * 移行元は jQuery と slick（スライド表示の部品）で写真 5 枚を同じ位置へ重ね、
 * 4 秒ごとに 3 秒かけて薄く入れ替える。左右の矢印は出さず、下に丸い印を写真の
 * 数だけ出す。テーマは同じ挙動をライブラリ無しで作る
 * （assets/js/branch-visual.js の setUpRenewMainVisualSlider）。
 *
 * ここから下は、その JavaScript が .mainvisual-slide-area へ
 * is-renew-slider-ready を付けたときだけ効く。付かないときは写真を縦に積んだ
 * 静止表示（このファイルの .mainvisual-slide-list の打ち消しだけが効いた形）が
 * そのまま残る。
 *
 * ------------------------------------------------------------------
 * 丸い印は素の円で写す
 * ------------------------------------------------------------------
 * 移行元は 20 × 20px の押す的の中へ、24px の文字で中黒（•）を描いている
 * （移行元 slick.css 186 行）。書体には 'slick' を指定しているが、**移行元の
 * slick.css には @font-face が 1 つも無い**。つまり実際に出ているのは環境の
 * 書体が持つ中黒である（2026-08-21 に稼働中の
 * www.p-a.jp/branch/tohoku/sendai.html で確かめた）。
 *
 * そこで文字ではなく border-radius: 50% の素の円で描く。書体に頼らない分、
 * 環境ごとの見た目のばらつきも消える。円の直径は移行元で見えている直径を測って
 * 決めた（画面の倍率 4 倍で撮って画素を数えた。パソコン版 3.5px・携帯版
 * 4.1px）。どちらも 1 倍の画面で円に見える 4px へ丸め、幅で分けずに 1 つの値に
 * した。押す的の大きさ（20 × 20px）・色（出していない写真 #fff・出している写真
 * #486d94）は移行元の値をそのまま写す。
 *
 * ------------------------------------------------------------------
 * 幅ごとに違う値は 749px で束ね直す
 * ------------------------------------------------------------------
 * 移行元はパソコン版と携帯版を別の CSS で出し分けており、丸い印の並びだけ値が
 * 違う。移行先は 1 つの URL で両方を出すため、この節も 749px で束ね直す。
 *   750px 以上 … 下端 30px・印の左右外余白 2px（印の間隔 24px）
 *   749px 以下 … 下端 20px・印の左右外余白 0（印の間隔 20px）
 *
 * ------------------------------------------------------------------
 * 写さない値・置かない指定
 * ------------------------------------------------------------------
 *   左右の矢印  … 移行元が arrows: false で出していないため、指定を置かない
 *   枠の高さ    … 移行元も px で固定しておらず、写真の縦横比と枠の幅で決まる
 *                 （移行元の写真は 1,380 × 480px）。JavaScript が写真の元の
 *                 大きさを読んで aspect-ratio を直接書く
 *   font-size: 0 … 移行元は行の高さのぶんの隙間を消すために枠へ書いている
 *                 （branch/css/style_renew.css の 64 行）。ここは写真を
 *                 display: block にして消す
 *   outline: none … 移行元は押す的の焦点の枠を消している（移行元 slick.css
 *                 171 行）。キーボードで操作する人が現在位置を見失うため写さない
 * -------------------------------------------------------------- */

/* 写真の並び。中の li を絶対配置で重ねるため位置の基準にする（移行元
   branch/css/style_renew.css の 63 行が書く position: relative と同じ）。高さは
   中身から決まらなくなるので、JavaScript が aspect-ratio をこの要素へ直接書く. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-list {
	position: relative;
}

/* 写真 1 枚ずつ。すべて同じ位置へ重ね、透明度で入れ替える（移行元 fade: true）。
   3 秒・ease-in は移行元の speed と cssEase の値である. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-list > li {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	margin: 0;
	opacity: 0;
	transition: opacity 3s ease-in;
}

/* いま出している写真。前に出していたものより上へ重ねてから濃くするので、
   入れ替えの途中でも下地が透けない（移行元 slick も出す側を上へ重ねる）. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-list > li.is-current {
	z-index: 2;
	opacity: 1;
}

/* 写真そのもの。枠（親の li。上の .mainvisual-slide-list で 1,380px までに
   絞ってある）の幅いっぱいに伸ばす。block にするのは、行の高さのぶんの隙間を
   消すためである（移行元は枠に font-size: 0 を書いて同じことをしている。
   branch/css/style_renew.css の 64 行）. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-list > li img {
	display: block;
	width: 100%;
	height: auto;
}

/* 動きを減らす設定の閲覧者（JavaScript が is-renew-slider-instant を足す）。
   薄く入れ替える動きを止め、押した写真へ即座に移る。自動で進むのを止めるのは
   JavaScript の側である. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-instant .mainvisual-slide-list > li {
	transition: none;
}

/* 丸い印の並び（移行元 slick.css 128 行）。写真の下端から 30px の高さで水平に
   中央へ置く。題名（z-index: 100）より下、写真より上に重ねる。テーマの本文既定
   （.entry-content ul）が付ける外余白と左内余白と行頭の点を打ち消す. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots {
	position: absolute;
	bottom: 30px;
	left: 0;
	z-index: 10;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 0;
	text-align: center;
}

/* 印 1 つぶんの枠（移行元 slick.css 143 行）。左右の外余白 2px で間隔 24px に
   なる（携帯幅では 0 にして 20px にする）. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots li {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 2px;
	padding: 0;
}

/* 押す的（移行元 slick.css 156 行）。的は 20 × 20px で、丸そのものは中に描く。
   指で押しやすい大きさを保つため、的の側は縮めない. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots button {
	position: relative;
	display: block;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	background-color: transparent;
	cursor: pointer;
}

/* 丸そのもの（移行元 slick.css 186 行の button:before に相当）。移行元の見かけの
   直径 3.5px を 4px へ丸めた円を、的の中央へ置く（上の説明を参照）。移行元の
   中黒は文字の下端に寄るため中心が 2px ほど下に来るが、その差は写さない. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots button::before {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #fff;
	content: "";
}

/* いま出している写真の印（移行元 slick.css 208 行）と、指した／キーボードで
   選んだ印（同 174〜185 行）。移行元と同じ濃い青にする. */
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots button.is-current::before,
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots button:hover::before,
.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots button:focus-visible::before {
	background-color: #486d94;
}

@media (max-width: 749px) {

	/* 携帯幅の丸い印の並び（移行元 sp/branch/js/slick.css の 127 行）。移行元の
	   携帯版は写真の下端から 20px の高さに置く. */
	.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots {
		bottom: 20px;
	}

	/* 携帯幅の印 1 つぶんの枠（移行元 sp/branch/js/slick.css の 142 行）。左右の
	   外余白が無いため、間隔は 20px になる. */
	.pa-profile-legacy-compat .pa-branch__content .mainvisual-slide-area.is-renew-slider-ready .mainvisual-slide-dots li {
		margin: 0;
	}
}

/* --------------------------------------------------------------
 * 項目 13: 「What's New」の帯の装飾（.content.news・Bug #1982）
 * 写し元: branch/css/style_renew.css の 1019〜1049 行（パソコン版）
 *         sp/branch/css/style_renew.css の 865〜894 行（携帯版）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 改装版のページの下の方に在る「What's New」の帯である。移行元は帯に背景の絵を
 * 敷き、中身を中央へ寄せ、見出しを青（#486d94）の小さめの文字で出す。テーマには
 * この帯の指定が上の外余白 1 本しか無く（携帯幅の .content.news）、残りが
 * 当たっていなかった。
 *
 * **出るのは仙台店の 1 ページだけである。** 改装版 5 ページのうち残り 4 ページ
 * （広島・札幌・高崎・福岡）は、移行元の HTML でこの帯が丸ごとコメント
 * （<!-- -->）で止められているため、dev に無いのが正しい状態である。
 *
 * 🚨 絞りに `news` だけを使ってはいけない。`news` は**旧デザインと改装版の両方に
 * 出る**クラスで、デザインプロファイルの前置だけでは旧デザインのページへ届いて
 * しまう。`content` と重ねて絞る（`content` は改装版 5 ページにしか出ない）。
 * 携帯幅の上の外余白の規則にも同じ注意書きがある。
 *
 * ------------------------------------------------------------------
 * 帯は画面の幅いっぱいに広げる
 * ------------------------------------------------------------------
 * 移行元はこの帯を本文の器の外に置いており、1440px 幅で帯 1,440px・中の札
 * 1,100px となって、札の左右に背景の絵が 170px ずつ見える（移行元の実測）。
 * 移行先はこの区画を本文の器（.single-content）の内側に置くため、そのままでは
 * 帯が 1,090px で止まり、背景の絵が画面の端まで届かない。
 *
 * 広げ方は項目 5（「Close up!」の灰色の帯）と同じ 3 つ組に揃える。1 つでも欠けると
 * 帯の左右が切り落とされるか、横スクロールが出る。
 *   1. 帯の width: 100vw と margin-inline: calc(50% - 50vw)
 *   2. 祖先の切り落としを外す指定（.page-branch）
 *   3. body 側の overflow-x: clip
 * 2 と 3 は :has() でこの帯を持つページだけに絞る。仙台店は「Close up!」の帯も
 * 持つので同じ指定が既に効いているが、帯の片方だけを持つページでも成り立つように
 * この節でも書いておく。
 *
 * ------------------------------------------------------------------
 * 背景の絵はテーマに取り込み済み
 * ------------------------------------------------------------------
 * 移行元は絶対パス（url(/branch/images/news_bg.png)）で書いている。テーマの
 * assets/ に同じ絵が入っているので、assets/README.md の規則どおり main.css の
 * 位置からの相対（../branch/images/news_bg.png）へ書き換える。**パソコン版と
 * 携帯版で別の絵**（sp/branch/images/news_bg.png）なので、携帯幅で差し替える。
 *
 * ------------------------------------------------------------------
 * 写さない値と、テーマ既定の打ち消し
 * ------------------------------------------------------------------
 *   display: block  … section は既に block なので効かない（移行元 1020 行）
 *   width: 100%     … 上の 100vw で置き換わる（移行元 1022 行）
 *   .area_news の background-image: none（移行元 1029 行）… 旧デザインの帯を
 *                     消すための指定である。この節は `content` と重ねて改装版だけに
 *                     絞っており、旧デザインへ届かないので要らない。dev の店舗
 *                     ページ 36 件を数えても area_news は 0 件だった
 * 見出しの側は、テーマの本文既定（.entry-content :is(h2〜h6) と .entry-content h3）が
 * 左の縦罫線・左の内余白・金茶・上下の外余白・字間 0.05em を足しており、移行元は
 * どれも持たないので打ち消す（項目 5 の「Close up!」の見出しと同じ扱い）。
 *
 * ------------------------------------------------------------------
 * 実測（2026-08-20 JST・仙台店・描画ハーネス。修正後は Bug #1945 で器が
 * 1,100px へ直ったあとの土台で測り直した値）
 * ------------------------------------------------------------------
 *                       移行元         修正前          修正後
 *   帯の幅（1440px）    1,440px        1,090px         1,440px
 *   札の幅（1440px）    1,100px        1,090px         1,100px
 *   背景の絵            あり           none            あり
 *   文字ぞろえ          center         start           center
 *   札の内余白          68px 0 74px    0               68px 0 74px
 *   h3                  18px/700/青    22px/700/金茶   18px/700/青
 *   h4                  16px/400/青    18px/700/黒     16px/400/青
 *   携帯幅の帯 / 札      375px / 335px  345px / 345px   375px / 335px
 *   携帯幅の札の内余白  50px 0         0               50px 0
 *   携帯幅の h3 / h4    14px / 12px    19px / 17px     14px / 12px
 * -------------------------------------------------------------- */

/* 帯（移行元 1019 行）。背景の絵を敷き、中身を中央へ寄せ、画面の幅いっぱいに
   広げる. */
.pa-profile-legacy-compat .pa-branch__content .content.news {
	background-image: url("../branch/images/news_bg.png?ver=c1a5b4520e21");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
}

/* 帯を広げると祖先の切り落としが左右を削るので、この帯を持つページだけ外す。
   横方向のはみ出しを抑える役目は、すぐ下の body 側の overflow-x: clip が
   引き継ぐ（項目 5 と同じ 3 つ組）. */
.pa-profile-legacy-compat .pa-branch__content .page-branch:has(.content.news) {
	overflow-x: visible;
}

body.pa-profile-legacy-compat:has(.pa-branch__content .content.news) {
	overflow-x: clip;
}

/* 中の札（移行元 1033 行）。帯を器の外へ出したぶん、札の幅は元へ戻す。
   パソコン幅は移行元と同じ 1,100px である（Bug #1945 で店舗ページの器が
   1,090px から 1,100px へ直り、10px の既知の差が解消した）。携帯幅は移行元と同じく
   左右に 20px ずつ空ける（375px 幅で帯 375px・札 335px）。min() で 1 本にまとめて
   あり、この書き方と値は項目 5（「Close up!」の灰色の帯）の札と同じである. */
.pa-profile-legacy-compat .pa-branch__content .content.news .content-wrap {
	width: min(1100px, 100% - 40px);
	margin-inline: auto;
	padding: 68px 0 74px;
}

/* 見出し（移行元 1037 行）。テーマの本文既定が足す左の縦罫線・左の内余白・
   金茶・上下の外余白・字間を打ち消す。太さは太字で、移行元の共通 reset が
   260 行目で h1〜h6 を font-weight: bold に戻しているためである. */
.pa-profile-legacy-compat .pa-branch__content .content.news .content-wrap h3 {
	margin: 0 0 2px;
	padding-left: 0;
	border-left: 0;
	color: #486d94;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: normal;
}

/* 副見出し（移行元 1044 行）。ここだけ細字である（移行元がこの規則で
   font-weight: normal を明に書いており、共通 reset の太字を上書きしている）. */
.pa-profile-legacy-compat .pa-branch__content .content.news .content-wrap h4 {
	margin: 0 0 40px;
	color: #486d94;
	font-size: 16px;
	font-weight: normal;
	letter-spacing: normal;
}

@media (max-width: 749px) {

	/* 携帯幅は背景の絵が別である（移行元 sp 版 865 行）. */
	.pa-profile-legacy-compat .pa-branch__content .content.news {
		background-image: url("../sp/branch/images/news_bg.png?ver=4277e95cf0bc");
	}

	/* 札の内余白（移行元 sp 版 879 行）. */
	.pa-profile-legacy-compat .pa-branch__content .content.news .content-wrap {
		padding: 50px 0;
	}

	/* 見出しの寸法（移行元 sp 版 883・890 行）。色と太さはパソコン版と同じ値な
	   ので、ここでは大きさと副見出しの下の外余白だけを書く. */
	.pa-profile-legacy-compat .pa-branch__content .content.news .content-wrap h3 {
		font-size: 14px;
	}

	.pa-profile-legacy-compat .pa-branch__content .content.news .content-wrap h4 {
		margin-bottom: 20px;
		font-size: 12px;
	}
}
/* ==============================================================
 * 項目 14: 会員データの区画（.guide-set.feature・Bug #4073）
 * 写し元: branch/css/style_renew.css の 734〜795 行（パソコン版）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 「ご登録されている会員様や〇〇店の特徴」の区画である。左に 3 列の格子
 * （会員様男女比・会員様出身地・会員様年齢層・店舗アクセス・成婚率の 5 つ）を
 * 置き、右に店舗の写真を回り込ませる。
 *
 * 出るのは旧デザインの店舗 3 本（札幌・高崎・福岡）である。**仙台店は移行元が
 * この区画を `<!-- -->` の注釈で囲っており、移行元でも dev でも描かれない**
 * （実ブラウザで要素そのものが無いことを確かめた）。
 *
 * ------------------------------------------------------------------
 * 何が起きていたか
 * ------------------------------------------------------------------
 * **移行元の 10 本の規則が 1 本も写されていなかった。**そのため回り込みも幅も
 * 効かず、5 つの塊が全幅 1,100px に縦へ積み上がっていた。見出しの帯（地色・
 * 角丸・白文字・中央寄せ）も無いので、黒い平文になっていた。
 *
 *   区画の高さ（パソコン幅 1440px の実測・2026-09-06）
 *     札幌店  移行元 528px 対 dev 2,547px（+2,019）
 *     高崎店  移行元 528px 対 dev 1,956px（+1,428）
 *     福岡店  移行元 528px 対 dev 2,866px（+2,338）
 *
 * 🚨 **退行ではない。**今朝 06:42 の main（07d0c9463）の CSS を当てても同じ姿で、
 * 元から在る写し漏れである（3 つの版の CSS で同じ姿を確かめた）。
 *
 * ------------------------------------------------------------------
 * 当たり先を旧デザインの店舗に絞る理由
 * ------------------------------------------------------------------
 * 移行元は `.guide-set.feature …` と区画だけで書いているが、ここでは
 * `.pa-profile-legacy-compat .pa-branch__content` を前に付けて**旧デザインの
 * 店舗ページの中に閉じる**。`.content-area` や `.ttl` はサイトの他の画面でも
 * 使う一般的な名前で、絞らないと担当外の画面まで動く。項目 7（.guide-set.shop）
 * と同じ流儀である。
 *
 * ------------------------------------------------------------------
 * 携帯幅について（2026-09-07 に前提ごと書き直した・Bug #4167）
 * ------------------------------------------------------------------
 * 🚨 **「この店舗に移行元スマホ版は無い」という前の記述は誤りだった。取り消す。**
 * `/sp/branch/<区画>/<店舗>.html` は**携帯の識別子（User-Agent）を渡せば 200 で
 * 返る**。前の実測が 302 になったのは、採取の台本が Playwright の `isMobile` だけを
 * 立てていたためである。**`isMobile` は識別子を変えないので、移行元はパソコン版へ
 * 戻す**（正本 reference_mobile_legacy_needs_mobile_user_agent）。
 *
 * 移行元スマホ版はこの区画の格子を**携帯幅で 2 列**に組む（写し元
 * `public/sp/branch/css/style_renew.css` の 673〜719 行）。dev は横並びの指定を
 * 750px 以上に絞っていたため、5 つの塊が 1 列に積み上がっていた。
 *
 *   実測（札幌店・幅 375px・2026-09-07）
 *     区画の高さ    移行元スマホ版 1,018.13px 対 dev 1,657.86px（+639.73）
 *     格子の 1 マス  移行元スマホ版 160px 幅 対 dev 355px 幅（全幅に伸びる）
 *
 * ユーザー裁定②（1,280px を基本対応幅とし、狭い幅は一般的なレスポンシブの範囲で
 * 収める）は、**移行元スマホ版が在る幅には当たらない**。移行元スマホ版が在るなら
 * そちらを完全に再現する（裁定 286）。見出しの帯（地色・角丸・白文字・中央寄せ）は
 * 幅によらず移行元と同じにする。
 *
 * 🚨 **写真の並び順は移行元スマホ版と違うまま残す（裁定 310・ユーザー承認済み）。**
 * 移行元スマホ版は店舗の写真を格子の**前**に置くが、dev の markup は写真が**後**に
 * ある。携帯幅だけ CSS で順序を入れ替えると、**読み上げの順と見える順が食い違う**
 * ため入れ替えない。区画の高さは写真の下の間隔 30px で合わせる。この差は
 * `docs/pa-cms/design/意図的変更の台帳.md` に記録済み。
 * -------------------------------------------------------------- */

/* 区画の回り込みの閉じ込めと下の間隔（移行元 734 行の .guide-set 共通）。
   移行元は .guide-set のすべての版へまとめて書いているが、ここでは .feature に
   絞る。ほかの版（.member / .address / .intro）は Bug #4074 と Bug #4075 の
   担当で、この 1 行を広げると担当外の区画の間隔まで変わるためである。
   この 1 行が無いと、下の 2 つの列（回り込み）の高さが区画に伝わらない. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature {
	overflow: hidden;
	margin-bottom: 92px;
}

/* 格子の列（移行元 739 行）と、右の絵の列（移行元 786 行）。
   🚨 **回り込みと幅は 750px 以上だけに当てる。**移行元は幅を持たない携帯幅でも
   1,280px 固定で出すが、dev は幅に収める（上の注記）. */
@media (min-width: 750px) {
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area {
		float: left;
		width: 580px;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .f-img {
		float: right;
		margin-right: -20px;
		width: 480px;
	}

	/* 格子の 1 マス（移行元 750 行）。3 列に並べる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li {
		float: left;
		margin: 30px 0 0 20px;
		width: 180px;
	}
}

/* 格子の器（移行元 744 行）。マスの外余白を打ち消して左上へ詰める。
   overflow: hidden は回り込んだマスの高さを器に伝えるためである. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul {
	display: block;
	overflow: hidden;
	margin: -30px 0 0 -20px;
}

/* 🚨 **マスの中の外余白を打ち消す**（移行元 css/common.css の 76〜79 行の初期化）。
   移行元は見出しと段落の外余白を 0 にしてから区画ごとの値を足すが、dev は
   テーマの既定が乗る。実測（札幌店・パソコン幅 1440px・2026-09-06）では
   見出しに上 50px・段落に下 25px が付き、**マス 1 つが 178.19px 対 274.69px
   （+96.5px）**になっていた。回り込みと幅を写しただけでは高さが合わない。
   ここで 0 に戻してから、下の各規則が移行元の値を足す. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li > * {
	margin: 0;
}

/* マスの見出しの帯（移行元 761 行）。dev はテーマの見出しの既定が当たり、
   地色も角丸も無い黒い平文で左に寄っていた。幅によらず移行元と同じにする. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .ttl {
	margin-bottom: 10px;
	border-radius: 30px;
	background: #b6b694;
	padding: 8px 0;
	color: #fff;
	font-size: 14px;
	line-height: 1;
	text-align: center;
}

/* 帯の中の小さい字（移行元 772 行）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .ttl-min {
	font-size: 13px;
}

/* マスの説明文（移行元 776 行）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .text {
	margin-top: 3px;
	font-size: 14px;
	line-height: 1.4;
}

/* 説明文の中の注記（移行元 782 行）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .text small {
	font-size: 10px;
}

/* マスの絵と右の絵（移行元 756 行・792 行）。器の幅いっぱいに伸ばす. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li img,
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .f-img img {
	width: 100%;
	height: auto;
}

/* 🚨 **絵を包む段落の行送りを移行元と同じ normal へ戻す。**移行元はこの段落に
   行送りを書かないが、テーマの本文既定（19.5px）が当たると**絵の下に半端な
   余りが付く**。マス 1 つで 96px 対 95.5px の差になり、区画で 1px ずれていた
   （札幌店・パソコン幅 1440px・2026-09-06 の実測）。**絵しか入っていない段落
   なので、行送りを 0 でなく normal に戻すのが移行元と同じ姿である**. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .img {
	line-height: normal;
}

/* ---- 749px 以下だけの上書き（Bug #4167）------------------------------
        写し元: public/sp/branch/css/style_renew.css の 673〜719 行、
                public/sp/css/common.css の 11 行。

        移行元スマホ版はこの区画を**2 列の格子**に組む。移行元パソコン版の 3 列
        （幅 180px・左の外余白 20px）とは値がすべて違うので、幅で分けて写す ---- */
@media (max-width: 749px) {
	/* 区画の下の間隔（移行元スマホ版 673 行の .guide-set 共通は 50px）。
	   パソコン幅の 92px から下げる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature {
		margin-bottom: 50px;
	}

	/* 格子の器（移行元スマホ版 678 行）。マスの左の外余白 15px を打ち消す. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul {
		margin: 30px 0 0 -15px;
	}

	/* 格子の 1 マス（移行元スマホ版 684 行）。2 列に並べる。
	   🚨 **箱の数え方が幅で逆である。**移行元スマホ版は `border-box`（外形が
	   `calc(50% - 15px)`）だが、移行元パソコン版は幅 180px を中身に与える。テーマは
	   全体が `border-box` なので、携帯幅はここで明示して移行元スマホ版にそろえる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li {
		float: left;
		box-sizing: border-box;
		margin: 30px 0 0 15px;
		width: calc(50% - 15px);
	}

	/* 2 列ごとに行を切る（移行元スマホ版 690 行）。奇数番のマスで回り込みを解く. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li:nth-child(odd) {
		clear: left;
	}

	/* マスの見出しの帯（移行元スマホ版 694 行）。地色・角丸・白文字・中央寄せは
	   幅によらず同じで、変わるのは字の大きさ・内余白・下の間隔・折り返しの 4 つ。
	   🚨 **折り返しを止める**（移行元スマホ版 `white-space: nowrap`）。2 列に詰まる
	   ので、止めないと「会員様出身地」のような帯が 2 行になり高さが崩れる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .ttl {
		margin-bottom: 12px;
		padding: 6px 0;
		font-size: 12px;
		white-space: nowrap;
	}

	/* 帯の中の小さい字（移行元スマホ版 707 行）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .ttl-min {
		font-size: 12px;
	}

	/* マスの説明文（移行元スマホ版 711 行）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li .text {
		font-size: 13px;
	}

	/* 🚨 **絵を行の中の要素にしない**（移行元スマホ版 `sp/css/common.css` 11 行の
	   `img { display: block }`）。移行元パソコン版は行の中の要素のままなので、
	   **この 1 本は携帯幅に閉じる**。行の中の要素だと絵の下に文字の下ぶんの余りが
	   付き、マスと区画の高さがずれる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .content-area ul li img,
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .f-img img {
		display: block;
	}

	/* 🚨 **写真の下の間隔 30px は、移行元スマホ版の写しではなく順序の差を埋める値
	   である**（裁定 310・案 A・ユーザー承認 2026-09-07）。移行元スマホ版は写真を
	   格子の前に置くので、写真と格子の間隔は格子側の上の外余白（30px）で作られる。
	   dev は写真が後ろに在るため、同じ 30px を写真の下に置く。**順序そのものは
	   入れ替えない**（読み上げの順と見える順が食い違うため）。この 30px で区画の
	   高さが移行元スマホ版と一致する（札幌店で 1,018.13px 対 1,018.13px）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.feature .f-img {
		margin-bottom: 30px;
	}
}

/* ==============================================================
 * 項目 15: 会員紹介の区画（.guide-set.member・Bug #4074）
 * 写し元: branch/css/style_renew.css の 797〜860 行（パソコン版）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 「ご登録されている会員様の一部をご紹介」の区画である。左に店舗の絵を
 * 回り込ませ、右に会員の札を 2 列 × 2 段で並べる。札は薄い灰色の地色を持ち、
 * 中は左に絵記号と性別、右に 4 行の箇条書き（年代・出身校・職業・趣味）に
 * 分かれる。
 *
 * 出るのは旧デザインの店舗 **3 本**（札幌・高崎・福岡）である。
 *
 * 🚨 **仙台店は対象外である。**移行元の HTML には `guide-set member` の字が在るが、
 * **その 1 つ上の会員データの区画から続く `<!-- -->` の注釈の中に入っており**、
 * 移行元でも dev でも描かれない（実ブラウザで両側とも要素が無いことを確かめた。
 * 注釈は sendai.html の 318 行で開き 411 行で閉じる）。**HTML の字を数えるだけでは
 * 「持っている」と誤読する。**実ブラウザで要素の有無を見ること。浜松店はどちらの
 * 区画も持たない。
 *
 * ------------------------------------------------------------------
 * 何が起きていたか
 * ------------------------------------------------------------------
 * **移行元の 11 本の規則が 1 本も写されていなかった。**そのため回り込みも幅も
 * 効かず、絵と札が全幅 1,100px に縦へ積み上がっていた。札の薄い地色も、
 * 箇条書きの行頭の「・」も出ていなかった。
 *
 *   区画の高さ（パソコン幅 1440px・Bug #4074 の本文の実測）
 *     移行元 486px 対 dev 1,813.89px（+1,328）
 *
 * 区画の高さを決めているのは左の絵である（480px 幅で高さ 486px）。右の札の
 * 列はそれより低い。
 *
 * ------------------------------------------------------------------
 * 当たり先と幅の絞り方（項目 14 と同じ流儀）
 * ------------------------------------------------------------------
 * 移行元は `.guide-set.member …` と区画だけで書いているが、ここでは
 * `.pa-profile-legacy-compat .pa-branch__content` を前に付けて**旧デザインの
 * 店舗ページの中に閉じる**。`.content-area` はサイトの他の画面でも使う名前で、
 * 絞らないと担当外の画面まで動く。
 *
 * 🚨 **「旧デザインの店舗に移行元スマホ版は無い」という前の記述は誤りだった。
 * 2026-09-07 に取り消した（Bug #4168）。**`/sp/branch/…` は**携帯の識別子
 * （User-Agent）を渡せば 200 で返る**。前の実測が 302 になったのは、採取の台本が
 * Playwright の `isMobile` だけを立てていたためである（`isMobile` は識別子を変え
 * ない。正本 reference_mobile_legacy_needs_mobile_user_agent）。
 *
 * 移行元スマホ版はこの区画の札を**携帯幅で 2 列**に組む（写し元
 * `public/sp/branch/css/style_renew.css` の 721〜772 行）。ユーザー裁定②
 * （1,280px を基本対応幅とする）は**移行元スマホ版が在る幅には当たらない**ので、
 * そちらを完全に再現する（裁定 286）。
 *
 *   実測（札幌店・幅 375px・2026-09-07）
 *     区画の高さ  移行元スマホ版 350.06px 対 dev 1,266.25px（+916.19）
 *     札 1 枚      移行元スマホ版 160×109.94px 対 dev 335×192.56px
 *
 * 🚨 **店舗の絵は携帯幅で隠す（裁定 288）。**移行元スマホ版の本文にはこの区画の
 * 店舗の絵が無い（実測で `.f-img` そのものが在らず、dev だけ 335×341px を持つ）。
 * 完全再現の原則に沿って、749px 以下だけ隠す。
 * -------------------------------------------------------------- */

/* 区画の回り込みの閉じ込め（移行元 734 行の .guide-set 共通）と下の間隔
   （移行元 797 行）。移行元は overflow を .guide-set のすべての版へまとめて
   書いているが、ここでは .member に絞る。ほかの版（.address / .intro）は
   Bug #4075 の担当で、この 1 行を広げると担当外の区画まで変わるためである。
   この 1 行が無いと、下の 2 つの列（回り込み）の高さが区画に伝わらない. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member {
	overflow: hidden;
	margin-bottom: 86px;
}

/* 札の列（移行元 801 行）と、左の絵の列（移行元 852 行）と、札の 1 枚
   （移行元 812 行の回り込みと幅）。
   🚨 **回り込みと幅は 750px 以上だけに当てる**（上の注記）. */
@media (min-width: 750px) {
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area {
		float: right;
		width: 580px;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .f-img {
		float: left;
		width: 480px;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item {
		float: left;
		width: 240px;
	}

	/* 札の中の絵記号（移行元 820 行）と箇条書き（移行元 835 行）の横並び。
	   🚨 **絵記号の幅 40px はここに置かない**（下の幅によらない側に置く）。理由は
	   そちらの注記に書いた. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .img {
		float: left;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .txt {
		float: right;
		width: 176px;
	}
}

/* 札の器（移行元 806 行）。札の外余白を打ち消して左上へ詰める。
   overflow: hidden は回り込んだ札の高さを器に伝えるためである. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list {
	display: block;
	overflow: hidden;
	margin: -22px 0 0 -20px;
}

/* 札 1 枚（移行元 812 行の外余白・内余白・地色）。
   🚨 **box-sizing を content-box へ戻す。**移行元の CSS には `*` の一括指定が
   無く、札は既定の content-box である（`branch/css/style_renew.css` と
   `css/common.css` の両方で確かめた）。幅 240px に左右の内余白 20px が足されて
   **外形 280px** になり、Bug #4074 の本文の実測 280px と一致する。このテーマは
   `*, *::before, *::after { box-sizing: border-box }` を全体に効かせているため、
   そのまま写すと外形が 240px になり、2 列の幅が 40px ずつ足りなくなる. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item {
	box-sizing: content-box;
	margin: 20px 0 0 20px;
	background: #e0e0e0;
	padding: 20px 20px 24px;
}

/* 🚨 **札の中の外余白を打ち消す**（移行元 css/common.css の 76〜79 行の初期化）。
   移行元は段落と一覧の外余白を 0 にしてから区画ごとの値を足すが、dev は
   テーマの既定（段落の下 25px 等）が乗る。項目 14 で同じ型を踏んだ。
   このあとの規則が移行元の値を足すので、ここより前に書く. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item > * {
	margin: 0;
}

/* 札の中の絵記号と性別（移行元 820 行）。字は幅によらず移行元と同じにする。

   🚨 **幅 40px も幅で絞らずここに置く。**下の規則が絵記号そのものを「器の幅
   いっぱい」に伸ばすため、器の幅が無いと**絵記号が札の幅いっぱいまで拡大される**。
   実測（札幌店・携帯幅 375px・2026-09-06）では、40px の絵記号が 295px に伸びて
   札 1 枚が 447.56px になっていた。ほかの幅（580 / 480 / 240 / 176px）は狭い画面に
   収まらないので 750px 以上に絞るが、**40px は狭い画面でもそのまま使える寸法**
   なので絞らない。回り込みだけを 750px 以上に置いてある. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .img {
	width: 40px;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
}

/* 絵記号そのもの（移行元 828 行）。器の幅いっぱいに伸ばし、下に 6px 空ける. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .img img {
	display: block;
	margin: 0 0 6px;
	width: 100%;
	height: auto;
}

/* 札の中の箇条書き（移行元 835 行）。1px 上へ持ち上げるのも移行元どおり. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .txt {
	margin-top: -1px;
	font-size: 14px;
	line-height: 1.4;
}

/* 箇条書きの 1 行（移行元 843 行）。行頭の記号ぶんだけ 1 文字ぶん字下げを戻す。
   🚨 **行送りを親から受け継がせ直す。**移行元は行に行送りを書かず、1 つ上の
   `.txt` の 1.4 をそのまま受け継ぐ。dev はテーマの既定が**行そのものに 21px を
   直接当てる**ため、上で 1.4（19.6px）を書いても行には届かない。実測（札幌店・
   パソコン幅 1440px・2026-09-06）で 1 行 19.59px 対 21px、4 行で札 1 枚が
   121.38px 対 127px（+5.62）、札の列で +11.25px になっていた. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .txt li {
	position: relative;
	line-height: inherit;
	text-indent: -1em;
}

/* 行頭の「・」（移行元 848 行）。dev は記号そのものが出ていなかった. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .txt li::before {
	content: "・";
}

/* --------------------------------------------------------------
 * 750px 以上だけの上書き（趣味の行の強制の改行・Bug #4318・裁定 362）
 *
 * ------------------------------------------------------------------
 * なぜ要るのか
 * ------------------------------------------------------------------
 * 移行元は幅ごとに別のページを持ち、**福岡店の趣味の行の強制の改行（`<br>`）は
 * 移行元スマホ版だけに在る**。
 *
 *   移行元スマホ版 /sp/branch/kyushu/fukuoka.html … 趣味　<br>映画鑑賞／料理
 *   移行元パソコン版 /branch/kyushu/fukuoka.html   … 趣味　映画鑑賞／料理
 *
 * 移行先は 1 枚の markup を両幅で共用するので、**本文へ改行を入れると
 * パソコン幅でも改行が出て、移行元パソコン版から外れる**。ここで消す。
 *
 * 本文へ改行を入れるのは兄弟の Task #4316（16 班）である。**この CSS を先に
 * 反映する**（裁定 369）。改行が入る前は当たる要素が無いので、何も変わらない。
 *
 * ------------------------------------------------------------------
 * 実測（幅 1440px・福岡店・2026-09-07。dev の画面へ改行を差し込んで測った）
 * ------------------------------------------------------------------
 *   趣味の行  移行元パソコン版 19.59px 対 改行を入れた dev 39.19px（+19.6 = 1 行）
 *   札 1 枚   移行元パソコン版 280 × 121.38px 対 280 × 140.97px（+19.59）
 *
 * 🚨 **区画の高さでは見つからない。**この区画のパソコン幅の高さを決めているのは
 * 左の絵の列（486px）なので、札が 19.59px 伸びても区画は 486px のままである。
 * **札の高さで見張ること。**
 * -------------------------------------------------------------- */
@media (min-width: 750px) {
	/* 🚨 **当たり先を会員紹介の札の中の箇条書きへ閉じる。**`br` を消す指定は、
	   絞りを外すとサイトの他の画面の改行まで消える. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .txt li br {
		display: none;
	}
}

/* 🚨 **左の絵を包む段落の外余白を打ち消す**（移行元 css/common.css の 75〜78 行の
   初期化）。移行元は段落の外余白を 0 にするが、dev はテーマの既定（段落の下 25px）が
   乗る。**この区画の高さを決めているのは左の絵の列**なので、25px がそのまま区画の
   高さの差になる（右の札の列は約 402px で、左の絵の 486px より低い）。項目 14 では
   札の列のほうが高かったため、この差は表に出ていなかった。

   🚨 **行送りも移行元と同じ `normal` へ戻す。**絵は行の中の要素（`display: inline`）
   なので、絵の下に文字の下ぶんの余りが付く。その余りは行送りで変わり、実測
   （札幌店・パソコン幅 1440px・2026-09-06）では**移行元 6px 対 dev 5.5px**だった
   （移行元は `normal`・dev はテーマの既定 19.5px。字の大きさは両側とも 13px、絵も
   両側とも 920 × 920 の同じ画像である）。この 0.5px がそのまま区画の高さの差
   （486px 対 485.5px）になっていた。項目 14 の絵の列にも同じ 0.5px が在るが、
   あちらは区画の高さを札の列が決めているため表に出ない（別途 Task 化する）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .f-img {
	margin: 0;
	line-height: normal;
}

/* 左の絵（移行元 857 行）。器の幅いっぱいに伸ばす. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.member .f-img img {
	width: 100%;
	height: auto;
}

/* ---- 749px 以下だけの上書き（Bug #4168）------------------------------
        写し元: public/sp/branch/css/style_renew.css の 673・721〜772 行 ---- */
@media (max-width: 749px) {
	/* 区画の下の間隔（移行元スマホ版 721 行）。パソコン幅の 92px から下げる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member {
		margin-bottom: 50px;
	}

	/* 🚨 **店舗の絵を隠す（裁定 288）。**移行元スマホ版の本文にはこの区画の店舗の絵が
	   無い（実測で `.f-img` そのものが在らず、dev だけ 335×341px を持つ）。
	   完全再現の原則に沿って、ここだけで隠す. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .f-img {
		display: none;
	}

	/* 札の器（移行元スマホ版 725 行）。札の上と左の外余白 15px を打ち消す. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list {
		margin: -15px 0 0 -15px;
	}

	/* 札 1 枚（移行元スマホ版 731 行）。2 列に並べる。
	   🚨 **箱の数え方が幅で逆である。**移行元スマホ版は `border-box`（外形が
	   `calc(50% - 15px)`）、移行元パソコン版は `content-box`（中身 240px ＋ 内余白
	   20px×2 で外形 280px）。テーマは全体が `border-box` なので、パソコン幅は
	   別に外形をそろえてある。ここは携帯幅の値を明示する. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item {
		float: left;
		box-sizing: border-box;
		margin: 15px 0 0 15px;
		padding: 10px;
		width: calc(50% - 15px);
	}

	/* 2 枚ごとに行を切る（移行元スマホ版 741 行）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item:nth-child(odd) {
		clear: left;
	}

	/* 札の中の絵記号と性別（移行元スマホ版 745 行）。
	   🚨 **行送りを移行元と同じ `normal` へ戻す。**移行元スマホ版はこの段落に行送りを
	   書かないが、dev はテーマの既定（18px）が当たり、絵記号の列が 51px 対 54px に
	   なる。**器に書いた値が行に届かない型の裏返しで、この班で何度も踏んでいる**. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .img {
		float: left;
		width: 30px;
		font-size: 10px;
		line-height: normal;
	}

	/* 絵記号そのもの（移行元スマホ版 753 行）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .img img {
		margin: 0 2px 6px;
	}

	/* 札の中の箇条書きの器（移行元スマホ版 758 行）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .txt {
		float: right;
		width: calc(100% - 50px);
		font-size: 10px;
		line-height: 1.4;
	}

	/* 🚨 **箇条書きの行の字は 13px である。**移行元スマホ版は器（`.txt`）に 10px を
	   書くが、移行元スマホ版の初期化（`public/sp/css/basic.css` の 5〜19 行）が `li`
	   そのものに 13px を**直接**当てるので、行は 10px を受け継がず 13px で描かれる
	   （実測 行 18.19px・器 90.94px）。**器の 10px だけを写すと行が 14px になり、
	   札 1 枚が 109.94px 対 89px（−20.94px）になる。器の値と行の値を別に写す**
	   （正本 reference_legacy_container_font_size_not_reaching_rows）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.member .content-area .member-list-item .txt li {
		font-size: 13px;
	}
}

/* ==============================================================
 * 項目 16: 住所の区画（.guide-set.address）と、区画に共通の 1 本、
 *          店舗のご案内（.guide-set.intro）の写し漏れ・Bug #4075
 * 写し元: branch/css/style_renew.css の 734 行・862〜901 行・1002〜1017 行
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 「〇〇店で活動中の会員様のご住所」の区画である。左に市区町村の一覧と説明文、
 * その下へ重ねて地図の絵を置き、右に店舗の絵を回り込ませる。
 *
 * 出るのは旧デザインの店舗 **3 本**（札幌・高崎・福岡）である。**仙台店は対象外**で、
 * 移行元が会員データ・会員紹介・住所の 3 つをまとめて `<!-- -->` の注釈で囲って
 * いる（`sendai.html` の 318〜411 行）。浜松店はどの区画も持たない。
 *
 * 一方、**店舗のご案内（.guide-set.intro）を描くのは仙台店と高崎店の 2 本**で、
 * 札幌店と福岡店はこちらが注釈の中に在る。**注釈を取り除いてから数えて確かめた**
 * （HTML の字を数えると、描かれない区画まで「持っている」と誤読する）。
 *
 * ------------------------------------------------------------------
 * 何が起きていたか
 * ------------------------------------------------------------------
 * 移行元の宣言がテーマにほとんど写っていなかった。回り込みも幅も効かず、文章と
 * 絵が全幅 1,100px に縦へ積み上がっていた。
 *
 *   区画の高さ（パソコン幅 1440px・Bug #4075 の本文の実測）
 *     移行元 486px 対 dev 1,509px（札幌 +1,023 / 高崎 +1,027 / 福岡 +988）
 *
 * ------------------------------------------------------------------
 * 写さなかった宣言 2 本とその理由
 * ------------------------------------------------------------------
 * 移行元は `.guide-set.address .content-area` に札幌店の地図の絵を背景として敷き
 * （`background: url(/branch/images/sapporo_address_bg01.png) no-repeat 50% 140px`）、
 * そのすぐ後で `.guide-set.address.address2 .content-area { background: none }` と
 * 打ち消している。**この区画を持つ 3 本は 3 本とも `address2` を付けている**ので
 * （移行元の写しと dev の実 HTML で確かめた）、**背景は 3 本とも `none` に決まる**。
 *
 * よって、この 2 本はどちらも写さない。写すと「どの店舗にも札幌店の絵を敷いてから
 * 全店舗で打ち消す」という、1 度も描かれない指定を移行先へ持ち込むことになる。
 * 地図の絵は背景ではなく**本文の `<img>`** として入っており（下の `.wrapper .img`）、
 * そちらは移行元どおり写す。見た目は移行元と同じになる。
 * -------------------------------------------------------------- */

/* 🚨 **区画に共通の 1 本**（移行元 734 行）。回り込みをその区画の中で閉じる役目を
   持ち、これが無いと隣の区画へ回り込みが漏れる。下の間隔 92px は、版ごとの指定
   （.feature 92 / .member 86 / .address 85 / .intro 105 / .shop 40）がどれも詳細度で
   勝つので実際には出番が無いが、移行元と同じ姿にするため書く。
   この区画を持つ 5 つの版はどれも版の印を必ず持つ（移行元の写し 4 本の HTML で
   `class="guide-set …"` を数えて確かめた。印の無い `.guide-set` は 0 件）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set {
	overflow: hidden;
	margin-bottom: 92px;
}

/* 住所の区画の下の間隔（移行元 862 行）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.address {
	margin-bottom: 85px;
}

/* 文章の列（移行元 866 行）と、右の絵の列（移行元 876 行）。
   🚨 **回り込みと幅は 750px 以上だけに当てる**（移行元スマホ版が無く、狭い幅は
   一般的なレスポンシブの範囲で収めるユーザー裁定②に従う。項目 14・15 と同じ）. */
@media (min-width: 750px) {
	.pa-profile-legacy-compat .pa-branch__content .guide-set.address .content-area {
		float: left;
		width: 580px;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.address .f-img {
		float: right;
		margin-right: -20px;
		width: 480px;
	}
}

/* 文章の列の下の空き（移行元 866 行）。**この 200px は幅で絞らない。**下の
   `.wrapper .img` が絵を流れの外へ出す（position: absolute）ので、その絵の高さぶんを
   ここで確保している。絞ると狭い幅で絵が下の区画へ重なる. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.address .content-area {
	padding-bottom: 200px;
}

/* 市区町村の一覧と説明文（移行元 872 行）。絵より前へ出すために重なりの順を上げる. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.address .content-area .text {
	position: relative;
	z-index: 1;
	margin: -4px 0 1.6em;
	font-size: 16px;
}

/* 絵の位置の基準（移行元 895 行）。次の 1 本と対で効くので、必ず 2 本一緒に置く. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.address.address2 .wrapper {
	position: relative;
}

/* 地図の絵（移行元 899 行）。器の上端へ重ねて置く。
   外余白と行送りは、下の右の絵と同じ理由で移行元の姿へ戻す（実測で高さが
   329px 対 328.5px だった）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.address.address2 .wrapper .img {
	position: absolute;
	top: 0;
	margin: 0;
	line-height: normal;
}

/* 🚨 **右の絵を包む段落の外余白と行送りを移行元へ戻す**（移行元 css/common.css の
   75〜78 行の初期化。項目 14・15 で 2 度踏んだのと同じ型）。移行元は段落の外余白を
   0・行送りを `normal` にするが、dev はテーマの既定（下 25px・行送り 19.5px）が
   乗る。**この区画の高さを決めているのは右の絵の列**（480 × 486px。左の文章の列は
   456.58px）なので、そのまま区画の差になる。実測（札幌店・パソコン幅 1440px・
   2026-09-07）では区画が 486px 対 510.5px（+24.5）だった。内訳は下の外余白 25px と、
   行送りが変える絵の下の余り −0.5px である. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.address .f-img {
	margin: 0;
	line-height: normal;
}

/* 右の絵（移行元 881 行）。器の幅いっぱいに伸ばす. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.address .f-img img {
	width: 100%;
	height: auto;
}

/* --------------------------------------------------------------
 * 749px 以下だけの上書き（住所の区画・Bug #4245・裁定 329 = 案 A）
 * 写し元: sp/branch/css/style_renew.css の 775〜782 行
 *
 * ------------------------------------------------------------------
 * 何が起きていたか
 * ------------------------------------------------------------------
 * 移行先は 1 枚の markup をパソコン幅と携帯幅で共用しており、その markup は
 * 移行元パソコン版の組み方に合わせてある。**移行元スマホ版はこの区画の中身を
 * 「見出し ＋ 説明文 2 本」だけに絞る**ので、店舗の写真・地図の絵が余って高さが
 * 大きく違っていた。
 *
 *   区画の高さ（携帯幅 375px の実測・2026-09-07）
 *     札幌店  移行元スマホ版 238.78px 対 dev 825.17px（+586.39）
 *     高崎店  移行元スマホ版 238.78px 対 dev 853.97px（+615.19）
 *
 * ------------------------------------------------------------------
 * 🚨 地図が画面から消えるわけではない
 * ------------------------------------------------------------------
 * 移行元スマホ版は、店舗の所在地・営業時間・アクセスの表と地図を**隣の
 * 「店舗情報」の区画（.guide-set.shop）に置く**。中身を捨てているのではなく、
 * 区画の割り振りを変えている。dev の隣の区画も同じ中身を持つことを実測で
 * 確かめた（幅 375px・札幌店で 表 1 本・行 4 行・行の見出しの並びが同じ・
 * 地図の枠 1 つ・区画の高さ 910.13px 対 909px）。裁定 329 でこれを根拠に
 * 案 A（隠す）が決まった。
 *
 * ------------------------------------------------------------------
 * 🚨 隠すのは「店舗の写真」と「地図の絵」の 2 つだけである
 * ------------------------------------------------------------------
 * 包み（.wrapper）ごと隠してはいけない。**dev の markup は説明文 2 本を
 * この包みの中に入れている**ので、包みを隠すと移行元スマホ版が持っている
 * 説明文まで消える。
 *
 *   dev   content-area > h4 + div.wrapper > (p.text, p.text, p.img) / p.f-img
 *   移行元スマホ版  content-area > h4 + p.text + p.text
 *
 * ------------------------------------------------------------------
 * 出るのは旧デザインの店舗 3 本（札幌・高崎・福岡）である
 * ------------------------------------------------------------------
 * **仙台店は対象外**で、移行元スマホ版でも移行元パソコン版でもこの区画が
 * <!-- --> の注釈の中に在る（移行元スマホ版 4 本の HTML から注釈を取り除いて
 * 数え直して確かめた。Bug #4245 の本文は「4 店」と書いているが誤りである）。
 * 浜松店はどの区画も持たない。
 * -------------------------------------------------------------- */
@media (max-width: 749px) {
	/* 区画の下の間隔（移行元スマホ版 775 行）。パソコン幅の 85px を 40px へ. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.address {
		margin-bottom: 40px;
	}

	/* 🚨 **店舗の写真と地図の絵を隠す**（裁定 329・案 A。移行元スマホ版の本文に
	   この 2 つが無い）。包み（.wrapper）は隠さない。説明文が中に在る. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.address .f-img,
	.pa-profile-legacy-compat .pa-branch__content .guide-set.address .wrapper .img {
		display: none;
	}

	/* 🚨 **絵の高さぶんを確保する下の空きも要らなくなる。**パソコン幅の 200px は
	   地図の絵を流れの外へ出す（position: absolute）ぶんの確保なので、絵を隠すなら
	   0 へ戻す。戻さないと区画が 200px 高いままになる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.address .content-area {
		padding-bottom: 0;
	}

	/* 説明文の字の大きさ（移行元スマホ版 779 行）。パソコン幅の 16px を 14px へ。
	   外余白 -4px 0 1.6em は両版で同じなので、幅で囲わない土台の 1 本に任せる。

	   🚨 **行送りを normal へ戻す。**移行元スマホ版はこの段落に行送りを書かず
	   `normal` のままだが、テーマは段落の既定（`p { line-height:
	   var(--pa-line-height-text) }`）を当てており、携帯幅ではそれが 1.8 になる。
	   **携帯幅ではこの区画の高さを決めるのが説明文そのもの**なので、そのまま
	   区画の差になる（実測で 3 行の段落が 75.56px 対 63px・2 行の段落が
	   50.38px 対 42px・合わせて区画 259.72px 対 238.78px の +20.94px）。

	   🚨 **パソコン幅を直す必要は無い。**移行元は両幅ともこの段落の行送りを
	   書かず `normal` のままだが、パソコン幅では字が 16px なので `normal` が
	   24px になり、テーマの 1.5（= 24px）と偶然そろう（両側で実測 24px・段落
	   48px と 24px・区画 486px）。**そろわないのは携帯幅だけ**なので、ここで閉じる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.address .content-area .text {
		font-size: 14px;
		line-height: normal;
	}
}

/* --------------------------------------------------------------
 * 店舗のご案内（.guide-set.intro）の写し漏れ 4 本（移行元 1002〜1017 行）
 *
 * 🚨 **Bug #4075 の本文は「残り 2 本」と書いているが、パソコン幅で効いていない
 * のは 4 本である。**内訳は「どこにも無い 2 本」と「携帯幅（749px 以下）の塊の中に
 * だけ在る 2 本」で、本文はあとの 2 本を写し済みに数えていた（2026-09-07 に
 * 移行元の 10 本とテーマを 1 本ずつ突き合わせて確かめた）。
 *
 *   figure          margin: 0                → 携帯幅の中だけ
 *   figcaption      margin-top: 3px          → 携帯幅の中だけ
 *   figcaption.text font-size: 12px          → どこにも無い
 *   img             width: 100%; height: auto → どこにも無い
 * -------------------------------------------------------------- */

/* 写真の囲い（移行元 1002 行）。テーマの既定の外余白を移行元の 0 へ戻す。
   🚨 **行送りも移行元の `normal` へ戻す。**写真は行の中の要素（`display: inline`）で、
   写真の下に文字の下ぶんの余りが付く。その余りは行送りで変わり、実測（高崎店・
   パソコン幅 1440px・2026-09-07）では**移行元 6px 対 dev 5.5px**だった（項目 15 の
   絵の列と同じ型）。囲いが 285px 対 284.48px、区画が 442px 対 441.48px になっていた. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li figure {
	margin: 0;
	line-height: normal;
}

/* 写真の説明（移行元 1006 行）。
   🚨 **字の色と寄せをテーマの既定から戻す。**移行元は色も寄せも書かず、本文から
   受け継いだ黒の左寄せで描かれる。dev は `.entry-content figcaption` が薄い灰色
   （実測 rgb(118,118,118)）と中央寄せを当てていた。**色は宣言を消すだけでは戻らない**
   ので、移行元と同じ「受け継ぐ」姿を `inherit` で書く（このファイルの
   `.content-headline` と同じ書き方）。

   🚨 **字の大きさも受け継ぎへ戻す。**移行元は説明に `font-size` を書かず、本文から
   受け継いだ 13px で描く（`.text` を兼ねる説明だけ、次の規則で 12px にする）。dev は
   `.entry-content figcaption` が `var(--pa-font-size-base)` = 12px を当てていた。
   実測（仙台店・パソコン幅 1440px・2026-09-07）では、`.text` を持たない説明 3 件が
   **13px 対 12px**で、1 行 20px 対 18px・3 行で 60px 対 54px・区画で 438px 対 431.98px
   の差になっていた。**仙台店の説明は `.text` を持たず、高崎店の説明は持つ**ので、
   店舗によって効く規則が違う（両方の店舗で測って確かめた）. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li figcaption {
	margin-top: 3px;
	color: inherit;
	font-size: inherit;
	text-align: inherit;
}

/* 説明のうち .text を兼ねるもの（移行元 1010 行）。上の項目 1 が当てる 16px を
   移行元どおり 12px へ戻す. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li figcaption.text {
	font-size: 12px;
}

/* 写真そのもの（移行元 1014 行）。1 枚 360px の枠いっぱいに伸ばす. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li img {
	width: 100%;
	height: auto;
}

/* ==============================================================
 * 旧デザイン 24 店舗だけが持つ装飾（Task #1673）
 * 写し元: legacy/www.p-a.jp/public/branch/css/style_area1.css（パソコン版・2,073 行）
 *         legacy/www.p-a.jp/public/sp/branch/css/style_area1.css（携帯版・2,175 行）
 *
 * ------------------------------------------------------------------
 * なぜ「束ね直し」が要るのか
 * ------------------------------------------------------------------
 * 移行元はパソコン版と携帯版を別々の URL・別々の CSS ファイルで出し分けて
 * いる（携帯の閲覧者は /sp/ のミラーへ転送される）。移行先は 1 つの URL で
 * 両方を出すため、2 つのファイルの値を 749px で束ね直す必要がある。
 *   750px 以上 … 既定として書く（移行元パソコン版の値）
 *   749px 以下 … このすぐ下の @media (max-width: 749px) で上書きする
 *                （移行元携帯版の値）
 *
 * ------------------------------------------------------------------
 * なぜ .pa-profile-legacy-compat を前置するのか
 * ------------------------------------------------------------------
 * 新デザインの 4 店舗（銀座・新宿・静岡・岡山）を対象から外すためである。
 * あちらは移行後も新デザインを維持する取り決めで、旧デザイン向けの装飾が
 * 漏れると見た目が変わる（Bug #1641 で実害が出ている）。dev の <body> は
 * 新デザインの 4 店舗に pa-profile-new、旧デザインと改装版に
 * pa-profile-legacy-compat を付けるので、前置すれば確実に外せる。
 *
 * 改装版の 14 店舗は pa-profile-legacy-compat の側に入るため、プロファイル
 * だけでは分けられない。分かれる根拠はクラス名である。移行元の改装版 7 ページ
 * （sendai0901 / takasaki / fukuoka / hiroshima / sapporo / shizuoka0908 /
 * hamamatsu0908）の HTML を数えたところ、この区画が使う leadcopy・value・
 * case-*・title-01・l-container はどれも 0 件だった。よって改装版
 * （Task #1649 の成果）には届かない。
 *
 * ------------------------------------------------------------------
 * 幅の差を calc() で吸収する
 * ------------------------------------------------------------------
 * 中身を載せる柱の幅が移行元と移行先で違う（大阪店の実測で、パソコン幅は
 * 移行元 .l-container 1,100px 対 dev 1,050px、携帯幅は移行元の中身 335px 対
 * dev 305px）。移行元の px をそのまま書くとはみ出して横スクロールが出るため、
 * 柱を割り算して列を作る箇所は calc() で書く。
 *
 * ------------------------------------------------------------------
 * この区画で扱わない差
 * ------------------------------------------------------------------
 * 本文の文字色（移行元 #3d4e56 対 dev 黒）・中央揃え（移行元は左揃え、dev は
 * 中央揃え）・書体の割り当て・行の高さは、店舗ページに限らず全テンプレートに
 * 共通する差である。Task #1673 のスコープ境界で明示的に外してあり、テーマ CSS
 * 基盤の Issue が扱う。ここでは移行元 CSS が明示している text-align だけを写す。
 *
 * 実測の裏づけは _survey-1617/measure-1673.md（採取 2026-08-08 11:22 JST・
 * パソコン幅 1440px / 携帯幅 375px・代表 5 ページ）である。
 * ============================================================== */

/* --------------------------------------------------------------
 * 土台（全区画に効く基準値）
 * -------------------------------------------------------------- */

/* 節の器。移行元 .l-section は下に 120px の内余白を持ち、外余白は持たない
   （style_area1.css:151）。このテーマは共通トークンで下外余白 60px を与えて
   いたので、移行元の作りへ入れ替える。
   実測（大阪店・パソコン幅）: 下内余白 移行元 120px 対 dev 0px、
   下外余白 移行元 0px 対 dev 60px. */
.pa-profile-legacy-compat .pa-branch__content .l-section {
	position: relative;
	margin-bottom: 0;
	padding-bottom: 120px;
}

/* 旧デザインの店舗ページ（世代 B の 14 本）のニュースの帯（Task #3575）。
   写し元は `branch/css/style_area1.css` の `.page-branch .news`。

   🚨 **改装版の帯（このファイルの `.content.news`）とは別物である。**移行元は
   世代ごとに器の目印も絵も違う。

     | | 器の目印 | 絵 |
     |---|---|---|
     | 世代 B（14 本） | `l-section news` | `area1/bg_nws.png` |
     | 改装版（4 本）  | `content news`   | `news_bg.png` |

   `news_bg.png` は改装版の CSS（`style_renew.css`）が指す絵で、中身も別である
   （md5 が違う）。**上の `.content.news` の節はそのまま改装版用に残す。**

   携帯幅では絵を差し替える（移行元は同じ相対パスにスマホ版の別の絵を置く。
   実測 パソコン版 302,601 バイト 対 スマホ版 144,384 バイト）。

   ------------------------------------------------------------------
   🚨 移行元の写し間違いを再現している（司令塔の裁定 154・2026-09-05）
   ------------------------------------------------------------------
   移行元は店舗ごとの絵を `.page-branch-<店舗>` で絞るが、**14 本のうち 3 本が
   別の店舗の目印を持っている。**

     | ページ | 持っている目印 |
     |---|---|
     | 郡山 `/branch/tohoku/koriyama.html` | `page-branch-tachikawa`（立川） |
     | 柏 `/branch/kanto/kashiwa.html`     | `page-branch-chiba`（千葉） |
     | 天王寺 `/branch/kansai/tennoji.html` | `page-branch-machida`（町田） |

   移行元の写し間違いだが、**移行元がそう出している以上、移行先も同じ絵にする**
   （原則 = 移行元の再現）。立川・千葉・町田には店舗ごとの規則が無いので、この
   3 本は共通の絵を使う。**事業部が直したいと言ったときは、ここを起点に探す。** */
.pa-profile-legacy-compat .pa-branch__content .l-section.news {
	background-image: url("../branch/images/area1/bg_nws.png?ver=74e21344c5f4");
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 74px;
}

/* 中身を載せる柱。移行元 .l-container は position: relative を持ち、幅を
   1,100px に固定する（style_area1.css:157）。幅はこのテーマ側の器に任せ、
   ここでは position だけを写す。移行元の 1,100px をそのまま書くと、外側の器
   （実測 1,090px）からはみ出して横スクロールが出る。柱を割り算して列を作る
   箇所は、この差を吸収できるよう calc() で書く。

   移行元の携帯版が持つ左右 20px の内余白（sp/…:145）は写さない。dev の柱は
   すでに外側で左右の余白を取っており（実測 305px）、移行元の中身の幅 335px
   より狭い。ここへさらに 20px を足すと 265px まで縮んで文字が詰まる. */
.pa-profile-legacy-compat .pa-branch__content .l-container {
	position: relative;
}

/* 表の下の外余白（Bug #4143）。この世代の店舗ページの表は、移行元では下の外余白を
   持たない（実測 0px）。専用の写し（`branch/css/style_area1.css`）が、冒頭の
   初期化（89〜107 行）で `.page-branch table` を含む多数の要素に `margin: 0` を当て、
   共通 CSS（`public/css/common.css` の 288 行）の `table { margin-bottom: 1em }` を
   打ち消しているためである。**当たり先はここでも移行元と同じ `.page-branch table` に
   そろえてある。**
   dev はテーマの本文共通の表（`.entry-content table:not(.pa-form-table)` の
   `margin: 0 0 var(--pa-article-paragraph-gap)`）が 25px を当てており、
   表 1 つにつき +25px の差になっていた。

   🚨 **この世代はページの表すべてが対象である。**四日市店・浜松店で全数を測ると、
   **12 個の表が 12 個とも移行元 0px 対 dev 25px** だった（パソコン幅 1440px・
   2026-09-07）。`.pa-branch__content .page-branch` の外に表は 1 つも無い（12 / 12）。
   携帯幅（375px）でも移行元 0px 対 dev 18px で、向きは同じである。

   🚨 **改装版（`pa-branch-renew`）へ広げてはいけない。**あちらの移行元は共通 CSS の
   `1em`（13px）がそのまま生きており、`0` にすると逆向きに壊れる。世代を分ける印は
   `<body>` に付く（改装版 = `pa-branch-renew`／この世代 = `pa-branch-area1`）。
   両方とも `pa-profile-legacy-compat` を併せ持つので、**その 1 語だけでは分けられない。**

   【強さの数え直し】class 4 つ ＋ 要素 1 つで (0,4,1)。テーマの本文共通の表
   （`.entry-content table:not(.pa-form-table)` は (0,2,1)）に勝つ。テーマ側の規則は
   このファイルの後ろに在るので、同じ強さでは負ける点に注意する. */
.pa-profile-legacy-compat.pa-branch-area1 .pa-branch__content .page-branch table {
	margin-bottom: 0;
}

/* --------------------------------------------------------------
 * 区画 A: 店舗名まわりのリード
 * 写し元: branch/css/style_area1.css の 713〜849 行
 *
 * 移行元はパソコン版と携帯版で作りが根本的に違う。パソコン版は 270×150px の
 * 背景画像の板に白抜きの店名を載せて惹句と横に並べる。携帯版は板を使わず、
 * 帯の全面に写真を敷いて店名・但し書き・惹句を縦に積む。
 *
 * 携帯版のミラーはクラス名も違う（.leadcopy-logo / .leadcopy-shop /
 * .leadcopy-caption）。dev の本文はパソコン版の名前（.leadcopy-shop-logo /
 * .leadcopy-shop-name / .leadcopy-shop-caption）を持つので、携帯幅の値は
 * 名前を読み替えて当てる。対応は次のとおり。
 *   dev .leadcopy-shop-logo    ← 携帯版ミラー .leadcopy-logo
 *   dev .leadcopy-shop-name    ← 携帯版ミラー .leadcopy-shop（h2 の店名）
 *   dev .leadcopy-shop-caption ← 携帯版ミラー .leadcopy-caption
 * -------------------------------------------------------------- */

/* 帯。移行元 .leadcopy は薄い緑（#e3e3d3）の地色を敷き、左右の内余白と下の
   外余白を持たない（style_area1.css:713）。このテーマは共通トークンの
   「一段浮かせる面」の色（#f2f4f7・青みがかった灰）で代え、左右 20px の
   内余白と下 60px の外余白を足していた。移行元の値へ戻す. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy {
	position: relative;
	margin-bottom: 0;
	padding: 25px 0;
	background-color: #e3e3d3;
}

/* 板と惹句を横に並べる。移行元は柱と板の両方を flex の中央寄せにする
   （style_area1.css:720）. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy .l-container,
.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 店名を載せる板。移行元は 270×150px の背景画像に店名を重ね、右に 30px 空けて
   惹句を置く（style_area1.css:732）。
   実測（大阪店・パソコン幅）: 移行元 270×150px・背景画像 bg_lcpy.png 対
   dev 1,050×118px・装飾なし. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop {
	width: 270px;
	height: 150px;
	margin: 0 30px 0 0;
	background: url("../branch/images/area1/bg_lcpy.png?ver=649078186548") no-repeat 50%;
	flex-direction: column;
}

/* 板の上のロゴ。移行元は行の高さを 0 にして画像の下の隙間を消す
   （style_area1.css:744）. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop-logo {
	line-height: 0;
}

/* 店名。移行元は板の上に白抜きで載せる（style_area1.css:748）。
   実測: 色 移行元 白 対 dev 金茶 rgb(163,118,43)、行の高さ 移行元 40px（= 1）
   対 dev 60px。大きさ 40px と字間 .2em はテーマ側が既に移行元と同値である. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop-name {
	margin: 12px 0 5px;
	color: #fff;
	line-height: 1;
}

/* 店名の下の但し書き。実測: 色 移行元 #e3d7be 対 dev 黒。大きさは移行元 12px で
   dev も 12px（一致）。移行元は下の外余白を持たない（板の中で中央に寄るため）. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop-caption {
	margin: 0;
	color: #e3d7be;
}

/* 惹句の囲み。移行元 .leadcopy-txt は文字色 #51411e を持ち、中の
   .leadcopy-txt-01 / -02 は color: inherit でこれを継ぐ
   （style_area1.css:762）。実測: 色 移行元 #51411e 対 dev 黒. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt {
	color: #51411e;
}

/* 惹句と注記の約物（句読点・かっこ）の詰め方。移行元は両方に palt を与えて
   いる（style_area1.css:766・796 と sp/…:796・826。パソコン版と携帯版で同値）。
   区画 B の数字と成婚事例の文字には写してあったが、ここだけ書き漏らしていた。
   実測: 移行元 "palt" 対 dev normal（1440px・375px とも）. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-01,
.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-02 {
	font-feature-settings: "palt";
}

/* 惹句の中の強調。移行元は太字にせず、二重下線だけを引く。太字にならないのは
   移行元の打ち消し（style_area1.css:100 の font: inherit）が strong の太さを
   親から継がせるためで、このテーマでは既定どおり太字になる。移行元へ合わせる. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-01 strong {
	position: relative;
	color: inherit;
	font-weight: normal;
}

/* 二重下線。移行元は 3px の double を文字の 4px 下へ引く
   （style_area1.css:781）. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-01 strong::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	border-bottom: 3px double #51411e;
}

/* 惹句に添える注記の印。移行元は 11px である（style_area1.css:790）。
   このテーマは small に手を入れていないため、閲覧ソフトの既定 13.33px で出る. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-01 small {
	font-size: 11px;
}

/* 帯の下の注記。移行元は行の高さ 1.2 で組む（style_area1.css:795）. */
.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-02 {
	line-height: 1.2;
}

/* 数寄屋橋店だけ店名が長く、移行元は 30px・字間 .1em へ落とす
   （style_area1.css:806）. */
.pa-profile-legacy-compat .pa-branch__content .page-branch-sukiyabashi .leadcopy-shop-name {
	font-size: 30px;
	letter-spacing: 0.1em;
}

/* 背景なし版の節の見出し。移行元 .title-01--nobg は下の外余白を -50px にして、
   続く中身を 50px 引き上げる（style_area1.css:838）。
   実測: 下外余白 移行元 -50px 対 dev 0px。

   🚨🚨 **帯の高さ 400px と縦の中央寄せも移行元から引き継ぐ（Bug #4591）。**
   移行元の `--nobg` は基準の `.page-branch .title-01`（style_area1.css:810〜832）
   から `height: 400px` と縦積みの中央寄せを受け継ぎ、**背景の絵と下の外余白だけを
   打ち消す**。持ち込まないのは**絵だけ**である。

   実測（幅 1440px・大宮店・2026-09-08）: 帯の高さ 移行元 400px 対 dev 164px。
   差の 236px は、**帯の中で見出しが縦の中央にある**ため半分ずつ上下へ効き、
   前の区画（店名の「大宮店」）が −118px、後ろの区画（こだわり）が −133px になる。

   🚨 Task #1726 は「地の絵なし版の見た目が変わっていない」を受け入れ条件に置いて
   いたが、これは**帯つきの見出しを直すときに壊さないための陰性対照**であり、
   移行元と合っているかは検討していない（本文にユーザー決定も裁定番号も無い）。
   意図的変更の台帳にも行が無いので、**大原則どおり移行元に合わせる**（裁定 566・567）。
   なお当時の注記にある 176px は出どころが分からない。上の実測は 164px である. */
.pa-profile-legacy-compat .pa-branch__content .title-01.title-01--nobg {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 400px;
	margin-bottom: -50px;
	background: none;
}

/* 背景なし版だけ、英字と日本語の見出しの色が変わる（style_area1.css:843・847）。
   実測: 英字 移行元 #b0a056 対 dev はテーマの金色、日本語 移行元 #3d4e56 対
   dev はテーマの見出し色. */
.pa-profile-legacy-compat .pa-branch__content .title-01.title-01--nobg .title-01-en {
	color: #b0a056;
}

.pa-profile-legacy-compat .pa-branch__content .title-01.title-01--nobg .title-01-jp {
	color: #3d4e56;
}

/* 中央寄せの道具クラス。移行元が明示している text-align である
   （style_area1.css:2063）。dev はいま本文全体が中央寄せなので見た目は変わら
   ないが、テーマ CSS 基盤の Issue が既定を左寄せへ戻したときに、この 2 箇所
   （店舗ページの .title-02 と .text-01）が中央寄せのまま残るようにしておく. */
.pa-profile-legacy-compat .pa-branch__content .u-ta-c {
	text-align: center;
}

/* --------------------------------------------------------------
 * 区画 B: 数値の強調（.value）
 * 写し元: branch/css/style_area1.css の 981〜1002 行
 *
 * 会員の活動例の点数（区画 C）と料金表の金額（区画 D）に出る数字の書体である。
 * 1 ページに 35〜41 箇所あり、この区画だけで見た目の印象が大きく変わる。
 *
 * 移行元の書体の並びには打ち間違いがある（\'Ludica Sans Unicode という、
 * 閉じ引用符の無い名前が 4 番目に入っている）。実際に効くのは先頭の
 * Helvetica Neue 系までなので、ここでは並びを整えて写す。
 * -------------------------------------------------------------- */

/* 数字。実測（大阪店）: 大きさ 移行元 30px（携帯 21px）対 dev 16px、
   太さ 移行元 200 対 dev 400、行の高さ 移行元 1.1 対 dev 24px（携帯 28.8px）、
   書体 移行元 Helvetica Neue 系 対 dev テーマの既定. */
.pa-profile-legacy-compat .pa-branch__content .value {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 30px;
	font-weight: 200;
	font-feature-settings: "palt";
	line-height: 1.1;
}

/* 数字に添える単位（「円」「%」など）。実測: 移行元 18px 対 dev 13.33px
   （閲覧ソフトの small の既定）. */
.pa-profile-legacy-compat .pa-branch__content .value small {
	margin-left: 0.2em;
	color: inherit;
	font-size: 18px;
}

/* 「or」で 2 つの金額を並べるときの区切り。移行元は塊にして行を分ける
   （style_area1.css:997）。実測: 移行元 18px・display: block 対 dev 未適用。

   移行元は携帯版でだけ、この規則を料金表の中（.course-price tbody td .value
   .price_normal）に限って書いている。.price_normal が出るのは料金表の中だけ
   （移行元 25 ページの HTML を確認し、他の場所に 1 件も無い）なので、ここでは
   囲みを外して書き、幅ごとの値だけを分ける. */
.pa-profile-legacy-compat .pa-branch__content .value .price_normal {
	display: block;
	padding-bottom: 2px;
	font-size: 18px;
}

/* --------------------------------------------------------------
 * 区画 C: 成婚事例（case-*）
 * 写し元: branch/css/style_area1.css の 1151〜1620 行
 *
 * 1 ページに 9〜10 件の事例が並ぶ、店舗ページで最も規則の多い区画である。
 * 移行元は柱を 2 列（各 530px）に割り、事例ごとに枠を作る。枠の上辺の色で
 * 男女を分け（女性 #c37383・男性 #6d9bc3）、中の文字色も分ける
 * （女性 #6f5953・男性 #53616f）。
 *
 * ------------------------------------------------------------------
 * dev の本文に無い当て先について
 * ------------------------------------------------------------------
 * 移行元の事例には見出しの塊（.case-header）があり、その中に会員の似顔絵
 * （.case-img）・要点（.case-leadcopy の strong）・名前と年齢（.case-name）・
 * 属性（.case-career）が入る。dev の本文にはこの塊が 25 ページすべてで
 * 入っておらず（移行元 250 件に対し dev 0 件）、表（.case-intro）から始まる。
 * これは CSS の欠落ではなく本文の取り込みの欠落で、Task #1673 の範囲外である。
 *
 * これらの当て先を持つ規則も、いまは効かないが写してある。本文の取り込みが
 * 直った時点で装飾がそろっている状態にしておくためである。いま当て先が無い
 * のは .case-header / .case-img / .case-meta / .case-name / .case-career と、
 * 見出しの中の .case-leadcopy strong の一式である。
 * -------------------------------------------------------------- */

/* 🚨 **旧デザインの店舗ページの明朝に、テーマの合印（`--pa-font-family-serif`）は
   使えない。**合印は游明朝を先頭に置くが、移行元の `branch/css/style_area1.css` は
   ヒラギノ明朝 ProN W3 を先頭に置く。両方が入っている機械では別の書体で描かれる。
   実測（2026-09-16 11:41・浜松店・幅 1440px）で食い違ったのは `.case-leadcopy` と
   `.flow-title` の 2 種類で、どちらも dev だけが游明朝先頭だった。**移行元の並びを
   そのまま書く。**改装前の 13 店舗の別の当たり先に同じ理由で並びを直接置いた先例が
   `--pa-branch-area1-mincho` に在る（裁定 169）。

   写し元（2026-09-16 に写しから読んだ）: `branch/css/style_area1.css` の
   `.case-leadcopy` 1244 行・`.case-name strong` 1285 行・`.flow-title` 1984 行・
   `.manager-name-jp` 1117 行・`.manager-name-en` 1122 行・`.manager-position` 1130 行・
   `.parent-btn-title` 1854 行。英字だけ Bodoni が先頭である。

   🚨 **`.shop_detail h4` をこの並びへ入れない。**移行元は同じ店舗ページの中で
   そこだけ游明朝を先頭に置いており（`branch/css/style.css` 145 行）、いまの
   `--pa-font-family-serif` のままが移行元と同じである。

   🚨 この 2 つの印（`.pa-profile-legacy-compat` と `.pa-branch__content`）が付く型紙は
   店舗詳細（`single-branch.php`）だけである（2026-09-16 にテーマの PHP を全数 grep
   して確かめた）。エリア一覧・県一覧・地図ページの見出しには 1 行も響かない。Bug #2799. */
.pa-profile-legacy-compat .pa-branch__content {
	--pa-branch-legacy-mincho: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "YuMincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--pa-branch-legacy-mincho-en: Bodoni, BauerBodoniRoman, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "YuMincho", serif;
}

/* 事例を並べる柱。移行元は 2 列に折り返し、両端揃えにする
   （style_area1.css:1151）。実測: 上の外余白 移行元 60px 対 dev 0px、
   並べ方 移行元 flex の 2 列 対 dev 縦積み. */
.pa-profile-legacy-compat .pa-branch__content .case.l-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 60px;
}

/* 1 列ぶんの器。移行元は 530px 固定で、柱 1,100px との差 40px が列の間になる
   （style_area1.css:1166）。dev の柱は 1,090px なので、同じ間隔を保つために
   割り算を calc() で書く。実測: 幅 移行元 530px 対 dev 1,090px. */
.pa-profile-legacy-compat .pa-branch__content .case-outer {
	position: relative;
	width: calc((100% - 40px) / 2);
}

/* 事例 1 件の枠。移行元は薄い灰（#e7eff1）の 1px の枠線を引き、上辺だけ 6px に
   太らせる（style_area1.css:1171）。このテーマは地色（#f2f4f7）を敷いて枠線を
   持たない作りだったので、地色を消して枠線の作りへ入れ替える。
   実測: 枠線 移行元 1px #e7eff1・上辺 6px・内余白 0 39px 30px 対
   dev 地色 rgb(242,244,247)・内余白 40px・枠線なし. */
.pa-profile-legacy-compat .pa-branch__content .case-box {
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	padding: 0 39px 30px;
	border: 1px solid #e7eff1;
	border-top: 6px solid #e7eff1;
	background-color: transparent;
}

/* 枠の上辺の色で男女を分ける（style_area1.css:1179・1183）. */
.pa-profile-legacy-compat .pa-branch__content .case-box-female {
	border-top-color: #c37383;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male {
	border-top-color: #6d9bc3;
}

/* 枠の中の文字色も男女で分ける。要点・名前・数値だけは、より濃い色にする
   （style_area1.css:1222〜1244）。実測: 女性 移行元 #6f5953 対 dev 黒、
   男性 移行元 #53616f 対 dev 黒. */
.pa-profile-legacy-compat .pa-branch__content .case-box-female * {
	color: #6f5953;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-leadcopy strong,
.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-name,
.pa-profile-legacy-compat .pa-branch__content .case-box-female .value {
	color: #c84778;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male * {
	color: #53616f;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-leadcopy strong,
.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-name,
.pa-profile-legacy-compat .pa-branch__content .case-box-male .value {
	color: #235593;
}

/* 見出しの塊。似顔絵と名札を横に並べる（style_area1.css:1191〜1216）。
   いま dev の本文に当て先が無い（上の説明を参照）. */
.pa-profile-legacy-compat .pa-branch__content .case-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 25px;
	margin-bottom: 10px;
}

.pa-profile-legacy-compat .pa-branch__content .case-img {
	position: relative;
	width: 110px;
	height: 100px;
	margin: 0 25px 0 0;
	line-height: 0;
}

.pa-profile-legacy-compat .pa-branch__content .case-meta {
	position: relative;
	flex: 1 1;
}

/* 事例の要点。移行元は 18px の明朝で組み、強調に黄色の下線 8px を重ねる
   （style_area1.css:1246〜1276）。強調が太字にならないのは、移行元の打ち消し
   （style_area1.css:100 の font: inherit）が strong の太さを親から継がせるため
   である。実測: 移行元 明朝 18px・行の高さ 24px 対 dev 16px・行の高さ 24px. */
.pa-profile-legacy-compat .pa-branch__content .case-leadcopy {
	position: relative;
	margin-bottom: 6px;
	font-family: var(--pa-branch-legacy-mincho);
	font-size: 18px;
	font-feature-settings: "palt";
	line-height: 24px;
}

/* 携帯版だけで改行する br は、パソコン幅では消す（style_area1.css:1255）. */
.pa-profile-legacy-compat .pa-branch__content .case-leadcopy br.u-sp {
	display: none;
}

.pa-profile-legacy-compat .pa-branch__content .case-leadcopy strong {
	position: relative;
	font-weight: normal;
}

.pa-profile-legacy-compat .pa-branch__content .case-leadcopy strong span {
	position: relative;
	color: inherit;
}

/* 黄色の下線。文字の背面ではなく下端に重ねる帯である
   （style_area1.css:1264）. */
.pa-profile-legacy-compat .pa-branch__content .case-leadcopy strong::before {
	content: "";
	display: block;
	position: absolute;
	right: -2px;
	bottom: 0;
	left: -2px;
	width: calc(100% + 4px);
	border-bottom: 8px solid rgba(244, 230, 69, 0.65);
}

/* 名前と年齢、居住地・学歴・職業（style_area1.css:1278〜1310）。
   いま dev の本文に当て先が無い. */
.pa-profile-legacy-compat .pa-branch__content .case-name {
	margin-bottom: 2px;
	font-size: 13px;
	line-height: 1;
}

.pa-profile-legacy-compat .pa-branch__content .case-name strong {
	color: inherit;
	font-family: var(--pa-branch-legacy-mincho);
	font-size: 22px;
	font-weight: normal;
	font-feature-settings: "palt";
}

.pa-profile-legacy-compat .pa-branch__content .case-name span {
	margin-left: 0.5em;
	color: inherit;
}

.pa-profile-legacy-compat .pa-branch__content .case-career {
	color: inherit;
	font-size: 13px;
	font-feature-settings: "palt";
	line-height: 1.2;
	white-space: nowrap;
}

.pa-profile-legacy-compat .pa-branch__content .case-career br {
	display: none;
}

/* 会員の紹介の表。移行元は見出し列を 130px にし、行の下に点線を引く
   （style_area1.css:1312〜1324）。実測: 見出し列 移行元 130px・太字・13px・
   下辺 1px 点線 #ccc 対 dev 16px・罫線なし.

   🚨 **四辺の罫線を 0 へ戻してから下辺を引く（Bug #4615）。**本文の共通の表の規則
   `.entry-content table:not(.pa-form-table) :is(th, td)`（強さ (0,2,2)）が
   `border: 1px solid var(--pa-color-border)` を四辺へ当てるため、**移行元に無い上辺と
   左右の罫線が残っていた**。下辺だけはこの規則（強さ (0,3,1)）が勝って点線になって
   いたので、**罫線の食い違いは 1 辺だけ直っている状態**だった。実測（幅 1440px・
   浜松店）: 上辺 移行元 0px 対 dev 1px・左辺 移行元 0px 対 dev 1px。罫線をたたむ表なので
   **1 行めの枡が 0.5px 高く、表が 1px 高く、幅が 1px 狭くなる**（450px 対 449px）。
   共通の側は弱めない（本文の表を持つ画面すべてに響く。裁定 222）. */
.pa-profile-legacy-compat .pa-branch__content .case-intro td,
.pa-profile-legacy-compat .pa-branch__content .case-intro th {
	padding: 10px 0 5px;
	border: 0;
	border-bottom: 1px dotted #ccc;
	font-size: 13px;
	font-feature-settings: "palt";
	line-height: 1.6;
}

.pa-profile-legacy-compat .pa-branch__content .case-intro th {
	width: 130px;
	font-weight: 700;
	text-align: left;
}

/* 希望条件の箇条書き。移行元は行頭に「・」を絶対配置で置く
   （style_area1.css:1332・1337）. */
.pa-profile-legacy-compat .pa-branch__content .case-intro ul li {
	position: relative;
	padding-left: 13px;
}

.pa-profile-legacy-compat .pa-branch__content .case-intro ul li::before {
	content: "・";
	display: block;
	position: absolute;
	left: 0;
}

/* 活動の点数（紹介数・コンタクト率・成婚までの期間）。移行元は 3 個を横に並べ、
   間に高さ 30px の細い仕切りを立てる（style_area1.css:1343〜1381）。
   実測: 移行元 flex の 3 列・上下の外余白 15px / 30px 対 dev 縦積み。
   1 個ぶんの幅 164px は 3 個で枠の中身より広くなるため、移行元でも移行先でも
   flex の縮みで等分される（枠の中身は移行元 450px・dev 445px）. */
.pa-profile-legacy-compat .pa-branch__content .case-score {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 15px 0 30px;
}

.pa-profile-legacy-compat .pa-branch__content .case-score-box {
	position: relative;
	display: flex;
	width: 164px;
	flex-direction: column;
	align-items: center;
}

.pa-profile-legacy-compat .pa-branch__content .case-score-box::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	height: 30px;
	margin-top: -15px;
	border-left: 1px solid #e7eff1;
}

.pa-profile-legacy-compat .pa-branch__content .case-score-box:last-of-type::after {
	display: none;
}

.pa-profile-legacy-compat .pa-branch__content .case-score-title {
	font-size: 13px;
	font-weight: 700;
	font-feature-settings: "palt";
}

/* 点数の数字の左に付く絵。移行元は男女別・項目別に 6 枚を敷き分ける
   （style_area1.css:1390〜1418）。実測: 移行元は左内余白 30px に絵を置く 対
   dev は絵なし. */
.pa-profile-legacy-compat .pa-branch__content .case-score .value {
	padding-left: 30px;
	background-repeat: no-repeat;
	background-position: left 7px;
}

/* 🚨🚨 **共通の本文の字組みが札の中へ入り込んでいた（Bug #4615）。**本文には
   `.entry-content p`（と一覧・見出し）が `margin: 0 0 var(--pa-article-paragraph-gap)`
   = 25px を当てている。移行元の旧デザインの店舗はこれらの外余白を持たない
   （`branch/css/style_area1.css` の 1244〜1400 行。値を書いていないので、移行元の
   打ち消しの 0 がそのまま残る）。そのため札の中の 3 か所が移行元より高かった
   （幅 1440px・浜松店の実測。**3 つの足し合わせで札の差 +123.81px が閉じる**）。

   | 場所 | 移行元 | dev | 差 | 出どころ |
   |---|---:|---:|---:|---|
   | 見出しの塊（`.case-header`） | 100px | 168.59px | **+68.59** | `.case-leadcopy` の上 50px ＋ `.case-career` の下 25px |
   | 成績の帯（`.case-score`） | 53px | 103px | **+50.00** | 枡の中の `p` 2 本の下 25px ずつ |
   | 「お相手の希望条件」の枡 | 57.59px | 82.59px | **+25.00** | 枡の中の `ul` の下 25px |

   🚨 **共通の側は弱めない**（本文の段落すべてに響くため。司令塔の裁定 222）。
   札の中へ絞って打ち消す。

   🚨 **`.case-leadcopy` の上下の外余白は幅で変わる。**移行元パソコン版は上 0 / 下 6px
   （下 6px は上の節が写している）、**移行元携帯版は上 15px / 下 3px**
   （`sp/branch/css/style_area1.css` の 1305〜1314 行）。携帯幅の値は
   `@media (max-width: 749px)` の節に**すでに写してある**ので、ここは触らない。
   その節はこの規則より後ろに在るので、携帯幅では 15px が勝つ（取り決め 47）。

   🚨 **クチコミの中の `.case-leadcopy` にも当たる。**移行元は区画を分けずに同じ値を
   当てており（`branch/…:1446` は `position` だけを足す）、当てるのが正しい。
   クチコミは押すまで畳まれているため、実測では差が出ていなかった. */
.pa-profile-legacy-compat .pa-branch__content .case-leadcopy {
	margin-top: 0;
}

.pa-profile-legacy-compat .pa-branch__content .case-career,
.pa-profile-legacy-compat .pa-branch__content .case-score-title,
.pa-profile-legacy-compat .pa-branch__content .case-score .value,
.pa-profile-legacy-compat .pa-branch__content .case-intro :is(ul, ol) {
	margin: 0;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-score-box-num .value {
	background-image: url("../branch/images/area1/icn_case_sc1_f.png?ver=38b7c5d7d6e7");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-score-box-rat .value {
	background-image: url("../branch/images/area1/icn_case_sc2_f.png?ver=b986ad73d5e3");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-score-box-term .value {
	background-image: url("../branch/images/area1/icn_case_sc3_f.png?ver=338857ce87ae");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-score-box-num .value {
	background-image: url("../branch/images/area1/icn_case_sc1_m.png?ver=dfff7de7347d");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-score-box-rat .value {
	background-image: url("../branch/images/area1/icn_case_sc2_m.png?ver=001288e58714");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-score-box-term .value {
	background-image: url("../branch/images/area1/icn_case_sc3_m.png?ver=6d901b272fb9");
}

/* クチコミの囲み。移行元は角丸 3px の淡い地色を敷く（style_area1.css:1428）。
   男女で地色を分ける（女性 #faf6f5・男性 #f2f6f9・style_area1.css:1511・1531）。
   移行元は同じ規則で display: none も持ち、押しボタンで開くまで隠している。
   その 1 行は is-collapsible の下に分けて置いた（この節の末尾を参照）. */
.pa-profile-legacy-compat .pa-branch__content .case-review {
	position: relative;
	width: 100%;
	margin-bottom: 25px;
	padding: 10px 30px 0;
	border-radius: 3px;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-review {
	background-color: #faf6f5;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-review {
	background-color: #f2f6f9;
}

/* クチコミ 1 件ぶん。移行元は下の罫線を画像の繰り返しで描く
   （style_area1.css:1439）. */
.pa-profile-legacy-compat .pa-branch__content .case-review-box {
	position: relative;
	padding: 0 0 10px;
	background: url("../branch/images/area1/icn_case_bdr.png?ver=981311a6adb0") repeat-x 0 100%;
}

.pa-profile-legacy-compat .pa-branch__content .case-review-theme {
	margin: 20px 0 0;
	font-size: 13px;
	font-weight: 700;
	font-feature-settings: "palt";
}

/* クチコミの見出しの左に付く旗の絵。移行元は男女別に 2 枚を敷き分ける
   （style_area1.css:1451〜1465・1515・1535）. */
.pa-profile-legacy-compat .pa-branch__content .case-review .case-leadcopy {
	position: relative;
}

.pa-profile-legacy-compat .pa-branch__content .case-review .case-leadcopy::before {
	content: "";
	display: block;
	position: absolute;
	top: 2px;
	left: -34px;
	width: 25px;
	height: 23px;
	background-repeat: no-repeat;
	background-position: 0 0;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-leadcopy::before {
	background-image: url("../branch/images/area1/icn_case_flg_f.png?ver=e447d964df2f");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-leadcopy::before {
	background-image: url("../branch/images/area1/icn_case_flg_m.png?ver=0abeadb1edcd");
}

.pa-profile-legacy-compat .pa-branch__content .case-review .text-01 {
	line-height: 1.8;
}

/* 満足度の行。名前の左に似顔絵を置き、星を金色（#dcbd51）で塗る
   （style_area1.css:1470〜1509・1519・1539）. */
.pa-profile-legacy-compat .pa-branch__content .case-review-name,
.pa-profile-legacy-compat .pa-branch__content .case-review-satisfaction {
	position: relative;
	display: flex;
}

.pa-profile-legacy-compat .pa-branch__content .case-review-satisfaction {
	justify-content: center;
	padding: 15px 0 20px;
}

.pa-profile-legacy-compat .pa-branch__content .case-review-name {
	align-items: center;
	margin-right: 15px;
	padding-left: 30px;
	font-size: 15px;
	font-weight: 700;
}

.pa-profile-legacy-compat .pa-branch__content .case-review-name::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 22px;
	height: 26px;
	margin-top: -13px;
	background-repeat: no-repeat;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-review-name::before {
	background-image: url("../branch/images/area1/icn_case_name_f.png?ver=1e6701002334");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-review-name::before {
	background-image: url("../branch/images/area1/icn_case_name_m.png?ver=e0037447c0e6");
}

.pa-profile-legacy-compat .pa-branch__content .case-review-star {
	font-size: 20px;
	letter-spacing: 2px;
}

.pa-profile-legacy-compat .pa-branch__content .case-review-star span {
	color: #dcbd51;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-review-star {
	color: #cfc8c7;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-review-star {
	color: #c7cccf;
}

/* クチコミを開く押しボタン。移行元は 240×40px の帯を中央に置き、地色を男女で
   分ける（女性 #6f5953・男性 #536e75）。文字は白 14px で、左に三角の絵を置く
   （style_area1.css:1541〜1614）。実測: 移行元 240×40px・男女別の地色・白 14px
   対 dev 装飾なし. */
.pa-profile-legacy-compat .pa-branch__content .case-button {
	position: relative;
	display: flex;
	width: 240px;
	height: 40px;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	cursor: pointer;
}

.pa-profile-legacy-compat .pa-branch__content .case-button span {
	display: block;
	padding-left: 14px;
	color: #fff;
	font-size: 14px;
	font-feature-settings: "palt";
	background-repeat: no-repeat;
	background-position: 0;
}

.pa-profile-legacy-compat .pa-branch__content .case-button-open span {
	background-image: url("../branch/images/area1/icn_case_btn_dw.png?ver=159ecd90a3c2");
}

.pa-profile-legacy-compat .pa-branch__content .case-button-close span {
	background-image: url("../branch/images/area1/icn_case_btn_up.png?ver=c57d23f5b7e5");
}

.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-button {
	background: #6f5953;
}

.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-button {
	background: #536e75;
}

/* 「閉じる」の押しボタンは、開いていないあいだは出さない
   （style_area1.css:1583）。実測: 移行元 display: none 対 dev 表示されている。
   開いたときに「見る」と「閉じる」を入れ替える 2 つの規則
   （style_area1.css:1190・1195）も、開閉の JavaScript がそろった時点で効くよう
   写しておく. */
.pa-profile-legacy-compat .pa-branch__content .case-button-close {
	display: none;
}

.pa-profile-legacy-compat .pa-branch__content .case-box.is-open .case-button.case-button-open {
	display: none;
}

.pa-profile-legacy-compat .pa-branch__content .case-box.is-open .case-button.case-button-close {
	display: flex;
}

/* 4 件目以降の事例を入れる器。移行元は 2 列に折り返す
   （style_area1.css:1616）。移行元は同じ規則で高さを 150px に切り落とし、
   下端を霞ませる絵を重ねて「もっと見る」の押しボタンを載せている。その一式は
   is-collapsible の下に分けて置いた（下の説明を参照）. */
.pa-profile-legacy-compat .pa-branch__content .case-more {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* ------------------------------------------------------------------
 * 事例の「閉じた状態」（開閉の JavaScript が付ける印の下に置く）
 * ------------------------------------------------------------------
 * 写し元: branch/css/style_area1.css の 1420〜1430 行（クチコミを隠す）と
 *         1592〜1628 行（4 件目以降を切り落として「もっと見る」を載せる）。
 *         携帯版（sp/branch/css/style_area1.css の 1528〜1538 行・1715〜1751 行）
 *         はこの 5 つについてパソコン版と同じ値なので、携帯幅の上書きは要らない。
 *
 * 移行元は事例を JavaScript（branch/js/area1.js）で開閉し、CSS 側は「閉じた
 * 状態」を無条件に持つ。移行先でこれをそのまま写すと、JavaScript が動かない
 * 環境で本文が読めなくなる。移行元の 24 ページを数えると、隠れるのは
 * .case-review が 144 件 78,993 文字、.case-more が 24 件 75,012 文字で、
 * 合計 154,005 文字である。そこで畳む指定は、開閉の JavaScript（Task #1743）
 * が付ける is-collapsible の下だけに置く。
 * JavaScript が動かなければ印が付かず、クチコミも 4 件目以降の事例もすべて
 * 読める。テーマの既存のスクリプト（assets/js/ac-menu.js・voice-nav.js）も
 * 同じ形で書いてある。
 *
 * 印の意味（Task #1743 の JavaScript と揃える）
 *   is-collapsible … JavaScript が読み込み時に .case-box と .case-more へ付く
 *   is-open        … クチコミが開いている（.case-box に付く）
 *   is-shown       … 4 件目以降まで開いている（.case-more に付く）
 *
 * 開いた状態は :not(.is-open) / :not(.is-shown) で畳む指定を外す形で書く。
 * 上書きの規則を足す形にしないのは、詳細度が並んだときに記述順で見え方が
 * 変わるのを避けるためである。JavaScript は開いたあとも is-collapsible を
 * 外さない。
 * ------------------------------------------------------------------ */

/* クチコミは押しボタンで開くまで隠す（style_area1.css:1429）。開いた状態は
   :not(.is-open) で外す。上書きの規則を足すのではなく :not() で外すのは、
   詳細度が並んだときに記述順で見え方が変わるのを避けるためである. */
.pa-profile-legacy-compat .pa-branch__content .case-box.is-collapsible:not(.is-open) .case-review {
	display: none;
}

/* 4 件目以降の事例は高さ 150px で切り落とす（style_area1.css:1593〜1594）。
   開いたあとは JavaScript が高さを直に指定して伸ばし、伸ばし終わったらその
   指定を消す（移行元 area1.js:103〜111 と同じ運び）。そのため is-shown が
   付いた時点で、この切り落としが外れている必要がある. */
.pa-profile-legacy-compat .pa-branch__content .case-more.is-collapsible:not(.is-shown) {
	height: 150px;
	overflow: hidden;
}

/* 切り落とした下端を霞ませる絵（style_area1.css:1606〜1615）。移行元も開いた
   ときに消している（style_area1.css:1617〜1619）. */
.pa-profile-legacy-compat .pa-branch__content .case-more.is-collapsible:not(.is-shown)::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../branch/images/area1/bg_case_more.png?ver=7f82176e0711") repeat-x 0 bottom;
}

/* 「もっと見る」の押しボタンを霞んだ下端に載せる（style_area1.css:1621〜1628）。
   移行元はこの絶対配置を無条件に置くが、移行先では is-collapsible の下に置く。
   JavaScript が動かないときに絶対配置のままだと、押しボタンが本文へ重なる
   ためである. */
.pa-profile-legacy-compat .pa-branch__content .case-more.is-collapsible .button-02 {
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 1;
	width: 260px;
	margin-left: -130px;
}

/* 開いたら「もっと見る」は消す。移行元は JavaScript で隠している
   （area1.js:113）が、移行先は印の下の CSS で書く. */
.pa-profile-legacy-compat .pa-branch__content .case-more.is-collapsible.is-shown .button-02 {
	display: none;
}

/* ------------------------------------------------------------------
 * 「もっと見る」の押しボタンの地の装飾（.button-02）
 * ------------------------------------------------------------------
 * 写し元: branch/css/style_area1.css の 955〜962 行（.button-01 と共通）と
 *         965〜977 行（.button-02 だけ）。携帯版は
 *         sp/branch/css/style_area1.css の 1069〜1086 行（共通）と
 *         1088〜1093 行（.button-02 だけ）で、高さ・字の大きさ・矢印の絵と
 *         その大きさが違う。違う分はこのファイルの
 *         「スマートフォン幅（749px 以下）」の節で上書きする。
 *
 * 移行元は濃紺の帯に白字を中央そろえで置き、右端に矢印の絵を敷く。移行先の
 * テーマは .button-02 に装飾を 1 つも持っていなかったため、素の文字のまま
 * 出ていた。すぐ上の絶対配置と一組で移行元の見た目になる。
 *
 * 移行元は .button-01 にも同じ共通規則を当てている。そちらはテーマが独自の
 * 装飾を先に持っていたため扱いを分けて判断を仰ぎ、2026-08-10 に「移行元へ
 * 合わせる」と決まった。すぐ下の節で写す。
 *
 * 写していない宣言が 2 つある。
 *   box-sizing: border-box … このファイルの冒頭で * に対して指定済み
 *   text-decoration: none  … 当て先は div で、下線はもともと出ない
 * ------------------------------------------------------------------ */
.pa-profile-legacy-compat .pa-branch__content .button-02 {
	position: relative;
	display: flex;
	height: 50px;
	align-items: center;
	justify-content: center;
	background: #343b42 url("../branch/images/area1/icn_arw.png?ver=c5dd205a649f") no-repeat right 6px center;
	background-size: 8px 16px;
	color: #fff;
	cursor: pointer;
	font-size: 14px;
}

/* ------------------------------------------------------------------
 * 地図の代わりの導線の押しボタンの地の装飾（.button-01）
 * ------------------------------------------------------------------
 * 写し元: branch/css/style_area1.css の 947〜953 行（.button-01 だけ）、
 *         955〜962 行（.button-02 と共通）、1075〜1078 行（.about の中）。
 *         携帯版は sp/branch/css/style_area1.css の 1069〜1086 行（共通）と
 *         1175〜1177 行（.about の中）で、並べ方・高さ・字の大きさ・矢印の絵と
 *         その大きさ・内余白・幅が違う。違う分はこのファイルの
 *         「スマートフォン幅（749px 以下）」の節で上書きする。
 *
 * 当て先は「大きな地図で見る」のリンク 1 本である（移行元 24 店舗 + 試験用
 * 2 ページで各 1 個）。テーマは地図の埋め込みが移行時に落ちた代わりの導線と
 * して、このリンクを共通トークンの色で押しボタンにしていた（このファイルの
 * 「地図の代わりの導線」の節）。用途は移行元と同じリンクなので、色と矢印を
 * 移行元へ戻しても導線としての働きは変わらない。2026-08-10 に「移行元へ
 * 合わせる」と裁定された。
 *
 * この節は .button-01 だけを名指しするため .map-link には届かない。前置きの
 * プロファイル指定により新デザインの 4 店舗にも届かない。改装版の 14 店舗は
 * プロファイルが同じだが .button-01 を 1 個も持たないため、実際の当たり先は
 * 旧デザインに閉じる。
 *
 * なお「テーマ側の規則が .map-link と当て先を共有している」という状態は
 * Task #3438 で解消した。移行元の走査で `map-link` が新デザインの 4 本に、
 * `button-01` が旧デザインの 27 本にしか出ないことが分かったため、
 * 「地図の代わりの導線」の節から .map-link を外してある。
 *
 * 写していない宣言が 1 つある。
 *   box-sizing: border-box … このファイルの冒頭で * に対して指定済み
 * ------------------------------------------------------------------ */
.pa-profile-legacy-compat .pa-branch__content .button-01 {
	position: relative;
	display: block;
	padding: 10px 40px;
	background: #343b42 url("../branch/images/area1/icn_arw.png?ver=c5dd205a649f") no-repeat right 6px center;
	background-size: 6px 12px;
	color: #fff;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
}

.pa-profile-legacy-compat .pa-branch__content .about .button-01 {
	width: 200px;
	margin: 0 auto;
}

/* ------------------------------------------------------------------
 * 親御さま向けの導線（.parent-btn 系の一式）
 * ------------------------------------------------------------------
 * 写し元: branch/css/style_area1.css の 1841〜1911 行（.parent-btn-box /
 *         .parent-btn-container / .parent-btn-title / .parent-btn /
 *         .parent-btn-01 とその span / .parent-btn-02）。携帯版は
 *         sp/branch/css/style_area1.css の 1943〜2008 行で、余白・高さ・
 *         字の大きさ・絵とその大きさが違う。違う分はこのファイルの
 *         「携帯幅（749px 以下）の値」の節で上書きする。
 *
 * 押しボタン 2 本は Task #1802 が、入れ物・見出し・電話番号の 4 クラスは
 * Task #1864 が写した。当て先は dev の全件走査（2026-08-19）で次のとおり。
 * 旧デザインだけに出て、改装版 5 ページと新デザイン 4 店舗には 1 件も無い。
 * Task #1802 の調査時（2026-08-16）は 17 ページだったが、転送型統合の
 * 余分ページ 2 つ（池袋・上野）を PR #1953 が下書きへ戻したため
 * 15 ページになっている。
 *   .parent-btn-box        15 ページに各 1 個（横並びの入れ物・div）
 *   .parent-btn-container  15 ページに延べ 23 個（柱の入れ物・div）
 *   .parent-btn-title      8 ページに各 2 個（柱の見出し・div）
 *   .parent-btn-01         8 ページに各 1 個（電話番号の箱・div）
 *   .parent-btn-02         15 ページに各 1 個（予約リンク・a）
 * 電話番号の箱と見出しを持つのは、フリーコールを案内する 8 ページ
 * （岡崎・豊田・姫路・大阪・西新宿・数寄屋橋と、試験用 2 ページ）だけで
 * ある。残りの 7 ページは予約リンク 1 本だけを持つ。
 * 移行元は、電話番号（紺の枠線に紺の字と電話の絵）と予約リンク（赤の板に
 * 白字と矢印の絵）を横に並べ、それぞれの上に金色の明朝の見出しを置く。
 *
 * ------------------------------------------------------------------
 * .parent-btn も一緒に写す理由
 * ------------------------------------------------------------------
 * Task #1802 の受け入れ条件は「文字色以外の宣言（地色・大きさ・配置）も
 * 移行元と一致している」である。このうち大きさ（270×60px）と配置（上下
 * 左右そろえ）は .parent-btn-02 ではなく .parent-btn が持つ。両方が同じ
 * 要素に付くので（本文は class="parent-btn parent-btn-02"）、.parent-btn-02
 * だけを写すと、赤い地と白い文字だけが付いた細い行になり、移行元にも
 * 移行前の dev にも無い見え方になる。実測（名古屋店・パソコン幅 1440px・
 * 2026-08-16 採取）は次のとおり。
 *   大きさ   移行元 270×60px 対 dev 127×16px
 *   並べ方   移行元 flex（上下左右そろえ）対 dev inline
 *   下線     移行元 無し 対 dev 有り（.entry-content a が付ける）
 * .parent-btn を扱う Task が他に無いことを Open な Task の全件確認で
 * 確かめたうえで、2026-08-16 に HQ が「本 Task に含める」と裁定した。
 *
 * Task #1802 の時点では、電話番号の箱（.parent-btn-01）の枠線・字・文字色が
 * 未移植だったため、.parent-btn の当て先を .parent-btn.parent-btn-02 に
 * 絞っていた。Task #1864 で .parent-btn-01 を写したので、その申し送りの
 * とおり、当て先を移行元と同じ .parent-btn へ広げ直した。
 *
 * 写していない宣言が 3 つある。
 *   box-sizing: border-box … このファイルの冒頭で * に対して指定済み
 *   -webkit- などの前置きつきの並び … 同じ節の帯の見出し（.flow-title）と
 *     同じ扱いで、標準の書き方だけを写す
 *   font-smoothing: antialiased … CSS に無い書き方で、閲覧環境はどれも
 *     無視する（.flow-title と同じ扱い。効く形の -webkit-font-smoothing は
 *     移行元も書いていない）
 * ------------------------------------------------------------------ */

/* 押しボタン 2 つの横並びの入れ物（移行元 1841 行）。移行元の携帯版に
   .parent-btn-box の規則は無く、div の既定のまま縦に積む。携帯幅の節で
   block へ戻す. */
.pa-profile-legacy-compat .pa-branch__content .parent-btn-box {
	display: flex;
}

/* 柱の入れ物（移行元 1847 行）。右隣の柱との間を空ける. */
.pa-profile-legacy-compat .pa-branch__content .parent-btn-container {
	margin-right: 20px;
}

/* 柱の見出し（移行元 1851 行）。金色の明朝で中央に置き、約物を詰めて組む。
   書体はこのテーマの明朝トークンを指す（同じ節の帯の見出し .flow-title と
   同じ扱い。移行元の並びは「ヒラギノ明朝 ProN W3」を先頭に置くが、明朝の
   何を選ぶかの割り当ては写す対象にしない）. */
.pa-profile-legacy-compat .pa-branch__content .parent-btn-title {
	margin-bottom: 10px;
	color: #b0a056;
	font-family: var(--pa-branch-legacy-mincho);
	font-size: 16px;
	font-feature-settings: "palt";
	text-align: center;
}

.pa-profile-legacy-compat .pa-branch__content .parent-btn {
	position: relative;
	display: flex;
	width: 270px;
	height: 60px;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

/* 電話番号の箱（移行元 1880 行）。紺の枠線に紺の細字。書体の並びには
   打ち間違いがある（\'Ludica Sans Unicode という、閉じ引用符の無い名前が
   4 番目に入っている）。実際に効くのは先頭の Helvetica Neue 系までなので、
   この区画の数値の強調（.value）と同じく、並びを整えて写す. */
.pa-profile-legacy-compat .pa-branch__content .parent-btn-01 {
	border: 1px solid #084e6c;
	color: #084e6c;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 28px;
	font-weight: 200;
}

/* 電話番号の文字。電話の絵のぶんだけ左を空ける（移行元 1888 行）. */
.pa-profile-legacy-compat .pa-branch__content .parent-btn-01 span {
	position: relative;
	display: block;
	padding-left: 30px;
	color: inherit;
}

/* 電話の絵（移行元 1895 行）。移行元のパソコン版は絵の大きさを指定しない
   ので、絵の実寸のまま出る。携帯版は /sp/ 側の別ファイルを使って大きさを
   指定する（携帯幅の節で上書き）. */
.pa-profile-legacy-compat .pa-branch__content .parent-btn-01 span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 24px;
	height: 24px;
	margin-top: -11px;
	background: url("../branch/images/area1/icn_tell.png?ver=26dba7ce0237") no-repeat 0;
}

.pa-profile-legacy-compat .pa-branch__content .parent-btn-02 {
	background: #e1200f url("../branch/images/area1/icn_arw.png?ver=c5dd205a649f") no-repeat right 6px center;
	color: #fff;
	font-size: 16px;
}

/* ------------------------------------------------------------------
 * ご来店の流れの帯の中の所要時間の札（.flow-time）
 * ------------------------------------------------------------------
 * 写し元: branch/css/style_area1.css の 1989〜1995 行（素の規則）、
 *         1960〜1962 行と 1977〜1979 行（帯ごとの地色）。携帯版は
 *         sp/branch/css/style_area1.css の 2076〜2082 行・2042〜2044 行・
 *         2055〜2057 行で、字の大きさだけが違う。
 *
 * 当て先は「所要時間：約90分」「所要時間：約30分」の 2 本である（dev の
 * 全件走査で、旧デザインの 27 ページに各 2 個。試験用 2 ページを除くと
 * 25 ページ・延べ 50 個）。
 *
 * ------------------------------------------------------------------
 * 地色を本 Task で写す理由
 * ------------------------------------------------------------------
 * 帯ごとの地色（.flow-header-01 / -02 の中の札）は Task #1844 の担当に
 * 見えるが、**文字色だけを先に写すと文字が読めなくなる**。札の白い文字が
 * 乗る先は、#1844 がまだ当てていない帯の薄い地色（#dfecf0 / #dff0e6）
 * だからである。地色を同時に写せば、この Task が単独で入っても濃紺・
 * 濃緑の札に白字となって読める。2026-08-16 に HQ が承認した。
 *
 * 札が小さな四角に見えるのは、帯（.flow-header）が flex であることに依る。
 * それは Task #1844 の担当なので、本 Task だけが入った段階では札は柱の幅
 * いっぱいに広がる。読めるが移行元の見た目ではなく、2 つが揃って一致する。
 *
 * 写していない宣言が 1 つある。
 *   box-sizing … 移行元は content-box だが、中身で幅が決まる箱なので
 *                border-box（このファイルの冒頭の * 指定）でも描かれる
 *                大きさは変わらない
 * ------------------------------------------------------------------ */
.pa-profile-legacy-compat .pa-branch__content .flow-time {
	margin-left: 10px;
	padding: 3px;
	color: #fff;
	font-size: 14px;
	line-height: 1;
}

.pa-profile-legacy-compat .pa-branch__content .flow-header-01 .flow-time {
	background-color: #084e6c;
}

.pa-profile-legacy-compat .pa-branch__content .flow-header-02 .flow-time {
	background-color: #2f6c50;
}

/* --------------------------------------------------------------
 * 追補: 特徴の枠（.feature）
 * 写し元: branch/css/style_area1.css の 1004〜1015 行
 *
 * 成婚率を説明する節を、細い枠線で囲んだ 920px の箱に収める。区画 A〜G の
 * どれにも入っていなかった取りこぼしで、_survey-1617/inventory-1617.md の
 * 棚卸しで見つけた。
 *
 * 実測（dev の名古屋店・パソコン幅 1440px・採取 2026-08-08 18 時台）:
 * 幅 移行元 920px 対 dev 1,090px、枠線 移行元 1px solid #e7eff1 対 dev 無し、
 * 内余白 移行元 0 80px 40px 対 dev 0。
 *
 * 移行元の 920px は柱（1,100px）より狭いので、そのまま写してもはみ出さない
 * （dev の柱は実測 1,090px）。柱の側が margin-left / margin-right: auto を
 * 持っているため、幅を縮めれば中央に寄る。
 *
 * 移行元は box-sizing に -webkit- の前置きも並べているが、写さない。この区画の
 * ほかの規則と同じ扱いで、いま配信するブラウザには前置き無しで効く。
 *
 * この箱を持つのは 15 ページである（dev の店舗詳細 42 ページを取得して
 * .l-container.feature を数えた実測。旧デザイン 24 店舗のうち 14 ページと、
 * 成婚事例を持たない旧デザインの西新宿店 1 ページ）。改装版 14 店舗と
 * 新デザイン 4 店舗はいずれも 0 件で、移行元の HTML でも 0 件である。
 * -------------------------------------------------------------- */

.pa-profile-legacy-compat .pa-branch__content .feature.l-container {
	box-sizing: border-box;
	width: 920px;
	padding: 0 80px 40px;
	border: 1px solid #e7eff1;
}

/* 🚨 **パソコン幅の 920px は、柱の固定幅の規則に勝つ書き方でもう一度置く（Bug #9519）。**
   柱を 1,100px に固定する規則（Bug #6555・`@media (min-width: 750px)` の
   `body.pa-profile-legacy-compat .pa-branch__content .page-branch .l-container`）は
   型の名前 `body` を前置しているので、上の 920px より詳細度が 1 つ高い。そのため
   幅だけが 1,100px になり、枠線と内余白は上の値のまま、箱が左右に 90px ずつ広がっていた
   （幅 1440px・大宮店と船橋店の実測で、箱の左端が移行元の 260px に対して dev は 170px）。

   幅だけを、同じ前置きに `.feature` を足した形で書き直す。**携帯幅には当てない。**
   携帯幅は下の `@media (max-width: 749px)` の追補で幅を戻しており、移行元の携帯版も
   この箱に幅を与えない. */
@media (min-width: 750px) {
	body.pa-profile-legacy-compat .pa-branch__content .page-branch .feature.l-container {
		width: 920px;
	}
}

/* 箱の中の見出しは、外の見出しより上下に広く空ける
   （style_area1.css:1012）。実測: 上外余白 移行元 40px 対 dev 0px、
   下外余白 移行元 30px 対 dev 10px. */
.pa-profile-legacy-compat .pa-branch__content .feature .title-02 {
	margin-top: 40px;
	margin-bottom: 30px;
}

/* --------------------------------------------------------------
 * 追補: 割増の見出しの上余白（.title-02.premium）
 * 写し元: branch/css/style_area1.css の 890 行
 *         sp/branch/css/style_area1.css の 930 行
 *
 * 追加料金のかかるサービスの見出し（「トータルコーディネートサービス『pac』」等）
 * だけ、上に 40px 空けて前の節から離す。これも区画 A〜G のどれにも入っていな
 * かった取りこぼしである。
 *
 * 実測（dev の名古屋店・パソコン幅 1440px と携帯幅 375px）: 上外余白は
 * 移行元 40px 対 dev 0px。この見出しを持つのは 25 ページである（旧デザイン
 * 24 店舗の全ページと、成婚事例を持たない旧デザインの西新宿店）。改装版
 * 14 店舗と新デザイン 4 店舗はいずれも 0 件で、移行元の HTML でも 0 件である。
 *
 * 移行元はパソコン版と携帯版で同じ 40px なので、携帯幅の上書きは要らない。
 * -------------------------------------------------------------- */

.pa-profile-legacy-compat .pa-branch__content .title-02.premium {
	margin-top: 40px;
}

/* --------------------------------------------------------------
 * 追補: 店長紹介（.manager 系）
 * 写し元: branch/css/style_area1.css の 1080〜1150 行
 *         sp/branch/css/style_area1.css の 1179〜1242 行
 *
 * 店長の顔写真と挨拶文の節である。区画 A〜G のどれにも入っておらず、
 * 下調べの 138 クラスの一覧（_survey-1617/gap-classes.md）にも入っていなかった
 * 取りこぼしで、移植しなかった規則を数え直したときに見つけた。
 *
 * この節を持つのは dev の 4 ページである（岡崎・豊田・姫路・数寄屋橋。dev の
 * 店舗詳細 42 ページを取得して .manager を数えた実測）。
 *
 * 実測（dev の数寄屋橋店・採取 2026-08-08 19 時台）: 移行元は写真と文章を
 * 横に並べるが、dev は縦に積む。写真は元の大きさのまま出ており、パソコン幅で
 * 400×560px（移行元は幅 200px）、携帯幅では器いっぱいの 345×483px
 * （移行元は幅 90px）になっている。文字も 16px のままで、移行元の 24px / 14px /
 * 12px の書き分けが効いていない。
 *
 * ------------------------------------------------------------------
 * 携帯幅で移行元と作りが違う点（1 か所）
 * ------------------------------------------------------------------
 * 移行元は HTML の組み方がパソコン版と携帯版で違う。
 *   パソコン版 … .l-container.manager の中に写真と .manager-info（名前・肩書・
 *                挨拶文）を置き、2 列に並べる
 *   携帯版     … .manager の中に .l-container を 2 つ置き、1 つめに写真と
 *                名前・肩書、2 つめに挨拶文を入れる
 * dev の本文はパソコン版の組み方で取り込まれているため、挨拶文が
 * .manager-info の中にある。携帯幅で移行元と同じ「写真の横に名前、その下に
 * 全幅の挨拶文」を作るには、囲みを 2 列にするだけでは足りない。
 *
 * そこで携帯幅では写真を左に回り込ませ（float）、挨拶文で回り込みを解除する
 * （clear）。見える形は移行元と同じ「写真の横に名前・肩書、その下に全幅の
 * 挨拶文」になる。残る差は、移行元が名前の塊を写真の高さに対して縦中央へ
 * 寄せるのに対し、こちらは上端に揃うことである（写真 126px に対して名前の塊が
 * 約 60px なので、最大 33px ほど上に寄る）。
 * -------------------------------------------------------------- */

/* 囲み。移行元は幅 840px の中で写真と文章を左右に振り分け、前の節から 80px
   空ける（style_area1.css:1080）。840px は柱（1,100px）より狭いので
   そのまま写せる。 */
.pa-profile-legacy-compat .pa-branch__content .manager.l-container {
	display: flex;
	justify-content: space-between;
	width: 840px;
	margin-top: 80px;
}

/* 顔写真。移行元は幅 200px の枠に収め、画像の下に出る行間の隙間を消す
   （style_area1.css:1091・1096）。 */
.pa-profile-legacy-compat .pa-branch__content .manager-img {
	width: 200px;
	line-height: 0;
}

.pa-profile-legacy-compat .pa-branch__content .manager-img img {
	width: 100%;
}

/* 文章の側。移行元は幅 580px である（style_area1.css:1100）。 */
.pa-profile-legacy-compat .pa-branch__content .manager-info {
	position: relative;
	width: 580px;
}

/* 名前の行。移行元は日本語名と英字名を横に並べ、下端をそろえる
   （style_area1.css:1105）。 */
.pa-profile-legacy-compat .pa-branch__content .manager-name {
	position: relative;
	display: flex;
	align-items: flex-end;
	margin-bottom: 10px;
	line-height: 1;
}

/* 日本語名（style_area1.css:1117）。移行元は打ち消し（style_area1.css:21 の
   margin: 0）で段落の外余白を消しているが、このテーマは打ち消しを持たないため
   ここで 0 を書く。以下の名前・肩書・挨拶文も同じ理由で外余白を明示する。 */
.pa-profile-legacy-compat .pa-branch__content .manager-name-jp {
	margin: 0;
	font-family: var(--pa-branch-legacy-mincho);
	font-size: 24px;
}

/* 英字名（style_area1.css:1122）。移行元は Bodoni 系の書体を指すが、書体の
   割り当ては Task #1673 のスコープ外（テーマ CSS 基盤の Issue が扱う）なので、
   テーマの明朝トークンを指す。節の見出しの英字（.title-01-en）も同じ扱いに
   なっている。 */
.pa-profile-legacy-compat .pa-branch__content .manager-name-en {
	margin: 0 0 0 10px;
	color: #a6b3b9;
	font-family: var(--pa-branch-legacy-mincho-en);
	font-size: 12px;
	letter-spacing: 0.25em;
}

/* 肩書（style_area1.css:1130）。 */
.pa-profile-legacy-compat .pa-branch__content .manager-position {
	margin: 0 0 15px;
	color: #b0a056;
	font-family: var(--pa-branch-legacy-mincho);
	font-size: 14px;
}

/* 挨拶文（style_area1.css:1137・1147）。 */
.pa-profile-legacy-compat .pa-branch__content .manager-message p {
	position: relative;
	margin: 0 0 10px;
	font-size: 14px;
	font-feature-settings: "palt";
	line-height: 2;
}

.pa-profile-legacy-compat .pa-branch__content .manager-message p:last-of-type {
	margin-bottom: 0;
}

/* --------------------------------------------------------------
 * 追補: ご来店の流れの帯（.flow-header 系と .flow-title）
 * 写し元: branch/css/style_area1.css の 1937〜1987 行
 *         sp/branch/css/style_area1.css の 2019〜2074 行
 *
 * 「ご来店・ご入会の流れ」の節で、見出しと所要時間の札を横に並べる帯である。
 * 区画 A〜G のどれにも入っておらず、移植候補クラスの棚卸しを作り直したとき
 * （Task #1801）に見つけた取りこぼしである。
 *
 * この帯を持つのは旧デザインの店舗詳細 27 ページだけである（うち 2 ページは
 * 試験用なので、検収でページ数を数えるときの母数は 25）。改装版 5 ページと
 * 新デザインの 4 店舗はいずれも 0 件で、移行元の HTML でも 0 件である。
 *
 * 帯の中の所要時間の札（.flow-time）は Task #1802 が担当する。文字色も、
 * 大きさ・内余白・左外余白・帯ごとの地色も向こうの受け持ちなので、ここでは
 * .flow-time に 1 宣言も書かない。
 *
 * ------------------------------------------------------------------
 * 見出し（h3.flow-title）で打ち消す既定
 * ------------------------------------------------------------------
 * 移行元は .page-branch の中の見出しに打ち消し（style_area1.css:21 の
 * margin: 0 / padding: 0 / border: 0 / font: inherit）を当てており、実測でも
 * 外余白 0・内余白 0・枠線 0・太さ 400 になる。このテーマは記事本文の見出しに
 * 金色の縦棒と太字と上下の外余白を与えている（このファイルの .entry-content
 * h3 と .entry-content :is(h2, h3, h4, h5, h6)）ため、帯の中でもそれが出て
 * しまう。移行元の打ち消しに合わせてここで戻す。
 *
 * 字間（.entry-content の 0.05em）と行の高さは、移行元 CSS がこの見出しに
 * 対して書いていない値なので触らない。帯は高さを固定して中身を縦中央へ
 * 寄せる作りで、実測の差は 0.5px に収まる。
 * -------------------------------------------------------------- */

/* 帯。移行元は右端に飾りの背景画像を敷き、高さ 44px の中で見出しと札を横へ
   並べる（style_area1.css:1937）。背景画像はテーマの assets へ写した実体
   （Task #1847）を、このファイルからの相対で参照する。
   実測（梅田店・パソコン幅 1440px）: 並べ方 移行元 flex 対 dev block、
   高さ 移行元 44px 対 dev 77px、左内余白 移行元 17px 対 dev 0px、
   下外余白 移行元 5px 対 dev 0px、背景画像 移行元 bg_flow_ttl.png 対 dev 無し. */
.pa-profile-legacy-compat .pa-branch__content .flow-header {
	display: flex;
	height: 44px;
	margin-bottom: 5px;
	padding-left: 17px;
	align-items: center;
	background-image: url("../branch/images/area1/bg_flow_ttl.png?ver=0d065ed5ef0c");
	background-repeat: no-repeat;
	background-position: 100%;
}

/* ご来店の帯の地色（style_area1.css:1952）。
   実測: 移行元 #dfecf0 対 dev 透明. */
.pa-profile-legacy-compat .pa-branch__content .flow-header-01 {
	background-color: #dfecf0;
}

/* ご入会の帯。地色に加えて、中身を中央へ寄せ、左内余白を戻す
   （style_area1.css:1964）。
   実測: 移行元 #dff0e6・中央寄せ・左内余白 0px 対 dev 透明・寄せ無し. */
.pa-profile-legacy-compat .pa-branch__content .flow-header-02 {
	padding-left: 0;
	justify-content: center;
	background-color: #dff0e6;
}

/* 帯の見出し。移行元は明朝系の書体で 20px、約物を詰めて組む
   （style_area1.css:1981）。書体はこのテーマの明朝トークンを指す。移行元の
   並びは「ヒラギノ明朝 ProN W3」を先頭に置くが、明朝の何を選ぶかの割り当ては
   Task #1673 のスコープ外で、この区画の店長名（.manager-name-jp）や節の
   見出しの英字（.title-01-en）も同じ扱いにしてある。移行元が並べる
   -webkit- の前置きと、CSS に無い font-smoothing は写さない。
   実測: 書体 移行元 明朝 対 dev ゴシック、大きさ 移行元 20px 対 dev 22px、
   太さ 移行元 400 対 dev 700、左内余白 移行元 0px 対 dev 12px、
   左枠線 移行元 0px 対 dev 4px の金色、外余白 移行元 0px 対 dev 上 50px・
   下 20px. */
.pa-profile-legacy-compat .pa-branch__content .flow-title {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--pa-branch-legacy-mincho);
	font-size: 20px;
	font-weight: normal;
	font-feature-settings: "palt";
}

/* 見出しの文字色は帯ごとに変える（style_area1.css:1956・1972）。ご入会の側は
   札のぶんだけ左へ寄せて、見出しを帯の見た目の中央に置く。
   実測: 移行元 #084e6c / #2f6c50 対 dev 金色 rgb(163,118,43). */
.pa-profile-legacy-compat .pa-branch__content .flow-header-01 .flow-title {
	color: #084e6c;
}

.pa-profile-legacy-compat .pa-branch__content .flow-header-02 .flow-title {
	margin-left: -20px;
	color: #2f6c50;
}

/* 幅 1,100px 以上でだけ 2 列に組む。理由は下の節の冒頭に書いた. */
@media (min-width: 750px) {
	/* --------------------------------------------------------------
	 * 追補: ご来店の流れの 2 列組み（Task #1890）
	 * 写し元: branch/css/style_area1.css の 1913〜2011 行
	 *         sp/branch/css/style_area1.css の 2010〜2091 行
	 *
	 * 移行元のこの節は 2 列組みである。器（.flow.l-container）を flex にして、
	 * 左に「ご来店」の列（830px）、右に「ご入会」の列（265px）を横へ並べる。
	 * 器は 1 ページに 2 つあり、1 つ目が帯と説明文、2 つ目が写真つきの手順である。
	 * 2 つ目は左に手順 3 つ、右に「ご入会」の手順 1 つが入る。
	 *
	 * dev は器に指定が無く、2 つの列が縦に積まれて柱いっぱいに広がっていた。
	 * 実測（岡崎店・パソコン幅 1440px・2026-08-17）: 器の並べ方 移行元 flex 対
	 * dev block、ご来店の列 移行元 830px 対 dev 1,090px、ご入会の列 移行元 265px
	 * 対 dev 1,090px、手順の並べ方 移行元 flex 対 dev block、手順 1 つの幅
	 * 移行元 245px 対 dev 1,090px。
	 *
	 * ------------------------------------------------------------------
	 * 「ご入会」の幅だけを写しても移行元にならない
	 * ------------------------------------------------------------------
	 * Task #1890 は当初「.flow-join に 265px を足す」だけの想定だった。しかし
	 * 器が block のままだと、1,090px の列の下に 265px の細い箱がぶら下がり、
	 * 移行元にも移行前の dev にも無い見え方になる。器と手順まで揃えて初めて
	 * 移行元と一致するため、2026-08-17 に HQ が節ぜんぶを写す裁定を出した。
	 *
	 * ------------------------------------------------------------------
	 * ご来店の列だけ calc() で書く理由
	 * ------------------------------------------------------------------
	 * 中身を載せる柱が移行元 1,100px に対して dev は 1,090px である（この差は
	 * この節に限らない。テンプレート側が決めており、本 Task では扱わない）。
	 * 移行元の 830px と 265px をそのまま書くと合計 1,095px となって 5px あふれ、
	 * flex が両方を縮めてしまう（実測で 826.2px と 263.8px になった）。
	 * 移行元の列の間隔は 1,100 − 830 − 265 = 5px なので、間隔 5px と
	 * 「ご入会」の 265px を固定し、差の 10px はご来店の列で吸収する。柱を
	 * 割り算して calc() で書くのは、この区画の .case-outer と同じ作法である。
	 *
	 * ------------------------------------------------------------------
	 * :nth-of-type(3) は dev でもそのまま効く
	 * ------------------------------------------------------------------
	 * 移行元は 2 つ目の器の上外余白だけを 0 に戻す。dev の本文でも節の中の div は
	 * 「見出し・器・器」の順に並ぶため、3 番目がそのまま 2 つ目の器に当たる。
	 * 岡崎店と梅田店へ実際に当てて、1 つ目 60px・2 つ目 0px になることを確かめた。
	 *
	 * ------------------------------------------------------------------
	 * 写していない宣言
	 * ------------------------------------------------------------------
	 * position: relative … 移行元は 4 つの器すべてに書くが、この節では重ね置きを
	 *                      使わないため、書かなくても描かれ方は変わらない。
	 *                      **手順の題（.flow-title-02）の側には Bug #4799 で
	 *                      position: relative を足した**（番号を重ねる基準にするため）
	 * .flow-container .text-01 の下外余白 5px と .flow-title-02 …
	 *                      **Bug #4799 で写した**（このファイルの
	 *                      `.pa-branch-area1 .page-branch .flow-title-02` の節）。
	 *                      題の箱が 110px 伸び、区画が 125px 高くなっていたためである
	 *
	 * ------------------------------------------------------------------
	 * なぜ 1,100px 以上に限るのか
	 * ------------------------------------------------------------------
	 * 手順 3 つは 245 × 3 + 30 × 2 = 795px を必要とする。ご来店の列はこれより
	 * 狭くできない。列の幅は「柱 − 270px」で、柱は画面幅から左右 15px ずつを
	 * 引いた値（上限 1,100px。Bug #1945 で揃える前は 1,090px だった）なので、
	 * 795px を満たすには画面幅 1,095px 以上が要る。**この 1,095px という境目は
	 * 上限の値では決まらない。** 上限に届かない画面幅では柱が「画面幅 − 30px」に
	 * なり、そちらが効くためである。だから上限を 1,090px から 1,100px へ変えても
	 * 境目は動かない。
	 * これを満たさない幅で 2 列にすると、flex が手順を縮める。実測では画面幅
	 * 1,024px で手順 1 つが 245px から 221.3px へ、750px では約 130px まで痩せる
	 * （岡崎店・2026-08-17。Codex のレビュー指摘を実測で裏取りした）。
	 *
	 * よってこの節は 1,100px 以上でだけ当てていた。1,099px 以下は dev のいまの縦積みの
	 * ままにしていた。移行元は画面幅 1,100px 固定の作りで、それより狭い画面用の値を
	 * そもそも持たない。区切りを 1,100px にしたのは、移行元の柱の幅と同じ値であり、
	 * このファイルが既に使っている区切りだからである。
	 *
	 * 🚨 **区切りを 750px へ下げた（Bug #6555・2026-09-16）。**上の「手順が痩せる」は
	 * 柱が画面幅まで縮む前提での話だった。同じ Bug で柱を 1,100px の固定へ戻したので、
	 * 1,100px に届かない画面でも柱は 1,100px のままであり、手順は痩せない。**縮むのは
	 * 柱ではなく画面のほうで、読み手は横スクロールで右端まで送る**（ユーザー決定 D288
	 * 「移行元に合わせる」）。1,099px 以下で縦積みのままにすると、こんどは移行元と
	 * 並びが違ってしまう。携帯幅（749px 以下）を外す理由は下の節のとおり変わらない。
	 *
	 * ------------------------------------------------------------------
	 * 携帯幅の打ち消しを別に置かない理由
	 * ------------------------------------------------------------------
	 * この枠は 1,100px 以上にしか当たらないので、749px 以下の打ち消しは要らない。
	 * **移行元の携帯幅を「パソコン版のページを狭めて」測ってはいけない。**
	 * 移行元は携帯用に別ページを持ち、パソコン版を 375px にしても 830px と 265px の
	 * ままになる（実測で確認）。携帯版の CSS（sp/branch/css/style_area1.css の
	 * 2010〜2091 行）は 2 列に組まず、器にも列にも手順にも幅を与えない。つまり
	 * 携帯幅の正解は「dev のいまの縦積み」であり、この枠の外に置けば保たれる。
	 * -------------------------------------------------------------- */

	/* 器。移行元は flex で両端へ振り分け、節の間を 60px 空ける
	   （style_area1.css:1913）. */
	.pa-profile-legacy-compat .pa-branch__content .flow.l-container {
		display: flex;
		margin-top: 60px;
		justify-content: space-between;
	}

	/* 2 つ目の器だけ上を詰める（style_area1.css:1923）. */
	.pa-profile-legacy-compat .pa-branch__content .flow.l-container:nth-of-type(3) {
		margin-top: 0;
	}

	/* ご来店の列（style_area1.css:1927）。移行元は 830px だが、上に書いたとおり
	   柱の幅が 10px 狭いぶんをここで吸収する. */
	.pa-profile-legacy-compat .pa-branch__content .flow-come {
		width: calc(100% - 270px);
	}

	/* ご入会の列（style_area1.css:1932）。移行元の値をそのまま使う. */
	.pa-profile-legacy-compat .pa-branch__content .flow-join {
		width: 265px;
	}

	/* 手順を横へ並べる（style_area1.css:1997）. */
	.pa-profile-legacy-compat .pa-branch__content .flow-box {
		display: flex;
	}

	/* 手順 1 つ（style_area1.css:2007）。ご来店の列には 3 つ入り、
	   245 × 3 + 30 × 2 = 795px で 820px の列に収まる. */
	.pa-profile-legacy-compat .pa-branch__content .flow-container {
		width: 245px;
		margin-right: 30px;
	}

	/* 最後の 1 つは右の間隔を落とす（style_area1.css:2003）. */
	.pa-profile-legacy-compat .pa-branch__content .flow-box .flow-container:last-of-type {
		margin-right: 0;
	}
}

/* --------------------------------------------------------------
 * 追補: 地図の埋め込み（.about-map・Bug #2007）
 * 写し元: branch/css/style_area1.css の 1057〜1071 行
 *
 * 旧デザインの店舗詳細 17 ページ（A 型。船橋・浜松等。区画 A〜G には無い取りこぼし）
 * の「店舗情報」区画にある地図の箱（div.about-map > div.about-map-container）が、
 * 本文の取り込みで iframe を落とすため空のままだった。テーマ側の inc/branch-map.php
 * が the_content フィルタで iframe を差し込む（対象ページの一覧は Bug #2007 を参照）
 * ので、ここではその箱の寸法・背景・iframe の枠線だけを写す。
 *
 * 実測（dev の浜松店・2026-08-24）: `.about-map` に幅の指定が無いため、iframe の
 * 差し込み前は箱が幅 0 のまま出ていた（curl でキャッシュ迂回クエリつきで取得し、
 * `<div class="about-map-container"></div>` が空のまま残っているのを確かめた）。
 *
 * `.pa-branch__content .about-map-container` には、iframe を落として空になる前提の
 * `display: none`（このファイルの前の節）が既にある。中身を差し込んだ今はその前提が
 * 崩れるため、この節で display: block へ明示的に戻す（display はプロパティ単位で
 * 競合するため、上書きには同じプロパティの指定が必須。寸法・背景を書くだけでは
 * 前の display: none が生き残ってしまう）。
 *
 * `.about-map` / `.about-map-container` は旧デザイン 26 ページ共通の markup で、
 * 地図を差し込む対応表にある 17 ページだけではない（Codex のレビュー指摘・
 * PR #2013）。範囲を絞らずに寸法・display を書くと、対応表に無い 9 ページ
 * （岡崎・豊田・姫路等）の携帯幅表示で `.about-map` の `padding-top: 100%` だけが
 * 効いて正方形の空白が残ってしまう。inc/branch-map.php が実際に差し込んだページの
 * `.about-map` だけへ立てる目印クラス（`.pa-branch-map--injected`）を鍵にして、
 * 以下の規則すべての範囲を絞る（`:has()` より対応ブラウザの幅が確実なため）。
 * -------------------------------------------------------------- */
.pa-profile-legacy-compat .pa-branch__content .about-map.pa-branch-map--injected {
	position: relative;
	width: 400px;
}

.pa-profile-legacy-compat .pa-branch__content .about-map.pa-branch-map--injected .about-map-container {
	display: block;
	position: relative;
	height: 400px;
	width: 100%;
	margin-bottom: 10px;
	background: #ccc;
}

/* 地図の枠線（移行元は iframe の style="border:0"・Bug #2007）。移行元のインライン
   スタイルは CSS 側で再現する取り決め（scripts/pa-cms/sanitize-allowlist.json の
   style_attribute）に従い、ここで枠線を消す。display: block も足す（iframe は
   既定で display: inline のインライン置換要素のため、行送り分の余白（ディセンダー
   領域）が下にでき、携帯幅の aspect-ratio: 1/1（Bug #2015・main.css 後方の節）で
   箱の高さを自動計算するとその余白分だけ正方形から外れてしまうため）. */
.pa-profile-legacy-compat .pa-branch__content .about-map.pa-branch-map--injected .about-map-container iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* --------------------------------------------------------------
 * 携帯幅（749px 以下）の値
 * 写し元: sp/branch/css/style_area1.css
 * -------------------------------------------------------------- */

@media (max-width: 749px) {
	/* 土台。移行元の携帯版 .l-section は position だけを持ち、内余白を持たない
	   （sp/…:151）。実測: 下内余白 0px・下外余白 0px（移行元）. */
	.pa-profile-legacy-compat .pa-branch__content .l-section {
		padding-bottom: 0;
	}

	/* 区画 A の帯。移行元の携帯版は地色ではなく写真を全面に敷き、上下の内余白を
	   30px / 35px にする（sp/…:754）。写真 bg_lcpy.jpg は Task #1645 の取り込みで
	   漏れていたため、この Task で 1 枚だけ足した. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy {
		padding: 30px 0 35px;
		background: url("../sp/branch/images/area1/bg_lcpy.jpg?ver=536e093d84a7") no-repeat 50% / cover;
		text-align: center;
	}

	/* ニュースの帯は携帯幅で別の絵になる（移行元は同じ相対パスにスマホ版の
	   別の絵を置く。実測 パソコン版 302,601 バイト 対 スマホ版 144,384 バイト）。
	   下の内余白も移行元スマホ版の値へ（74px → 40px）. */
	.pa-profile-legacy-compat .pa-branch__content .l-section.news {
		padding-bottom: 40px;
		background-image: url("../sp/branch/images/area1/bg_nws.png?ver=f65d012ee901");
	}

	/* 携帯幅では板を使わない。柱の横並びと板の大きさ・背景・右の余白を戻し、
	   店名・但し書き・惹句を縦に積む（移行元の携帯版に .leadcopy-shop の板が
	   無く、3 つが帯の直下に並ぶため）. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy .l-container,
	.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop {
		display: block;
	}

	.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop {
		width: auto;
		height: auto;
		margin: 0;
		background: none;
	}

	/* ロゴ。移行元の携帯版 .leadcopy-logo は幅いっぱいの塊にして下に 10px 空け、
	   画像を 180×13.5px に固定する（sp/…:762・770）。

	   ここだけ、本文の <img> を隠して背景画像で描き直している。移行元は
	   パソコン版と携帯版でロゴのファイルを使い分けており、パソコン版
	   （branch/images/area1/logo_lcpy.png）は暗い板に載せる白抜き、携帯版
	   （sp/branch/images/area1/logo_lcpy.png）は明るい写真に載せる濃い色である。
	   dev の本文はパソコン版の HTML を取り込んでいるため <img> が白抜きの方を
	   指しており、携帯幅では明るい帯の上で見えなくなる。移行元の携帯版と同じ
	   見た目にするには、濃い色の方へ差し替える必要がある。本文の <img> は
	   CSS から差し替えられないので、隠して同じ大きさの背景画像を敷いた. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop-logo {
		display: block;
		width: 100%;
		height: 13.5px;
		margin: 0 0 10px;
		background: url("../sp/branch/images/area1/logo_lcpy.png?ver=41799bb013b0") no-repeat 50% / 180px 13.5px;
	}

	.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop-logo img {
		display: none;
	}

	/* 店名。移行元の携帯版 .leadcopy-shop（h2）は 30px の明朝で色は #51411e。
	   板が無いため白抜きにはしない（sp/…:775）. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop-name {
		margin: 0;
		color: #51411e;
		font-size: 30px;
		letter-spacing: 0.2em;
	}

	/* 但し書き。移行元の携帯版 .leadcopy-caption は 10px・色 #866825・
	   上に 3px 空ける（sp/…:785）. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy-shop-caption {
		margin: 3px 0 0;
		color: #866825;
		font-size: 10px;
	}

	/* 惹句の囲み。移行元の携帯版は上に 8px 空け、店名の直後に来るときだけ 12px
	   にする（sp/…:791・839）。

	   🚨 **当たり先は `.leadcopy-shop-name`（店名）である。`.leadcopy-shop` ではない。**
	   移行元の携帯版で `.leadcopy-shop` は店名の `h2` そのもので、その次は
	   `p.leadcopy-caption` なので**この規則は当たらない**（効くのは上の 8px）。
	   dev の本文は移行元のパソコン版から取り込んでおり、`.leadcopy-shop` が
	   ロゴ・店名・但し書きを包む**器**で、その次の兄弟が `.leadcopy-txt` になる。
	   **器を当たり先にすると、移行元では当たらない 12px が dev でだけ当たって
	   4px 高くなる**（Bug #6794・2026-09-17 の実測で確かめた）。

	   **当たり先を店名（`.leadcopy-shop-name`）へ移すと、dev でも次の兄弟は
	   `.leadcopy-shop-caption` なので当たらず、移行元とまったく同じ振る舞いになる。**
	   値を 8px に書き換えるのではなく当たり先を合わせるのは、移行元がこの規則を
	   変えたときに 1 か所で追いつけるようにするためである. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt {
		margin: 8px 0 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .leadcopy .leadcopy-shop-name + .leadcopy-txt {
		margin-top: 12px;
	}

	/* 惹句。移行元の携帯版は 16px・行の高さ 1.7 で、二重下線は 3px 下へ下げる
	   （sp/…:796・811）. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-01 {
		font-size: 16px;
		line-height: 1.7;
	}

	.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-01 strong::after {
		bottom: -3px;
	}

	.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-01 small {
		font-size: 10px;
	}

	/* 帯の下の注記。移行元の携帯版は 10px にし、**帯の下端へ絶対配置する**
	   （sp/…:826・`position: absolute; bottom: 10px; width: 100%`）。

	   ------------------------------------------------------------------
	   🚨 いったん「流れの中に残す」を選び、2026-09-17 に戻した
	   ------------------------------------------------------------------
	   **前はここに絶対配置を写さず、流れの中に残していた。**理由は 2 つ書かれていた。
	   ① 移行元の携帯版に柱（`.l-container`）が無いのに dev には在るので、絶対配置の
	   基準がその柱になって帯の下端から 35px ずれる。② 場所を取らなくなって惹句と重なる。

	   **①は下の `.l-container { position: static }` で解いた。**`.leadcopy` の中だけ
	   位置指定を外すので、基準は移行元と同じ `section.leadcopy` に戻る。

	   **②は「①だけを直す」前提の読みだった。**注記が流れから外れると帯の中身は 20px
	   縮み、さらに上の隣接指定の直しで 4px 縮む。**両方を直すと中身は移行元と同じ
	   161.06px になり、惹句の下端（532.06）と注記の上端（545.06）は 13px 空く**
	   （帯の下の内余白 35px に収まるため。移行元の実測がその形である）。

	   🚨 **この 13px は計算であって実測ではない。**デプロイ後に 1 走行で裏を取る。
	   **外れたら注記の位置だけ戻す**（高さの 24px は 2 つの直しで確実に減る）。
	   経緯は Bug #6794 に書いてある. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy-txt-02 {
		position: absolute;
		bottom: 10px;
		/* 🚨 **`left: 0` は移行元の携帯版に無い宣言だが、足さないと右へ 20px はみ出す**
		   （Bug #7413・2026-09-19 04:17 の実測）。

		   移行元の携帯版は `.leadcopy` の直下に `.leadcopy-txt` を置き、**柱
		   （`.l-container`）を挟まない**。柱は `padding-left: 20px` を持つので、
		   dev では注記の静的な位置が左 20 から始まる。`width: 100%` は包含ブロック
		   （`.leadcopy`）の幅を参照するため、**左 20 ＋ 幅 375 ＝ 右 395** になり、
		   画面の幅 375 を 20px 超える。

		   🚨 **上の `position: static`（柱の基準を外す手当て）だけでは直らない。**
		   あれは包含ブロックを `.leadcopy` へ戻すが、柱の内余白は残るので静的な位置は
		   左 20 のままである。`left: 0` を足して初めて移行元と同じ左端から始まる。

		   実測（幅 375・`/branch/branch-chubu-hamamatsu/`）: この注記だけを隠すと
		   `scrollWidth` が 395 から 375 へ戻る。固定の導線（`position: fixed`）を
		   隠しても 395 のままで、主視覚の絵 3 枚は `.mainvisual-container` に
		   切られている。**犯人はこの注記 1 つだけである。** */
		left: 0;
		width: 100%;
		font-size: 10px;
	}

	/* 🚨 **絶対配置の基準を帯そのものへ戻す。**移行元の携帯版に柱は無い。
	   dev は `.pa-profile-legacy-compat .pa-branch__content .l-container` が
	   `position: relative` を持つので、外さないと上の注記が柱の下端を基準にして
	   帯の下端から 35px ずれる。

	   🚨 **`.leadcopy` の中だけに限る。**ほかの区画の柱には触らない。帯の中で
	   絶対配置を使うのは注記だけで、`.leadcopy-txt-01 strong::after` は `strong`
	   自身が `position: relative` を持つので基準は変わらない. */
	.pa-profile-legacy-compat .pa-branch__content .leadcopy .l-container {
		position: static;
	}

	/* 数寄屋橋店の字間（sp/…:843）. */
	.pa-profile-legacy-compat .pa-branch__content .page-branch-sukiyabashi .leadcopy-shop-name {
		letter-spacing: 0.1em;
	}

	/* 背景なし版の節の見出し。移行元の携帯版は上の外余白を 0 にするだけで、
	   パソコン版のような下の引き上げ（-50px）を持たない（sp/…:876）.

	   🚨 **高さ 400px も携帯幅には持ち込まない（Bug #9520）。**パソコン幅の節（検索語
	   「背景なし版の節の見出し」・Bug #4591）は、移行元のパソコン版から高さ 400px を
	   写している。移行元の携帯版の .title-01（sp/…:847）は高さを持たず、内余白
	   40px 0 50px で高さが決まる（幅 375px・大宮店と船橋店で 200px）。dev は 400px のまま
	   で、こだわりの区画が 200px 高かった（2026-10-06 の直す前の読み・内余白は 0）. */
	.pa-profile-legacy-compat .pa-branch__content .title-01.title-01--nobg {
		height: auto;
		padding: 40px 0 50px;
		margin-top: 0;
		margin-bottom: 0;
	}

	/* 区画 B の数字。移行元の携帯版は 21px、単位は 13px（sp/…:1095・1105）。
	   太さ 200・行の高さ 1.1・書体はパソコン幅と同じ. */
	.pa-profile-legacy-compat .pa-branch__content .value {
		font-size: 21px;
	}

	.pa-profile-legacy-compat .pa-branch__content .value small {
		font-size: 13px;
	}

	/* 「or」の区切り。移行元の携帯版は 12px である（sp/…:1824）. */
	.pa-profile-legacy-compat .pa-branch__content .value .price_normal {
		font-size: 12px;
	}

	/* ----------------------------------------------------------
	 * 区画 C の携帯幅の値
	 * 写し元: sp/branch/css/style_area1.css の 1242〜1747 行
	 *
	 * 移行元の携帯版は 1 列で縦に積む。柱を 2 列に割る指定と、1 列ぶんの器
	 * （.case-outer）の幅を戻す。移行元の携帯版に .case-outer は無いが、
	 * dev の本文にはパソコン版の器がそのまま在るため、幅を解いて素通しにする。
	 * ---------------------------------------------------------- */

	.pa-profile-legacy-compat .pa-branch__content .case.l-container {
		display: block;
		margin-top: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-outer {
		width: auto;
	}

	/* 枠。移行元の携帯版は内余白を 0 14px 15px、下の外余白を 20px にする
	   （sp/…:1246）。枠線と上辺の男女別の色はパソコン幅と同じ. */
	.pa-profile-legacy-compat .pa-branch__content .case-box {
		margin-bottom: 20px;
		padding: 0 14px 15px;
	}

	/* 見出しの塊（sp/…:1276・1287・1298）。移行元の携帯版は下の外余白を持たない. */
	.pa-profile-legacy-compat .pa-branch__content .case-header {
		margin-top: 5px;
		margin-bottom: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-img {
		width: 93.5px;
		height: 85px;
		margin: 0 10px 0 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-img img {
		width: 100%;
	}

	/* 事例の要点。移行元の携帯版は上に 15px 空け、行の高さを 1.4 にし、黄色の
	   下線を 6px に細める（sp/…:1305・1325）。携帯版だけで改行する br は、
	   ここでは消さずに出す（移行元の携帯版に消す指定が無いため）. */
	.pa-profile-legacy-compat .pa-branch__content .case-leadcopy {
		margin-top: 15px;
		margin-bottom: 3px;
		line-height: 1.4;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-leadcopy br.u-sp {
		display: inline;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-leadcopy strong::before {
		border-bottom-width: 6px;
	}

	/* 名前と年齢、属性（sp/…:1341〜1362）。移行元の携帯版は属性を折り返させる
	   （パソコン版の white-space: nowrap と br の打ち消しを解く）. */
	.pa-profile-legacy-compat .pa-branch__content .case-name {
		margin-bottom: 3px;
		font-size: 12px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-name strong {
		font-size: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-name span {
		margin-left: 0.25em;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-career {
		font-size: 12px;
		line-height: 1.4;
		white-space: normal;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-career br {
		display: inline;
	}

	/* 会員の紹介の表。移行元の携帯版は表の組みを解いて縦に積み、点線を行
	   （tr）の側へ移す（sp/…:1387〜1412）. */
	.pa-profile-legacy-compat .pa-branch__content .case-intro tbody,
	.pa-profile-legacy-compat .pa-branch__content .case-intro tr,
	.pa-profile-legacy-compat .pa-branch__content .case-intro th,
	.pa-profile-legacy-compat .pa-branch__content .case-intro td {
		display: block;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-intro tr {
		padding: 10px 0 5px;
		border-bottom: 1px dotted #ccc;
	}

	/* 🚨 **字詰めを外す**（Bug #6827）。移行元の携帯版は `.case-intro` の td / th に
	   `font-feature-settings` を**書いていない**（`sp/branch/css/style_area1.css` は
	   `font-size: 13px; line-height: 1.6` だけ）。パソコン版は書いており、dev はそちらを
	   写しているので、**携帯幅でも字詰めが効いて読点や中黒が詰まり、同じ文字数でも
	   1 行に収まってしまう**。

	   2026-09-17 14:55 の実測（幅 375px・町田店）で、事例 10 件のうち **1 件目と 4 件目**の
	   `table.case-intro` が移行元より **20.80px（ちょうど 1 行）低かった**。どちらも
	   「20〜35歳、年収450万円以上、飲酒・喫煙されない方」のように**読点 3 つと中黒 1 つ**を
	   含む行を持つ。ほかの 3 件は 1 の位まで一致していた。

	   🚨 **`normal` で外す。**`none` ではない。`font-feature-settings` の初期値は `normal`
	   であり、`none` は妥当な値ではない。

	   🚨 **パソコン幅は触らない。**あちらは移行元パソコン版と同じ字詰めが正しい. */
	.pa-profile-legacy-compat .pa-branch__content .case-intro td,
	.pa-profile-legacy-compat .pa-branch__content .case-intro th {
		padding: 0;
		border-bottom: 0;
		font-feature-settings: normal;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-intro th {
		width: auto;
	}

	/* 活動の点数。移行元の携帯版は枠の内余白（左右 14px）を打ち消して外へ
	   10px はみ出させ、3 個を 33% ずつで並べる（sp/…:1417〜1487）. */
	.pa-profile-legacy-compat .pa-branch__content .case-score {
		width: calc(100% + 20px);
		margin: 10px -10px 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-score-box {
		width: auto;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-score-box-num,
	.pa-profile-legacy-compat .pa-branch__content .case-score-box-rat,
	.pa-profile-legacy-compat .pa-branch__content .case-score-box-term {
		width: 33%;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-score-box::after {
		height: 20px;
		margin-top: -10px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-score-title {
		font-size: 12px;
	}

	/* 「成婚までの期間」だけ字数が多く、移行元は横に 0.92 倍縮める
	   （sp/…:1461）. */
	.pa-profile-legacy-compat .pa-branch__content .case-score-box-term .case-score-title {
		transform: scaleX(0.92);
	}

	/* 点数の数字。移行元の携帯版は 20px で、絵の大きさと位置を項目ごとに変える
	   （sp/…:1446〜1478・1497）。区画 B の携帯幅の 21px より小さい値である. */
	.pa-profile-legacy-compat .pa-branch__content .case-score .value {
		height: 24px;
		padding-left: 18px;
		font-size: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-score-box-num .value {
		background-size: 15px 12.5px;
		background-position: left 45%;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-score-box-rat .value {
		background-size: 16px 12.5px;
		background-position: left 45%;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-score-box-term .value {
		background-size: 15px 15px;
		background-position: left 40%;
	}

	/* 点数の絵は、携帯版だけ 2 倍の大きさの別ファイルである（パソコン版
	   23×19px に対し携帯版 30×25px）。上の background-size と対で使う. */
	.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-score-box-num .value {
		background-image: url("../sp/branch/images/area1/icn_case_sc1_f.png?ver=a732f4d9cc3f");
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-score-box-rat .value {
		background-image: url("../sp/branch/images/area1/icn_case_sc2_f.png?ver=79de3f589b35");
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-score-box-term .value {
		background-image: url("../sp/branch/images/area1/icn_case_sc3_f.png?ver=2c13114078e6");
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-score-box-num .value {
		background-image: url("../sp/branch/images/area1/icn_case_sc1_m.png?ver=abd7ebd991f8");
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-score-box-rat .value {
		background-image: url("../sp/branch/images/area1/icn_case_sc2_m.png?ver=21bbd00b99df");
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-score-box-term .value {
		background-image: url("../sp/branch/images/area1/icn_case_sc3_m.png?ver=00d6bcca2e79");
	}

	/* クチコミの囲み（sp/…:1524）。地色と角丸はパソコン幅と同じ. */
	.pa-profile-legacy-compat .pa-branch__content .case-review {
		margin-bottom: 15px;
		padding: 10px 20px 0;
	}

	/* 下の罫線。絵はパソコン版と同じファイルだが、移行元の携帯版は
	   5×1.5px に縮めて敷く（sp/…:1536）. */
	.pa-profile-legacy-compat .pa-branch__content .case-review-box {
		padding: 0 0 1px;
		background-size: 5px 1.5px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-review-box:first-of-type .case-review-theme {
		margin-top: 10px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-review-theme {
		margin: 15px 0 0;
	}

	/* クチコミの見出しの旗。移行元の携帯版は 2 倍の大きさの別ファイル
	   （42×46px）を 21×23px に縮めて敷き、左へ寄せる位置も 24px に詰める
	   （sp/…:1563・1636・1653）. */
	.pa-profile-legacy-compat .pa-branch__content .case-review .case-leadcopy::before {
		left: -24px;
		background-size: 21px 23px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-leadcopy::before {
		background-image: url("../sp/branch/images/area1/icn_case_flg_f.png?ver=58c96104d2a6");
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-leadcopy::before {
		background-image: url("../sp/branch/images/area1/icn_case_flg_m.png?ver=d1cf172fda87");
	}

	/* 満足度の行。移行元の携帯版は枠の内余白を打ち消して外へ 10px はみ出させる
	   （sp/…:1578）. */
	.pa-profile-legacy-compat .pa-branch__content .case-review-satisfaction {
		width: calc(100% + 20px);
		margin: 0 -10px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-review-name {
		margin-right: 5px;
		padding-left: 25px;
		font-size: 14px;
		line-height: 1.2;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-review-name::before {
		background-position: 50%;
	}

	/* 名前の左の似顔絵。移行元の携帯版は 2 倍の大きさの別ファイルで、
	   女性 22×25.5px・男性 20×22px に縮めて敷く（sp/…:1666・1683）. */
	.pa-profile-legacy-compat .pa-branch__content .case-box-female .case-review-name::before {
		background-image: url("../sp/branch/images/area1/icn_case_name_f.png?ver=f905b9a99d2f");
		background-size: 22px 25.5px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-box-male .case-review-name::before {
		background-image: url("../sp/branch/images/area1/icn_case_name_m.png?ver=1a7240a7733b");
		background-size: 20px 22px;
	}

	.pa-profile-legacy-compat .pa-branch__content .case-review-star {
		font-size: 16px;
		letter-spacing: 1px;
	}

	/* 「もっと見る」の押しボタン（sp/…:1069〜1086）。移行元の携帯版は帯を
	   低くし（40px）、字を小さくし（13px）、矢印の絵も別ファイルの小さい方を
	   使う。地色と中央そろえはパソコン幅と同じなので書き直さない. */
	.pa-profile-legacy-compat .pa-branch__content .button-02 {
		height: 40px;
		background-image: url("../sp/branch/images/area1/icn_arw.png?ver=8b03335b7655");
		background-size: 5.5px 10px;
		font-size: 13px;
	}

	/* 地図の代わりの導線の押しボタン（sp/…:1069〜1086）。移行元の携帯版は
	   .button-01 も .button-02 と同じ共通規則だけで組み立てており、パソコン
	   幅にある「塊で置いて内余白で高さを作る」形（block + padding: 10px 40px）
	   を持たない。並べ方を flex へ戻し、内余白を 0 にして、40px の帯に
	   中央そろえで置く形に揃える。
	   中央そろえは justify-content が担うため、パソコン幅から継がれる
	   text-align: center は見た目に効かない。移行元の携帯版に無い宣言なので
	   書き戻しはしない. */
	.pa-profile-legacy-compat .pa-branch__content .button-01 {
		display: flex;
		height: 40px;
		align-items: center;
		justify-content: center;
		padding: 0;
		background-image: url("../sp/branch/images/area1/icn_arw.png?ver=8b03335b7655");
		background-size: 5.5px 10px;
		font-size: 13px;
	}

	/* .about の中の押しボタン（sp/…:1175〜1177）。移行元の携帯版は幅を
	   決めずに柱いっぱいへ広げ、下に 40px の余白を置く. */
	.pa-profile-legacy-compat .pa-branch__content .about .button-01 {
		width: auto;
		margin: 0 0 40px;
	}

	/* 親御さま向けの導線の横並びの入れ物。移行元の携帯版に .parent-btn-box の
	   規則は無く、div の既定のまま縦に積む（移行元にこの規則は無い・束ね直しの
	   ための戻し）. */
	.pa-profile-legacy-compat .pa-branch__content .parent-btn-box {
		display: block;
	}

	/* 柱の入れ物（sp/…:1943）。移行元の携帯版は右ではなく下を空ける. */
	.pa-profile-legacy-compat .pa-branch__content .parent-btn-container {
		margin: 0 0 15px;
	}

	/* 柱の見出し（sp/…:1947）。移行元の携帯版で違うのは字の大きさと下の
	   外余白だけである。色・書体・中央寄せ・約物の詰めは同じなので
	   書き直さない. */
	.pa-profile-legacy-compat .pa-branch__content .parent-btn-title {
		margin-bottom: 5px;
		font-size: 14px;
	}

	/* 親御さま向けの導線の押しボタン（sp/…:1958〜1973）。移行元の携帯版は
	   **幅を決めず**、柱いっぱいへ広げて 40px の帯にする。パソコン幅で
	   書いた 270px はここで外さないと携帯幅まで効いてしまう。
	   並べ方・上下左右そろえ・下線なしはパソコン幅と同じなので書き直さない. */
	.pa-profile-legacy-compat .pa-branch__content .parent-btn {
		width: auto;
		height: 40px;
	}

	/* 電話番号の箱（sp/…:1975〜1981）。移行元の携帯版で違うのは字の大きさ
	   だけである。枠線・文字色・書体・細字は同じなので書き直さない. */
	.pa-profile-legacy-compat .pa-branch__content .parent-btn-01 {
		font-size: 20px;
	}

	/* 電話の絵（sp/…:1990〜2001）。移行元の携帯版は /sp/ 側の別ファイル
	   （バイトが違う）を使い、大きさを 24px 四方に指定する. */
	.pa-profile-legacy-compat .pa-branch__content .parent-btn-01 span::before {
		background-image: url("../sp/branch/images/area1/icn_tell.png?ver=c5b3d81b5730");
		background-size: 24px 24px;
	}

	/* 同（sp/…:2003〜2008）。移行元の携帯版は字を小さくし（14px）、矢印の
	   絵も /sp/ 側の別ファイルの小さい方を使って大きさを指定する。
	   移行元のパソコン版は矢印の大きさを指定しないので、パソコン幅では
	   絵の実寸のまま出る。地色はパソコン幅と同じなので書き直さない. */
	.pa-profile-legacy-compat .pa-branch__content .parent-btn-02 {
		background-image: url("../sp/branch/images/area1/icn_arw.png?ver=8b03335b7655");
		background-size: 5.5px 10px;
		font-size: 14px;
	}

	/* ご来店の流れの帯の中の所要時間の札（sp/…:2076〜2082）。移行元の携帯版で
	   パソコン版と違うのは字の大きさだけである（14px → 12px）。文字色・内余白・
	   左外余白・行の高さ・帯ごとの地色はパソコン幅と同じなので書き直さない. */
	.pa-profile-legacy-compat .pa-branch__content .flow-time {
		font-size: 12px;
	}

	/* 追補: 特徴の枠。移行元の携帯版は .feature に幅・枠線・内余白を与えて
	   いない（sp/branch/css/style_area1.css には .feature-figure しか無い）。
	   上で書いたパソコン幅の値をここで戻し、移行元の携帯版と同じ「枠の無い
	   ただの節」に揃える。920px を残すと 375px の画面からはみ出す. */
	.pa-profile-legacy-compat .pa-branch__content .feature.l-container {
		width: auto;
		padding: 0;
		border: 0;
	}

	/* 箱の中の見出しも、移行元の携帯版は共通の .title-02（下外余白 10px・
	   sp/…:921）のままである（sp/…:1111 の .feature-figure 以外に .feature
	   向けの規則が無い）。パソコン幅の 40px / 30px をここで戻す. */
	.pa-profile-legacy-compat .pa-branch__content .feature .title-02 {
		margin-top: 0;
		margin-bottom: 10px;
	}

	/* 特徴の図。移行元の携帯版は図を最大 280px にして中央へ置き、下を 15px 空け、
	   絵を図の幅いっぱいに描く（sp/…:1111〜1120）。パソコン幅の節（.feature-figure の
	   下外余白 40px・Bug #4591）はメディアクエリの外にあり、dev の携帯幅は図が 335px・
	   下 40px だった（Bug #9520・2026-10-06 の直す前の読み・大宮店と船橋店）.
	   寄せ（text-align）は移行元の携帯版も持たないので、ここでは触らない（Bug #9519）. */
	.pa-branch-area1 .page-branch .feature-figure {
		max-width: 280px;
		margin: 0 auto 15px;
	}

	.pa-branch-area1 .page-branch .feature-figure img {
		width: 100%;
	}

	/* 追補: 店長紹介の囲み。移行元の携帯版は上に 40px・下に 15px 空ける
	   （sp/…:1179）。2 列に振り分けるのはやめ、写真を回り込ませる形にする
	   （理由はパソコン幅の側の説明を参照）. */
	.pa-profile-legacy-compat .pa-branch__content .manager.l-container {
		display: block;
		width: auto;
		margin: 40px 0 15px;
	}

	/* 顔写真。移行元の携帯版は幅 90px で、右に 15px 空けて名前を横に置く
	   （sp/…:1189）。回り込みで横並びを作る. */
	.pa-profile-legacy-compat .pa-branch__content .manager-img {
		float: left;
		width: 90px;
		margin-right: 15px;
	}

	/* 文章の側。パソコン幅の 580px を戻す（移行元の携帯版は残りの幅いっぱいに
	   広げる・sp/…:1199）. */
	.pa-profile-legacy-compat .pa-branch__content .manager-info {
		width: auto;
	}

	/* 名前の行。移行元の携帯版は日本語名と英字名を縦に積む（sp/…:1206）. */
	.pa-profile-legacy-compat .pa-branch__content .manager-name {
		display: block;
		margin-bottom: 0;
	}

	/* 日本語名（sp/…:1211）. */
	.pa-profile-legacy-compat .pa-branch__content .manager-name-jp {
		margin: 0 0 3px;
		font-size: 18px;
	}

	/* 英字名（sp/…:1217）。横に並べるための左外余白は要らなくなる. */
	.pa-profile-legacy-compat .pa-branch__content .manager-name-en {
		margin: 0 0 5px;
		font-size: 9px;
	}

	/* 肩書（sp/…:1225）。移行元の携帯版は下外余白を持たない. */
	.pa-profile-legacy-compat .pa-branch__content .manager-position {
		margin: 0;
		font-size: 12px;
	}

	/* 挨拶文。移行元の携帯版は写真の横ではなく全幅に出る（HTML が別の囲みに
	   分けているため）。dev は同じ囲みの中にあるので、回り込みを解除して
	   全幅へ落とす. */
	.pa-profile-legacy-compat .pa-branch__content .manager-message {
		clear: left;
	}

	/* 挨拶文の段落（sp/…:1231）。移行元の携帯版は約物の詰め方（palt）を
	   与えていないため、パソコン幅で書いた 1 行をここで戻す. */
	.pa-profile-legacy-compat .pa-branch__content .manager-message p {
		margin-bottom: 15px;
		font-size: 13px;
		font-feature-settings: normal;
	}

	/* 追補: ご来店の流れの帯（sp/…:2019）。移行元の携帯版は背景画像を敷かず、
	   高さを 35px に縮め、左右へ 10px 空けて見出しと札を両端へ振り分ける。
	   パソコン幅で書いた背景画像・高さ・左内余白をここで戻す。
	   この規則はパソコン幅の .flow-header-02 より後ろにあり、詳細度は同じ
	   （クラス 3 つ）なので、ご入会の帯の中央寄せと左内余白 0 もここで
	   上書きされる。移行元の携帯版も .flow-header-02 に寄せ方と内余白を
	   書いていないので、それでよい。
	   背景画像の繰り返しと位置は、画像を none にすれば効かなくなるが、
	   パソコン幅の値が計算結果に残らないよう初期値へ戻しておく. */
	.pa-profile-legacy-compat .pa-branch__content .flow-header {
		height: 35px;
		padding: 0 10px;
		justify-content: space-between;
		background-image: none;
		background-repeat: repeat;
		background-position: 0% 0%;
	}

	/* ご入会の帯だけ、前の節から 40px 空ける（sp/…:2046）。パソコン幅には
	   無い指定である. */
	.pa-profile-legacy-compat .pa-branch__content .flow-header-02 {
		margin-top: 40px;
	}

	/* 帯の見出し（sp/…:2068）。地色と文字色はパソコン幅と同値なので、
	   携帯幅で戻すのは字の大きさだけである. */
	.pa-profile-legacy-compat .pa-branch__content .flow-title {
		font-size: 15px;
	}

	/* ご入会の見出しの左寄せは、移行元の携帯版には無い（sp/…:2051 は文字色
	   だけを持つ）。両端揃えで札が右端へ寄るため、見出しを引き寄せる必要が
	   ない。パソコン幅の -20px をここで戻す. */
	.pa-profile-legacy-compat .pa-branch__content .flow-header-02 .flow-title {
		margin-left: 0;
	}

	/* 追補: 地図の埋め込み（sp/branch/css/style_area1.css の 1153〜1171 行・
	   Bug #2007）。移行元の携帯版は幅 100% の正方形に組む。
	   パソコン幅で書いた固定 400×400px をここで戻す。ここも .pa-branch-map--injected
	   で絞る（対応表に無いページで正方形の空白が残る事故を防ぐ・Codex のレビュー指摘・
	   PR #2013・main.css 前方の節に理由）。

	   追補2（Bug #2015）: 取り込み後の本文は「大きな地図で見る」ボタンが本文の並びの
	   中で .about-map の内側に残ってしまう（移行元は .about-map の外側の兄弟要素・
	   dev 実測で確認済み）。旧方式（.about-map に padding-top: 100% で高さを作り、
	   .about-map-container を position: absolute + height: 100% で全面に敷く技法）は
	   親要素 .about-map の実高さを基準にするため、ボタン分だけ正方形が崩れていた
	   （実測 345×425px、期待は 345×345px）。地図の箱 .about-map-container 自身に
	   aspect-ratio: 1 / 1 を持たせ、親の高さに関係なく独立して正方形になるよう直す
	   （position: absolute もやめて通常のフローに戻す。同じ考え方は PR #2013 の
	   新デザイン 4 店舗の地図で aspect-ratio: 4/3 として既に採用済み）. */
	.pa-profile-legacy-compat .pa-branch__content .about-map.pa-branch-map--injected {
		width: 100%;
		margin-top: 20px;

		/* 🚨 **下の外余白は 0 にする**（Bug #6646）。移行元スマホ版はボタンを
		   `.about-map` の**外**に置き、地図の下の 10px でボタンとの間を作る。
		   dev は移行元パソコン版の markup を取り込むのでボタンが `.about-map` の
		   **中**に在り、**中の `.about-map-container` の下の 10px が同じ間を作る**。
		   ここに 10px を残すと、ボタンの下に二重に空きができる. */
		margin-bottom: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .about-map.pa-branch-map--injected .about-map-container {
		position: static;
		aspect-ratio: 1 / 1;
		height: auto;
		width: 100%;
	}

	/* 🚨 **地図の中のボタンの下の外余白を 0 にする**（Bug #6646）。
	 *
	 * 移行元スマホ版では `a.button-01` が `.l-container.about` の**最後の子**なので、
	 * `margin: 0 0 40px` の下 40px は**器の外へ逃げ**、次の区画の見出しの上 50px に
	 * 飲まれて見た目に出ない（移行元の markup を読んで確かめた）。
	 *
	 * dev ではボタンが `.about-map` の中（wpautop の `<p>` の中）に在るため、
	 * **同じ 40px が `.about-map` の高さに出る**。`.about-map > *:last-child` の
	 * `margin-bottom: 0` は `<p>` にしか当たらず、**中のボタンの下余白は止まらない**。
	 *
	 * 2026-09-16 17:47 の実測（幅 375px・町田店）で、`#area-about` の高さは
	 * 移行元 1,447.69 に対し dev 1,497.69 だった。差 50 の内訳は
	 * **この 40px と、上の `.about-map` の下 10px** である.
	 */
	.pa-profile-legacy-compat .pa-branch__content .about-map.pa-branch-map--injected .button-01 {
		margin-bottom: 0;
	}

}

/* ==============================================================
 * 節の見出しの写真の帯（旧デザインの店舗詳細・Task #1726）
 * 写し元: legacy/www.p-a.jp/public/branch/css/style_area1.css の 810-832 行目と
 *         851-867 行目、legacy/www.p-a.jp/public/sp/branch/css/style_area1.css の
 *         847-870 行目と 889-906 行目（携帯幅の値はこのファイルの
 *         「スマートフォン幅（749px 以下）」の節にある）
 *
 * 移行元は節の見出しを、店内写真を敷いた帯の中に白抜きで置く。パソコン版は
 * 高さ 400px の固定、携帯版は上下の内余白（40px / 50px）で高さを作る。移行先は
 * 帯そのものを持っていなかったため、見出しが金茶の文字だけで出ていた。
 *
 * 対象は旧デザインの店舗詳細 25 ページである。dev の実測で .title-01 はのべ
 * 128 件あり、うち帯つきが 113 件、地の絵なし版が 15 件である。残る店舗詳細
 * 17 ページ（改装版と新デザインの 4 店舗）の本文には .title-01 が 1 つも無い
 * ので、前置きの .pa-profile-legacy-compat と合わせて二重に届かない。
 *
 * Issue 本文の「24 ページ・のべ 123 件・地の絵なし 14 件」は西新宿店を数え落と
 * している。西新宿店も移行元で style_area1.css を読む旧デザインのページで、
 * .title-01 を 5 件持つ（帯つき 4 件 + 地の絵なし 1 件）。
 *
 * ------------------------------------------------------------------
 * 地の絵なし版（.title-01--nobg）には当てない
 * ------------------------------------------------------------------
 * 移行元は .title-01--nobg でも高さ 400px と中央寄せを引き継ぎ、背景と下余白
 * （-50px）だけを打ち消す。ここでは :not(.title-01--nobg) で**絵つきの帯の指定**を
 * 外してあり、**地の絵なし版には絵を敷かない**。
 *
 * 🚨 **高さと中央寄せは、地の絵なし版にも別の節（この上のほう・検索語
 * 「背景なし版の節の見出し」）で与えている（Bug #4591・2026-09-08）。**
 * かつてはここで高さごと外しており、移行元 400px に対し dev は 164px だった。
 * Task #1726 の受け入れ条件「地の絵なし版の見た目が変わっていないこと」は、
 * **帯つきの見出しを直すときに壊さないための陰性対照**であって、移行元と合って
 * いるかを検討したものではない（本文にユーザー決定も裁定番号も無い）。
 * 意図的変更の台帳にも行が無いため、大原則どおり移行元へ合わせた（裁定 566・567）。
 *
 * ------------------------------------------------------------------
 * 画面の幅いっぱいに広げる 3 つ組
 * ------------------------------------------------------------------
 * 移行元の帯は画面の幅いっぱいである（1440px 幅で実測 1440px）。移行先の本文の
 * 入れ物は 1,090px なので、テーマにある主役の絵と同じ 3 つ組で広げる。
 *   1. 帯の width: 100vw と margin-inline: calc(50% - 50vw)
 *   2. 祖先の切り落としを外す指定（.page-branch の overflow-x）
 *   3. body 側の overflow-x: clip
 * 1 つでも欠けると帯の左右が切り落とされるか、横スクロールが出る。
 *
 * ------------------------------------------------------------------
 * 移行元の視差効果は入れない
 * ------------------------------------------------------------------
 * 移行元は帯に js-parallax を掛けてスクロール中に写真を動かす。テーマにこの処理
 * は無く、本 Task では入れない（司令塔の判断）。静止した状態の見た目は帯・写真・
 * 文字色で移行元と一致する。
 *
 * ------------------------------------------------------------------
 * 船橋店だけ写真が違う（Task #3901 で写した）
 * ------------------------------------------------------------------
 * 移行元は船橋店だけ帯の写真を差し替える（style_area1.css:834 と sp/…:872 の
 * .page-branch-funabashi .title-01）。指定はすぐ下の節にある。
 *
 * 🚨 **body のクラスを増やす作りは要らなかった。**移行してきた本文が
 * `div.page-branch.page-branch-<店舗>` をそのまま持っており、このファイルは
 * 既に別の箇所（.page-branch-sukiyabashi .leadcopy-shop-name）で同じ目印を
 * 使っている。起票時の見立て（body のクラスが要る）は誤りだった。
 * ============================================================== */

/* 帯そのもの。移行元は縦積みの中央寄せで、写真を幅いっぱいに合わせて敷く
   （background-size: 100% auto）。上下の外余白は持たない. */
body.pa-profile-legacy-compat .pa-branch__content .title-01:not(.title-01--nobg) {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 400px;
	margin-block: 0;
	background-image: url("../branch/images/area1/bg_ttl01.jpg?ver=10381b4586fb");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	font-feature-settings: "palt";
}

/* 写真の地を持たない見出しの字詰め（Bug #9209）。移行元は帯の有無に関係なく、すべての
   `.page-branch .title-01` に `font-feature-settings: "palt"` を与え、子の `h2.title-01-jp` が継ぐ
   （パソコン版 `branch/css/style_area1.css` の 808 行の塊・携帯版 `sp/branch/css/style_area1.css` の 845 行）.
   上の帯の規則は `:not(.title-01--nobg)` で絞るので、地を持たない見出しには palt が当たっていなかった.
   移行元のパソコン版で地を持たない見出しは、大宮・船橋・京都・神戸の最初の見出し 4 個だけである.
   幅を問わず効く規則なので、`@media` の外に置く. */
body.pa-profile-legacy-compat .pa-branch__content .title-01.title-01--nobg {
	font-feature-settings: "palt";
}

/* 移行元 .page-branch の overflow-x: hidden は、帯を画面の幅まで広げると左右を
   切り落としてしまう。帯を持つページだけ外す。横方向のはみ出しを抑える役目は、
   すぐ下の body 側の overflow-x: clip が引き継ぐ. */
body.pa-profile-legacy-compat .pa-branch__content .page-branch:has(.title-01:not(.title-01--nobg)) {
	overflow-x: visible;
}

body.pa-profile-legacy-compat:has(.pa-branch__content .title-01:not(.title-01--nobg)) {
	overflow-x: clip;
}

/* 帯の中の文字。移行元は英字を濃い金（#dfbf29）、日本語を白抜き（#fff）にする。
   テーマの既定はどちらも金茶（#a3762b）で、写真の上では読みにくい。文字色と帯は
   ひと組で移す差である. */
body.pa-profile-legacy-compat .pa-branch__content .title-01:not(.title-01--nobg) .title-01-en {
	color: #dfbf29;
}

/* 下罫線を外すのは、テーマが本文の h2 に金色の線を引いているためである（この
   ファイルの「見出し（h2〜h6）」の .entry-content h2。太さ 2px + 下の内余白
   10px）。帯の中の見出しもこの h2 に当たるので、そのままだと写真の上を金色の線
   が横切る。移行元の帯の見出しに下罫線は無く、線は幅 60px の短い棒
   （.title-01-jp:after・テーマにも在る）だけである。帯の外の見出し（地の絵なし
   版・ほかのページ）の罫線はそのまま残す. */
body.pa-profile-legacy-compat .pa-branch__content .title-01:not(.title-01--nobg) .title-01-jp {
	padding-bottom: 0;
	border-bottom: 0;
	color: #fff;
}

/* 見出しの下の短い棒（幅 60px）の色。移行元は明るい金（#dfbf29）で、テーマの
   既定は濃い金茶（#a3762b）である。白い地では両方とも見えるが、写真の地では
   濃い金茶がほとんど沈む。帯の中だけ移行元の色へ合わせる. */
body.pa-profile-legacy-compat .pa-branch__content .title-01:not(.title-01--nobg) .title-01-jp::after {
	border-bottom-color: #dfbf29;
}

/* ==============================================================
 * 移行してきた本文（新デザイン 4 店舗）
 * 写し元: public/branch/assets/css/style.css
 * 移行元は html の基準を 10px に置いた rem で書いているため、px へ換算して写した
 * （例: 2.4rem は 24px）。
 * ============================================================== */

/* ベージュの地色の器（写し 156〜159 行）。

   🚨 内余白は**下だけ**である（Issue #2707 で直した）。もとはテーマの
   `--pa-space-md` を上下へ入れていたので、幅 1440px で上に 60px 余分に空き、
   **この器の中の区画 4 がまとめて 60px 下がっていた**（下も 60px 対 80px で
   20px 足りなかった）。地色は移行元と同じ #fff6ec に解けているのでそのまま. */
.pa-branch__content .content-beige-bg {
	padding: 0 0 clamp(64px, 55.7px + 2.21vw, 80px);
	background-color: var(--pa-color-surface-muted);
}

/* 見出しの色（Bug #3230）。移行元は変数 --color-h-text を当てており、実値は
   #231815（黒）である（写し public/branch/assets/css/style.css 6 行と 233〜300 行）。
   ここはテーマのトークン --pa-color-heading（#474747）を当てていたため、
   2026-09-04 に本番と突き合わせたとき、文言で突き合った見出し 39 件が 39 件とも
   色違いになっていた。移行元の実値へ入れ替える。

   共通トークンを使わず実値を直書きするのは、この色を使うのが新デザインの店舗
   ページの中だけで、共通トークンに同じ色が無いためである（ページの中の飛び先の
   帯の地色と同じ考え方）. */
.pa-branch__content .c-heading-l {
	margin: 0;
	color: #231815;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-align: center;
}

.pa-branch__content .c-heading-m {
	margin: 0 0 20px;
	color: #231815;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
}

/* 🚨 6 段は 1 段ずつ分けて書く（Bug #3268）。2 段ずつまとめると、まとめた側の値が
   移行元とずれる。移行元の 750px 以上は s が 2.4rem = 24px・ss が 2.2rem = 22px・
   xs が 2.2rem = 22px・xxs が 1.8rem = 18px である（記録版 283〜300 行）。
   まとめていたときは s が 22px・xs が 18px で、移行元より 2px と 4px 小さかった。
   いま `.c-heading-s` と `.c-heading-xs` は新デザインの 4 店の本文に 1 件も無いので
   画面には出ないが、写しに定義がある以上、移行元どおりの値を書いておく. */
.pa-branch__content .c-heading-s {
	margin: 0 0 16px;
	color: #231815;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
}

.pa-branch__content .c-heading-ss {
	margin: 0 0 16px;
	color: #231815;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
}

.pa-branch__content .c-heading-xs {
	margin: 0 0 12px;
	color: #231815;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
}

.pa-branch__content .c-heading-xxs {
	margin: 0 0 12px;
	color: #231815;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
}

/* 記事用の見出しの飾りを外す（Bug #3268）。

   店舗の本文は `.entry-content` の中にあるため、記事・固定ページ用の見出しの飾りが
   当たっている。移行元の新デザインの見出しはどれも内余白を持たないのに、dev では
   次の 2 つが漏れていた（当たっている規則を実物で列挙して確認）。

     .entry-content h2 { padding-bottom: 10px; border-bottom: 2px solid … }  → .c-heading-l
     .entry-content h3 { padding-left: 12px;   border-left: 4px solid … }    → .c-heading-m / -ss

   実測（幅 375px の銀座店・移行元はいずれも内余白 0・罫線 0）:

     .c-heading-l   内余白 0 0 10px 0 / 下の罫線 2px
     .c-heading-m   内余白 0 0 0 12px / 左の罫線 4px
     .pi-name       内余白 0 0 0 12px / 左の罫線 4px

   🚨 **罫線も残る。**「あとに書かれた `.entry-content :is(h2, h3, …) { border: 0 }` が
   打ち消している」と一度書いたが、その規則は `:has(> img:only-child)`（中身が画像 1 枚
   だけの見出し）に限られており、**文字の見出しには当たらない**。
   上の罫線だけを測って「罫線なし」と読んだのが誤りだった（h2 は「下」・h3 は「左」に付く）。

   🚨 **当て先はクラスの列挙でなく h1〜h6 にする。**`.c-heading-*` の 6 つに絞ると、
   同じページの別の見出し（`.cta__title` / `.profile-name` / `.card-title` /
   `.spot-card-title` / `.pi-name`）に飾りが残る（実測で 8 件）。
   移行元の初期化は `h1〜h6` の内余白と罫線を全部 0 にしているので、要素で当てるほうが
   移行元の姿に合う。個別に持たせる内余白（`.pi-title-area` の 15px 等）は親側に
   付いているので影響しない。

   詳細度は要素 1 つ分を含むクラス 2 つ（0, 2, 1）で、`.entry-content h2`（0, 1, 1）に勝つ。
   字間はここで触らない（`.c-heading-*` は移行元も 0.04em を持ち、テーマの既存の指定が
   その値を入れている。移行元が `normal` の見出しは、その見出しの規則で個別に戻す）. */
.pa-branch__content .page-branch :is(h1, h2, h3, h4, h5, h6) {
	padding: 0;
	border: 0;
}

/* 金色（--color-brown = #996a1a）を当てる見出し。移行元は次の 3 か所で使う。
     .intro-title      冒頭の惹句の題名（写し 679〜685 行）
     .content-title    成婚コンシェルジュの小見出し 4 件（同 1368〜1372 行）
     .spot-title       デートスポットの題名（同 1646〜1649 行）
   2026-09-04 の実測では、この 9 件が黒（#231815）のままだった. */
.pa-branch__content .page-branch .intro-title,
.pa-branch__content .page-branch .content-title,
.pa-branch__content .page-branch .spot-title {
	color: #996a1a;
}

/* ✅ **白の 1 系統は Task #3266 で写した（2026-09-04）。**移行元は写真の帯
   （`.c-parallax`）の中の `.c-heading-l` だけを白にし、`text-shadow` を添える
   （写し `public/branch/assets/css/style.css` 2650〜2655 行）。帯の絵 8 点
   （`bg-parallax-{data,cc,course,visit}_{sp,pc}.webp`）は、**投入が CSS の背景画像を
   1 点も取り込まない**ため本番から取り寄せてテーマ資産（`assets/branch/images/`）へ置いた。
   実装はこのファイルの「パララックスの帯（Task #3266）」の節にある。
   当てているのは新デザインの 4 店（銀座・新宿・静岡・岡山）だけで、
   ここの黒（#231815）と下の金（#996a1a）はそのまま生きている。

   🚨 **写真と白い字は必ずセットにする。**写真が無いまま色だけ白にすると、
   地色（`#fff6ec` のベージュ）の上で見出しが読めなくなる（帯を撮影した陰性対照で実証。
   写真ありは 98〜160KB・写真なしは 10〜22KB で、後者は字が地色に沈む）。
   Bug #3230 でこの 1 系統だけを見送ったのはこの理由である. */

/* パソコン幅で左に寄せる見出し。移行元は写真と横に並べる 2 列の左の列で使う
   （写し 679〜685 行の .intro-title と 909〜915 行の .feature-title）。
   携帯幅は中央寄せのままである. */
@media (min-width: 750px) {
	.pa-branch__content .page-branch .intro-title,
	.pa-branch__content .page-branch .feature-title {
		text-align: left;
	}
}

/* --- 新デザインの土台（Task #3409） ------------------------------
   写し元: public/branch/assets/css/style.css 146〜229 行。

   移行元の店舗専用 CSS のうち、幅で囲っていない `.page-branch { }` の土台に
   あって、テーマにまだ 1 件も無い指定である。区画をまたいで使われるので、
   区画ごとの直しより先にここへ置く（班をまたいで同じ行を 2 度書かないための
   取り決め）。ここで書くのは、この Task の区画 1 で要るものと、ほかの班の
   区画 6〜9 で要る 8 個（`content-white-bg` と横送りまわり 7 個）である。
   `intro-section` `info-section` `campaign` `c-table-td` は、それぞれの区画の
   Task で書く。

   `content-white-bg` はいま見た目を変えない（テーマの body が白なので、
   透明のままでも白く見える）。ほかの地色が入ったときに区画の白が消えるのを
   防ぐため、移行元どおり明示しておく. */
.pa-branch__content .page-branch .content-white-bg {
	background: #fff;
}

/* 横送り（Slick）のレールと札。移行元 170〜177 行。移行元は札の高さを
   `height: auto !important` で揃える。`!important` は移行元の写しそのままで、
   横送りの部品が要素へ直接書き込む inline の高さに勝つために要る。

   この 2 本は、いまの dev ではどのページにも当たらない。`.slick-track` と
   `.slick-slide` を作るのはテーマの assets/js/legacy-slider.js だけで、
   その JS が配られるのは本文が `slider` を単独のクラスとして持つページに
   限られる（inc/legacy-slider.php の pa_has_legacy_slider）。移行元の
   店舗ページ 148 本を調べたところ、その条件に当たるものは 0 本だった。
   区画 6〜9 の横送り（.js-slick-slider-voice ほか）を組み立てたときに
   初めて効き始める規則である。

   それでも器に `.pa-profile-new` を足してあるのは、当たる相手が「動いて
   初めて出る名前」で、HTML を読んでも将来どのページに出るか分からない
   ためである。旧デザインの店舗ページも `.page-branch` と
   `.pa-branch__content` を持つ（dev の /branch/branch-tohoku-sendai/ を
   幅 1440px で実測。body は `.pa-profile-legacy-compat` で、
   `.page-branch` と `.pa-branch__content` が 1 個ずつ）。器を
   `.pa-branch__content .page-branch` だけにすると、横送りを組み立てた
   時点で旧デザインの 32 ページへ漏れる。新デザインの 4 店舗に絞る目印が
   body の `.pa-profile-new` である. */
.pa-profile-new .pa-branch__content .page-branch .slick-track {
	display: flex;
}

.pa-profile-new .pa-branch__content .page-branch .slick-slide {
	height: auto !important;
}

/* 横送りの矢印。移行元 178〜219 行。矢印は SVG で、丸は塗らず線だけを引く. */
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .arrow-circle {
	fill: none;
}

/*
 * 🚨 **線には `fill: none` が要る（Bug #5392）。**矢印の `d` は 3 点を結ぶ開いた
 * 「く」の字で、**閉じた形ではない。**`fill` を書かないと SVG の既定（`fill: black`）が
 * 効き、**線が黒い三角に塗り潰される。**ユーザーがパソコン幅の銀座店で
 * 「黒い小さな三角」と指摘したのはこれである（2026-09-09 19:1x）。
 *
 * 移行元はサイト共通 CSS の囲いの外で `.arrow-path { stroke: #fff; fill: none }` を
 * 与えている（本番 `/assets/css/style.css` の 5429 行・2026-09-09 19:29:54 JST 取得）。
 * **線の色だけを写すと塗りが落ちる。**
 *
 * 🚨 **両側の svg の中身は 1 文字も違わない**（`viewBox="0 0 60 60"`・同じ `d`・
 * `stroke-width="3"`）。器も絵も 60 × 60 で、位置も `-20px` で一致していた。
 * **箱がそろっていても塗り 1 つで見え方はまるで変わる。**[#5280](Bug) を
 * 「箱が一致だから差なし」で閉じたときに、この差を見落とした.
 */
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .arrow-path {
	fill: none;
	stroke: #c9c9c9;
}

.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow,
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow svg {
	width: 60px;
	height: 60px;
}

.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow.-prev {
	left: -20px;
}

.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow.-next {
	right: -20px;
}

/* 移行元 220〜227 行。矢印を札の外へ出すための位置の基準。

   🚨 **お客様の声の器（`.js-slick-slider-voice`）をここへ足さない（Task #5436）。**
   移行元の店舗 CSS はこの 1 本だけ当たり先を 3 器に絞っている
   （本番 `/branch/assets/css/style.css`・2026-09-09 12:54 取得で確認）。足すと矢印の
   位置の基準が「囲み」へ移り、`left: calc(50% - 16rem - 4.1rem)` の 50% が
   **囲みの幅の半分**になって、移行元（基準は別の祖先）から離れる。丸い印の `bottom` の
   基準も同時に入れ替わる。**この決まりは検査でも見張っている**
   （tests-retired/pa-cms-branch-voice-slider）. */
.pa-branch__content .page-branch :is(.js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) {
	position: relative;
}

/* 送り側の器（写し 1580〜1589 行）。矢印は `position: absolute` で器の外へ 20px
   出るので、位置の基準になる先祖が要る。移行元はこの器に `position: relative` を
   全幅で与え、750px 以上でだけ幅（`calc(100% - 35% - 4rem)`）と切り取り
   （`overflow: clip`）を足す。**幅と切り取りは区画 7・8 の 2 列組みと同じ Task で
   書く**ので、ここでは位置の基準だけを置く. */
.pa-branch__content .page-branch .slider-area {
	position: relative;
}

/* 矢印の置き方（Task #3549）。移行元はサイト共通 CSS（`public/assets/css/style.css`）で
   `.meet__slider__arrow { position: absolute; top: 50%; transform: translateY(-50%);
   z-index: 10; cursor: pointer }` を与えており、**上の 20500 行からの写しはこの置き方を
   持っていない**。無いと矢印が本文の流れの中に 60px の絵として並ぶ。
   移行元の同じ場所にある `color: var(--main-color)` は写していない。svg の丸は
   `fill: none` かつ `stroke: none` で描かれず、線は `.arrow-path` が色を持つため、
   `color` は 1px も見た目に出ないことを実測で確かめた. */
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
}

/* 🚨 前へ送る矢印は、**同じ svg を 180 度回して**作る（移行元のサイト共通 CSS）。
   矢印の絵は 1 種類しかないので、これが無いと両方の矢印が同じ向きを指す. */
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow.-prev svg {
	transform: rotate(180deg);
}

/* 🚨 デートスポットの矢印の線だけ金色である。移行元は店舗 CSS の 215〜217 行で
   3 器へ `#c9c9c9` を当てたうえで、1667〜1669 行の
   `.spot-section .slider-area .arrow-path { stroke: var(--color-gold) }` が**勝つ**。
   上の 20504 行の写しは負けている側の 1 本だけを写しているため、
   実測（移行元 `rgb(187, 141, 56)`）と食い違っていた。
   移行元の CSS に書いてある宣言をそのまま期待値にしない、の実例である. */
.pa-branch__content .page-branch .spot-section .slider-area .arrow-path {
	stroke: #bb8d38;
}

/* ============================================================
 * ご利用者様の声の札と区画（Task #5435・親 Bug #5427）
 *
 * 写し元: 移行元の本番の店舗 CSS `/branch/assets/css/style.css`
 * （2026-09-09 19:29:49 JST に 1 回取得・応答 200・66,288 バイト。控えは
 * `pa-verify-assets/legacy-live-0909/ginza/branch_assets_css_style.css`）の
 * `& .testimonial-card` の節（2,569 字・132 行・当たり先 22 個・宣言 66 個）と
 * `& .testimonial-section` の節（451 字）。**入れ子記法なので平らに開いて写す。**
 *
 * 🚨 **dev はこの節を 1 行も持っていなかった（Bug #5427）。**そのため札の幅が
 * 決まらず、静岡店で **6 枚が 1440px 幅で縦に積まれ**、区画の高さが移行元の
 * 666.14px に対し **2,987.63px**（+2,321.49px）になっていた。
 *
 * 🚨 **この Task を入れても札は縦積みのままである。**横に並べるのは組み立て
 * （`assets/js/branch-slider.js` の `SLIDERS` へ 1 件足す。Task #5436）の役目で、
 * ここは**札の幅と見た目だけ**を移行元にそろえる。
 *
 * 🚨 **出るのは静岡店だけである。**移行元は建て替え後 6 店のうち 5 店でこの区画を
 * `<!-- -->` で囲って隠している（Task #4955 が Q-15 として事業部へ確認中）。
 * **静岡だけを名指しにする指定は書かない**（移行元が他店の注釈を外したときに
 * そのまま追随できるようにするため）。
 *
 * 【`rem` の読み替え】移行元は `html { font-size: 10px }`（750px 以上）と
 * `html { font-size: 2.5445292621vw }`（749px 以下）を持つので、`1rem` の実寸が
 * 幅で変わる。**そこで区画に基準を 1 つ置き、`calc()` で掛ける。**先例は
 * `assets/experience/css/introduce-sections.css` の `--pa-introduce-rem` と、
 * このファイルの `--pa-branch-map-px` である。**同じ値を 2 つの帯へ二重に書くより
 * 見落としが少なく、基準そのものを検査できる。**
 *
 * 【色の読み替え】移行元の変数はテーマの持ち札へ置き換える。
 *
 *   | 移行元 | 値 | dev |
 *   |--------|-----|-----|
 *   | `--main-color` | `#f54851` | `var(--pa-palette-red)` |
 *   | `--sub-color` | `#009bd3` | `var(--pa-palette-blue)` |
 *   | `--color-text` | `#474747` | 直値（テーマの本文色と同じだが受け継ぎに頼らない） |
 *   | `--color-star-off` | `#dadce0` | 直値 |
 *   | `--color-star-on` | `#fabb05` | 直値 |
 *   | `--radius-s` | `clamp(0.5rem, 1.5vw, 1rem)` | 下の `--pa-branch-voice-radius` |
 * ============================================================ */

/* 区画の基準。**`rem` の実寸と角の丸みをここで 1 か所に決める。** */
.pa-branch__content .page-branch .testimonial-section {
	--pa-branch-voice-rem: 10px;
	--pa-branch-voice-radius: clamp(5px, 1.5vw, 10px);
}

@media (max-width: 749px) {
	.pa-branch__content .page-branch .testimonial-section {
		--pa-branch-voice-rem: 2.5445292621vw;
		--pa-branch-voice-radius: clamp(calc(0.5 * 2.5445292621vw), 1.5vw, calc(1 * 2.5445292621vw));
	}
}

/* 区画の見出しの下内余白（写し元 `& .c-heading-l` の `clamp(3.2rem, 2.79rem + 1.1vw, 4rem)`）。
   🚨 **`rem` を `px` に焼き直してはいけない。**移行元の根の字は 750px 以上が 10px、
   749px 以下が `2.5445292621vw`（375px で 9.5420px）である。`1rem = 10px` で焼くと
   749px 以下だけ 1.048 倍に膨らみ、375px で 32.025px 対 30.747px の 1.28px 差になって
   区画の高さがそのままずれた（Bug #5527）。`--pa-branch-voice-rem` は素の側と
   749px 以下の両方で宣言済みなので、帯を足さずにこの 1 宣言で両幅とも移行元に一致する. */
.pa-branch__content .page-branch .testimonial-section .c-heading-l {
	padding-bottom: clamp(
		calc(3.2 * var(--pa-branch-voice-rem)),
		calc(2.79 * var(--pa-branch-voice-rem) + 1.1vw),
		calc(4 * var(--pa-branch-voice-rem))
	);
}

/* 札そのもの（写し元 `& .testimonial-card` の 9 宣言）。
   🚨 **`width` が肝である。**これが無いと札が器の幅いっぱいに広がり、
   組み立てても横に並ばない（移行元は `32rem` = 750px 以上で 320px）. */
.pa-branch__content .page-branch .testimonial-card {
	display: flex;
	flex-direction: column;
	gap: calc(0.8 * var(--pa-branch-voice-rem));
	width: calc(32 * var(--pa-branch-voice-rem));
	height: 100%;
	margin: 0 calc(2.8 * var(--pa-branch-voice-rem)) 0 calc(2.4 * var(--pa-branch-voice-rem));
	padding: clamp(calc(1.6 * var(--pa-branch-voice-rem)), 4vw, calc(2.4 * var(--pa-branch-voice-rem)));
	border-radius: var(--pa-branch-voice-radius);
	background: #ffffff;
	color: #474747;
}

/* 1. 利用者の情報の頭（写し元 `& .tc-header` ほか）. */
.pa-branch__content .page-branch .testimonial-card .tc-header {
	display: flex;
	align-items: center;
	gap: calc(1 * var(--pa-branch-voice-rem));
}

/* 🚨 **絵の大きさは移行元も直値の px である**（`rem` ではない）。幅で変えない. */
.pa-branch__content .page-branch .testimonial-card .tc-user-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
}

.pa-branch__content .page-branch .testimonial-card .tc-user-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pa-branch__content .page-branch .testimonial-card .tc-user-info {
	display: flex;
	flex-direction: column;
	gap: calc(0.3 * var(--pa-branch-voice-rem));
}

/* 🚨 **字間を戻す 1 宣言が要る（Bug #5489）。**この見出しは `h3` で `.entry-content` の中に
   在るため、`.entry-content :is(h2, h3, h4, h5, h6)` の `letter-spacing: 0.05em` を受け取る。
   移行元はこの見出しに字間を与えない。

   🚨 **この差は箱の大きさに出ない。**この見出しは縦並びの箱（`.tc-user-info` の
   `flex-direction: column`）の中で**幅いっぱいに伸びる**ので、字が広がっても
   両側とも 190.59px で一致して見える。**中の札（`span.tag`。中身なりの幅）で測って初めて
   差が出た。**

   実測（2026-09-10・静岡店。移行元は写しを配って読んだ）:

   | 幅 | 移行元の字間 | 打ち消す前の dev | 「ご成婚退会」5 字 | 「女性」2 字 |
   |---|---|---|---|---|
   | 1440px | `normal` | `1px` | 100.00 → **105.00** | 40.00 → **42.00** |
   | 375px | `normal` | `0.954198px` | 95.41 → **100.17** | 38.17 → **40.08** |

   字の大きさが `2rem` なので `0.05em` = 1px（375px では 0.954198px）。5 字 × 1px = +5.00 で
   実測と合う。

   同じ札の `h4.reply-name` は外余白も一緒に漏れており、[Bug #5475](Bug) で 2 宣言を足した。
   **こちらは Task #5435 で `margin: 0` を写してあるので、足すのは字間だけである.** */
.pa-branch__content .page-branch .testimonial-card .tc-user-tags {
	display: flex;
	gap: calc(0.8 * var(--pa-branch-voice-rem));
	margin: 0;
	font-size: calc(2 * var(--pa-branch-voice-rem));
	font-weight: bold;
	letter-spacing: normal;
}

.pa-branch__content .page-branch .testimonial-card .tc-user-meta {
	font-size: calc(1.4 * var(--pa-branch-voice-rem));
}

/* 女性の札と男性の札で、影と札の文字の色を出し分ける（写し元
   `&.testimonial-woman` / `&.testimonial-man`）。移行元の `--main-color` は
   `#f54851`、`--sub-color` は `#009bd3` で、どちらもテーマが持ち札にしている. */
.pa-branch__content .page-branch .testimonial-card.testimonial-woman {
	box-shadow: 4px 4px 0 var(--pa-palette-red);
}

.pa-branch__content .page-branch .testimonial-card.testimonial-woman .tc-user-tags {
	color: var(--pa-palette-red);
}

.pa-branch__content .page-branch .testimonial-card.testimonial-man {
	box-shadow: 4px 4px 0 var(--pa-palette-blue);
}

.pa-branch__content .page-branch .testimonial-card.testimonial-man .tc-user-tags {
	color: var(--pa-palette-blue);
}

/* 2. 満足度の星（写し元 `& .tc-rating`）. */
.pa-branch__content .page-branch .testimonial-card .tc-rating {
	display: flex;
	align-items: center;
	gap: calc(0.5 * var(--pa-branch-voice-rem));
	font-size: calc(1.4 * var(--pa-branch-voice-rem));
	font-weight: bold;
}

.pa-branch__content .page-branch .testimonial-card .tc-rating .rating-label {
	padding-top: calc(0.2 * var(--pa-branch-voice-rem));
	font-weight: normal;
}

.pa-branch__content .page-branch .testimonial-card .tc-rating .rating-stars {
	display: flex;
	gap: calc(0.1 * var(--pa-branch-voice-rem));
	font-size: calc(2 * var(--pa-branch-voice-rem));
	letter-spacing: 0.1em;
}

/* 🚨 **星は `i` 要素で、移行元が斜体を立体へ戻している**（`font-style: normal`）。
   これが無いと星が傾く. */
.pa-branch__content .page-branch .testimonial-card .tc-rating .rating-stars .star {
	color: #dadce0;
	font-style: normal;
}

.pa-branch__content .page-branch .testimonial-card .tc-rating .rating-stars .star.active {
	color: #fabb05;
}

/* 3. 本文（写し元 `& .tc-comment`）. */
.pa-branch__content .page-branch .testimonial-card .tc-comment {
	padding-bottom: calc(2.4 * var(--pa-branch-voice-rem));
	font-size: calc(1.6 * var(--pa-branch-voice-rem));
	line-height: 1.8;
}

/* 4. 成婚コンシェルジュからの返信（写し元 `& .tc-reply`）。
   🚨 **下の外余白 `auto` は札の高さが余ったときのためである**（移行元の注釈に
   「カードの高さが余った場合用」と書かれている）。消すと返信が上へ寄る. */
.pa-branch__content .page-branch .testimonial-card .tc-reply {
	display: flex;
	flex-direction: column;
	gap: calc(1 * var(--pa-branch-voice-rem));
	margin-bottom: auto;
	padding-left: clamp(calc(1 * var(--pa-branch-voice-rem)), 3vw, calc(1.5 * var(--pa-branch-voice-rem)));
	border-left: 2px solid #d4d4d4;
}

.pa-branch__content .page-branch .testimonial-card .tc-reply .tc-reply-header {
	display: flex;
	align-items: center;
	gap: calc(0.8 * var(--pa-branch-voice-rem));
}

.pa-branch__content .page-branch .testimonial-card .tc-reply .reply-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

/* 🚨 **テーマの記事見出しの既定を打ち消す 2 宣言が要る（Bug #5475）。**この見出しは `h4` で
   `.entry-content` の中に在るため、`.entry-content :is(h2, h3, h4, h5, h6)` の
   `margin: var(--pa-article-block-gap) 0 20px` と `letter-spacing: 0.05em` を受け取る。

   移行元はサイト共通 CSS の初期化がすべての見出しの外余白を 0 にしており、字間も与えない。
   **移行元の店舗 CSS には `.reply-name` の外余白が書かれていないので、店舗 CSS だけを読むと
   気づけない。**

   打ち消さないと、実測で次のようにずれる（2026-09-10・静岡店）。

   | 見るところ | 移行元 | 打ち消す前の dev |
   |---|---|---|
   | 返信の見出し（`.tc-reply-header`）の高さ | 40px（絵の高さで決まる） | **91px** |
   | この見出しの幅 | 154.00px | **161.70px** |
   | 区画の高さ（幅 1440px） | 666.14px | **717.14px** |

   🚨 **横並びの箱（`display: flex`）では上下の外余白がそのまま高さに足される。**
   50 ＋ 21 ＋ 20 = 91 で実測と合う。幅の差 7.70px も
   「梅原コンシェルジュより」11 字 × 0.05em × 14px で説明できる。

   同じ札の `h3.tc-user-tags` には既に `margin: 0` が在る（移行元が明示しているため写した）。
   **二重に書かないこと.** */
.pa-branch__content .page-branch .testimonial-card .tc-reply .reply-name {
	margin: 0;
	font-size: calc(1.4 * var(--pa-branch-voice-rem));
	font-weight: bold;
	letter-spacing: normal;
}

.pa-branch__content .page-branch .testimonial-card .tc-reply .tc-reply-text {
	font-size: calc(1.6 * var(--pa-branch-voice-rem));
	line-height: 1.8;
}

/*
 * この区画の矢印の位置（写し元 `& .testimonial-section` の `& .meet__slider__arrow`）。
 *
 * 🚨 **3 器（体験談・成婚ストーリー・デートスポット）の `-20px` とは別の値である。**
 * 移行元は 750px 以上でこの区画だけ器の内側へ寄せる
 * （`left: calc(50% - 16rem - 4.1rem)` / `right: calc(50% - 16rem - 4.35rem)`）。
 *
 * 🚨 **上の 4 器の規則と特定度が同じ**（どちらも組み札 5 つ）なので、**必ずあとに置く。**
 * 先に置くと 3 器の側が勝ち、この区画の矢印が器の外へ出たままになる。
 *
 * 🚨 **749px 以下は上の 4 器の規則（`calc(-0.8 * 2.5445292621vw)`）に任せる。**
 * 移行元もこの区画の上書きを 750px 以上だけに掛けている.
 */
@media (min-width: 750px) {
	.pa-branch__content .page-branch .testimonial-section .meet__slider__arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}

	.pa-branch__content .page-branch .testimonial-section .meet__slider__arrow.-prev {
		left: calc(50% - 160px - 41px);
	}

	.pa-branch__content .page-branch .testimonial-section .meet__slider__arrow.-next {
		right: calc(50% - 160px - 43.5px);
	}
}

/* 🚨 **お客様の声の囲みだけ、位置の基準を持たせる（Bug #5501）。**送りボタンと丸い印は
   `position: absolute` だが、**この器の系統には位置を持つ祖先が 1 つも無い**（器へ
   `position: relative` を与える上の規則は 3 器に絞ってあり、移行元もそうしている）。
   基準が画面そのものになると、`top: 50%` と `bottom` が**区画ではなく画面の高さ**に対して
   解かれ、実測で**区画から 7,000〜8,500px 上**へ飛んでいた（幅 1440px でも 375px でも）。

   🚨 **基準が外に在る `absolute` は、途中の器の `overflow` では切られない。**
   `.pa-branch__content .page-branch` の `overflow-x: hidden` も
   `.site-main:has(…)` の `overflow-x: clip` も基準より内側なので効かず、
   送りボタンの右端 382.63px がそのまま送り幅 383px（画面 375px）になっていた。

   🚨 **囲みを基準にしても横位置は動かない。**囲みは両幅とも「画面と同じ幅・左端 0」なので、
   `calc(50% - 16rem - 4.1rem)` は 1440px で 519.00、`-0.8rem` は 375px で −7.62 のままである
   （実測で確認）。縦は移行元と一致する: 1440px の送りボタンは
   「囲みの高さ 666.14 の半分 − 矢印の半分 30」= 303.07 で、移行元の実測と同値。

   **3 器へ広げないこと。**あちらは器そのものが基準で（750px 以上）、携帯幅では
   `.slider-area` が基準になる。ここを広げると両方の基準が二重になる. */
.pa-branch__content .page-branch .pa-branch-slider.js-slick-slider-voice {
	position: relative;
}

/* 横に送る仕組み（Task #3549）。組み立て後の器（`.slick-initialized`）そのものが
   横にスクロールする箱になる。`display: flex` は上の `.slick-track` の写しが持つ。
   🚨 `overflow` は `display: flex` と**同じ要素**に掛かる必要があるので、この 2 本を
   別の PR に分けない。先例はしあわせレポートの一覧（このファイルの
   `.experience__slider.is-enhanced` の節）である。
   移行元は帯を `transform` で動かすが、テーマは横スクロールと吸着で送る作りに
   そろえてある（テーマの既存 3 本と同じ）。見え方は同じで、指で送れる点も同じ. */
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot).slick-initialized {
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	/* 送りのつまみは出さない（移行元も出さない）. */
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot).slick-initialized::-webkit-scrollbar {
	display: none;
}

/* 札。移行元は 1080px 以上で中身なりの幅（`variableWidth: true`）、
   1080px 未満で器の幅いっぱい（`variableWidth: false` + `centerPadding: 0px`）である。
   ここでは土台を「器の幅いっぱい」にし、1080px 以上で中身なりへ切り替える。

   🚨 「器の幅いっぱい」は**窓の幅そのものではなく、窓の幅から札の左右の外余白を
   引いた値**である。移行元の slick は札そのものへ幅を書き込むので、実測すると
   窓 375px に対して札 329.198px（= 375 − 2 × 22.9008）、窓 545px に対して
   札 497px（= 545 − 2 × 24）になる。3 つの横送りとも札の左右の外余白は
   移行元の `margin: 0 2.4rem` で同じなので、1 本の式で足りる。
   `flex-basis` に書くのは、外余白が基準の外に置かれるためである
   （`width` に書いても `flex-basis` が勝って効かない）。
   Task #3549 では札の意匠がまだ無く外余白も無かったため、この差が出なかった. */
.pa-branch__content .page-branch :is(.js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot).slick-initialized > .slick-slide {
	flex: 0 0 calc(100% - 48px);
	scroll-snap-align: center;
}

/* 🚨 **お客様の声の札だけ、幅の切り替え方が違う（Task #5436）。**移行元はこの器へ
   `variableWidth: true` を渡したまま、749px 以下の段でだけ `false` へ落とす。つまり
   **750px 以上は中身なりの幅**（区画の意匠が持つ `32rem` = 320px）である。上の 3 器は
   1080px を境に切り替えるので、同じ節へ混ぜられない。
   `flex: 0 0 auto` は「幅は札の `width` に任せる」を表す。
   当たり先を `.slick-initialized` で絞るのは、組み立てのときに囲み（`.pa-branch-slider`）
   へ同じ js- の目印を**写す**ためである（囲みには `.slick-initialized` が付かない）. */
.pa-branch__content .page-branch .js-slick-slider-voice.slick-initialized > .slick-slide {
	flex: 0 0 auto;
	scroll-snap-align: center;
}

/* 🚨 横送りの中の絵は塊にする。移行元のサイト共通 CSS に slick 自身の
   `.slick-slide img { display: block }` が在り、これが無いと絵が行の中に置かれて
   下に字の分の空きが付く（成婚ストーリーの札の写真で `display` が
   移行元 block 対 dev inline になっていた。CDP で当たり先を確かめた）。
   写しの範囲を横送りの 4 つに絞る（`.slick-slide` は共通の目印のため。
   お客様の声を足したのは Task #5436）. */
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .slick-slide img {
	display: block;
}

/* 🚨 丸い印を持つ横送りは、器の下に 30px の余白を持つ。移行元のサイト共通 CSS に
   slick 自身の `.slick-dotted.slick-slider { margin-bottom: 30px }` が在り、
   これが無いとデートスポットの区画が 30px 低くなる（幅 320〜900px で実測。
   1080px 以上は題の側のほうが高いので、この 30px は区画の高さに出ない）。
   目印は 2 つとも組み立てのときに付く（`assets/js/branch-slider.js`）。
   写しの範囲を横送りの 4 つに絞る（`.slick-slider` は共通の目印のため。
   お客様の声を足したのは Task #5436）. */
.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot).slick-dotted.slick-slider {
	margin-bottom: 30px;
}

/* 丸い印（送りの点）。移行元のサイト共通 CSS の slick の既定を、実測した姿で写す。
   1 個は 20 × 20px の箱で左右の外余白 5px、見えている丸は `button::before` の
   10 × 10px の円で、いまの位置でない丸は #d9d9d9・濃さ 1、いまの位置の丸は
   黒・濃さ 0.75 である（押しボタン自身は透明で字も 0px）.

   🚨 **`bottom` は帯で分ける（Bug #5198）。**下の 749px 以下の帯にも指定がある。
   dev は器を囲む `div.pa-branch-slider` を 1 枚差し込んでおり、**その囲みの
   `position` が幅で変わる**ため、`bottom` の基準になる箱が幅で入れ替わる。

   | 幅      | 囲みの position | 丸い印の基準            | この値 |
   |---------|-----------------|-------------------------|--------|
   | 750px〜 | relative        | 囲みそのもの            | −40px  |
   | 〜749px | **static**      | 別の祖先（.slider-area）| −10px  |

   749px 以下で `static` にしているのは**送りボタンのため**であり（移行元も器の
   `relative` は 750px 以上だけ）、戻すと送りボタンが移行元から離れる。

   **合わせる先は「器の下端から丸の上端まで 20.00px」**である（移行元はどちらの
   幅でも 20.00px。2026-09-09 14:0x に本番と dev を同じ測り方で実測）。
   🚨 **箱の境目ではなく丸そのもので合わせる。**この帯は `absolute` なので、
   上の内余白を足しても箱が上へ伸びるだけで丸は動かない。

   `padding-top` は移行元の `.slick-dots { padding-top: 1rem }` を写したもの。
   移行元の `1rem` は帯で 2 つある（750px 以上 = 10px 固定・749px 以下 =
   2.5445292621vw）ため、こちらも帯で分けている. */
.pa-branch__content .page-branch .pa-branch-slider .slick-dots {
	position: absolute;
	bottom: -40px;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	padding-top: 10px;
	list-style: none;
	text-align: center;
}

.pa-branch__content .page-branch .pa-branch-slider .slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}

.pa-branch__content .page-branch .pa-branch-slider .slick-dots li button {
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	border: 0;
	background: transparent;
	color: transparent;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
}

/* 🚨 **丸は器の左上に置く。真ん中に置いてはいけない（Bug #6045）。**
   移行元は `top: 0; left: 0` で変形を持たず、20 × 20px の押しボタンの
   **左上の 10 × 10px** を丸が占める。真ん中に置くと丸が 5px 下がり、
   **丸を囲む `.slider-area`（`overflow: clip`）の下端が丸の真ん中を通って
   下半分が消える**（ユーザー目視 2026-09-13・新デザイン 6 店のスライド 3 つとも）。

   幅 1440px の銀座店の実測（2026-09-13 03:12 JST・移行元の本番と dev を同じ台本で）。

   | | 移行元 | 直す前の dev |
   |---|---|---|
   | 丸の上端〜下端 | −5268.2 〜 −5258.2 | −5244.2 〜 −5234.2 |
   | `.slider-area` の下端（切れ目） | **−5258.2**（丸の下端と接する） | **−5239.2**（丸の真ん中） |

   `top: 0` に戻すと丸は −5249.2 〜 −5239.2 になり、切れ目 −5239.2 と接して切れない。
   🚨 **左右も戻す。**`left: 50%` のままだと丸 1 つにつき 5px 右へ寄り、丸の間隔が
   移行元と違ったままになる. */
.pa-branch__content .page-branch .pa-branch-slider .slick-dots li button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #d9d9d9;
	opacity: 1;
}

.pa-branch__content .page-branch .pa-branch-slider .slick-dots li.slick-active button::before {
	background: #000;
	opacity: 0.75;
}

/* 1080px 以上だけ、札の幅を中身なりにする（移行元 `variableWidth: true`）。
   境目 1080px は移行元の `responsive` の 1 段目で、テーマの携帯幅の境目 749px とも
   料金の区画の 920px とも違う。JavaScript 側の送りの時間の切り替えも同じ 1080px を
   読む（`assets/js/branch-slider.js`）ので、片方だけ動かさない. */
@media (min-width: 1080px) {
	.pa-branch__content .page-branch :is(.js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot).slick-initialized > .slick-slide {
		flex: 0 0 auto;
	}
}

/* --- 主役の絵（Task #3409） --------------------------------------
   写し元: public/branch/assets/css/style.css 96〜144 行（動き）と
   373〜577 行（`.main-visual`）、および移行元のサイト共通 CSS
   public/assets/css/style.css の `.mv__sales-pitch`（バッジ 2 枚）。

   直す前の実測（2026-09-04・銀座店を本番と dev で 1 回ずつ読み込んで測った）:

                              移行元 1440   dev 1440    移行元 375   dev 375
     section.main-visual 高さ     480        1,572         375         972
     .mv-container 幅・左端    1,100 / 170  1,440 / 0      375 / 0     375 / 0
     .mv-image-box 置き方       absolute     static       absolute     static
     .mv-slide 置き方・高さ   absolute/480 static/756・794 absolute/375 static/507・445
     .mv-picture 並べ方・高さ   block / 480  inline / 20  block / 375 inline / 19
     .mv-text-container       absolute flex  static block  absolute flex static block
     .mv-lead 字・太さ・色    18px/700/#333 16px/400/#474747  13.42px/700  15px/400
     .mv-title-main           block/64px/字間5.12px  inline/32px/なし
     .mv__sales-pitch 幅・置き方  721/absolute  1,440/static   347/absolute 375/static
     .js-mv-slide-1::after      白のぼかし有り     無し

   ページ全体の高さの差 +8,067px（1440px）のうち +1,092px がこの区画である。

   🚨 **写真の切り替えは CSS の動きである。JavaScript ではない。**
   テーマは店舗の単一ページすべてに `assets/js/branch-visual.js` を読み込ませて
   いるが、この道具が探すのは旧デザインの `.mainvisual` なので、新デザインでは
   当て先 0 件で何もせず終わる（エラーも出ない）。0.5 秒ごとに 24 回（12 秒ぶん）
   測ったところ、移行元は 0.76 → 1.00 → 0.00 → 1.00 と入れ替わり、dev は
   2 枚とも 1 のまま 1 度も変わらなかった。直しは CSS だけで済む。

   🚨 **この区画の切り替え幅は 650px である。**テーマの他の区画が使う 750px では
   ない。移行元は `.mv-container` の縦横比と動きの長さを 650px で切り替え、
   写真そのものも `<picture>` の `media="(min-width: 650px)"` で切り替える。
   750px に寄せると 650〜749px の帯だけ姿が移行元と食い違う。
   一方で**字の大きさの切り替えは 750px** である（移行元は
   `html { font-size }` を 750px 以上で 10px・749px 以下で 2.5445292621vw に
   切り替えており、`rem` を含む `clamp()` の解が 750px でしか変わらないため）。
   **この 2 つの幅を 1 つにまとめない。**

   🚨 **`em` をそのまま写さない。**移行元の `.mv__sales-pitch` は
   `bottom: 1em` `right: 4.2em` `width: calc(100% - 2em)` で書いてあるが、
   移行元のこの要素の字は 14px（サイト共通の `.contents { font-size: 14px }`）で、
   dev は 16px（パソコン幅）/ 15px（携帯幅）である。`em` を字面のまま写すと
   位置が 2px ずつずれるので、移行元の実測どおり px で書く. */

/* 移行元 @keyframes fadeOut1（写し 96〜117 行）。1 枚目は最初に見えていて、
   45.45% で消え、95.45% で戻る. */
@keyframes pa-branch-mv-fade-1 {
	0%,
	45.45% {
		opacity: 1;
		z-index: 1;
	}

	45.45%,
	95.45% {
		opacity: 0;
		z-index: 0;
	}

	95.45%,
	100% {
		opacity: 1;
		z-index: 1;
	}
}

/* 移行元 @keyframes fadeOut2（写し 119〜144 行）。1 枚目と逆の位相. */
@keyframes pa-branch-mv-fade-2 {
	0%,
	45.45% {
		opacity: 0;
		z-index: 0;
	}

	45.45%,
	95.45% {
		opacity: 1;
		z-index: 1;
	}

	95.45%,
	100% {
		opacity: 0;
		z-index: 0;
	}
}

/* --- スクロールに合わせた登場演出（Task #3420） ------------------------
   写し元: public/assets/css/style.css（サイト共通・記録版 19f499fe3）。

   移行元はこう書いている。

       [data-anime]{opacity:0}
       [data-anime=fadein].is-active{animation:fadein .75s cubic-bezier(.12,0,.39,0) 1 forwards}
       .delay1{animation-delay:.2s!important} … .delay6{animation-delay:1.2s!important}
       .fade-in{opacity:0;animation:fadein .75s cubic-bezier(.12,0,.39,0) 1 forwards}
       @keyframes fadein{0%{opacity:0;transform:translateY(10%)}to{opacity:1;transform:translateY(0)}}

   dev は本文の写しに `data-anime` を持っているのに、この CSS も
   `is-active` を付ける JavaScript も 1 件も無かった。そのため 31 か所が
   最初から表示されたままで、演出が起きていなかった。

   ## 🚨 この節だけを入れてはいけない

   `opacity: 0` は `is-active` が付いて初めて解ける。`is-active` を付ける
   `assets/js/branch-reveal.js` と `inc/branch-reveal.php` を同じ変更で入れる。
   片方だけだと 31 個の要素が二度と現れない（コースのページで実際に起きた事故。
   `assets/guide-course/js/interactions.js` 冒頭の注記）。

   ## 移行元の 3 種類のうち fadein だけを写す

   移行元の共通 CSS は `fadein` / `sliding` / `jump` の 3 種類を定義するが、
   移行元の店舗ページ 148 本を走査すると、`sliding` と `jump` は 4 店舗とも
   0 件だった。使われていない 2 種類は写さない。

   | 目印 | 銀座 | 新宿 | 静岡 | 岡山 |
   |---|---|---|---|---|
   | `data-anime="fadein"` | 31 | 28 | 28 | 28 |
   | `.delay1` | 8 | 8 | 8 | 8 |
   | `.delay2` | 6 | 6 | 6 | 6 |
   | `.delay3` | 2 | 1 | 1 | 1 |
   | `.delay4` | 2 | 1 | 1 | 1 |
   | `.delay5` | 1 | 0 | 0 | 0 |
   | `.fade-in` | 2 | 2 | 2 | 2 |

   遅れは移行元と同じ 6 段すべてを写す。いまの本文は 5 段目までしか使わないが、
   本文は投入で入れ替わるため、1 段だけ欠けた状態にしておく理由が無い。

   ## 名前を変えた理由

   `@keyframes fadein` は移行元のサイト共通の名前で、テーマの他の画面が同じ名前を
   使うと取り合いになる。コースのページの写しが `pa-course-fadein` へ改名して
   いるのと同じ考え方で、ここは `pa-branch-fadein` にする。

   ## 🚨 器は `.pa-branch__content` で、`.page-branch` まで絞ってはいけない

   本文の器は 2 段になっている。テーマが出す `div.pa-branch__content`（本文層）の
   中に、投入した本文の `div.page-branch` がある。**申し込み導線の `section.cta` は
   2 つあり、2 つ目は `div.page-branch` の外**に置かれている。dev の銀座店で数えると
   `.pa-branch__content` の中に 31 個・`.page-branch` の中に 28 個で、
   「まずは無料婚活体験へ」の 3 枚の札（`.cta__topic--item`）だけが外れる。

   `assets/js/branch-reveal.js` の `CONTAINER_SCOPE` と必ず同じ範囲にする。
   片方だけ広いと、広いほうだけが効いて要素が透明のまま残る. */
.pa-branch__content [data-anime] {
	opacity: 0;
}

.pa-branch__content [data-anime="fadein"].is-active {
	animation: pa-branch-fadein 0.75s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

/* 🚨 `!important` は移行元が付けている（写しの `.delay1{animation-delay:.2s!important}`）。
   遅れは `animation` の一括指定より後に効かせる必要があるため、移行元と同じにする. */
.pa-branch__content .delay1 {
	animation-delay: 0.2s !important;
}

.pa-branch__content .delay2 {
	animation-delay: 0.4s !important;
}

.pa-branch__content .delay3 {
	animation-delay: 0.6s !important;
}

.pa-branch__content .delay4 {
	animation-delay: 0.8s !important;
}

.pa-branch__content .delay5 {
	animation-delay: 1s !important;
}

.pa-branch__content .delay6 {
	animation-delay: 1.2s !important;
}

/* 🚨 `.fade-in` は `is-active` を待たない別系統である。読み込みと同時に回るので
   JavaScript は要らない。当たるのは主役の絵の提携ロゴ 2 枚
   （`.mv__sales-pitch img`）で、Task #3409（主役の絵）の突き合わせで 9 幅すべてに
   残っていた唯一の差がこの 2 枚だった. */
.pa-branch__content .fade-in {
	opacity: 0;
	animation: pa-branch-fadein 0.75s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

/* 移行元 @keyframes fadein。下から 10% 浮き上がりながら現れる. */
@keyframes pa-branch-fadein {
	0% {
		opacity: 0;
		transform: translateY(10%);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 動きを控える設定。移行元は見ないが、テーマの他の登場演出の書き方にそろえる。

   🚨 `opacity: 1` を必ず一緒に戻す。`animation: none` だけにすると、
   `opacity: 0` から動かなくなって中身が二度と現れない。

   🚨 **`.is-active` の付いた形も当て先に並べる。**演出の節
   `.pa-branch__content [data-anime="fadein"].is-active` は詳細度 (0,3,0) で、
   `.pa-branch__content [data-anime]`（(0,1,1)）では打ち消せない。実測でも、
   並べる前は動きを控える設定のまま `animation-name: pa-branch-fadein` が
   残っていた。コースのページの写しも同じ形で打ち消している. */
@media (prefers-reduced-motion: reduce) {
	.pa-branch__content [data-anime],
	.pa-branch__content [data-anime].is-active,
	.pa-branch__content .fade-in {
		opacity: 1;
		animation: none;
	}
}

/* 移行元 373〜377 行。下の余白を 0 に戻すのは、テーマが 14000 行で
   `.pa-branch__content section` に `--pa-space-md`（1440px で 60px・
   携帯幅で 30px）の下余白を与えているため。移行元は主役の絵と案内の帯を
   すきま 0 で隣り合わせており、実測でも 9 幅すべてで 0px だった. */
.pa-branch__content .page-branch .main-visual {
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
}

/* 移行元 378〜389 行。縦横比で高さを決めるので、写真の読み込み前後で高さが
   動かない。650px 以上は幅 1,100px の中央寄せ・比 1200:524（1440px で 480px）、
   未満は全幅・正方形（375px で 375px）. */
.pa-branch__content .page-branch .mv-container {
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
	aspect-ratio: 1200 / 524;
}

/* 移行元 391〜398 行. */
.pa-branch__content .page-branch .mv-image-box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 移行元 400〜407 行。2 枚を同じ位置に重ねる。ここが `static` のままだと
   2 枚が縦に並び、区画の高さが 3 倍以上に伸びる. */
.pa-branch__content .page-branch .mv-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 0;
}

/* 移行元 409〜428 行。650px 以上が 12 秒・未満が 11 秒で、遅延はどちらも 3 秒. */
.pa-branch__content .page-branch .mv-slide.js-mv-slide-1 {
	opacity: 1;
	z-index: 1;
	animation: pa-branch-mv-fade-1 12s infinite;
	animation-delay: 3s;
}

.pa-branch__content .page-branch .mv-slide.js-mv-slide-2 {
	animation: pa-branch-mv-fade-2 12s infinite;
	animation-delay: 3s;
}

/* 移行元が 2026-09-09 までに足した規則（本番の `/branch/assets/css/style.css` に在り、
   写しには無い）。**主役の絵が 1 枚だけのときは切り替えず、出したままにする。**
   移行元の注釈にも「スライドは1枚のみの時と、1〜2枚目スライドはjs-mv-slide-2として
   設定有り」と書かれており、1 枚と 2 枚の両方を想定した作りである（Bug #5199）。

   🚨 **これが無いと、1 枚しかない頁で `js-mv-slide-1` の動きが効いたまま**になり、
   相手が居ないのに繰り返し消えていく。移行元の本番（銀座店）はいま 1 枚である
   （2026-09-09 12:54:51 JST に携帯の名乗りで 1 回取得。転送 0 回・応答 200）.

   🚨 **`:only-child` は「兄弟が 1 人も居ない」を見る。**`.mv-slide` が 1 つでも、
   同じ親に別の要素が在ると当たらない。移行元の組みは
   `div.mv-image-box > div.mv-slide` だけなので、そのまま写して差し支えない.

   🚨 **649px 以下の帯の中にも同じ規則を置いてある。**当たり先の数が同じで強さが
   並ぶため、帯の中の `js-mv-slide-1` が後ろに在ると打ち消されるからである
   （実測で 375px だけ効かないことを確かめた）. */
.pa-branch__content .page-branch .mv-slide:only-child {
	opacity: 1;
	z-index: 1;
	animation: none;
}

/* 動きを控える設定を尊重する。移行元は尊重していないが、このテーマの既存方針
   （`.front-page .pa-fade-in` 等）を踏襲する。止めたときは 1 枚目だけが見える
   （移行元の動きの 0% の姿と同じ）. */
@media (prefers-reduced-motion: reduce) {
	.pa-branch__content .page-branch .mv-slide.js-mv-slide-1,
	.pa-branch__content .page-branch .mv-slide.js-mv-slide-2 {
		animation: none;
	}
}

/* 移行元 431〜436 行. */
.pa-branch__content .page-branch .mv-image-part {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 移行元 438〜442 行。`<picture>` は既定が `inline` なので、写真が行の高さに
   潰れる（実測 20px）。器いっぱいの箱に戻す. */
.pa-branch__content .page-branch .mv-picture {
	display: block;
	width: 100%;
	height: 100%;
}

/* 移行元 444〜449 行。テーマの共通の `img { height: auto }` に勝たせるため、
   当て先をここまで細かくしてある. */
.pa-branch__content .page-branch .mv-picture .mv__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 移行元 452〜458 行。1 枚目の写真だけ、上の 2 隅を丸める（750px 以上）。
   移行元の `--radius-l` は `clamp(1rem, 3vw, 2rem)` で、パソコン幅は
   1rem = 10px なので `clamp(10px, 3vw, 20px)`（1440px で 20px）. */
.pa-branch__content .page-branch .js-mv-slide-1 .mv__image {
	border-radius: clamp(10px, 3vw, 20px) clamp(10px, 3vw, 20px) 0 0;
}

/* 移行元 460〜473 行。1 枚目の写真の下 43% に白のぼかしを重ねて、字を読ませる。
   dev にはこの擬似要素が 1 つも無い. */
.pa-branch__content .page-branch .js-mv-slide-1::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 43%;
	background: linear-gradient(to top, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: 1;
	pointer-events: none;
}

/* 移行元 483〜486 行。2 枚目の写真は 1,000px で頭打ちにして中央へ置く. */
.pa-branch__content .page-branch .js-mv-slide-2 .mv__image {
	max-width: 1000px;
	margin: 0 auto;
}

/* バッジ 2 枚（移行元のサイト共通 CSS の `.mv__sales-pitch`）。**店舗ページ専用**の
   規則である。トップページは移行元が 2026-09-01 にこの部品を作り替えて捨てたため
   （Bug #3600）、テーマ側の写し（かつての `.front-hero__pitch`）も無くなった。
   店舗ページは移行元と同じクラス名をいまも出すので、この規則はここで残す。
   上の注記のとおり `em` は px へ直して写す（移行元 14px 基準）。
   幅と写真の大きさは移行元 476〜481 行の店舗用の上書きが勝つ（650px 以上）. */
.pa-branch__content .page-branch .mv__sales-pitch {
	position: absolute;
	bottom: 14px;
	right: 58.8px;
	width: 65.5%;
	display: flex;
	justify-content: space-between;
}

.pa-branch__content .page-branch .mv__sales-pitch img {
	width: 195px;
}

/* 🚨 **バッジ 2 枚は隠す。移行元が 2026-09-08 に消した（Bug #4949）。**

   文言は「業界最大級会員数192,000人」と「婚活のプロによる専任担当伴走サポート」で、
   移行元は HTML からも CSS からも消した（サイト共通 CSS の 22 行は丸ごと注釈で
   囲まれている）。**移行元の本番を 2026-09-10 に取り直して数え直しても、店舗
   25 ページのどこにも `mv__sales-pitch` は 1 回も出ない**（注釈を落として計測。
   取った HTML は `pa-verify-assets/branch-survey/prod-0910/`）。

   **dev の本文には残っている。**投入元が 2026-09-03 の写しだからである。写しを
   09-08 の版へ進める Task #5285 が済めば本文からも消えるが、それまでは画面に出る。

   🚨 **上の 2 つの規則を削るだけにしてはいけない。**規則を消しても**絵 2 枚は本文に
   残り**、置き場所（`position: absolute`）を失って**主役の絵の下へ平置きになる**。
   移行元より悪くなるので、**隠す指定を足す**（Bug #4834 と同じ形）。

   🚨 **この節は上の 2 つより後ろに置く。**上の規則が `display: flex` を持つので、
   前に置くと同じ強さで負けて効かない。

   🚨 **当たり先は店舗ページに絞る。**トップページは移行元が 2026-09-01 に同じ部品を
   捨てており（Bug #3600）、テーマ側の写しも無い。広い当たり先にすると、将来の投入で
   別のページを巻き込む。

   上の 2 つの値は、戻す判断が出たときに測り直さずに済むよう残してある。本文から
   要素が消えたら（Task #5285 の後）、この節ごと落としてよい。

   check-mobile-only: 意図してメディアクエリの外に置く
   移行元はバッジをパソコン幅でも携帯幅でも消した。**どちらの幅でも隠す**のが
   移行元と同じ姿なので、幅で囲わない。囲うと、囲わなかった側の幅で出てしまう
   （この検査 `tests-retired/pa-cms-branch-sales-pitch/` の 4 節が見張っている）. */
.pa-branch__content .page-branch .mv__sales-pitch {
	display: none;
}

/* 移行元 488〜510 行。字の箱を写真の上に重ねて、下端へ寄せる。ここが `static`
   のままだと、字が写真の下に平置きになる。内余白は移行元の `clamp()` を
   パソコン幅の 1rem = 10px で解いた値である. */
.pa-branch__content .page-branch .mv-text-container {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(16px, 11.9px + 1.1vw, 24px) clamp(16px, 11.9px + 1.1vw, 24px) clamp(16px, 11.9px + 1.1vw, 24px) clamp(40px, -1.4px + 11.03vw, 120px);
	background: transparent;
}

.pa-branch__content .page-branch .mv-text-container.type-shop {
	left: 0;
}

/* 移行元 512〜534 行。ぼかしそのものは移行元が注釈で止めてあるので、絵を
   1 つも描かない箱である。それでも重ね順（z-index: -1）と大きさは、字の箱の
   中で他の要素と重なる位置に関わるので写す. */
.pa-branch__content .page-branch .mv-blur-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 0;
	-webkit-mask-image: linear-gradient(to top right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
	mask-image: linear-gradient(to top right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
	z-index: -1;
}

/* 移行元 536〜541 行. */
.pa-branch__content .page-branch .mv-text-content {
	position: relative;
	z-index: 0;
	text-shadow: 0 0 10px #ffffff;
}

/* 移行元 543〜549 行。移行元は見出しの黒（#231815）でなく #333333 である. */
.pa-branch__content .page-branch .mv-lead {
	margin: 0 0 5px;
	color: #333333;
	font-size: clamp(14px, 11.9px + 0.55vw, 18px);
	font-weight: 700;
	line-height: 1.4;
}

/* 移行元 551〜576 行。店名の行. */
.pa-branch__content .page-branch .mv-title {
	margin: 0;
	color: #231815;
	font-size: clamp(20px, 13.8px + 1.66vw, 32px);
	line-height: 1.3;
}

/* 「銀座店」の 1 語だけを大きく見せる。`inline` のままだと親の 32px を
   受け継いで、行の中に埋もれる. */
.pa-branch__content .page-branch .mv-title .mv-title-main {
	display: block;
	font-size: clamp(40px, 27.6px + 3.31vw, 64px);
	line-height: 1.2;
	letter-spacing: 0.08em;
}

/* 649px 以下（移行元の 650px の区切り）。縦横比が正方形になり、動きが 11 秒に
   なる。写真そのものも `<picture>` の `media="(min-width: 650px)"` がここで
   切り替わる. */
@media (max-width: 649px) {
	.pa-branch__content .page-branch .mv-container {
		max-width: none;
		aspect-ratio: 1 / 1;
	}

	.pa-branch__content .page-branch .mv-slide.js-mv-slide-1 {
		animation: pa-branch-mv-fade-1 11s infinite;
		animation-delay: 3s;
	}

	.pa-branch__content .page-branch .mv-slide.js-mv-slide-2 {
		animation: pa-branch-mv-fade-2 11s infinite;
		animation-delay: 3s;
	}

	/* 🚨 **狭い側にも同じ規則が要る。**下の素の側の指定と同じ強さ（当たり先の
	   数が同じ）なので、この帯の `js-mv-slide-1` のほうが後ろに在ると打ち消される。
	   実測で 375px だけ効かないことを確かめてから足した（Bug #5199）. */
	.pa-branch__content .page-branch .mv-slide:only-child {
		opacity: 1;
		z-index: 1;
		animation: none;
	}

	/* 移行元のサイト共通 CSS の素の値（`width: calc(100% - 2em)`・`right: 1em`・
	   写真は 35%）。上の注記のとおり `em` は移行元の 14px 基準で px へ直す. */
	.pa-branch__content .page-branch .mv__sales-pitch {
		right: 14px;
		width: calc(100% - 28px);
	}

	.pa-branch__content .page-branch .mv__sales-pitch img {
		width: 35%;
	}
}

/* 749px 以下（移行元の字の区切り）。移行元は `html { font-size }` を 750px 以上で
   10px・749px 以下で 2.5445292621vw に切り替えるので、`rem` を含む `clamp()` の
   解がここで変わる。3 つとも中の項（`Arem + Bvw`）が最小と最大の間に必ず入る
   （3 項とも画面幅に比例するので、幅によらず大小の順は変わらない）ため、
   `clamp()` を解いた 1 本の `vw` で書ける。

     .mv-lead        1.19rem + 0.55vw  = 3.57799vw （375px で 13.4175px）
     .mv-title       1.38rem + 1.66vw  = 5.17145vw （375px で 19.3929px）
     .mv-title-main  2.76rem + 3.31vw  = 10.33288vw（375px で 38.7484px）
     内余白（上右下） 1.19rem + 1.1vw   = 4.12799vw （375px で 15.48px）
     内余白（左）    -0.14rem + 11.03vw = 10.67377vw（375px で 40.03px）

   1 枚目の写真の角丸は移行元が 750px 以上でしか当てないので、ここで外す. */
@media (max-width: 749px) {
	.pa-branch__content .page-branch .mv-text-container {
		padding: 4.12799vw 4.12799vw 4.12799vw 10.67377vw;
	}

	/* 下の外余白 0.5rem も同じ理由で変わる（1.27226vw。375px で 4.77px）. */
	.pa-branch__content .page-branch .mv-lead {
		margin-bottom: 1.27226vw;
		font-size: 3.57799vw;
	}

	.pa-branch__content .page-branch .mv-title {
		font-size: 5.17145vw;
	}

	.pa-branch__content .page-branch .mv-title .mv-title-main {
		font-size: 10.33288vw;
	}

	.pa-branch__content .page-branch .js-mv-slide-1 .mv__image {
		border-radius: 0;
	}
}

/* --- 新デザインのページ内遷移ボタン（Bug #3230） -----------------
   写し元: public/branch/assets/css/style.css 574〜650 行（.page-nav）。

   ここより上（「ページの中の飛び先」の節）にある `.nav-list` の指定は、
   「移行元は金や白の帯を敷くが、帯の背景画像を持ち込まないため、枠線で表す」と
   いう**代替の実装**である。2026-09-04 に本番 www.p-a.jp を取得して測ると、
   **移行元は背景画像を使っていなかった**（帯は `.page-nav` の白と、内側の器の
   半透明の地色で作っている）。つまり代替に置き換える理由が無い。
   実測の差（幅 1440px / 375px）:

     帯の幅       移行元 1440 / 375（全幅）      対 dev 1100 / 345
     帯の地色     白                              対 透明
     帯の下余白   80px / 39.1px                   対 0
     字の色       #996a1a（金）                   対 #fd7b7d（桃）
     枠線         なし                            対 1px の桃
     字           18px 太字 / 13.36px 太字        対 14px 標準
     並び         横 1 行の中央寄せ                対 縦積みの左寄せ
     矢印         文字の真下に有る                 対 無い

   ユーザー裁定（2026-09-04）は「携帯のページ内遷移ボタンの色はパソコン版を正」
   である。移行元はパソコン幅も携帯幅も同じ金色なので、移行元のパソコン版へ
   合わせると両方の幅が同時に合う。

   当て先に `.page-nav` を挟んであるので、旧デザイン 14 件の茶色の帯と改装版
   5 件の青い帯（どちらも `.navigation-list`）には届かない. */
.pa-branch__content .page-branch .page-nav {
	padding-bottom: clamp(40px, calc(19.3px + 5.52vw), 80px);
	background-color: #fff;
}

/* 帯の中の器。移行元は `margin: 0 auto` で上書きするため、`.page-branch
   .content-wrap` の携帯幅の左右余白（2rem）が当たらず、携帯幅では画面いっぱいに
   広がる（実測で移行元 375px @0・dev 345px @15）。パソコン幅の上限 1,100px は
   `.page-branch .content-wrap` から受け継ぐ。
   地色は移行元 `rgb(from var(--base-color) r g b / 60%)`。`--base-color` の実値は
   #fff6ec（実測でも地色の帯が rgb(255,246,236) だった）なので 60% を掛けて書く. */
.pa-branch__content .page-branch .page-nav .content-wrap {
	padding: clamp(16px, 3vw, 24px) 0;
	border-radius: 0 0 24px 24px;
	background-color: rgba(255, 246, 236, 0.6);
	text-align: center;
}

/* 🚨 中央寄せは `body.pa-profile-new` を前置して別に書く。前置しない形（クラス 4 つ）だと、
   携帯幅の左右の余白の規則（`body.pa-profile-new .pa-branch__content .page-branch
   .content-wrap`・型 1 つとクラス 4 つ）に詳細度で負けて、**帯の中の器が携帯幅で
   19.08px ずつ内側へ寄る**（実測で移行元 375 @0 対 dev 336.84 @19.08）。
   移行元は帯の中だけ `margin: 0 auto` で上書きし、携帯幅では画面いっぱいに広げる. */
body.pa-profile-new .pa-branch__content .page-branch .page-nav .content-wrap {
	margin-inline: auto;
}

.pa-branch__content .page-branch .page-nav .nav-list {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	/* 移行元は内側の器（.content-wrap）の中央寄せを受け継ぐ。テーマの本文共通の
	   指定が左寄せを直に当てるので、ここへ書き直す. */
	text-align: center;
}

.pa-branch__content .page-branch .page-nav .nav-list li {
	position: relative;
	display: flex;
	flex: 1 1 0;
	justify-content: center;
	margin: 0;
}

/* 移行元は 3 つめだけ広く取る（項目名がいちばん長いため）. */
.pa-branch__content .page-branch .page-nav .nav-list li:nth-child(3) {
	flex-grow: 1.4;
}

/* 項目の境目の縦線。移行元は最後の項目には出さない
   （`li:not(:last-child)::after`・金を 60% 透かした色）. */
.pa-branch__content .page-branch .page-nav .nav-list li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 100%;
	transform: translateY(-50%);
	background-color: rgba(187, 141, 56, 0.6);
}

.pa-branch__content .page-branch .page-nav .nav-list a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0 4px;
	border: 0;
	color: #996a1a;
	font-family: var(--pa-font-family-base);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

/* 文字の真下の矢印。移行元は 8 × 8px の正方形の 2 辺（右と下）を 1.8px で描き、
   45 度傾けて下向きの山形にする。色は金（#bb8d38）。

   🚨 `box-sizing: content-box` を明示するのは、**移行元とこのテーマで擬似要素の
   箱の数え方が違う**ためである。移行元の `*` は擬似要素を含めないので `::after` は
   ブラウザ既定の content-box で、枠線 1.8px は 8px の**外側**に足されて箱は約 9px に
   なる。一方このテーマは `*, *::before, *::after { box-sizing: border-box }` を
   全体にかけているので、枠線が 8px の**内側**へ入り箱が 8px に縮む。
   その 1px ぶんだけ帯の高さが低くなっていた（実測: リンクの高さ 移行元 42.19px 対
   dev 41.19px・幅 375px でも 54.41 対 53.41 でちょうど 1.00px）. */
.pa-branch__content .page-branch .page-nav .nav-list a::after {
	content: "";
	display: block;
	box-sizing: content-box;
	width: 8px;
	height: 8px;
	margin-top: 8px;
	border-right: 1.8px solid #bb8d38;
	border-bottom: 1.8px solid #bb8d38;
	transform: rotate(45deg);
}

/* 指を乗せたとき。移行元は色を変えず薄くするだけである（`opacity: 0.7`）。
   上の代替の実装が地色を桃色で塗り字を白にしていたので、そこも戻す. */
.pa-branch__content .page-branch .page-nav .nav-list a:hover,
.pa-branch__content .page-branch .page-nav .nav-list a:focus-visible {
	background-color: transparent;
	color: #996a1a;
	opacity: 0.7;
}

/* 携帯幅。移行元の 749px 以下の 1rem は 2.5445292621vw なので、rem の指定は
   その倍数で書く（1.4rem の字は幅 375px で 13.36px。実測の移行元も 13.3588px
   だった）。帯の下の余白と器の内余白の clamp() も、同じ換算で写す. */
@media (max-width: 749px) {
	.pa-branch__content .page-branch .page-nav {
		/* 移行元 clamp(4rem, 1.93rem + 5.52vw, 8rem)。幅 375px で 39.12px. */
		padding-bottom: clamp(10.1781vw, calc(4.911vw + 5.52vw), 20.3562vw);
	}

	.pa-branch__content .page-branch .page-nav .content-wrap {
		/* 移行元 clamp(1.6rem, 3vw, 2.4rem)。幅 375px で 15.27px. */
		padding: clamp(4.0712vw, 3vw, 6.1069vw) 0;
		border-radius: 0 0 6.1069vw 6.1069vw;
	}

	.pa-branch__content .page-branch .page-nav .nav-list a {
		padding-inline: calc(0.4 * 2.5445292621vw);
		font-size: calc(1.4 * 2.5445292621vw);
	}
}

/* 🚨 字間 0.04em が写せていなかった（Task #3438 で追加）。移行元
   branch/assets/css/style.css 318〜345 行は、`.c-text-l` `.c-text-m` `.c-text-s`
   `.c-text-xs` の 4 つに `letter-spacing: 0.04em` を持たせている（注釈用の
   `.c-text-note` だけは持たない）。

   字間は行の折り返しを変えるので、抜けると文章の行数がずれる。幅 750px の銀座店で
   実測すると、導入の文章が 1 行少なくなって器が 36px 低くなり、道のりの 5 枚目の
   説明文も 1 行少なくなって 27.2px 低くなっていた。下に続く区画がまとめて
   上へ寄るため、道のりの写真の位置まで狂う。

   この 4 つの名前は移行元の店舗ページ 148 本のうち新デザインの 4 本にしか無い
   （走査して確認）ので、旧デザインの店舗ページには影響しない. */
.pa-branch__content .c-text-l {
	font-size: 20px;
	line-height: 2;
	letter-spacing: 0.04em;
}

.pa-branch__content .c-text-m {
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.04em;
}

.pa-branch__content .c-text-s {
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.pa-branch__content .c-text-xs {
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

/* 注釈用（.c-text-note）は移行元も字間を持たない（写し 344〜348 行）. */
.pa-branch__content .c-text-note {
	font-size: 14px;
	line-height: 1.6;
}

/* --- パララックスの帯（Task #3266） ------------------------------
   写し元: public/branch/assets/css/style.css 2603〜2656 行（記録版 19f499fe3）。

   移行元は区画の題名を、写真を敷いた帯の上に白い字で置く。写真は画面いっぱいに
   固定して敷き、帯の形に切り抜くので、**送っても写真が動かない**見え方になる。

   dev には器（`.c-parallax` に `bg-feature` / `bg-concierge` / `bg-course` /
   `bg-visit` を添えた 4 つ）が本文に在るのに、**当たる CSS が 1 行も無かった**。
   そのため帯はベージュの地色のままで、題名は黒い字で出ていた。

   🚨 **写真は投入では入らない。**投入は本文の `<img>` が指す画像だけを取り込み、
   CSS の背景画像を 1 点も取り込まない。8 点（PC・携帯の各 4 点）を本番から取り寄せて
   テーマ資産（`assets/branch/images/`）へ置いた。一覧の地図の絵（`map.png`）と同じ扱いである。

   🚨 **色だけを写してはいけない。**白い字は写真とセットで、写真が無いまま白にすると
   地色（`#fff6ec`）の上で読めなくなる。だから写真の投入・帯の組み・白い字を同じ変更で入れる。

   🚨 **差し替えの境目は 768px。**テーマの携帯幅の境目（749px）とも、料金の区画（920px）とも、
   会員データの区切り線（750px）とも違う。移行元がこの帯だけ 768px を使っているのでそのまま写す。
   750〜767px の帯では移行元も縦長の携帯用（750 × 1998）を敷く。

   `clip-path: inset(0)` は 2 つの働きをする。①画面いっぱいの写真を帯の形に切り抜く
   ②`.c-parallax` を重ね合わせの文脈にするので、`z-index: -1` の写真が
   帯の外（ベージュの地色）まで沈まず、帯の中で題名の下に収まる. */
.pa-branch__content .page-branch .c-parallax {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 224px;
	clip-path: inset(0);
}

.pa-branch__content .page-branch .c-parallax::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
	background-position: center;
	background-size: cover;
	/* 移行元は描画を独立させるために 2 つを添えている。送ったときの追従を滑らかにする. */
	transform: translateZ(0);
	will-change: transform;
}

.pa-branch__content .page-branch .c-parallax.bg-feature::before {
	background-image: url("../branch/images/bg-parallax-data_sp.webp?ver=3305ffe6b2df");
}

.pa-branch__content .page-branch .c-parallax.bg-concierge::before {
	background-image: url("../branch/images/bg-parallax-cc_sp.webp?ver=0d0decb1740e");
}

.pa-branch__content .page-branch .c-parallax.bg-course::before {
	background-image: url("../branch/images/bg-parallax-course_sp.webp?ver=54c81b6fe4c0");
}

.pa-branch__content .page-branch .c-parallax.bg-visit::before {
	background-image: url("../branch/images/bg-parallax-visit_sp.webp?ver=6d5275ae3ab6");
}

@media (min-width: 768px) {
	.pa-branch__content .page-branch .c-parallax.bg-feature::before {
		background-image: url("../branch/images/bg-parallax-data_pc.webp?ver=02223761a492");
	}

	.pa-branch__content .page-branch .c-parallax.bg-concierge::before {
		background-image: url("../branch/images/bg-parallax-cc_pc.webp?ver=afc0eade7d4c");
	}

	.pa-branch__content .page-branch .c-parallax.bg-course::before {
		background-image: url("../branch/images/bg-parallax-course_pc.webp?ver=51f6e27a6b4a");
	}

	.pa-branch__content .page-branch .c-parallax.bg-visit::before {
		background-image: url("../branch/images/bg-parallax-visit_pc.webp?ver=14784b328618");
	}
}

/* 帯の中の題名。移行元は白い字に薄い影を添えて、写真の上でも読めるようにする。
   `z-index: 1` は写真（`z-index: -1`）より前へ出すためである. */
.pa-branch__content .page-branch .c-parallax .c-heading-l {
	position: relative;
	z-index: 1;
	color: #fff;
	text-shadow: 0 0 4px rgb(0 0 0 / 31%);
}

/* --- 料金のカード（Bug #3269） -----------------------------------
   写し元: public/branch/assets/css/style.css 2519〜2527 行。

   移行元はカードを 1px の金茶（--color-brown = #996a1a）で囲み、題名の部分に同じ色を
   地色として敷いて白い字を中央に置く。テーマにはこの 4 つのクラス
   （.plan-list / .plan-item / .pi-title-area / .pi-name）の規則が 1 つも無かったため、
   枠線も帯も無く、題名は本文色の灰色で左に寄っていた。

   2026-09-04 に本番 www.p-a.jp/branch/tokyo/ginza.html と dev を幅 375px で測った差:

     .plan-item        枠線 移行元 1px solid #996a1a  対 dev なし
     .pi-title-area    地色 移行元 #996a1a           対 dev 透明
                       字   移行元 白・中央寄せ・内余白 15px  対 dev #474747・左寄せ・0
     .pi-name          字   移行元 17.18px（1.8rem）  対 dev 19px

   当て先に .page-branch を挟んであるのは、ほかの区分の本文に同じクラス名が
   在った場合に巻き込まないためである（新デザインの 4 店にだけ在ることは
   4 店の HTML をクラス名の単位で数えて確認した）。

   ------------------------------------------------------------------
   🚨 パソコン幅では、この下の「出し分け」がカードを畳む
   ------------------------------------------------------------------
   移行元はカードの一覧を `div.sp-only` で包み、パソコン幅では畳んで表だけを見せる。
   **dev はその出し分けを写していなかったため、パソコン幅でカードと表を両方出していた**
   （幅 1440px の実測: `.pricing-detail .sp-only` が 1100 × 1140.31・`.pc-only` が
   1100 × 309。移行元は `.sp-only` が 0 × 0）。下の節でその出し分けを写すので、
   ここの枠線と帯はパソコン幅では描かれない（器が 0 × 0 になる）.  */
/* 料金の内訳の小見出し（「料金の内容」）。移行元は**左寄せ**で下の外余白 1.6rem である
   （記録版 2438〜2442 行の `.price-body .c-heading-xxs`）。共通の見出しの規則が
   中央寄せ・12px を当てていたため、寄せと余白の両方が違っていた. */
.pa-branch__content .page-branch .price-body .c-heading-xxs {
	margin-bottom: 16px;
	text-align: left;
}

@media (max-width: 749px) {
	.pa-branch__content .page-branch .price-body .c-heading-xxs {
		/* 移行元 1.6rem。幅 375px で 15.27px. */
		margin-bottom: calc(1.6 * 2.5445292621vw);
	}
}

/* カードの一覧。移行元は縦並びで 30px 空ける。dev は素の箱で、
   カードの下に 18px の外余白が付いていた. */
.pa-branch__content .page-branch .plan-list {
	display: flex;
	flex-direction: column;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-branch__content .page-branch .plan-item {
	border: 1px solid #996a1a;
}

.pa-branch__content .page-branch .plan-item .pi-title-area {
	padding: 15px;
	background-color: #996a1a;
	color: #fff;
	text-align: center;
}

/* 題名。移行元は 1.8rem で、字間の宣言を持たない（テーマの記事見出しの既定
   `letter-spacing: 0.05em` が当たって幅が広がっていた）。色は地色を敷いた親から
   受け継ぐので指定しない. */
.pa-branch__content .page-branch .plan-item .pi-name {
	margin: 0 0 5px;
	color: inherit;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: normal;
	text-align: center;
}

/* 題名の下の説明。移行元は 1.4rem の普通の太さで、外余白を持たない
   （dev は下に 18px の外余白が付いていた）. */
.pa-branch__content .page-branch .plan-item .pi-desc {
	margin: 0;
	font-size: 14px;
	font-weight: 400;
}

/* 金額の表の見出しの帯。移行元は 4 列の格子で、地色を敷いて下に罫線を引く。
   **dev は格子を写しておらず `display: block` のまま縦に積まれていた**
   （幅 375px の実測で 41.03px 対 108px = +66.97px）. */
.pa-branch__content .page-branch .plan-item .price-header-sp {
	display: grid;
	grid-template-columns: 1fr 1.1fr 1fr 1.1fr;
	border-bottom: 1px solid #996a1a;
	background-color: #fff6ec;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.pa-branch__content .page-branch .plan-item .price-header-sp .ps-group-ttl {
	grid-column: 1 / 4;
	padding: 10px;
	border-right: 1px solid #996a1a;
	border-bottom: 1px solid #996a1a;
}

.pa-branch__content .page-branch .plan-item .price-header-sp .ps-reg-ttl {
	grid-column: 4;
	grid-row: 1 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
}

.pa-branch__content .page-branch .plan-item .price-header-sp .ps-col {
	padding: 10px;
	border-right: 1px solid #996a1a;
}

/* 金額の帯。見出しの帯と同じ 4 列の格子である。
   **こちらも格子が未写しで縦に積まれていた**（53.42px 対 108px = +54.58px）. */
.pa-branch__content .page-branch .plan-item .pi-data-area {
	display: grid;
	grid-template-columns: 1fr 1.1fr 1fr 1.1fr;
	align-items: stretch;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.pa-branch__content .page-branch .plan-item .pi-data-area .pd-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 4px;
	border-right: 1px solid #996a1a;
}

.pa-branch__content .page-branch .plan-item .pi-data-area .pd-reg {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px 5px;
}

/* 携帯幅（749px 以下）の字と内余白。移行元の 1rem が 2.5445292621vw になるので、
   rem の指定はその倍数で書く。**カードは 919px 以下で出る**ため、750〜919px の帯では
   上の px（1rem = 10px 換算）が当たる。移行元も同じ組み合わせである
   （`.pi-data-area` だけは移行元が 750px を境に 1.6rem / 2.4rem を切り替える）. */
@media (max-width: 749px) {
	.pa-branch__content .page-branch .plan-item .pi-name {
		/* 移行元 1.8rem。幅 375px で 17.18px. */
		font-size: calc(1.8 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .plan-item .pi-desc,
	.pa-branch__content .page-branch .plan-item .price-header-sp {
		/* 移行元 1.4rem。幅 375px で 13.36px. */
		font-size: calc(1.4 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .plan-item .pi-data-area {
		/* 移行元 1.6rem。幅 375px で 15.27px. */
		font-size: calc(1.6 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .plan-item .pi-data-area .pd-col {
		/* 移行元 1.6rem 0.4rem。幅 375px で 15.27px 3.82px. */
		padding: calc(1.6 * 2.5445292621vw) calc(0.4 * 2.5445292621vw);
	}
}

/* --- 料金の区画の出し分け（Bug #3269） --------------------------
   写し元: public/branch/assets/css/style.css 2417〜2431 行。

   移行元は料金の区画（`.pricing-detail`）の中で、**カードの一覧（`.sp-only`）と
   表（`.pc-only`）を入れ替える**。dev はこの出し分けを写していなかったため、
   **パソコン幅で両方を出していた**（幅 1440px の実測: カードの一覧 1100 × 1140.31 と
   表 1100 × 309 が縦に並ぶ。移行元はカードの一覧が 0 × 0）。
   移行元と同じ内容が 1,140px ぶん余分に出ていたことになる。

   🚨 **境目は 920px である。**テーマの携帯幅の境目（749px）とも、移行元の別の箇所の
   境目（750px）とも違う。移行元がこの区画だけ 920px を使っているので、そのまま写す。

   目印の名前（`.sp-only` / `.pc-only`）はテーマの別の箇所にも在るが、いずれも
   テーマ独自の名前（`.pa-sp-only` / `.pa-nav-sp-only` / `.pa-footer-sp-only`）か、
   別の区分に絞った当て先である。素の名前は投入した本文の中にしか無いので、
   `.page-branch .pricing-detail` まで絞って当てる. */
.pa-branch__content .page-branch .pricing-detail .sp-only {
	display: block;
}

.pa-branch__content .page-branch .pricing-detail .pc-only {
	display: none;
}

@media (min-width: 920px) {
	.pa-branch__content .page-branch .pricing-detail .sp-only {
		display: none;
	}

	.pa-branch__content .page-branch .pricing-detail .pc-only {
		display: block;
	}
}

/* 🚨🚨 本文の字の基準と行送りを、移行元と同じ組みへ戻す（Issue #2707）。

   ## 何が違っていたか

   移行元の店舗ページは、本文を `div.contents` で包み、そこへ `font-size: 14px` を
   置く。**この包みは dev の実ページに存在しない**ので、受け継ぎの終点が
   テーマの `.pa-branch__content`（16px）になり、器の字が 14px ではなく 16px に
   なっていた。コースのページ（Issue #2709）も同じ型で、器自身へ直に書く形で
   解決してある。

   行送りはもっと分かりにくい。移行元の素の初期化は
   **`* { line-height: 1.5 }`** で、**すべての子孫へ直接当たる**。そのため
   `.page-branch { line-height: 1.6 }` は器自身にしか効かず、子は 1.5 になる。
   `p` だけは `p { line-height: 1.8 }` で 1.8 になる。

   dev はこの初期化が無く、テーマの `.entry-content`（1.8）を受け継いでいた。
   幅 1440px の銀座店で実測すると次のようにずれていた。

   | 要素 | 移行元 | dev |
   |---|---|---|
   | 会員数の数字（`.num` 72px） | 108px | 72px |
   | 「約」「人」（`.prefix` `.unit` 24px） | 36px | 24px |
   | 年代の帯（`.age-range` 16px） | 24px | 28.8px |
   | 名前と属性（`dt` `dd` 16px） | 24px | 28.8px |
   | 男女の札（`.gender-label` 18px） | 27px | 32.4px |

   名前と属性の一覧は 1 枚のカードで 156px 対 180px（+24px）になり、カード 4 枚と
   その下の区画がまとめて下がっていた。

   ## 🚨 器の重みを `:where()` で消す理由

   移行元の `*` は詳細度 (0,0,0)・`p` は (0,0,1) で、**字の部品
   （`.pa-branch__content .c-text-m` = (0,2,0)）に負ける**ように出来ている。
   器を素のまま前置すると (0,3,0) / (0,3,1) になって部品に勝ってしまい、
   説明文の行送りが 2 ではなく 1.8 になる。`:where()` は中身の詳細度を 0 に
   するので、**絞りつつ移行元と同じ強さ**にできる。

   ## 世代を絞る

   `.page-branch` は旧デザインの店舗ページ 32 本も持つ。そちらはテーマの
   行送りで組んであるので、body の `.pa-profile-new` で新デザインの 4 店舗に絞る. */
.pa-profile-new .pa-branch__content {
	font-size: 14px;
}

.pa-profile-new .pa-branch__content .page-branch {
	line-height: 1.6;
}

:where(.pa-profile-new .pa-branch__content .page-branch) * {
	line-height: 1.5;
}

:where(.pa-profile-new .pa-branch__content .page-branch) p {
	line-height: 1.8;
}

/* 🚨 一覧の項目（`li`）だけは `*` では届かない。移行元は `li` に行送りの規則を
   持たないので素の初期化の 1.5 になるが、dev は `.entry-content li`（詳細度
   (0,2,1)）が 1.8 を当てており、`*`（(0,0,0)）では勝てない。

   実測（幅 1440px の銀座店）では、注記の 4 行と道のりの 6 枚が 21px ではなく
   25.2px になっていた。同じ強さより 1 つ上（(0,2,2)）で打ち消す。区画ごとの
   指定（`.route-item` など (0,3,0)）には負けるので、そちらの値は守られる. */
:where(.pa-profile-new) .pa-branch__content .page-branch ul li,
:where(.pa-profile-new) .pa-branch__content .page-branch ol li {
	line-height: 1.5;
}

/* 🚨 段落と定義リストの外余白を、移行元の初期化と同じ 0 へ戻す（Issue #2707）。

   移行元の共通 CSS は素の初期化で `p` と `dl` を含む要素の `margin` を 0 にする
   （写し `public/assets/css/style.css` の冒頭の一括指定）。いっぽうテーマは
   本文の段落へ `--pa-article-paragraph-gap`（25px）を、ブラウザは `dl` へ 16px を
   与える。そのため新デザインの店舗ページでは、説明文（`p.data-desc`）・男女の札
   （`p.gender-label`）・特長の本文が 25px ずつ、名前と属性の一覧（`dl.profile-list`）が
   16px ずつ余分に空いていた（幅 1440px で実測）。

   `dl` の 16px は左右にも付くため、**中の一覧が 32px 広がって隣の器の幅まで
   狂わせていた**（`.data-area` が 192px ではなく 224px になっていた）。

   🚨 **世代の目印（`.pa-profile-new`）で絞る。**`.page-branch` は旧デザインの店舗
   ページ 32 本も持っており、そちらはテーマの段落の余白で組んである。絞らないと
   その 32 ページの段落の間合いが詰まる。

   区画 3 で入れた「器の最後の子の下余白を 0 にする」節は、段落以外の最後の子
   （`.map-link` など）も受け持つので残す。

   ## 🚨 詳細度を「テーマの段落より強く・区画の指定より弱く」に置く

   打ち消す相手と、打ち消してはいけない相手のあいだに入れないといけない。

   | 当て先 | 詳細度 | 立場 |
   |---|---|---|
   | `.entry-content p`（テーマの 25px） | (0,2,0) | **勝ちたい相手** |
   | この節 | **(0,2,1)** | |
   | `.pa-branch__content .page-branch .data-desc`（上余白 15px） | (0,3,0) | **負けたい相手** |

   はじめ器を素のまま 3 つ重ねて (0,3,1) で書いたところ、説明文の上余白 15px まで
   消して区画が 30px 縮んだ（幅 1440px で実測）。世代の目印を `:where()` で包んで
   重みを 1 つ落とし、(0,2,1) に置き直した。`:is(p, dl)` の重みは中身の最大値
   （要素 1 個ぶん）である. */
:where(.pa-profile-new) .pa-branch__content .page-branch :is(p, dl) {
	margin: 0;
}

/* --- 特長・会員データ・ご紹介例（Issue #2707） -----------------------
   写し元: public/branch/assets/css/style.css 885〜1249 行（記録版 19f499fe3。
   本番の実物と md5 が一致することを確認済み）。移行元は入れ子（& 記法）で
   書いているので、ここでは入れ子を開いて平らに書き直す。
   `rem` は 750px 以上で 1rem = 10px に解けるのでその換算で px にし、`vw` は残す。

   移行元の変数の値。**定義元が 2 つに分かれている。**

   店舗ページ専用 CSS（写し 5〜28 行）が持つもの:
   `--color-brown: #996a1a` / `--color-text: #474747` / `--color-border: #9f844b`
   / `--radius-s: clamp(0.5rem, 1.5vw, 1rem)` / `--space-card: clamp(1.5rem, 4vw, 2.5rem)`

   🚨 赤・青・ベージュの 3 つは、**専用 CSS では注釈の中に入っていて効いていない**
   （「大元CSSから読み込み下記最後消す」と書かれている）。効いている定義は共通 CSS
   （`public/assets/css/style.css`）にあり、値は
   `--main-color: #F54851`（赤）/ `--sub-color: #009BD3`（青）/
   `--base-color: #FFF6EC`（ベージュ）である。専用 CSS の注釈の値だけを見て
   写すと、共通 CSS が別の値へ変わったときに気づけない。

   dev はこの区画の規則が 1 本も無く、飾りをすべて失って縦一列の素のテキストに
   なっていた。着手前の差は幅 1440px で 761 件（`display` が 55 件・色が 43 件・
   角丸が 20 件・地色が 17 件）である. */

/* 特長（写し 890〜929 行）。移行元は 750px 以上で文章と写真を横に並べる。
   携帯幅は `column-reverse` なので、**写真が文章より上に出る**（HTML の順は
   文章が先）. */
.pa-branch__content .page-branch .feature-section {
	margin-bottom: clamp(40px, 27.6px + 3.31vw, 64px);
}

.pa-branch__content .page-branch .feature-container {
	display: flex;
	flex-direction: column-reverse;
	gap: clamp(40px, 29.7px + 2.76vw, 60px);
	padding-top: clamp(40px, 27.6px + 3.31vw, 64px);
}

.pa-branch__content .page-branch .feature-content {
	flex: 1;
}

/* 題名の下の余白（写し 909〜915 行）。左寄せは上の「パソコン幅で左に寄せる見出し」
   の節が既に持つ. */
.pa-branch__content .page-branch .feature-title {
	margin-top: 0;
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

.pa-branch__content .page-branch .feature-image {
	flex: 1;
	margin: 0;
}

.pa-branch__content .page-branch .feature-image img {
	width: 100%;
	border-radius: clamp(5px, 1.5vw, 10px);
}

@media (min-width: 750px) {
	.pa-branch__content .page-branch .feature-container {
		flex-direction: row;
		align-items: flex-start;
	}

	.pa-branch__content .page-branch .feature-image {
		max-width: 520px;
	}
}

/* 会員データの区画の器（写し 934〜942 行）。

   🚨 **移行元の `margin-bottom` は 1 度も効いていない。**移行元は同じ規則の中で
   `margin-bottom: clamp(4rem, 8vw, 8rem)` を書いたあとに `margin: 0 auto` を書いて
   いるので、後者が前者を打ち消す。実測でも移行元の外余白は幅 1440px で
   `0px 304px`（上下 0）だった。**書いてある宣言をそのまま期待値にしない**という
   型なので、ここでは効いている `margin: 0 auto` だけを写す。

   幅は「画面から左右 20px を引いた値、ただし 832px で頭打ち」である。dev は
   この制約が丸ごと無く、幅 1440px で 1440px 全幅に伸びきっていた. */
.pa-branch__content .page-branch .member-data-section {
	width: calc(100% - 40px);
	max-width: 832px;
	margin: 0 auto;
}

.pa-branch__content .page-branch .member-data-title {
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

/* 白いカード（写し 943〜950 行）。この目印は 3 か所に付いている
   （`data-section` / `profiles-section` / `area-data` と組で使う）. */
.pa-branch__content .page-branch .data-container {
	margin-bottom: 16px;
	padding: clamp(32px, 27.9px + 1.1vw, 40px) clamp(24px, 15.7px + 2.21vw, 40px);
	border-radius: clamp(5px, 1.5vw, 10px);
	background: #fff;
	text-align: center;
}

.pa-branch__content .page-branch .member-data-section .c-text-note {
	margin-bottom: 24px;
}

/* 共通の中身（写し 955〜977 行）. */
.pa-branch__content .page-branch .data-block {
	padding: clamp(20px, 4vw, 30px) 0;
}

.pa-branch__content .page-branch .data-title {
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

/* 🚨 内余白は移行元の新デザイン共通 CSS（`/assets/css/style.css` 171〜175 行）の
   全体規則 `sup { font-size: .7em; vertical-align: super; padding: 0 5px 10px }` の値
   である。テーマは全体規則を持たない方針なので（#2714 の裁定・7261 行の注記）、
   ここで店舗の会員データの区画だけにそろえる。印 1 個の幅が 14.7px から 24.7px へ
   戻り、器（`.data-title`）の高さと幅は変わらない（Bug #4029）. */
.pa-branch__content .page-branch .data-title sup {
	margin-left: 0.2em;
	padding: 0 5px 10px;
	vertical-align: super;
	font-size: 0.6em;
	font-weight: 400;
}

/* 🚨 `letter-spacing: 0` は移行元が明示している（写し 970〜977 行）。区画 3 で
   字の部品へ 0.04em を足したので、ここで 0 へ戻さないと説明文だけ字間が付く. */
.pa-branch__content .page-branch .data-desc {
	margin-top: clamp(10px, 2vw, 15px);
	letter-spacing: 0;
}

.pa-branch__content .page-branch .data-desc .text-red {
	color: #f54851;
}

/* 男女比と年代の中では、説明文を器の下端へ押し付ける（写し 980〜984 行）. */
.pa-branch__content .page-branch .data-gender .data-desc,
.pa-branch__content .page-branch .data-age .data-desc {
	margin-top: auto;
	padding-top: 16px;
}

/* 男女比と年代を横に並べる器（写し 1022〜1047 行）. */
.pa-branch__content .page-branch .data-middle-wrapper {
	display: flex;
	flex-direction: column;
}

@media (min-width: 750px) {
	.pa-branch__content .page-branch .data-middle-wrapper {
		flex-direction: row;
		align-items: stretch;
		margin: clamp(15px, 4vw, 20px) 0;
	}

	.pa-branch__content .page-branch .data-middle-wrapper .data-gender,
	.pa-branch__content .page-branch .data-middle-wrapper .data-age {
		display: flex;
		flex-direction: column;
		flex: 1;
		padding: 30px 20px;
	}

	.pa-branch__content .page-branch .data-middle-wrapper .data-gender {
		border-right: 1px solid rgb(159 132 75 / 30%);
	}
}

/* 年代の格子（写し 1099〜1144 行）。3 列で、各枠の右と下だけに罫線を引き、
   右下の角だけ丸める. */
.pa-branch__content .page-branch .age-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.pa-branch__content .page-branch .age-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 8px;
	border-right: 1px solid rgb(159 132 75 / 30%);
	border-bottom: 1px solid rgb(159 132 75 / 30%);
	border-radius: 0 0 clamp(5px, 1.5vw, 10px) 0;
	background-color: #fff;
}

.pa-branch__content .page-branch .age-range {
	margin-bottom: 2px;
	font-size: 16px;
}

.pa-branch__content .page-branch .age-percent {
	display: flex;
	align-items: baseline;
	font-weight: 700;
	line-height: 1;
}

/* 🚨 `.red` と `.gray` は単独では使わない。移行元も `class="age-percent red"` の
   ように組で書くので、必ず親の目印と組にして当てる. */
.pa-branch__content .page-branch .age-percent.red {
	color: #f54851;
}

.pa-branch__content .page-branch .age-percent .num {
	font-size: 40px;
}

.pa-branch__content .page-branch .age-percent .unit {
	margin-left: 0.1em;
	font-size: 20px;
}

.pa-branch__content .page-branch .age-item .gray .num {
	font-weight: 500;
}

/* ご紹介例（写し 1148〜1242 行）。

   🚨 この区画は `class="profiles-section data-container"` で、上の白いカードの
   目印と**同じ要素に付いている**。移行元は地色と内余白だけを打ち消し、角丸は
   打ち消さない（実測でも移行元の角丸は幅 1440px で 10px だった）。
   打ち消しは当て先を 4 つ重ねて書き、並び順に頼らない. */
.pa-branch__content .page-branch .profiles-section {
	margin: clamp(40px, 31.7px + 2.21vw, 56px) auto;
	text-align: center;
}

.pa-branch__content .page-branch .profiles-section.data-container {
	padding: 0;
	background: none;
}

.pa-branch__content .page-branch .profiles-grid {
	display: flex;
	flex-direction: column;
	gap: clamp(15px, 4vw, 25px);
}

@media (min-width: 750px) {
	.pa-branch__content .page-branch .profiles-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

.pa-branch__content .page-branch .profile-card {
	border-radius: clamp(5px, 1.5vw, 10px);
	background-color: #fff;
}

.pa-branch__content .page-branch .card-inner {
	display: flex;
	align-items: flex-start;
	gap: clamp(10px, 3vw, 20px);
	padding: clamp(15px, 4vw, 25px);
}

.pa-branch__content .page-branch .icon-area {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
	width: clamp(48px, 8vw, 56px);
}

.pa-branch__content .page-branch .icon-area img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* 名前と属性の一覧（写し 1203〜1223 行）。左の列は 70px 固定である
   （移行元は `clamp(7rem, 10vw, 7rem)` と書くが、最小と最大が同じなので
   いつでも 70px に解ける）. */
.pa-branch__content .page-branch .profile-list {
	display: grid;
	grid-template-columns: 70px auto;
	gap: clamp(6px, 1.2vw, 9px) clamp(5px, 1.5vw, 10px);
	font-size: 14px;
	line-height: 1.8;
	text-align: left;
}

@media (min-width: 750px) {
	.pa-branch__content .page-branch .profile-list {
		font-size: 16px;
	}
}

.pa-branch__content .page-branch .profile-list dt {
	margin: 0;
	font-weight: 700;
}

.pa-branch__content .page-branch .profile-list dd {
	margin: 0;
	color: #474747;
	font-weight: 400;
}

/* 女性のカードは赤・男性のカードは青。影は 4px ずらした無地で、ぼかさない
   （写し 1225〜1241 行）. */
.pa-branch__content .page-branch .profile-woman {
	box-shadow: 4px 4px 0 #f54851;
}

.pa-branch__content .page-branch .profile-woman .gender-label,
.pa-branch__content .page-branch .profile-woman .profile-list dt {
	color: #f54851;
}

.pa-branch__content .page-branch .profile-man {
	box-shadow: 4px 4px 0 #009bd3;
}

.pa-branch__content .page-branch .profile-man .gender-label,
.pa-branch__content .page-branch .profile-man .profile-list dt {
	color: #009bd3;
}

/* 対応エリアの区画（写し 1244〜1248 行）。白いカードの中で本文だけ左へ寄せる. */
.pa-branch__content .page-branch .area-data .c-text-m {
	text-align: left;
}

/* 会員データの区画の区切り線（写し 1009〜1019 行）。移行元は薄い金茶（#9f844b を
   30% 透かした色）の 1px の線を、外余白なしで引く。dev はテーマの `hr` の既定
   （灰 rgb(217,217,217)）が出ていた。

   幅も違う。移行元は 290.3px（本文の器の中）だが dev は 375px（画面いっぱい）だった。
   外余白を 0 にしても器の外へ出ている場合は、器の側の指定を別途調べる必要がある. */
.pa-branch__content .page-branch .data-divider {
	margin: 0;
	border: none;
	border-top: 1px solid rgb(159 132 75 / 30%);
}

/* そのうち `.sp-only` が付いた 1 本は、移行元が 750px 以上で隠す
   （写し 1014〜1019 行）。**ここの境目は 750px** で、上の料金の区画（920px）とは違う。
   移行元がそう書き分けているのでそのまま写す。dev は幅 1440px でも線が出ていた. */
@media (min-width: 750px) {
	.pa-branch__content .page-branch .data-divider.sp-only {
		display: none;
	}
}

/* 冒頭の導入（.intro-section）。移行元 branch/assets/css/style.css 662〜699 行。
   移行元は文章と写真を 750px 以上で横に並べ、写真を右へ置く（row-reverse）。
   dev はこの指定が 1 件も無く、写真が文章の下へ落ちて区画が 276px 高くなっていた
   （幅 1440px で実測）。

   移行元の `rem` は 750px 以上で 1rem = 10px に解ける。この節はその換算で px へ
   置き換え、`vw` はそのまま残す。同じファイルの .map-embed（角丸）が先に同じ
   換算で写してあり、書き方をそろえてある. */
.pa-branch__content .page-branch .intro-container {
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 4vw, 60px);
}

.pa-branch__content .page-branch .intro-content {
	flex: 1;
	min-width: 0;
}

/* 題名の下の余白（写し 678〜684 行）。色は上の「金色を当てる見出し」の節が既に持つ. */
.pa-branch__content .page-branch .intro-title {
	margin-bottom: clamp(12.5px, 2.5vw, 20px);
}

/* 🚨 テーマは `.pa-branch__content section` に区画の下余白（1440px で 60px・
   携帯幅で 30px）を与えている。移行元の区画はいずれも下の余白を持たず、
   自分の内余白で間合いを取る。実測でも移行元は 11 幅すべてで 0px だった。

   🚨🚨 **取り残しが 2 つあった**（Bug #4516・2026-09-08 の実測）。「コースと料金の
   ご案内」（`.pricing-section`）と「ご来店のご案内」（`.coming-section`）は、区画の
   高さが両側 2453.95px / 786.58px で一致しているのに、**dev だけが下余白 60px を
   持っていた**。区画を 1 つずつ数えて初めて見つかった。移行元はどちらも 0px. */
.pa-branch__content .page-branch .intro-section,
.pa-branch__content .page-branch .info-section,
.pa-branch__content .page-branch .route-section,
.pa-branch__content .page-branch .pricing-section,
.pa-branch__content .page-branch .coming-section {
	margin-bottom: 0;
}

/* 店舗情報の区画の内余白（写し 703〜709 行）。移行元は下の余白を 750px 以上でだけ
   持つ（狭いところは 0）. */
.pa-branch__content .page-branch .info-section {
	padding-top: clamp(64px, 55.7px + 2.21vw, 80px);
	padding-bottom: 0;
}

.pa-branch__content .page-branch .info-title {
	margin-bottom: clamp(32px, 15.4px + 4.41vw, 64px);
}

.pa-branch__content .page-branch .intro-image {
	flex: 1;
	margin: 0;
}

/* 写真の角丸。移行元は --radius-s（clamp(0.5rem, 1.5vw, 1rem)）. */
.pa-branch__content .page-branch .intro-image img {
	width: 100%;
	border-radius: clamp(5px, 1.5vw, 10px);
}

/* 🚨 器の最後の子に残る下余白を落とす。テーマは本文の段落へ
   `--pa-article-paragraph-gap`（25px）の下余白を与えるが、移行元の初期化は
   段落の余白を 0 にしている。そのため導入の文章の器（.intro-content）と
   地図の器（.map-area）が、どちらも移行元より 25px 高くなっていた
   （幅 1440px で実測）。この 25px は下に続く区画をまとめて 25px 押し下げるので、
   道のりの写真の位置まで狂う。

   当て先は「最後の子」に限る。地図の枠（.map-embed）が持つ 8px の下余白は
   移行元にもあり、残さなければならない。

   🚨 `.map-area` を含む節は body の `.pa-profile-new` で世代を絞る。この名前だけは
   移行元の店舗ページ 148 本のうち **18 本**に出ており、うち 14 本は旧デザインである
   （中身は `p.map` と `p.btn` で、新デザインの `.map-embed` と `.map-link` とは別物）。
   絞らないと旧デザインの 14 ページの押しボタンから下余白が消える（Task #3438）. */
.pa-profile-new .pa-branch__content .page-branch .intro-content > *:last-child,
.pa-profile-new .pa-branch__content .page-branch .map-area > *:last-child {
	margin-bottom: 0;
}

/* 分かれ目は 750px。区画 1（主役の絵）の 650px とも、道のりの 769px とも別である。
   3 つを 1 つにまとめると、あいだの帯でどれかが必ず狂う. */
@media (min-width: 750px) {
	.pa-branch__content .page-branch .info-section {
		padding-bottom: clamp(0px, -41.4px + 11.03vw, 80px);
	}

	.pa-branch__content .page-branch .intro-container {
		flex-direction: row-reverse;
		align-items: flex-start;
	}

	.pa-branch__content .page-branch .intro-image {
		max-width: 520px;
	}

	.pa-branch__content .page-branch .intro-title {
		text-align: left;
	}
}

/* 店舗情報の表と地図を横に並べる。移行元は 750px 以上で左右 2 列である。

   移行元は格子（grid）ではなく flex で、表と地図の両方に `flex: 1` を与えつつ
   地図だけ `max-width: 520px` で頭を打つ（写し 715〜723 行・766〜770 行）。
   等分の格子で写すと、幅 1440px で列の幅が 8px ずれる。移行元と同じ組み方へ直す. */
.pa-branch__content .info-layout {
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 4vw, 60px);
	padding-bottom: clamp(40px, 31.7px + 2.21vw, 56px);
}

@media (min-width: 750px) {
	/* 🚨 `align-items` は書かない。移行元は既定の `stretch` のままで、
	   表の側が地図の側の高さ（434px）まで伸び、余った高さが 3 つの行へ配られる。
	   `flex-start` を足すと表が中身なりの高さ（403.19px）で止まり、行の高さが
	   1 行目 −12.88px・2 行目 −11.47px・3 行目 −6.47px ずれる（幅 1440px で実測）. */
	.pa-branch__content .info-layout {
		flex-direction: row;
		justify-content: space-between;
	}
}

/* 地図の埋め込みの箱（新デザインの 4 店舗・Bug #2007）。iframe は
   inc/branch-map.php が the_content フィルタで表示のときに差し込む。
   iframe が空のまま常に display: none で畳んでいたため、箱自体の寸法・背景・
   角丸は一度も移行していなかった（実測で判明。当初はこの節の既存指定を使う想定
   だったが、実際には存在しなかった）。写し元は branch/assets/css/style.css の
   773〜780 行。--radius-s（clamp(0.5rem, 1.5vw, 1rem)）は rem だけを px へ換算
   して写す（このファイルの「1rem = 10px」換算に合わせる。vw はそのまま）. */
.pa-branch__content .map-embed {
	width: 100%;
	aspect-ratio: 4 / 3;
	background-color: #f5f5f5;
	border-radius: clamp(5px, 1.5vw, 10px);
	overflow: hidden;
	margin-bottom: 8px;
}

.pa-branch__content .map-embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* 地図の側の器。移行元は表と同じく `flex: 1` で、520px で頭を打つ
   （写し 766〜770 行）。

   🚨 ここも body の `.pa-profile-new` で世代を絞る。理由は上の「器の最後の子」の
   節と同じで、`.map-area` は旧デザインの 14 ページにも在るためである。とくに
   `max-width: 520px` は、絞らないと旧デザインの地図の幅を直接縮める. */
.pa-profile-new .pa-branch__content .page-branch .map-area {
	flex: 1;
	min-width: 0;
}

@media (min-width: 750px) {
	.pa-profile-new .pa-branch__content .page-branch .map-area {
		max-width: 520px;
	}
}

/* 「大きな地図で見る」。移行元 branch/assets/css/style.css 782〜806 行。
   移行元は素の文字リンクで、右端へ寄せ、後ろに丸い矢印を置く。
   dev では旧デザイン向けの押しボタンの措置がここまで届いていた（上の
   「地図の代わりの導線」の節を参照。Task #3438 で当て先から外した）. */
.pa-branch__content .page-branch .map-link {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 5px;
	padding: 0;
	background-color: transparent;
	color: #474747;
	font-weight: 700;
	text-decoration: none;
}

.pa-branch__content .page-branch .map-link::after {
	content: "›";
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: #333;
	color: #fff;
	font-size: 14px;
	line-height: 1;
}

.pa-branch__content .page-branch .map-link:hover,
.pa-branch__content .page-branch .map-link:focus-visible {
	color: #474747;
	opacity: 0.7;
}

/* 表そのものは横並びの片側として伸び縮みする（写し 726〜730 行）。
   `flex: 1` を持たせないと、表が中身なりの幅で居座り、隣の地図が 39px まで潰れる
   （幅 1440px で実測）。`min-width: 0` は、表の中身が長いときに flex の既定
   （min-width: auto）で器からあふれるのを防ぐ. */
.pa-branch__content .page-branch .c-table {
	flex: 1;
	min-width: 0;
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

/* 店舗情報の表（.c-table）。移行元 branch/assets/css/style.css 726〜762 行。

   🚨 テーマは既に 14018 行あたりで店舗用の表の見た目（寄せは左・行の下だけ罫線）を
   書いているが、**1 度も効いていない**。店舗ページ全体が
   `div.pa-branch__content.entry-content` に包まれるため、本文向けの汎用規則が
   同じセルに当たり、詳細度で勝つからである（ブラウザに当たっている規則を聞いて確認）。

   | 規則 | 詳細度 |
   |---|---|
   | `.entry-content table:not(.pa-form-table) :is(th, td)` | (0,2,2) |
   | `.entry-content table:not(.pa-form-table) th` | (0,2,2) |
   | `.pa-branch__content th`（既存・負けている側） | (0,1,1) |

   そのため、この節は器を 3 つ重ねて (0,3,0) にし、汎用規則より先に立つ。
   移行元は 4 辺の罫線を持たず、行の下だけに薄い線を引く。見出しの字は金茶で、
   中央寄せでもクリーム色の地でもない. */
.pa-branch__content .page-branch .c-table-th,
.pa-branch__content .page-branch .c-table-td {
	padding: 24px 0;
	border: none;
	border-bottom: 1px solid rgb(159 132 75 / 30%);
	background-color: transparent;
	text-align: left;
	vertical-align: top;
}

.pa-branch__content .page-branch .c-table-th {
	width: 25%;
	color: #996a1a;
}

/* 行送りは字の大きさの部品（.c-text-m）が決める。移行元 branch/assets/css/style.css
   341〜348 行で、幅 750px 以上が 2・未満が 1.8 である。移行元の 4 店舗のセルは
   すべて `c-table-th c-text-m` / `c-table-td c-text-m` を持つ（移行元の店舗ページ
   148 本を走査して確認）。

   ところが本文向けの汎用規則が、その部品に詳細度で勝っていた。

   | 当て先 | 詳細度 | 行送り |
   |---|---|---|
   | `.entry-content table:not(.pa-form-table) :is(th, td)`（勝っていた側） | (0,2,2) | 1.5 |
   | `.pa-branch__content .c-text-m`（負けていた側） | (0,2,0) | 2 |

   幅 1440px で行送りが 36px ではなく 27px になり、見出し列の高さが
   181.4px → 132.5px と 49px 縮んでいた（銀座店で実測）。当て先を 4 つ重ねて
   (0,4,0) にし、部品の値へ戻す（Task #3438）. */
.pa-branch__content .page-branch .c-table-th.c-text-m,
.pa-branch__content .page-branch .c-table-td.c-text-m {
	line-height: 2;
}

/* 最初の行は上の余白を持たず、最後の行は下の罫線を引かない（写し 755〜762 行）. */
.pa-branch__content .page-branch .c-table tr:first-child .c-table-th,
.pa-branch__content .page-branch .c-table tr:first-child .c-table-td {
	padding-top: 0;
}

.pa-branch__content .page-branch .c-table tr:last-child .c-table-th,
.pa-branch__content .page-branch .c-table tr:last-child .c-table-td {
	border-bottom: none;
}

/* セルの中の注記（写し 745〜754 行）. */
.pa-branch__content .page-branch .c-table-td .note {
	display: block;
	margin-top: 10px;
}

.pa-branch__content .page-branch .c-table-td .note a {
	text-decoration: underline;
}

@media (min-width: 750px) {
	.pa-branch__content .page-branch .c-table-td .note {
		font-size: 12px;
	}
}

/* 道のり（.route-section）。移行元 branch/assets/css/style.css 832〜886 行。

   🚨 **この区画の分かれ目は 769px で、ほかの 750px とは別である**
   （移行元 813 行の `@media screen and (min-width: 769px)`）。移行元は 750px で
   縦積みから横並びへ変え、769px で 3 列の折り返しへ変える。2 つを 1 つにまとめると
   750〜768px の帯で並びが狂う. */
.pa-branch__content .page-branch .route-section {
	padding: clamp(16px, 7.7px + 2.21vw, 32px) 0 clamp(48px, 72.3px - 2.21vw, 64px) 0;
}

.pa-branch__content .page-branch .route-section .c-heading-m {
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

.pa-branch__content .route-list {
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 4vw, 30px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-branch__content .page-branch .route-item {
	display: flex;
	flex-direction: column;
}

.pa-branch__content .route-item figure {
	margin: 0;
}

/* 写真の角丸は導入の写真と同じ --radius-s. */
.pa-branch__content .page-branch .route-image {
	margin-bottom: clamp(5px, 1vw, 10px);
}

.pa-branch__content .page-branch .route-image img {
	border-radius: clamp(5px, 1.5vw, 10px);
}

/* 写真の説明文。移行元は本文と同じ濃さの字を左へ寄せる。
   dev は `.entry-content figcaption` が薄い字（#767676）と中央寄せを与えていた
   （ブラウザに当たっている規則を聞いて確認）。器を 3 つ重ねて打ち消す. */
.pa-branch__content .page-branch .route-text {
	margin-top: clamp(8px, 3.86px + 1.103vw, 16px);
	color: #474747;
	text-align: left;
}

@media (min-width: 750px) {
	.pa-branch__content .route-list {
		flex-direction: row;
		justify-content: space-between;
		gap: 25px;
	}

	.pa-branch__content .page-branch .route-item {
		flex: 1;
	}
}

/* 3 枚ずつ折り返す。**境目は 750px である。**

   🚨 **移行元は 2026-09-08 の更新で、この境目を 769px から 750px へ下げた**
   （Bug #4972）。dev は下げる前の写しを持っていたため、**750〜768px の 19px 幅
   だけ折り返しが効かず、札が 1 行に詰まって半分以下の幅に潰れていた**
   （幅 750px で移行元 233.3px 対 dev 104.2px・銀座店）。1440px は元から一致していた。

   🚨 **2026-09-19 に `.route-list--3col` の絞りを外した（Bug #7807）。**
   Bug #4972 の時点は「移行元の HTML が `route-list--3col` を持つ」前提で絞っていたが、
   **移行元がその目印を外した。**`abad9d6b5`（2026-09-01・MK-5019 大阪店改修）が
   `class="route-list route-list--3col"` を `class="route-list"` へ書き替えている。
   ミラーが `19f499fe3` から `25cf8dcdd` へ進んで投入の材料を作り直したとき、
   **dev の本文からも目印が消え、この規則が 1 件も当たらなくなった。**
   当たらなくなると上の `flex: 1` が効き、札が何枚あっても 1 行に詰まる。

   🚨 **札が 3 枚の 4 店（新宿・名古屋・静岡・岡山）は、どちらの書き方でも幅が同じ**
   である（`flex: 1` も `flex: 0 0 calc((100% - 50px) / 3)` も、3 枚なら 1 枚あたり
   `(器の幅 − 50px) / 3`）。**壊れていたのは札が 4 枚以上の 3 店である**
   （実測 2026-09-19・幅 1440px の dev で 1 枚あたり）。

   | 店 | 札 | 移行元（3 列） | 直す前の dev |
   |---|---:|---:|---:|
   | 銀座 | 6 | 350.0 | **162.5** |
   | 横浜 | 5 | 350.0 | **200.0** |
   | 梅田 | 5 | 350.0 | **200.0** |

   🚨 **Bug #4972 の「札を持つ 6 店を全数で数え、4 枚の店が 1 つも無い」は、
   梅田店が新デザインへ加わる前（Bug #5454）の数である。**いまは 7 店で、
   4 枚以上が 3 店ある。**全数は数え直すたびに変わる。**
   数え直し: `command grep -c 'class="route-item' legacy/www.p-a.jp/public/branch/<道すじ>.html`

   絞りを外したので、**3 枚の 4 店にも固定幅が当たる。**幅は変わらない（上の表のとおり）。
   `tests-retired/pa-cms-branch-intro-info/run-branch-intro-info.php` の
   「3 列の指定が `route-list--3col` で絞られたままである」は**赤になる**。
   あの検査は D411 で全数走行から外してあるので直さない. */
@media (min-width: 750px) {
	.pa-branch__content .page-branch .route-list {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.pa-branch__content .page-branch .route-list .route-item {
		flex: 0 0 calc((100% - 50px) / 3);
		width: calc((100% - 50px) / 3);
	}
}

/* 会員数の大きな数字（写し 985〜1006 行）。Issue #2707 で移行元どおりに直した。

   もとは「移行元は大きく見せる」という近似で、器へ `font-size: 40px` と
   `color: var(--pa-color-accent-strong)` と `text-align: center` を当てていた。
   移行元は**器では大きさも色も決めず**、中の 3 つの span で決める。

   | 目印 | 移行元の値 |
   |---|---|
   | `.prefix`（「約」） | 24px・色は受け継ぎ |
   | `.num`（数字） | 72px・金茶 #996a1a |
   | `.unit`（「人」） | 24px・色は受け継ぎ |

   🚨 器に色を当てると `.prefix` と `.unit` まで金茶になる。移行元はこの 2 つを
   本文の色（#474747）のまま受け継がせる。中央寄せも `text-align` ではなく
   `justify-content: center` で行う（`display: flex` なので）. */
.pa-branch__content .page-branch .data-number-large {
	display: flex;
	justify-content: center;
	align-items: baseline;
	font-weight: 700;
	line-height: 1;
}

.pa-branch__content .page-branch .data-number-large .prefix {
	margin-right: 5px;
	font-size: 24px;
}

.pa-branch__content .page-branch .data-number-large .num {
	color: #996a1a;
	font-size: 72px;
}

.pa-branch__content .page-branch .data-number-large .unit {
	margin-left: 0.2em;
	font-size: 24px;
}

/* --- 会員の男女比の 2 枚組（Bug #1433） --------------------------
   男性・女性のイラストを横に並べ、間に「>」を置いて男女比を表す。移行元
   public/branch/assets/css/style.css:1050-1087 を写す。移行元は入れ子の書き方
   （& 記法）で書いているため、ここでは入れ子を開いて平らに書き直した。
   移行元は html の基準を 10px に置いた rem なので px へ換算した
   （例 4rem は 40px）。写さないと 2 枚が縦に積まれる. */

.pa-branch__content .gender-illustration {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, 3vw, 20px);
}

.pa-branch__content .gender-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	/* 移行元は clamp(80px, 20vw, 130px) で画面幅に応じて伸び縮みさせる. */
	width: clamp(80px, 20vw, 130px);
}

.pa-branch__content .gender-item img {
	width: 100%;
	margin-bottom: 5px;
}

.pa-branch__content .gender-label {
	font-size: 16px;
	font-weight: 700;
}

/* 男女の間に置く「>」。イラストの中心に合わせるため下に余白を取る。
   色は金茶（写し 1083〜1087 行）。Issue #2707 で足した（それまで色が抜けていて、
   本文の墨色のまま出ていた）. */
.pa-branch__content .gender-arrow {
	margin-bottom: 15px;
	color: #996a1a;
	font-size: 40px;
}

/* 男女の札の色（写し 1069〜1081 行）。Issue #2707 で足した。
   男性は青（--sub-color）・女性は赤（--main-color）である. */
.pa-branch__content .gender-label.men {
	color: #009bd3;
}

.pa-branch__content .gender-label.women {
	color: #f54851;
}

@media (min-width: 750px) {
	.pa-branch__content .gender-illustration {
		padding-top: 30px;
	}

	.pa-branch__content .gender-label {
		font-size: 18px;
	}
}

/* 🚨🚨 携帯幅（749px 以下）は、移行元の `1rem` が画面幅に比例して伸び縮みする
   （Task #3524）。

   ## なぜ帯を分けるか

   移行元の根は幅で切り替わる（共通 CSS `public/assets/css/style.css`）。

       @media screen and (min-width: 750px) { html { font-size: 10px } }
       @media screen and (max-width: 749px) { html { font-size: 2.5445292621vw } }

   つまり **750px 以上では `1rem = 10px` に固定されるが、それ未満では
   `1rem = 2.5445292621vw`**（幅 375px なら 9.542px）になる。上の節は 750px 以上の
   換算で固定 px にしてあるので、携帯幅では 4.6% 大きく出ていた。幅 375px の銀座店で
   測ると、字の大きさが 79 要素・行送りが 79 要素ずれ、そこから位置と寸法が
   合わせて 719 件ずれていた（Issue #2707 の実装後・厳格な突き合わせで 864 件）。

   ## 書き方（区画 1 の見出しの部品と同じ house の書き方）

   `rem` をそのまま写さない（テーマの根 16px で解かれる。司令塔の周知・09-05）。
   **`rem` の倍数で書けるものは `calc(N * 2.5445292621vw)`** にする。この形は
   同じ帯の見出しの部品（`.c-heading-*`）が既に使っている。

   移行元が `clamp()` で書くものは、**携帯幅での解 1 本に畳む。**畳み方は
   「`1rem` を `2.5445292621vw` に置き換えて 3 つを比べ、どれが効くかを決める」
   である。比率で書いてあるので、どの幅でも同じ枝が効く。

   | 移行元の `clamp()` | 下限 | 中央 | 上限 | 効く枝 | 書く値 |
   |---|---|---|---|---|---|
   | `clamp(1.6rem, 1.19rem + 1.1vw, 2.4rem)` | 4.07125vw | **4.12798982vw** | 6.10687vw | 中央 | `4.12798982vw` |
   | `clamp(3.2rem, 2.79rem + 1.1vw, 4rem)` | 8.14249vw | **8.19923664vw** | 10.17812vw | 中央 | `8.19923664vw` |
   | `clamp(2.4rem, 1.57rem + 2.21vw, 4rem)` | 6.10687vw | **6.20491094vw** | 10.17812vw | 中央 | `6.20491094vw` |
   | `clamp(4rem, 2.76rem + 3.31vw, 6.4rem)` | 10.17812vw | **10.33290076vw** | 16.28499vw | 中央 | `10.33290076vw` |
   | `clamp(4rem, 2.97rem + 2.76vw, 6rem)` | 10.17812vw | **10.31725191vw** | 15.26718vw | 中央 | `10.31725191vw` |
   | `clamp(4rem, 3.17rem + 2.21vw, 5.6rem)` | 10.17812vw | **10.27615776vw** | 14.24936vw | 中央 | `10.27615776vw` |
   | `clamp(1rem, 2vw, 1.5rem)` | **2.54453vw** | 2vw | 3.81679vw | 下限 | `calc(1 * …)` |
   | `clamp(2rem, 4vw, 3rem)` | **5.08906vw** | 4vw | 7.63359vw | 下限 | `calc(2 * …)` |
   | `clamp(4.8rem, 8vw, 5.6rem)` | **12.21374vw** | 8vw | 14.24936vw | 下限 | `calc(4.8 * …)` |
   | `clamp(0.6rem, 1.2vw, 0.9rem)` | **1.52672vw** | 1.2vw | 2.29008vw | 下限 | `calc(0.6 * …)` |

   下限が効く 4 つは `rem` の倍数なので `calc()` で書ける。中央が効く 6 つは
   `rem` と `vw` の足し算なので倍数にならず、畳んだ `vw` を直に書く。

   幅 375px で検算すると移行元の実測とそろう（`8.19923664vw` = 30.747px 対 実測
   30.7471px・`6.20491094vw` = 23.268px 対 実測 23.2684px・`10.33290076vw` = 38.748px 対
   実測 38.7484px・`calc(1 * 2.5445292621vw)` = 9.542px 対 実測 9.54198px）。

   ## 🚨🚨 中央の `vw` が効く 3 つも、`vw` 1 本に書き直す

   次の 3 つは移行元では**携帯幅のどこでも中央の `vw` が効く**。ところが上の節は
   両端を 750px 以上の px（`clamp(5px, 1.5vw, 10px)` など）で書いてあるため、
   **画面幅の端で別の枝に落ちる。**幅 375px だけ一致するので見落としやすい。

   | 移行元 | 移行元の解 | 上の節の `clamp()` の解 |
   |---|---|---|
   | `clamp(0.5rem, 1.5vw, 1rem)`（角丸） | 320px 4.8px / 375px 5.625px / 749px 11.235px | **5px** / 5.625px / **10px** |
   | `clamp(1.5rem, 4vw, 2.5rem)`（カードの内余白） | 12.8px / 15px / 29.96px | **15px** / 15px / **25px** |
   | `clamp(1rem, 3vw, 2rem)`（カードの中のすきま） | 9.6px / 11.25px / 22.47px | **10px** / 11.25px / **20px** |

   幅 320px の銀座店で測ると、この 3 つで角丸が 20 件・カードの中身の横位置が
   60 件ずれていた（`.profile-list dt` が 77.75px 対 80.36px など）。
   携帯幅では中央の `vw` を 1 本で書く。

   ## 字の部品（`.c-text-*`）も同じ帯で直してある

   説明文（`p.data-desc.c-text-m`）と特長の本文は、区画 3 で入れた字の部品から
   字の大きさを受け継ぐ。その部品の携帯幅の値も固定 px だったので、下の
   「移行してきた本文」の帯（`.c-text-l` `.c-text-m` `.c-text-s` `.c-text-xs`
   `.c-text-note`）で `calc()` へ直した。当たる範囲は導入と店舗情報にも及ぶが、
   移行元に合わせる方向なので退行ではない（区画 3 の携帯幅も 208 件から
   121 件へ減った）. */
@media (max-width: 749px) {
	/* --- 特長 --- */
	.pa-branch__content .page-branch .feature-section {
		margin-bottom: 10.33290076vw;
	}

	.pa-branch__content .page-branch .feature-container {
		gap: 10.31725191vw;
		padding-top: 10.33290076vw;
	}

	.pa-branch__content .page-branch .feature-title {
		margin-bottom: 4.12798982vw;
	}

	/* --- 会員データの器と白いカード --- */
	.pa-branch__content .page-branch .member-data-section {
		width: calc(100% - 4 * 2.5445292621vw);
		max-width: calc(83.2 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .member-data-title {
		margin-bottom: 4.12798982vw;
	}

	.pa-branch__content .page-branch .data-container {
		margin-bottom: calc(1.6 * 2.5445292621vw);
		padding: 8.19923664vw 6.20491094vw;
	}

	.pa-branch__content .page-branch .member-data-section .c-text-note {
		margin-bottom: calc(2.4 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .data-block {
		padding: calc(2 * 2.5445292621vw) 0;
	}

	.pa-branch__content .page-branch .data-title {
		margin-bottom: 4.12798982vw;
	}

	.pa-branch__content .page-branch .data-desc {
		margin-top: calc(1 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .data-gender .data-desc,
	.pa-branch__content .page-branch .data-age .data-desc {
		padding-top: calc(1.6 * 2.5445292621vw);
	}

	/* --- 会員数の大きな数字 --- */
	.pa-branch__content .page-branch .data-number-large .prefix {
		margin-right: calc(0.5 * 2.5445292621vw);
		font-size: calc(2.4 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .data-number-large .num {
		font-size: calc(7.2 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .data-number-large .unit {
		font-size: calc(2.4 * 2.5445292621vw);
	}

	/* --- 年代の格子 --- */
	.pa-branch__content .page-branch .age-grid {
		gap: calc(1.6 * 2.5445292621vw);
	}

	/*
	 * 🚨 角丸も一緒に書く（当て先を 2 つに分けない）。上の表のとおり移行元の
	 * `clamp(0.5rem, 1.5vw, 1rem)` は携帯幅のどこでも中央の `1.5vw` が効く.
	 */
	.pa-branch__content .page-branch .age-item {
		padding: calc(0.8 * 2.5445292621vw);
		border-radius: 0 0 1.5vw 0;
	}

	.pa-branch__content .page-branch .age-range {
		margin-bottom: calc(0.2 * 2.5445292621vw);
		font-size: calc(1.6 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .age-percent .num {
		font-size: calc(4 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .age-percent .unit {
		font-size: calc(2 * 2.5445292621vw);
	}

	/* --- ご紹介例 --- */
	.pa-branch__content .page-branch .profiles-section {
		margin: 10.27615776vw auto;
	}

	.pa-branch__content .page-branch .icon-area {
		width: calc(4.8 * 2.5445292621vw);
	}

	/*
	 * 🚨 左の列は移行元が `clamp(7rem, 10vw, 7rem)` と書く。最小と最大が同じ
	 * なので、どの幅でも `7rem` に解ける（`10vw` は 1 度も効かない）。携帯幅の
	 * `7rem` は calc(7 * 2.5445292621vw) である.
	 */
	.pa-branch__content .page-branch .profile-list {
		grid-template-columns: calc(7 * 2.5445292621vw) auto;
		gap: calc(0.6 * 2.5445292621vw) 1.5vw;
		font-size: calc(1.4 * 2.5445292621vw);
	}

	/*
	 * 角丸・カードの内余白・カードの中のすきま。上の表のとおり、移行元は
	 * どの携帯幅でも中央の `vw` が効く。両端を px で書いた `clamp()` だと
	 * 320px と 749px で別の枝に落ちる.
	 */
	.pa-branch__content .page-branch .feature-image img,
	.pa-branch__content .page-branch .data-container,
	.pa-branch__content .page-branch .profile-card {
		border-radius: 1.5vw;
	}

	.pa-branch__content .page-branch .profiles-grid {
		gap: 4vw;
	}

	.pa-branch__content .page-branch .card-inner {
		gap: 3vw;
		padding: 4vw;
	}

	/*
	 * 🚨 男女比の 2 枚組も同じ型である（写し 1050〜1067 行）。
	 * すきまは `clamp(1rem, 3vw, 2rem)` で、携帯幅ではどこでも中央の `3vw` が
	 * 効く。イラストの下余白は `0.5rem` である。
	 *
	 * 2 枚の幅（`clamp(80px, 20vw, 130px)`）は移行元も px で書いているので
	 * 触らない。ここが `rem` かどうかは 1 つずつ写しを見て決める.
	 */
	.pa-branch__content .gender-illustration {
		gap: 3vw;
	}

	.pa-branch__content .gender-item img {
		margin-bottom: calc(0.5 * 2.5445292621vw);
	}

	/* --- 男女比の札と矢印（Bug #1433 の節。写し 1069〜1087 行） --- */
	.pa-branch__content .gender-arrow {
		margin-bottom: calc(1.5 * 2.5445292621vw);
		font-size: calc(4 * 2.5445292621vw);
	}

	.pa-branch__content .gender-label {
		font-size: calc(1.6 * 2.5445292621vw);
	}
}

/* --- 区画 6: コンシェルジュ紹介（Task #3549）------------------------------
   写し元: public/branch/assets/css/style.css 1254〜1387 行（記録版 fdb412698）。
   移行元は CSS の入れ子（`&`）で書いているので、ここでは平らに開く。

   ## 何が違っていたか（実測・幅 1440px）

   区画の外形の差は +22px しかないが、**中身は横 2 列が縦積みに落ちている**。
   器（`.concierge-container`）が移行元 `flex` 対 dev `block` で、
   顔写真の柱が 256px 対 1100px、白い箱が 804px 対 1100px になっていた。
   白い箱の地色・角の丸み・内余白（72/60/64px）・吹き出しの三角・
   小見出しの丸い飾り 4 件も、いずれも dev に 1 件も無かった。
   **外形が近いことを中身が合っている証拠にしない**型の実例である。

   ## 当て先を `.pa-profile-new` で絞っていない理由

   `concierge-*` と `content-block` / `content-title` の目印は、移行元の店舗ページ
   199 本（パソコン版 119 + 携帯版 80）の全数走査で**新デザインの 6 ページにしか
   出ない**。旧デザインの店舗ページには 1 件も無いので漏れない。逆に
   `.pa-profile-new`（dev では銀座・新宿・静岡・岡山の 4 件だけ）を前置すると、
   移行元で新デザインになった名古屋店と横浜店（Issue #3546 で切り替える）に
   当たらなくなる。動いて初めて出る名前（`slick-*`）だけは前置が要る。

   ## 携帯幅は「スマートフォン幅（749px 以下）」の節にある

   移行元は携帯幅を土台にする作りだが、このファイルは 749px 以下を末尾の 1 つの帯に
   まとめる決めなので、そちらへ置いた（この節の中に `@media (max-width: 749px)` を
   作ると、後ろの帯の同名の規則に並び順で負ける）. */

/* 区画の下の間隔（写し 1255 行）. */
.pa-branch__content .page-branch .concierge-section {
	margin-bottom: clamp(64px, 35px + 7.72vw, 120px);
}

/* 🚨🚨 **岡山店だけ、この区画の下の間隔が 0 である（Bug #4614）。**移行元の CSS は
   この区画を持つ 6 店（新宿・銀座・横浜・名古屋・静岡・岡山）すべてへ上の
   `clamp(...)` を当てているが、**岡山店の HTML は区画の要素そのものに
   `style="margin-bottom: 0"` を書いている**（移行元 `branch/chugoku/okayama.html` の
   830 行）。移行元の 6 店を全数で調べ、行内の指定が在るのは岡山だけであることを
   確かめた。

   **投入の消毒は `style` 属性を落とす**ので（`scripts/pa-cms/sanitize-allowlist.json` の
   `global_attributes` は `class` / `id` / `lang` / `dir` / `title` / `data-*` だけ）、
   dev の本文にこの行内の指定は残らない。許可の一覧を変えると全ページへ波及するため、
   **見た目は CSS で再現する**（司令塔の裁定 608）。落ちた行内の指定を全数で数える調査は
   Bug #4673 が受け持つ。

   🚨 **幅で分けない。**新デザインの店舗の移行元は 1 枚の頁を幅で作り替える作りで
   （`okayama.html` は `width=device-width`。`/sp/` 側に店舗詳細は無く、あるのは
   エリアの一覧 `index_okayama.html` だけである）、行内の指定は**どの幅でも効く**。
   この規則は当たり先の強さが (0,4,0) で、後ろに在る携帯幅の節の (0,3,0) より強いので、
   携帯幅でも 0 が勝つ（取り決め 47 の順序と強さの両方を確かめた）。

   店ごとの印（`pa-branch-store--okayama`）は `inc/branch-store-class.php` が付ける。
   実測（幅 1440px）: 区画の高さは両側とも 1,949px で一致し、**下の外余白だけ**が
   移行元 0px 対 dev 120px だった（区画としては 2,637.18px 対 2,757.18px の
   +120.00px）. */
.pa-branch-store--okayama .pa-branch__content .page-branch .concierge-section {
	margin-bottom: 0;
}

/* 2 列の器（写し 1257〜1269 行）。左右の余白は `auto`（写し 1258 行の
   `margin: 0 auto`）で、移行元は共通の `.content-wrap` の左右 2rem を
   ここで打ち消している. */
.pa-branch__content .page-branch .content-wrap.concierge-container {
	display: flex;
	flex-direction: row;
	/* 🚨 写し 1266 行。移行元の注釈に「これがないと Sticky が効かなくなります」と
	   ある。落とすと下の追従（`position: sticky`）が死ぬ。
	   **移行元に無い `align-items` を足すのではなく、移行元が書いている 1 本である**. */
	align-items: flex-start;
	gap: 40px;
	padding-top: clamp(40px, 29.7px + 2.76vw, 60px);
	margin-inline: auto;
}

/* 左の柱（写し 1274〜1286 行）。顔写真と名前を縦に積み、スクロールに追従する. */
.pa-branch__content .page-branch .concierge-profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	/* 写し 1279 行は `position: relative` で、750px 以上だけ `sticky` に変わる
	   （写し 1285 行）。`sticky` も位置の基準になるので、下の三角（`::after`）は
	   どちらでも当たる。749px 以下の帯で `relative` へ戻す. */
	position: sticky;
	top: 120px;
	width: clamp(160px, 20vw, 256px);
	flex-shrink: 0;
}

/* 追従する柱から右へ出る白い三角（写し 1289〜1297 行）。移行元は 750px 以上だけ. */
.pa-branch__content .page-branch .concierge-profile::after {
	content: "";
	position: absolute;
	top: 40%;
	right: -40px;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-right: 20px solid #fff;
}

/* 名前（写し 1300〜1308 行）。パソコン幅は写真が先・名前が後になる. */
.pa-branch__content .page-branch .concierge-profile .profile-name {
	margin: 0;
	font-size: 16px;
	font-weight: bold;
	order: 2;
	/* 移行元はこの見出しに字間を書いていない。テーマの記事用の見出しが
	   `letter-spacing: 0.05em` を当てるので `normal` へ戻す. */
	letter-spacing: normal;
}

/* 顔写真（写し 1311〜1322 行）。dev は幅の指定が無く原寸 512px が出ていた. */
.pa-branch__content .page-branch .concierge-profile .profile-image {
	width: clamp(160px, 20vw, 256px);
	order: 1;
}

.pa-branch__content .page-branch .concierge-profile .profile-image img {
	width: 100%;
	height: auto;
	border-radius: clamp(5px, 1vw, 10px);
}

/* 右の白い箱（写し 1329〜1341 行）. */
.pa-branch__content .page-branch .concierge-content {
	position: relative;
	flex: 1;
	margin: 0 0 40px;
	padding: clamp(64px, 59.9px + 1.1vw, 72px) clamp(20px, -0.7px + 5.52vw, 60px) clamp(32px, 15.4px + 4.41vw, 64px);
	border-radius: clamp(10px, 3vw, 20px);
	background-color: #fff;
}

/* 白い箱の上に出る吹き出しの三角（写し 1344〜1356 行）。
   移行元は携帯幅で出し、750px 以上で畳む。ここでは畳んだ状態を土台にして、
   749px 以下の帯で `display: block` に戻す. */
.pa-branch__content .page-branch .concierge-content::before {
	content: "";
	display: none;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 20px solid #fff;
}

/* 文章のかたまり（写し 1360〜1365 行）。最後の 1 つだけ下の間隔を 0 にする. */
.pa-branch__content .page-branch .concierge-content .content-block {
	margin-bottom: clamp(40px, 27.6px + 3.31vw, 64px);
}

.pa-branch__content .page-branch .concierge-content .content-block:last-child {
	margin-bottom: 0;
}

/* 小見出し（写し 1368〜1372 行）。文字色 #996a1a はこのファイルの
   「移行してきた本文」の節が既に当てているので**二重に書かない**. */
.pa-branch__content .page-branch .concierge-content .content-title {
	position: relative;
	z-index: 1;
	margin-bottom: clamp(32px, 27.9px + 1.1vw, 40px);
}

/* 小見出しの後ろに敷く丸い飾り（写し 1374〜1385 行）。
   🚨 投入は CSS の背景画像を 1 点も取り込まないので、絵は
   assets/branch/images/bg-cc-subheading-01.webp として先に置いた
   （記録版 fdb412698 の public/branch/assets/img/common/ から取り出したもの）. */
.pa-branch__content .page-branch .concierge-content .content-title::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: clamp(50px, 8vw, 70px);
	height: clamp(50px, 8vw, 70px);
	transform: translate(-50%, -50%);
	background: url("../branch/images/bg-cc-subheading-01.webp?ver=e9438197c272") center/contain no-repeat;
}


/* --- 区画 9: コースと料金 + ご成婚までの流れ（Task #3549）-----------------
   写し元: public/branch/assets/css/style.css 2392〜2823 行（記録版 fdb412698）。

   ## 何が違っていたか（実測・幅 1440px）

   区画の高さが移行元 3321px 対 dev 4711px（+1390px）だった。出どころは 3 つで、
   ①横並びの器が縦積みに落ちている（お得なプランのバナー 2 枚が 521px → 1042px、
   ご来店の流れの 3 段が 341px → 1516px）②料金表の意匠が 1 つも当たっていない
   （金茶の見出し行・列幅・罫線・金額の強調）③前置きの文章の上の内余白 64px と
   中央寄せが無い。

   ## 幅の境目が 4 つ混ざる

   移行元はこの区画だけで 3 つの境目を使う。**750px**（並べ方と寄せ）・
   **920px**（料金表とカードの入れ替え・「円」の字）・**650px**（注記の寄せ）。
   テーマの携帯幅の境目 749px とも違うので、1 つにまとめない。

   ## 料金表が描かれるのは 920px 以上だけである

   移行元は料金の中身を 2 通り持ち、表（`.pc-only`）とカード 3 枚（`.sp-only`）を
   920px で入れ替える。dev もこの出し分けを既に持つ（このファイルの「料金の区画の
   出し分け」の節）。したがって `.pricing-table` 一式は 920px 以上でしか描かれず、
   その範囲では `1rem` が必ず 10px なので、**幅の条件で分けず px で書ける**。
   カードの側（`.plan-list`）は既に写されているのでここでは触らない。

   ## 移行元に書いてあっても写さない宣言が 3 件ある

   `.or`（0 件）・`.th-reg`（実物は `th-col`）・`.td-reg`（実物は `td-regc`）は、
   移行元の店舗ページ 199 本を走査しても**当たる相手が 1 つも無い**。
   移行元の CSS に在る宣言をそのまま期待値にしない（詳細度で負ける例だけでなく、
   当てる相手が存在しない例もある）。列幅は `.th-course` の 328px だけが効く. */
/* --- 区画 9-1: 料金（写し 2392〜2506 行） ---------------------------- */

/* P9-1 前置きの文章（写し 2396〜2401 行）. */
.pa-branch__content .page-branch .pricing-section .pricing-desc {
	padding-top: clamp(40px, 27.6px + 3.31vw, 64px);
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

/* P9-2 「円」（写し 2410〜2415 行）。境目は 920px である. */
.pa-branch__content .page-branch .pricing-section .yen {
	padding-left: 1px;
	font-size: 12px;
}

/* P9-3 料金の器の下余白（写し 2418 行）。出し分けは main.css:21498 に在る. */
.pa-branch__content .page-branch .pricing-section .pricing-detail {
	margin-bottom: 16px;
}

/* P9-4 注記（写し 2432〜2436 行）。境目は 650px である. */
.pa-branch__content .page-branch .pricing-section .c-text-note {
	margin-bottom: 32px;
}

/* P9-5〜P9-8 料金表（写し 2449〜2506 行）。
   🚨 描かれるのは 920px 以上だけなので `1rem` は必ず 10px に解ける。
   幅の条件で分けず px で書く. */
.pa-branch__content .page-branch .pricing-table {
	text-align: center;
	font-weight: bold;
	/* 🚨 テーマは本文の表へ下の外余白 25px を当てる。移行元の初期化は 0 である。
	   この 25px は器（`.pricing-detail`）の下の外余白 16px と重なって外へはみ出し、
	   節の高さを 9px 増やしていた（重なると大きいほうが残るため 25 − 16 = 9px）. */
	margin-bottom: 0;
}

/* セルの姿（写し 2455〜2461 行）。
   🚨 表そのものへ当てた中央寄せ（写し 2450 行）は、このファイルの店舗ページの節が
   `th` と `td` へ当てる `text-align: left`（詳細度 (0,2,0)）に負けるので、
   セルの側で当て直す。左寄せに戻すのは `.td-course` だけである（写し 2485 行）。
   縦のそろえ（`middle`）は Bug #3445 で 8 班が `.pa-profile-new` 付きで入れた 1 本を
   ここへ寄せたものである（当たる範囲が 4 → 6 ページに広がるが値は同じ。移行元の
   店舗ページ 199 本を走査して `.pricing-table` は新デザインの 6 ページにしか
   無いことを確かめた）。同じ当て先の規則を 2 本に割ると、当て先ごとに値を縛る
   検査が最初の 1 本しか読まないので、この 1 本にまとめてある. */
.pa-branch__content .page-branch .pricing-table :is(th, td) {
	padding: 11px;
	border: 1px solid #996a1a;
	vertical-align: middle;
	text-align: center;
	font-size: 18px;
	/* 移行元は共通 CSS の `*{line-height:1.5}` が当たる（宣言としては無い）. */
	line-height: 1.5;
}

.pa-branch__content .page-branch .pricing-table thead {
	background-color: #996a1a;
	color: #fff;
}

/* 🚨 **列名の文字色は、束（`thead`）に書くだけでは届かない（Bug #4244）。**
   移行元は列名の要素そのものに文字色を書かず、束の白を受け継がせる。移行先も
   束に白を書いてあるが、このファイルの店舗ページの節が
   `.pa-branch__content th { color: var(--pa-color-accent) }`（桃 #fd7b7d）を
   **列名の要素そのもの**へ当てるため、受け継ぎより勝ってしまう。**要素そのものへ
   書いた値は、祖先からの受け継ぎより必ず勝つ**（詳細度の大小とは別の話である）。
   実測（銀座店・パソコン幅 1440px・2026-09-07）では列名 5 本すべてが
   **移行元 rgb(255,255,255) 対 dev rgb(253,123,125)** だった。

   当て先に `.pricing-table thead` を挟んであるので、**所在地・営業時間の表の
   見出しの桃色には届かない**（そちらは移行元と一致しているので変えない）. */
.pa-branch__content .page-branch .pricing-table thead th {
	border-color: #fff;
	color: #fff;
}

.pa-branch__content .page-branch .pricing-table thead .th-course {
	width: 328px;
}

/* 🚨 移行元が列の幅を持つのは `.th-course`（328px）だけで、残りの 4 列は表の
   自動割り付けに任せている。dev はこのファイルの店舗ページの節が `th` へ 150px
   （`--pa-branch-term-width`）を当てるため、コース名の列が 328px に収まらず
   388.44px まで広がり、**説明の文章が 2 行から 1 行に減って行の高さが 24px 低く
   なる**（実測。表全体で 48px の差になっていた）。`:not()` の除外はその規則の
   全宣言に掛かるので、この規則には `width` 以外を混ぜない. */
.pa-branch__content .page-branch .pricing-table thead th:not(.th-course) {
	width: auto;
}

.pa-branch__content .page-branch .pricing-table tbody td {
	border-color: #996a1a;
}

.pa-branch__content .page-branch .pricing-table tbody .td-course {
	padding: 24px;
	text-align: left;
}

.pa-branch__content .page-branch .pricing-table tbody .td-course .course-name {
	margin-bottom: 5px;
	color: #996a1a;
	font-size: 20px;
}

.pa-branch__content .page-branch .pricing-table tbody .td-course .course-desc {
	font-size: 16px;
	font-weight: normal;
}

/* 🚨 `course-price` は旧デザインの店舗ページにも在るので、
   新デザインにしか無い `.pricing-table tbody` で絞る（節 2）. */
.pa-branch__content .page-branch .pricing-table tbody .course-price {
	padding: 24px 0;
	font-size: 28px;
}

/* --- 区画 9-2: お得なプランと pac（写し 2661〜2702 行） --------------- */

/* P9-9 2 つの区画の上下（写し 2663〜2664・2700〜2701 行）. */
.pa-branch__content .page-branch .subline-section,
.pa-branch__content .page-branch .option-section {
	padding-top: clamp(64px, 55.7px + 2.21vw, 80px);
	margin-bottom: clamp(64px, 55.7px + 2.21vw, 80px);
}

.pa-branch__content .page-branch .subline-section {
	margin-bottom: 0;
}

/* P9-10 題（写し 2666〜2668 行）。`main.css:20336` の 20px に勝つ詳細度にする. */
.pa-branch__content .page-branch .subline-section .c-heading-m,
.pa-branch__content .page-branch .option-section .c-heading-m {
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

/* P9-11 説明の文章（写し 2669〜2674 行）. */
.pa-branch__content .page-branch .subline-desc,
.pa-branch__content .page-branch .option-desc {
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

/* P9-12 バナーの並び（写し 2676〜2685 行）. */
.pa-branch__content .page-branch .subline-bnr,
.pa-branch__content .page-branch .option-bnr {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/* 🚨 テーマは本文の一覧（`ul` / `ol`）へ下の外余白 25px を当てる。移行元の
	   初期化は 0 である。この 25px は節の外へはみ出し、お得なプランと pac の間を
	   25px 広げていた（実測）. */
	margin-bottom: 0;
}

/* P9-13 バナーの間（写し 2686〜2693 行）. */
.pa-branch__content .page-branch .subline-bnr li,
.pa-branch__content .page-branch .option-bnr li {
	margin-bottom: clamp(24px, 15.7px + 2.21vw, 40px);
}

.pa-branch__content .page-branch .subline-bnr li:last-child,
.pa-branch__content .page-branch .option-bnr li:last-child {
	margin-bottom: 0;
}

/* P9-14 バナーの角丸（写し 2695〜2697 行）. */
.pa-branch__content .page-branch .subline-bnr img,
.pa-branch__content .page-branch .option-bnr img {
	border-radius: clamp(5px, 1.5vw, 10px);
}

/* --- 区画 9-3: ご来店の流れ（写し 2706〜2823 行） --------------------- */

/* P9-15 注記の上の空き（写し 2707〜2709 行）. */
.pa-branch__content .page-branch .coming-section .c-text-note {
	margin-top: 8px;
}

/* P9-16 題（写し 2711〜2716 行）。中に `<p>` を持つ `h3` である. */
.pa-branch__content .page-branch .coming-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: clamp(20px, 13.8px + 1.66vw, 32px);
}

/* 🚨 移行元は「クラスを持たない段落」へ上余白 1em を当てている
   （移行元の共通 CSS の `.contents p:not([class])`。CDP で当たっている規則を
   読んで特定した）。`div.contents` の包みは dev に無いので、この 1em が
   落ちていた。区画 6〜9 でこの規則の相手になるのは**この段落 1 つだけ**である
   （移行元の区画 6〜9 をすべて走査して 1 件）。器を絞って写す. */
.pa-branch__content .page-branch .coming-title > p:not([class]):first-child {
	margin-top: 1em;
}

/* 🚨 dev では投入した本文の `<span class="icon-time">` が、段落へ包まれている
   （wpautop が `<p>` を足す）。段落は自分の行の高さ 50.39px を持つので、
   移行元の札の高さ 43.19px（内余白 8px + 16px を含む）と食い違い、題が
   20.8px 低くなる。**包みを無かったことにして、札そのものを並びの要素へ戻す**。
   包みの中身（札）が持つ地色と内余白は下の規則がそのまま当たる. */
.pa-branch__content .page-branch .coming-title > p:has(> .icon-time) {
	display: contents;
}

/* P9-17 所要時間の札（写し 2718〜2722 行）. */
.pa-branch__content .page-branch .coming-title .icon-time {
	padding: 8px 16px;
	background: #996a1a;
	color: #fff;
}

/* P9-18 説明の文章（写し 2725〜2729 行）. */
.pa-branch__content .page-branch .coming-desc {
	margin-bottom: clamp(16px, 11.9px + 1.1vw, 24px);
}

/* P9-19 3 段の流れ（写し 2731〜2740 行）. */
.pa-branch__content .page-branch .coming-list {
	display: flex;
	flex-direction: column;
	gap: 32px;
	counter-reset: step-number;
	/* 🚨 テーマは本文の一覧へ一律に 25px の下余白を与える
	   （`.entry-content :is(ul, ol)` の `--pa-article-paragraph-gap`）。移行元は 0 で、
	   この一覧は区画の最後に来るので、25px がそのまま区画の高さに乗っていた
	   （Bug #4516・2026-09-08 の実測）。ご成婚報告の段落と同じ構図である. */
	margin-bottom: 0;
}

/* P9-20 1 段ぶん（写し 2742〜2747 行）. */
.pa-branch__content .page-branch .coming-list > li {
	position: relative;
}

/* P9-21 携帯幅だけの下向きの三角（写し 2749〜2768 行）. */
.pa-branch__content .page-branch .coming-list > li::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -24px;
	left: 50%;
	width: 0;
	height: 0;
	transform: translateX(-50%);
	border-style: solid;
	border-width: 15px 20px 0 20px;
	border-color: #e0e0e0 transparent transparent transparent;
}

.pa-branch__content .page-branch .coming-list > li:last-child::after {
	display: none;
}

/* P9-22 段の題（写し 2769〜2775 行）。
   🚨 `letter-spacing: normal` は移行元に宣言が無いことを写す打ち消しである
   （テーマの `.entry-content :is(h2〜h6)` が 0.05em を当てる。節 4 の T-4）. */
.pa-branch__content .page-branch .coming-list > li h4 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 15px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: normal;
}

/* P9-23 連番の丸（写し 2777〜2790 行）. */
.pa-branch__content .page-branch .coming-list > li h4::before {
	counter-increment: step-number;
	content: counter(step-number);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #b6b694;
	color: #fff;
	font-size: 18px;
}

/* P9-24 写真（写し 2793〜2801 行）. */
.pa-branch__content .page-branch .coming-img-wrap {
	position: relative;
}

.pa-branch__content .page-branch .coming-img-wrap img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: clamp(5px, 1.5vw, 10px);
}

/* ---- 750px 以上だけの上書き ---- */
@media (min-width: 750px) {
	/* 写し 2400・2673・2728 行. */
	.pa-branch__content .page-branch .pricing-section .pricing-desc,
	.pa-branch__content .page-branch .subline-desc,
	.pa-branch__content .page-branch .option-desc,
	.pa-branch__content .page-branch .coming-desc {
		text-align: center;
	}

	/* 写し 2683〜2684 行. */
	.pa-branch__content .page-branch .subline-bnr,
	.pa-branch__content .page-branch .option-bnr {
		flex-direction: row;
		gap: clamp(40px, 29.7px + 2.76vw, 60px);
	}

	/* 写し 2691〜2692 行. */
	.pa-branch__content .page-branch .subline-bnr li,
	.pa-branch__content .page-branch .option-bnr li {
		margin-bottom: 0;
	}

	/* 写し 2738〜2739 行. */
	.pa-branch__content .page-branch .coming-list {
		flex-direction: row;
	}

	/* 写し 2744〜2746 行. */
	.pa-branch__content .page-branch .coming-list > li {
		width: calc((100% - 64px) / 3);
		max-width: 340px;
	}

	/* 写し 2762〜2763 行. */
	.pa-branch__content .page-branch .coming-list > li::after {
		display: none;
	}

	/* P9-25 パソコン幅だけの右向きの三角（写し 2803〜2816 行）. */
	.pa-branch__content .page-branch .coming-img-wrap::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: -16px;
		width: 0;
		height: 0;
		transform: translate(50%, -50%);
		border-style: solid;
		border-width: 20px 0 20px 15px;
		border-color: transparent transparent transparent #e0e0e0;
	}

	/* 写し 2819〜2820 行. */
	.pa-branch__content .page-branch .coming-list > li:last-child .coming-img-wrap::after {
		display: none;
	}
}

/* ---- 920px 以上だけの上書き（写し 2413〜2415 行）---- */
@media (min-width: 920px) {
	.pa-branch__content .page-branch .pricing-section .yen {
		font-size: 18px;
	}
}

/* ---- 650px 以上だけの上書き（写し 2434〜2436 行）---- */
@media (min-width: 650px) {
	.pa-branch__content .page-branch .pricing-section .c-text-note {
		text-align: right;
	}
}

/* --- 区画 7・8: 利用者の声 + 成婚ストーリー + デートスポットの 2 列組み（Task #3549）
   写し元: legacy/www.p-a.jp/public/branch/assets/css/style.css の 1546〜1700 行
   （記録版 fdb412698）。

   この節はパソコン幅（750px 以上）の姿を土台に書く。携帯幅へ戻す指定は、
   このファイルの下の `@media (max-width: 749px)` にまとめてある。

   🚨 移行元の `rem` を、そのまま `rem` で写してはいけない。移行元は
   750px 以上で `html { font-size: 10px }` を敷くので `4rem` は 40px だが、
   このテーマの根は 16px のままで `4rem` は 64px になる（実測で確認）。
   この節の `rem` はすべて 10 倍した px へ直してある。

   🚨 幅を決める規則は、書く前に CDP の `CSS.getMatchedStylesForNode` で
   両側に聞いた。dev 側は器にも題の側にも横送りの器にも、幅と並べ方の規則が
   1 本も当たっていない（当たるのはブラウザ既定の `div { display: block }` だけ）。
   よって選択子はクラス 3 個（詳細度 0,3,0）で足りる。これ以上強めない。
   確認の記録は pa-verify-assets/3207-ginza-0904/f11-measures.md にある. */

/* 🚨 テーマは店舗ページの `section` すべてに下 60px（携帯幅は 30px）の余白を与える
   （`.pa-branch__content section { margin-bottom: var(--pa-space-md) }`・詳細度 0,1,1）。
   移行元の 3 つの区画は下の余白を持たず、区画どうしの間隔は上下の内余白だけで作る。
   打ち消さないと 3 区画で 180px 伸びる（実測で確認）. */
.pa-branch__content .page-branch :is(.experience-section, .story-section, .spot-section) {
	margin-bottom: 0;
}

/* 区画の上下の余白（写し 1549〜1555 行）. */
.pa-branch__content .page-branch .experience-section {
	padding: clamp(56px, 68.1px - 1.1vw, 64px) 0 clamp(64px, 88.3px - 2.21vw, 80px);
}

.pa-branch__content .page-branch .story-section {
	padding: 0 0 clamp(64px, 88.3px - 2.21vw, 80px);
}

/* 3 つの器（写し 1556〜1569 行）。パソコン幅は横並び。
   🚨 `width` は書かない。3 つとも `content-wrap` を併せ持ち、テーマの
   `.pa-branch__content .page-branch .content-wrap { width: auto }` と詳細度が
   同点（どちらも 0,3,0）になる。書かなくても移行元と同じ 1100px が出ることを
   幅 1440px の実測で確かめた。
   🚨 移行元は同じ場所に `margin: 0 auto` も書いているが、これは移行元でも
   `.content-wrap` の左右 170px に負けて 1 度も効いていない（両側とも実測は
   `margin: 0px 170px`）。負けている宣言は写さない. */
.pa-branch__content .page-branch :is(.experience-container, .story-container, .spot-container) {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: clamp(20px, 5vw, 40px);
}

/* 成婚ストーリーだけ題の側が右に来る（写し 1592〜1597 行）. */
.pa-branch__content .page-branch .story-container {
	flex-direction: row-reverse;
	min-width: 0;
}

/* デートスポットの器（写し 1618〜1621 行）。すき間を持たず、上下に内余白を持つ. */
.pa-branch__content .page-branch .spot-container {
	gap: 0;
	padding: clamp(40px, 31.7px + 2.21vw, 56px) 0 clamp(56px, 68.1px - 1.1vw, 64px);
}

/* 題の側（写し 1570〜1578 行・1626〜1636 行）。幅は器の 35% で、縮まない。
   🚨 デートスポットの題の側の目印は `.spot-header-area` である。
   `.spot-header` は移行元にも dev にも存在しない. */
.pa-branch__content .page-branch :is(.experience-header, .story-header, .spot-header-area) {
	width: 35%;
	flex-shrink: 0;
	margin-bottom: 0;
}

/* デートスポットの題の側だけ縦積みの中央寄せ（写し 1626〜1630 行）. */
.pa-branch__content .page-branch .spot-header-area {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* 横送りの器（写し 1580〜1589 行）。幅 1440px で 675px になる（1100 × 0.65 − 40）。
   🚨 器のすき間は `clamp(20px, 5vw, 40px)` で縮むのに、ここで引く量は 40px 固定である。
   幅 750px では余り 450px に対してこの器が 447.48px になり、右端に 2.52px の隙が残る。
   これは移行元の姿なので、`gap` に合わせて丸めてはいけない（幅 750px の実測で確認）. */
.pa-branch__content .page-branch :is(.experience-section, .story-section, .spot-section) .slider-area {
	position: relative;
	width: calc(100% - 35% - 40px);
	min-width: 0;
	max-width: 100%;
	overflow: clip;
}

/* 🚨 体験談の器だけは、携帯幅でも中身を切る。出どころは店舗 CSS ではなく
   サイト共通 CSS（`public/assets/css/style.css`）の `.experience { overflow: clip }` で、
   幅の条件を持たないため全幅で効く。上の規則の `clip` は 750px 以上だけなので、
   成婚ストーリーとデートスポットは携帯幅で `visible` に戻る（実測で確認）。
   3 つを 1 本にまとめると、この差が消える。
   `.experience` は共通の目印なので、店舗ページへ絞って写す
   （体験談の一覧ページ /introduce/experience/ は担当が別）. */
.pa-branch__content .page-branch .experience {
	overflow: clip;
}

/* --- 区画 7・8: 題の側と 2 種の札の意匠（Task #3582） ---------------------
   写し元: legacy/www.p-a.jp/public/branch/assets/css/style.css（記録版 fdb412698）の
     1602〜1750 行  デートスポットの区画（背景・吹き出し・題・イラスト・札 5 件）
     1754〜1934 行  題の側と成婚ストーリーの札（題・惹句・札 9 件）
     1940〜1950 行  体験談の札のうち、写しと値が食い違う 1 件（下の E-2）
     2235〜2237 行  同 1 件（下の E-1）
   移行元は入れ子（& 記法）で書かれているので、ここでは平らに開いて書く。

   【段の分け方】この断片は移行元と同じ 4 段のうち 3 段を持つ。残る 1 段
   （`@media (max-width: 749px)`）は ins-3582-sp.css にあり、`main.css` の
   携帯幅の帯の中へ入れる。

     土台（幅の条件なし）  移行元の土台の宣言。`rem` は 10 倍した px
     @media (min-width: 750px)   移行元の 750px 以上の宣言だけ
     @media (min-width: 1080px)  移行元の 1080px 以上の宣言だけ（札の中身）
     @media (min-width: 1700px)  移行元の 1700px 以上の宣言だけ（背景の敷き方）
     ---- ここから下は ins-3582-sp.css ----
     @media (max-width: 749px)   土台の `rem` を vw へ置き換えるぶんだけ

   🚨 この節だけ、同じファイルの区画 7・8 の骨組み（Task #3549）と段の作りが違う。
   骨組みの側は「土台にパソコン幅の姿を書き、携帯幅で戻す」形だが、この節は
   「土台に移行元の土台（= 携帯幅）を書き、パソコン幅で上書きする」形である。
   移行元と同じ向きなので、`align-items: normal` のような打ち消しの 1 行が要らない。
   触る目印が骨組みの側と重ならないので、2 つの向きが混ざっても衝突しない。

   🚨 移行元の `rem` を、そのまま `rem` で写してはいけない。移行元は 750px 以上で
   `html { font-size: 10px }`、749px 以下で `2.5445292621vw` を敷くが、このテーマの
   根は 16px のままである（実測で確認）。この節の `rem` はすべて 10 倍した px へ直した。
   例外は `.tag` の内余白 `0.3em 0.6em` だけで、`em` は自分の字の大きさが基準なので
   換算しない。

   🚨 札の中身の境目は 750px ではなく **1080px** である。750〜1079px は
   「携帯幅の縦積みのまま `rem` だけ 10px に変わる」帯で、ここを 750px で切ると
   タブレット横向きの姿が丸ごと違う。

   🚨 選択子はクラス 3 個を基本にする。dev はこれらの要素に規則がほとんど当たって
   いない（本体が CDP の `CSS.getMatchedStylesForNode` で実測）。詳細度を上げるのは、
   下の注釈で理由を書いた 7 か所だけである. */

/* P7-7 題の側の器の中身の積み方（写し 1754〜1760 行）。
   🚨 `margin-bottom` はここに書かない。移行元 1759 行の
   `margin-bottom: clamp(2rem, 5vw, 4rem)` は、器の中の指定（移行元 1570〜1572 行・
   詳細度 0,3,0）の `margin-bottom: 0` に負けて 1 度も効かない。dev 側は
   このファイルの `:is(.experience-header, .story-header, .spot-header-area)` が
   すでに 0 を入れてある。
   🚨 デートスポットの `.spot-header-area` も同じ積み方だが、そちらは実装済みなので
   ここでは足さない（二重に書かない）. */
.pa-branch__content .page-branch .experience-header,
.pa-branch__content .page-branch .story-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* P7-8 題（写し 1762〜1774 行）。携帯幅は題が上（`order: 1`）で、左右に横線が付く。
   🚨 クラス 4 個にしてある。テーマの `.pa-branch__content .c-heading-m`
   （詳細度 0,2,0）が色 #231815 と下の外余白 20px を当てているので、
   クラス 3 個では移行元の #333333 と 24px に届かない。
   🚨 字間はここで書かない。`.c-heading-m` の `letter-spacing: 0.04em` は
   移行元の題も同じ値なので、打ち消す必要が無い. */
.pa-branch__content .page-branch .experience-header .experience-title,
.pa-branch__content .page-branch .story-header .story-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin: 0 0 24px;
	color: #333333;
	order: 1;
}

/* P7-9 題の左右の横線（写し 1776〜1782 行）。
   🚨 `clamp(30px, 10vw, 60px)` は px と vw が混ざるので 1 つの値に畳めない。
   原文のまま写す（幅 320px で 32px・375px で 37.5px・749px で 60px）. */
.pa-branch__content .page-branch .experience-header .experience-title::before,
.pa-branch__content .page-branch .experience-header .experience-title::after,
.pa-branch__content .page-branch .story-header .story-title::before,
.pa-branch__content .page-branch .story-header .story-title::after {
	content: "";
	width: clamp(30px, 10vw, 60px);
	height: 1px;
	background-color: #999999;
}

/* P7-10 惹句（写し 1796〜1800 行）。携帯幅は題の下（`order: 2`）で左寄せである。
   🚨 親（P7-7）が中央寄せなので、携帯幅の左寄せは明示しないと中央のままになる。
   🚨 クラス 4 個にしてある。段落の外余白を 0 に戻すテーマの規則
   （`:where(.pa-profile-new) … :is(p, dl)`・詳細度 0,2,1）に勝たせるためである. */
.pa-branch__content .page-branch .experience-header .experience-lead,
.pa-branch__content .page-branch .story-header .story-lead {
	margin: 0 20px 4px;
	order: 2;
	text-align: left;
}

/* P7-11 成婚ストーリーの札（写し 1820〜1836 行）。
   🚨 移行元の `rgb(from var(--color-text) r g b / 30%)`（相対色）は解いた値で書く
   （`--color-text` = #474747）。
   🚨 角丸の `var(--radius-s)` = `clamp(0.5rem, 1.5vw, 1rem)` は、750px 以上では
   `1.5vw` が必ず上限を超えるので常に 10px になる。
   🚨 `transition` の 2 つは、移行元に `box-shadow` と `transform` を変える規則が
   1 本も無いため見た目には出ない。写しの記録として残す。
   🚨 左右の外余白 24px は札が持つ（器の側は 0）。横送りの札と札の間隔でもあるので、
   横送りの実装と重なる（計画の判断待ち J-2）. */
.pa-branch__content .page-branch .story-card {
	display: flex;
	position: relative;
	flex-direction: column;
	width: 100%;
	margin: 0 24px;
	overflow: hidden;
	border: 1px solid rgb(from #474747 r g b / 30%);
	border-radius: clamp(5px, 1.5vw, 10px);
	background-color: #fff;
	transition:
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.pa-branch__content .page-branch .story-card:hover {
	color: #463d3c;
	opacity: 0.8;
}

/* P7-12 写真（写し 1844〜1857 行）。
   🚨 `object-fit` の宣言は移行元に無い。デートスポットの札（P8-8）は持つので、
   同じ形に見えても値が違う。足さない. */
.pa-branch__content .page-branch .story-card .card-thumb {
	width: 100%;
	aspect-ratio: 1.5;
}

.pa-branch__content .page-branch .story-card .card-thumb img {
	width: 100%;
	height: 100%;
}

/* P7-13 文章の箱（写し 1866〜1871 行）。
   🚨 `clamp(1.2rem, 3vw, 1.5rem)` は 750px 以上では `3vw` が必ず上限を超えるので
   常に 15px になる。携帯幅は最小の項が勝つ（ins-3582-sp.css を見る）. */
.pa-branch__content .page-branch .story-card .card-body {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 8px;
	padding: clamp(12px, 3vw, 15px);
}

/* P7-14 巻数（写し 1879〜1881 行）。1080px 以上の上書きは無いので、
   札の中で 1 件だけ 14px のままになる. */
.pa-branch__content .page-branch .story-card .card-vol {
	color: #996a1a;
	font-size: 14px;
}

/* P7-15 札の題（写し 1884〜1888 行）。
   🚨 クラス 4 個にしてある。テーマの `.entry-content :is(h2, h3, h4, h5, h6)`
   （詳細度 0,1,1）が上の外余白と字間 0.05em を当て、`.entry-content h3` が
   字の大きさ（携帯幅 19px・パソコン幅 22px）を当てているためである。
   🚨 `letter-spacing: normal` は「移行元に字間の宣言が無い」ことを写す打ち消しである。
   🚨 文字色は書かない。`--pa-color-heading` は `body.pa-profile-new` のとき #474747 で、
   移行元の受け継ぎ色と一致する（新デザインの目印が付いていない名古屋店・横浜店だけは
   金 #a3762b のままになる。計画の未確認 U-1）. */
.pa-branch__content .page-branch .story-card .card-title {
	margin: 0;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: normal;
}

/* P7-16 札の面のどこを押してもリンクが開く仕掛け（写し 1893〜1903 行）。
   親の `.story-card` が `position: relative` を持つので、これが札の全面を覆う。
   🚨 これが無いと押せる範囲が題の文字だけになる。
   移行元 1894〜1895 行の `color: inherit` と `text-decoration: none` は書かない。
   dev の `body.pa-profile-new a { text-decoration: none }` と
   `--pa-color-link: var(--pa-color-text)`（= #474747 = 移行元の `--color-text`）で
   値が一致している. */
.pa-branch__content .page-branch .story-card .card-title .card-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* P7-17 札の本文（写し 1906〜1909 行）。
   🚨 行送りは移行元の 1.7 である。dev の段落の既定は 1.8 なので、明示しないとずれる。
   下の外余白 5px も移行元に宣言が在るので写す（dev の既定は 0 に戻されている）. */
.pa-branch__content .page-branch .story-card .card-text {
	margin: 0 0 5px;
	font-size: 14px;
	line-height: 1.7;
}

/* P7-18 目印の並び（写し 1917〜1920 行）。`div` なので一覧の外余白の問題は起きない. */
.pa-branch__content .page-branch .story-card .card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

/* P7-19 目印 1 つ（写し 1922〜1927 行）。
   🚨 内余白の単位は `em`（自分の字の大きさが基準）なので、`rem` の換算をしない。
   字の大きさを直すと内余白も一緒に動く。
   🚨 行送り 1.4 は、dev の `:where(…) * { line-height: 1.5 }` と違うので明示する. */
.pa-branch__content .page-branch .story-card .card-tags .tag {
	padding: 0.3em 0.6em;
	background-color: #996a1a;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
}

/* E-2 体験談の札の下の READ の帯の角丸（写し 1946〜1950 行）。
   移行元の店舗ページは `0 0 var(--radius-s) var(--radius-s)` を当てており、
   750px 以上では 10px になる。dev は体験談の一覧ページ由来の固定 9px を写している
   （`:is(.entry-content, .page-content__body) .stories-list .read-btn`・詳細度 0,3,0）。
   🚨 クラス 4 個にして勝たせる。当て先は店舗ページの体験談の区画だけに閉じる。
   携帯幅の値は ins-3582-sp.css にある（幅 375px で 5.63px・差 3.38px）。
   🚨 体験談の札はこの 1 件と下の E-1 以外は触らない。dev の写しは移行元と一致している. */
.pa-branch__content .page-branch .experience .read-btn {
	border-radius: 0 0 10px 10px;
}

/* E-3 体験談の札の幅と左右の外余白と字の組み（Task #3647）。
   移行元の店舗 CSS（`public/branch/assets/css/style.css`）は 3 か所に分かれている。
   ・1940〜1942 行 `& .experience { & .flexBox--3col .flexBox__item { margin: 0 2.4rem } }`
     … 札の左右へ 24px の外余白を置く。札そのものには幅を与えない。
   ・2019〜2022 行 `& .experience .stories-list { & a { @media (min-width: 1080px)
     { max-width: 61.6rem } } }` … 幅を決めているのは札を包むリンクのほうである。
   ・2202〜2208 行 `& .experience .stories-list__item` … 字 1.6rem・行送り 1.53・
     上ぞろえ・左寄せ・箱の数え方を枠込みにする。同じ規則の中の
     `margin: 0 2.5rem 5rem 0` は上の 1941 行（詳細度 0,4,0）に負けていて効かない。
   🚨 dev はテーマの 3 列組み `:is(.entry-content, .page-content__body)
   .flexBox--3col .flexBox__item { margin: 0; width: calc((100% - 50px) / 3) }`
   （詳細度 0,3,0・このファイルの後ろにある）に負け、幅 1440px で札が 208.33px・
   左右の外余白が 0 になっていた。ここはクラス 5 個（詳細度 0,5,0）にして勝たせる。
   🚨 **札の幅と左右の外余白は 1 組である。**片方だけ直すと札が横送りの器から
   はみ出す。携帯幅の外余白と字の大きさは、このファイル末尾の 749px の帯にある。
   🚨 `display: block` は移行元の横送りの CSS（`public/branch/js/slick.css` の
   101〜104 行 `.slick-initialized .slick-slide { display: block }`）が与えている。
   写しは横送りを自前で作っていてこの 1 本を持たないため、`li` の既定の `list-item`
   のままだった。成婚ストーリーとデートスポットの札は既に移行元と一致しているので、
   3 つの横送りに共通の当て先ではなく、体験談の札にだけ足す. */
.pa-branch__content .page-branch .experience .stories-list__item.flexBox__item {
	display: block;
	box-sizing: border-box;
	margin: 0 24px;
	font-size: 16px;
	line-height: 1.53;
	text-align: left;
	vertical-align: top;
}

/* 札の面をそのまま覆うリンクの文字色（移行元 2010〜2013 行
   `& .experience .stories-list { & a { color: #000 } }`）。dev は本文の色 #474747 を
   受け継いでいて、札の中の会員のプロフィールが移行元より薄かった。
   下線を外す指定とマウスを載せたときの色は、テーマ側の
   `:is(.entry-content, .page-content__body) .stories-list a` が既に持っているので、
   ここでは色だけを足す. */
.pa-branch__content .page-branch .experience .stories-list a {
	color: #000;
}

/* P8-1 デートスポットの区画の背景（写し 1602〜1608 行）。
   🚨 移行元 1607 行の `padding: clamp(3rem, 6vw, 5rem) 0` は**注釈で消えている**ので
   写さない。生きた宣言と取り違えない。
   🚨 絵は投入が CSS の背景画像を 1 点も取り込まないため、テーマの資産
   （assets/branch/images/）に置いたものを相対パスで参照する。
   🚨 `overflow: hidden` は札が左右へ 24px 出るのを切るために要る.
   🚨 灰色の地 #f6f6f6 は移行元の区画の規則には無い（Bug #10065）。区画は透明で、移行元の
   共通の `/assets/css/style.css` の `.contents { background-color: #f6f6f6 }`（`main.contents`）が
   透けて見えている。dev にはその器が無く、携帯幅では白（`main#site-main`）、パソコン幅では
   `body` の色が透けていた。「コンシェルジュおすすめ！」の札の絵は白い角丸なので、白い地では
   見えなくなる。器ごと塗ると他の区画まで変わるので、この区画にだけ同じ色を敷く.
   🚨 `isolation: isolate` は地の色と一緒に要る。パソコン幅の札の本文の箱（`.spot-card-body`）は
   `z-index: -1` を持つ。区画が重なりの文脈を作らないと、箱は区画の地の色と背景の絵より下に描かれ、
   灰色に隠れる（下見の実測）。区画を文脈にすると、箱は地と背景の絵の上に来る。移行元も、箱は
   白く塗られ、背景の線画は箱に重ならない（地の色を足す前の dev は、線画が箱の上に透けていた）. */
.pa-branch__content .page-branch .spot-section {
	isolation: isolate;
	overflow: hidden;
	background-color: #f6f6f6;
	background-image: url("../branch/images/bg-cc-spot-01_sp.webp?ver=a6a738723120");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100%;
}

/* P8-4 吹き出しの絵（写し 1637〜1642 行）。絵そのものは本文の `<img>` なので投入済み。
   🚨 `clamp(22rem, 26vw, 30rem)` は 750px 以上では 220px から始まり、
   幅 1154px 以上で上限の 300px に届く. */
.pa-branch__content .page-branch .spot-section .speech-bubble {
	width: clamp(220px, 26vw, 300px);
}

.pa-branch__content .page-branch .spot-section .speech-bubble img {
	width: 100%;
	height: auto;
}

/* P8-5 デートスポットの題の下の外余白（写し 1646〜1649 行）。
   文字色 #996a1a はこのファイルの前方の規則がすでに当てているので書かない。
   🚨 クラス 4 個にしてある。`.pa-branch__content .c-heading-m`（詳細度 0,2,0）の
   下の外余白 20px に勝たせるためである. */
.pa-branch__content .page-branch .spot-section .spot-title {
	margin: 0 0 15px;
}

/* P8-6 イラスト（写し 1651〜1660 行）。
   🚨 `clamp(176px, 38vw, 280px)` は px と vw が混ざるので 1 つの値に畳めない。
   原文のまま写す。749px で 280px・750px で 176px と 104px 縮むので、
   境目をまたいで比べるときは 749px と 750px の 2 枚を並べる. */
.pa-branch__content .page-branch .spot-section .spot-illustration {
	width: clamp(176px, 38vw, 280px);
}

.pa-branch__content .page-branch .spot-section .spot-illustration img {
	width: 100%;
	height: auto;
}

/* T-4 イラストの `figure` の下の外余白の打ち消し。
   移行元のサイト共通 CSS は `figure` の外余白を 0 に初期化している。dev のテーマは
   本文の `figure` へ下 25px（携帯幅 18px）を足すので、イラストの下に余分な空きが出る
   （中身は `figure > picture > img` の入れ子である）。
   🚨 当て先はイラストの器の中だけに閉じる。`.entry-content figure` そのものを
   書き換えると、店舗ページ以外の 5,000 件超の本文へ波及する。
   詳細度は (0,4,1) で、相手の `.entry-content figure`（0,1,1）に勝つ. */
.pa-branch__content .page-branch .spot-section .spot-illustration figure {
	margin: 0;
}

/* P8-7 デートスポットの札（写し 1675〜1682 行）。
   🚨 角丸は**固定の 8px** である。成婚ストーリーの札（P7-11）は `var(--radius-s)` で
   幅に比例するので、同じ「札の角丸」でも別の値になる。
   🚨 相対色は解いた値で書く（`--color-text` = #474747）。
   🚨 左右の外余白 24px は札が持つ（P7-11 と同じ。判断待ち J-2）. */
.pa-branch__content .page-branch .spot-section .spot-card {
	display: flex;
	flex-direction: column;
	margin: 0 24px;
	overflow: hidden;
	border: 1px solid rgb(from #474747 r g b / 30%);
	border-radius: 8px;
	background-color: #fff;
}

/* P8-8 写真（写し 1694〜1710 行）。
   🚨 成婚ストーリーの札と違い `object-fit: cover` を持つ. */
.pa-branch__content .page-branch .spot-section .spot-card-image {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.pa-branch__content .page-branch .spot-section .spot-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* P8-9 文章の箱（写し 1715〜1716 行）。
   🚨 `clamp(1.6rem, 4vw, 2.4rem)` は 750px 以上では `4vw` が必ず上限を超えるので
   常に 24px になる. */
.pa-branch__content .page-branch .spot-section .spot-card-body {
	padding: clamp(16px, 4vw, 24px);
}

/* P8-10 札の題（写し 1731〜1734 行）。
   🚨 クラス 4 個にしてある。理由は P7-15 と同じ（テーマの本文の見出しの既定に勝たせる）。
   🚨 `letter-spacing: normal` は「移行元に字間の宣言が無い」ことを写す打ち消しである。
   行送り 1.5 は dev の既定と同じ値だが、移行元に宣言が在るので写す. */
.pa-branch__content .page-branch .spot-section .spot-card-title {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: normal;
}

/* P8-11 札の本文（写し 1740〜1744 行）。
   外余白 0 と行送り 1.8 は dev がすでに同じ値を持つので書かない。
   ただし当たるのは新デザインの目印が付いた 4 店だけである（計画の未確認 U-1）. */
.pa-branch__content .page-branch .spot-section .spot-card-desc {
	color: #474747;
	font-size: 14px;
}

/* ---- 750px 以上だけの上書き（写し 1610〜1613・1654〜1655・1785〜1792・
        1802〜1812 行） ---- */
@media (min-width: 750px) {
	/* E-4 会員のプロフィールの器の内余白（Task #3647）。移行元 1956〜1962 行は
	   750px 以上で `padding: 0 2rem`（= 0 20px）、749px 以下で
	   `padding: 0 1.5rem 1.5rem` である。**下の内余白は狭い画面にしか無い。**
	   dev はしあわせレポートと体験談の一覧ページ由来の `padding: 0 20px 20px` を
	   写しており、750px 以上でも下に 20px が残って札が 20px 高かった。
	   749px 以下は dev の写しが移行元と同じ式（1.5rem 相当の vw）を持つので触らない. */
	.pa-branch__content .page-branch .experience .stories-list .profile {
		padding: 0 20px;
	}

	/* P7-8 写し 1785〜1787 行。題が惹句の下へ回り、下の外余白が 0 になる。
	   左右の外余白は土台の 0 のまま残る. */
	.pa-branch__content .page-branch .experience-header .experience-title,
	.pa-branch__content .page-branch .story-header .story-title {
		margin-bottom: 0;
		order: 2;
	}

	/* P7-9 写し 1789〜1792 行。題の左右の横線を消す. */
	.pa-branch__content .page-branch .experience-header .experience-title::before,
	.pa-branch__content .page-branch .experience-header .experience-title::after,
	.pa-branch__content .page-branch .story-header .story-title::before,
	.pa-branch__content .page-branch .story-header .story-title::after {
		display: none;
	}

	/* P7-10 写し 1802〜1812 行。惹句が題の上へ回り、中央寄せの金茶になり、
	   下に飾りの絵が敷かれる。
	   🚨 **左右の外余白 20px は土台のまま残る**（移行元が上書きするのは下だけである）。
	   🚨 絵は投入で入らないので、テーマの資産へ置いたものを参照する。
	   この 1 点は 750px 以上でだけ画面に出る. */
	.pa-branch__content .page-branch .experience-header .experience-lead,
	.pa-branch__content .page-branch .story-header .story-lead {
		margin-bottom: 10px;
		padding-bottom: 50px;
		order: 1;
		background-image: url("../branch/images/icon-cc-story-01.webp?ver=5ee40ade0cbc");
		background-position: bottom center;
		background-repeat: no-repeat;
		background-size: contain;
		color: #996a1a;
		text-align: center;
	}

	/* P8-1 写し 1610〜1613 行。背景の絵をパソコン用へ差し替え、器を覆う敷き方にする. */
	.pa-branch__content .page-branch .spot-section {
		background-image: url("../branch/images/bg-cc-spot-01_pc.webp?ver=0619d4f8f25f");
		background-position: center top;
		background-size: cover;
	}

	/* P8-6 写し 1654〜1655 行。イラストの式そのものが別のものへ入れ替わる。
	   🚨 幅 750px では `18vw` = 135px が最小の項に負けて 176px になる. */
	.pa-branch__content .page-branch .spot-section .spot-illustration {
		width: clamp(176px, 18vw, 196px);
	}
}

/* ---- 1080px 以上だけの上書き（写し 1684〜1690・1698〜1705・1718〜1728・
        1735〜1737・1746〜1748・1838〜1841・1848〜1861・1873〜1876・
        1890〜1892・1911〜1913・1929〜1931 行）
        🚨 **札の中身の境目は 750px ではない。**750〜1079px は札が縦積みのまま
        `rem` だけ 10px に変わる帯である ---- */
@media (min-width: 1080px) {
	/* E-3 幅 1080px 以上だけ、体験談の札が中身なりの幅になる（移行元は
	   `variableWidth: true`）。幅を決めるのは札を包むリンクの `max-width: 61.6rem`
	   （移行元 2019〜2022 行）で、札そのものはテーマの 3 列組みが与える `width` を
	   打ち消して中身なりに戻す。実測（幅 1440px・移行元）は 616px である。
	   🚨 1080px 未満では横送りの写しが札へ `flex: 0 0 calc(100% - 48px)` を与えており、
	   `flex-basis` が `width` に勝つのでテーマの 3 列組みは表に出ない。
	   だから `width: auto` へ戻すのは 1080px 以上だけでよい. */
	.pa-branch__content .page-branch .experience .stories-list__item.flexBox__item {
		width: auto;
	}

	.pa-branch__content .page-branch .experience .stories-list a {
		max-width: 616px;
	}

	/* P7-11 写し 1838〜1841 行。札が横並びになり、幅の上限が付く. */
	.pa-branch__content .page-branch .story-card {
		flex-direction: row;
		max-width: 616px;
	}

	/* P7-12 写し 1848〜1861 行。写真が左の 45%、縦横比の指定は外れる. */
	.pa-branch__content .page-branch .story-card .card-thumb {
		width: 45%;
		padding: 24px;
		flex-shrink: 0;
		aspect-ratio: auto;
	}

	.pa-branch__content .page-branch .story-card .card-thumb img {
		max-width: 240px;
		height: auto;
	}

	/* P7-13 写し 1873〜1876 行。文章の箱が右の 55%、左の内余白だけ 0 になる. */
	.pa-branch__content .page-branch .story-card .card-body {
		width: 55%;
		padding: 24px 24px 24px 0;
	}

	/* P7-15 写し 1890〜1892 行. */
	.pa-branch__content .page-branch .story-card .card-title {
		font-size: 18px;
	}

	/* P7-17 写し 1911〜1913 行. */
	.pa-branch__content .page-branch .story-card .card-text {
		font-size: 16px;
	}

	/* P7-19 写し 1929〜1931 行。
	   🚨 `.card-vol` はここで大きくならない（移行元に上書きが無い）。
	   大きくなるのは題・本文・目印の 3 つだけである. */
	.pa-branch__content .page-branch .story-card .card-tags .tag {
		font-size: 14px;
	}

	/* P8-7 写し 1684〜1690 行。
	   🚨 ここで**札の地色と枠線が消える**。白く見えるのは中の文章の箱だけになる. */
	.pa-branch__content .page-branch .spot-section .spot-card {
		max-width: 616px;
		flex-direction: row;
		align-items: flex-start;
		border: none;
		background-color: transparent;
	}

	/* P8-8 写し 1698〜1705 行。
	   🚨 `28.8vw` が上限の 320px に届くのは画面幅 1111.11px 以上である。
	   幅 1080px ちょうどでは写真が 311.04px で、札は 616px ではなく 607.04px になる。
	   「1080px を越えたら 616px」と決め打ちで検算しない. */
	.pa-branch__content .page-branch .spot-section .spot-card-image {
		width: clamp(216px, 28.8vw, 320px);
		height: auto;
		overflow: hidden;
		border-radius: 16px;
		flex-shrink: 0;
		aspect-ratio: auto;
	}

	/* P8-9 写し 1718〜1728 行。
	   🚨 `position: relative` と `z-index: -1` と左の外余白 −24px は 3 つで 1 組みである。
	   文章の箱を写真の下へ 24px 潜らせるための作りで、1 つでも落とすと箱が写真の上に出る。
	   🚨 移行元 1720 行の `clamp(25.6rem, 45%, 32rem)` と 1722 行の `flex: 1` は
	   注釈で消えているので写さない. */
	.pa-branch__content .page-branch .spot-section .spot-card-body {
		position: relative;
		z-index: -1;
		max-width: 320px;
		margin: 24px 0 0 -24px;
		padding: 24px 32px 24px 48px;
		border-radius: 16px;
		background-color: #fff;
	}

	/* P8-10 写し 1735〜1737 行. */
	.pa-branch__content .page-branch .spot-section .spot-card-title {
		font-size: 18px;
	}

	/* P8-11 写し 1746〜1748 行. */
	.pa-branch__content .page-branch .spot-section .spot-card-desc {
		font-size: 16px;
	}
}

/* ---- 1700px 以上だけの上書き（写し 1615〜1617 行）。
        🚨 この境目は区画 8 にしか出てこない ---- */
@media (min-width: 1700px) {
	.pa-branch__content .page-branch .spot-section {
		background-size: contain;
	}
}

/* ==============================================================
 * 区画 10: 申し込み導線の帯（.cta・Bug #4243）
 * 写し元: public/assets/css/style.css の 6350〜6416 行（.cta 一式）、
 *         5963〜6035 行（.more-button）、5426〜5432 行（矢印）、
 *         5360〜5363 行（.center）、5808〜5811 行（.small-caption）、
 *         5440〜5442 行（.contents p:not([class])）
 *
 * ------------------------------------------------------------------
 * この区画が出しているもの
 * ------------------------------------------------------------------
 * 「まずは無料婚活体験へ」の帯である。中央に題と説明文を置き、3 枚の札を横に
 * 並べ、その下に赤い押しボタンと注記を置く。
 *
 * 出るのは**新デザインの 5 店すべて**（銀座・新宿・岡山・名古屋・静岡）である。
 * 移行元と dev の両側で札（`.cta__topic--item`）の数を数えて一致を確かめた
 * （どの店も 2 区画 × 3 枚 = 6）。
 *
 * 🚨 **名古屋店と静岡店の道すじは `tokai` ではなく `chubu` である。**
 * `/branch/tokai/nagoya.html` は移行元が 404 を返し、dev は
 * `/branch/branch-tokai-nagoya/` に投稿が無い。**最初にその道すじで数えて「この
 * 2 店はこの区画を持たない」と誤って報告し、あとで訂正した。**dev の道すじは
 * 投稿名から作られるので移行元の道すじからは推し量れない（正本
 * reference_dev_url_comes_from_post_name）。数える前に両側で 200 が返ることを
 * 確かめる。
 *
 * ------------------------------------------------------------------
 * 何が起きていたか
 * ------------------------------------------------------------------
 * **この区画には移行先の CSS が 1 本も当たっていなかった。**テーマはこの区画を
 * トップページ用に `front-` を頭に付けた別の名前（`.front-cta` / `.front-cta__topics`
 * / `.front-cta__topic`）で作り直し、部品も `template-parts/front/cta.php` から
 * 出している。いっぽう店舗詳細の本文は**投入した移行元の markup そのまま**で、
 * 名前は移行元の `section.cta` / `.cta__title` / `.cta__topic` /
 * `.cta__topic--item` / `.more-button.reverse` である。この名前に当たる規則が
 * 無いため、区画がまるごと素の並びで出ていた。
 *
 *   実測（銀座店・パソコン幅 1440px・2026-09-07。当たり先 46 本のうち 37 本が差あり）
 *     札           移行元 320×89px・地色 #f5f3ed  対 dev 1440×110.19px・地色 透明
 *     ボタン       移行元 349.67×80px の赤い箱    対 dev 217.05×17px の素のリンク文字
 *     題の強調     移行元 40.32px の赤            対 dev 28px の本文色
 *     区画の内余白 移行元 84px / 21px             対 dev 0
 *
 * ------------------------------------------------------------------
 * 🚨 当たり先に `.page-branch` を挟んではいけない
 * ------------------------------------------------------------------
 * **この区画はページに 2 つあり、2 つ目は `div.page-branch` の外に置かれている**
 * （このファイルの登場の演出の節に同じ注意書きがある）。実測でも 2 つ目の区画は
 * dev では幅 1,100px の器の中に入り、移行元では幅 1,440px の全幅である。よって
 * 器は `.pa-branch__content` までにする。トップページの `.front-cta*` の規則には
 * 触らない（あちらは別の名前・別の部品である）。
 *
 * ------------------------------------------------------------------
 * 移行元の色の変数について
 * ------------------------------------------------------------------
 * 移行元は `var(--main-color)` を使う。実測は rgb(245, 72, 81) で、テーマの
 * `--pa-color-accent-strong` が `body.pa-profile-new` のとき同じ値になる。この
 * 区画は新デザインの店舗にしか出ないので、直値を書かずこの変数を使う。
 * -------------------------------------------------------------- */

/* 帯そのもの（写し 6350 行）。
   🚨 **下の外余白をテーマの区画の既定から 0 へ戻す。**テーマは
   `.pa-branch__content section`（詳細度 (0,1,1)）へ区画の下余白（1440px で 60px）を
   当てる。移行元はこの帯に外余白を持たない（実測で四辺すべて 0px）。ここはクラス
   2 つ（(0,2,0)）なので勝つ. */
.pa-branch__content .cta {
	margin: 0;
	background: #fff;
	padding: 3em 1.5em;
	/* 🚨 **行送りも移行元の 1.5 へ戻す。**移行元は初期化の `* { line-height: 1.5 }` が
	   当たる（宣言としては無い）。dev の 2 つ目の帯は `div.page-branch` の外に在り、
	   本文の既定（1.8）を受け継いで 25.2px になっていた。1 つ目の帯は
	   `div.page-branch` の中なので 21px で合っていた。**同じ区画なのに片方だけ
	   ずれる形なので、両方が通る器で書く**. */
	line-height: 1.5;
}

/* 🚨 **2 つ目の帯を画面いっぱいへ戻す。**移行元は 2 つの帯をどちらも幅を絞らない器
   （`main.contents`）の直下に置くので、どちらも画面幅（実測 1440px）になる。dev は
   1 つ目だけが `div.page-branch` の中に在り、そこがテーマの負の外余白で画面幅へ
   戻されている。2 つ目は本文の柱（1,130px の器の内寸 1,100px）に入ったままで、
   **実測で 1,100px 対 1,440px（−340px）**だった。`.page-branch` と同じやり方
   （幅 100vw と左右の負の外余白）で戻す。当て先を直下（`>`）に絞ってあるので、
   `div.page-branch` の中に在る 1 つ目には当たらない。

   縦スクロールバーのぶんは `.pa-branch__content .page-branch` と同じく器側の
   `overflow-x: hidden` が切り落とす. */
.pa-branch__content > .cta {
	margin-inline: calc(50% - 50vw);
	width: 100vw;
}

/* 🚨 **説明文の上の間隔は、名前を持たない段落にだけ付く**（写し 5440 行の
   `.contents p:not([class])`）。移行元は帯の中に段落が 2 つあり、説明文は名前を
   持たないので 1em = 14px が付き、注記を包む `p.center` は名前を持つので 0 の
   ままである。実測（銀座店・パソコン幅 1440px）で説明文 14px 対 注記の段落 0px
   だった。**両方へ付けると注記の位置がずれる**ので、除外を必ず書く。
   移行元の `.contents` はページ全体に当たるが、ここでは帯の中に閉じる. */
.pa-branch__content .cta > p:not([class]) {
	/* 下の外余白も 0 へ戻す。テーマの本文の段落の既定（25px）が、`div.page-branch`
	   の外に在る 2 つ目の帯の説明文に付いていた（実測 0px 対 25px）. */
	margin: 1em 0 0;
}

/* 題（写し 6354 行）。移行元は初期化で見出しの外余白が 0 になっており、大きさは
   ブラウザ既定の 1.5em のままである。dev はテーマの見出しの既定（28px・上 50px・
   下 20px・左寄せ）が当たっていた. */
.pa-branch__content .cta__title {
	margin: 0;
	font-size: 1.5em;
	/* 🚨 **字間もテーマの見出しの既定から戻す。**テーマの
	   `.entry-content :is(h2, h3, h4, h5, h6)` が `letter-spacing: 0.05em` を当てる。
	   移行元はこの題に字間を書かず `normal` である。**字間は計算後の長さとして
	   受け継がれる**ので、題に 1.26px（25.2px の 5%）が付くと中の強調の字にも
	   そのまま伝わり、強調の幅が 241.92px 対 249.48px（+7.56px）になっていた. */
	letter-spacing: normal;
	text-align: center;
}

/* 題の中の強調（写し 6357 行）. */
.pa-branch__content .cta__title span {
	border-bottom: 2px solid var(--pa-color-accent-strong);
	color: var(--pa-color-accent-strong);
	font-weight: 700;
}

/* 札の一覧（写し 6362 行）。狭い画面は縦、750px 以上で横に並べる。
   移行元は初期化で箇条書きの点と内余白を落としているので、そこも写す。

   🚨 **寄せをテーマの箇条書きの既定から受け継ぎへ戻す。**移行元はこの一覧に寄せを
   書かず、帯の中央寄せを受け継ぐ。**寄せは受け継がれるので、ここで止まると札と
   その中の絵まで左寄せになる**（実測で移行元 center 対 dev left が一覧・札 3 枚・
   絵 3 枚の 7 本に出ていた）。

   🚨 **寄せだけは `body.pa-profile-new` を前置した別の 1 本で当て直す**（すぐ下）。
   左寄せを当てている規則のうち強いほうは
   `:is(.entry-content, .page-content__body) :is(ol, ul, …, .story_inner .archive_ttl)`
   である。**`:is()` の強さは中でいちばん強い引数で決まる**ので、2 つ目の `:is()` は
   `.story_inner .archive_ttl`（クラス 2 つ）で数えられ、合わせて**クラス 3 つ
   （(0,3,0)）になる**。クラス 2 つでも 3 つでも引き分けか負けで、後に在るあちらが
   勝った（実測で 2 度とも左寄せが残った）。あちらは移行元の旧デザインの共通 CSS
   （`public/css/common.css` の 266〜269 行「ol, ul は左寄せ」）を写したもので、
   **店舗詳細の新デザインはその共通 CSS を読まない**ため、ここでは受け継ぎへ戻すのが
   移行元と同じ姿である. */
.pa-branch__content .cta .cta__topic {
	display: flex;
	flex-direction: column;
	gap: 1em;
	margin: 2em 0 0;
	list-style: none;
	padding: 0;
}

/* 寄せだけを当て直す 1 本。`body` の型を 1 つ足して (0, 3, 1) にし、上の注意書きの
   規則（(0, 3, 0)）に勝たせる。この帯が出るのは新デザインの 3 店だけで、3 店とも
   `body` に `pa-profile-new` を持つ（実際に取得して確かめた）. */
body.pa-profile-new .pa-branch__content .cta .cta__topic {
	text-align: inherit;
}

/* 札 1 枚（写し 6368 行）。
   行送りは移行元の初期化の 1.5 に戻す。テーマは `.entry-content li` へ本文の行送り
   （1.8）を**行そのものに**当てるので、器の 1.5 は受け継がれない（2 つ目の帯で
   実測 21px 対 25.2px）. */
.pa-branch__content .cta__topic--item {
	display: flex;
	overflow: clip;
	align-items: center;
	border-radius: 1em;
	background: #f5f3ed;
	list-style: none;
	line-height: 1.5;
}

/* 札の中の絵（写し 6375 行）。行の中の要素にしないことで、絵の下に付く文字の
   下ぶんの余りを消す. */
.pa-branch__content .cta__topic--item img {
	display: block;
}

/* 札の中の文（写し 6378 行）。移行元は `margin: 0 !important` を書くが、ここは
   クラス 2 つと型 1 つ（詳細度 (0,2,1)）でテーマの段落の既定に勝てるので
   `!important` は要らない. */
.pa-branch__content .cta__topic--item p {
	flex: 1;
	margin: 0;
	padding-inline: 1em;
	color: #664500;
	font-weight: 700;
	/* 移行元は初期化の `p { line-height: 1.8 }` が当たる（宣言としては無い）. */
	line-height: 1.8;
	letter-spacing: 0;
}

/* 文の中の強調（写し 6387 行）。実測 17.5px（14px の 1.25 倍）。
   行送りは段落の 1.8 でなく初期化の 1.5 に戻る（実測 26.25px = 17.5 × 1.5）. */
.pa-branch__content .cta__topic--item p span {
	display: block;
	font-size: 1.25em;
	line-height: 1.5;
}

/* 注記を包む段落（写し 5360 行の `.center`）。
   外余白はテーマの段落の既定から 0 へ戻す（移行元は初期化のまま 0）. */
.pa-branch__content .cta .center {
	overflow: clip;
	margin: 0;
	line-height: 1.8;
	text-align: center;
}

/*
 * 注記（写し 5808 行）。実測 11.9px（14px の 0.85 倍）・行送り 17.85px（1.5 倍）。
 *
 * 🚨 **当たり先を無料婚活体験の帯（`.cta`）から店舗の本文の全体へ広げた（Bug #5428）。**
 * 移行元はこの宣言をサイト共通 CSS の**囲いの外**に、**ページを絞らずに**置いている。
 *
 *     .small-caption { font-size: 0.85em; letter-spacing: 0; }
 *
 * `.cta` に絞っていたため、**デートスポットの札の注記（`.spot-section` の中）に
 * 当たらず、受け継いだ 16px のまま**だった。その結果、横浜店の 2 枚目の札
 * （ワンダリア横浜・「※画像はAIが生成したイメージです」）が **1 行から 2 行に折れ**、
 * 横送りの区画が **28.8px 高くなっていた**（説明文の行送り 16px × 1.8 のちょうど 1 行分）。
 *
 * 実測（幅 1440px・2026-09-10 00:1x。移行元は写しを配って測った）:
 *
 *   | 見るところ | 移行元 | dev（直す前） |
 *   |------------|--------|---------------|
 *   | 字の大きさ | **13.6px** | **16px** |
 *   | 行送り     | **20.4px** | **24px** |
 *   | 墨         | 209.86 × 16・矩形 **1 個** | 230.89 × 48.8・矩形 **2 個** |
 *   | 器の高さ   | 675 × **281.78** | 675 × **310.58** |
 *
 * 🚨 **移行元のように絞らない形（素の `.small-caption`）は採らない。**「共有の部品を
 * 隠す指定は必ずページを絞る」の決まりに反し、トップと入会案内の**組み札を付け替えた
 * 手当て**（`.front-point__caption` / `.front-point__note-caption` /
 * `.front-cta__note-caption`。Bug #2071・Task #3380）と二重になる恐れがあるためである。
 *
 * 🚨 **行送り 1.5 は広げた先でも正しい。**移行元の注記は 13.6px / 20.4px（= 13.6 × 1.5）、
 * dev は 16px / 24px（= 16 × 1.5）で、**どちらも 1.5** だった。字の大きさを直せば
 * 行送りは自動でそろう。
 *
 * 🚨 **規則を 2 本に増やさない**（司令塔の指示・2026-09-10 00:2x）。同じ値の規則が
 * 2 本あると、あとから片方だけ直される。`.cta` の中の注記もこの広い当たり先で
 * 同じ値が当たる（検査 `pa-cms-branch-cta` の当たり先もここへそろえた）.
 */
.pa-branch__content .small-caption {
	font-size: 0.85em;
	line-height: 1.5;
	letter-spacing: 0;
}

/* 押しボタン（写し 5963 行）。移行元は `.more-button` を器で絞らずに書くが、
   ここでは帯の中に閉じる。外余白の 2em はこの要素自身の字の大きさが基準なので、
   750px 未満は 28px、1050px 以上は 42px になる（実測 42px）. */
.pa-branch__content .cta .more-button {
	display: grid;
	position: relative;
	place-items: center;
	margin: 2em auto 0;
	border: 2px solid var(--pa-color-accent-strong);
	border-radius: 2em;
	background-color: #fff;
	padding: 0 3em;
	width: 100%;
	max-width: 320px;
	height: 60px;
	color: var(--pa-color-accent-strong);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

/* ボタンの中の矢印（写し 5980 行）。`top: 50%` は枠線の内側の高さを基準にするので、
   高さ 80px・枠線 2px のとき 38px になる（実測 38px）. */
.pa-branch__content .cta .more-button svg {
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 1.5em;
	height: 1.5em;
}

/* 赤地の版（写し 5988 行）。店舗詳細の 2 つの帯はどちらもこの版である. */
.pa-branch__content .cta .more-button.reverse {
	border: 2px solid #fff;
	background-color: var(--pa-color-accent-strong);
	color: #fff;
}

/* 矢印の丸と線（写し 5426 行）。丸は文字色を塗りに使うので、赤地の版では白くなる. */
.pa-branch__content .cta .arrow-circle {
	fill: currentColor;
}

.pa-branch__content .cta .arrow-path {
	fill: none;
	stroke: #fff;
}

/* 赤地の版の矢印の線だけ赤へ戻す（写し 5993 行）. */
.pa-branch__content .cta .more-button.reverse .arrow-path {
	stroke: var(--pa-color-accent-strong);
}

/* ---- 750px 以上だけの上書き（写し 6391〜6416 行）---- */
@media (min-width: 750px) {
	.pa-branch__content .cta {
		padding-block: 6em;
		text-align: center;
	}

	.pa-branch__content .cta__title {
		margin-bottom: 1em;
		font-size: 1.8em;
	}

	.pa-branch__content .cta__title span {
		margin-inline: 0.1em;
		padding-bottom: 0.1em;
		font-size: 1.6em;
	}

	/* 当たり先は素の姿と同じクラス 3 つにそろえる（上の注意書きの理由）. */
	.pa-branch__content .cta .cta__topic {
		flex-flow: row wrap;
		justify-content: center;
	}

	.pa-branch__content .cta__topic--item {
		border: 2px solid #f5f3ed;
		width: 320px;
	}

	.pa-branch__content .cta__topic--item p {
		white-space: nowrap;
		text-align: left;
	}
}

/* ---- 1050px 以上だけの上書き（写し 6005〜6011 行）。
        🚨 移行元のボタンの切り替えは 1050px で、帯の 750px とは違う ---- */
@media (min-width: 1050px) {
	.pa-branch__content .cta .more-button {
		padding-inline: 2em 3.5em;
		max-width: fit-content;
		height: 80px;
		font-size: 1.5em;
	}
}

/* ---- 指し手が重ねられる環境だけの上書き（写し 6012〜6035 行）---- */
@media (hover: hover) {
	.pa-branch__content .cta .more-button:hover {
		background-color: var(--pa-color-accent-strong);
		color: #fff;
	}

	.pa-branch__content .cta .more-button:hover .arrow-path {
		stroke: var(--pa-color-accent-strong);
	}

	.pa-branch__content .cta .more-button.reverse:hover {
		border: 2px solid var(--pa-color-accent-strong);
		background-color: #fff;
		color: var(--pa-color-accent-strong);
	}

	.pa-branch__content .cta .more-button.reverse:hover .arrow-path {
		stroke: #fff;
	}
}

/* ==============================================================
 * 移行してきた本文（エリアの入口ページと店舗一覧のページ）
 * 写し元: public/branch/css/style.css
 * ============================================================== */

/* 帯画像の器（.introduce_top）。写し元 branch/kansai/css/style.css 15〜18 行は
   `.introduce_top { margin: 0 auto 60px; width: 1270px; }` で、本文の柱
   （.single-content--branch の内寸 1,100px。このファイル「店舗ページの単独
   ページ」の節）より 170px 広い。柱そのものは広げず、この区画だけを外へ出す。

   書き方は、同じ 1,270px を扱う成婚ストーリーの帯（このファイルの
   #introduce_top の節。写し元 introduce/css/style.css 由来で値も同じ 1,270px）
   と揃えた。

   🚨 **訂正（Task #4238・2026-09-07）。**ここは以前
   「幅を上限として `min(1270px, 100vw)` で書き、画面が 1,270px より狭いときは
   画面幅いっぱいに留めて横スクロールを出さない（このリポジトリで固定幅を写すときの
   決まり）」と書いていた。**その決まりは裁定 265（750px 以上は移行元と同じく横
   スクロールを許容する）で覆った。**移行元は固定 1,270px で、画面が狭いと器が紙面から
   はみ出して横送りで届く。**いまは移行元と同じ固定幅にしてある**（変わるのは
   1,024〜1,269px の帯だけで、1,024px 未満は下の節でテーマ共通の器へ落ちる）。

   【狭い画面】🚨 **「移行元のエリア一覧は携帯版を持たず、/sp/ は PC 版へ転送する」と
   書いてあったが、これは事実と違った**（Bug #3345 の実測で訂正・2026-09-04）。
   携帯の名乗りで `https://www.p-a.jp/branch/kanto/` を開くと
   `https://www.p-a.jp/sp/branch/kanto/` へ転送され、**そこには専用のスマホ版が在る**
   （本文の器が `#other_contents` 1 区画で、題名画像も区画メニューも持たない）。
   都道府県の一覧（`/sp/branch/kanto/index_chiba.html`）も同じである。
   1,024px 未満をテーマ共通の本文の器へ戻す扱いはそのままでよいが、
   **携帯幅では帯ごと出さないのが移行元どおりである**（下の節で隠す）。

   【当てる範囲】.introduce_top を持つのはエリア一覧だけで、店舗詳細
   （/branch/branch-kansai-umeda/ 等）には無いことを配信 HTML で確かめてある
   （2026-09-02）。地図ページ・デートスポットのページにも同名の区画は無い。
   したがって .pa-branch__content で絞るだけで店舗ページの他の種類へは
   届かない. */
@media (min-width: 1024px) {
	.pa-branch__content .introduce_top,
	.pa-branch-archive .introduce_top {
		/* 🚨 移行元の固定幅である（Task #4238）。`min(…, 100vw)` へ戻してはいけない。 */
		width: 1270px;
		margin: 0 auto 60px;
		/* 🚨 **中央寄せの式の `min(…, 50vw)` は外さない。**これが移行元の
		   `margin: 0 auto` と同じ振る舞い（画面が器より狭いときは左端 0 で止まり、
		   右へだけはみ出す）を作っている。`calc(50% - 635px)` に変えると、
		   画面 1,024px で左端が −123px になり移行元の 0 とずれる（実測で判明）。 */
		margin-inline: calc(50% - min(635px, 50vw));
	}
}

/* 帯の中の見出し画像を包む段落（Bug #2932）。移行元はこの段落に下外余白を
   与えておらず、絵（170px）とタブの帯（50px）が接して帯の高さが
   **ちょうど 220px** になる。dev はテーマの本文の既定（下外余白 25px）が
   当たって 245px になっていた（170 + 25 + 50 で足し算が合う）。

   絵とタブの間に隙間を入れないため、ここで 0 へ戻す. */
@media (min-width: 1024px) {
	.pa-branch__content .introduce_top > p {
		margin-bottom: 0;
	}
}

/* --- 携帯幅では帯を出さない（Bug #3345） ------------------------
   移行元のスマホ版は、この帯（題名画像 `ttl_branch.jpg` と区画メニュー
   `ul.category_menu`）を 1 つも持たない。**実測（幅 375px・2026-09-04）**:
   `/sp/branch/kanto/` と `/sp/branch/kanto/index_chiba.html` はどちらも
   題名画像 0 件・区画メニュー 0 件で、本文は「関東エリアにあるパートナーエージェントを
   ご案内します。」のテキストの区画から始まる。

   dev は投入した本文にパソコン版の題名画像が入っているため、携帯幅で 345 × 55 の
   絵が出ていた（区画メニューのほうは、下の「区画メニュー」の節が携帯幅で既に隠している）。
   絵だけを隠すと空の帯が残って外余白ぶんの隙間ができるので、**帯ごと出さない**。

   一覧 `/branch/`（テーマの型紙が組む側）は、この節より下で
   `.archive-content--branch.pa-branch-archive .introduce_top` として既に隠してある。
   ここは**投入した本文を持つページ**（地域一覧 8 ページ・都道府県の一覧 48 ページ）が対象である。

   当て先を `.single-branch--branch` ではなく `.single-content--branch .pa-branch__content` に
   してあるのは、区画メニューを隠している既存の規則と同じ絞り方にそろえるためである。
   地図のページ（`branch-map_*link_s`）とデートスポットの詳細、店舗の詳細には
   この帯そのものが無いので届かない（地図のページは実測で 0 件・2026-09-04）. */
@media (max-width: 749px) {
	.single-content--branch .pa-branch__content .introduce_top {
		display: none;
	}
}

/* 上の帯が画面幅より広がる分、横スクロールを出さないための保険（このファイルの
   店舗ページ・成婚ストーリーの帯と同じ理由）。hidden ではなく clip を使うのは、
   hidden がスクロールの器を作ってヘッダーの貼り付き（position: sticky）を
   壊すためである。

   幅を 1,024px 以上に絞ってあるのは、はみ出しの原因（直前の .introduce_top の
   margin-inline の計算）がその幅でしか起きないためである。1,023px 以下では
   .introduce_top が普通の本文幅に戻るので、この保険も不要になる。以前は幅を
   絞らず全幅に効かせていたが、それだと後述のタブの帯（.category_menu）が
   狭い画面ではみ出したときに横スクロールで手当てする道まで塞いでしまう
   （PR #2754 のレビュー指摘・2026-09-02。結局はタブの帯の側を直したので
   実害は無くなったが、保険は保険の役目の幅だけに絞るのが安全である）. */
@media (min-width: 1024px) {
	body:has(.pa-branch__content .introduce_top),
	body:has(.pa-branch-archive .introduce_top) {
		overflow-x: clip;
	}
}

/* 支店紹介の入口の題名の画像（.introduce_top の中の h2 > img）。Bug #2931。
   入口はテーマが組み立てるページで、本文の囲み（.entry-content /
   .page-content__body）の中に無い。**そのため、この見出しにはテーマの見出しの
   規則が 1 つも当たらず、閲覧環境の既定がそのまま出る。**幅 1440px で測った差は
   次のとおりだった（2026-09-02）。

     移行元 h2  1270 × 170  外余白 0 / 0    字の大きさ 13px（受け継ぎ）
     dev   h2  1270 × 177.25  外余白 16.185 / 16.185  字の大きさ 19.5px

   19.5px は既定の `font-size: 1.5em`、16.185px は既定の `margin: 0.83em 0` の
   計算後の値である。帯の高さが 220px から 259.59px へ 39.59px 伸びていた。

   高さの残り 7.25px は、画像が行の中に並ぶときの下の余りである。**移行元は共通の
   CSS で `img { vertical-align: bottom }` を当てており**（実測。移行元の h2 が
   ちょうど 170px になるのはこれが理由）、下の余りが出ない。同じ指定を写す。
   画像を `display: block` にして消す手もあるが、移行元と違う仕組みで同じ見た目を
   作ると、あとで移行元と突き合わせた人が理由をたどれない.

   字の大きさを `inherit` に戻すのは、移行元が受け継ぎ（13px）だからである。画像
   だけの見出しなので見た目には出ないが、行の高さの計算に効く. */
.archive-content--branch.pa-branch-archive .introduce_top h2 {
	margin: 0;
	font-size: inherit;
}

.archive-content--branch.pa-branch-archive .introduce_top h2 img {
	vertical-align: bottom;
}

/* エリア切り替えタブの帯（.introduce_top の中の ul.category_menu）。写し元は
   店舗ページの写しではなく共通 public/css/style.css の #contents .category_menu
   （1324〜1334 行）である。

   width 1186px / height 49px / padding 1px 0 0 82px / margin 0 auto /
   background は bg_category_menu.gif の repeat-x。box-sizing が既定
   （content-box）なので外形は幅 1186 + 82 = 1268px・高さ 49 + 1 = 50px になる
   （2026-08-10 の実測 1268 × 50 と一致）。

   下の「移行してきた本文が使うクラス（会社情報・採用 /company/ 系）」の節に
   ある一般の .category_menu は、帯の背景画像を「移行できておらず参照すると
   403 になる」という理由で持ち込んでいなかった。この前提は変わっている
   （同節のコメントに書いた）。ここではその前提の変化を受けて、店舗のエリア
   一覧だけを直す（Bug #2681）。一般の規則は変えない（採用ページとの兼ね合いは
   同節のコメントを参照）。

   書き方は会社情報のタブ（このファイル 880 行の .pa-company-nav__list）と
   同じにした。align-items: flex-start も同じ理由で足す。既定（normal ＝
   実質 stretch）のままだと、画像より小さい高さのアンカーが帯の高さ 49px まで
   引き伸ばされ、移行元の float（上端そろえ）と違う見た目になる。

   【当てる範囲と詳細度】.category_menu は前述のとおり採用ページにも出るため、
   クラス 1 つでは絞れない。.single-content--branch と .pa-branch__content を
   前置し、店舗ページの単独ページだけに絞った。3 段（詳細度 3 クラス）にして
   あるのは、一般の規則（2 段）に書く順序へ依存せず必ず勝たせるためである
   （このファイルの `.single-content--branch .pa-branch__content` と同じ
   考え方）。地図ページ・店舗詳細にはそもそも .category_menu が無いため、
   このセレクタが働くのは実質エリア一覧だけである（配信 HTML で確認済み）。

   【狭い画面・2026-09-02 訂正】この節は当初「会社情報のタブも画面幅で場合分け
   していない」と書いていたが誤りだった（PR #2754 のレビュー指摘で発覚）。実際は
   .pa-company-nav__list（880 行）に 2 段の場合分けがあり、① 1,023px 以下は
   左の余白を外して中央寄せ、② 749px 以下は帯ごと非表示にしている。ここでは
   その 2 段をそのまま写す。

   ①は幅 1,268px の帯を 1,024〜1,023px の間に収めるための最小限の手当て。画像
   合計幅がタブの数だけ増えても、li に min-width: 0 を足せば flex の縮小規則
   （img 側の max-width: 100% と合わせて）で 1 行のまま縮む。nowrap のまま
   放置すると、min-width: 0 が無い li は画像の原寸未満に縮められず、帯からはみ出す
   （会社情報のタブ（.pa-company-nav__item）と同じ手当て。ここが抜けていたのが
   レビュー指摘の直接の原因である）。

   ②は移行元の携帯版を実機の代わりに配信 HTML で確かめて決めた。エリア一覧の
   携帯ミラー（/sp/branch/kansai/、版 19f499fe3）には category_menu どころか
   ul.introduce_top も無く、まったく別の簡易な組み（h2.category_ttl + shop_detail
   の並び）を返している。したがって「携帯幅でこのタブをどう見せるか」は移行元に
   写す相手が無い。会社情報のタブが同じ状況（移行元のスマートフォン用ミラーに
   カテゴリメニューが無い）で「隠して移行元へそろえる」と裁定した先例（880 行の
   コメント参照）に、ここもそろえた。隠しても迷子にならないのは、移行元の携帯用
   ハンバーガーメニュー（public/include/drawer_sp.shtml 64〜76 行）が「支店一覧」と
   9 エリアぶんのリンクを常設しており、エリアの切り替え先はそちらから届くためである. */
.single-content--branch .pa-branch__content .category_menu,
.archive-content--branch.pa-branch-archive .category_menu {
	/* 【土台をこの規則に持たせる理由】並びの土台（`display: flex` と
	   `list-style: none`）は、一般の規則
	   `:is(.entry-content, .page-content__body) .category_menu` が持つ。
	   **入口（archive-branch.php）はその囲みの中に無いので、土台が 1 つも
	   当たらない。**一般の規則の並びへ入口を足す手は使えない。**入口のセレクタは
	   クラス 3 つで、一般の規則の並びへ入れると詳細度が並び、ファイルの後ろに
	   ある一般の規則が勝ってしまう**（実測で外余白 40px と内余白 0 が残った・
	   2026-09-02）。そこで土台をこの規則が自分で持つ。エリア一覧では一般の規則
	   からすでに同じ値が効いているので、重ねても見た目は変わらない. */
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
	width: 100%;
	max-width: 1268px;
	height: 50px;
	margin: 0 auto;
	padding: 1px 0 0 82px;
	background: url("../images/company/bg_category_menu.gif?ver=a1247559d2f8") repeat-x;
	list-style: none;
}

.single-content--branch .pa-branch__content .category_menu li,
.archive-content--branch.pa-branch-archive .category_menu li {
	min-width: 0;
}

/* 🚨 **エリア一覧（archive-branch.php）はこの打ち消しから外す（Bug #4018）。**

   ここは 1,023px 以下で中央寄せにし、左の内余白 82px を落としていた。ところが
   **移行元は 750px でも 1,268 × 50px の帯を地の絵つきで出し、左の内余白 82px を
   保っている**（2026-09-06 の実測。1,050px と 1,280px も同じ）。移行先だけが
   750px で内余白 0・中央寄せになり、つまみが左端から始まっていた。

   本文に画面内ナビを持つページは、司令塔の裁定 187（Bug #3979）で
   **「幅だけを柱に合わせ、地の絵・内余白 82px・左詰め・折り返しなしは移行元
   どおりにする」**と決まっている。エリア一覧も同じ形にそろえる。土台の規則
   （この節の上）が既にその値を持っているので、ここから外すだけでよい。

   つまみが柱に収まらない幅では、上の `li { min-width: 0 }` と画像の
   `max-width: 100%` が働いて、折り返さずに縮んで 1 行に収まる。

   店舗の詳細（`.single-content--branch`）はこの Bug の対象外なので、これまでの
   ままにする。**あちらは 749px 以下で帯ごと隠す別の裁定（裁定 46）が効いており、
   750〜1,023px の姿は別に確かめる必要がある.** */
@media (max-width: 1023px) {
	.single-content--branch .pa-branch__content .category_menu {
		justify-content: center;
		padding: 1px 0 0;
	}
}

/* 移行元のエリア一覧は携帯幅で全く別の簡易ページを返し、そこにタブは無い
   （直前のコメント参照）。会社情報のタブ（880 行あたりの
   `@media (max-width: 749px) { .pa-company-nav, .pa-page-top { display: none; } }`）
   と同じ境目・同じ裁定にそろえ、ここでも帯ごと隠す. */
@media (max-width: 749px) {
	.single-content--branch .pa-branch__content .category_menu {
		display: none;
	}
}

/* 【入口も帯ごと隠す】移行元の入口には携帯版が実在する（/sp/branch/・記録版
   19f499fe3 で確認）。その携帯版は `section.introduce_top` を持たず、題名も
   `ttl_branch.jpg`（支店紹介）ではなく `main_ttl.gif`（支店一覧）の別の画像で
   出している。つまり携帯幅で ttl_branch.jpg を出すと**移行元に無いものを足す**
   ことになる。そのため帯ごと隠す（Bug #2931）。

   🚨 **以前ここには「エリアごとの一覧は題名の画像を残すのが正しい（移行元の
   エリア一覧は携帯版を持たず /sp/ が PC 版へ転送するため）」と書いてあったが、
   その前提は事実と違った**（Bug #3345 の実測で訂正・2026-09-04）。
   携帯の名乗りで `/branch/kanto/` を開くと `/sp/branch/kanto/` へ転送され、
   **そこには専用のスマホ版が在って題名の画像も区画メニューも持たない**。
   都道府県の一覧も同じである。よって**エリアごとの一覧・都道府県の一覧も
   入口と同じく帯ごと隠す**のが移行元どおりで、その規則はこのファイルの
   「携帯幅では帯を出さない（Bug #3345）」の節に置いた。

   なお、すぐ上の区画メニューの注釈は当時から
   「移行元のエリア一覧は携帯幅で全く別の簡易ページを返し、そこにタブは無い」と
   正しく書いていた。**同じファイルの中で 2 つの主張が食い違っていた**ので、
   正しい側（上）へそろえた形である.
 */
@media (max-width: 749px) {
	.archive-content--branch.pa-branch-archive .introduce_top {
		display: none;
	}
}

/* --------------------------------------------------------------
 * 支店紹介の一覧（エリア 8 本・県別 47 本）の縦の組み 3 か所（Bug #7921）
 *
 * 移行元の宣言 3 つが dev に入っておらず、幅 1440px で 25 本とも同じ差が出ていた
 * （2026-09-20 08:25 の全数実測。エリア 8 ＋ 店舗の在る県 17。店舗が 0 店の県 30 本は
 * Bug #7908 の退行で当時 404 だったため測っていない）。左が移行元・右が dev::
 *
 *   .introduce_top > p   高さ 170 対 176  （+6）
 *   #event_top           下の内余白 30px 対 0
 *   .shop_area           下の外余白 60px 対 0
 *
 * ## ① 題名の画像の下の 6px
 *
 * 移行元は `branch/<地方>/css/style.css` 20〜22 行で `.introduce_top img` に
 * `vertical-align: bottom` を当て、画像が文字の基準線に載ることで生まれる
 * 行の箱の余りを消している。dev にこの宣言が無いため、画像（170px）の下に 6px 残り
 * 段落が 176px になっていた。**同じ型を h2 の見出し画像で一度踏んでいる**
 * （Bug #2784。このファイルの「エリア名の見出し画像」の節）。
 *
 * 🚨 **当たり先を移行元と同じ `.introduce_top img` にする。**区分の帯
 * （`ul.category_menu`）の画像にも当たるが、移行元も同じ範囲に当てており、
 * 実行時に当てて測ると帯は 50px のまま動かない（下の実測）。
 *
 * ## ② `#event_top` の下の内余白 30px
 *
 * 移行元は `css/page_event_top.css` 10〜15 行で当てている。dev は同じ宣言を持つが
 * **404 のページだけに絞っている**（このファイルの `body.pa-notfound-page #event_top`）。
 * 支店紹介の一覧向けに置いてある `.archive-content--branch .pa-branch-archive__mapbox`
 * は、**この 25 本に 1 つも無い当たり先**だった（`/branch/tohoku/` の HTML で 0 件）。
 *
 * 🚨 **移行元の `#event_top { width: 1100px }` は写さない。**dev は本文の器が既に
 * 1,100px の柱を作っている（`body.pa-notfound-page` の節の判断と同じ）。
 *
 * ## ③ `.shop_area` の下の外余白 60px
 *
 * 移行元は `branch/css/style.css` 85〜88 行で `margin: 0 0 60px` を当てている。
 * dev の `.pa-branch__content .shop_area` は格子の指定だけを持っていた。
 *
 * ## 当てる範囲
 *
 * 目印は `body.pa-branch-area-list`（エリアの一覧と県別の一覧だけが持ち、
 * 店舗詳細 24 本と全国の一覧 `/branch/` は持たない）。
 * **全国の一覧 `/branch/` は対象外**で、実測でも導入の帯が両側 220px で一致し、
 * dev に `#event_top` も `.shop_area` も無い（移行元の `#event_top` が dev に無い点は
 * この Bug では扱わない）。
 *
 * ## 携帯幅には当てない
 *
 * 携帯幅の移行元は別ページで、この 3 つに当たる値が無い。`min-width: 750px` に閉じる。
 * 実行時に当てて幅 375px で測り、5 画面とも 1 項目も動かないことを確かめた。
 *
 * ## 実測（配信中の dev へ実行時にこの 3 つを当てて測った・2026-09-20 09:1x・幅 1440px）
 *
 * | 画面 | 段落 | 導入の帯 | `#event_top` の下内余白 | `.shop_area` の下外余白 |
 * |---|---|---|---|---|
 * | `/branch/tohoku/` | 176 → **170** | 226 → **220** | 0 → **30px** | 0 → **60px** |
 * | `/branch/kanto/` | 176 → **170** | 226 → **220** | 0 → **30px** | 0 → **60px** |
 * | `/branch/tohoku/miyagi/` | 176 → **170** | 226 → **220** | 0 → **30px** | 0 → **60px** |
 * | `/branch/chubu/aichi/` | 176 → **170** | 226 → **220** | 0 → **30px** | 0 → **60px** |
 *
 * 4 画面とも移行元と同じ値に届いた。控えは
 * `pa-verify-assets/D2/7921-直しの先読み-0920/実行時に当てた結果-0920.json`.
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	body.pa-branch-area-list .pa-branch__content .introduce_top img {
		vertical-align: bottom;
	}

	body.pa-branch-area-list .pa-branch__content #event_top {
		padding-bottom: 30px;
	}

	body.pa-branch-area-list .pa-branch__content .shop_area {
		margin-bottom: 60px;
	}
}

/* エリア名の見出し画像（h2.title・191 × 74 の 1 枚絵）。見出しの下に見える赤い
   短線は CSS の罫線ではなく、画像そのものに焼き込まれている（title.gif を実測して
   確認済み）。移行元の CSS はこの見出しに margin-bottom: 30px しか与えず
   （写し元 public/css/page_event_top.css 16〜18 行の #event_top .title）、揃えは
   祖先 #event_top の text-align: center（同ファイル 10〜15 行）を受け継ぐだけである。

   テーマの本文見出しの既定（下の「見出し（h2〜h6）」の節・.entry-content h2）が
   ここにも当たり、金/珊瑚色の下罫線を画像の下に足したうえ、揃えを左に戻して
   しまう（Bug #2681）。

   🚨 **この注釈は長く「色・大きさは見た目に影響しない」と書いていたが、
   誤りだった**（Bug #2784）。画像は文字の基準線に置かれるので、
   基準線より下の分だけ画像の下に空きが生まれ、**その空きは字の大きさに比例する**。
   実測（2026-09-09 04:37・幅 1440px）は移行元が 13px で空き 6px・外形 80px、
   dev が 28px で空き 10px・外形 84.38px だった。誤りに気づけなかったのは、
   当時の画像の縦揃えが middle で、**middle では空きが字の大きさによらず 0 になる**
   ためである（Bug #2975 と Bug #3020 で baseline へ戻って初めて差が出た）。
   文字色は画像しか無いので画面に出ないが、移行元にそろえて書く。

   画像の高さを 74px と書くのは、全体規則 img { max-width: 100%; height: auto } が
   **属性と実寸のずれで高さを計算し直す**ためである。関西の title.gif は実寸
   190 × 74・属性 191 × 74 なので 191 ÷ 190 × 74 = 74.39 になり 0.38px 高くなる
   （実寸と属性が同じ北海道の 229 × 74 では差が 0）。aspect-ratio: auto では
   直らない（内在比率を使うので同じ値）。**全体の img { height: auto } は触らない。**
   74px の決め打ちでよいのは、**移行元のエリア一覧 8 本と都道府県一覧 47 本の
   見出し画像 55 枚すべてが height="74" だから**である（機械で確認済み）.
 */
.pa-branch__content #event_top .title {
	margin: 0 0 30px;
	padding-bottom: 0;
	border-bottom: 0;
	text-align: center;
	font-size: 13px;
	color: #000;
	/* 移行元はこの見出しに行の高さを与えず、書体の推奨値（`normal`）のままである。
	   テーマの既定（1.5 = 19.5px）だと**絵の下の空きが 0.5px 狭くなる**（実測: 移行元 6px
	   対 dev 5.5px・見出しの外形 80px 対 79.5px）。`normal` へ戻すと外形も空きも一致する
	   （2026-09-09 11:3x の実測で確認）。**書体は移行元と同じ游ゴシックで、書体の違いでは
	   なかった**（書体だけそろえても 5.5px のままだった）. */
	line-height: normal;
}

/* 🚨 **この高さは携帯幅では当てない。**移行元の携帯版は同じ県名を 232 × 108 の
   別の絵で描いており（パソコン版は 190 × 74）、Task #5076 で携帯幅だけ差し替える。
   74px に固定したままだと、差し替えた絵が縦だけ 74px に押し込まれて縦横比が崩れる。
   境目の 750px は、移行元が縦のそろえ方を変える幅と同じである.

   携帯幅で字の大きさを 13px にしてよいかは未確定である（移行元の携帯版は見出しの
   クラスが `category_ttl` で、`#event_top .category_ttl { width: 64.062% }` しか
   持たない）。dev の画像の 404 が直りしだい測って決める（Bug #2784 の残り）. */
@media (min-width: 750px) {
	.pa-branch__content #event_top .title img {
		height: 74px;
	}
}

/* 店舗のカード。移行元は幅 524px を 2 列に回り込ませる。段組みで組み直す.

   ------------------------------------------------------------------
   列の間を 52px にしている理由（Bug #2932）
   ------------------------------------------------------------------
   移行元は柱の幅 1100px の中へ 524px のカードを 2 枚回り込ませるので、
   間は 1100 - 524 × 2 = **52px** になる。実測でもカードの左端は 170px と
   746px（右端は 694px と 1270px）で、間が 52px だった。
   `var(--pa-space-sm)`（40px）だと 1 枚が 530px になり、右のカードが 6px
   左へ寄る（実測: dev は 170px と 740px）。**幅を直に書かず列の間で決める**のは、
   柱が 1100px より狭い画面でも比率のまま縮ませるためである。幅を 524px で
   固定すると、間の 52px と合わせて 1048px を下回る画面で横へはみ出す。

   ------------------------------------------------------------------
   align-items: start が要る理由（Bug #2932）
   ------------------------------------------------------------------
   段組みの既定（stretch）はカードを**行の高さいっぱいに引き伸ばす**。すると
   カードの高さが確定するので、中の矢印（`.sd_arrow`）が持つ
   `height: 100%` が解けて、矢印がカードの下端まで伸びる（実測 260px）。
   移行元は回り込みでカードの高さが確定しないため、`height: 100%` は `auto` に
   落ちて矢印は画像の高さに収まる（実測 190px = 画像 184px + 行の余り 6px）。
   **矢印の指定と画像は両側で同一**（`float: right; height: 100%` / 65 × 184）
   だったので、差の元は引き伸ばしだけである。
   `start` にすると、移行元と同じくカード 1 枚ごとに高さが決まり、下罫線の位置も
   左右で別々になる. */
.pa-branch__content .shop_area {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--pa-space-sm);
}

@media (min-width: 750px) {
	.pa-branch__content .shop_area {
		gap: 0 52px;
		align-items: start;
	}
}

/* --------------------------------------------------------------
 * 県別の一覧の「お客様の声」（Bug #7928）
 *
 * 移行元は店舗の一覧の直後に県ごとの口コミの部品
 * （`branch/include/voice_<県>.shtml`）を読み込んでいる。dev の県別の一覧は型紙が
 * 組むので、**区画そのものが 1 つも無かった**（2026-09-20 の全数実測で移行元 47 / dev 0）。
 * 型紙で出し直すので、移行元の見た目もここへ写す。
 *
 * 写し元は `branch/<地方>/css/style.css` 149〜179 行で、**9 つの地方の CSS が
 * 1 字も違わない**（注釈を外して突き合わせた md5 が 9 本とも同じ）。
 *
 *   .voice_area          { margin: 0 auto 60px; text-align: left; width: 1100px }
 *   .voice_area h2       { text-align: center; margin-bottom: 25px; padding: 0 0 25px;
 *                          color: #a3762b; font-size: 30px; line-height: 100%;
 *                          letter-spacing: 0.1em; font-weight: normal; 明朝 }
 *   .voice_area p        { border: 1px solid #DCDCDC; padding: 40px 20px;
 *                          width: 45%; margin-bottom: 30px }
 *   .voice_area .flexBox { display: flex; flex-flow: wrap; justify-content: space-between }
 *
 * 🚨 **`width: 1100px` は写さない。**dev は本文の器が既に 1,100px の柱を作っている
 * （このファイルの `#event_top` と `body.pa-notfound-page` の節と同じ判断）。
 *
 * 🚨 **携帯幅には当てない。**移行元のスマートフォン版はこの区画を持たず
 * （Bug #6187）、下の `@media (max-width: 749px)` の節が `.voice_area` を隠している。
 * 隠れる側に見た目を書いても意味が無いので、`min-width: 750px` に閉じる。
 *
 * 🚨 **見出しはテーマの既定の打ち消しが要る。**`.entry-content h2` の既定が金茶の
 * 下罫線と左寄せを足す（同じ型を店舗の見出し `.box_delegate_ttl` で踏んでいる。
 * Bug #2681）。移行元の見出しは**下罫線を持たず中央寄せ**なので、`border-bottom: 0`
 * まで書く。
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	body.pa-branch-area-list .pa-branch__content .voice_area {
		margin: 0 auto 60px;
		text-align: left;
	}

	body.pa-branch-area-list .pa-branch__content .voice_area h2 {
		margin: 0 0 25px;
		padding: 0 0 25px;
		border-bottom: 0;
		color: #a3762b;
		font-family: var(--pa-font-family-serif);
		font-weight: 400;
		font-size: 30px;
		line-height: 1;
		letter-spacing: 0.1em;
		text-align: center;
	}

	body.pa-branch-area-list .pa-branch__content .voice_area .flexBox {
		display: flex;
		flex-flow: wrap;
		justify-content: space-between;
	}

	/* 🚨 **箱の数え方・字・行送りを移行元に戻す（Bug #7970）。**
	   移行元は `width: 45%` を `content-box` で数えるので、幅は
	   **45%（=495px）＋ 内余白 40 ＋ 罫線 2 = 537px** になる。dev のテーマは
	   `border-box` を全体へ配っているため、足さないと 495px になる
	   （同じ型を説明文の囲みで踏んでいる。Bug #5916）。

	   字と行送りは、移行元がこの段落に何も当てず
	   `body { font-size: 13px }`（`css/common.css` 29 行）と `normal` を受けている値である。
	   同じ区画の説明文 `.areaseoTxt` は dev が既に 13px を当てているので（Bug #5807）、
	   ここだけ 16px にすると移行元とも dev 自身とも揃わない。

	   実測（幅 1440px・配信中の dev へ実行時に当てた・2026-09-20 09:4x）::

	     囲みの幅   495 → 537（移行元 537）… 4 県とも
	     区画の高さ 愛知 800 → 676（移行元 676）／宮城 704 → 616（移行元 616）
	                千葉 728 → 616（移行元 616）／秋田 800 → 676（移行元 676）. */
	body.pa-branch-area-list .pa-branch__content .voice_area p {
		box-sizing: content-box;
		margin-bottom: 30px;
		padding: 40px 20px;
		border: 1px solid #dcdcdc;
		width: 45%;
		font-size: 13px;
		line-height: normal;
	}
}

/* 見出しはカードの上に 1 本通す。

   大きさ・字間・余白・罫線は、パソコン幅でだけ移行元 public/branch/chubu/css/style.css
   の .box_delegate_ttl（30px・字間 0.1em = 3px・行の高さ 100%・下外余白 25px・
   下内余白 25px・下罫線なし）へ戻す（Issue #1624）。スマートフォン幅の移行元は
   別に用意された /sp/ の写しで、そちらは今の値と差が出ていないため触らない. */
.pa-branch__content .box_delegate_ttl {
	grid-column: 1 / -1;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: var(--pa-branch-rule);
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-branch-area-title-size);
	font-weight: 400;
}

@media (min-width: 750px) {
	.pa-branch__content .box_delegate_ttl {
		margin-bottom: 25px;
		padding-bottom: 25px;
		border-bottom: 0;
		font-size: 30px;
		line-height: 1;
		letter-spacing: 3px;
	}
}

/* カード 1 枚の器。

   ここに残す値は**移行元のスマートフォン版の写し**である
   （写し元 `sp/branch/<エリア>/css/style.css` 112〜117 行の
   `.shop_detail { padding: 10px 0; margin-bottom: 20px; border-top: 1px solid #ccc;
   border-bottom: 1px solid #ccc; }`）。狭い画面では移行元がスマートフォン版の別
   ページを返すので、そちらを写すのが正しい。

   🚨 **パソコン幅の移行元にはこの上の罫線と内余白が無い**（Bug #2932）。移行元は
   ページごとに別の CSS を読み、`.shop_detail` の指定が違う。

   | 写し元 | 読むページ | `border-top` | 内余白 |
   |---|---|---|---|
   | `sp/branch/<エリア>/css/style.css` 112〜117 行 | スマートフォン版 | ある | 10px 0 |
   | `branch/css/style.css` 128〜133 行 | 支店紹介の入口 `/branch/` | ある | なし |
   | `branch/<エリア>/css/style.css` 103〜107 行 | **エリア一覧 8 ページ・都道府県一覧 17 ページ** | **ない** | **なし** |

   スマートフォン版の値を幅で絞らずに書いていたため、パソコン幅でも県名の上に線が
   1 本増え、カードが上下に 12px ずつ伸びていた。パソコン幅の値は下の
   `@media (min-width: 750px)` が受け持つ。

   入口ページ（`/branch/`）のカードはテーマが組み立てる別の器
   （`.pa-branch-archive__*`）なので、この規則は当たらない。

   【2026-09-14 追記・Bug #6123】**この 12px は移行元と合っていなかった。**移行元の
   スマートフォン版は 10px である。長く「出どころ不明の 2px・この巡では触らない」と
   書いていたが、**実ブラウザで測ると囲みの高さが 8 ページとも 10px 高かった**
   （dev 212.42px 対 移行元 202.42px）。囲みは上下に細い罫線を持つので、**罫線の位置が
   10px ずれて画面に出る**。

   🚨 **ここは 12px のままにしてある。**この規則は幅の条件を持たず、県の一覧 48 ページ
   と支店紹介の他のページにも当たる。**県の一覧は測っていない**ので、実測が済んだ
   地域の入口 8 ページだけを携帯幅の節で 10px へ上書きする
   （`body.pa-branch-area-index` の節。このファイルの `@media (max-width: 749px)` の中）. */
.pa-branch__content .shop_detail {
	width: auto;
	margin-bottom: var(--pa-space-sm);
	padding: 12px 0;
	border-top: var(--pa-branch-hairline);
	border-bottom: var(--pa-branch-hairline);
	float: none;
}

/* パソコン幅のカード（Bug #2932）。エリア一覧と都道府県一覧が読む移行元の CSS
   （写し元 `branch/<エリア>/css/style.css` 103〜107 行）へ戻す。

   - 上の罫線を外す（移行元は下の罫線だけ）
   - 内余白を 0 にする（移行元はどちらの向きにも持たない）
   - 下外余白を 50px にする（`var(--pa-space-sm)` は 40px で 10px 足りなかった）
   - 字の大きさを 13px にする

   字の大きさは移行元が `#contents` から受け継ぐ値である。dev は
   `.pa-branch__content.entry-content` が 16px を与えるため、カードの中で自前の
   大きさを持たない文字だけが 16px になっていた。**住所・県名・店舗名は自前の値を
   持つので、見える文字は両側で一致していた**（実測 13 / 13 / 20px）。受け継ぎの値も
   移行元へ合わせ、これから足す文字が食い違わないようにする. */
@media (min-width: 750px) {
	.pa-branch__content .shop_detail {
		margin-bottom: 50px;
		padding: 0;
		border-top: 0;
		font-size: 13px;
		/* 移行元はこの器に行送りを与えておらず `normal` を受け継ぐ。テーマの
		   1.5 が当たると、矢印の絵の下に付く行の余りが 6px から 5.5px へ縮み、
		   器が 190px でなく 189.5px になる。見える文字は段落（1.8）と見出し
		   （76px）が自前の値を持つので、この受け継ぎ値だけを移行元へ戻す. */
		line-height: normal;
	}
}

/* 店舗名と住所を包む器（Bug #2932）。写し元 `branch/<エリア>/css/style.css` 77 行の
   `.fl_box { overflow: hidden; *zoom: 1; }` が **dev に写されていなかった**
   （テーマに `.fl_box` の規則が 1 つも無い）。

   `overflow: hidden` はここでは「隠す」ためではなく、**囲みを作って右の矢印の
   回り込みを避ける**ために効いている。無いと器が幅いっぱい（実測 530px）に
   広がり、住所の文字が矢印の下へ回り込む。移行元は矢印の幅 65px を避けて
   524 - 65 = **459px** に収まる.

   `*zoom: 1` は Internet Explorer 6・7 向けの書き方なので写さない.

   🚨 **パソコン幅だけに当てる。**移行元のスマートフォン版はこのカードの組みが
   まったく別で、`.sd_l`（左の文字）と `.sd_r`（右の矢印）を使い、**`.fl_box` を
   1 つも持たない**（`sp/branch/kanto/index.html` を実測。`.fl_box` は 0 件・
   `.sd_l` が 7 件）。スマートフォン版の CSS 7 行に `.fl_box` の指定が残っているが、
   当たる相手が居ない書き残しである。dev は狭い画面でもパソコン版の組みをそのまま
   出しているので、**狭い画面には移行元の対応物が無い**。ここで幅を絞らないと、
   移行元に根拠のないまま狭い画面の見え方（器が 345px から 280px へ）を変えて
   しまう. */
@media (min-width: 750px) {
	.pa-branch__content .shop_detail .fl_box {
		overflow: hidden;
	}
}

/* 店舗名のリンク（Task #1672 の項目 5）。写し元 branch/<エリア>/css/style.css:100-114.
   既存の規則を足すのではなく移行元の値へ直した。同じ見出しに 2 通りの指定が並ぶと
   どちらが効くかを読み手が追えなくなるためである。プロファイルを前に付けたのは
   新デザインの 4 店舗へ漏らさないためで、当の 4 店舗には .shop_detail が 1 件も
   無いことを dev で確かめてある（漏れの予防であって見た目は変わらない）.
   太さ 700 は、移行元の reset CSS（css/common.css の 257 行目・見出しの節）が h1〜h6 へ
   bold を与えているためである。同じファイルの 93 行目は normal を与えているが、
   後にある 257 行目が勝つ。移行元の店舗名リンクを実際に測っても 700 だった
   （www.p-a.jp/branch/chugoku/ の .shop_detail h3・画面幅 1440px）。
   移行先は 400 を明示していたので、ここで書き足す.
   border-left と color と letter-spacing は、この見出しに .entry-content h3 の
   指定（左の縦罫・見出し色・字間 0.05em）が当たるため打ち消している。移行元には
   どれも無い. */
.pa-profile-legacy-compat .pa-branch__content .shop_detail h3,
.pa-profile-legacy-compat .pa-branch__content .shop_detail h4 {
	margin: 0 0 16px;
	padding: 0 0 0 14px;
	border-bottom: 1px dashed #ccc;
	border-left: 0;
	/* 先頭に置く小さな目印の絵。移行元は url(../../../images/icon01.gif) = /images/icon01.gif. */
	background: url("../images/icon01.gif?ver=cdb5bb0c6f2a") no-repeat 0 center;
	color: inherit;
	font-family: var(--pa-font-family-serif);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 76px;
}

/* 移行元はリンクを見出しいっぱいに広げ、下線を消している. */
.pa-profile-legacy-compat .pa-branch__content .shop_detail h3 a,
.pa-profile-legacy-compat .pa-branch__content .shop_detail h4 a {
	display: block;
	text-decoration: none;
}

/* 店舗名の見出しとリンク。パソコン幅でだけ移行元 .shop_detail h3 の 20px・太さ 700・
   行の高さ 76px へ戻す。移行元は行の高さで見出しの背後に敷いたアイコンぶんの高さを
   稼いでいる。リンクを行内のままにすると行の高さが効かないので、移行元の
   .shop_detail h3 a と同じくブロックにする（Issue #1624）。

   スマートフォン幅の移行元は /sp/ の写しで、行の高さが 22.1px と別物である。
   差が小さいので今の値のままにする. */
@media (min-width: 750px) {
	.pa-branch__content .shop_detail h3,
	.pa-branch__content .shop_detail h4 {
		margin-bottom: 16px;
		font-size: 20px;
		font-weight: 700;
		line-height: 76px;
	}

	.pa-branch__content .shop_detail h3 a,
	.pa-branch__content .shop_detail h4 a {
		display: block;
	}
}

.pa-branch__content .shop_detail p {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.8;
}

/* オンライン店の札の見出し（`h3.noline`・Task #9293）。

   移行元の 10/1 の最終リリース（822eda470）で、エリアの入口にオンライン店の札が入った。
   住所を持たないので、見出しの下の罫線と余白を外す。移行元はパソコン版の
   `css/page_top.css` とスマートフォン版の `sp/css/style.css` の末尾に、どちらも
   `!important` 付きで足している。上の店舗名の見出しの規則（プロファイルを前に付けた
   詳細度 0,3,1）に勝たせるため、移行元と同じく `!important` で書く。

   🚨 **スマートフォン版の `.shop_detail { width: 100% !important }` は写さない。**dev の札は
   上の規則で `width: auto`・`float: none` になっており、狭い画面ではもう幅いっぱいである. */
@media (min-width: 750px) {
	.pa-branch__content .shop_detail h3.noline {
		margin-bottom: 0 !important;
		border-bottom: none !important;
	}
}

@media (max-width: 749px) {
	.pa-branch__content .shop_detail h3.noline {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
		border-bottom: none !important;
		line-height: normal !important;
	}
}

/* オンライン店の札の行き先は、パソコン版と携帯版の 2 本を書き出して片方を伏せる
   （`pa_online_store_reg18_link_pair()`・Bug #5153 の型）。

   🚨 **共通の伏せる規則（`body .pa-reg18-link--sp.pa-reg18-link--sp`・0,2,1）だけでは
   伏せられない。**札の矢印のリンク（`.pa-branch__content .sd_arrow a`・0,2,1）と
   店名のリンク（プロファイルを前に付けた `… .shop_detail h3 a`・0,3,2）が `display` を
   書いており、並び順か詳細度で勝つ。ここで札の中だけ (0,4,2) で伏せる。
   `!important` は使わない（Bug #5197 の決めごと）. */
@media (min-width: 750px) {
	.pa-branch__content .shop_detail :is(.sd_arrow, h3.noline) a.pa-reg18-link--sp {
		display: none;
	}
}

@media (max-width: 749px) {
	.pa-branch__content .shop_detail :is(.sd_arrow, h3.noline) a.pa-reg18-link--pc {
		display: none;
	}
}


/* パソコン幅の段落の下外余白（Bug #2932）。移行元は写し元
   `branch/<エリア>/css/style.css` 128〜132 行の `.shop_detail p { margin-bottom: 16px }`
   である。上の 12px は狭い画面ぶんとして残す（移行元は狭い画面で別ページを返す）。

   🚨 **この上書きを上の規則より前に置いてはいけない。**`@media` は詳細度を上げない
   ので、詳細度が並ぶと**ファイルの後ろにある規則が勝つ**。実際、この上書きを
   `.shop_detail` の節（上の方）へ置いたときは 1 度も効かず、実測が 12px のまま
   だった。

   県名の段落だけは移行元が 0 である（写し元 139〜144 行）。すぐ下の
   `.pa-branch__content .kenmei` が 0 を持っているが、`.shop_detail p`（クラス 2 つ +
   要素名）のほうが詳細度が高いため負けていた。ここで要素名込みの鍵に直して勝たせる. */
@media (min-width: 750px) {
	.pa-branch__content .shop_detail p {
		margin-bottom: 16px;
	}

	.pa-branch__content .shop_detail p.kenmei {
		margin-bottom: 0;
	}
}

/* 店舗カードの電話番号のリンク（Bug #8298）。

   移行元のスマートフォン版は番号を `<a href="tel:…">` で包み、**移行元のパソコン版は
   素の字**で出す。投入はパソコン版の本文を取り込むので、dev は携帯幅でも素の字だった。
   型紙の側で包む形にした（`inc/branch-store-tel-link.php`）。

   🚨 **見え方は移行元のスマートフォン版を実測して合わせた**（2026-09-21 01:09・幅 375・
   東京の地方の一覧／千葉県の一覧／岡山県の一覧）。移行元は黒 `rgb(0, 0, 0)`・下線あり・
   13px・字の太さ 400・行送り 19.5px・`display: inline` で、**まわりの素の字と違うのは
   下線だけ**である。だから色は囲みから受け継ぎ、下線だけを引く。

   🚨 **テーマの既定 `a { color: var(--pa-color-link) }` を打ち消す必要がある。**
   ここの鍵は詳細度 (0,4,1) で、既定の (0,0,1) に勝つ. */
.pa-branch__content .shop_detail p a.pa-branch-tel {
	color: inherit;
	text-decoration: underline;
}

/* 🚨 **パソコン幅では素の字に見せ、押せなくする。**移行元のパソコン版は番号を
   リンクにしないので、包んだままだと幅 1440 で下線が付いて移行元から離れる。
   `pointer-events: none` で押しても何も起きない形にし、リンクとしての振る舞いも消す。

   携帯幅のために足した部品はパソコン幅で打ち消す、という既にある作法と同じである
   （`.pa-legacy-sp-only` の節）。ここは字そのものを消すわけにはいかないので、
   `display: none` ではなく見え方と当たり判定を戻す形を採った.

   🚨 **`pointer-events: none` が止めるのはマウスとタップだけである。**`<a>` は DOM に
   残るので焦点が当たり、**キーボードの Tab → Enter ではパソコン幅でも `tel:` が開く**。
   パソコンで電話のアプリが開いても害は無いのでそのままにした（R1 の指摘・2026-09-21）. */
@media (min-width: 750px) {
	.pa-branch__content .shop_detail p a.pa-branch-tel {
		text-decoration: none;
		pointer-events: none;
	}
}

/* 県名。移行元は明朝の小さな見出しとして店舗名の上に置く。写し元
   branch/kansai/css/style.css 139〜157 行を見ると、色・下線消し・山括弧は段落
   p.kenmei 自体ではなく、中のリンクにだけ当たっている。段落側は黒のまま下に
   罫線（#ccc）を引くだけである。以前はテーマ側がこれを取り違え、色を段落へ
   当てていたため直す（Bug #2681）。フォント（明朝）は移行してきた本文が持つ
   .serif クラス（このファイル 658 行）がすでに当てているので、ここでは
   触らない.

   山括弧（＜＞）は移行元にならい擬似要素の content で足す。読み上げに乗るか
   気になるところだが、この直後の .pa-branch-archive__link::after（同じ用途の
   矢印「›」・9938 行）や .pa-experience__path-item::before（区切りの「>」・
   21580 行）など、このリポジトリの既存の content 記号はどれも
   aria-hidden 等の特別な手当てをしていない。同じ流儀に揃え、ここでも
   足さない. */
.pa-branch__content .kenmei {
	border-bottom: var(--pa-branch-hairline);
	clear: both;
	margin-bottom: 0;
}

.pa-branch__content .kenmei a {
	padding-bottom: 5px;
	color: var(--pa-color-accent);
	font-size: 14px;
	text-decoration: none;
}

.pa-branch__content .kenmei a::before {
	content: "＜";
}

.pa-branch__content .kenmei a::after {
	content: "＞";
}

/* カードの右端に置く「>」の矢印画像（写し元 branch/kansai/css/style.css
   112〜113 行の .sd_arrow / .sd_arrow a）。以前は画像を持ち込めていないという
   理由で隠していたが、前提が変わった。

   - 本文には `<div class="sd_arrow"><a …><img src="…/arrow_shop.jpg"></a></div>`
     が移行してきたまま残っている
   - テーマの画像置き場に arrow_shop.jpg があり、配信も 200 で確認できる
     （2026-09-02 実測）

   よって隠すのをやめ、写し元の指定（右寄せ・高さいっぱいのリンク）をそのまま
   写す。詳細ページを持たない店舗（移行元で .sd_arrow が無い店舗。中国エリアの
   岡山店など）は本文の側にこの div ごと無いので、CSS 側で見分ける必要はない. */
.pa-branch__content .sd_arrow {
	float: right;
	height: 100%;
}

.pa-branch__content .sd_arrow a {
	display: block;
	height: 100%;
}

/* 矢印の絵の縦の揃え（Bug #2932）。移行元はこの絵に `vertical-align` を与えて
   おらず、既定の `baseline` のまま行の中に置く。そのため絵（184px）の下に
   行の余りが 6px 付き、器の高さが **190px** になる。

   テーマの初期化は画像へ `vertical-align: middle` を与えており（行の余りを消す
   ための一般的な手当て）、それが当たると器が 184px になって移行元より 6px 低い。
   ここだけ移行元の既定へ戻す。**パソコン幅だけに当てる。**狭い画面は移行元の組みが
   別（`.sd_l` / `.sd_r`）で対応物が無く、幅を絞らないと狭い画面の器の高さが
   0.75px 増える（実測で確かめた）. */
@media (min-width: 750px) {
	.pa-branch__content .sd_arrow img {
		vertical-align: baseline;
	}
}

/* 入口ページの導入文。移行元 public/branch/css/style.css の .main_read は 16px
   である。同じ体裁で出している .copy も合わせる。

   .pa-profile-legacy-compat を前置してあるのは、新デザインの 4 店舗（銀座・
   新宿・静岡・岡山）を対象から外すためである。あちらは移行後も新デザインを
   維持する取り決めなので、いまの見え方を変えない（Bug #1641）。新デザインの
   4 店舗は体験談の紹介カードの見出しに .copy を使っており、移行元 public/
   branch/assets/css/style.css ではゴシックのまま左に寄せて出している。明朝で
   中央に寄せるのは入口ページだけの都合なので、あちらへは届かせない. */
.pa-profile-legacy-compat .pa-branch__content .main_read,
.pa-profile-legacy-compat .pa-branch__content .copy {
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
	text-align: center;
}

/* 導入文の下外余白と行送り（Bug #2932）。写し元 `branch/<エリア>/css/style.css`
   3〜7 行の `.main_read { margin-bottom: 60px; font-size: 16px; line-height: 160%; }`
   である。字の大きさと寄せは上の規則が既に写しているが、**下外余白と行送りが
   抜けていた**（実測: 下外余白が移行元 60px 対 dev 25px・外形の高さが 51.19px
   対 48px）。

   `.copy` へは当てない。`.copy` は支店紹介の入口ページが使う別の段落で、
   移行元の値も別である（写し元 `branch/css/style.css`）. */
@media (min-width: 750px) {
	.pa-profile-legacy-compat .pa-branch__content .main_read {
		margin-bottom: 60px;
		line-height: 1.6;
	}

	/* エリアと県の一覧の説明文の囲み（Bug #5807・ユーザー決定 D118）。移行元は
	   白い面・細い罫線・内側の余白で囲む（写し `css/page_event_top.css` の
	   `#event_top .areaseoTxt`。本番と md5 が一致・2026-09-11 23:47 JST 取得）。

	     background: #ffffff; border: 1px solid #DCDCDC; margin: 0 auto 80px;
	     text-align: left; color: #595757; padding: 30px 30px 22px;
	     font-size: 13px; line-height: 170%;

	   dev はこの宣言を 1 本も持たず、囲みも内側の余白も無いまま器の幅いっぱいに
	   広がり、字も大きく濃かった（配信中の `main.css` に `.areaseoTxt` の規則は
	   携帯幅で隠す 1 本だけ・2026-09-11 23:46 JST 取得）。

	   🚨 **パソコン幅だけに置く。**移行元の携帯版は同じ囲みを別の値で描く
	   （`sp/css/style.css` の `.areaseoTxt` は幅 87.5%・下の外余白 25px・地の色を
	   持たず、中の段落に外余白 15px）。携帯幅の扱いは Bug #5803 の決定に従い、
	   この節では触らない。

	   🚨 **当たり先は `.main_read` ではない。**説明文は 2 つあり、題のすぐ下の
	   案内文（`p.main_read`）と、店舗の一覧の後ろに来る長い説明文
	   （`div.areaseoTxt`）は別の要素である。囲みを持つのは後者だけである。

	   🚨 **`#event_top` は移行元と同じ当たり先である。**投入はこの節の器
	   （`<section id="event_top">`）を残す（dev の北海道エリアで実測）。移行元の
	   規則も `#event_top .areaseoTxt` なので、当たる範囲が移行元と同じになる. */
	.pa-branch__content #event_top .areaseoTxt {
		margin: 0 auto 80px;
		padding: 30px 30px 22px;
		border: 1px solid #dcdcdc;
		background: #fff;
		color: #595757;
		font-size: 13px;
		line-height: 170%;
		text-align: left;
	}

	/* 🚨 **行送りは中の段落まで届かせる。**移行元は段落に行送りを当てないので、
	   上の `line-height: 170%` が計算された 22.1px を子が受け継ぐ。dev は
	   `.entry-content p` が `var(--pa-line-height-text)`（1.5）を当てるので、
	   囲みに 170% を書いても**段落は 19.5px のまま**になる。

	   実測（幅 1440px・北海道エリア・2026-09-11 23:54 JST）: 段落の高さは移行元
	   66.28 / 66.28 / 132.56 / 154.66px 対 dev 58.5 / 58.5 / 117 / 136.5px。
	   **折り返しの行数は 3 / 3 / 6 / 7 行で両側同じ**で、1 行の高さだけが違った
	   （22.09px 対 19.5px）。受け継ぐ形に戻すと 4 段落とも移行元と一致する。

	   🚨 **外余白は触らない。**`.mb10`（10px）はそのまま当たっている。出典の行
	   （`p.tar`）の下の外余白 25px と字 11px は移行元と違うが、そこは Bug #5806
	   （出典名を CSS の `content` で出す）の持ち分なので、この節では触らない. */
	.pa-branch__content #event_top .areaseoTxt p {
		line-height: inherit;
	}

	/* 出典の行の下の余白（Bug #5879）。移行元のパソコン版は段落の外余白を初期化した
	   ままで 0 である（`/css/common.css` の
	   `blockquote, dd, div, … , p, … { margin:0; padding:0; }`）。dev は
	   `.entry-content p { margin: 0 0 var(--pa-article-paragraph-gap) }` が当たり、
	   パソコン幅で 25px になる。説明文の器の高さの差 25px はこの 1 つで説明がつく
	   （移行元 535.88px 対 dev 560.88px・幅 1440px の実測）。

	   🚨 **携帯幅はここで触らない。**移行元の携帯版は `.areaseoTxt p { margin: 15px }`
	   で、余白を**持つ**。携帯幅は Bug #5866 が器ごと当てる. */
	.pa-branch__content .areaseoTxt .tar {
		margin-bottom: 0;
	}

	/* class を持たない段落の外余白（Bug #7875）。すぐ上の Bug #5879 は出典の行
	   （`p.tar`）だけを 0 に戻しており、**class を持たない段落が漏れていた。**
	   当たっているのは同じ `.entry-content p { margin: 0 0 var(--pa-article-paragraph-gap) }`
	   で、パソコン幅で 25px になる。移行元のパソコン版は `/css/common.css` の初期化で
	   段落の外余白が 0 である。

	   実測（2026-09-20 00:33〜00:48・幅 1440px・福岡県）: 説明文の器は移行元 548px 対
	   dev 573px。**段落そのものの高さの合計は両側とも 464.1px で同じ**で、差は
	   この外余白 1 か所だけだった。

	   対象は**福岡県 1 本だけ**である。県別 47 本を全数で数えて、dev の説明文に
	   class を持たない段落が在るのはこの 1 本だった。

	   🚨 **`.mb10` を巻き込まないよう `:not([class])` で絞る。**この選択子
	   （`.pa-branch__content #event_top .areaseoTxt p`）は `.mb10` より詳細度が
	   高いので、素の `p` へ当てると移行元と合っている 10px まで消してしまう。

	   🚨 **携帯幅はここへ足さない。**移行元の携帯版は class の有無にかかわらず
	   `margin: 15px` を持ち、dev も 375px で 15px である（両側一致を実測）。
	   この節の外へ出すと `#event_top` の詳細度が携帯幅の規則に勝ち、
	   **いま合っている携帯幅を壊す**. */
	.pa-branch__content #event_top .areaseoTxt p:not([class]) {
		margin: 0;
	}
}

/* 店舗ページが持つ日本地図と、その上に重ねたエリアの箱を、段組みで並べ直した姿。
   移行元は絵の上に座標で重ねるが、その形をここでは採らない。

   🚨 **改装版の 4 本（札幌・仙台・高崎・福岡）はこの段組みを使わない**
   （Task #3779・ユーザー判断 2026-09-05）。あちらは下の「改装版の地図の区画」の節で
   移行元と同じ「絵の上に座標で重ねる」形へ戻してある。**理由は、絵に描かれた
   引き出し線が段組みでは何も指さなくなるためである**（線は絵の側に描かれており、
   札を絵の下へ移すと線だけが空白へ伸びる）。ここは旧デザインと新デザインの
   店舗ページ用に残す. */
.pa-branch__content .map_box {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--pa-space-sm);
}

.pa-branch__content .map_box > img {
	grid-column: 1 / -1;
}

.pa-branch__content .map_box .area h3 {
	margin: 0 0 8px;
	padding-bottom: 8px;
	border-bottom: var(--pa-branch-rule);
	color: var(--pa-color-accent);
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
	font-weight: 400;
}

.pa-branch__content .map_box .area h3 a {
	color: inherit;
	text-decoration: none;
}

.pa-branch__content .map_box .area p {
	margin: 0;
	line-height: 2;
}

/* エリアごとの補足文（移行元 .service_info）。フッターの手前に置く読み物である. */
.pa-branch__content .service_info {
	margin-top: var(--pa-space-md);
	padding-top: var(--pa-space-sm);
	border-top: 1px solid var(--pa-color-border);
	font-size: 13px;
}

/* --------------------------------------------------------------
 * 改装版の地図の区画（Task #3779・ユーザー判断 2026-09-05）
 *
 * 改装版の 4 本（札幌・仙台・高崎・福岡）だけ、移行元と同じ「日本地図の絵の上に
 * エリアの箱を座標で重ねる」形にする。写し元は
 * `legacy/www.p-a.jp/public/branch/css/style_renew.css` の 1568〜1611 行である。
 *
 * ------------------------------------------------------------------
 * なぜ段組みではいけないのか
 * ------------------------------------------------------------------
 * **引き出し線は地図の絵（map.png）の側に描かれている。**移行元は絵の上に札を
 * 座標で重ねるので線が札につながるが、札を絵の下へ移すと**線だけが空白へ伸びた
 * 姿**になる。寸法の差ではなく、見て分かる壊れ方である（2026-09-05 にユーザーへ
 * 切り抜きを出して判断を得た。切り抜きは pa-verify-assets/3779-mapbox-shots/）。
 *
 * ------------------------------------------------------------------
 * 幅に応えながら移行元の位置を保つ作り
 * ------------------------------------------------------------------
 * **店舗一覧の地図（このファイルの `.pa-branch-archive__mapbox`・Task #1805）と
 * 同じ作りにそろえてある。**移行元は固定幅の版だが、このテーマは 1 つの URL で幅に
 * 応える。位置・字の大きさ・余白を**すべて同じ比率で**縮めるため、移行元の 1px に
 * あたる長さをトークンへ置き、移行元の px 値を掛けて書く。数値をそのまま px で
 * 書くと、幅が縮んだときに札だけが絵からはみ出す。
 *
 * 🚨 **トークンを器自身の指定に使わない。**`cqw` は「その要素の祖先にあるコンテナ」
 * を基準に解くため、コンテナ自身の指定で使うと基準が絵ではなく画面へ移る。
 * エラーは出ず値だけが静かにずれる。使ってよいのは子孫の指定だけである。
 *
 * ------------------------------------------------------------------
 * 1100px 未満で段組みに戻す理由
 * ------------------------------------------------------------------
 * 縮尺が器の幅に比例するので、狭い画面では文字が読めない大きさまで縮む。
 * **店舗一覧の地図が同じ理由で 1100px を境目にしている**（司令塔の裁定 2026-08-12。
 * 実測で 750px のとき店舗名 9.2px）。同じ境目にそろえ、それより狭い画面では上の
 * 段組みをそのまま使う。コンテナクエリを解さない閲覧環境でも `@supports` が効かず
 * 段組みが残る。これは意図した退避である. */
.pa-branch-renew .pa-branch__content .map_box {
	/* 移行元の 1px にあたる長さ。

	   🚨 **`cqw` は器の「内側の幅」（content box）を基準に解く。**この器は下の
	   `@media` の中で枠線 1px を左右に持つので、外形 1,100px のとき内側は
	   1,098px である。かつて 100 / 1100 の割合で書いており、移行元の 1px が
	   0.99818px に縮んでいた（Bug #4651。店舗一覧の地図と同じ誤り）。割り算の形で
	   書くのは、1,098 が枠線を引いた内側の幅であることを残すためである. */
	--pa-branch-map-px: calc(100cqw / 1098);

	container-type: inline-size;
}

@supports (container-type: inline-size) {
	@media (min-width: 1100px) {
		/* 段組みをやめて、絵の上に重ねる形へ切り替える。

		   🚨 **見た目に出る 3 つの宣言（位置・下外余白・枠線）は必ずこの中に置く。**
		   外に置くと、重ねる形を使わない狭い画面（1099px 以下）にも枠線と 60px の
		   空きが出る。移行元スマホ版の同じ区画は枠線を持たないので、そのままでは
		   移行元に無い線を引くことになる（実測で確かめた）。写し元は
		   `branch/css/style_renew.css` 1568〜1572 行で、あちらはパソコン版だけの
		   CSS なので携帯幅には元から届かない. */
		.pa-branch-renew .pa-branch__content .map_box {
			display: block;
			position: relative;
			/* 枠線の 1px は比率で縮めると消えるので実寸のままにする
			   （店舗一覧の地図と同じ扱い）. */
			margin-bottom: 60px;
			border: 1px solid #ccc;
		}

		/* 絵は器の幅いっぱいに縮める。移行元は原寸 1100 × 686 で置いている。

		   🚨 **`display: block` にしない。**移行元の絵は行の中に置かれており、下に
		   行の余り（書体の下端ぶん）が付く。器の高さはその余りを含めて 694 で、絵の
		   686 より 8px 高い。`block` にすると余りが消えて器が 7.25px 低くなり、後ろの
		   区画の位置が移行元とずれる（実測で確かめた）. */
		.pa-branch-renew .pa-branch__content .map_box > img {
			width: 100%;
			height: auto;
		}

		/* エリアの箱。移行元 .map_box .area（1574〜1578 行）は幅を指定せず中身に
		   合わせて縮む。

		   上限の 200 は移行元に無い受け皿である。幅を持たない絶対配置なので、
		   店舗名が想定より長くなると絵の右外へ伸びて横スクロールが出る。
		   最も右にある東北（左端 875）でも 875 + 200 = 1075 で絵の幅 1100 に収まる
		   （店舗一覧の地図と同じ考え方）. */
		.pa-branch-renew .pa-branch__content .map_box .area {
			position: absolute;
			max-width: calc(200 * var(--pa-branch-map-px));
			overflow-wrap: anywhere;
			font-size: calc(15 * var(--pa-branch-map-px));
			text-align: left;
		}

		/* 置き場所。移行元 style_renew.css 1579〜1586 行の 8 地域をそのまま掛けている
		   （絵の左上が原点）。四国は移行元にも箱が無いので持たない. */
		.pa-branch-renew .pa-branch__content .map_box .hokaido {
			top: calc(45 * var(--pa-branch-map-px));
			left: calc(553 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .tohoku {
			top: calc(154 * var(--pa-branch-map-px));
			left: calc(875 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .kanto {
			top: calc(294 * var(--pa-branch-map-px));
			left: calc(799 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .tokyo {
			top: calc(507 * var(--pa-branch-map-px));
			left: calc(799 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .chubu {
			top: calc(583 * var(--pa-branch-map-px));
			left: calc(372 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .kansai {
			top: calc(233 * var(--pa-branch-map-px));
			left: calc(315 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .chugoku {
			top: calc(344 * var(--pa-branch-map-px));
			left: calc(95 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .kyushu {
			top: calc(557 * var(--pa-branch-map-px));
			left: calc(95 * var(--pa-branch-map-px));
		}

		/* エリアの見出し（移行元 1587〜1592 行）。

		   🚨 **上の段組み用の規則が足している飾りを外す。**あちらは金の下線と
		   内余白と明朝を当てているが、移行元の地図の中の見出しは**黒のゴシックで
		   飾りを持たない**（実測: 18px / 太さ 700 / rgb(0,0,0)）。移行元に無い
		   宣言を残すと、絵の上に金の下線が重なる. */
		.pa-branch-renew .pa-branch__content .map_box .area h3 {
			margin: 0 0 calc(24 * var(--pa-branch-map-px));
			padding-bottom: 0;
			border-bottom: 0;
			color: inherit;
			font-family: inherit;
			font-size: calc(18 * var(--pa-branch-map-px));
			font-weight: 700;
			line-height: 1;
		}

		/* 見出しの中のリンクだけが金である（移行元 1593〜1599 行）。
		   カーソルを乗せても色と下線を変えない. */
		.pa-branch-renew .pa-branch__content .map_box .area h3 a,
		.pa-branch-renew .pa-branch__content .map_box .area h3 a:hover {
			color: #a3762b;
			text-decoration: none;
		}

		/* 店舗名の段落。移行元は行送りを書いていないので、上の段組み用の規則が
		   足している 2 を外して受け継ぎへ戻す（実測でも計算後は normal）. */
		.pa-branch-renew .pa-branch__content .map_box .area p {
			margin: 0;
			line-height: normal;
		}

		/* 移行元 1601〜1611 行の 2 つの印。改装版の 4 本の本文には出てこないが
		   （実測 0 個）、投入し直しで出たときに素の姿にならないよう写しておく. */
		.pa-branch-renew .pa-branch__content .map_box .i_new {
			margin: 0 calc(4 * var(--pa-branch-map-px));
			padding: calc(2 * var(--pa-branch-map-px)) calc(4 * var(--pa-branch-map-px));
			background-color: #e1200f;
			color: #fff;
			font-size: calc(10 * var(--pa-branch-map-px));
		}

		.pa-branch-renew .pa-branch__content .map_box .i_day {
			color: #e1200f;
			font-size: calc(10 * var(--pa-branch-map-px));
		}
	}
}

/* --------------------------------------------------------------
 * 改装版の地図の区画・携帯幅（Task #3824・ユーザー判断 2026-09-05）
 *
 * 上のパソコン幅（1100px 以上）は移行元パソコン版と同じ「絵の上に札を座標で
 * 重ねる」形にした。**携帯幅は移行元が別の絵と別の組みを使う**ので、ここで
 * 分けて写す。写し元は移行元スマホ版 `sp/branch/css/style_renew.css` の
 * 1312〜1342 行（`.security .network` 一式）である。
 *
 * ------------------------------------------------------------------
 * 移行元スマホ版の姿（幅 375px・仙台店で実測）
 * ------------------------------------------------------------------
 *   1. 緑がかった帯の見出し「全国に広がるネットワーク」
 *   2. **地域名が焼き込まれた別の絵**（`security_image02.png`・原寸 335 × 252）。
 *      札は重ねない
 *   3. 店舗名の一覧。地域名を太字 14px で立て、その下に店舗名を並べる。
 *      店舗名の頭に中黒「・」が付き、1 店舗ずつは折り返さない
 *
 * **開閉は無い。**最初から開いた一覧である（区画の中の 45 要素を数えて、寸法が
 * 0 のものは 0 件）。
 *
 * ------------------------------------------------------------------
 * 帯の見出しはすでに一致しているので触らない
 * ------------------------------------------------------------------
 * `.network` の上の空き 47px と `h4` の帯（地色 #B6B694・角丸 30px・白抜き 13px
 * 太字・上下の内余白 3px・下の外余白 29px・高さ 26）は、**いまのテーマが移行元と
 * 完全に一致している**（2026-09-05 に実測）。ここで書き直すと、同じ値を 2 か所に
 * 持つことになるので触らない。
 *
 * ------------------------------------------------------------------
 * 🚨 絵の差し替えを地色で行う理由
 * ------------------------------------------------------------------
 * 本文（投入データ）が持つ `<img>` はパソコン版の `map.png` である。CSS からは
 * `src` を差し替えられないので、**携帯幅では `<img>` を隠し、器の `::before` に
 * 携帯版の絵を地色として敷く**。移行元スマホ版の絵は `alt` が空で、地域名は下の
 * 一覧にも文字で在るため、読み上げに要る中身は失われない。
 *
 * 絵はテーマの資産として運んである（`assets/images/branch/security_image02.png`・
 * 移行元の写しと md5 が一致）。**投入の元データには入らない**（投入は本文の
 * `<img>` が指す絵だけを取り込み、携帯専用ページはパソコン版へ統合される扱い
 * のため。2026-09-05 に投入担当へ確認）。
 *
 * ------------------------------------------------------------------
 * 🚨 店舗名の隙間を本文の全角空白に任せない
 * ------------------------------------------------------------------
 * 本文は店舗名のリンクを全角空白（U+3000）+ 半角空白で区切る。移行元パソコン版が
 * そう書いているためで、パソコン幅ではそれで合う。**携帯幅の移行元は 1 店舗ずつを
 * 別の項目に分けており、隙間は半角空白 1 つぶん（実測 3.72px）しかない。**
 * そのまま出すと 16.72px になり、折り返しの位置が移行元と変わる（関東エリアが
 * 移行元の 2 行に対して 4 行になっていた）。
 *
 * 段落の字を 0 にして本文の空白を潰し、リンクだけに字を戻す。隙間は半角空白と
 * 同じ 0.266em（14px のとき 3.72px）を右の外余白で作る. */

@media (max-width: 749px) {
	/* 段組みをやめて、移行元スマホ版と同じ縦の流れにする. */
	.pa-branch-renew .pa-branch__content .map_box {
		display: block;
	}

	/* パソコン版の絵は出さない（携帯版は地域名が焼き込まれた別の絵）. */
	.pa-branch-renew .pa-branch__content .map_box > img {
		display: none;
	}

	/* 携帯版の絵。原寸 335 × 252 を器の幅に合わせて縦横比のまま伸び縮みさせる
	   （移行元も幅 320 / 375 / 414px で比例することを実測で確かめた）. */
	.pa-branch-renew .pa-branch__content .map_box::before {
		content: "";
		display: block;
		width: 100%;
		aspect-ratio: 335 / 252;
		background-image: url(../images/branch/security_image02.png?ver=71613f18ea9e);
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 100% 100%;
	}

	/* 地域のまとまり（移行元スマホ版 .area-list > li・1327〜1331 行）. */
	.pa-branch-renew .pa-branch__content .map_box .area {
		margin-top: 20px;
		font-size: 14px;
		font-weight: 700;
	}

	/* 地域名。移行元スマホ版は飾りのない太字の 1 行で、金の下線も明朝も持たない。
	   上の段組み用の飾りをここで全部外す. */
	.pa-branch-renew .pa-branch__content .map_box .area h3 {
		margin: 0;
		padding: 0;
		border: 0;
		color: inherit;
		font-family: inherit;
		font-size: 14px;
		font-weight: 700;
		line-height: normal;
	}

	.pa-branch-renew .pa-branch__content .map_box .area h3 a,
	.pa-branch-renew .pa-branch__content .map_box .area h3 a:hover {
		color: inherit;
		text-decoration: none;
	}

	/* 店舗名の並び。字を 0 にして本文の全角空白を潰す（上の注釈を参照）. */
	.pa-branch-renew .pa-branch__content .map_box .area p {
		margin: 0;
		font-size: 0;
		line-height: normal;
	}

	/* 本文が持つ改行は使わない。移行元スマホ版は器の幅で自然に折り返す. */
	.pa-branch-renew .pa-branch__content .map_box .area p br {
		display: none;
	}

	/* 1 店舗ぶん（移行元スマホ版 .area-list > li li・1333〜1338 行）。
	   並びの箱にして、店舗名の途中で折り返さないようにする. */
	.pa-branch-renew .pa-branch__content .map_box .area p a {
		display: inline-block;
		/* 半角空白 1 つぶん。移行元スマホ版は項目どうしの空白がここに当たる
		   （14px のとき実測 3.72px）. */
		margin-right: 0.266em;
		color: inherit;
		font-size: 14px;
		font-weight: 400;
		line-height: normal;
		text-decoration: none;
		white-space: nowrap;
	}

	/* 移行元スマホ版 1340〜1342 行の中黒. */
	.pa-branch-renew .pa-branch__content .map_box .area p a::before {
		content: "・";
	}
}

/* ==============================================================
 * スマートフォン幅（749px 以下）
 * ============================================================== */

@media (max-width: 749px) {
	.pa-branch,
	.pa-branch-archive {
		--pa-branch-area-title-size: 18px;
		--pa-branch-cell-space: 12px;
	}

	.pa-branch__content th,
	.pa-branch__content td {
		display: block;
		width: auto;
	}

	.pa-branch__content th {
		padding-bottom: 0;
		border-bottom: 0;
	}

	/* 🚨🚨 新デザインの表（`.c-table`）は、**携帯幅でも表のまま**組む（Bug #3545）。

	   ## 何を取り違えていたか

	   区画 3（Task #3438）でここへ「見出しの下に中身を積む」節を足した。移行元が
	   携帯幅でも表のままであることは当時の注釈にも書いてあり、「積むのは dev の
	   既存の判断」として残していた。裁定 67（見た目の違いはすべて直す）に照らすと
	   直すべきものだったので、ここで移行元の組みへ戻す。

	   移行元の店舗ページ専用 CSS（写し 726〜764 行）は**表の組みに `@media` を
	   1 つも持たない**。項目名の列はどの幅でも 25% である。

	   ## 積んでいた本当の原因は上の 2 本の節である

	   `width: auto` を書いたことではなかった。**この帯の少し上にある
	   `.pa-branch__content th, .pa-branch__content td { display: block }` が
	   セルを積んでいた**（旧デザインの店舗情報の表のための節）。当て先が
	   (0,1,1) なので、区画 3 の (0,3,0) の規則は勝っているのに `display` を
	   書いていなかった。

	   幅 375px の銀座店で測った値を並べる。

	   | 値 | 移行元 | 直す前 | 直したあと |
	   |---|---|---|---|
	   | 項目名の列の幅 | 84.2px（25%） | **336.84px（積む）** | 84.2px |
	   | 中身の列の幅 | 252.64px | 336.84px | 252.64px |
	   | セルの内余白 | 22.9008px | 24px | 22.9008px |
	   | 表の高さ | 354.89px | **473px** | 354.89px |

	   表が 118px 高くなるため、**下に続く区画 4 がまとめて 139px 下がって**いた
	   （Task #3524 の実測で 375px の差 151 件がすべてこの平行移動だった）。

	   ## ここに書かないもの

	   項目名の 25%・下の罫線・1 行目の上余白 0・最後の行の罫線なしは、すべて
	   **帯の外の節が移行元どおりに持っている**（22200 行あたり）。`width: auto` と
	   `border-bottom: 0` を外せばそのまま効くので、ここでは書き直さない。

	   `tr:first-child` と `tr:last-child` の節は当て先が (0,4,1) で、ここの
	   (0,3,0) より強い。内余白を上書きしても 1 行目の上余白 0 は守られる. */
	/*
	 * 🚨 表そのものにも `display: table` を書き戻す。上の汎用の節
	 * （`.entry-content table:not(.pa-form-table)`）が携帯幅で `display: block`
	 * + `overflow-x: auto` にしている。幅と高さは `tbody` が `display: table` に
	 * 戻されるおかげで合うが、`display` の値そのものが移行元（`table`）と違う.
	 */
	.pa-branch__content .page-branch .c-table {
		display: table;
	}

	.pa-branch__content .page-branch .c-table-th,
	.pa-branch__content .page-branch .c-table-td {
		display: table-cell;
		padding: calc(2.4 * 2.5445292621vw) 0;
	}

	/* 行送りも移行元は狭い画面で 1.8 になる（写し 341〜348 行）。帯の外の
	   `.c-table-th.c-text-m`（(0,4,0)・行送り 2）を打ち消すため、字の部品の
	   帯（(0,2,0)）では届かない. */
	.pa-branch__content .page-branch .c-table-th.c-text-m,
	.pa-branch__content .page-branch .c-table-td.c-text-m {
		line-height: 1.8;
	}

	/* セルの中の注記の上余白（写し 745〜748 行の `margin-top: 1rem`）。
	   幅 375px で 9.54px である. */
	.pa-branch__content .page-branch .c-table-td .note {
		margin-top: calc(1 * 2.5445292621vw);
	}

	/* 🚨 区画 3（導入・店舗情報・道のり）の余白も、携帯幅では画面幅に比例する
	   （Bug #3545）。区画 3（Task #3438）は 750px 以上の換算で固定 px にしてあり、
	   携帯幅で 4.6% 大きく出ていた。表を横並びに戻したあと、区画 4 の縦位置が
	   まだ 20.85px ずれていたのはこの余白のためである（幅 375px で実測）。

	   畳み方は Task #3524 の表と同じで、`1rem` を `2.5445292621vw` に置き換えて
	   3 つを比べ、効く枝を決める。幅 375px で移行元の実測とそろうことを
	   1 つずつ確かめた。

	   | 移行元 | 効く枝 | 書く値 | 375px |
	   |---|---|---|---|
	   | `clamp(1.25rem, 2.5vw, 2rem)` | 下限 | `calc(1.25 * …)` | 11.9275px |
	   | `clamp(6.4rem, 5.57rem + 2.21vw, 8rem)` | 中央 | `16.38302799vw` | 61.4364px |
	   | `clamp(3.2rem, 1.54rem + 4.41vw, 6.4rem)` | 中央 | `8.32857506vw` | 31.2322px |
	   | `clamp(4rem, 3.17rem + 2.21vw, 5.6rem)` | 中央 | `10.27615776vw` | 38.5356px |
	   | `clamp(4rem, 4vw, 6rem)` | 下限 | `calc(4 * …)` | 38.1679px |
	   | `clamp(1.6rem, 0.77rem + 2.21vw, 3.2rem)` | 中央 | `4.16928753vw` | 15.6348px |
	   | `clamp(4.8rem, 7.23rem − 2.21vw, 6.4rem)` | 中央 | `16.18694656vw` | 60.701px |
	   | `clamp(2rem, 4vw, 3rem)` | 下限 | `calc(2 * …)` | 19.084px |
	   | `clamp(0.5rem, 1vw, 1rem)` | 下限 | `calc(0.5 * …)` | 4.771px |

	   🚨 道のりの下内余白の `clamp()` は**中央が引き算**（`7.23rem − 2.21vw`）で
	   ある。画面が広いほど小さくなる向きなので、下限と上限の役割が入れ替わって
	   見える。畳んだ値（16.18694656vw）は 320〜749px の範囲で常に中央が効く. */
	.pa-branch__content .page-branch .intro-title {
		margin-bottom: calc(1.25 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .intro-container {
		gap: calc(4 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .info-section {
		padding-top: 16.38302799vw;
	}

	.pa-branch__content .page-branch .info-title {
		margin-bottom: 8.32857506vw;
	}

	/* 🚨 店舗情報の柱は、間合いと下内余白を 1 つの規則にまとめて書く。同じ
	   当て先を帯の中で 2 つに割ると、当て先ごとに値を縛る見張り
	   （`pa_block_in()`）が「どちらを見ているのか分からない」として落ちる. */
	.pa-branch__content .page-branch .info-layout {
		gap: calc(4 * 2.5445292621vw);
		padding-bottom: 10.27615776vw;
	}

	.pa-branch__content .page-branch .map-embed {
		margin-bottom: calc(0.8 * 2.5445292621vw);
	}

	/*
	 * 🚨 角丸は携帯幅で `1.5vw` 1 本になる。移行元は --radius-s
	 * （`clamp(0.5rem, 1.5vw, 1rem)`）で、携帯幅では 1rem が画面幅に比例する
	 * （`2.5445292621vw`）。下限 `0.5rem` = 1.272vw は 1.5vw より常に小さく、
	 * 上限 `1rem` = 2.545vw は常に大きいので、320〜749px の全域で中央が効く。
	 * 帯の外の `clamp(5px, 1.5vw, 10px)` は 750px 以上でだけ正しく、携帯幅では
	 * 320px で下限 5px（移行元 4.8px）・749px で上限 10px（移行元 11.235px）に
	 * 張り付いていた.
	 */
	.pa-branch__content .page-branch .intro-image img {
		border-radius: 1.5vw;
	}

	.pa-branch__content .map-embed {
		border-radius: 1.5vw;
	}

	.pa-branch__content .page-branch .route-image img {
		border-radius: 1.5vw;
	}

	.pa-branch__content .page-branch .route-section {
		padding: 4.16928753vw 0 16.18694656vw 0;
	}

	.pa-branch__content .page-branch .route-section .c-heading-m {
		margin-bottom: 4.12798982vw;
	}

	.pa-branch__content .page-branch .route-list {
		gap: calc(2 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .route-image {
		margin-bottom: calc(0.5 * 2.5445292621vw);
	}

	/* 道のりの説明文の上余白（写し 880〜882 行
	   `clamp(0.8rem, 0.386rem + 1.103vw, 1.6rem)`）。中央が効き、幅 375px で
	   7.81946px である. */
	.pa-branch__content .page-branch .route-text {
		margin-top: 2.0851883vw;
	}

	/* 押しボタンは画面の幅いっぱいまで広げる. */
	.pa-branch-archive__more-link,
	.pa-branch__back-link {
		display: block;
		min-width: 0;
		padding: 14px 16px;
	}

	/* エリアのページの導線は横に並べているので、狭いところでは 1 列に積む.
	   上の display: block だけでは、横に並ぶ子の幅が中身なりに縮んでしまう. */
	.archive-content--pa-area .pa-branch-archive__more-link {
		flex-basis: 100%;
	}

	/* 移行元の 2 列組みは、いずれも 1 列に積む。
	   .info-layout はここから外した。Task #3438 で移行元と同じ flex の組みへ
	   変えたため、格子の列の指定では 1 列にならない。狭い幅で縦へ積むのは
	   flex-direction: column を持つ素の規則の側が受け持つ. */
	.pa-branch__content .about.l-container,
	.pa-branch__content .shop_area,
	.pa-branch__content .mainvisual-assets {
		grid-template-columns: 1fr;
	}

	/* 区画見出しをスマートフォン版の値へ戻す（Task #1672 の項目 6）。
	   写し元 sp/branch/<エリア>/css/style.css:93-99 の .ttl_gold である。
	   移行元のスマートフォン版は同じ見出しに .box_delegate_ttl を使わず
	   .ttl_gold を当てているため、そちらの値を写した.
	   パソコン幅の値は Bug #1624 が min-width: 750px の側で当てている。
	   こちらは狭い幅だけを受け持ち、素の規則が持つ下罫線と行の高さを打ち消す. */
	.pa-profile-legacy-compat .pa-branch__content .box_delegate_ttl {
		margin: 0;
		padding: 15px 0;
		/* 移行元のスマートフォン版に下線は無い. */
		border-bottom: 0;
		font-size: 20px;
		letter-spacing: normal;
		/* 移行元は line-height: 100%. */
		line-height: 1;
	}

	/* 店舗名のリンクをスマートフォン版の値へ戻す（Task #1672 の項目 5）。
	   写し元 sp/branch/<エリア>/css/style.css:117-130 の .shop_detail h4 である。
	   目印の絵はパソコン版と別のファイルで、縦に長い（8×34）ものを 4×17 に縮めて使う。
	   ショートハンドの background は background-size を auto へ戻すので、
	   大きさの指定は必ず後ろに置く.
	   文字の大きさ 13px は見出しそのものの値で、文字として見えるのは中のリンクの
	   17px である。移行元も同じ組み合わせになっている. */
	.pa-profile-legacy-compat .pa-branch__content .shop_detail h3,
	.pa-profile-legacy-compat .pa-branch__content .shop_detail h4 {
		margin: 0 0 10px;
		padding: 10px 0 20px 10px;
		background: url("../sp/images/icon01.gif?ver=7d71745b9aff") no-repeat left 10px;
		background-size: 4px 17px;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.3;
	}

	.pa-profile-legacy-compat .pa-branch__content .shop_detail h3 a,
	.pa-profile-legacy-compat .pa-branch__content .shop_detail h4 a {
		display: inline;
		font-size: 17px;
	}

	/* 道のりの写真も Task #3438 で flex の組みへ変えた。狭い幅で縦へ積むのは
	   素の規則が持つ flex-direction: column が受け持つため、ここでの打ち消しは
	   要らなくなった。移行元も 750px 以上でだけ横に並べる書き方である. */

	/* 移行元の新デザインはスマートフォン幅で文字を一段小さくする。
	   移行元は 6 段を 1 段ずつ別の大きさにし、いずれも rem で書いている
	   （写し public/branch/assets/css/style.css 227〜300 行）。

	   🚨 **固定の px で写してはいけない（Bug #3268）。**移行元の 749px 以下の
	   1rem は 2.5445292621vw で、字の大きさが画面の幅に比例する。
	   固定の px は `100 / 2.5445292621 = 393px` の幅でだけ一致し、ほかの幅では外れる。
	   直す前は 24 / 20 / 18 / 16px の固定値で、実測の差は次のとおりだった。

	     幅 320px  c-heading-l +4.46px / c-heading-xxs +4.60px
	     幅 375px  c-heading-l +1.10px / c-heading-xxs +2.64px
	     幅 749px  c-heading-l −21.74px / c-heading-xxs −10.68px

	   `c-heading-xxs` は 393px でも一致しなかった（移行元 1.4rem = 14.00px 対 16px）。
	   倍率もろとも違っていたので、段ごとに移行元の rem をそのまま換算して書く.

	   なお `c-heading-s` と `c-heading-xs` は、新デザインの 4 店（銀座・新宿・静岡・
	   岡山）の本文に 1 件も出ていない（4 店の HTML をクラス名の単位で数えて確認）。
	   見た目には出ないが、写しに定義がある以上、移行元どおりの値を書いておく. */
	.pa-branch__content .c-heading-l {
		/* 移行元 2.4rem。幅 375px で 22.90px. */
		font-size: calc(2.4 * 2.5445292621vw);
	}

	.pa-branch__content .c-heading-m {
		/* 移行元 2rem。幅 375px で 19.08px. */
		font-size: calc(2 * 2.5445292621vw);
	}

	.pa-branch__content .c-heading-s,
	.pa-branch__content .c-heading-ss {
		/* 移行元 1.8rem。幅 375px で 17.18px. */
		font-size: calc(1.8 * 2.5445292621vw);
	}

	.pa-branch__content .c-heading-xs {
		/* 移行元 1.6rem。幅 375px で 15.27px. */
		font-size: calc(1.6 * 2.5445292621vw);
	}

	.pa-branch__content .c-heading-xxs {
		/* 移行元 1.4rem。幅 375px で 13.36px. */
		font-size: calc(1.4 * 2.5445292621vw);
	}

	/* 🚨 字の部品も画面幅に比例させる（Task #3524）。移行元は携帯幅で
	   `1rem = 2.5445292621vw` に解くので、固定 px だと 4.6% 大きく出る。
	   幅 375px の説明文（`p.data-desc.c-text-m`）で 15.27px 対 16px ずれ、
	   折り返しが 1 行増えて特長の本文が 43.4px 高くなっていた. */
	.pa-branch__content .c-text-l {
		/* 移行元 1.8rem。幅 375px で 17.18px. */
		font-size: calc(1.8 * 2.5445292621vw);
		line-height: 1.8;
	}

	.pa-branch__content .c-text-m {
		/* 移行元 1.6rem。幅 375px で 15.27px. */
		font-size: calc(1.6 * 2.5445292621vw);
		line-height: 1.8;
	}

	.pa-branch__content .c-text-s {
		/* 移行元 1.4rem。幅 375px で 13.36px. */
		font-size: calc(1.4 * 2.5445292621vw);
		line-height: 1.8;
	}

	/* 🚨 `.c-text-xs` は携帯幅でも 1.4rem だが行送りだけ 1.6 で、`.c-text-s`
	   （1.8）と違う（写し 338〜342 行）。上の節は 750px 以上の値として
	   14px / 1.6 を書いてあり、字の大きさは同じでも `vw` へ直さないと
	   携帯幅でずれる. */
	.pa-branch__content .c-text-xs {
		/* 移行元 1.4rem。幅 375px で 13.36px. */
		font-size: calc(1.4 * 2.5445292621vw);
	}

	.pa-branch__content .c-text-note {
		/* 移行元 1.2rem。幅 375px で 11.45px. */
		font-size: calc(1.2 * 2.5445292621vw);
	}

	.pa-branch__content .mainvisual-shopname {
		font-size: 28px;
	}

	.pa-branch__content .leadcopy-shop-name {
		font-size: 24px;
	}

	.pa-branch__content .leadcopy-txt-01 {
		font-size: 16px;
	}

	.pa-branch__content .title-01-jp::after {
		margin-top: 16px;
	}

	/* 節の見出しの写真の帯（Task #1726）の携帯幅の値。移行元は高さを固定せず、
	   上下の内余白（40px / 50px）で作り、上に 50px の外余白を置く。写真も携帯版の
	   実体（640x1080）に差し替える。幅いっぱいに広げる指定は「750px 以上」の値を
	   引き継ぐため、外余白は margin-block だけを書き換える（margin の一括指定に
	   すると margin-inline: calc(50% - 50vw) が消えて帯が本文幅で止まる）. */
	body.pa-profile-legacy-compat .pa-branch__content .title-01:not(.title-01--nobg) {
		height: auto;
		margin-block: 50px 0;
		padding: 40px 0 50px;
		background-image: url("../sp/branch/images/area1/bg_ttl01.jpg?ver=932ecb45e3b5");
	}

	/* 船橋店だけの写真も携帯版の実体へ差し替える（Task #3901）。位置・大きさ・
	   繰り返しはパソコン幅の値をそのまま引き継ぐ（移行元も携帯幅で同じ値である
	   ことを実測で確認）. */
	body.pa-profile-legacy-compat .pa-branch__content .page-branch-funabashi .title-01:not(.title-01--nobg) {
		background-image: url("../sp/branch/images/kanto/funabashi/bg_tti01.jpg?ver=8b0a5cc0c8f1");
	}

	/* ----------------------------------------------------------
	 * 改装版の店舗詳細だけが持つ装飾（Task #1649）の携帯幅の値
	 * 写し元: legacy/www.p-a.jp/public/sp/branch/css/style_renew.css
	 * 上の「750px 以上」の値との対応は、このファイルの
	 * 「改装版の店舗詳細だけが持つ装飾」の節の冒頭に書いてある。
	 * ---------------------------------------------------------- */

	/* 項目 1: 見出し「店舗のご案内」。帯の色・角丸・白文字・中央揃えは画面幅で
	   変えない。移行元が携帯版で変えるのは、字の大きさ・太さ・余白だけである. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro {
		margin-bottom: 40px;
	}

	/* 🚨 **行送りを移行元と同じ `normal` へ戻す（Bug #4161）。**移行元は携帯版でも
	   パソコン版でも、この題に行送りを書かない（`sp/branch/css/style_renew.css` の
	   830 行・`branch/css/style_renew.css` の 969 行のどちらにも無い）。dev は
	   テーマの既定（19.5px）が当たり、題が 26px 対 25.5px になる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .ttl {
		margin-bottom: 20px;
		padding: 3px 0;
		font-size: 13px;
		font-weight: bold;
		line-height: normal;
	}

	/* 🚨 **説明文の行送りも `normal` へ戻す（Bug #4161）。**移行元は行送りを書かず
	   （スマホ版 841 行・パソコン版 979 行のどちらにも無い）、dev はテーマの既定
	   （25.2px）が当たる。**ここが残差のいちばん大きい出どころだった**（仙台店・
	   幅 375px の実測で 126px 対 151.13px・+25.13px）。

	   この当たり先は写真の説明（`figcaption.text`）にも当たるが、移行元スマホ版は
	   そちらにも行送りを書かないので、同じ `normal` が正しい姿である（高崎店の
	   写真の説明 36px が両側で一致することを実測で確かめた）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .text {
		font-size: 14px;
		line-height: normal;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .text .note {
		margin-top: 10px;
		font-size: 10px;
	}

	/* 移行元の携帯版は写真を横に並べず、縦に積む. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list {
		margin-left: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li {
		float: none;
		width: auto;
		margin-left: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li figure {
		margin: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li figcaption {
		margin: 10px 0 20px;
		font-size: 12px;
	}

	/* 🚨 **写真を行の中の要素にしない（Bug #4161）。**移行元スマホ版は共通 CSS
	   （`sp/css/common.css` の 11〜15 行）で全画像に `display: block` を当てるので、
	   写真の下に文字の下ぶんの余りが付かない。dev はテーマの既定のまま行の中の
	   要素（`inline`）で、余りが付く。写真の組 1 つが 251.33px 対 257.33px（+6）に
	   なり、写真の枚数ぶん積み上がって区画で +42.63px になっていた（仙台店・
	   幅 375px の実測）。

	   🚨 **`display: block` を全画像へ広げてはいけない。**移行元スマホ版は共通 CSS で
	   全画像に当てているが、移行先で同じことをすると担当外の画面まで動く。ここは
	   この区画の写真だけに絞る。

	   🚨 **`img` だけを当たり先にしない。**絵の差し替えの表に行が足されると、写真が
	   `<picture>` で包まれて `> img` 系の当たり先が空振りする（7 班が 2026-09-07 に
	   踏んだ）。ここは `li img` の子孫の形なので包まれても当たるが、将来 `>` へ
	   狭めるときは `:is(img, picture)` にすること. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.intro .img-list li img {
		display: block;
	}

	/* 項目 2: 料金表。移行元の携帯版は見出しが青ではなく薄い灰色で、罫線の方が
	   青くなる（写し元 sp/branch/css/style_renew.css の 1376-1400 行目）。
	   ここで色と字の大きさを携帯版の値へ入れ替える。

	   ここの指定は、料金表を持つすべての旧デザインの店舗ページに効く。表の
	   分け方まで移行元の携帯版へ揃うのは、投入スクリプトが携帯版の組み方も
	   本文へ入れたページだけである（Bug #1734。この節の下の .pa-plan-table-sp
	   を参照）。それ以外のページは表が 1 個のままなので、テーマが 749px 以下で
	   セルを縦に積む（このファイルの少し上の .pa-branch__content th, td）。
	   狭い画面に何列も押し込むと字が詰まって読めなくなるためで、こちらは
	   移行元の携帯版とは組み方が揃わない。

	   携帯版の組み方が入るページは 7 件である（2026-08-09 に投入スクリプトを
	   実行して数えた実測値。投入対象 5,204 件のうち本文が変わったのが 7 件）。
	   内訳は Bug #1734 が挙げた 5 件（札幌・高崎・広島・福岡・仙台）に、
	   分類結果 docs/pa-cms/investigation/classification/classification.csv が
	   「そのまま移行」として投入対象に残している日付付きの 2 件
	   （chubu/hamamatsu0908・tohoku/sendai0901）を足したものである。同じ形の
	   控えでも「控えとして除外」に分類された 4 件は投入対象に入らないため、
	   ここには出てこない。

	   上の「750px 以上」の側で幅（188px・450px・154px・416px）を指定して
	   いる。テーマの縦積みの指定より詳細度が高く、そのままでは携帯幅にも
	   残ってしまうので、ここで幅を戻す。

	   表の上下の余白も同じ理由で戻す。上の「750px 以上」の側が
	   margin: 28px 0 10px を当てており、移行元の携帯版 CSS
	   （sp/branch/css/style_renew.css の 1376-1380 行目）には表の余白の指定が
	   無いため、携帯幅では上下とも 0 で出るのが移行元と同じ見え方である
	   （Bug #1721。移行元を 375px で実測して 0px を確認した）. */
	.pa-profile-legacy-compat .pa-branch__content .plan table {
		margin: 0;
		border-top: 1px solid #486d94;
		border-left: 1px solid #486d94;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table th,
	.pa-profile-legacy-compat .pa-branch__content .plan table td {
		width: auto;
		border: 0;
		border-right: 1px solid #486d94;
		border-bottom: 1px solid #486d94;
		font-size: 12px;
		text-align: center;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table th {
		padding: 5px 0;
		background: #e0e0e0;
		color: inherit;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table td,
	.pa-profile-legacy-compat .pa-branch__content .plan table tr:last-child td,
	.pa-profile-legacy-compat .pa-branch__content .plan table tr:last-child td:first-of-type {
		padding: 10px 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table tr:nth-child(1) th:nth-child(1),
	.pa-profile-legacy-compat .pa-branch__content .plan table tr:nth-child(1) td:nth-child(1) {
		width: auto;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table .need {
		width: auto;
		padding-left: 0;
		font-size: 12px;
	}

	/* コース名は 750px 以上の側で 20px にしているが、移行元の携帯版
	   （sp/branch/css/style_renew.css）に対応する指定は無く、セルの 12px を
	   そのまま継ぐのが正しい見え方である。ここで戻す. */
	.pa-profile-legacy-compat .pa-branch__content .plan table td .course {
		font-size: inherit;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table td .price {
		font-size: inherit;
		line-height: normal;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table td .price_normal {
		padding-bottom: 2px;
		font-size: inherit;
		line-height: 1;
	}

	/* 所要額の欄も同じ事情。750px 以上の側で左寄せと下の空きを置いているが、
	   移行元の携帯版に対応する指定は無く、セルの中央寄せを継いで空きは付か
	   ない。ここで両方を戻す. */
	.pa-profile-legacy-compat .pa-branch__content .plan table .need .price {
		text-align: inherit;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan table .need .price:nth-child(2) {
		margin-bottom: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan .note {
		margin: 10px 0 30px;
	}

	/* 料金表の組み方を、移行元の携帯版の側へ入れ替える（Bug #1734）。本文には
	   両方の組み方が入っている。事情は 750px 以上の側（.pa-plan-table-sp を
	   隠している箇所）に書いてある. */
	.pa-profile-legacy-compat .pa-branch__content .plan table.pa-plan-table-pc {
		display: none;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp {
		display: block;
	}

	/* 移行元の携帯版は 4 列を横に並べる（写し元 sp/branch/css/style_renew.css の
	   1376-1400 行目。td は幅 25%）。テーマは 749px 以下で本文のセルを縦へ積む
	   ため、この組み方の中だけ横並びへ戻す. */
	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp th,
	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp td {
		display: table-cell;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp td {
		width: 25%;
	}

	/* 🚨 **価格の字は、セルの 12px を受け継がず 13px で描かれる**（Bug #5187）。
	 *
	 * 移行元スマホ版の `sp/branch/css/style_renew.css` は
	 * `.plan table td { font-size: 12px }` を置くが、`.plan table td .price` には
	 * 字の大きさを書いていない。**移行元の初期化が `span` へ 13px を直に当てている**
	 * ため、受け継ぎではなく 13px が出る（2026-09-09 13:54 に実ページで当たる規則を
	 * 集めて確かめた。当たったのは初期化の 1 本だけ）。
	 *
	 * dev は `.plan table td .price { font-size: inherit }` を携帯幅で置いており、
	 * セルの 12px を受け継いで 1px 小さくなる。**移行元と同じ 13px を直に当てる。**
	 *
	 * 🚨 文字の広がりはセルの幅にほぼ張り付く（移行元 82.5 / セル 83.5）。
	 * 字を大きくしたら**折り返していないことを行内要素の `getClientRects()` で数えて
	 * 確かめる**（`Range` の矩形の個数は箱ごとに返るので行数にならない）. */
	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp td .price {
		font-size: 13px;
	}

	/* コース名の見出しの箱。写し元 sp/branch/css/style_renew.css の 1358-1373 行目。
	   見出しと説明文の余白は、移行元が持たない分をここで 0 に戻す（テーマには
	   見出し・段落の余白を一律で消す指定が無く、ブラウザの既定が残るため）. */
	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp .table-area {
		margin-top: 20px;
		padding: 20px;
		background: #486d94;
		color: #fff;
		text-align: center;
	}

	/* コース名は青地に白抜きで、飾りを持たない。テーマは記事の本文共通で h3 へ
	   金色の文字と左の縦棒を当てており（このファイルの下の .entry-content h3）、
	   打ち消さないと青地に金色の字が乗って読めなくなる。行の高さも、移行元は
	   指定を持たず normal で出るため、テーマの見出しの値を戻す. */
	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp .table-area .ttl {
		margin: 0;
		padding: 0;
		border-left: 0;
		color: inherit;
		font-size: 16px;
		font-weight: bold;
		line-height: normal;
	}

	/* 説明文も同じ事情。移行元のこの箱には行送りの指定が無く normal で出る. */
	.pa-profile-legacy-compat .pa-branch__content .plan .pa-plan-table-sp .table-area .txt {
		margin: 5px 0 0;
		font-size: 14px;
		line-height: normal;
	}

	/* --------------------------------------------------------------
	 * 改装版の見出しと本文の携帯幅（Task #3672）
	 *
	 * パソコン幅の値を上の方で移行元へそろえた。**あの規則は幅で囲っていないので、
	 * ここで携帯幅の値へ戻さないと携帯幅がパソコン幅の値のままになる。**
	 * 写し元は移行元の携帯版 `sp/branch/css/style_renew.css` である。
	 *
	 * | 当たり先 | 写し元の行 | パソコン幅 | 携帯幅 |
	 * |---|---|---|---|
	 * | `.content-headline` | 162〜169 | 36px / 1.6 / 下 50px | **22px / 1.1 / 下 25px** |
	 * | `.content-ttl-main` | 272〜277 | 32px / 1.4 / 下 32px | **20px / 1.4 / 下 30px** |
	 * | `.content-txt-box .txt` | 245〜248 | 16px / 2 | **14px / 2** |
	 * | `.content-msg` | 279〜284 | 22px / 太字 / 内 25px | **字と太さの指定なし（受け継ぎ）/ 内 20px 0** |
	 *
	 * 2026-09-05 に移行元の携帯版（`/sp/` へ転送された先）と dev を幅 375px で
	 * 測った値である。`.content-msg` は移行元の携帯版が字の大きさも太さも書いて
	 * いないので、本文の 13px と普通の太さで描かれる. */
	.pa-branch__content .content-headline {
		margin-bottom: 25px;
		font-size: 22px;
		line-height: 1.1;
	}

	.pa-branch__content .guide .content-headline {
		margin-bottom: 25px;
	}

	.pa-branch__content .content-ttl-main {
		margin-bottom: 30px;
		font-size: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .content-txt-box .txt {
		font-size: 14px;
	}

	/* 店長の言葉の強調の字（Bug #5185）。移行元の携帯版は `.content-txt-box .txt` を
	   14px で組むが、**強調はそれより 1px 小さい 13px で描かれる**。初期化 CSS の
	   `html, body, div, span, …, em, … { font-size: 13px }` が **`em` に直に当たり**、
	   親から降りてくる 14px に勝つためである（重みは低くても直に当たるほうが勝つ）。

	   行送りはここで書かない。上の `.content-txt-box .txt` が持つ `line-height: 2` を
	   受け継ぎ、13 × 2 = 26px になる（移行元の実測 26px と一致する）. */
	.pa-profile-legacy-compat .pa-branch__content .content-txt-box .txt em {
		font-size: 13px;
	}

	/* 誘いの一文の強調（Bug #5186）。写し元は `sp/branch/css/style_renew.css` の
	   286〜289 行 `.content-msg p em { font-size: 18px; font-weight: bold }` である。
	   太さは Bug #5321 が当てる。

	   🚨 **行送りを `normal` へ戻す。**移行元の携帯版は帯にも段落にも行送りを書かず、
	   計算後は `normal` になる。テーマは `.entry-content p` に共通の行送り
	   （`--pa-line-height-text`）を置いており、それが強調まで降りて 13 × 1.8 = 23.4px に
	   なっていた（Bug #5186 の実測）。帯そのものは既に `line-height: normal` を持つが、
	   段落の指定のほうが強いので、ここで打ち消す. */
	.pa-profile-legacy-compat .pa-branch__content .content-msg p em {
		font-size: 18px;
		line-height: normal;
	}

	.pa-profile-legacy-compat .pa-branch__content .content-msg {
		padding: 20px 0;
		font-size: inherit;
		font-weight: 400;
	}

	/* --------------------------------------------------------------
	 * 「コースと料金のご案内」の絵の並びの携帯幅（Task #3672）
	 *
	 * 🚨 **移行元の携帯版は縦に積む。**パソコン幅で当てた横並べ（幅 754px・
	 * `float: left`・札の幅 348px）をここで解かないと、**幅 375px の画面に
	 * 754px の器が居座って横にはみ出す**。写し元は `sp/branch/css/style_renew.css`
	 * の 1455〜1462 行で、器は `margin: 30px 0 0` だけ、札は `margin-top: 20px` と
	 * `font-size: 0` だけを持つ（幅も回り込みも書いていない）. */
	.pa-profile-legacy-compat .pa-branch__content .plan .plan .bnr,
	.pa-profile-legacy-compat .pa-branch__content .plan .plan.premium .bnr {
		display: block;
		width: auto;
		margin: 30px 0 0;
		overflow: visible;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan .plan .bnr li,
	.pa-profile-legacy-compat .pa-branch__content .plan .plan.premium .bnr li {
		float: none;
		width: auto;
		margin: 20px 0 0;
	}

	/* 項目 3: 押しボタン「ご予約フォームへ」。移行元の携帯版は 2 列組みを
	   やめて縦に積み、赤いボタンを .btn というクラスで当てる（写し元
	   sp/branch/css/style_renew.css の 1204-1300 行目）。上の「750px 以上」の
	   側は並び順（li:nth-child(1)）で当てているので、ここで当て方が入れ替わる。
	   その事情は上の節の見出しに書いてある. */
	.pa-profile-legacy-compat .pa-branch__content .firststep .content-wrap {
		margin-top: 45px;
		overflow: visible;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area {
		float: none;
		width: auto;
		margin-top: 25px;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .txt {
		margin-bottom: 1.5em;
		font-size: 14px;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .img {
		float: none;
		width: auto;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list {
		overflow: visible;
		margin-top: 45px;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li {
		float: none;
		width: auto;
		margin-top: 30px;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li a {
		font-size: 18px;
		font-weight: bold;
	}

	/* 電話の導線。移行元の携帯版だけが薄い灰色の枠と受話器の絵を持つ。
	   写し元: sp/branch/css/style_renew.css の 1225-1246 行目.

	   【当て先を移行元から 1 段だけ変えている】
	   移行元の携帯版は、内側余白（1230 行目）と受話器の絵（1234 行目）を
	   .tel の中の a へ当てる。携帯版の本文が
	   <p class="tel"><a href="tel:0120093408">0120-093-408</a></p> だからである。
	   移行先へ取り込んだのはパソコン版の本文で、そこは
	   <p class="tel">0120-093-408</p> という素のテキストなので、a へ当てると
	   どちらも当たらず、広島と仙台のページで灰色の枠だけが出ていた（Bug #1720）。
	   そこで 2 つの当て先を .tel 自身へ移した（案 B・2026-08-08 にユーザー承認）。
	   .tel は高さ 60px と box-sizing: border-box を 750px 以上の側から継ぎ、
	   絵の起点になる position: relative もここで持つ。移行元では a の中で起きて
	   いた 16px の押し下げが .tel の内側余白へ移るだけなので、文字の位置も絵の
	   位置も移行元の携帯版と同じ寸法に収まる。
	   本文へ電話のリンクを足す案（案 A）は、移行元のパソコン版がリンクを持たず
	   パソコン幅が移行元と食い違うため採らなかった. */
	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li .tel {
		position: relative;
		padding: 16px 0 0;
		border: 1px solid #e0e0e0;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li .tel::before {
		content: "";
		position: absolute;
		top: 17px;
		left: 50%;
		display: block;
		width: 31px;
		height: 24px;
		margin-left: -6.2em;
		background-image: url("../branch/images/brand_icon_freecall_w.png?ver=2e12bf955193");
		background-repeat: no-repeat;
		background-size: cover;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li .btn a {
		position: relative;
		padding: 16px 0 0 20px;
		background: #c51f10;
		color: #fff;
		text-decoration: none;
	}

	/* 移行元の携帯版は、絵を左端でなく文字の並びに合わせて中央寄りへ置く. */
	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li .btn a::before {
		content: "";
		position: absolute;
		top: 16px;
		left: 50%;
		display: block;
		width: 18px;
		height: 30px;
		margin-left: -5.5em;
		background: url("../branch/images/branch_icon_res.png?ver=d32e7ae3d8e9") no-repeat 0 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep .content-area .link-list li .btn a::after {
		content: "";
		position: absolute;
		top: 25px;
		right: 10px;
		display: block;
		width: 6px;
		height: 11px;
		background: url("../branch/images/icon_arrow_right_wh.png?ver=67e621b72d45") no-repeat 0 0;
	}

	/* 項目 4: 「成婚率No.1の全国区ブランド × 地元密着のサポート」の区画。
	   移行元の携帯版は 2 枚のカードを横に並べず縦に積み、間の「×」をカードの
	   真下へ置き直す（写し元 sp/branch/css/style_renew.css の 296-478 行目）. */

	/* 背景写真は携帯版だけ別ファイルで、敷き方も違う（横幅に合わせて縮める）。
	   写真を画面に貼り付ける指定（background-attachment: fixed）は移行元も
	   768px 以上でしか当てていないので、ここで戻す。

	   Task #1798 で当て先を広げた。理由は既定側（このファイルの項目 4 の
	   .parallax）と同じで、移行元は区画で絞らず全ページ共通に当てている
	   （写し元 sp/branch/css/style_renew.css の 296・304・308 行目）. */
	.pa-profile-legacy-compat .pa-branch__content .parallax {
		background-attachment: scroll;
		background-size: 100% auto;
	}

	.pa-profile-legacy-compat .pa-branch__content .parallax__fix {
		min-height: 375px;
	}

	.pa-profile-legacy-compat .pa-branch__content .parallax-ttl {
		background-image: url("../sp/branch/images/cont_ttl_bg.png?ver=8e51ff8a7a5c");
	}

	/* 写真を画面の幅いっぱいに広げるため、切り落としを外す。テーマはこの幅で
	   .pa-branch__content に横スクロールの器を作っているが、器があると写真が
	   その中で切られてしまう。この区画を持つページだけ器を外す。広い表は
	   本文の表の指定（.entry-content table の overflow-x: auto）が引き続き
	   横に転がすので、読めなくなる箇所は無い. */
	.pa-profile-legacy-compat .pa-branch__content:has(.brand .parallax__fix) {
		overflow-x: visible;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .content-wrap {
		margin-top: -375px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .content-txt-box {
		margin-bottom: 30px;
	}

	/* 青いカード。縦積みにするので回り込みと幅の指定を戻す. */
	.pa-profile-legacy-compat .pa-branch__content .brand-area {
		float: none;
		width: auto;
		margin: 0;
		padding: 20px;
		background: url("../branch/images/brand_bg.png?ver=e607f97525e3") no-repeat right 20px top 90px/230px auto #486d94;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area h3 {
		padding: 9px;
		font-size: 18px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul {
		margin-top: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li {
		margin-top: 15px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li .img {
		width: 70px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li p {
		width: calc(100% - 80px);
		margin-top: 3px;
		font-size: 12px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li p strong {
		font-size: 18px;
		line-height: 1.5;
	}

	/* 英字だけ 750px 以上の側で 30px にしているが、移行元の携帯版に対応する
	   指定は無く、すぐ上の strong の 18px を継ぐ。ここで戻す（親の p は 12px
	   なので inherit では 12px になってしまう。18px を明記する）. */
	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li p strong.en {
		font-size: 18px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(2) p {
		margin-top: 12px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(2) p strong {
		margin-right: 5px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(3) p {
		margin-top: 10px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand-area ul li:nth-child(3) p strong {
		line-height: 1.4;
	}

	/* 「×」は携帯版だけ文字ではなく画像で、置き場所もカードの右外から
	   真下の中央へ移る. */
	.pa-profile-legacy-compat .pa-branch__content .brand-area::after {
		content: "";
		top: auto;
		right: auto;
		bottom: -45px;
		left: 50%;
		width: 35px;
		height: 35px;
		margin-left: -17px;
		background: url("../sp/branch/images/brand_cross.png?ver=a3718a23a995") no-repeat;
		background-size: cover;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area {
		float: none;
		width: auto;
		margin: 55px 0 30px;
		padding: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area h3 {
		padding: 9px;
		font-size: 18px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul {
		margin-top: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li {
		margin-top: 15px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li .img {
		width: 70px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li p {
		width: calc(100% - 80px);
		margin-top: 12px;
		font-size: 12px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li p strong {
		font-size: 18px;
		line-height: 1.5;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li:nth-child(2) p {
		margin-top: 12px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area ul li:nth-child(2) p strong {
		line-height: 1.5;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .support-area2 .bg-img {
		bottom: 15%;
		width: 85%;
		height: auto;
	}

	/* 締めのベージュの帯。移行元の携帯版は帯そのものに字の大きさと太さを
	   置かず、中の段落側で決めている. */
	.pa-profile-legacy-compat .pa-branch__content .brand .content-msg {
		padding: 20px;
		font-size: inherit;
		font-weight: normal;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .content-msg p {
		font-size: 17px;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .content-msg p em {
		font-size: 18px;
		font-weight: bold;
	}

	.pa-profile-legacy-compat .pa-branch__content .brand .content-msg p.mini {
		font-size: 14px;
	}

	/* 🚨 携帯幅も区画で絞らない（Bug #4048）。移行元の携帯版
	   `sp/branch/css/___style_renew.css` の 278 行も
	   `.content-msg sup { font-size: 10px; vertical-align: super; }` で
	   区画を絞っていない。上の幅で囲っていない規則が字の大きさを持つので、
	   ここは移行元と同じく縦の位置だけを持たせる。 */
	.pa-profile-legacy-compat .pa-branch__content .content-msg sup {
		vertical-align: super;
	}

	/* 項目 7: 店舗情報の表（Task #1875）。移行元の携帯版は別の URL・別の CSS で
	   出しており、パソコン版のページを 375px まで狭めても携帯版の値は出ない。
	   写し元は sp/branch/css/style_renew.css の 784-824 行目で、実測も携帯版の
	   URL（www.p-a.jp/sp/branch/chugoku/hiroshima.html）を直接開いて採った。
	   パソコン版との違いは次の 4 点である。
	     - 表の上の罫線が無い（792 行に border-top が無い）
	     - 字の大きさが 14px（パソコン版は 16px）
	     - 見出しセルの幅が 80px（パソコン版は 110px）
	     - セルの内余白が 20px 0（パソコン版は 18px 0 20px / 16px 0 20px）

	   移行元の携帯版は 2 列（見出し 80px と中身）を保つが、テーマは携帯幅で
	   .pa-branch__content の th と td を display: block にして縦に積む
	   （上の「店舗情報は 2 列だと見出しも中身も潰れる」の指定）。この区画は
	   移行元が積まないので、表のセルへ戻す。旧デザインの店舗情報（.about-info）
	   は移行元の携帯版でも積むため、そちらは触らない.

	   移行元の携帯版が書いていて、ここに写していない宣言が 1 つある。
	     - 注記 .note の 3 宣言（820 行）: パソコン版と同じ値で、上の指定で足りる

	   地図の幅（.guide-set.shop iframe の 100%・816 行）は Task #1908 で写した。
	   同じ Task が、パソコン幅で足した 2 列組みを携帯幅で縦積みへ戻す 2 本も足して
	   いる。詳しくは下のそれぞれの見出しを読むこと.

	   表そのものの display は block のままにしてある。テーマは携帯幅で本文の表を
	   display: block + overflow-x: auto にし、tbody を display: table へ戻して
	   いる（記事本文の節）。行と列の組みは tbody 側が保つので、移行元の携帯版と
	   同じ 80px + 残り幅で並ぶ（実測 80px + 265px = 345px）。横に転がる余地を
	   残す指定なので、そのまま活かす。

	   区画の見出し（.content-subline）の字の大きさが移行元 20px・dev 17px と
	   違うが、これは .guide-set.shop の外にある共通の見出しの指定に由来する。
	   この Task の範囲外なので触らない（下の外余白 10px だけを写す）. */

	/* 区画の下の間隔（移行元の携帯版 784 行）。パソコン幅で足した 40px を、移行元の
	   携帯版と同じ 30px へ戻す。この 1 本が無いと、dev がもともと携帯幅で持っていた
	   30px をパソコン幅の指定が上書きしてしまう（実測で確認）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop {
		margin-bottom: 30px;
	}

	/* 区画の見出しの下の間隔（移行元の携帯版 788 行）。dev は 20px. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area .content-subline {
		margin-bottom: 10px;
	}

	/* 表の上の罫線を消す（移行元の携帯版 792 行に border-top が無い）。
	   パソコン幅で足した上の罫線をここで打ち消す. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table {
		border-top: none;
	}

	/* 見出しセルの行送り（Bug #5245）。移行元スマホ版はこのセルに行の高さを書かず、
	   親からも継がないので `normal` で描く（`sp/css/basic.css` `common.css`
	   `style.css` と `sp/branch/css/style_renew.css` の全数を読んで、`body` にも
	   `table` にも `th` にも `line-height` が 1 本も無いことを確かめた）。

	   dev は記事本文の表の共通指定
	   `.entry-content table:not(.pa-form-table) :is(th, td) { line-height: var(--pa-line-height-base) }`
	   （強さ (0,2,2)）が当たって 1.5 になり、**14 × 1.5 = 21px** で描いていた。
	   `.pa-branch-renew .pa-branch__content { line-height: normal }` は在るが、
	   継承より直接の指定が勝つので届かない（Bug #5321 と同じ型）。

	   値の枡（td）は移行元と同じ 1.65 で一致しているため、**見出しの字だけが
	   約 2.4px 下がって値とそろわない**（(21 − 16.1) ÷ 2）。実測は札幌店・幅 375px・
	   2026-09-09 13:56（移行元 normal 対 dev 21px）。

	   🚨 パソコン幅は触らない。移行元のパソコン版 CSS もこのセルに行の高さを
	   書いていないので同じ差が在る見込みだが、まだ測っていない（別に測って起票する）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table th {
		display: table-cell;
		width: 80px;
		padding: 20px 0;
		border: none;
		border-bottom: 1px solid #e0e0e0;
		color: #486d94;
		font-size: 14px;
		font-weight: bold;
		text-align: left;
		vertical-align: top;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td {
		display: table-cell;
		width: auto;
		padding: 20px 0;
		border: none;
		border-bottom: 1px solid #e0e0e0;
		font-size: 14px;
		line-height: 1.65;
		vertical-align: top;
	}

	/* 注記の中のリンクの字を移行元スマホ版へ戻す（Bug #4347）。
	
	   移行元の注記（small.note）は 12px だが、**その中のリンクは 12px を継がず
	   13px で出る**。移行元の CSS には要素名を 70 個ほど並べて初期化する指定が在り、
	   その一覧に a が入っていて a 自身に font-size: 13px を直接当てているためである
	   （継承より直接の指定が勝つ）。字を探しても見つからない当たり先なので、
	   ブラウザ自身の照合結果で確かめた。
	
	   注記は携帯幅で 2 行に折り返す。行送りは値の枡の line-height: 1.65 を継ぐので、
	   移行元は 1 行 21.45px（13 × 1.65）、直す前の dev は 19.8px（12 × 1.65）だった。
	   2 行分の差 3.3px が、表の高さの差 3.28px（丸め）のすべてである。
	
	   行送りは書かない。字を 13px にすれば 21.45px が導出される（移行元と同じ道すじ）。
	   display も移行元にそろえて inline へ戻す（パソコン幅の block は変えない）. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table td .note a {
		display: inline;
		font-size: 13px;
	}

	/* 2 列組みを縦積みへ戻す 2 本（Task #1908）。移行元の携帯版は回り込みも幅も
	   持たない（sp/branch/css/style_renew.css の 784-824 行に .content-area と
	   .map-area の幅の指定が無い）。移行元はパソコン版と携帯版を別のファイルで
	   配っていて混ざらないが、移行先は 1 つの CSS を両方の幅へ配るため、パソコン幅で
	   足した回り込みと幅をここで打ち消す必要がある（項目 8 の携帯幅の節に書いてある
	   「戻し」と同じ事情）。この 2 本が無いと、携帯幅でも表 580px と地図 460px が
	   横に並び、画面から溢れる. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area,
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .map-area {
		float: none;
		width: auto;
	}

	/* 地図の幅（移行元の携帯版 815 行）。画面の幅いっぱいまで広げる。

	   高さの 200px は移行元の携帯版が markup の height 属性で持つ値である（移行元の
	   携帯版 sp/branch/chugoku/hiroshima.html は width="100%" height="200"）。テーマが
	   出す markup は移行元のパソコン版と同じ 460 × 460 なので、幅と同じくここで携帯版の
	   値へ戻す。高さを写さないと、携帯幅で地図が移行元の 200px に対して 460px に
	   なり、2.3 倍の高さで出る. */
	.pa-profile-legacy-compat .pa-branch__content .guide-set.shop iframe {
		width: 100%;
		height: 200px;
	}

	/* --------------------------------------------------------------
	 * 項目 8: どの区画にも属さない土台の指定（Task #1798）の携帯幅の値
	 * 写し元: sp/branch/css/style_renew.css の 152・192-241・263 行目と、
	 *         区画別の上書き 900・1177・1288・1344・1468 行目
	 *
	 * 上書きには 2 種類ある。
	 *   1. 移行元の携帯版が別の値を持つもの（内余白・字の大きさ・外余白）
	 *   2. 移行元の携帯版に対応する規則が無く、パソコン版の値が残ると困るもの。
	 *      移行元はパソコン版と携帯版を別ファイルで配っていて混ざらないが、
	 *      移行先は 1 つの CSS を両方の幅へ配るため、ここで元へ戻す必要がある
	 * 戻しに当たるのは、写真の側の回り込みと幅（.content-img-box とその中の
	 * .img）、小見出しの札の外余白（.label）、節ごとの上下の余白のうち携帯版に
	 * 対応する規則が無い 3 つ（.security / .plan / .voice）である。
	 * -------------------------------------------------------------- */

	/* 節の器（移行元 152 行）。携帯版は位置の基準も持つ. */
	.pa-profile-legacy-compat .pa-branch__content .content {
		position: relative;
		margin-top: 50px;
	}

	/* 節ごとの上書き（移行元 484・660・896・947・971・1173 行）。

	   移行元の携帯版に対応する規則が無い 3 つ（.security / .plan / .voice）は、
	   パソコン版の値が残ると困るので土台の 50px へ戻す。.cc-intro の内余白と
	   .voice の透明な上の罫線も、携帯版には無いので戻す。移行元の携帯版には
	   ページ内の飛び先へ潜らせない仕掛けが無い. */
	/* 「Close up!」の節（移行元 484 行）。同じ値を項目 5 の携帯幅の節にも書いて
	   あるが、あちらはこのファイルの上の方に在る。土台の .content と詳細度が
	   同じなので、後から出てくる土台に負けてしまう。ここで書き直しておく. */
	.pa-profile-legacy-compat .pa-branch__content .closeup {
		margin-top: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .guide {
		margin-top: 0;
		padding-top: 50px;
	}

	/* 「お知らせとフェイスブック」の節（移行元 865 行）。移行元の携帯版だけ
	   土台より狭い 40px を当てている。パソコン版に上書きは無く、土台の 100px を
	   そのまま使うので、この節はここ（携帯幅）だけに書く。

	   🚨 絞りに `news` だけを使ってはいけない。`news` は**旧デザインと改装版の
	   両方に出る**クラスで（棚卸しでは 3 ページ・系統は「旧デザイン/改装版」）、
	   デザインプロファイルの前置だけでは旧デザインのページへ届いてしまう。
	   `content` と重ねて絞ればその心配が無い。`content` は改装版 5 ページに
	   しか出ないためである（棚卸しでは 54 件・系統は「改装版」）。この 2 つを
	   併せ持つ要素は改装版だけに在り、dev の本文で実測すると仙台店の 1 件
	   （`class="content news"`）だけだった. */
	.pa-profile-legacy-compat .pa-branch__content .content.news {
		margin-top: 40px;
	}

	.pa-profile-legacy-compat .pa-branch__content .cc-intro {
		margin-top: 0;
		padding-top: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .cc-comment {
		margin-top: 40px;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice {
		margin-top: 50px;
		border-top: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .firststep {
		margin-top: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .security {
		margin-top: 50px;
	}

	.pa-profile-legacy-compat .pa-branch__content .plan {
		margin-top: 50px;
		margin-bottom: 0;
		padding-top: 0;
	}

	/* 見出しの器（移行元 192 行）と、区画ごとの上書き（移行元 900・1177・
	   1288・1344・1468 行。5 区画とも同じ値である）. */
	.pa-profile-legacy-compat .pa-branch__content .content-headline-wrap {
		padding-top: 50px;
		padding-bottom: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .cc-intro .content-headline-wrap,
	.pa-profile-legacy-compat .pa-branch__content .firststep .content-headline-wrap,
	.pa-profile-legacy-compat .pa-branch__content .security .content-headline-wrap,
	.pa-profile-legacy-compat .pa-branch__content .plan .content-headline-wrap,
	.pa-profile-legacy-compat .pa-branch__content .coming .content-headline-wrap {
		padding-top: 60px;
		padding-bottom: 35px;
	}

	/* 小見出し（移行元 201 行）。字の大きさと下の外余白だけが変わる. */
	.pa-profile-legacy-compat .pa-branch__content .content-subline {
		margin-bottom: 30px;
		font-size: 20px;
	}

	/* 料金表の中の小見出し（移行元 1451 行）. */
	.pa-profile-legacy-compat .pa-branch__content .plan .plan .content-subline {
		margin-bottom: 20px;
	}

	/* 添え書き（移行元 211 行）。携帯版は太字で行間を詰める. */
	.pa-profile-legacy-compat .pa-branch__content .content-subline .small {
		font-size: 14px;
		font-weight: bold;
		line-height: 1;
	}

	/* 小見出しの中の強調（移行元 218 行）。移行元の携帯版はここだけ字の大きさを
	   書き直している（親と同じ 20px なので、テーマが強調へ別の大きさを当てても
	   親に揃う）. */
	.pa-profile-legacy-compat .pa-branch__content .content-subline strong {
		font-size: 20px;
		font-weight: bold;
	}

	/* 写真と本文の組（移行元 233・237 行）。移行元の携帯版は左右に並べず縦に
	   積むので、パソコン版の回り込みと右の間・写真の幅を戻す. */
	.pa-profile-legacy-compat .pa-branch__content .content-img-set {
		margin-bottom: 30px;
	}

	.pa-profile-legacy-compat .pa-branch__content .content-img-box {
		float: none;
		margin-right: 0;
		margin-bottom: 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .content-img-box .img {
		width: auto;
	}

	/* 注記（移行元 263 行）。上下の外余白が変わる. */
	.pa-profile-legacy-compat .pa-branch__content .content-txt-note {
		margin: 10px 0 30px;
	}

	/* --------------------------------------------------------------
	 * 項目 9: 「ご来店の案内」の区画（Task #1797）の携帯幅の値
	 * 写し元: sp/branch/css/style_renew.css の 1473-1561 行目
	 *
	 * 上書きには 2 種類ある。
	 *   1. 移行元の携帯版が別の値を持つもの（外余白・字の大きさ・三角の向き）
	 *   2. 移行元の携帯版に対応する規則が無く、パソコン版の値が残ると困るもの。
	 *      移行元はパソコン版と携帯版を別ファイルで配っていて混ざらないが、
	 *      移行先は 1 つの CSS を両方の幅へ配るため、ここで元へ戻す必要がある
	 * 戻しに当たるのは、手順の並びの負の左外余白と囲い込み、各手順の回り込み・
	 * 幅・左外余白、三角の上と右の位置、手順の見出しの表組みと左内余白、
	 * 小見出しの札の左外余白と縦の位置合わせ、そして番号の数字の擬似要素である。
	 * -------------------------------------------------------------- */

	/* 節の中身の器（移行元 1473 行）. */
	.pa-profile-legacy-compat .pa-branch__content .coming .content-wrap {
		margin-top: 50px;
	}

	/* 小見出し（移行元 1477 行）。土台（項目 8）の下の内余白 20px を上書きする. */
	.pa-profile-legacy-compat .pa-branch__content .coming .content-subline {
		padding-bottom: 15px;
	}

	/* 小見出しの中の札（移行元 1481 行）。携帯版は太字になり、**左の外余白と
	   縦の位置合わせを持たない**。パソコン版の 30px と 7px が残ると札が右へ
	   ずれて浮くので、ここで戻す。

	   札は移行元と同じ inline-block のまま置く（Bug #10068）。札を見出しの次の行へ
	   送るのは、本文の <br class="pa-branch-sp-br"> である。移行元の携帯版は
	   見出しと札の間に <br> を置いており（sp/branch/hokkaido/sapporo.html・
	   tohoku/sendai.html・kanto/takasaki.html の「ご来店時の流れ<br><span>所要時間…」）、
	   移行先は表示のときに同じ位置へ足す（inc/branch-sp-markup.php の規則 5・Bug #10026）。

	   🚨 前は display: block ＋ width: fit-content で改行を作っていた（#1960）。
	   「<br> ＋ inline-block と同じ描画になる」と考えていたが、実測では違った。
	   inline-block の札は行の高さ 32px の行にベースラインで並び、その行は 33.8px になる。
	   block の札は自分の箱の 26.8px だけになり、小見出しが 7px 低くなる
	   （札幌の携帯 375 で、移行元 81.8・直す前の dev 74.8。
	   pa-verify-assets/A/10026-h3の規則-1009/）。block に戻さない. */
	.pa-profile-legacy-compat .pa-branch__content .coming .content-subline span {
		display: inline-block;
		margin-left: 0;
		font-weight: bold;
		vertical-align: baseline;
	}

	/* 本文の文字（移行元 1491 行）. */
	.pa-profile-legacy-compat .pa-branch__content .coming .txt {
		font-size: 14px;
	}

	/* 手順の並び（移行元 1495 行）。携帯版は縦に積むので、パソコン版の負の
	   左外余白を戻す（移行元の携帯版は `margin: 30px 0 0` の一括指定で左を 0 に
	   している）。回り込みが無くなるので囲い込みも戻す. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list {
		margin: 30px 0 0;
		overflow: visible;
	}

	/* 各手順（移行元 1499 行）。回り込み・幅・左外余白を戻して縦に積む。
	   下の内余白 50px が、下向きの三角の場所を作る. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li {
		float: none;
		width: auto;
		margin-left: 0;
		padding-bottom: 50px;
	}

	/* 手順の写真（移行元の携帯版の共通 reset sp/css/common.css の 11 行目）。
	   移行元の携帯版はサイト全体で写真を行の外の箱（display: block）にして
	   いる。テーマは行の中の箱（inline）のままなので、写真の下に文字の下端の
	   ぶんの隙間ができる。この区画の中だけ移行元と同じ block へ戻す。

	   サイト全体の reset までは写さない。この Task の範囲は「ご来店の案内」の
	   区画であり、写真の扱いを全ページで変えるのは別の判断になるためである. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li img {
		display: block;
	}

	/* 手順をつなぐ三角（移行元 1504 行）。携帯版は下向きで、置き場所が
	   右外から真下の中央へ移る。パソコン版の上と右の位置を戻す. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li::after {
		top: auto;
		right: auto;
		bottom: 20px;
		left: 50%;
		margin-left: -20px;
		border-width: 15px 20px 0 20px;
		border-color: #e0e0e0 transparent transparent transparent;
	}

	/* 最後の手順の三角は出さない（移行元 1550 行）. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li:nth-child(3)::after {
		display: none;
	}

	/* 手順の見出し（移行元 1518 行）。携帯版は番号を文字の並びの中に置くので、
	   パソコン版の表組みの並べ方と、丸の場所を空けるための左内余白を戻す. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li h4 {
		display: block;
		padding-left: 0;
	}

	/* 番号の丸と数字（移行元 1525 行）。**携帯版はこの 1 つで丸と数字の両方を
	   出す**。文字の並びの中に置くので、位置指定を外して行の中の箱にする. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li h4::before {
		position: static;
		display: inline-block;
		width: 30px;
		height: 30px;
		margin-right: 10px;
		padding-top: 3px;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
	}

	/* 数字の中身（移行元 1542・1546・1554 行）。**パソコン版は ::after に、
	   携帯版は ::before に入れる**. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li:nth-child(1) h4::before {
		content: "1";
	}

	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li:nth-child(2) h4::before {
		content: "2";
	}

	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li:nth-child(3) h4::before {
		content: "3";
	}

	/* 🚨 パソコン版の番号の数字を消す。移行元の携帯版に h4::after は無く、
	   丸と数字は上の ::before の 1 つが出している。**消さないと番号が 2 つ出る**
	   （パソコン版の ::after が丸の上に絶対配置で重なったまま残る）. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li h4::after {
		display: none;
	}

	/* 手順の中の注記（移行元 1558 行）。携帯版は字が小さい. */
	.pa-profile-legacy-compat .pa-branch__content .coming .flow-list li .note {
		margin-top: 17px;
		font-size: 12px;
	}

	/* --------------------------------------------------------------
	 * 項目 10: 「転勤しても安心の継続サポート」の区画（Task #1799）の携帯幅の値
	 * 写し元: sp/branch/css/style_renew.css の 1293-1325 行目
	 *
	 * 上書きには 2 種類ある。
	 *   1. 移行元の携帯版が別の値を持つもの（外余白・字の大きさ・札の内余白）
	 *   2. 移行元の携帯版に対応する規則が無く、パソコン版の値が残ると困るもの
	 *      （本文の列と絵の列の回り込み・幅）。移行元はパソコン版と携帯版を
	 *      別ファイルで配っていて混ざらないが、移行先は 1 つの CSS を両方の
	 *      幅へ配るため、ここで元へ戻す必要がある
	 *
	 * 注記（.note）と地図の手前の内余白（.network の 47px）は携帯版も同じ
	 * 値なので、ここには書かない（パソコン幅の規則がそのまま効く）。
	 * -------------------------------------------------------------- */

	/* 節の中身の器（移行元 1293 行）。

	   🚨 flex と order は移行元の宣言には無い。移行元は携帯版のマークアップ
	   だけ絵（.img-security）を本文（.content-area）の前に置いており
	   （sp/branch 配下の各店舗ページ。改装版 5 ページとも）、携帯幅では絵が
	   先に出る。移行先はパソコン版マークアップ（本文 → 絵の順）を両方の
	   幅へ配るため、CSS で並び順を入れ替えて同じ見た目を作る。縦積みの
	   flex にして、下の order で「小見出し → 絵 → 本文 → 地図」に並べ直す。
	   この幅では回り込みを使わないので、flex 化で崩れる組みは無い. */
	.pa-profile-legacy-compat .pa-branch__content .security .content-wrap {
		display: flex;
		flex-direction: column;
		margin-top: 45px;
	}

	/* 並び順（移行元の携帯版マークアップの順）. */
	.pa-profile-legacy-compat .pa-branch__content .security .content-subline {
		order: 1;
	}

	.pa-profile-legacy-compat .pa-branch__content .security .img-security {
		order: 2;
	}

	.pa-profile-legacy-compat .pa-branch__content .security .content-area {
		order: 3;
	}

	.pa-profile-legacy-compat .pa-branch__content .security .network {
		order: 4;
	}

	/* 本文の列（移行元の携帯版に対応する規則が無い）。パソコン版の回り込みと
	   幅と負の上外余白を戻して縦に積む. */
	.pa-profile-legacy-compat .pa-branch__content .security .content-area {
		float: none;
		width: auto;
		margin-top: 0;
	}

	/* 本文の文字（移行元 1297 行）。行間 1.6 はパソコン版と同じなので書かない. */
	.pa-profile-legacy-compat .pa-branch__content .security .content-area .txt {
		margin-bottom: 1.5em;
		font-size: 14px;
	}

	/* 絵の列（移行元 1308 行）。パソコン版の回り込みと幅を戻して縦に積む。
	   下の外余白 30px は移行元の携帯版が書いている値である. */
	.pa-profile-legacy-compat .pa-branch__content .security .img-security {
		float: none;
		width: auto;
		margin-bottom: 30px;
	}

	/* 絵（移行元の携帯版の共通 reset sp/css/common.css の 11 行目）。移行元の
	   携帯版はサイト全体で写真を行の外の箱（display: block）にしている。
	   この区画の中だけ移行元と同じ block へ戻す（#1797 の写真と同じ扱い）. */
	.pa-profile-legacy-compat .pa-branch__content .security .img-security img {
		display: block;
	}

	/* 「全国に広がるネットワーク」の札（移行元 1316 行）。内余白と字が小さく
	   なる。太字は移行元の携帯版が明示している値で、パソコン幅の規則が
	   既に書いているので繰り返さない. */
	.pa-profile-legacy-compat .pa-branch__content .security .network h4 {
		padding: 3px 0;
		font-size: 13px;
	}

	/* --------------------------------------------------------------
	 * 項目 11: 「成婚コンシェルジュの紹介」の区画（Task #1800）の携帯幅の値
	 * 写し元: sp/branch/css/style_renew.css の 896-969 行目
	 *
	 * 上書きには 2 種類ある。
	 *   1. 移行元の携帯版が別の値を持つもの（外余白・字の大きさ・写真の寄せ方）
	 *   2. 移行元の携帯版に対応する規則が無く、パソコン版の値が残ると困るもの。
	 *      移行元はパソコン版と携帯版を別ファイルで配っていて混ざらないが、
	 *      移行先は 1 つの CSS を両方の幅へ配るため、ここで元へ戻す必要がある
	 * 戻しに当たるのは、ご挨拶の 2 列組み（囲い込み・写真と文章の回り込みと幅）、
	 * 紹介文の一覧の回り込みと幅と負の左外余白、flex の 2 列組み、店舗の写真の
	 * 一覧の回り込みと幅である。**戻さないと携帯幅で 320px や 520px や 360px の
	 * 箱が並んだまま残り、横にはみ出す。**
	 *
	 * ------------------------------------------------------------------
	 * 移行元の携帯版はマークアップが違うので、当たる場所を読み替えて写す
	 * ------------------------------------------------------------------
	 * 移行元の携帯版（/sp/ のミラー）は、ご挨拶の右の柱を div.txt-area にして
	 * 中身を p / p.name / p.txt で組んでいる。パソコン版は div.txt の中に
	 * span / span / p.txt である。**移行先はパソコン版のマークアップを両方の幅へ
	 * 配るので、携帯版の値を写す先を読み替える必要がある。**
	 *   移行元携帯版 .txt-area .txt-area p      → 移行先 .txt-area .txt span
	 *   移行元携帯版 .txt-area .txt-area p.name → 移行先 .txt-area .txt span:nth-child(2)
	 *   移行元携帯版 .txt-area .txt-area .txt   → 移行先 .txt-area .txt .txt
	 * 肩書き（14px・太字・行の高さ 1.65）と名前（18px）は携帯版もパソコン版と
	 * 同じ値なので、上書きは要らない（実測で確かめた）。挨拶の本文だけが違う。
	 *
	 * 移行元携帯版の p.name span（12px）は写していない。**当て先が無い。**
	 * 移行元のパソコン版のマークアップには名前の中に入れ子の span が無く、dev の
	 * 本文にも無い（広島店の実測）。
	 *
	 * ------------------------------------------------------------------
	 * 移行元の携帯版は一覧のクラスが .cc-list だけである
	 * ------------------------------------------------------------------
	 * 札幌店だけがパソコン版で .cc-list02 を使っているが、**移行元の携帯版は
	 * 札幌店も .cc-list で組んでいる**（sp/branch/hokkaido/sapporo.html）。移行先は
	 * パソコン版のマークアップ（.cc-list02）を携帯幅へも配るので、携帯版の
	 * .cc-list の値を .cc-list02 にも当てる。当てないと札幌店だけ札が大きいまま
	 * 残り、520px の箱がはみ出す。
	 * -------------------------------------------------------------- */

	/* ご挨拶の器（移行元 905 行）. */
	.pa-profile-legacy-compat .pa-branch__content .cc-intro .content-wrap {
		margin-top: 50px;
	}

	/* ご挨拶の 2 列組みをやめる。移行元の携帯版に囲い込みが無いので戻す
	   （携帯版は写真を上・文章を下に縦へ積む）. */
	.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area {
		overflow: visible;
	}

	/* 店舗長の写真（移行元 909 行）。回り込みと幅を戻して、中央へ寄せる. */
	.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .img {
		float: none;
		width: auto;
		margin-bottom: 20px;
		text-align: center;
	}

	/* 写真そのもの（移行元 914 行）。携帯版は器の幅いっぱいではなく 200px 固定で、
	   親の text-align: center で中央に来る. */
	.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .img img {
		display: inline;
		width: 200px;
	}

	/* 挨拶文の柱。回り込みと幅を戻す（移行元の携帯版に対応する規則が無い）。
	   移行元と同じ子孫のセレクタなので、柱と中の挨拶文の両方に当たる. */
	.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .txt {
		float: none;
		width: auto;
	}

	/* 挨拶の本文（移行元 934 行）。携帯版は字が小さく、行の高さ 1.65 が付く
	   （移行元携帯版の .txt-area p の行の高さがこの段落にも届くため。実測でも
	   14px × 1.65 ＝ 23.1px である）. */
	.pa-profile-legacy-compat .pa-branch__content .cc-intro .greeting .txt-area .txt .txt {
		font-size: 14px;
		font-weight: normal;
		line-height: 1.65;
	}

	/* 紹介文の節。回り込みが無くなるので囲い込みを戻す。上の外余白 40px は
	   項目 8（Task #1798）が持っているので、ここでは書かない. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment {
		overflow: visible;
	}

	/* 紹介文の一覧・回り込み版。回り込みと幅と負の左外余白を戻して縦に積む
	   （移行元の携帯版は .cc-list そのものに規則を持たない）. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list {
		float: none;
		width: auto;
		margin-left: 0;
	}

	/* 紹介文の一覧・flex 版。2 列組みをやめて縦に積む. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 {
		display: block;
	}

	/* 各項目（移行元 951 行）。回り込みと幅を戻し、項目の間を上の外余白 40px で
	   空ける. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list li,
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li {
		float: none;
		width: auto;
		margin: 40px 0 0;
	}

	/* 🚨 flex 版の 1 つめの項目だけ上の外余白を 0 に戻す。**移行元の宣言には
	   無い上書きで、マークアップの違いを埋めるためのものである。**

	   札幌店の 1 つめの項目は店舗の写真である。移行元の携帯版は写真を一覧の
	   外（.img-list）に置いて小見出しのすぐ下から始めるが、dev の本文は写真を
	   一覧の 1 つめの項目として持つ。上の 40px がそのまま残ると、小見出しと
	   写真の間が移行元より 40px 広がる（実測）. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li:first-child {
		margin-top: 0;
	}

	/* 名前の札（移行元 955 行）。携帯版は上下の内余白が広く、字が小さい. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list li h4,
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li h4 {
		padding: 5px 0;
		font-size: 13px;
		font-weight: bold;
	}

	/* 札の下の紹介文（移行元 965 行）. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list li .txt,
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .cc-list02 li .txt {
		margin-top: 15px;
		font-size: 14px;
	}

	/* 店舗の写真の一覧。右寄せと 360px の幅を戻す（移行元の携帯版に対応する
	   規則が無い）. */
	.pa-profile-legacy-compat .pa-branch__content .cc-comment .img-list {
		float: none;
	}

	.pa-profile-legacy-compat .pa-branch__content .cc-comment .img-list li {
		width: auto;
	}

	/* 移行元は幅 1100px を前提に px で幅を決めた画像や表が多い。横に伸びて
	   ページごとはみ出すのを防ぐ。

	   🚨 **店舗の詳細（`.page-branch` を持つ 24 ページ）は除く（Bug #6115）。**
	   `overflow-x` が `visible` 以外になるとスクロールの器ができ、その器は内容を
	   **器の内側で切り落とす**。店舗の詳細は器が左右 20px の内余白を持ち
	   （`.pa-profile-legacy-compat .single-content--branch-store`・Bug #1992）、
	   帯は `.page-branch` の `width: 100vw` と `margin-inline: calc(50% - 50vw)`
	   （このファイルの Task #1549 の節）で画面いっぱいへ戻す作りなので、戻した
	   20px ずつがこの器に切り落とされていた。

	   🚨 **Bug #6555（2026-09-16）で、この「戻す」作りは無くなった。**いまは外側の器の
	   絞りを店舗詳細だけ外し、`.page-branch` を `width: 100%` にしてある。**除外そのものは
	   そのまま要る**（スクロールの器ができると、`.page-branch` が全幅のまま切り落とされる）。

	   幅 375px・町田店の実測（画素で数えた・2026-09-14 03:56）:

	     移行元 携帯版          全幅の行 1,378（ページの 10.1%）
	     dev この除外の前       全幅の行 66（0.5%）
	     dev この除外の後       全幅の行 1,388（10.2%）

	   **要素の位置は 1px も動かない。**切り落としは描画にだけ出るので、位置で
	   測ると差が出ない（`getBoundingClientRect` は前後で同じ値）。ほかの区画へ
	   波及しないことの裏づけでもある。

	   🚨 **ご来店の流れの ※ の行も戻る。**`.flow-notes` は移行元が
	   `width: 100%` と `padding-left: 1.15em` で組んでおり（写し
	   `sp/branch/css/style_area1.css`）、**移行元でも親から 13px はみ出す**。
	   器の右端 355px に 13px を足しても 368px で画面の 375px に収まるため、
	   移行元では行末まで見える。切り落としていた dev では 355px で切れていた。

	   🚨 **一覧とデートスポットからは外さない。**あちらは `.page-branch` を
	   持たず、横のはみ出しを受け止める `.site-main:has(.pa-branch__content
	   .page-branch) { overflow-x: clip }`（このファイルの「店舗ページの横方向の
	   はみ出し」の節）も当たらない。外すと横へ伸びる恐れが残るので、
	   `:not(:has(.page-branch))` で店舗の詳細だけを対象から抜く. */
	.pa-branch__content:not(:has(.page-branch)) {
		overflow-x: auto;
	}


	/* ベージュの器の下の内余白（写し 158 行 `clamp(6.4rem, 5.57rem + 2.21vw, 8rem)`）。
	   このファイルのパソコン幅の側は px 換算の `clamp(64px, 55.7px + 2.21vw, 80px)` で
	   書いてあるが、749px 以下は `1rem` が `2.5445292621vw` なので px 換算では合わない
	   （幅 375px で 64px 対 移行元 61.44px の 2.56px ずれ。実測 2.58px）。
	   幅 320 / 375 / 749px の 3 点で中央の項が勝つことを確かめてから畳んだ。
	   🚨 この器は区画 4（`div#data.content-beige-bg`・9 班の担当）も使う。
	   9 班へ通知済みで、区画 4 の下の余白も移行元へ 2.56px 近づく. */
	.pa-branch__content .page-branch .content-beige-bg {
		padding-bottom: calc(5.57 * 2.5445292621vw + 2.21vw);
	}
	/* --- 区画 6: コンシェルジュ紹介の携帯幅（Task #3549・写し 1254〜1387 行） ---
	   移行元は携帯幅を土台にして 750px 以上で上書きする作りなので、ここには
	   その土台の値を置く。🚨 `1rem` は 749px 以下で `2.5445292621vw`（幅 375px で
	   9.54198px・幅 320px で 8.1425px・幅 749px で 19.0585px）であり、10px 換算では
	   合わない。移行元の `clamp()` は 749px 以下では 3 つの項がどれも幅に比例するため
	   大小が入れ替わらず、1 つの値に畳める（畳んだ根拠は
	   pa-verify-assets/3207-ginza-0904/f11-css-plan-69.md の付録 A）. */

	/* 区画の下の間隔（写し 1255 行 `clamp(6.4rem, 3.5rem + 7.72vw, 12rem)`）。
	   幅 375px で 62.35px. */
	.pa-branch__content .page-branch .concierge-section {
		margin-bottom: calc(3.5 * 2.5445292621vw + 7.72vw);
	}

	/* 2 列の器（写し 1257〜1263 行）。携帯幅は縦積み。
	   🚨 左右の余白は器では持たず、下の白い箱（.concierge-content）が持つ
	   （移行元 1336 行）。器の側の左右の余白を `auto` に戻さないと、
	   このファイル 14575 行あたりの `.content-wrap` の左右 19.08px と
	   白い箱の 19.08px が二重になる。相手が `body.pa-profile-new …`（詳細度
	   (0,4,1)）なので、こちらも `body.pa-profile-new` を前置して勝たせる. */
	body.pa-profile-new .pa-branch__content .page-branch .content-wrap.concierge-container {
		margin-inline: auto;
	}

	.pa-branch__content .page-branch .content-wrap.concierge-container {
		flex-direction: column;
		/* 🚨 移行元が `align-items: flex-start` を書くのは 750px 以上だけ（写し 1266 行）。
		   携帯幅は既定（伸ばす）なので、左の柱が画面いっぱいに広がる。上の節は
		   パソコン幅の姿を土台に書いてあるので、ここで既定へ戻す（戻さないと柱の幅が
		   375px 対 171.73px でずれる。実測で確認）. */
		align-items: normal;
		/* 写し 1261 行 `gap: 2.5rem`。幅 375px で 23.86px. */
		gap: calc(2.5 * 2.5445292621vw);
		/* 写し 1262 行 `clamp(4rem, 2.97rem + 2.76vw, 6rem)`。幅 375px で 38.69px. */
		padding-top: calc(2.97 * 2.5445292621vw + 2.76vw);
	}

	/* 左の柱（写し 1275〜1279 行）。`gap: 1.6rem` は幅 375px で 15.27px。
	   🚨 移行元は 749px 以下では**追従しない**（`position: relative`・幅の指定なし・
	   `flex-shrink` の指定なし）。上の節はパソコン幅の姿を土台に書いてあるので、
	   ここで移行元の携帯幅の姿へ戻す. */
	.pa-branch__content .page-branch .concierge-profile {
		gap: calc(1.6 * 2.5445292621vw);
		position: relative;
		top: auto;
		width: auto;
		flex-shrink: 1;
	}

	/* 追従する柱から右へ出る白い三角は、移行元では 750px 以上にしか無い. */
	.pa-branch__content .page-branch .concierge-profile::after {
		display: none;
	}

	/* 名前（写し 1300〜1304 行）。携帯幅は名前が先・写真が後で、
	   750px 以上だけ順序が入れ替わる（写し 1306・1315 行）. */
	.pa-branch__content .page-branch .concierge-profile .profile-name {
		/* 写し 1301 行 `font-size: 2rem`。幅 375px で 19.08px. */
		font-size: calc(2 * 2.5445292621vw);
		order: 1;
	}

	.pa-branch__content .page-branch .concierge-profile .profile-image {
		order: 2;
	}

	/* 写真の角の丸み（写し 1321 行 `clamp(0.5rem, 1vw, 1rem)`）。
	   🚨 この 1 本だけは 749px 以下で**最小の項**が勝つ（`1vw` = 3.75px が
	   `0.5rem` = 4.77px より小さい）。幅 375px で 4.77px. */
	.pa-branch__content .page-branch .concierge-profile .profile-image img {
		border-radius: calc(0.5 * 2.5445292621vw);
	}

	/* 右の白い箱（写し 1329〜1336 行）。左右の余白はここが持つ. */
	.pa-branch__content .page-branch .concierge-content {
		/* 写し 1336 行 `margin: 0 2rem`。幅 375px で 19.08px. */
		margin: 0 calc(2 * 2.5445292621vw);
		/* 上 `clamp(6.4rem, 5.99rem + 1.1vw, 7.2rem)` / 左右
		   `clamp(2rem, -0.07rem + 5.52vw, 6rem)` / 下
		   `clamp(3.2rem, 1.54rem + 4.41vw, 6.4rem)`（写し 1332〜1334 行）。
		   幅 375px で 61.28 / 20.03 / 31.23px。移行元の実測と小数第 2 位まで一致する. */
		padding: calc(5.99 * 2.5445292621vw + 1.1vw) calc(-0.07 * 2.5445292621vw + 5.52vw) calc(1.54 * 2.5445292621vw + 4.41vw);
		/* 写し 1331 行 `clamp(1rem, 3vw, 2rem)`。749px 以下は中央の項が勝つ. */
		border-radius: 3vw;
	}

	/* 白い箱の上に出る吹き出しの三角（写し 1344〜1353 行）。
	   移行元は 750px 以上で畳む（写し 1355 行）ので、出すのは携帯幅だけ. */
	.pa-branch__content .page-branch .concierge-content::before {
		display: block;
	}

	/* 文章のかたまりの下の間隔（写し 1361 行
	   `clamp(4rem, 2.76rem + 3.31vw, 6.4rem)`）。幅 375px で 38.75px. */
	.pa-branch__content .page-branch .concierge-content .content-block {
		margin-bottom: calc(2.76 * 2.5445292621vw + 3.31vw);
	}

	/* 小見出しの下の間隔（写し 1370 行
	   `clamp(3.2rem, 2.79rem + 1.1vw, 4rem)`）。幅 375px で 30.75px. */
	.pa-branch__content .page-branch .concierge-content .content-title {
		margin-bottom: calc(2.79 * 2.5445292621vw + 1.1vw);
	}

	/* --- 区画 9: コースと料金 + ご成婚までの流れの携帯幅（Task #3549） ---
	   写し 2392〜2823 行の土台の値。`1rem` は 749px 以下で `2.5445292621vw`
	   （幅 375px で 9.54198px）なので px 換算せず `calc()` で書く。
	   移行元の `clamp()` は 749px 以下では 3 つの項がどれも幅に比例して
	   大小が入れ替わらないため、勝つ項 1 つに畳んである. */
	.pa-branch__content .page-branch .pricing-section .pricing-desc {
		/* 2.76rem + 3.31vw。幅 375px で 38.75px. */
		padding-top: calc(2.76 * 2.5445292621vw + 3.31vw);
		/* 1.19rem + 1.1vw。幅 375px で 15.48px. */
		margin-bottom: calc(1.19 * 2.5445292621vw + 1.1vw);
	}

	.pa-branch__content .page-branch .pricing-section .yen {
		/* 移行元 0.1rem / 1.2rem。幅 375px で 0.95px / 11.45px. */
		padding-left: calc(0.1 * 2.5445292621vw);
		font-size: calc(1.2 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .pricing-section .pricing-detail {
		/* 移行元 1.6rem。幅 375px で 15.27px. */
		margin-bottom: calc(1.6 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .pricing-section .c-text-note {
		/* 移行元 3.2rem。幅 375px で 30.53px. */
		margin-bottom: calc(3.2 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .subline-section,
	.pa-branch__content .page-branch .option-section {
		/* 5.57rem + 2.21vw。幅 375px で 61.44px. */
		padding-top: calc(5.57 * 2.5445292621vw + 2.21vw);
		margin-bottom: calc(5.57 * 2.5445292621vw + 2.21vw);
	}

	.pa-branch__content .page-branch .subline-section {
		margin-bottom: 0;
	}

	.pa-branch__content .page-branch .subline-section .c-heading-m,
	.pa-branch__content .page-branch .option-section .c-heading-m,
	.pa-branch__content .page-branch .subline-desc,
	.pa-branch__content .page-branch .option-desc,
	.pa-branch__content .page-branch .coming-desc {
		/* 1.19rem + 1.1vw。幅 375px で 15.48px. */
		margin-bottom: calc(1.19 * 2.5445292621vw + 1.1vw);
	}

	.pa-branch__content .page-branch .subline-bnr li,
	.pa-branch__content .page-branch .option-bnr li {
		/* 1.57rem + 2.21vw。幅 375px で 23.27px. */
		margin-bottom: calc(1.57 * 2.5445292621vw + 2.21vw);
	}

	.pa-branch__content .page-branch .subline-bnr li:last-child,
	.pa-branch__content .page-branch .option-bnr li:last-child {
		margin-bottom: 0;
	}

	.pa-branch__content .page-branch .coming-section .c-text-note {
		/* 移行元 0.8rem。幅 375px で 7.63px. */
		margin-top: calc(0.8 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .coming-title {
		gap: calc(0.8 * 2.5445292621vw);
		/* 1.38rem + 1.66vw。幅 375px で 19.39px. */
		margin-bottom: calc(1.38 * 2.5445292621vw + 1.66vw);
	}

	.pa-branch__content .page-branch .coming-title .icon-time {
		/* 移行元 0.8rem 1.6rem。幅 375px で 7.63px / 15.27px. */
		padding: calc(0.8 * 2.5445292621vw) calc(1.6 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .coming-list {
		/* 移行元 3.2rem。幅 375px で 30.53px. */
		gap: calc(3.2 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .coming-list > li::after {
		/* 移行元 -2.4rem。幅 375px で -22.91px. */
		bottom: calc(-2.4 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .coming-list > li h4 {
		gap: calc(1.2 * 2.5445292621vw);
		/* 移行元 1.8rem 0 1.5rem。幅 375px で 17.18px / 14.31px. */
		margin: calc(1.8 * 2.5445292621vw) 0 calc(1.5 * 2.5445292621vw);
		font-size: calc(1.8 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch .coming-list > li h4::before {
		/* 移行元 3rem。幅 375px で 28.63px. */
		width: calc(3 * 2.5445292621vw);
		height: calc(3 * 2.5445292621vw);
		font-size: calc(1.8 * 2.5445292621vw);
	}

	/* 移行元 clamp(0.5rem, 1.5vw, 1rem) は 749px 以下で中央の項が勝つ. */
	.pa-branch__content .page-branch .subline-bnr img,
	.pa-branch__content .page-branch .option-bnr img,
	.pa-branch__content .page-branch .coming-img-wrap img {
		border-radius: 1.5vw;
	}

	/* 🚨 札の幅は「窓の幅 − 札の左右の外余白 × 2」である（上のパソコン幅の節を読むこと）。
	   749px 以下では札の外余白が `2.4rem` = `calc(2.4 * 2.5445292621vw)` なので、
	   引く量も vw で書き直す（幅 375px で 45.80px・320px で 39.08px・749px で 91.48px）。
	   px のまま 48px を引くと、幅 375px で札が 2.2px 太る. */
	.pa-branch__content .page-branch :is(.js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot).slick-initialized > .slick-slide {
		flex: 0 0 calc(100% - 4.8 * 2.5445292621vw);
	}

	/* 🚨 **お客様の声の札は 749px 以下だけ器の幅いっぱいになる（Task #5436）。**移行元は
	   750px の段で `variableWidth: false` を渡す。引く量は**この区画の札の左右の外余白**で
	   あり、上の 3 器の `4.8rem`（左右 2.4rem ずつ）とは違って **`5.2rem`**（左 2.4rem +
	   右 2.8rem。移行元の `margin: 0 2.8rem 0 2.4rem`）である。幅 375px で 132.32px・
	   320px で 112.91px・749px で 264.28px を引く。

	   🚨 **この式は 3 器で実測した型（器の幅 − 札の左右の外余白）を、この区画の外余白へ
	   書き直したものである。お客様の声の器そのものは、まだ実ブラウザで測っていない。**
	   反映後の検算で、静岡店を幅 375px で開いて札の幅を測る（Task #5436 の検算の項）. */
	.pa-branch__content .page-branch .js-slick-slider-voice.slick-initialized > .slick-slide {
		flex: 0 0 calc(100% - 5.2 * 2.5445292621vw);
	}

	/* --- 横送りの矢印の携帯幅（Task #3549・写し 186〜217 行） ---
	   移行元は 749px 以下で枠を 40 × 40px にし、中の svg もサイト共通 CSS の
	   40 × 40px が残る（750px 以上でだけ 60px へ上書きする）。左右のはみ出しも
	   `∓0.8rem` で、**`1rem` は 749px 以下で `2.5445292621vw`** なので
	   幅 375px で 7.63px・320px で 6.51px・749px で 15.25px になる。
	   px で写すと両端でずれる。実測（移行元・幅 375px）= 枠と svg 40 × 40px、
	   `-prev` の左が −7.63px。
	   🚨 器の `position: relative` は移行元では 750px 以上だけなので、携帯幅では
	   送り側の器（`.slider-area`）が位置の基準になる（移行元と同じ）. */
	.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow,
	.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow svg {
		width: 40px;
		height: 40px;
	}

	.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow.-prev {
		left: calc(-0.8 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch :is(.js-slick-slider-voice, .js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) .meet__slider__arrow.-next {
		right: calc(-0.8 * 2.5445292621vw);
	}

	.pa-branch__content .page-branch :is(.js-slick-slider-experience, .js-slick-slider-story, .js-slick-slider-spot) {
		position: static;
	}

	/* 🚨 上の `position: static` で丸い印の基準が別の祖先へ移るため、`bottom` を
	   ここで打ち直す（Bug #5198）。合わせる先は 750px 以上と同じ
	   「器の下端から丸の上端まで 20.00px」である。
	   `padding-top` は移行元の `1rem`（この帯では 2.5445292621vw）を写す. */
	.pa-branch__content .page-branch .pa-branch-slider .slick-dots {
		bottom: -10px;
		padding-top: 2.5445292621vw;
	}

	/* 🚨 **お客様の声だけ移行元と同じ `-40px` に戻す（Bug #5501）。**上の `-10px` は
	   3 器のための値である。3 器は携帯幅で器が `static` になり、`.slider-area` が丸い印の
	   基準になるので、その基準に合わせて −10px を選んである（Bug #5198）。

	   **お客様の声には `.slider-area` が無く、囲みそのものが基準である**（上の
	   `position: relative`）。基準が違うので同じ値は使えない。`-40px` にすると
	   「囲みの下端 + 40 − 印の高さ 35.53」= **+4.47px** の隙間になり、移行元の実測
	   **+4.46px** と一致する。−10px のままだと 30px 上へずれる. */
	.pa-branch__content .page-branch .pa-branch-slider.js-slick-slider-voice .slick-dots {
		bottom: -40px;
	}

	/* --- 区画 7・8: 2 列組みの携帯幅（Task #3549・写し 1546〜1700 行） ---
	   移行元は携帯幅を土台にして 750px 以上で上書きする作りなので、ここには
	   その土台の値を置く。🚨 `1rem` は 749px 以下で `2.5445292621vw` である
	   （幅 375px で 9.54198px・幅 320px で 8.1425px・幅 749px で 19.0585px）. */

	/* 区画の上下の余白（写し 1550〜1555 行）。
	   `clamp(5.6rem, 6.81rem - 1.1vw, 6.4rem)` は 749px 以下では真ん中が勝つ
	   （5.6rem = 14.25vw < 16.23vw < 6.4rem = 16.29vw）。幅 375px で 60.86px。
	   `clamp(6.4rem, 8.83rem - 2.21vw, 8rem)` も真ん中が勝つ。幅 375px で 75.97px. */
	.pa-branch__content .page-branch .experience-section {
		padding: calc(6.81 * 2.5445292621vw - 1.1vw) 0 calc(8.83 * 2.5445292621vw - 2.21vw);
	}

	.pa-branch__content .page-branch .story-section {
		padding: 0 0 calc(8.83 * 2.5445292621vw - 2.21vw);
	}

	/* 🚨 3 つの器の左右の余白を `auto`（= 0）へ戻す。移行元の器は携帯幅で画面いっぱいに
	   広がる（実測 375px）が、テーマの `.content-wrap` は左右 19.08px を付ける。
	   相手が `body.pa-profile-new …`（詳細度 0,4,1）なので、こちらも `body.pa-profile-new`
	   を前置して勝たせる（区画 6 のコンシェルジュの器と同じ型・裁定 100 の案 A）. */
	body.pa-profile-new .pa-branch__content .page-branch .content-wrap:is(.experience-container, .story-container, .spot-container) {
		margin-inline: auto;
	}

	/* 3 つの器は縦積み（写し 1557〜1562 行）。
	   🚨 すき間の `clamp(2rem, 5vw, 4rem)` は 749px 以下では**最小値が勝つ**
	   （2rem = 5.0891vw で 5vw より大きい）。幅 320〜749px のどこでも入れ替わらない。
	   幅 375px で 19.08px。上の節はパソコン幅の姿を土台に書いてあるので、
	   横並びのための 3 つの指定もここで既定へ戻す. */
	.pa-branch__content .page-branch :is(.experience-container, .story-container, .spot-container) {
		flex-direction: column;
		align-items: normal;
		justify-content: normal;
		gap: calc(2 * 2.5445292621vw);
	}

	/* 成婚ストーリーの器も縦積みへ戻す（移行元の `row-reverse` は 750px 以上だけ）. */
	.pa-branch__content .page-branch .story-container {
		flex-direction: column;
		min-width: auto;
	}

	/* デートスポットの器（写し 1619〜1621 行）。すき間は 0 のまま、内余白だけ戻す。
	   幅 375px で上 38.54px・下 60.86px。
	   🚨 1 つ上の `:is()` の規則と詳細度が同点（どちらも 0,3,0）なので、
	   すき間 0 を保つにはこの規則が後に来る必要がある。順番を入れ替えない. */
	.pa-branch__content .page-branch .spot-container {
		gap: 0;
		padding: calc(3.17 * 2.5445292621vw + 2.21vw) 0 calc(6.81 * 2.5445292621vw - 1.1vw);
	}

	/* 題の側は幅いっぱいへ戻す（移行元の `width: 35%` は 750px 以上だけ）. */
	.pa-branch__content .page-branch :is(.experience-header, .story-header, .spot-header-area) {
		width: auto;
		flex-shrink: 1;
	}

	/* 横送りの器も幅いっぱいへ戻す（移行元の絞りは 750px 以上だけ）。
	   🚨 体験談だけは、はみ出しを `visible` に戻してはいけない。サイト共通 CSS の
	   `.experience { overflow: clip }` が幅の条件を持たず、移行元は携帯幅でも切るためである
	   （両側の実測で確認）。だから体験談だけ幅の指定しか戻さない. */
	.pa-branch__content .page-branch :is(.story-section, .spot-section) .slider-area {
		width: auto;
		min-width: auto;
		max-width: none;
		overflow: visible;
	}

	.pa-branch__content .page-branch .experience-section .slider-area {
		width: auto;
		min-width: auto;
		max-width: none;
	}

	/* --- 区画 7・8: 題の側と 2 種の札の意匠の携帯幅（Task #3582） ---
	   写し元: legacy/www.p-a.jp/public/branch/assets/css/style.css（記録版 fdb412698）の
	   1602〜1750 行と 1754〜1950 行。

	   【段の分け方】この断片は移行元と同じ 4 段のうち最後の 1 段である。
	   残る 3 段（土台・750px 以上・1080px 以上・1700px 以上）は ins-3582-pc.css に
	   あり、`main.css` のパソコン幅の区画へ入れる。

	     土台（幅の条件なし）        移行元の土台の宣言。`rem` は 10 倍した px
	     @media (min-width: 750px)   移行元の 750px 以上の宣言だけ
	     @media (min-width: 1080px)  移行元の 1080px 以上の宣言だけ
	     @media (min-width: 1700px)  移行元の 1700px 以上の宣言だけ
	     ---- ここから下がこの断片 ----
	     @media (max-width: 749px)   土台の `rem` を vw へ置き換えるぶんだけ

	   つまりこの節に書くのは、**土台と値が違うものだけ**である。並び順・寄せ・
	   地色・枠線のように土台のままでよいものは 1 行も書かない。

	   🚨 `1rem` は 749px 以下で `2.5445292621vw` である（幅 375px で 9.54198px・
	   320px で 8.1425px・749px で 19.0585px）。このテーマの根は 16px のままなので、
	   移行元の `rem` をそのまま写すと 1.6 倍ずれる。

	   🚨 `clamp()` は 749px 以下では 1 つの値に畳める（`rem` も `vw` も幅に比例するので、
	   3 つの項の大小関係が幅で入れ替わらない）。ただし**どの項が勝つかは式ごとに違う**。
	   幅 320 / 375 / 749px の 3 点で確かめたところ、この節に出る 4 つの式のうち
	   3 つは**最小の項**が勝った。「望ましい項（真ん中）をそのまま写す」と、
	   とくに吹き出しの幅が 112.42px ずれる。畳んだ根拠は各規則の注釈に書いた。

	   🚨 px と vw が混ざる `clamp()`（題の左右の横線・イラストの幅）は畳めないので、
	   土台に原文のまま置いてある。この節では触らない. */

	/* 題の左右の横線と題のすき間、題の下の外余白（写し 1767・1773 行）。
	   移行元 `gap: 1rem` = 幅 375px で 9.54px、`margin: 0 0 2.4rem 0` = 同 22.91px。
	   🚨 左右の外余白は土台の 0 のままにするため、`margin-bottom` だけを書く. */
	.pa-branch__content .page-branch .experience-header .experience-title,
	.pa-branch__content .page-branch .story-header .story-title {
		gap: calc(1 * 2.5445292621vw);
		margin-bottom: calc(2.4 * 2.5445292621vw);
	}

	/* 惹句の外余白（写し 1800 行）。移行元 `margin: 0 2rem 0.4rem`。
	   幅 375px で左右 19.08px・下 3.82px. */
	.pa-branch__content .page-branch .experience-header .experience-lead,
	.pa-branch__content .page-branch .story-header .story-lead {
		margin: 0 calc(2 * 2.5445292621vw) calc(0.4 * 2.5445292621vw);
	}

	/* 成婚ストーリーの札（写し 1826・1832 行）。
	   移行元 `margin: 0 2.4rem` = 幅 375px で左右 22.91px。
	   🚨 角丸の `var(--radius-s)` = `clamp(0.5rem, 1.5vw, 1rem)` は**望ましい項**が勝つ
	   （最小 0.5rem = 1.2723vw < 1.5vw < 最大 1rem = 2.5445vw）。幅 375px で 5.63px. */
	.pa-branch__content .page-branch .story-card {
		margin: 0 calc(2.4 * 2.5445292621vw);
		border-radius: 1.5vw;
	}

	/* 文章の箱（写し 1867・1871 行）。移行元 `gap: 0.8rem` = 幅 375px で 7.63px。
	   🚨 内余白の `clamp(1.2rem, 3vw, 1.5rem)` は**最小の項**が勝つ
	   （最小 1.2rem = 3.0534vw > 3vw）。幅 375px で 11.45px。
	   `3vw` をそのまま写すと 11.25px でずれる. */
	.pa-branch__content .page-branch .story-card .card-body {
		gap: calc(0.8 * 2.5445292621vw);
		padding: calc(1.2 * 2.5445292621vw);
	}

	/* 巻数（写し 1881 行）。移行元 1.4rem = 幅 375px で 13.36px. */
	.pa-branch__content .page-branch .story-card .card-vol {
		font-size: calc(1.4 * 2.5445292621vw);
	}

	/* 札の題（写し 1886 行）。移行元 1.6rem = 幅 375px で 15.27px. */
	.pa-branch__content .page-branch .story-card .card-title {
		font-size: calc(1.6 * 2.5445292621vw);
	}

	/* 札の本文（写し 1907〜1908 行）。移行元 0.5rem / 1.4rem。
	   幅 375px で 4.77px / 13.36px。左右の外余白は土台の 0 のまま. */
	.pa-branch__content .page-branch .story-card .card-text {
		margin-bottom: calc(0.5 * 2.5445292621vw);
		font-size: calc(1.4 * 2.5445292621vw);
	}

	/* 目印の並び（写し 1920 行）。移行元 0.4rem = 幅 375px で 3.82px. */
	.pa-branch__content .page-branch .story-card .card-tags {
		gap: calc(0.4 * 2.5445292621vw);
	}

	/* 目印 1 つ（写し 1925 行）。移行元 1.2rem = 幅 375px で 11.45px。
	   🚨 内余白は `em` なので書かない。字の大きさが変われば一緒に動く
	   （幅 375px で上下 3.44px・左右 6.87px になる）. */
	.pa-branch__content .page-branch .story-card .card-tags .tag {
		font-size: calc(1.2 * 2.5445292621vw);
	}

	/* E-2 体験談の札の下の READ の帯の角丸（写し 1950 行）。
	   移行元 `0 0 var(--radius-s) var(--radius-s)` は望ましい項が勝ち、幅 375px で 5.63px。
	   dev は体験談の一覧ページ由来の固定 9px を写しているので 3.38px ずれる。
	   当て先は店舗ページの体験談の区画だけに閉じてある（詳細は ins-3582-pc.css）. */
	.pa-branch__content .page-branch .experience .read-btn {
		border-radius: 0 0 1.5vw 1.5vw;
	}

	/* E-1 体験談の札の中身の器の角丸（写し 2237 行）。
	   移行元 `var(--radius-s)` は幅 375px で 5.63px。dev は体験談の一覧ページ由来の
	   固定 10px を写しているので 4.38px ずれる。
	   🚨 750px 以上では移行元も 10px になるので、**この 1 件は携帯幅にしか差が無い**。
	   だから土台には書かず、ここにだけ置く。
	   🚨 クラス 4 個にしてある。相手の
	   `:is(.entry-content, .page-content__body) .stories-list__inner`（詳細度 0,2,0）に
	   勝たせるためである. */
	.pa-branch__content .page-branch .experience .stories-list__inner {
		border-radius: 1.5vw;
	}

	/* E-3 体験談の札の左右の外余白と字の大きさ（移行元 1941 行の 2.4rem と
	   2204 行の 1.6rem）。幅 375px でそれぞれ 22.9px・15.27px になる。
	   🚨 この左右の外余白は、横送りの札の幅
	   `flex: 0 0 calc(100% - 4.8 * 2.5445292621vw)` と 1 組である（4.8rem = 2.4rem × 2）。
	   片方だけ動かすと札が画面からはみ出す. */
	.pa-branch__content .page-branch .experience .stories-list__item.flexBox__item {
		margin: 0 calc(2.4 * 2.5445292621vw);
		font-size: calc(1.6 * 2.5445292621vw);
	}

	/* E-5 札の中の 2 か所の字の大きさを、受け継ぎへ戻す（Task #3647）。
	   🚨 **移行元は携帯向けの出し方を 2 通り持つ。**体験談の一覧としあわせレポートは
	   旧デザインで `/sp/` の写しへ転送され、その土台の CSS（`sp/css/basic.css` の
	   10〜23 行）が `div` `p` `li` を一律 13px にする。だからテーマの
	   `:is(.entry-content, .page-content__body) .stories-list .copy p` と
	   `… .number-list__ttl` は 749px 以下で固定の 13px を持つ。これはその 2 ページでは
	   正しい。
	   いっぽう店舗ページは新デザインで、同じ URL のまま画面幅で出し分ける。字の大きさは
	   移行元が何も書かず、札の `1.6rem`（活動結果の項目名は `.number-list` の `1.2rem`）を
	   受け継ぐ。`rem` は画面幅に連動するので、幅 749px では本文が 30.49px・項目名が
	   22.87px になり、固定の 13px とは 2 倍以上違った（札の高さで 245.45px の差）。
	   ここは店舗ページの体験談の区画だけ受け継ぎへ戻す。値を書き写さず `inherit` に
	   するのは、大きさの出どころを札の 1 か所（E-3）に保つためである。
	   行送りはどちらも 1.8 の倍率なので、字の大きさが揃えば一緒に揃う. */
	.pa-branch__content .page-branch .experience .stories-list .copy p,
	.pa-branch__content .page-branch .experience .stories-list .number-list__ttl {
		font-size: inherit;
	}

	/* 吹き出しの絵（写し 1638 行）。
	   🚨 `clamp(22rem, 26vw, 30rem)` は**最小の項**が勝つ
	   （最小 22rem = 55.9796vw > 26vw）。幅 375px で 209.92px。
	   `26vw` をそのまま写すと 97.5px で 2 倍以上ずれる（この節でいちばん大きな落とし穴）. */
	.pa-branch__content .page-branch .spot-section .speech-bubble {
		width: calc(22 * 2.5445292621vw);
	}

	/* デートスポットの題の下の外余白（写し 1648 行）。
	   移行元 1.5rem = 幅 375px で 14.31px. */
	.pa-branch__content .page-branch .spot-section .spot-title {
		margin-bottom: calc(1.5 * 2.5445292621vw);
	}

	/* デートスポットの札（写し 1682 行）。移行元 `margin: 0 2.4rem` = 幅 375px で 22.91px。
	   🚨 角丸は固定の 8px なので、ここでは触らない（成婚ストーリーの札と違う）. */
	.pa-branch__content .page-branch .spot-section .spot-card {
		margin: 0 calc(2.4 * 2.5445292621vw);
	}

	/* 文章の箱（写し 1716 行）。
	   🚨 `clamp(1.6rem, 4vw, 2.4rem)` は**最小の項**が勝つ
	   （最小 1.6rem = 4.0712vw > 4vw）。幅 375px で 15.27px。
	   `4vw` をそのまま写すと 15px でずれる. */
	.pa-branch__content .page-branch .spot-section .spot-card-body {
		padding: calc(1.6 * 2.5445292621vw);
	}

	/* 札の題（写し 1732〜1733 行）。移行元 1rem / 1.6rem。
	   幅 375px で 9.54px / 15.27px。左右の外余白は土台の 0 のまま. */
	.pa-branch__content .page-branch .spot-section .spot-card-title {
		margin-bottom: calc(1 * 2.5445292621vw);
		font-size: calc(1.6 * 2.5445292621vw);
	}

	/* 札の本文（写し 1741 行）。移行元 1.4rem = 幅 375px で 13.36px. */
	.pa-branch__content .page-branch .spot-section .spot-card-desc {
		font-size: calc(1.4 * 2.5445292621vw);
	}
}

/* --------------------------------------------------------------
 * 記事ページ・固定ページ本文（#1242 の編集領域）
 *
 * 移行してくる 5,000 件超の記事と数千件の固定ページは、本文（post_content）に
 * 移行元の HTML がほぼそのまま入る。ここはその本文の文字組みを決める区画である。
 *
 * 値の写し元（いずれも移行元サイトのリポジトリ legacy/www.p-a.jp 配下）:
 *   婚活コラム   public/word/css/style.css の .content-area 以下（383 行目から）
 *   調査レポート public/css/style.css の .grid_box .detail_inner 以下（1760 行目から）
 *                public/css/page_research.css の #research .text_title 以下（170 行目から）
 *   共通         public/css/common.css の表・引用の既定（280 行目から）
 *                public/css/style.css の a（43 行目から）
 *
 * ------------------------------------------------------------------
 * 本文に何が入るかを先に押さえる
 * ------------------------------------------------------------------
 * 投入スクリプト（scripts/pa-cms/build-import-payload.py）は、移行元 HTML の
 * 囲み要素の「中身だけ」を取り出して post_content に入れる。囲み自体（婚活
 * コラムの div.content-area、調査レポートの div.detail_body）は本文に残らない。
 * そのため移行元の CSS をそのまま写しても効かない。同じ見た目を出すには、
 * 新テーマ側の囲み（.entry-content と .page-content__body）を起点に書き直す
 * 必要がある。この区画のセレクタが移行元と違うのは、この事情による。
 *
 * サニタイズの許可リスト（scripts/pa-cms/sanitize-allowlist.json）は class 属性を
 * 残し、style 属性を落とす。よって移行元のクラス名は本文に残る。移行元 HTML を
 * 数えたところ、本文に出るクラスは次の順に多い。この区画はこれらに合わせる。
 *   div.box            6,201 回  婚活コラムの節の囲み
 *   h4.serif           6,199 回  婚活コラムの節の見出し
 *   h5.serif           1,921 回  婚活コラムの小見出し
 *   div.center         1,012 回  調査レポートのグラフ画像を中央に寄せる囲み
 *   div.txtDivTbl        912 回  調査レポートの設問と解説のかたまり
 *   h4.text_title        760 回  調査レポートの節の見出し
 *   div.column_question  717 回  調査レポートの設問文
 *   p.introduction       686 回  婚活コラムの導入文
 *   p.img-bdr01          587 回  婚活コラムの画像に敷くマット
 *   div.box_conduct      233 回  調査レポートの調査概要の囲み
 *
 * ------------------------------------------------------------------
 * 見出しはタグそのものに大きさを与える
 * ------------------------------------------------------------------
 * 移行元は共通 CSS で見出しタグの大きさを打ち消している（common.css の h1〜h6 に
 * font-size: 100%）。このテーマでは打ち消さず、h2〜h6 のタグ自体に段階を与える。
 * クラス名が付いていない見出しでも読めるようにするためである。移行元のクラス
 * （.box h4 等）に当てる指定は、タグの段階の上に重ねる形で書く。
 *
 * なお h1 は本文に入らない。許可リストが h1 を要素ごと外して中の文字だけを残す
 * ためである。ページの題名は本文の外（.entry-title と .page-content__title）が
 * 受け持つ。
 *
 * ------------------------------------------------------------------
 * 本文の横幅を 800px の 1 段にした理由
 * ------------------------------------------------------------------
 * 移行元は外側の白い面が 1,100px、その中の文章が 800px の二段構えで、先頭の
 * アイキャッチ画像だけが 1,100px いっぱいに広がる。このテーマはページの地色が
 * 白で、外側の面と地の境目が出ない。二段構えにする意味が薄いため、本文は
 * 読みやすい 800px（--pa-inner-xs）の 1 段にした。アイキャッチ画像もこの幅に
 * 収まる。
 *
 * 🚨 **ワード解説と調査レポート（本文に `grid_box` が在るページ）はこの限りでない
 * （Bug #4720・2026-09-10）。**あちらは移行元の灰色の帯を写しているので、
 * **外側の面と地の境目が出る。**上の「二段構えにする意味が薄い」という理由が
 * 成り立たないため、移行元どおり「外側 1,100px ＋ 中の文章 800px」の二段構えへ
 * 戻した。当たり先は `body.pa-legacy-grid-box … .grid_box` の節にまとめてある。
 * **この 800px の規則そのものは変えていない。**帯が `width: 100vw` で抜け出し、
 * 中身の幅を中身の側で決め直す形にしている。
 *
 * ------------------------------------------------------------------
 * 店舗ページを外している理由
 * ------------------------------------------------------------------
 * 店舗ページ（single-branch.php）も .single-content と .entry-content を使うが、
 * 見た目は店舗ページの Task（#1241）が担当する。囲みの幅と題名まわりは
 * :not(.single-content--branch) で店舗ページを外し、担当が重ならないようにする。
 * 本文の文字組み（.entry-content の中身）は店舗ページでも同じものが要るので、
 * こちらは外さず全ページ共通で当てる。
 * -------------------------------------------------------------- */

/* 本文の中だけで使う色と寸法。共通トークンに同じ値が無く、使う範囲がこの区画に
   閉じているため、記事・固定ページの囲みに持たせる。店舗ページの本文からも
   参照するので、ここでは店舗ページを外さない。

   本文の囲み（.entry-content と .page-content__body）自身にも同じ値を置く。
   投稿本文の共通パーツ（template-parts/content.php）は、どのテンプレートにも
   当てはまらないときの受け皿（index.php）からも呼ばれる。そのときの外側は
   index.php が書く div.content-area で、.single-content でも .page-content でも
   ない。外側に値が無いと var() が解決できず、段落の間隔などが消える。

   なお、この div.content-area は index.php が自分で書いているクラス名であり、
   移行元の婚活コラムが使う同名のクラス（本文の中に出る .content-area）とは
   別物である。名前が同じなだけで、関係は無い. */
.single-content,
.page-content,
.entry-content,
.page-content__body {
	/* 婚活コラムの節の見出しに敷く帯の色。移行元 .content-area .box h4 の
	   #E3D6BF である。画像のマット（.img-bdr01）も移行元は同じ色を使う. */
	--pa-article-band-bg: #e3d6bf;
	/* 調査レポートの調査概要の囲みの下地。移行元 .box_conduct の #F6F1E9 である. */
	--pa-article-conduct-bg: #f6f1e9;
	/* 問答形式の一覧（.dl-QAlist）で、問いと答えの左に引く線の色。移行元
	   word/css/style.css の #ff0000 と #0080ff である. */
	--pa-article-question-line: #f00;
	--pa-article-answer-line: #0080ff;
	/* 掲載日や図の説明など、補足の文字の色。白地に対するコントラスト比は 4.5:1 で、
	   WCAG の AA 基準（4.5:1）を満たす. */
	--pa-article-muted-color: #767676;

	/* 本文の文字。移行元も 16px なので、この値は移行元どおりである（Issue #1622
	   で実測して確かめた）。根拠は移行元 public/css/style.css の
	   .grid_box .detail_inner（1766〜1773 行）で、記事の文章の柱に
	   font-size: 16px を置いている。2026-08-06 の計測でも、ワード解説の詳細
	   ページの段落は移行元・dev とも 16px で一致していた。
	   共通の基準（13px）はヘッダー・フッターの細かい文字に合わせた値なので、
	   本文には使わない.

	   なお「移行元は婚活コラムが 15px」という以前の記述は誤りだったので消した. */
	--pa-article-font-size: 16px;
	/* 節と節の間隔。移行元 .content-area .box の margin-top: 50px である. */
	--pa-article-block-gap: 50px;
	/* 段落どうしの間隔。移行元 .grid_box .detail_inner p の margin-bottom: 25px
	   である. */
	--pa-article-paragraph-gap: 25px;

	/* 見出しの段階。移行元は見出しごとに px を直書きしていて段階が無いので、
	   出現数の多い値を拾って 5 段に整えた。h2 は移行元の節の題名（.grid_ttl の
	   28px と .inner_ttl の 30px）、h4 は婚活コラムの節の見出し（18px）、h5 は
	   その小見出し（16px）から採っている. */
	--pa-article-h2-size: 28px;
	--pa-article-h3-size: 22px;
	--pa-article-h4-size: 18px;
	--pa-article-h5-size: 16px;
	--pa-article-h6-size: 15px;
	/* ページの題名。移行元 .grid_box .grid_ttl の 28px である。共通トークンの
	   --pa-font-size-heading（32px）ではなく移行元の値を使うのは、記事の題名が
	   長く、32px では 2 行に折り返す記事が増えるためである. */
	--pa-article-title-size: 28px;
}

@media (max-width: 749px) {
	.single-content,
	.page-content,
	.entry-content,
	.page-content__body {
		/* 本文の文字。**移行元スマートフォン版の初期化の値である 13px にそろえた**
		   （ユーザー決定 D42・2026-09-09）。移行元は sp/css/basic.css の 21 行で
		   `html, body, div, … video` へ font-size: 13px を当てており、上書きの無い
		   区画はこの値がそのまま出る。7 班の実測（2026-09-09 16:1x・幅 375px）では、
		   はじめての方へ 5 画面で見た目に出る差 96 件のうち 49 件がこの 2px の差
		   だった（Bug #5307）。

		   🚨 **移行元は区画ごとに px を直書きして上書きしている。**この 13px は
		   「上書きが無い区画の値」であって、全区画の値ではない。写しの CSS を全数で
		   読んだ結果は次のとおり（控えは
		   pa-verify-assets/f15-body-5307/机上の結果-系統ごとの本文の指定.tsv）。

		     上書きが無い区画（大多数）              13px    ← ここに合わせた
		     visitor の .point p                     15px
		     service の .sp_wrap_body p ほか         14px
		     guide の #guide02〜04 p                 16px
		     word の .content-area p                 16.9px（1.3rem）

		   **上書きがある区画は、直す前の 15px でも合っていなかった**（16.9 / 16 / 14 /
		   15 のどれも 15px ではない）。区画ごとの当て直しは別の Issue で行う。

		   🚨 **行送り（--pa-line-height-text）は別の帯で扱っている。**移行元も
		   区画ごとで、word の .content-area p が 1.8・visitor と service の
		   #sp_wrap p が 2・上書きの無い段落が normal である。**基準は normal に
		   して区画別の値を当て直した**（司令塔の裁定・2026-09-09）。その帯は
		   「携帯幅の本文の行送り」で探す. */
		--pa-article-font-size: 13px;
		--pa-article-block-gap: 30px;
		--pa-article-paragraph-gap: 18px;
		--pa-article-h2-size: 22px;
		--pa-article-h3-size: 19px;
		--pa-article-h4-size: 17px;
		--pa-article-h5-size: 15px;
		--pa-article-h6-size: 15px;
		--pa-article-title-size: 20px;
	}
}

/* --------------------------------------------------------------
 * 本文の文字色と行間を移行元へ戻す（Issue #1622）
 *
 * 上の変数は 4 つの囲みに共通で置いているが、ここは本文そのものの 2 つ
 * （.entry-content と .page-content__body）だけに置く。本文の外にある新
 * デザインの部品（.pa-story-related・.pa-experience-* 等）は、いまの
 * 共通の値のままにしておきたいためである。
 *
 * 色: 移行元の旧デザインは色を書いておらず、ブラウザ既定の黒（#000）が
 *     そのまま出ていた。リンクも public/css/style.css の a（41〜44 行）で
 *     黒である。マウスを載せたときの赤（#e1200f）は共通の値と同じなので
 *     ここでは触らない。
 * 行間: 移行元 public/css/style.css の .grid_box .detail_inner（1766〜1773 行）
 *     と public/word/css/style.css の .content-area .box（395〜402 行）が
 *     どちらも 150% である。共通の 1.8 は新デザインの値なので、本文だけ
 *     1.5 へ戻す。
 *
 * ヘッダー・フッターの文字色は共通の値（#474747）のままにしてある。
 * あちらは別の Issue（#1625 / #1626）が扱う。
 *
 * 新デザインのページ（body.pa-profile-new）は外す。トップページ・新デザインの
 * 店舗 4 件（銀座 / 新宿 / 静岡 / 岡山）・pa-zexy がこれに当たり、店舗 4 件は
 * single-branch.php が本文に .entry-content を付けるため、外さないと新デザイン
 * の黒（#474747）と行間 1.8 が旧デザインの値に塗り替わってしまう。振り分けは
 * inc/design-profile.php の pa_current_design_profile() が決めている。
 * 旧デザインの店舗ページは外していない。本文の文字組みを店舗ページとも共通で
 * 当てるのは、この区画の元からの方針である（上の「店舗ページを外している理由」）。
 * -------------------------------------------------------------- */
body:not(.pa-profile-new) .entry-content,
body:not(.pa-profile-new) .page-content__body {
	--pa-color-text: var(--pa-palette-ink-legacy);
	/* Bug #2649 で素のリンクの既定が黒になったため、この行はいま同じ値の重ね書きに
	   なっている。既定が動いたときに本文だけは黒を保つ歯止めとして残す。 */
	--pa-color-link: var(--pa-palette-ink-legacy);
	--pa-line-height-text: 1.5;

	color: var(--pa-color-text);
}

/* --------------------------------------------------------------
 * 携帯幅の本文の行送り（Bug #5307 / 司令塔の裁定・2026-09-09）
 *
 * **移行元スマートフォン版の作りをそのまま写す。**移行元は初期化で全要素へ
 * 13px を当て、`line-height` は当てない（だから上書きの無い段落は `normal` に
 * なる）。そのうえで区画ごとに `line-height` を直書きしている。
 *
 * 以前この節は「SP は共通の値（1.8）へ戻す」としていた。根拠はワード解説の
 * 実測（移行元 30.42px = 16.9px × 1.8・移行元 `sp/word/css/style.css` の
 * `.content-area p` 751〜755 行）である。**その値そのものは正しいが、
 * ワード解説だけの値だった。**写しの CSS を全 53 系統で走査した結果は次のとおり
 * （控えは pa-verify-assets/f15-body-5307/机上の結果-全系統の行送り.tsv・
 * 2026-09-09 17:1x）。
 *
 *   上書きが無い段落（大多数）                        normal
 *   #sp_wrap p     … visitor / service / company      2
 *   #report p      … branch                           2
 *   .content-area p, .content-area .box … word        1.8
 *   .problem-area__inner__contents p … 5 系統         180%（= 1.8）
 *   #contents .sec04 p … visitor                      1.8
 *
 * **1.8 を基準にすると、上書きの無い段落（大多数）と 2 の 4 系統が外れる。**
 * そこで基準を `normal` にし、区画別の値は下でページ群の印で絞って当てる
 * （ユーザー決定 D42 の趣旨「移行元どおり」に沿う司令塔の裁定）。
 *
 * 🚨 **新デザインのページ（body.pa-profile-new）は外したままにする。**あちらは
 * 移行元も新デザインで、この節が扱う旧デザインの作りとは別である。
 * -------------------------------------------------------------- */
@media (max-width: 749px) {
	body:not(.pa-profile-new) .entry-content,
	body:not(.pa-profile-new) .page-content__body {
		--pa-line-height-text: normal;
	}
}

/* --------------------------------------------------------------
 * 携帯幅の本文の行送り・区画別の上書き（Bug #5307）
 *
 * 上の基準（normal）に対して、移行元が区画ごとに置いている値を当て直す。
 * **当たり先は移行元の当たり先をそのまま写すか、写せない場合はページ群の印で
 * 絞る。**移行元の器（`#sp_wrap` や `#report`）は投入で移し先に残らないので、
 * 器で絞っている規則は印に置き換える。
 *
 * 🚨🚨 **`#sp_wrap p` の値はページ群ごとに独立している。区画ひとまとめで当てては
 * いけない。**移行元のページ別 CSS はそのページ群だけが読むので、同じ当たり先でも
 * 値が違う。`#sp_wrap` を含む写しの CSS 13 本を全数で読んだ結果が下の表である
 * （控えは pa-verify-assets/f15-body-5307/机上の結果-sp_wrap系の全数.txt・
 * 2026-09-09 17:26 JST）。**7 班の指摘で分かった**（最初は区画ひとまとめで
 * `.pa-page--visitor` へ 2 を当てており、婚活のすすめ方が 1.8 → 2 に狂うところだった）。
 *
 * | 移行元のページ群 | 当たり先と行 | 値 | dev の印 |
 * |---|---|---|---|
 * | `/sp/visitor/`（入口） | `sp/visitor/css/style.css` 7 行 | **2** | `body.pa-visitor--top` |
 * | `/sp/visitor/method/` | `sp/visitor/method/css/style.css` 6 行 | **1.8** | `body.pa-visitor--method` |
 * | `/sp/service/`（入口） | `sp/service/css/style.css` 10 行 | **2** | `body.pa-service-page--top` |
 * | `/sp/service/flow/` | `sp/service/flow/css/style.css` 5 行 | **1.8** | `body.pa-service-page--flow` / `--flow-index0706` |
 * | `/sp/service/multi/` | `sp/service/multi/css/style.css` 7 行 | **1.8** | `body.pa-service-page--multi` |
 * | `/sp/service/point/` | `sp/service/point/css/style.css` 7 行 | **1.8** | `body.pa-service-page--point` |
 * | `/sp/company/` | `sp/company/css/style.css` 7 行 | **2** | `body.pa-company-page--contribution` |
 *
 * **規則を持たないページ群は基準（normal）のままにする**（visitor の よくあるご質問・
 * 親御さまへ・他社経験、service の 5つの約束・成婚コンシェルジュ・他社経験）。
 *
 * | 移行元 | 値 | dev の絞り方 |
 * |---|---|---|
 * | `.content-area p, .content-area .box`（word） | 1.8 | `.pa-post--word` ＋ 本文に残る `.content-area` |
 * | `.problem-area__inner__contents p`（5 系統） | 180% | 本文に残る `.problem-area__inner__contents` |
 * | `dt` / `dd`（サイト全体） | 字 15px | 本文の器の中の `dt` `dd`（下の帯） |
 *
 * 🚨 **company は 2 ページのうち 1 ページだけが対象である。**移行元で自前の CSS を
 * 読むのは社会貢献活動と上場に関するお知らせの 2 ページだが、器 `#sp_wrap` を
 * 持つのは社会貢献活動だけで、もう 1 ページは CSS を読んでも効かない（Bug #4443
 * の節で同じ切り分けをしている）。
 *
 * 🚨 **`.content-area` と `.problem-area__inner__contents` は投入した本文に残る**
 * （2026-09-09 に dev の実ページを取って確かめた。ワード解説の詳細で
 * `.content-area` 1 件・`.problem-area__inner__contents` 1 件）。だから移行元と
 * 同じ当たり先で書ける。
 *
 * 🚨 **`.problem-area__inner__contents` は共通部品で 5 系統に差し込まれる**
 * （word / contents / konkatsu-sp / report / senryu）。移行元も 5 系統すべてで
 * 180% なので、ここでは印で絞らない。
 *
 * ## ここで当てない区画（別 Issue に残す）
 *
 * - **branch の `#report p`（2）** … `#report` は移行元の器で、dev に残らない。
 *   支店紹介のどの部分に当たるかを実測しないと当たり先が決められない。
 * - **visitor の `#contents .sec04 p`（1.8）** … 同じく器で絞られている。
 * - **婚活スポット（spot）** … 移行元スマートフォン版がエリア別 323 ページ＋詳細
 *   3,004 ページという別の作りで、dev の 7 ページと 1 対 1 で対応しない
 *   （Bug #4443 の節と同じ理由）。移行元は入口も詳細も 2 である。
 * - **会員紹介（`/sp/introduce/`）の 1.8** … `sp/introduce/css/style_191127.css` 19 行が
 *   `#sp_wrap p { line-height: 1.8 }` を持つ。**dev のどのページ群に当たるかを
 *   調べていない**（写しの名前が日付つきで、どのページが読むのか読めない）。
 * -------------------------------------------------------------- */
@media (max-width: 749px) {
	body:is(.pa-visitor--top, .pa-service-page--top, .pa-company-page--contribution) .page-content__body p {
		line-height: 2;
	}

	body:is(
		.pa-visitor--method,
		.pa-service-page--flow,
		.pa-service-page--flow-index0706,
		.pa-service-page--multi,
		.pa-service-page--point
	) .page-content__body p {
		line-height: 1.8;
	}

	/* 🚨 **本文の器の名前は 2 つある**（Task #6265）。移行元は**パソコン版と携帯版で
	   器の名前が違う記事が 15 本**あり、投入はパソコン版を元にするので dev には
	   `.detail_body` が入る。

	   | 移行元のページ | `content-area` | `detail_body` |
	   |---|---:|---:|
	   | `public/word/2017-10-1.html`（パソコン・**投入元**） | 0 | 1 |
	   | `public/sp/word/2017-10-1.html`（携帯・**再現の手本**） | 2 | 0 |
	   | `public/word/2020-08-11.html`（パソコン） | 2 | 0 |

	   **携帯幅で再現すべき手本（`/sp/` の写し）は、15 本も含めて全部 `.content-area`**
	   である。移行元の携帯版の CSS に `.detail_body` の規則は 1 つも無い。
	   **dev だけが 2 つの名前に割れている**ので、当たり先を両方へ広げる。

	   投入の材料 6,234 巻を数えた内訳（`/word/` は 691 巻）:
	   `content-area` あり 667 ／ なし 24（記事 15 ＋ 一覧 9）。**なしの記事 15 本が
	   `detail_body` を持つきれいな補集合**である。

	   🚨 **`.pa-post--word` の絞りは外せない。**`.detail_body` は `/word/` の外に
	   **267 巻**ある（成婚ストーリーほか）。素の `.detail_body` へ当てると、
	   その 267 巻の本文の字と行送りまで動く.

	   🚨 **値は変えない。**16.9px と 1.8 は Bug #5332 #5333 が決めた値である. */
	.pa-post--word .entry-content :is(.content-area, .detail_body) :is(p, .box) {
		line-height: 1.8;
	}

	/* エリアと都道府県の一覧 56 ページ（Bug #5333 の①）。
	   移行元スマホ版 `sp/branch/css/style.css` の `#report p`（2）と
	   `#report .shop_detail p`（1.5）を写す。`#report` は移行元の器で dev には
	   残らないので、`body.pa-branch-area-list`（地方は inc/branch-area-entry.php・
	   県別は inc/branch-prefecture-entry.php が付ける）で絞る。

	   🚨 **当たり先の類名（`.main_read`）では絞れない。**移行元のパソコン版
	   280 ページが `main_read` を使っており、`/research/` など支店紹介の外にも
	   在る（2026-09-11 の実測）。

	   🚨 **器は `.entry-content` である（`.page-content__body` ではない）。**
	   `single-branch.php` の 267 行が、branch の投稿の本文を
	   `pa-branch__content entry-content` の直下へ出す。`.page-content__body` は
	   固定ページ側の器で、この投稿型には出ない（Greptile の指摘・2026-09-11）.

	   実測（幅 375px・移行元は本番・2026-09-11 12:1x）:

	     岡山県の一覧   `p.main_read`     移行元 26px（字 13px ＝ 2）  dev normal
	     中国エリアの一覧 `p.main_read`     移行元 26px（字 13px ＝ 2）  dev normal
	     中国エリアの一覧 `.shop_detail p`  移行元 19.5px（字 13px ＝ 1.5） dev 23.4px（＝ 1.8）

	   🚨 **移行元の `#report .shop_inside li p` と `#report .list_staff li p` も
	   1.5 を持つが、写さない。**移行元の HTML で 0 ページしか使っていない
	   （CSS 11 本が宣言しているだけ・2026-09-11 の全数走査）. */

	body.pa-branch-area-list .entry-content p {
		line-height: 2;
	}

	body.pa-branch-area-list .entry-content .shop_detail p {
		line-height: 1.5;
	}

	/* 案内文の字（Task #5688）。移行元スマホ版は 13px である。

	   🚨 **パソコン版の値が携帯幅へ漏れていた。**上の
	   `.pa-profile-legacy-compat .pa-branch__content .main_read` が**幅の条件の外**に
	   `font-size: 16px` を書いている。16px は移行元の**パソコン版**
	   （`branch/css/style.css` の `.main_read`）の値で、**携帯版は 13px** である。
	   すぐ下の余白と行送りは `@media (min-width: 750px)` で囲ってあるのに、
	   字の大きさと寄せだけ囲いの外に在った。

	   実測（幅 375px・移行元は本番・2026-09-11 12:1x）:

	     岡山県の一覧     `p.main_read`    移行元 13px  dev 16px（+3.0）
	     中国エリアの一覧 `p.main_read`    移行元 13px  dev 16px（+3.0）
	     中国エリアの一覧 `.shop_detail p` 移行元 13px  dev 13px（一致・触らない）

	   🚨 **店舗の詳細の `.main_read` は測っていないので触らない。**上の規則は
	   店舗の詳細にも当たりうるが、移行元の携帯版の値を確かめていない。
	   ここでは一覧の印で絞る. */

	body.pa-branch-area-list .pa-branch__content .main_read {
		font-size: 13px;
	}

	/* 店舗の囲みの中の県名（Bug #5685）。移行元のパソコン版だけが持つ段落で、
	   **携帯版は持たない**。dev の本文はパソコン版から作られるので、そのままだと
	   携帯幅で県名の行が 1 行余分に出る。

	   移行元のパソコン版（千葉県の例）:

	     <div class="shop_detail clearfix fl">
	       <p class="serif kenmei"><a href="./index_chiba.html">千葉県</a></p>   ← これ
	       <div class="sd_arrow">…</div>
	       <div class="fl_box"><h3>…店</h3><p>〒…</p></div>
	     </div>

	   移行元の携帯版の同じ囲みは `div.sd_l > h4 + p`（住所）と `div.sd_r`（矢印）だけで、
	   県名の段落が無い。

	   実測（2026-09-11・移行元の本番 25 ページ・dev 25 ページ・HTML を組み立てて数えた）:
	   囲みの数は 25 ページとも両側で一致し、**パソコン版の `p` は携帯版のちょうど 2 倍**
	   だった。多い 1 つがこの県名である。dev は 25 ページとも移行元のパソコン版と一致。

	   🚨 **パソコン幅は隠さない。**移行元のパソコン版は県名を出している。
	   🚨 **`.kenmei` に素で書かない。**移行元のパソコン版 36 ページが使っており、
	   一覧以外の支店紹介のページにも在る。`body.pa-branch-area-list` で絞る。
	   移行元の携帯版は `kenmei` を 1 ページも持たない（写しの `public/sp/` を全数走査）. */

	body.pa-branch-area-list .pa-branch__content .shop_detail .kenmei {
		display: none;
	}

	/* エリアの一覧 8 ページの説明文（Bug #5803・ユーザー決定 D118）。移行元の
	   パソコン版は「出典：」で終わる長い説明文（`div.areaseoTxt`）を出すが、
	   **携帯版は出さない**。dev の本文はパソコン版から作るので、そのままだと
	   携帯幅でページがかなり長くなる。

	   実測（移行元の本番・携帯の名乗り・55 本を 1 回ずつ・2026-09-11 22:4x）:

	     エリアの一覧 **8 本**（中部・中国・北海道・関西・関東・九州・東北・東京）
	       … `areaseoTxt` **0 件**（隠す）
	     都道府県の一覧 **47 本**
	       … `areaseoTxt` **1 件**（出したまま）

	   **例外は 1 つも無い**（55 本とも応答 200・転送 0）。四国はエリアの一覧を
	   移行元が持たないので 8 本である。

	   🚨 **`pa-branch-area-list` では絞れない。**あの印はエリアの一覧と都道府県の
	   一覧の両方に付く（56 ページ）。細かいほうの `pa-branch-area-index`
	   （inc/branch-area-entry.php が地方の入口 8 本にだけ付ける）で絞る。

	   🚨 **パソコン幅は隠さない。**移行元のパソコン版は 55 本とも出している。
	   この節（`@media (max-width: 749px)`）の中だけに置く。

	   🚨 **`!important` は要らない。**`main.css` で `.areaseoTxt` に `display` を
	   当てる規則はこの 1 本だけである（注釈を外して数え直した・2026-09-12）。
	   ほかに `.areaseoTxt` を当て先にする規則は 3 本あるが（Bug #5806 の出典名・
	   Bug #5807 のパソコン幅の器・Bug #5866 の携帯幅の器）、どれも `display` を
	   触らない。検査が「ほかに `display` を当てる規則が無いこと」を見張るので、
	   あとから id 付きの規則が入れば落ちる. */
	body.pa-branch-area-index .pa-branch__content .areaseoTxt {
		display: none;
	}

	/* 県の一覧 47 ページの説明文の器（Bug #5866）。移行元の携帯版は説明文を細い罫線で
	   囲み、幅を絞り、中の段落に余白を入れる。dev はこの飾りを 1 つも持たない。

	   移行元の指定（`/sp/css/style.css`・本番から取得して写しと md5 が一致
	   `daa325795a49a229377ecf4e84c5aed3`・2026-09-12）:

	     .areaseoTxt   { width: 87.5%; border: 1px solid #DCDCDC; margin: 0 auto 25px;
	                     text-align: left; color: #595757; font-size: 13px; line-height: 170%; }
	     .areaseoTxt p { margin: 15px; }

	   🚨 **地の色は足さない。**移行元は地の色（`#ffffff`）をパソコン版だけに置く。
	   携帯版は持たない（パソコン幅は Bug #5807 が `@media (min-width: 750px)` の中で
	   当てている）。

	   🚨 **字の大きさは必ず書く。**`--pa-article-font-size` は携帯幅で 13px だが、
	   **支店紹介の本文には届かない**。幅の節の外に `.pa-profile-legacy-compat
	   .pa-branch__content { font-size: 16px }` が在り、詳細度 (0,2,0) で
	   `.entry-content { font-size: var(--pa-article-font-size) }` の (0,1,0) に勝つためである。
	   **描いて測るまで気づけなかった**（幅 375px の実測で dev は 16px・2026-09-12 00:56）。
	   この規則は (0,3,0) なのでどちらにも勝つ。

	   🚨 **`.main_copy` を隠す指定は足さない。**移行元の携帯版は
	   `.areaseoTxt .main_copy { display: none }` を持つが、**dev の本文には
	   `.main_copy` が 1 つも無い**（愛媛のページで実測・段落は 3 つ・2026-09-12）。
	   当たり先の無い規則は置かない。

	   🚨 **出典の行の 11px はここで当てない。**移行元はパソコン版も携帯版も 11px なので、
	   幅の節の外へ置く（Bug #5879・統括の判断）。

	   🚨 **段落の行送りを受け継がせる。**dev は `.entry-content p` に
	   `line-height: var(--pa-line-height-text)` を当てており、携帯幅では `normal` になる。
	   器に 170% を置くだけでは段落に届かない（パソコン幅の Bug #5807 と同じ理由）。

	   エリアの一覧 8 ページは、すぐ上の規則（Bug #5803）が説明文ごと隠すので、この器は
	   描かれない。移行元の携帯版も同じ 8 ページで説明文を出さない。

	   🚨 **箱の数え方をこの器だけ移行元に合わせる（Bug #5916）。**移行元は罫線を
	   `width` の外に数える（content-box）が、テーマは全体を border-box で組んでいる。
	   同じ 87.5% を書いても、border-box では罫線の左右 2px が中へ食い込み、外側の幅が
	   2px 狭くなる。幅 375px の実測（2026-09-12 01:55・茨城の県の一覧）:

	     移行元 www.p-a.jp/sp/branch/kanto/index_ibaraki.html  330.13px @22.44
	     dev    この宣言が無いとき                              328.13px @23.44
	     dev    この宣言を当てたとき                            330.13px @22.44（一致）

	   🚨 **`box-sizing` を広く変えない。**テーマの全体は border-box のままにする。
	   この器 1 つだけに書くのは、移行元が `width` を明示している箱がここだけだから
	   である。ほかの区画は `width` を書かない（幅が auto の箱は数え方で外側の幅が
	   変わらない）。

	   🚨 **パソコン幅には足さない。**移行元のパソコン版は同じ器に `width` を書いて
	   おらず（`css/page_event_top.css` の `#event_top .areaseoTxt`）、幅 1440px の実測は
	   移行元 1100px・dev 1100px で既に一致している（同じ回の実測）. */
	body.pa-branch-area-list .pa-branch__content .areaseoTxt {
		box-sizing: content-box;
		width: 87.5%;
		margin: 0 auto 25px;
		border: 1px solid #dcdcdc;
		color: #595757;
		font-size: 13px;
		line-height: 170%;
		text-align: left;
	}

	body.pa-branch-area-list .pa-branch__content .areaseoTxt p {
		margin: 15px;
		line-height: inherit;
	}

	/*
	 * 岡山県の一覧の携帯幅へ足す「店舗のご案内」（Bug #6118）。
	 *
	 * 移行元の携帯版 sp/branch/chugoku/css/style.css から、この区画に要る分だけを写した。
	 * 値は移行元のまま（`.report_body` 87.5% / `.ttl_gold` / `.shop_detail` の内余白と下の余白 /
	 * `.sd_l` 84% / `.sd_r` 16%）。
	 *
	 * 🚨 **当たり先を `.report_body` の下に絞っている。**`.shop_detail` は地域の入口 8 ページと
	 * 県の一覧 16 ページの本文にも在るが、それらは移行元のパソコン版由来で札の形が違う
	 * （`fl_box` / `sd_arrow`）。`.report_body` はここで足す区画にしか無いので、
	 * 既にあるカードの見え方は 1px も動かない。
	 *
	 * 🚨 幅の 87.5% と中央そろえは、同じページの `.areaseoTxt` が既に採っている形と同じ。
	 * 器（`.pa-branch__content`）は携帯幅で幅を絞っていないため、区画の側で絞る。
	 */
	body.pa-branch-area-list .pa-branch__content .report_body {
		width: 87.5%;
		margin: 0 auto;
	}

	/* 外余白は 0（移行元の土台 sp/css/basic.css が見出しの外余白を 0 にしている）。打ち消さないと、テーマの本文の
	   `h3` の外余白 `30px 0 20px` が当たり、店舗が無い県の一覧が移行元より 30px 高くなっていた（Bug #10077・
	   2026-10-10 の計算した値・pa-verify-assets/A/10077-一覧の余白-2-1010/）. */
	body.pa-branch-area-list .pa-branch__content .report_body .ttl_gold {
		clear: both;
		margin: 0;
		padding: 15px 0;
		color: #a3762b;
		font-size: 20px;
		line-height: 100%;
	}

	body.pa-branch-area-list .pa-branch__content .report_body .shop_detail {
		margin-bottom: 20px;
		padding: 10px 0;
	}

	body.pa-branch-area-list .pa-branch__content .report_body .sd_l {
		float: left;
		width: 84%;
	}

	body.pa-branch-area-list .pa-branch__content .report_body .sd_r {
		float: right;
		width: 16%;
	}

	/* 絵を行の中に置くと下に行の余りが付き、囲みが移行元より高くなる（Bug #6123 と同じ型）. */
	body.pa-branch-area-list .pa-branch__content .report_body .sd_r img {
		display: block;
	}

	/* 店舗が無い県の一覧 31 ページ: 移行元の PC 版のカードを携帯幅で出さない（Bug #6119）。

	   移行元はこの 31 ページのスマートフォン版で、PC 版の店舗カード 24 枚のかわりに
	   エリア別の店名リンク一覧（`.ac_sec` 8 区画）を出す。掲載する店舗は両方とも同じ
	   24 件で、見せ方だけが違う（ユーザー決定 D191 で移行元どおりに出し分けると決定）。
	   一覧の側は `inc/branch-pref-index-sp-area-list.php` が本文へ足す。

	   🚨 **当たり先を `pa-branch-area-list` にしない。**あの印は 56 ページに付くので、
	   店舗が在る 16 県のカードまで消える。`pa-branch-pref-no-store` は上のファイルが
	   31 ページだけに付ける印である（以前は 30 ページと 17 県。移行元の 10/1 の最終リリース 822eda470 で
	   岡山店が閉店し、岡山県が店舗の無い県へ移った・Task #9293）。

	   🚨 **PC 幅では隠さない。**移行元の PC 版はこの 31 ページでもカードを出す. */
	body.pa-branch-pref-no-store .pa-branch__content .shop_area {
		display: none;
	}

	/* 足したエリア別の一覧の見た目（Bug #6119）。移行元のスマートフォン版から引き写す。

	     `.ac_sec { margin-bottom: 30px }`                      … sp/branch/css/style.css
	     `.ttl_gold_bb { ... }` と `.ttl_gold_bb a { ... }`     … 同上

	   🚨 **`.ac_sec` は開閉しない。**移行元が読み込む `sp/js/accordion.js` は
	   `#drawer_main_menu dt` だけを扱い、`.ac_sec` を参照する行は無い。CSS にも開閉の
	   指定は無い。最初から全件が開いて並ぶ。

	   包み（`.report_body`）の幅 87.5% と、小見出し（`.ttl_gold`）の見た目は、上に在る
	   Bug #6118 の規則がそのまま効く。同じ類名を使っているためここでは書かない。

	   並びの字の大きさと行送りは、移行元では土台（`ol, ul, li { font-size: 13px }`
	   sp/css/basic.css）と `#report { line-height: 2 }`（sp/branch/css/style.css）から
	   来る。dev の土台は別なので、この区画に限って同じ値を書く（D6 の実測でも移行元の
	   一覧の本体は 13px / 26px だった・2026-09-14）。

	   🚨 **店名のリンクの文字色は書かない。**移行元のスマートフォン版の CSS 5 本に
	   `a` の色の宣言が 1 つも無く、ブラウザの既定色で出ている。dev 側の既定値と
	   食い違うかは、配信後に両側の `color` を測ってから決める. */
	body.pa-branch-pref-no-store .pa-branch__content .pa-branch-pref-sp-area-list .ac_sec {
		margin-bottom: 30px;
	}

	/* 一覧の下から県の説明（`.areaseoTxt`）までの間を、移行元の 55px にする（Bug #10077）。
	   移行元は、最後の `.ac_sec` の下の 30px が一覧の外へ抜け、一覧を包む `#report` の下の内余白 25px
	   （`#report { padding: 25px 0 }`・sp/branch/css/style.css）と足して 55px になる。dev は `#report` に当たる囲みが
	   無いので、一覧の下の外余白を 55px にする。最後の `.ac_sec` の 30px とは相殺するので、間は 55px で、
	   一覧の箱の高さは変わらない（2026-10-10 の計算した値・pa-verify-assets/A/10077-一覧の余白-1010/）.

	   🚨 **上の外余白は持たせない（Bug #10162）。**移行元の一覧の上の外余白は 0 で、説明文の下の 18px だけが間になる。
	   Bug #10077 では一覧の上端を直す前の位置に保つため 30px を足していたが、その 30px は、一覧より上の 2 つの差
	   （囲みの上の内余白 25px が無い・見出しが 6px 高い）を一部だけ埋めていた。下の 2 つの規則でその差を直したので、
	   30px は外す（2026-10-10 の実測・pa-verify-assets/A/10162-一覧の上-1010/）. */
	body.pa-branch-pref-no-store .pa-branch__content .pa-branch-pref-sp-area-list {
		margin-bottom: 55px;
	}

	/* 一覧を包む節の上の内余白を、移行元の 25px にする（Bug #10162）。移行元の携帯版は、見出し・説明文・一覧を
	   `#report` で包み、`#report { padding: 25px 0 }`（sp/branch/css/style.css）が見出しの上に 25px を置く。
	   dev では同じ 3 つを `section#event_top` が包む。下の 25px は、一覧の下の外余白 55px が受け持つ（Bug #10077）. */
	body.pa-branch-pref-no-store .pa-branch__content #event_top {
		padding-top: 25px;
	}

	/* 県名の見出しの絵を、行の中でなく箱として置く（Bug #10162）。移行元の携帯版は `img { display: block }`
	   （sp/css/common.css の 11〜15 行）なので、見出しの高さは絵の高さ 60.8 と同じになる。dev は絵を行の中に置くので、
	   絵の下に字の基準線より下の分の空き 6px が付き、見出しが 66.8 になっていた. */
	body.pa-branch-pref-no-store .pa-branch__content #event_top .title img {
		display: block;
	}

	/* 上の外余白も 0 にする（Bug #10077）。テーマの本文の `h3` の上の外余白 30px が、1 つ目のエリアの見出しの上に
	   残っていた（2 つ目からは前の `.ac_sec` の下の 30px と相殺されて見えない）. */
	body.pa-branch-pref-no-store .pa-branch__content .pa-branch-pref-sp-area-list .ttl_gold_bb {
		clear: both;
		margin: 0 0 15px;
		padding: 15px 0;
		border-bottom: 2px solid #a3762b;
		color: #a3762b;
		font-size: 20px;
		line-height: 100%;
	}

	body.pa-branch-pref-no-store .pa-branch__content .pa-branch-pref-sp-area-list .ttl_gold_bb a {
		color: #a3762b;
		font-size: 20px;
		text-decoration: none;
	}

	body.pa-branch-pref-no-store .pa-branch__content .pa-branch-pref-sp-area-list .list_branch {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	body.pa-branch-pref-no-store .pa-branch__content .pa-branch-pref-sp-area-list .list_branch li {
		font-size: 13px;
		line-height: 26px;
	}

	/* 県の説明から相談の帯までの間を、移行元の 25px にする（Bug #10171）。移行元の携帯版は、説明 `.areaseoTxt` の下の外余白 25 と
	   帯 `div.conv-banner` の上の外余白 15 が兄弟どうしで重なり、間は 25 になる。dev は説明を `section#event_top`（clearfix）の中に、
	   帯を型紙の包み `.pa-conv-band-host` の中に置くので 2 つが重ならず、間が 40 になっていた（直す前の実測・福井と岡山・
	   `pa-verify-assets/A2/10171-店舗が無い県の下端-1010/`）。帯の上の 15 を 0 にして、説明の 25 だけを残す. */
	body.pa-branch-pref-no-store .pa-conv-band-host > .pa-conv-band {
		margin-top: 0;
	}

	/* 店名のリンクの色は書かない（Bug #6119 の直し・2026-09-15）。

	   🚨 **移行元はリンクの色を黒で宣言している。**スマートフォン版の県ページが読み込む
	   `sp/css/style.css` の 3 行目に `a { color: #000000; text-decoration: underline; }`
	   が在る（`@media` の外・波かっこの深さ 0・後から打ち消す規則も無い）。

	   dev も `a { color: var(--pa-color-link) }` が効き、この 31 ページは
	   `pa-profile-new` ではないのでトークンは `--pa-color-link` →
	   `--pa-palette-ink-legacy` → `#000` と解ける。**両側とも黒で、もともと一致する。**
	   下線も、移行元は `text-decoration: underline`、dev は宣言が無くブラウザの既定の
	   下線なので一致する。**だからこの区画に色の宣言は要らない。**

	   🚨 **`color: revert` を書いてはいけない。**いったんそう書いて配信し、携帯幅で
	   `rgb(0, 0, 238)`（ブラウザの既定の青）になった。移行元は `rgb(0, 0, 0)` である
	   （配信の版 439d8aad0 で両側を実測・2026-09-15 01:01）。

	   🚨 **なぜ「宣言が無い」と誤ったか。**移行元の CSS を当たり先で拾うとき、
	   `a { ... }` が `@charset "UTF-8";` の直後に在るため、当たり先を取り出す形が
	   `@charset` の行まで取り込んでいた。**当たり先が `a` に丸ごと一致する規則**を
	   探していたので当たらなかった。`@charset` や `@import` の直後の規則は、
	   当たり先が汚れていないかを必ず確かめる. */

	:is(.entry-content, .page-content__body) .problem-area__inner__contents p {
		line-height: 1.8;
	}

	/* --------------------------------------------------------------
	 * 携帯幅の本文の字・区画別の上書き（Bug #5332）
	 *
	 * 基準（`--pa-article-font-size: 13px`）は移行元スマートフォン版の初期化の値
	 * である。移行元はそのうえで区画ごとに px を直書きしているので、その区画だけ
	 * 当て直す。行送りの区画別（上の帯）と同じ形で、**移行元の当たり先を写せる
	 * ものは写し、写せないものはページ群の印で絞る。**
	 * -------------------------------------------------------------- */

	/* ワード解説の本文は移行元が 1.3rem である（移行元 `sp/word/css/style.css`
	   751〜755 行の `.content-area p, .content-area .box`）。**移行元の初期化は
	   `html` にも 13px を当てている**ので（`sp/css/basic.css` 16〜22 行の一括指定に
	   `html` が入っている）、`1.3rem` は **16.9px** になる。5 班の実測（2026-09-09
	   17:0x・幅 375px）でも移行元 16.9px だった。

	   🚨 **`rem` のまま写してはいけない。**dev の根の字は 13px ではないので、
	   同じ `1.3rem` と書くと別の値になる。**移行元で決まる値（16.9px）を写す。**
	   移行元のこの値は画面の幅に比例しない（根が px 固定）ので、px で写して正しい。

	   同じ規則が `line-height: 1.8` も持つが、それは上の帯で当ててある. */
	.pa-post--word .entry-content :is(.content-area, .detail_body) :is(p, .box) {
		font-size: 16.9px;
	}

	/* ワード解説の本文のリンクは、移行元が 16px に戻している（移行元 `sp/word/css/style.css`
	   747〜749 行の `.content-area a { font-size: 16px }`・Bug #8707）。移行元の初期化は `a` にも
	   13px を当て（`sp/css/basic.css` 3〜22 行）、それをこの規則が 16px へ上書きする。dev には写しが
	   無く、リンクが上の段落の 16.9px を受け継いで、長い URL が移行元より 5.6% 広かった
	   （ユーザー決定 D548 の「+5.6%」・`pa-verify-assets/B/wordリンクの字-0928/`）.

	   🚨 **本文の中のほかのリンクにも当たる。**移行元の 747 行も本文のすべてのリンクに当たる。
	   同じ詳細度 (0,3,1) で後ろにある規則（申し込みの帯の `.word-cta-btn a` ほか）は、そちらが勝つ.

	   🚨 **目次とツイートのリンクは外す。**外す指定は `:where()` に入れ、詳細度を (0,3,1) のままにする
	   （`:not()` のままだと詳細度が上がり、申し込みの帯の規則にまで勝ってしまう）.
	   - 目次（`assets/css/word-sp-toc.css` の `.pa-word-sp-toc .table-of-contents li a`・15.6px）: 移行元も
	     `.table-of-contents li a`（1.2rem）が 747 行に勝つ。外さないと 16px に上書きしてしまった（Bug #8707 の下見）
	   - ツイート（`.twitter-share-button`）: 公開の画面では Twitter の読み込みが枠に差し替えるので、字の大きさは
	     見た目に効かない。直す前の値（13px）のまま残す. */
	.pa-post--word .entry-content :is(.content-area, .detail_body) a:where(:not(.table-of-contents a, .twitter-share-button)) {
		font-size: 16px;
	}

	/* PDCA（`/service/point/`）とマルチサポート（`/service/multi/`）の本文は
	   移行元が 14px である。

	   🚨 **移行元の `#service_point .sections p` / `#service_multi .sections p`
	   （移行元 `sp/service/css/style.css` 136〜138 行・238〜240 行）は不発である。**
	   `service_point` と `service_multi` という語は**写しの CSS（と .scss）にしか
	   無く、HTML には 1 か所も無い**（写しを配り役で描かせて確かめた。2026-09-10）。
	   だから画面に出ているのは**もう 1 本のほう**である。

	     .sp_wrap_body p { font-size: 14px }   移行元 sp/service/css/style.css 47〜49 行

	   🚨 **`.sp_wrap_body` は dev に 1 か所も残らない**（移行元の器で、投入で落ちる）。
	   そこで**ページ群の印 ＋ 本文に残る `.sections`** で絞る。**この 2 つが同じ範囲を
	   指すことを実物で確かめてある**（2026-09-10）。

	   | 見たこと | 結果 |
	   |---|---|
	   | 移行元の `.sp_wrap_body` の数（PDCA） | 4 |
	   | そのうち `<p>` を持つもの | **3**（残る 1 つは絵だけの道案内で `<p>` が無い） |
	   | その 3 つはすべて `section.sections` の中か | **はい** |
	   | dev に `.sections` が残るか | **残る**（`sections sec01` / `sec02` / `sec03`） |

	   つまり移行元で 14px になる `<p>` は**すべて `.sections` の中**にあり、
	   `.sections p` で絞れば過不足なく一致する。

	   🚨 **区画ぜんたい（`.pa-service-page`）へ当ててはいけない。**移行元で
	   `.sp_wrap_body` を持つのはサービス紹介の入口・PDCA・マルチサポートで、
	   入口の当たり先は別に決める必要がある（当たる範囲が `.sections` と違う）。
	   ご入会の流れ・5つの約束・成婚コンシェルジュ・他社経験は 14px にならない. */
	body:is(.pa-service-page--point, .pa-service-page--multi) .page-content__body .sections p {
		font-size: 14px;
	}

	/* AC の案内（`/ac/`）の本文は移行元が 15px である（移行元
	   `sp/ac/css/style.css` 38 行の `.main_vidual .about p` と 67 行の
	   `.first_box p, .second_box p, .third_box p`）。

	   **当たり先はそのまま写せる。**移行元のパソコン版・スマホ版・dev の 3 つで
	   段落の数が完全に一致する（2026-09-10 に器の入れ子を辿って数えた）。

	   | 器 | 移行元スマホ版 | 移行元パソコン版 | dev |
	   |---|---:|---:|---:|
	   | `.about`（`.main_vidual` の中） | 1 | 1 | 1 |
	   | `.first_box` | 2 | 2 | 2 |
	   | `.second_box` | 3 | 3 | 3 |
	   | `.third_box` | 8 | 8 | 8 |

	   **合計 14 段落**が 15px になる。4 つの器の外の段落は基準（13px）のままで、
	   これも移行元と同じである。

	   🚨 **移行元の `.main_vidual p.notice { font-size: 12px }`（同 43 行）は
	   写さない。**移行元スマホ版にもパソコン版にも dev にも `p.notice` が
	   **1 件も無い**（不発の規則）。写す相手が無い。

	   🚨 **区画の印で絞る。**`.about` や `.first_box` はありふれた名前で、
	   ほかの区画にも在りうる。`article.pa-page--ac` は投入した本文の外側に
	   テーマが付ける印である（`page.php` が道すじの頭から作る）. */
	.pa-page--ac .page-content__body :is(.main_vidual .about, .first_box, .second_box, .third_box) p {
		font-size: 15px;
	}

	/* 見出しの役の段落（Bug #5332 の①・2026-09-16）。

	   【移行元の値】移行元スマホ版は見出しの役に `p.h2-ttl` を使い、**20px** を当てて
	   いる（`sp/ac/css/style.css` 125・130・136 行の `.first_box .h2-ttl` /
	   `.second_box .h2-ttl` / `.third_box .h2-ttl`）。

	   【何が起きていたか】dev は移行元パソコン版を投入しているので、同じ見出しが
	   `<div class="first_box"><div class="inner"><div class="inner_box"><h2><img><p>…</p></h2>`
	   の形になり、**`h2-ttl` は dev の本文に 1 件も無い。****上の 15px は `p` を素で
	   受けているので、この見出しの段落まで 15px に潰していた。**幅 375px の実測で
	   3 本とも 15px だった（2026-09-16 15:2x・台本 pa-verify-assets/D3/5332-0916/
	   m-5332-2.mjs・sha e157a505ce68）。

	   🚨 **上の当たり先から外すのではなく、ここへ書き足す。**外すだけだと受け継ぎの
	   13px に落ちる。移行元は 20px なので、それでは差が広がる。

	   🚨 **特異度は手で見立てず、当たり先を解いて確かめる。**上の 15px は
	   `:is(.main_vidual .about, …)` を持ち、**`:is()` の特異度は中でいちばん高い引数の値**
	   （`.main_vidual .about` ＝ 類名 2 つ）になるので **(0,4,1)** である。
	   `:is(.first_box, .second_box, .third_box) h2 p` だけだと **(0,3,2)** で
	   **類名の数で負ける**（2026-09-16 に一度この形で書き、効いていなかった）。
	   **上と同じ `:is()` の並びのまま 1 段深くして (0,4,2) にする。**`!important` は使わない。

	   🚨 **`.main_vidual .about` を並びから外さない。**外すと (0,3,2) に落ちて負ける。
	   あの器の `h2` は絵 1 枚だけで段落を持たないので、当たる要素は増えない。

	   🚨 **`.inner` を挟む形にもしない。**`.first_box` と `.second_box` は
	   `<div class="inner"><div class="inner_box"><h2>` だが、**`.third_box` だけ
	   `<h2>` が直の子**である（投入の材料で確かめた）。挟むと 3 つ目に届かない。

	   【陰性対照】同じページの本文の段落 10 本は 15px のまま動かない（実測済み）。
	   パソコン幅はこの帯の外なので 1 項目も動かない. */
	.pa-page--ac .page-content__body :is(.main_vidual .about, .first_box, .second_box, .third_box) h2 p {
		font-size: 20px;
	}

	/* 段落の中の行内の字（Bug #5332・2026-09-16）。

	   【移行元の値】移行元スマートフォン版は `sp/css/basic.css` 3 行の初期化で
	   `span` を **13px** に留めている。**15px の段落の中でも `<span>` は 13px になる**
	   （初期化が受け継ぎを止めるため）。この区画の `<span>` は 2 つだけで、
	   `.main_vidual .about` の中の `span.pink`（タメニーサービスのご利用者様）と
	   `span.blue`（月会費無料かつ無期限）である。

	   【何が起きていたか】dev にはその初期化が無いので、上の 15px を `<span>` が
	   受け継いで 15px になっていた（移行元より 2px 大きい）。

	   🚨 **`span` を素で 13px にしない。**サイト全体の行内の字が動く。
	   上の 15px と同じ並びのまま 1 段深くして (0,4,2) で勝たせる. */
	.pa-page--ac .page-content__body :is(.main_vidual .about, .first_box, .second_box, .third_box) p span {
		font-size: 13px;
	}

	/* AC の案内（`/ac/`）の問い合わせ窓口の見出し（Bug #6635・2026-09-19）。

	   【移行元の値】`.ac_shop_box h2` は移行元の**両版とも 20px** である。
	   スマートフォン版 `sp/ac/css/style.css` 257 行・パソコン版 `ac/css/style.css`
	   のどちらも `font-size: 20px`（色 #00b8ee・太字）。

	   【何が起きていたか】dev にはこの見出しに当てる規則が 1 本も無く、テーマ共通の
	   `.page-content__body h2`（`--pa-article-h2-size`）がそのまま出ていた。
	   幅 375 の実測（2026-09-19 23:44）で **22px**（移行元より ＋2px）だった。

	   🚨 **`--pa-article-h2-size` は変えない。**全ページの見出しが動く。

	   🚨 **区画の印（`.pa-page--ac`）で絞る。**`.ac_shop_box` はこのページだけの
	   名前だが、上の 2 本（Bug #5332・#6597）と同じ並びにそろえて詳細度を保つ。

	   【巻き込みが無いことの確認】このページの本文の `<h2>` は 5 つで、幅 375 の
	   実測では `.main_vidual` / `.first_box` / `.second_box` / `.third_box` /
	   `.ac_shop_box` に 1 つずつ在る。**`.ac_shop_box` の中の `<h2>` は 1 つだけ**で、
	   ほかの 4 つは別の器の中にある（取った HTML で入れ子を確かめた）。
	   ほかの 3 つの箱の見出しは**中身が `<p>`** で、上の Bug #5332 の規則
	   （`… :is(…, .first_box, …) h2 p { font-size: 20px }`）が字を配っている。
	   **この規則はその `<p>` に当たらない**（`h2` そのものを当てる）。

	   【陰性対照】パソコン幅（750px 以上）はこの帯の外なので 1 項目も動かない。
	   🚨 **パソコン幅の dev は 28px で、移行元の 20px と 8px 違う。**別の差であり、
	   この Issue のスコープ外（起票の「対象外」に「ほかのページの見出し」と
	   「パソコン幅は陰性対照」と書いてある）。**別の Bug として起こす。**

	   【検査】足さない（2026-09-18 のユーザー決定 D413「検査を増やさない」）。
	   起票時の受入基準にある「検査を足し、変異検査で値を戻すと落ちることを
	   確かめる」は D413 より前に書かれたものである. */
	.pa-page--ac .page-content__body .ac_shop_box h2 {
		font-size: 20px;
	}

	/* AC の案内（`/ac/`）の問い合わせ窓口の囲みの字（Bug #6597・2026-09-16）。

	   【何が起きていたか】dev にはこの囲みの CSS が **1 本も無い**（テーマの資材を
	   全件走査して 0 ファイル）。5 つの当たり先が全部、受け継いだ値で出ていた。

	   【当たり先が両側に在ることの確認】幅 1440 の実測（2026-09-16 15:34・控えは
	   pa-verify-assets/D6/6597-実測-0916/）で、移行元・dev とも 6 つ（5 つ＋器）が
	   1 件ずつ・可視で在る。投入は器を落としていない。

	   🚨 **タグで当ててはいけない。**移行元はスマホ版とパソコン版で同じ役割に違う
	   タグを使っている（スマホ版 `div.telmail`＋`p.tel` ／ パソコン版
	   `ul.telmail`＋`li.tel`）。**dev の本文は移行元パソコン版**なので `ul`/`li` の
	   側だが、類名だけで当てればどちらでも当たる。

	   🚨 **器（`.info_box`）の 13px は写さない。**器の直下は `div.info_detail` が
	   2 つだけで、テキストノードも 5 つ以外の子も無い（投入用データ
	   pa-verify-assets/B2/payload-0913-f5e3e805f.jsonl の 956 行目で確かめた）。
	   下の 5 つを当てれば、器の値で描かれる字は残らない。

	   🚨 **`color: #00b8ee` と `font-weight: bold` は写さない。**この Issue は
	   字の大きさだけを扱う（起票のスコープ）。

	   ここは携帯幅なので**移行元スマホ版**の値を写す（裁定 46）。
	   `sp/ac/css/style.css` の 279 行（`.info_h1`）・275 行（`.info_h2`）・
	   287 行（`.telmail .tel`）・297 行（`.telmail .mail`）。

	   🚨 **`.detail_txt` はここに置かない。**移行元スマホ版に規則が無く、
	   受け継いだ値で出ている。パソコン幅の 14px は
	   `@media (min-width: 750px)` の側に閉じ込めてある. */
	.pa-page--ac .page-content__body .info_box .info_h1 {
		font-size: 18px;
	}

	.pa-page--ac .page-content__body .info_box .info_h2 {
		font-size: 16px;
	}

	.pa-page--ac .page-content__body .info_box .telmail .tel {
		font-size: 30px;
	}

	.pa-page--ac .page-content__body .info_box .telmail .mail {
		font-size: 24px;
	}

	/* 🚨 **`dt` と `dd` に一律 15px を当ててはいけない。**移行元スマートフォン版の
	   `sp/css/style.css`（1587〜1592 行と 1616〜1619 行）はサイト全体へ 15px を
	   書いているが、**実測すると区画ごとに違う**（ページ別の CSS が上書きしている）。
	   代表 75 ページを幅 375px で測った結果は次のとおり（2026-09-09 18:2x・
	   控えは pa-verify-assets/f15-body-5307/after3-5307.tsv）。

	     policy/sitehistory        dt 13px
	     senryu/backnumber         dt 14px      dd 12px
	     report / contents         dt 14.3px
	     visitor/experienced       dt 15px      dd 15px
	     ad/man2                   dt 13.9875px dd 15.975px
	     introduce/survey/survey010 dt 19.5px

	   **一律 15px を当てると 10 ページで差が広がった**（`dt` 9 件・`dd` 5 件）。
	   段落（`p`）の区画ごとの当て直しは Bug #5332 で扱う。
	   **`dd` の区画ごとの当て直しは、すぐ下の Bug #6540 の帯で行う。**
	   `dt` はまだどの帯でも当てていない. */

	/* --------------------------------------------------------------
	 * 説明リストの説明（`dd`）の字（Bug #6540・親 Bug #6526）
	 *
	 * 移行元スマートフォン版は素の `dd` へ 15px を当てている。
	 *
	 *     legacy/www.p-a.jp/public/sp/css/style.css 1615〜1618 行
	 *     dd { padding: 10px 6.25%; font-size: 15px; }
	 *
	 * dev には **`dd` の字を決める規則が 1 本も無い**。本文のコンテナから
	 * 受け継いでいる（`:root { --pa-content-font-size: 13px }` 447 行 →
	 * `.site-main { font-size: var(--pa-content-font-size) }` 679 行）。
	 * そのため携帯幅で **2px 小さい**。
	 *
	 * 実測（幅 375px・携帯の名乗り・2026-09-16 13:4x・体験談ほかの担当）:
	 * dev `/visitor/questions/` の `<dd>` 21 件がすべて 13px・行送り `normal`。
	 * 移行元スマートフォン版の同じページは 15px・行送り `normal`。
	 *
	 * 🚨 **行送りは書かない。**両側とも `normal` で既に一致している（dev は上の
	 * 帯が `--pa-line-height-text: normal` に切り替える）。字を 15px にすれば
	 * 行送りも 17.25px になり、移行元とそろう。
	 *
	 * 🚨🚨 **区画の印だけで囲んではいけない。**同じ印の下に、移行元での値が
	 * 違うページが同居する。
	 *
	 *   `.pa-page--guide` … 対象の `/guide/`（`<dd>` 4 件）のほかに
	 *                       `/guide/course/` が **`<dd>` 51 件**（`.price-att
	 *                       .price-row dd`）を持つ（保存した dev の HTML で確認）
	 *
	 * **そこで移行元の適用先（器の類名）を写し、区画の印と組み合わせる。**
	 * すぐ上の帯が `p` で採っているのと同じ書き方である。
	 *
	 * | 区画 | 適用先 | 対象のページ | か所 |
	 * |---|---|---|---:|
	 * | はじめての方へ | `.qa_box dl dd` | よくあるご質問・親御さまへ | 24 |
	 * | 各種方針 | `#policy .policy_box dl dd` | プライバシーマーク | 5 |
	 * | 各種方針 | `#sitehistory section dl dd` | サイト履歴 | 2 |
	 * | ニュースリリース | `#release .box dl dd` | マッチングロジックのご紹介 | 6 |
	 *
	 * 🚨 **ご利用の流れ（4 か所）は既に直っている。**この帯より後ろの 71026 行に
	 * `.pa-page--guide .page-content__body #guide01 .flow dl dd { font-size: 15px;
	 * line-height: normal }` が在る。**同じ値を二重に書かない。**
	 *
	 * 🚨 **ニュースリリースだけ区画の印を付けない。**`#release` は移行元の器の
	 * id で、この 1 ページにしか無い。上場に関するお知らせ（`/company/release/`）は
	 * dev の本文が移行元のパソコン版から作られており、器の id が `#company` で
	 * `<dd>` を 1 件も持たない（保存した dev の HTML で確認）。
	 *
	 * ## ここで当てない区画
	 *
	 * - **会社情報（採用情報・インタビュー）17 か所** … 投稿型 `recruit` で区画の
	 *   印が付かないうえ、**dev の `<dd>` が 28 件に対し移行元スマートフォン版は
	 *   14 件**で 1 対 1 に対応しない（移行元はスマートフォン版が `dl.weekflow`、
	 *   パソコン版が `dl.clearfix` で、dev は両方を持つ）。**ページ単位で読み直す
	 *   必要があるので別の Task に切り出した。**
	 * - **デートスポット 12 か所** … このページ群だけが読む
	 *   `assets/introduce-spot/css/theme-bridge.css` で当てる。**あの区画だけは
	 *   行送りも要る**（型紙が違い、dev は 22.1px）。
	 * - **ご利用の流れ 4 か所** … 上に書いたとおり 71026 行で既に直っている。
	 * - **`dt`** … 移行元も区画ごとに値が違う（上の表）。#6540 の対象外。
	 * -------------------------------------------------------------- */
	.pa-page--visitor :is(.entry-content, .page-content__body) .qa_box dl dd,
	.pa-page--policy :is(.entry-content, .page-content__body) #policy .policy_box dl dd,
	.pa-page--policy :is(.entry-content, .page-content__body) #sitehistory section dl dd,
	:is(.entry-content, .page-content__body) #release .box dl dd {
		font-size: 15px;
	}
}

/* AC の案内（`/ac/`）の問い合わせ窓口の囲みの字・パソコン幅（Bug #6597・2026-09-16）。
   携帯幅の値と、当たり先を選んだ理由は `@media (max-width: 749px)` の同じ囲みの
   注釈に書いてある。

   ここは**移行元パソコン版**の値を写す（`public/ac/css/style.css` の 278 行
   `.info_h1` 20px・288 行 `.info_h2` 16px・303 行 `li.tel` 24px・313 行
   `li.mail` 20px・324 行 `ul.detail_txt` 14px）。

   【実測との対応】幅 1440 で移行元 20 / 16 / 24 / 20 / 14px に対し、dev は
   `.info_h2` を除く 4 つが 16px だった（2026-09-16 15:34）。`.info_h2` だけ
   一致していたのは、受け継いだ値がたまたま 16px だったためである。
   **受け継ぎ元が変われば外れる**ので、ここにも書く。

   🚨 **`@media (min-width: 750px)` で囲む。**`.detail_txt` の 14px を囲みの外に
   置くと携帯幅にも効くが、移行元スマホ版はこの値を持たない。囲めば打ち消しの
   宣言（移行元に無い宣言）を増やさずに済む。

   🚨 **この囲みを `@media (max-width: 749px)` の節より後ろに置いても、幅の条件が
   重ならないので後勝ちしない**（`min-width: 750px` と `max-width: 749px` は
   すべての幅を過不足なく二分する）. */
@media (min-width: 750px) {
	.pa-page--ac .page-content__body .info_box .info_h1 {
		font-size: 20px;
	}

	.pa-page--ac .page-content__body .info_box .info_h2 {
		font-size: 16px;
	}

	.pa-page--ac .page-content__body .info_box .telmail .tel {
		font-size: 24px;
	}

	.pa-page--ac .page-content__body .info_box .telmail .mail {
		font-size: 20px;
	}

	.pa-page--ac .page-content__body .info_box .detail_txt {
		font-size: 14px;
	}
}


/* 体験談は移行元でも黒が違う。移行元
   public/introduce/css/style_introduce_experience.css は、会員の数値
   （.number-list__cont・1009〜1013 行）を #463d3c で描いている。本文
   （.entry-content）は他のページと同じ黒なので、この部品だけに当てる。
   2026-08-06 の計測でずれていたのも、一覧・個別とも数値の表示だけだった.

   🚨 **一覧の札は「帯ぜんたい」ではなく「数値と単位の器」へ当てる（Issue #3513 の
   項目 7・8〜10）。**移行元が #463d3c を書いているのは `.number-list__cont` の 1 か所
   だけで、帯（`.number-list`）と 3 つの項目（`.list_item`）と見出し
   （`.number-list__ttl`）には色を書かず、受け継いだ色で描かれる。

   帯へ当てていたため、2026-09-04 19:33 JST・幅 1440px の実測で
   **帯・3 項目とも移行元 rgb(0, 0, 0) 対 dev rgb(70, 61, 60)** になっていた。
   器へ移すと 4 か所が受け継ぎへ戻り、
   [#3108](https://github.com/mationinc/wp-platform/issues/3108)（本文の既定の文字色を
   移行元の黒へそろえる）が既定を直したときに黒が届く。

   個別ページ（`.pa-experience__numbers`）はこの Issue の範囲外なので触らない。
   あちらは器を持たない組み（single-experience.php の 402 行が数値と単位の 2 つの
   `<span>` を直に並べる）なので、当て先を移すには別に測り直す必要がある. */
.pa-archive-card--experience .pa-archive-card__number-cont,
.pa-experience__numbers {
	color: var(--pa-palette-ink-experience);
}

/* 骨格段階の共通ブロックが置いている max-width: 1200px を、移行元の外側の面
   （1,100px）に最も近いトークンへ差し替える.

   ==============================================================
   本文の器の下の内余白（Bug #3014）

   🚨 **ここは以前 `padding-bottom: var(--pa-space-md)` を置いていた（パソコン幅で
   60px・749px 以下で 30px）。移行元は持っていないので 0 にした。**

   移行元の本文の器は `div#contents` で、**下の内余白を持たない**。下部のパンくずは
   その器の中の最後の要素で、本文のすぐ後ろに続く。dev はパンくずを器の外に出して
   いるため、器の下の内余白がそのまま「本文とパンくずの間の空白」になっていた。

   幅 1440px の実測（移行元は本番 www.p-a.jp を 2026-09-03 に取得。dev も同じ道具・
   同じ手順。値は「本文でいちばん下にある絵や文字の下端 → 下部のパンくずの上端」）:

   | 画面 | 器 | 移行元 | 直す前の dev | 差 |
   |---|---|---:|---:|---:|
   | 成婚ストーリー入口 `/introduce/story/` | `.single-content` | 36px | 96px | +60 |
   | コンセプト `/service/` | `.page-content` | 6px | 66px | +60 |
   | 私たちの想い `/company/` | `.page-content` | 6px | 66px | +60 |
   | 成婚ストーリー詳細 `/introduce/story/story_01.html` | `.single-content` | 6px | 60px | +60 |

   4 画面とも器の下端が下部のパンくずの上端とぴったり重なっており（移行元の
   `#contents` の下の内余白は 4 画面とも 0px）、**この 4 画面の差はこの 1 行が
   すべてである**。

   🚨 **「全ページこの 1 行がすべて」ではない（Bug #3123 で訂正）。**この規則には
   例外が 2 つある。
     - **集客記事の詳細**（素の `.single-content` と `.single-content--pa-article`）は
       下の内余白が 0 ではなく **70px** である（このファイルの 32895 行付近の一括指定。
       移行元 `.grid_box` を写した意図的な値）
     - **フォームの完了画面**は移行元が **55px** を持つ（移行元の
       `public/css/page_inquiry.css` と `page_event.css` が `#contents` を上書きする）。
       手当ては `plugins/pa-forms/assets/css/pa-forms.css` の側にある

   **移行元は共通 CSS をページ別 CSS が後から上書きする作りなので、共通 CSS だけを
   読んで「全ページこうである」と書いてはいけない。**

   🚨 **固定ページ（`.page-content`）だけでなく、投稿の詳細（`.single-content`）でも
   同じ 60px が出る。**Bug #3014 の本文は固定ページだけを挙げ、陰性対照に「記事型の
   ページの余白が変わっていないこと」と書いていたが、**実測すると記事型にも同じ 60px が
   付いていた**（上の表の成婚ストーリー詳細）。移行元の再現という原則からは両方とも
   0 が正しいので、この規則ごと 0 にする。

   🚨 **携帯幅は 0 ではなく 20px である。**移行元は携帯の端末情報で `/sp/` の別サイトへ
   転送しており、そちらの共通 CSS `sp/css/style.css` 1346〜1348 行が
   `#other_contents { padding: 0 0 20px }` を持つ（全スマホ版ページ共通）。
   **`padding-bottom: 0` を全幅に効かせると、携帯幅で移行元より 20px 詰まる。**
   実測（375px・携帯の名乗り・転送先 https://www.p-a.jp/sp/introduce/story/ ）でも、
   移行元スマホ版は本文の器 `#other_contents` の下に 20px を持っていた。

   **画面ごとに打ち消さないこと。**この 60px は 3 班（サービス 7 ページ）と
   1 班（HAPPY REPORT）も同じ値を実測しており、司令塔の裁定で「共通部品の直しとして
   1 か所で外す」と決まっている（2026-09-03）。画面別 CSS で `padding-bottom` を
   足し戻すと、同じ差が別の場所で二重に管理されることになる.
   ============================================================== */
.single-content:not(.single-content--branch),
.page-content {
	max-width: var(--pa-inner-ex);
	padding-bottom: 0;
}

/* 携帯幅だけは移行元のスマホ版に合わせて 20px を残す。写し元は
   `sp/css/style.css` 1346〜1348 行の `#other_contents { padding: 0 0 20px }` で、
   スマホ版のほぼ全ページが共有する器の値である（ユーザー裁定 46 = 携帯幅は原則
   移行元のスマホ版に合わせる）。この幅では下部のパンくずを隠しているので
   （このファイルの `.pa-breadcrumb { display: none }`）、この 20px は本文と
   フッターの間の空きになる。フッター自身も上の内余白 30px（749px 以下）を
   持つので、本文がフッターに触れることはない.

   🚨 **移行元のスマホ版には例外が 1 ページだけある。**5 つの約束
   `/sp/service/promise/` は、ページ専用 CSS（`sp/service/promise/css/style.css`
   の 16〜18 行）で `#other_contents { padding: 0 }` と打ち消している。
   写しの `public/sp/` 配下の CSS を全数走査して見つけた唯一の例外である
   （控えのファイル名 — 先頭がハイフン・`BK`・日付つき — を除いた 2 本のうちの
   1 本）。**この 1 ページだけは、dev が 20px・移行元が 0px になる。**

   ここで例外を足していないのは次の理由による。差は携帯幅の 20px 1 ページぶんで、
   サービス配下は 3 班の担当画面であり、**共通部品の側で 1 画面ぶんの例外を持つと、
   同じ差が 2 か所で管理されることになる**（司令塔の裁定「画面ごとに打ち消さない」
   の裏返しでもある）。3 班がサービス配下の携帯幅に着手するときに、画面 Issue の
   一項目として扱えるよう、ここに記録だけ残す. */
@media (max-width: 749px) {
	.single-content:not(.single-content--branch),
	.page-content {
		padding-bottom: 20px;
	}

	/* 🚨 **移行元のスマホ版が本文の器そのものを持たない画面は 0 に戻す**
	   （Bug #3123）。すぐ上の 20px の写し元は移行元のスマホ版の共通 CSS だが、
	   **全ページ共通ではなかった**。移行元のスマホ版のページ 5,864 本を全数
	   走査したところ、**器 `#other_contents` を持たないページが 498 本**あった
	   （器を持つのは 5,366 本）。器が無いページにこの 20px は存在しない。

	   目印を付けるのは `inc/content-bottom-padding.php` で、投入時のメタ
	   `_pa_source_url_path` で見分ける。対象は会員プロフィールと活動実績・
	   しあわせレポートの一覧の 2 画面である。🚨 **しあわせレポートは一覧だけで、
	   詳細 10 本と旧版の一覧は器を持つ**（区画の先頭階層で拾うと巻き込む）。

	   フォームの完了画面も同じ仲間だが、投入した投稿ではなくテーマの型紙が
	   描くのでメタを持たない。あちらは `.pa-thanks-body` を目印にして
	   `plugins/pa-forms/assets/css/pa-forms.css` の側で 0 に戻している。

	   マンガも器を持たないが、`assets/comic/css/bridge.css` 130 行
	   （詳細度 0,2,1）が上の規則（0,2,0）に勝つので手当ては要らない.

	   🚨 **この規則は上の 20px より詳細度が高くなければならない**
	   （`body.…` を前置して 0,3,0）。同じ詳細度で後ろに置くだけだと、
	   将来 20px の側が下へ動いたときに黙って負ける. */
	body.pa-sp-content-no-bottom-padding .single-content:not(.single-content--branch),
	body.pa-sp-content-no-bottom-padding .page-content {
		padding-bottom: 0;
	}

	/* 🚨 **体験談の詳細だけは、この 20px を器の下から「ページの一番下」へ移す
	   （Bug #4911 の段階 2）。消すのではなく移す。**
	   移行元スマホ版もこの 20px を持っているので、消すとページの一番下が 20px 詰まる。

	   移行元は下部の 3 区画（スペシャルコンテンツ・お問い合わせ・店舗一覧）が本文と
	   **兄弟**なので（`sp/introduce/experience/detail.php` の 434 / 550 / 605 / 628 行が
	   すべて `div#sp_wrap` の直下）、共通 CSS の 20px は**押しボタンより下**に落ちる。
	   dev は「似た条件の方の体験談」だけが本文の器の最後の子で、残り 3 区画は器の外
	   （`div.pa-introduce-sections`）にあるため、**同じ 20px が「似た条件の方の体験談」と
	   「スペシャルコンテンツ」の間に落ちていた**（移行元 42 対 dev 62 で ＋20.00px）。
	   量は同じで置き場所だけが違う。だから移す。移した先は下の
	   `.pa-page-top--experience` の下の内余白である。

	   🚨 **当たり先を体の印で絞る（司令塔の指示）。**この 20px は移行元スマホ版が器を
	   持つ 5,366 本のページが共有している（Bug #3014・#3123）。絞らずに動かすと
	   全ページへ波及する。**器へ新しい目印は足さない**（目印が増えると、どれがどれか
	   分からなくなる。すぐ上の `pa-sp-content-no-bottom-padding` は「移行元が器そのものを
	   持たない 498 本」用で意味が違うので、流用もしない）。

	   詳細度は (0, 2, 1) で、上の 20px の (0, 2, 0) に勝つ。並び順に依らない. */
	body.single-experience .single-content--experience {
		padding-bottom: 0;
	}

	/* 🚨 **旧デザインの店舗の詳細 17 店にも、この 20px を当てる**（Bug #8829）。
	   上の 20px の規則は `:not(.single-content--branch)` で店舗の詳細を除いている。この除外は
	   2026-07-31 の PR #1265 から在り、全幅の最大幅の規則から店舗を外すためのものを、携帯幅の
	   20px がそのまま引き継いだ形である。店舗の詳細で 20px を外すと決めた記録は無い。

	   移行元の旧デザインの店は携帯の端末を `/sp/branch/…` へ送り（ページの先頭の
	   `sp_redirect()`）、そちらの本文の器 `#other_contents` が下の内余白 20px を持つ。
	   dev は 0 なので、「先頭へ戻る」の下端からフッターの最初の字までが移行元 84 に対し
	   dev 64 だった（2026-09-29 に 24 店を幅 375 で数えた。旧デザイン 17 店とも同じ値）。

	   🚨 **当たり先は旧デザインの店舗の詳細だけに絞る。**`.single-content--branch` は地域の一覧・
	   地図・デートスポットにも付くので使わない。店舗の詳細だけに付く `.single-content--branch-store`
	   （型紙 `single-branch.php` が足す）に、旧デザインの体の印 `body.pa-profile-legacy-compat` を
	   重ねる。新デザインの 7 店（移行元は携帯版へ送らず、同じページを携帯の名乗りで描く）は印を
	   持たないので当たらない. */
	body.pa-profile-legacy-compat .single-content--branch-store {
		padding-bottom: 20px;
	}
}

/* 題名と掲載日の帯。本文と同じ 800px の柱に載せて、左端を揃える. */
.single-content:not(.single-content--branch) .entry-header,
.page-content__header {
	max-width: var(--pa-inner-xs);
	margin: 0 auto var(--pa-space-sm);
	padding-top: var(--pa-space-sm);
}

.single-content:not(.single-content--branch) .entry-title,
.page-content__title {
	margin: 0;
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-article-title-size);
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: var(--pa-line-height-heading);
}

.single-content:not(.single-content--branch) .entry-meta {
	margin: 12px 0 0;
	color: var(--pa-article-muted-color);
	font-size: var(--pa-font-size-base);
}

/* 🚨 **体験談の詳細だけ、投稿日を行の右端へ寄せる（Bug #3843）。**
 *
 * 移行元は `.result-area .post-date { text-align: right; }` を書いている（記録版
 * `legacy/www.p-a.jp/public/introduce/css/style_experience_details.css` の 98〜100 行）。
 * 携帯向けの CSS（`sp/introduce/css/sp_style_experience_details.css` の 27〜28 行）は
 * 上の外余白だけを足しており、**寄せは両方の幅で右のまま**である。
 *
 * 実測（幅 1440px・2026-09-05 17:13 JST）: 移行元は日付の左端が 1145.53px（行の右端
 * ぞろえ）、移行先は 359.41px（「投稿日:」のすぐ右）。幅 375px でも同じ型で、
 * 移行元 295.53px 対 移行先 54.41px だった（17:17:53 と 18:33:12 JST）。
 *
 * 🚨 **日付の絶対の位置は、柱の幅が移行元とそろってから合う。**移行元の柱は 980px
 * （`.result-area .contents-wrapper`）で、移行先はいま 800px である。柱そのものは
 * [#3842](https://github.com/mationinc/wp-platform/issues/3842) が扱う。ここで直すのは
 * **「行の右端へ寄せる」ことだけ**で、行の中での位置は柱が直れば移行元と一致する。
 *
 * 当て先は体験談の詳細だけに絞る。ほかの記事（成婚ストーリー・ニュース等）の投稿日は
 * 移行元も左のままなので、共通の `.entry-meta` へ書かない. */
body.single-experience .entry-meta {
	text-align: right;
}

/* ==============================================================
 * 本文（.entry-content と .page-content__body）の文字組み
 *
 * ここから下は、タグそのものに効く指定である。移行してきた本文にも、管理画面で
 * 新しく書いた本文にも、同じように効かせる。店舗ページの本文も対象に含める。
 * ============================================================== */

.entry-content,
.page-content__body {
	max-width: var(--pa-inner-xs);
	margin: 0 auto;
	font-size: var(--pa-article-font-size);
	line-height: var(--pa-line-height-text);
	/* 移行元は overflow-wrap: normal のままで、この本文の器の幅では折り返さない
	   （Issue #2345）。パソコン幅で break-word のままにしていると、同じ文字列・
	   同じ器の幅でも移行元より 1 行多く折り返し、器の高さが 1 行ぶんずれる
	   （会社情報のニュース一覧の年別 17 区分・621 行を突き合わせ、該当 9 行で実測）。 */
	overflow-wrap: normal;
}

@media (max-width: 749px) {
	.entry-content,
	.page-content__body {
		/* 移行してきた本文には、区切りの無い長い URL がそのまま書かれている箇所が
		   ある。この幅でも normal のままだと、URL がページ全体を横に広げてしまう
		   （幅 375px の画面で実測したところ 404px まで広がった）。携帯幅に限り、
		   語の途中でも折り返させて防ぐ. */
		overflow-wrap: break-word;
	}
}

@media (max-width: 749px) {
	body.pa-legacy-wrap-normal .entry-content,
	body.pa-legacy-wrap-normal .page-content__body {
		/* 移行元が長い URL を折り返さずに器の外へ出す区画だけ、上の break-word を
		   移行元と同じ normal へ戻す（Issue #2538）。当たり先を決めるのは
		   `inc/legacy-wrap-normal.php` である。幅 375px で高さが変わるのは 10 ページで、
		   1 か所あたり 27px（デートスポットの 1 ページだけ 19.5px）縮む. */
		overflow-wrap: normal;
	}
}

/* --- 移行元が幅で出し分けている字面を、本文の中で出し分ける（Bug #5705） ---
 *
 * 移行元はページをパソコン版（`public/`）と携帯版（`public/sp/`）の 2 本で持ち、
 * **同じ見出しの字面を幅で変えている**ところがある。dev は 1 つの本文を両方の幅へ
 * 出すので、投入側が**両方の字面を対で本文へ入れ**、こちらが幅で片方を隠す。
 *
 * 最初に出たのは成婚ストーリーのカテゴリ 5 ページの見出しである（`#5705`・事業部目視）。
 *
 *   移行元パソコン版  <h4 class="archive_ttl serif">「◯◯」<span>関連記事一覧</span></h4>
 *   移行元携帯版      <h3 class="corner_ttl2 serif">「◯◯」<span>の記事一覧</span></h3>
 *
 * **変わるのは副題の `<span>` の中だけ**なので、投入側は見出しの箱を変えずに span を
 * 2 つにする（`#5755`）。
 *
 *   <h4 class="archive_ttl serif">「◯◯」<span class="pa-legacy-pc-only">関連記事一覧</span><span class="pa-legacy-sp-only">の記事一覧</span></h4>
 *
 * 🚨 **見出しを丸ごと 2 つにする案は採らなかった。**テーマは携帯幅の見た目を
 * **パソコン版の見出し（`.archive_ttl`）に当てて**作っており（`assets/introduce-voice-story/css/story.css`
 * の `@media (max-width: 749px)` で副題を 17px・行送り 20px にしている）、
 * **`h3.corner_ttl2` にはテーマ全体で CSS が 1 つも無い**。丸ごと足して片方を隠すと、
 * 見えるほうが素の `h3` になって字の大きさと行送りが崩れる。
 *
 * 🚨 **移行元の類名（`corner_ttl2`）を目印に使う案も採らなかった。**移行元の携帯版で
 * その類名を持つファイルは **174 本**あり、絞り方を間違えると**別のページの見出しが
 * パソコン幅で消える**。新しい印なら、印が在るところにしか当たらない。
 *
 * ## 使う条件（🚨 これを外すと中身が消える）
 *
 * **同じ要素の中に、パソコン版と携帯版の札が「対」で在ること。**片方だけ差し込むと、
 * **その幅で中身が 1 つも出なくなる**（隠すのに代わりが無い状態になる）。
 * 投入側で足すときは `expect_count` で**対の数**を見張る。
 *
 * 印を増やすときも同じ条件を守る。**「幅で出し分ける」は増やしすぎない**（移行元が
 * 実際に字面を変えているところだけに使う。見た目の調整に使ってはいけない）。
 *
 * ## 🚨 `!important` が要る（外すと隠れない）
 *
 * **この印が付く先は、たいてい別の規則が `display` を決めている。**成婚ストーリーでは
 * `assets/introduce-voice-story/css/story.css` が副題へ `display` を当てており、
 * **当たり先が id を持つ**。
 *
 *   `#story .story_inner .archive_ttl span`                                → (1,2,1) `display: inline-block`
 *   `.single-content--story … #story .story_inner .archive_ttl span`       → (1,4,1) `display: inline`
 *
 * **id が 1 つでも在ると、類だけの当たり先は何個重ねても勝てない。**`.pa-legacy-pc-only`
 * は (0,1,0) なので、`!important` が無いと `display: none` が負けて**隠れない**
 * （[PR #5758](https://github.com/mationinc/wp-platform/pull/5758) の Greptile の指摘）。
 *
 * 当たり先を書き足して勝たせる手もあるが、**印を使う区画が増えるたびに書き足すことに
 * なり、「汎用の印」でなくなる**。隠す道具に `!important` を使うのは広く在る作法でもある。
 *
 * 🚨 **`!important` を使うのはこの 2 行だけにする。**見た目を決める指定へ広げない. */
@media (max-width: 749px) {
	.pa-legacy-pc-only {
		display: none !important;
	}
}

@media (min-width: 750px) {
	.pa-legacy-sp-only {
		display: none !important;
	}
}

/* 本文の一番上と一番下の余白を消す指定は、この区画のいちばん最後に置いてある
   （「本文の先頭と末尾の余白を消す」の節）。見出しや囲みが後から付ける margin を
   打ち消す役なので、それらより後ろに無いと効かないためである. */

/* --- 段落 --- */

/* 会社情報の帯画像（Bug #1817）。移行元 public/company/profile.html の 97 行
   `<h2 class="main_ttl"><img ... width="1268" height="170" alt="会社情報"></h2>` である。

   移行元は幅 1,268px で、1440px 幅のとき左端 x = 86（＝ 1440 − 1268 ÷ 2）に来る。
   dev はこの帯を本文の中に持っており、本文の柱（800px）や外側の面（1,120px）に
   合わせて縮んでいた（実測 1,100 × 147.36px）。

   テンプレート側へ取り出したうえで、外側の面より広い 1,268px へ戻す。書き方は
   このファイルの「移行してきた一覧を柱から外へ出す」と同じで、min() を挟むのは
   画面が 1,268px より狭いときに横へはみ出させないためである. */
.pa-company-band {
	max-width: 1268px;
	margin-inline: auto;
}

/* 押し出し方はメニュー（.pa-company-nav）とまったく同じにする。**2 つは同じ幅で
   上下に並ぶので、押し出す条件が食い違うと左端がずれる。** 境目を 1,300px に置く
   理由・vw を使わない理由は、このファイルのメニューの節に書いてある（縦スクロール
   バーのぶんの余裕）. */
@media (min-width: 1300px) {
	.pa-company-band {
		margin-inline: calc((100% - 1268px) / 2);
	}
}

.pa-company-band .main_ttl {
	margin: 0;
	padding: 0;
	border: 0;
	line-height: 0;
}

.pa-company-band img {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------
 * 移行してきた一覧を、本文の 800px の柱から外へ出す（Bug #1816）
 * --------------------------------------------------------------
 * 本文の柱を 800px にしたのは、文章を読みやすくするための意図した変更である
 * （上の「本文の横幅を 800px の 1 段にした理由」）。**文章にはこの柱が正しい。**
 *
 * ところが移行してきたページの一部は、本文の中に**移行元の一覧そのもの**を
 * 抱えている。移行元はその一覧を 1,100〜1,440px の幅で組んでいるため、
 * 800px の柱に入れるとカードが移行元より細くなる。
 *
 * 稼働中サイトと dev を 1440px で測った差（2026-08-12）:
 *   お客様の声   移行元 .voice_body 787.00px → dev 489.05px（−297.95px）
 *   ワード解説   移行元 li 374.00px       → dev 253.33px（−120.67px）
 * どちらも .entry-content の max-width: 800px が唯一の原因で、それより内側に
 * 幅を絞る指定は 1 つも無い（入れ子を計算後の値でたどって確かめた）。
 *
 * 直し方は、テーマにすでにある「柱から外へ出す」書き方に揃える（店舗ページの
 * 主役の絵と背景写真で使っている 3 つ組）。**柱そのものは広げない。** 広げると
 * 一覧ではない文章まで 1 行が長くなり、上の意図した変更を崩すためである。
 *
 * 3 つ組は必ずまとめて扱うこと。1 つでも欠けると左右が切り落とされるか、
 * 横スクロールが出る。
 *   1. 器の width と margin-inline（下の 2 つの規則）
 *   2. 祖先の切り落としを外す指定（このテーマの本文の器には無いので不要）
 *   3. body 側の overflow-x: clip（下。:has() で対象のページだけに絞る）
 * -------------------------------------------------------------- */

/* お客様の声の一覧。移行元 #voice .voice_list は**幅の指定を持たない下地の帯**で、
   1440px 幅で測ると x=0・幅 1440px（＝画面の幅いっぱい）になる。中身の柱は
   1 つ内側の .list_inner が `margin: 0 auto; width: 1100px` で受け持つ
   （移行元 _page_introduce.css の 38〜50 行）。

   テーマはこの柱の 1,100px を意図して外し、割合で組んでいる（札の器 .voice_body は
   71.5% ＝ 787 ÷ 1100）。**割合はそのまま生かし、柱の幅だけを戻す。** そうすると
   札の器は 71.5% × 1100 ＝ 786.5px となり、移行元の 787px と 0.5px 差で並ぶ。

   狭い画面では 100% に落ちるので、テーマが持たせた流動的な作りは壊れない. */
/* 成婚ストーリーとワード解説の一覧の器（.story_inner）。
 *
 * 🚨 **固定幅は 750px 以上だけに絞る（Bug #4367）。**移行元のパソコン版は
 * `.story_inner { margin: 0 auto; width: 1100px }` で、画面が狭くても縮まない
 * （`css/page_introduce.css` 228〜231 行）。Task #4262 でここを固定幅へ戻したが、
 * **囲みを付け忘れて携帯幅にも当たっていた**。375px で器が 1,100px になり、
 * 中の一覧が 1100 − 23.4375 × 2 = 1053.125px まで広がった（型紙 6 本が不合格）。
 *
 * 🚨 **携帯幅（749px 以下）は画面の幅に追従させたまま残す。**移行元はスマホ版
 * （`/sp/`）でこの一覧を別の作りで組んでおり、器を画面いっぱい（375px）に置いて
 * 中の余白を 6.25%（23.4375px）で作る。**携帯幅は移行元スマホ版へそろえるのが
 * 裁定 46 である**（CSS の寸法の回帰テスト spec-story-inner-sp が器 375px・中の一覧 328.13px を
 * 見張る）。素の規則を直に固定幅にすると、この期待値を壊す。
 *
 * 🚨 **中央寄せの式（`margin-inline: calc(50% - min(550px, 50vw))`）は素の規則に
 * 残す。**移行元の `margin: 0 auto` と同じ振る舞い（器が親より広いときは左端 0 で
 * 止まり、右へだけはみ出す）を作る式であり、同時に柱（`.entry-content` の 800px）
 * の外へ器を出す役目も持つ。囲みの中へ移すと携帯幅で柱の外へ出られなくなる. */
.entry-content .story_inner {
	/* 携帯幅のための値である。750px 以上ではすぐ下の囲みが固定 1,100px へ上書き
	   する。**この行を直に `1100px` へ書き換えてはいけない**（Bug #4367 の再発）。 */
	width: min(1100px, 100vw);
	margin-inline: calc(50% - min(550px, 50vw));
}

@media (min-width: 750px) {
	.entry-content .story_inner {
		/* 🚨 移行元の固定幅である（Task #4262）。画面が狭くても縮まない。器が
		   紙面からはみ出すぶんは、切り落とさず横送りで届かせる（裁定 320）。 */
		width: 1100px;
	}
}

/* しあわせレポートの一覧の体験談の区画（Bug #1839）。移行元はこの区画を
   main の直下に置いており、画面の幅いっぱい（1440px 幅の画面で 1440px）で
   ある。灰色の下地（.experience.bg-gray の #f3f7f9）も画面の端まで届く。
   移行先ではこのページが 1 投稿の本文として入っているため、本文の器
   （.entry-content の上限 1,120px ＝ 内側 1,090px）に押し込まれていた。

   お客様の声の下地（.voice_list）と同じやり方で、区画だけを器の外へ出す。
   本文の柱の幅そのものは変えない。

   【当てる範囲】.experience は移行元では店舗ページ（静岡・岡山の新デザイン）と
   トップページでも使われている。そのため .experience だけでは絞れない。
   しあわせレポートの一覧にしか無い横送りの印（.experience__slider）を
   :has() で条件にして、この 1 ページだけに当てる。移行元で
   .experience__slider を持つのはしあわせレポートの一覧 1 ページと、その
   スマートフォン向けの写し 1 ページだけである（実測）。テーマが同じ印で
   横送りの JavaScript を読み込む条件（functions.php の pa-happyreport-list）と
   そろえてある. */
/* 上の 3 つで器が柱より広くなるため、横スクロールが出ないように抑える。
   :has() で**その一覧を持つページだけ**に絞り、他のページの横スクロール
   （広い表など）を巻き添えにしない。overflow-x に hidden ではなく clip を
   使うのは、スクロールの器を作らずヘッダーの貼り付き（position: sticky）を
   保つためである（このファイルの店舗ページの節と同じ理由）. */
/* 🚨 **`body:has(.entry-content .story_inner)` はこの組から外した（Task #4262）。**
   ワード解説の一覧の器は移行元と同じ固定 1,100px に戻したので、はみ出しは横送りで
   届かせる（裁定 320）。切り落とすと移行元で読める右側が読めなくなる。
   **残る 2 つ（会員の声の一覧・しあわせレポートの一覧の横送り）は別のページの
   担当なので、ここから外さない。** */
body:has(.entry-content .voice_list),
body:has(.entry-content .experience__slider) {
	overflow-x: clip;
}

/* 🚨 **上の `body` 側だけでは横スクロールが止まらない（Bug #5580）。**
   `overflow: clip` は `hidden` と違い、`body` から表示領域へ引き継がれない。
   止まるのは本文の外枠 `.site-main` に置いたときである（`.site-main` は幅の指定を
   持たない素の箱なので、右端が常に画面の右端と一致する）。上の規則はそのまま残す
   （害は無く、`hidden` へ変えるとヘッダーの貼り付きを壊す）。

   🚨 **`@media` の中へ入れない。**この 2 つの区画を全幅にしているのは、狭い画面
   向けの規則ではなく**祖先の区画を柱の外へ出す規則**である（お客様の声の一覧と
   しあわせレポートの一覧・Bug #1816）。**どの幅でも器が画面いっぱいになるので、
   はみ出しの恐れも幅を選ばない。**

   🚨 **原因は未実測である。**`width: 100vw` は縦スクロールバーの幅を含むため、
   バーが場所を取る閲覧環境では器が表示領域より広くなる、という見立てに基づく
   （Bug #5580 の起票時の静的な読み）。**手元の headless の Chromium ではバーを
   場所を取る形にできず、3 通り試して再現できなかった**（起動の引数・`::-webkit-scrollbar`
   の差し込み・`ignoreDefaultArgs` で `--hide-scrollbars` を外す）。**起きないように
   する保険の直しである**（ユーザー決定 D85）。

   :has() の中身は、上の `body` 側と同じ門にそろえてある。広く書くと、横に長い表を
   持つ別のページを巻き添えで切り落とす. */
.site-main:has(.entry-content .voice_list),
.site-main:has(.entry-content .experience__slider) {
	overflow-x: clip;
}

/* --------------------------------------------------------------
 * 成婚ストーリー・会員の声の器を、移行元の幅へ戻す（Bug #2309）
 * --------------------------------------------------------------
 * 上の節（Bug #1816）は移行してきた「一覧」だけを柱の外へ出した。ところが
 * 投稿型 story の 1 ページ（`.single-content--story`）は、**ページ全体が移行元の
 * 版組みで組まれている**ため、一覧以外の器（帯・見出し・ナビ・画像）も 800px の
 * 柱に押し込まれている。1440px 幅で測った差は次のとおりである（2026-08-28）。
 *
 *   会員の声   .main_ttl 1268 → 800 / .local_nav 1270 → 800 /
 *              .title .main_copy .main_read 1440 → 800
 *   成婚ストーリー .detail_body 1100 → 800 / .grid_box 1440 → 800 /
 *              .heading 1100 → 800 / .pager_menu 1100 → 800
 *
 * 【裁定（2026-08-27・ユーザー）】**文章の 800px は維持する。**移行元も
 * 「外側の面 1,100px ／ 中の文章 800px ／ アイキャッチだけ 1,100px いっぱい」の
 * 二段構えで、dev が文章を 800px にした点は移行元と同じである。差が出ているのは
 * **見出し・ナビ・画像を 800px に押し込めた部分**だけなので、そこだけを戻す。
 * 柱そのもの（.entry-content の 800px）は広げない。
 *
 * 【当てる範囲】`.single-content--story` を前置し、投稿型 story の 1 ページ
 * （226 件）だけに当てる。一覧ページ・記事・体験談・固定ページ・店舗には届かない。
 *
 * 【狭い画面】移行元は固定幅の PC 用の作りで、携帯向けには別の HTML（`/sp/`）を
 * 配っている。したがってこの節の規則は 1024px 以上だけに当て、1023px 以下は
 * テーマ本来の応答型の組みにそのまま戻す。
 *
 * 【写し元】移行元 css/style.css・css/page_introduce.css・
 * introduce/css/style.css・introduce/story/css/style_introduce_story.css。
 * 個々の行はそれぞれの規則のコメントに書いた.
 * -------------------------------------------------------------- */

@media (min-width: 1024px) {
/* ページ上部の帯（題名の画像 + 分類のナビ）。移行元 #introduce_top は
   `margin: 0 auto 60px; width: 1270px`（introduce/css/style.css）だが、成婚
   ストーリーだけは後から読む style_introduce_story.css が 1,100px で上書きする
   （introduce/story/css/style_introduce_story.css の 24 行）。
   ページの中身で見分ける（会員の声は section#voice を、成婚ストーリーは
   section#story を持つ）。

   🚨 **移行元はどちらも固定幅である（Task #4238・2026-09-07）。**以前は
   `min(1270px, 100vw)` / `min(1100px, 100vw)` と書いて画面の幅に追従させていたが、
   **裁定 265（750px 以上は移行元と同じく横スクロールを許容する）で方針が覆った。**
   固定幅なので、画面が狭いと器が紙面からはみ出して横送りで届く。それが移行元と
   同じ姿である. */
.single-content--story .entry-content > #introduce_top {
	/* 🚨 移行元の固定幅である（Task #4238）。`min(…, 100vw)` へ戻してはいけない。 */
	width: 1270px;
	/* 🚨 **`min(…, 50vw)` は外さない。**柱（.entry-content の 800px）の外へ出しつつ、
	   画面が器より狭いときは左端 0 で止める役目を持つ。移行元の `margin: 0 auto` と
	   同じ振る舞いである。 */
	margin-inline: calc(50% - min(635px, 50vw));
}

.single-content--story .entry-content:has(> #story) > #introduce_top {
	/* 🚨 移行元の固定幅である（Task #4238）。`min(…, 100vw)` へ戻してはいけない。 */
	width: 1100px;
	/* 🚨 **`min(…, 50vw)` は外さない**（すぐ上と同じ理由）。 */
	margin-inline: calc(50% - min(550px, 50vw));
}

/* 上部の帯の下の空き 80px（Issue #3095 の A-1）。写し元は
   introduce/story/css/style_introduce_story.css の 24〜27 行
   `#introduce_top { width: 1100px; margin: 0 auto 80px; padding-top: 20px }`。
   すぐ上の 2 つの規則は幅と左右の余白だけを写しており、**下の 80px が
   落ちていた**。

   幅 1440px の実測（移行元は本番 www.p-a.jp を 2026-09-03 に取得）では、
   本文の区画 `section#story` の上端が **移行元 552.19px 対 dev 507.19px（−45px）**
   だった。この −45px の内訳は 3 つで、この規則が受け持つのはそのうち 1 つである。

     この規則が落ちていた         −80px
     題名の器が 10px 高い（A-2）  +10px
     パンくずの器が 25px 高い     +25px
     ------------------------------------
     合計                         −45px

   したがって、この 1 件を直すと −45 → +35 になり、A-2 で +25、パンくずの
   共通部品の直しで 0 になる。**「この規則だけで 80px ずれる」ではない。**

   会員の声は移行元の値が 60px（introduce/css/style.css）で成婚ストーリーとは
   別なので、**section#story を持つ本文だけ**に絞って当てる。会員の声も dev では
   0px になっており（幅 1440px で実測。移行元 60px 対 dev 0px）同じ抜けがあるが、
   この画面の担当範囲ではないため触らない. */
.single-content--story .entry-content:has(> #story) > #introduce_top {
	margin-block-end: 80px;
}

/* 題名の絵の器の高さ（Issue #3095 の A-2）。写し元は
   css/page_introduce.css の 618〜623 行
   `#introduce_top h2 { line-height: 0 }` と
   `#introduce_top img { vertical-align: bottom }`。
   この 2 つが写されておらず、器の行送りが 42px（字 28px）のままだったため、
   絵の下に 10px の余りが出ていた。絵そのものは両側とも 1100×180 で同じで、
   違うのは器の高さだけである（幅 1440px の実測: 移行元 h2 180px 対 dev 190px）.

   **絞りを付けない（`:has(> #story)` を書かない）のは意図である。**同じ抜けが
   会員の声にもあり、移行元も同じ 2 つの規則を読むためである。幅 1440px の実測
   （移行元は本番 www.p-a.jp を 2026-09-03 に取得）:

     /introduce/voice/ の h2.main_ttl   移行元 170px（行送り 0px）対 dev 179.72px（42px）

   絞ると会員の声 99 ページが移行元から離れたままになる。**この 2 つの規則は
   会員の声にも当たり、そちらも移行元の値へ近づく。**

   `vertical-align: bottom` も写し元が組で書いているので組で写す。ただし
   **この画面の題名の器の高さは `line-height: 0` だけで 180px になる**（下端揃えを
   外しても 180px のままであることを型紙で確かめた）。下端揃えが効くのは、行送りを
   持つ他の絵のほうである. */
.single-content--story .entry-content #introduce_top h2 {
	line-height: 0;
}

.single-content--story .entry-content #introduce_top img {
	vertical-align: bottom;
}

/* 本文の区画そのもの。移行元は `#story { width: 100% }`（page_introduce.css）で、
   外側の #contents も width: 100% のため、1440px 幅の画面では 1440px いっぱいに
   なる。会員の声の #voice も同じ（幅の指定を持たない下地の帯）。ここを画面の幅
   まで戻すと、幅の指定を持たない中の器（.title / .main_copy / .main_read /
   .grid_box / .grid_num / .grid_ttl）が移行元と同じ全幅に並ぶ.

   画面の幅まで広げる指定は 3 つ組で効く（上の節と同じ）。
     1. ここの width: 100vw と margin-inline: calc(50% - 50vw)
     2. 祖先の切り落としを外す指定（この本文の器には無いので不要）
     3. body 側の overflow-x: clip（この節の末尾）. */
.single-content--story .entry-content > :is(#story, #voice) {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}

/* 本文の区画の下の内余白 30px（Issue #3095 の A-3）。写し元は
   css/page_introduce.css の 169〜174 行 `#story { margin: 0 auto;
   padding: 0 0 30px; width: 100% }`。padding の下の 30px が写されておらず
   0 になっていた（幅 1440px の実測: 移行元 section#story の下内余白 30px 対
   dev 0px）。移行元は入口と詳細の両方が同じ css/page_introduce.css を読むので、
   成婚ストーリーの 105 ページすべてに当たるのが正しい。

   会員の声（#voice）は移行元の値が別なので、すぐ上の規則と違って
   **#story だけ**に当てる（会員の声 99 ページを陰性対照に使うため）. */
.single-content--story .entry-content > #story {
	padding-bottom: 30px;
}

/* ここから内側は、画面の幅まで広がった区画の中での中央寄せになるため、
   移行元の固定幅をそのまま書ける（柱をまたぐ計算は要らない）. */

/* 題名の画像（移行元 css/style.css `#contents .main_ttl { margin: 0 auto;
   width: 1268px }`）. */
.single-content--story .entry-content .main_ttl {
	width: min(1268px, 100%);
	margin-inline: auto;
}

/* 分類のナビの中身（移行元 introduce/css/style.css `.local_nav ul { margin: auto;
   width: 1100px }` と css/style.css `#contents .category_menu { margin: 0 auto;
   padding: 1px 0 0 82px; width: 1186px }`。外枠 1,186px + 左内余白 82px で
   1,268px になる）. */
.single-content--story .entry-content .category_menu {
	width: min(1268px, 100%);
	margin-inline: auto;
	padding-left: 82px;
}

/* 成婚ストーリーの見出しの区画（移行元 style_introduce_story.css
   `#story .heading { width: 1100px; margin: 0 auto }`）. */
.single-content--story .entry-content .heading:has(> .heading-cont) {
	width: min(1100px, 100%);
	margin-inline: auto;
}

/* 本文の外側の面（移行元 css/style.css `.grid_box .detail_body { margin:
   0 auto 25px; width: 1100px }`）。アイキャッチ画像はこの幅いっぱいに出る. */
.single-content--story .entry-content .grid_box .detail_body {
	width: min(1100px, 100%);
	margin-inline: auto;
}

/* 中の文章（移行元 css/style.css `.grid_box .detail_inner { margin: 0 auto;
   padding: 35px 0 60px; width: 800px }`）。**裁定どおり 800px を維持する.** */
.single-content--story .entry-content .grid_box .detail_inner {
	width: min(800px, 100%);
	margin-inline: auto;
}

/* 記事の上に置く共有の並び（移行元 css/style.css `.grid_box .menu_sns { margin:
   0 auto 20px; width: 1100px; text-align: right }`）。下に置く .menu_sns02 は
   移行元でも width: 100% なので、区画の全幅のままでよい. */
.single-content--story .entry-content .grid_box .menu_sns {
	width: min(1100px, 100%);
	margin-inline: auto;
}

/* 前後の話への送り（移行元 css/style.css `.pager_menu { margin: 0 auto;
   width: 1100px }`）. */
.single-content--story .entry-content .pager_menu {
	width: min(1100px, 100%);
	margin-inline: auto;

	/* 移行元は 3 等分の枠へ「前の話へ／一覧へ／次の話へ」を割り当てる作りで、
	   欠けているものがあっても残りの位置は動かない（移行元 106 ページのうち
	   105 ページが 3 つ、第 1 話だけが 2 つ。css/style.css の
	   `.pager_menu li { float: left; width: 33.3333% }`）。

	   テーマは横並べ（flex）で 1 件ずつを均等に伸ばす（`flex: 1 1 0`）ため、
	   2 つしか無い第 1 話で 1 件が 550px へ広がり、移行元の 367px と食い違う。
	   3 列の枠（grid）へ置き換え、枠の位置で並べると移行元と同じになる. */
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}

.single-content--story .entry-content .pager_menu > li.m-left {
	grid-column: 1;
}

.single-content--story .entry-content .pager_menu > li.m-center {
	grid-column: 2;
}

.single-content--story .entry-content .pager_menu > li.m-right {
	grid-column: 3;
}

/* ページ上部へ戻る（移行元 css/page_introduce.css `#story .page_top` /
   `#voice .page_top` とも `margin: 0 auto; width: 1100px`）。テーマは
   .page_topArea 側で 1,100px の上限を既に持っているので、ここでは区画の全幅から
   1,100px へ戻すだけでよい. */
.single-content--story .entry-content > .page_topArea {
	/* 🚨 移行元の固定幅である（Task #4247）。`min(…, 100vw)` へ戻してはいけない。
	   移行元 `#story .page_top` / `#voice .page_top` はどちらも
	   `margin: 0 auto; width: 1100px` で、画面が狭くても縮まない。以前は
	   「750px 以上で横スクロールを出さない」という古い方針で画面の幅に追従させて
	   いたが、裁定 265 でその方針は覆った。**この規則は
	   `@media (min-width: 1024px)` の中に在るので、1,024px 未満は触らない。** */
	width: 1100px;
	/* 🚨 **`min(…, 50vw)` は外さない。**移行元の `margin: 0 auto` と同じ振る舞い
	   （器が親より広いときは左端 0 で止まり、右へだけはみ出す）を作る式であり、
	   同時に柱（`.entry-content` の 800px）の外へ器を出す役目も持つ。 */
	margin-inline: calc(50% - min(550px, 50vw));
}

}

/* 🚨 **ここに在った横方向の切り落としは外した（Task #4262・裁定 332）。**
 *
 * もとは `body:has(.single-content--story .entry-content > :is(#story, #voice))
 * { overflow-x: clip }` で、上の規則で器が柱より広くなるぶんの塗り出しを抑えて
 * いた。入れた理由は Bug #2826 で、**`100vw` が縦スクロールバーの幅を含む**ため、
 * バーが場所を取る環境では画面幅 1,280px 未満で器が本文の実効幅より広くなり、
 * ページ全体に横スクロールが出るというものだった。
 *
 * **その症状は、いまは「移行元と同じ振る舞い」として許容される**（裁定 265・272・
 * 320）。移行元は固定幅の器を紙面からはみ出させ、横送りで届かせる作りである。
 * 実測でも移行元は横へ動く（`https://www.p-a.jp/introduce/story/` を幅 1024px で
 * 開くと `scrollX` = 244・2026-09-07）。**切り落とすと移行元で読める右側が
 * dev では読めない。**
 *
 * 🚨 **戻すときは器の幅も一緒に戻すこと。**器が固定 1,100px で切り落としだけを
 * 復活させると、移行元で読める右側が読めない状態に戻る. */

.entry-content p,
.page-content__body p {
	margin: 0 0 var(--pa-article-paragraph-gap);
	line-height: var(--pa-line-height-text);
}

/* --- 見出し（h2〜h6） --- */

.entry-content :is(h2, h3, h4, h5, h6),
.page-content__body :is(h2, h3, h4, h5, h6) {
	margin: var(--pa-article-block-gap) 0 20px;
	font-weight: bold;
	line-height: var(--pa-line-height-heading);
	letter-spacing: 0.05em;
}

/* 🚨 **移行元が `style_area1.css` を読む 14 店も、見出しに字間を書いていない**
 * （Bug #5210）。すぐ上の改装版 4 店と同じ話で、**当たり先の世代だけが違う**。
 *
 * 移行元の実測（本番 `/branch/chubu/hamamatsu.html` を幅 1440px と 375px で・
 * 375px は携帯の名乗りで `/sp/branch/chubu/hamamatsu.html` へ送られる・
 * 2026-09-09 14:11:30〜14:11:32 JST）:
 *
 * | 幅 | 測った要素 | 字間が `normal` | 字間を持つ |
 * |---:|---:|---:|---:|
 * | 1440px | 167 | **157** | 10 |
 * | 375px | 169 | **157** | 12 |
 *
 * 文言で突き合わせると、**dev だけが字間を持つ見出しが 22 か所**あった
 * （幅 1440px と 375px で同じ 22 か所。0.65〜1px）。**この差はパソコン幅にも
 * 出ている**ので、幅で絞らずに戻す。
 *
 * 🚨 **Bug #5210 の本文は「パソコン幅は移行元と一致しており、変えない」と書いて
 * いたが、実測では誤りだった。**パソコン幅でも同じ 22 か所が食い違っていた。
 *
 * 🚨 **`:where()` で世代を絞る。詳細度を上げてはいけない。**素直に
 * `.pa-branch-area1 .pa-branch__content :is(…)` と書くと (0,2,1) になり、
 * **`.pa-branch__content .title-01-jp`（0,2,0）に打ち勝って節の題の 1.8px まで
 * 消す**（移行元は 1.8px を持つので食い違う）。`:where()` は詳細度に数えないので、
 * 当たり先は (0,1,1) のままで、類名を持つ指定はすべて生き残る。
 *
 * 差し込んで測った効き（dev の本番・2026-09-09 14:1x・幅 1440px と 375px）:
 *
 * | 店 | 世代 | `normal` になる見出し | 値が残る見出し |
 * |---|---|---:|---:|
 * | 浜松・四日市 | `pa-branch-area1` | **23** | 5（店名 8px / 節の題 1.8px。**移行元と同値**） |
 * | 銀座（改装版） | `pa-profile-new` | **0** | 26（`c-heading-*`） |
 * | 静岡（改装版） | `pa-profile-new` | **0** | 39 |
 *
 * 🚨 **改装版 6 店へは広げない。**静岡だけ口コミの見出し（`.tc-user-tags` /
 * `.reply-name`）が 12 本あり、広い当たり先（`.pa-branch__content` だけ）にすると
 * その 12 本まで巻き込む。**この 2 つは札の中だけを指す当たり先で個別に打ち消してある**
 * （`.reply-name` は Bug #5475 で外余白と字間、`.tc-user-tags` は Bug #5489 で字間）。
 *
 * 🚨 **移行元の側は 2026-09-10 に実測した**（この注釈は以前「測っていない」と書いていた）。
 * 静岡店の両側を幅 1440px と 375px で読み、**どちらの見出しも移行元は `normal`** だった。
 * 実測は Spike #5264 へコメントで渡してある。
 *

 * 🚨 **この規則は「すぐ上の既定の直後」に置くこと（Bug #5210）。**支店紹介の
 * ほかの指定は 20000 行台に並んでいるが、**この 1 つだけはここに置く**。理由は
 * 詳細度の釣り合いである。
 *
 *   | 当たり先 | 詳細度 | この規則との関係 |
 *   |---|---|---|
 *   | すぐ上の既定（`.entry-content :is(h2〜h6)`） | (0,1,1) | **同じ。並び順で決まるので後ろに置く** |
 *   | `.pa-branch__content .title-01-jp` | (0,2,0) | 上。並び順に関係なく生き残る |
 *   | `.pa-branch__content .leadcopy-shop-name` | (0,2,0) | 同じく生き残る |
 *
 * **20000 行台（既定より前）に置くと、既定が後から上書きして 1 か所も直らない。**
 * 実際に一度そこへ置いて、直した CSS をまるごと差し込んで測ったら 22 か所とも
 * 変わらなかった。🚨 **その前の試験は末尾へ 1 行だけ足す形だったため、この
 * 並び順の問題を隠していた。**
 *
 * **詳細度を (0,2,1) へ上げて前に置く手は取れない。**それだと
 * `.title-01-jp`（0,2,0）に打ち勝って節の題の 1.8px まで消す（移行元は 1.8px を
 * 持つので食い違う）。`:where()` は詳細度に数えないので、世代で絞りながら
 * (0,1,1) を保てる。
 *
 * 段落（`p`）は当たり先に入れない（改装版の注釈と同じ理由）. */
:where(.pa-branch-area1) .pa-branch__content :is(h2, h3, h4, h5, h6) {
	letter-spacing: normal;
}

/* 大きい 2 段は、移行元の節の題名と同じ金色にする（--pa-color-heading）。
   小さい 3 段は本文と同じ色のままにして、帯や罫線で段差を出す。

   🚨 **内余白と罫線はここで当てない（Issue #3296・裁定 153）。**
   `.entry-content` と `.page-content__body` に入るのは移行してきた本文だけである。
   移行元は `public/css/common.css`:76 の一括リセットで `h1`〜`h6` の内余白を
   0 にしており、区画ごとに要る値はその区画の CSS が名指しで足している。
   ここで一律に内余白と罫線を足すと、**その足し算が全部の区画へ漏れる**。
   実際、漏れを打ち消すためだけの規則がテーマ全体で 59 件（`main.css` 28 件・
   区分ごとの CSS 31 件）まで増えていた。

   実測で確かめた差（写しの記録版 1fbfa9dda・2026-09-05）:

     コラム /word/ のクラス無しで文字の h3   241 個（16 ページ）
       移行元 0  対  dev 左 12px ＋ 左罫線 4px

   区画ごとに要る内余白は、これまでどおり**その区画の規則が名指しで足す**
   （`.text_title` の左 14px・`.story_copy` の 12px 16px・`.title_style05` の
   左 9px など。いずれもクラス 2 つ以上の詳細度でここに勝つので、
   この変更の影響を受けない）。

   文字色と字の大きさはここで触らない。Issue #3296 が言っているのは内余白であり、
   色と大きさまで動かすと影響が別の区画へ広がるためである. */
.entry-content h2,
.page-content__body h2 {
	color: var(--pa-color-heading);
	font-size: var(--pa-article-h2-size);
}

.entry-content h3,
.page-content__body h3 {
	color: var(--pa-color-heading);
	font-size: var(--pa-article-h3-size);
}

/* 丸の内プレミアムラウンジのご利用方法（`/branch/tokyo/info/`）の節の題。
   移行元 `public/branch/tokyo/info/css/style.css`:14 が
   `#howtouse h2 { padding: 0 0 10px }` を持つ。この値は**上の共通規則が
   たまたま同じ 10px を出していたおかげで合っていた**ので、共通規則から
   内余白を外すぶん、ここで名指しで足し直す（h2 が 3 つある）。

   残りの指定は下の節（Bug #3892）で足した。

   🚨 **`#howtouse h3` に移行元の指定が無い、というのは誤りだった。**
   移行元は `#howtouse h3` に字の大きさ・書体を当て、`::after` で金色の区切り
   （―――）まで出している。内余白が 0 なのは合っているが、理由は「指定が無い」
   ではなく「`padding-bottom: 0rem` と書いてある」である. */
:is(.entry-content, .page-content__body) #howtouse h2 {
	padding: 0 0 10px;
}

/* 丸の内プレミアムラウンジのご利用方法（`/branch/tokyo/info/`）の見出しの指定を
   移行元にそろえる（Bug #3892）。上の内余白（Issue #3296）以外が丸ごと
   写されていなかった。

   ## 期待値の出どころ

   移行元の **本番** を実際のブラウザで測り、`CSS.getMatchedStylesForNode` で
   勝っている規則まで確かめた（2026-09-05）。

   🚨 **手元の写しの値をそのまま使ってはいけない。**写しの `public/css/common.css`
   は一括リセットを `h1〜h6 { font-weight: normal }` と書いているが、**本番は
   `bold` である**。写しの字面だけで書くと、パソコン幅の h1 と h3 の太さを
   取り違える。

   ## 実測（`#howtouse` の中）

   | | パソコン版 1440px | 移行元スマホ版 375px |
   |---|---|---|
   | h1（中身は絵 1 枚） | 字 13px・太さ 700・下の内余白 48px | 字 13px・**太さ 400**・下の内余白 **0** |
   | h2 ×3 | **字 23px**・太さ 400・色 #a68146・字間 0.1em・行送り 2・中央 | **字 18px**・ほかは同じ |
   | h3 ×2 | 字 17.6px・太さ 700・色 #000・明朝・中央 | 字 17.6px・**太さ 400**・ほかは同じ |
   | h3 の `::after` | ――― / 色 #aa8546 / 字間 -0.15em / 行の外に出す | 同じ |
   | p の直後の h2 | 上の内余白 48px | 同じ |
   | p の直後の h3 | 上の内余白 40px | 同じ |

   移行元スマホ版は同じ URL では出ない。`/sp/branch/tokyo/info/` へ転送されて
   別の CSS を読む（`/sp/css/basic.css` の Meyer 系リセットが太さを 400 にする）。
   **机の名乗りで `/sp/…` を直接開くとパソコン版が返る**ので、携帯の名乗りで測る。

   ## 書き方

   寄せは移行元では器（`#howtouse { text-align: center }`）から降りてくるが、
   **器の指定は見出し以外（段落の寄せなど）にも及ぶ**ため、この節では見出しに
   名指しで書く。器・段落・注記・囲み（`.howtouse_caution`）の差は別に扱う。

   `rem` は移行元と同じ意味で使える。**移行元も移行先も `html` に字の大きさを
   置いていない**ので、どちらも 1rem = 16px である（3rem = 48px・2.5rem = 40px・
   1.1rem = 17.6px）。

   書体は移行元の並びをそのまま書く。テーマの `--pa-font-family-serif` は
   末尾の「ＭＳ 明朝」を持たないため、1 つだけ落ちる. */
:is(.entry-content, .page-content__body) #howtouse h1 {
	margin: 0;
	padding: 0 0 3rem;
	color: #000;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: normal;
	line-height: normal;
	text-align: center;
}

:is(.entry-content, .page-content__body) #howtouse h2 {
	margin: 0;
	color: #a68146;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 23px;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 2;
	text-align: center;
}

/* 段落の直後の見出しだけ、上に空きを取る（移行元 `#howtouse p+h2`）。
   1 つ目の h2 は h1 の直後なので空きが付かない. */
:is(.entry-content, .page-content__body) #howtouse p + h2 {
	padding-top: 3rem;
}

:is(.entry-content, .page-content__body) #howtouse h3 {
	margin: 0;
	padding: 0;
	color: #000;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.1rem;
	font-weight: bold;
	letter-spacing: normal;
	line-height: normal;
	text-align: center;
}

/* 見出しの下に出る金色の区切り（移行元 `#howtouse h3:after`）。
   `display: block` で行を分けるので、区切りは見出しの真下に出る. */
:is(.entry-content, .page-content__body) #howtouse h3::after {
	display: block;
	color: #aa8546;
	content: "―――";
	letter-spacing: -0.15em;
}

/* 段落の直後の見出しだけ、上に空きを取る（移行元 `#howtouse p+h3`）。
   1 つ目の h3 は囲みの先頭なので空きが付かない. */
:is(.entry-content, .page-content__body) #howtouse p + h3 {
	padding-top: 2.5rem;
}

/* 丸の内プレミアムラウンジのご利用方法（`/branch/tokyo/info/`）の見出し以外を
   移行元にそろえる（Bug #3924）。器・段落・注記・囲みである。

   ## 期待値の出どころ

   移行元の**本番**を実際のブラウザで測った（2026-09-05・パソコン幅 1440px と
   携帯の名乗り 375px）。

   | | パソコン版 | 移行元スマホ版 |
   |---|---|---|
   | 器の下の内余白 | 50px | 0 |
   | 器の寄せ | 中央 | 中央 |
   | 段落 ×8 の字 | 14.4px | **11.7px** |
   | 段落の行送り | 27.2px | **22.1px** |
   | 段落の寄せ | **中央** | **左** |
   | 段落の下の内余白 | 8px | 6.5px |
   | 注記 ×3 の字 | 11.2px | **9.1px** |
   | 注記の行送り | 20.8px | **16.9px** |
   | 囲みの地色 | `#f5f5f5` | 同じ |
   | 囲みの内余白 | 50 / 50 / 43 / 50px | 25 / 25 / 20 / 25px |
   | 囲みの上の外余白 | 45px | 実質 25px（下に理由） |

   🚨 **パソコン幅では段落が中央そろえである。**器の `text-align: center` が
   段落まで降りてくる。移行元スマホ版だけ段落を左へ戻す。

   ## 🚨 器の幅 1280px は、この節では当てていない

   移行元の器は幅 1280px だが、**移行先の本文の器は 800px（`--pa-inner-xs`）**で
   ある。広げると折り返しが全部変わる大きな変更で、しかも**外側の骨格が
   1,200px で頭打ちの箇所がある**ため、はみ出す見込みがある。

   dev が凍結中で実測できないので、**幅は凍結明けに測ってから別に扱う**。
   この節は幅に依存しない値だけを当てている.

   ## 🚨 移行元はパソコン版とスマホ版で本文の組みが違う

   移行元スマホ版だけ `.howtouse_contents`（内余白 25px 四方）という器を持ち、
   **中身の全部ではなく、囲みの手前までを包む**。投入されるのはパソコン版の
   本文なので、**移行先にこの器は無い**。

     移行元スマホ版            移行先（＝パソコン版の組み）
       h1（絵）                  h1（絵）
       div.howtouse_contents     h2 / p / p.note / h2 / p / h2
         h2 / p / p.note / h2 / p / h2
       div.howtouse_caution      div.howtouse_caution

   そのため `#howtouse` 自身に内余白 25px を置くと、**囲みまで 25px 内側へ寄って
   しまう**（移行元では囲みは画面いっぱいの 375px）。囲み以外の子にだけ当てる。

   縦の 25px も同じ理由で置き換える。移行元スマホ版では器の上下の内余白として
   出ているので、こちらでは「絵の直後の h2 の上」と「囲みの上の外余白」で出す. */
:is(.entry-content, .page-content__body) #howtouse {
	margin: 0 auto;
	padding: 0 0 50px;
	font-size: 13px;
	line-height: normal;
	text-align: center;
}

:is(.entry-content, .page-content__body) #howtouse p {
	margin: 0;
	padding: 0 0 0.5rem;
	font-size: 0.9rem;
	line-height: 1.7rem;
}

:is(.entry-content, .page-content__body) #howtouse p.note {
	font-size: 0.7rem;
	line-height: 1.3rem;
}

:is(.entry-content, .page-content__body) #howtouse .howtouse_caution {
	margin-top: 45px;
	padding: 50px 50px 43px;
	background: #f5f5f5;
}

/* 携帯幅は移行元スマホ版（`/sp/branch/tokyo/info/`）の値にする（Bug #3892）。

   🚨 **移行元スマホ版の `rem` は 13px 基準である（パソコン版は 16px）。**
   `/sp/css/basic.css` が `html` に 13px を置いており、**幅を変えても 13px の
   まま**である（320・375・390・414・500・749px で実測。画面幅に比例する
   書き方ではない）。移行先は `html` に字の大きさを置かないので 16px である。

   したがって**上の節の `rem` をそのまま携帯幅へ持ち込むと 1.23 倍に膨らむ**。
   ここでは実測した px で書き直す。

   | | 移行元スマホ版 | 上の節（16px 基準）のまま |
   |---|---|---|
   | h3 の字（1.1rem） | **14.3px** | 17.6px |
   | 段落の直後の h2 の上（3rem） | **39px** | 48px |
   | 段落の直後の h3 の上（2.5rem） | **32.5px** | 40px |

   パソコン版との違いは、上の 3 つに次の 3 つを足した 6 点である。

     1. h2 の字が 23px でなく **18px**
     2. h1 の下の内余白が 3rem でなく **0**
     3. h1 と h3 の太さが 700 でなく **400**

   3 番目は、移行元スマホ版が別のリセット（`/sp/css/basic.css` の Meyer 系）を
   読み、そちらが `font-weight: normal` を当てるためである。移行元スマホ版だけ
   細くなる。ほかの値（色・書体・字間・行送り・寄せ・区切りの ―――）は
   パソコン版と同じなので、ここでは触らない。

   区切りの `―――` の字間は `-0.15em` なので、字の大きさに連れて
   -2.145px になる（パソコン版は -2.64px）。書き直さなくてよい. */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) #howtouse h1 {
		padding-bottom: 0;
		font-weight: normal;
	}

	:is(.entry-content, .page-content__body) #howtouse h2 {
		font-size: 18px;
	}

	:is(.entry-content, .page-content__body) #howtouse p + h2 {
		padding-top: 39px;
	}

	:is(.entry-content, .page-content__body) #howtouse h3 {
		font-size: 14.3px;
		font-weight: normal;
	}

	:is(.entry-content, .page-content__body) #howtouse p + h3 {
		padding-top: 32.5px;
	}

	/* ここから見出し以外（Bug #3924）。移行元スマホ版の rem は 13px 基準なので、
	   上と同じ理由で実測した px で書く. */
	:is(.entry-content, .page-content__body) #howtouse {
		padding-bottom: 0;
	}

	/* 🚨 囲みだけは画面いっぱいのまま残す（移行元スマホ版で 375px）。
	   器へ内余白を置くと囲みまで 25px 内側へ寄る. */
	:is(.entry-content, .page-content__body) #howtouse > :not(h1):not(.howtouse_caution) {
		padding-left: 25px;
		padding-right: 25px;
	}

	/* 移行元スマホ版で器（`.howtouse_contents`）の上の内余白として出ていた 25px。

	   🚨 **指定の置き場所は移行元と違う。**移行元では器の内余白なので見出し自身の
	   `padding-top` は 0 だが、こちらは器が無いので見出しへ移している。**字が置かれる
	   位置は同じ**（絵の下端から 25px）で、見出しは地色も罫線も持たないため見え方は
	   変わらない。指定の字面だけを突き合わせる道具はここを差と読むので、**字の位置で
	   確かめること**. */
	:is(.entry-content, .page-content__body) #howtouse h1 + h2 {
		padding-top: 25px;
	}

	:is(.entry-content, .page-content__body) #howtouse p {
		padding-bottom: 6.5px;
		font-size: 11.7px;
		line-height: 22.1px;
		text-align: left;
	}

	:is(.entry-content, .page-content__body) #howtouse p.note {
		font-size: 9.1px;
		line-height: 16.9px;
	}

	/* 上の外余白 25px は、移行元スマホ版で器の下の内余白として出ていたぶんである
	   （移行元の囲み自身の外余白は 0）。手前の h2 の下の内余白 10px と合わせて
	   35px の空きになり、移行元と一致する. */
	:is(.entry-content, .page-content__body) #howtouse .howtouse_caution {
		margin-top: 25px;
		padding: 25px 25px 20px;
	}
}

.entry-content h4,
.page-content__body h4 {
	font-size: var(--pa-article-h4-size);
}

.entry-content h5,
.page-content__body h5 {
	margin-bottom: 15px;
	font-size: var(--pa-article-h5-size);
}

.entry-content h6,
.page-content__body h6 {
	margin-bottom: 15px;
	font-size: var(--pa-article-h6-size);
}

/* 婚活コラムのアイキャッチ画像は、移行元では見出しタグ（h4）で囲んである。
   中身が画像 1 枚だけの見出しには、上の飾りを付けない.

   🚨 **`<picture>` で包まれた絵も「画像 1 枚だけ」として扱う**（Bug #3975）。
   携帯幅で絵を差し替える仕組み（`inc/sp-image-swap.php`）は、対象の `<img>` を
   `<picture>` で包む。包まれると `> img:only-child` が当たらなくなり、
   **記事用の見出しの既定（上の外余白 50px・内余白・罫線）がそのまま残る**。

   社員紹介の詳細 14 ページで実測した（2026-09-06 01:02・幅 1440px）。
   節の見出しの上に移行元に無い 50px が入り、本文から下がまるごと 50px 下へずれ、
   本文層が 2777 対 2828 になっていた。手元でこの打ち消しを当てると 2778 へ戻った
   （残る 1px は絵の出し寸法の別件・Bug #3976）。

   **詳細度は変わらない。**`:is(img, picture)` は中身の最大値（要素 1 つぶん）を取り、
   `:only-child` と合わせて `img:only-child` と同じ (0, 1, 1) である。よって
   この規則と他の規則の勝ち負けは、変更の前後で 1 つも変わらない.

   **効く範囲は「見出しの中の絵が `<picture>` で包まれる全ページ」である。**
   Task #3991 で全数を数えた。差し替えの対象 101 点のうち見出しの中に在るのは
   **22 種類・23 か所・21 ページ**で、区分は 3 つだけだった。

     - 社員紹介の詳細（`company/recruit/interview/`）… 14 か所 / 14 ページ
       → 飾りが残っていた（この直しの対象）
     - 会社情報（`company/`）… 7 か所 / 5 ページ
       → 画面専用の規則が先に外余白を 0 にしていて症状は出ていない
     - 入会案内（`guide/`）… 2 か所 / 2 ページ
       → 下の `picture` 用の打ち消しを既に持つので症状は出ていない

   **23 か所すべてが「子が絵 1 つだけ」なので、この当て先で全部に届く.** */
.entry-content :is(h2, h3, h4, h5, h6):has(> :is(img, picture):only-child),
.page-content__body :is(h2, h3, h4, h5, h6):has(> :is(img, picture):only-child) {
	margin: 0 0 var(--pa-article-paragraph-gap);
	padding: 0;
	border: 0;
	background: none;
}

/* 🚨 上の除外は「画像がその見出しのただ 1 つの子」であることを前提にしている。
   入会案内（`/guide/`）の節の題は、その前提が 2 つの理由で崩れる.

     1. 携帯幅用のテキストを `inc/guide-sp-text.php` が `<span>` で足す
     2. 携帯幅で絵を差し替えるため、`inc/sp-image-swap.php` が `<img>` を
        `<picture>` で包む（`title.gif`）

   崩れると 750〜1146px の帯だけで、上の外余白が 0 から 50px に増え、左内余白が
   16px 付いて絵が右へずれる（2026-09-04 に幅 750px で実測。1147px 以上と 749px
   以下は、入会案内のページ専用の規則が勝つので見た目は変わらない）。
   同じ打ち消しを、この 2 つの形にも当てる.

   当て先を `.pa-page--guide` で絞ってあるので、他のページには 1 行も効かない。
   詳細度は最大 (0,4,3) で id を持たないから、入会案内のページ専用の規則
   （`#guide` を含む）には負ける。順番の関係も変わらない.

   🚨 **`<picture>` の側は 2026-09-06 に共通の打ち消しへ移した**（Bug #3975）。
   上の共通の規則が `:has(> :is(img, picture):only-child)` になったので、
   **この節の 1 本目（`:has(> picture:only-child)`）は同じ役目を二重に持つ形になった。**
   宣言の中身は共通の規則とまったく同じなので、二重に当たっても結果は変わらない。
   **消さずに残す**のは、当て先の強さが (0, 4, 3) と (0, 2, 1) で違い、間に入る
   入会案内のページ専用の規則との勝ち負けを変えたくないためである。

   **この節の 2 本目は今も必要である。**携帯幅用のテキストを `<span>` で足す形
   （子が 2 つになる）は、共通の規則の `:only-child` では拾えない. */
.pa-page--guide .page-content__body :is(h2, h3, h4, h5, h6):has(> picture:only-child),
.pa-page--guide .page-content__body :is(h2, h3, h4, h5, h6):has(> :is(img, picture) + span.pa-guide-sp-heading:last-child) {
	margin: 0 0 var(--pa-article-paragraph-gap);
	padding: 0;
	border: 0;
	background: none;
}

/* --- 箇条書きと定義リスト ---

   移行元のサイト共通 CSS（public/css/common.css の 15〜27 行・100 行・
   266〜283 行）は `ol, ul { list-style: none; margin: 0; padding: 0;
   text-align: left }` と `ol li, ul li { list-style: none; margin-bottom: 0 }`
   を全ページへ効かせている。テーマはこれを打ち消していなかったため、行頭記号
   （黒丸・番号）・左内余白 1.6em・項目間 0.5em の下余白が dev にだけ出ていた
   （Issue #2355・公開中の投稿 7,020 件のうち 5,289 件・延べ 23,098 か所で実測）。

   ブロックどうしの下の外余白（var(--pa-article-paragraph-gap)）はテーマが
   本文の縦のリズムを揃えるために足しているもので、移行元の margin: 0 とは別の
   役割なのでここでは変えない. */
.entry-content :is(ul, ol),
.page-content__body :is(ul, ol) {
	margin: 0 0 var(--pa-article-paragraph-gap);
	padding: 0;
	list-style: none;
	text-align: left;
}

.entry-content li,
.page-content__body li {
	margin-bottom: 0;
	line-height: var(--pa-line-height-text);
}

/* 入れ子の箇条書きは、外側の項目との間隔を詰める. */
.entry-content li > :is(ul, ol),
.page-content__body li > :is(ul, ol) {
	margin: 0.5em 0 0;
}

/* 定義の並び（dl / dt / dd）の外余白を移行元にそろえる（Bug #2972）。

   移行元のサイト共通 CSS（public/css/common.css）は 3 段構えでこれを決めている。

     76〜79 行   `blockquote, dd, div, dl, dt, … { margin: 0; padding: 0 }`
     271〜273 行 `dl { margin: 1em }`      ← 並びの器だけ四方に 1em を戻す
     283〜285 行 `dl dd, ol li, ul li { margin-bottom: 0 }`

   つまり**移行元は「器に四方 1em・説明の段に外余白 0」**である。テーマはここに
   `dl { margin: 0 0 25px }` と `dd { margin: 0 0 1em 1.6em }` を置いていたため、
   器の左右と上の 1em が欠け、説明の段には移行元に無い字下げ 1.6em（16px の文脈で
   25.6px）と下の外余白 1em が乗っていた。

   【実測】幅 1440px・はじめての方への入口の「3 つの要点」（Bug #2972）。

     器（dl.visitor_point）    移行元 976×486 / 左端 232  →  dev 1008×456 / 左端 216
     説明（dd）の左の外余白    移行元 0                   →  dev 25.6px
     Q&A の答え（dd）の幅       移行元 1100                →  dev 1074
     Q&A の答えの下の外余白    移行元 0                   →  dev 16px（21 件で 336px）

   【なぜ既定を直すのか】この既定は誤りとして繰り返し打ち消されてきた。テーマの
   中には**`dd` に `margin: 0` を書いて打ち消している規則が 12 か所**あり
   （お知らせ・採用・お客様の声・会員プロフィール・入会案内・記事の SEO 欄ほか）、
   `dl` も 12 か所で値を上書きしている。1 か所ずつ足すのではなく既定をそろえる。

   【波及先】本文に定義の並びを持つ移行元のページは PC 側で約 1,102 枚・18 区分
   （体験談 314・フォーム 202・QOM総研 161・川柳 98 ほか）。上の 12 か所ずつの
   上書きを持つ区画は動かない。**字下げに依存しているテーマの規則は 1 本も無い**
   （意図して非 0 の `dd` 外余白を置いているのは `.dl-QAlist dd { margin: 10px 0 0 }`
   の 1 本だけで、左右は 0 である）。

   【`1em` と書く理由】移行元の値は `1em` で、器自身の字の大きさで解決される。
   16px と書き写すと、13px の文脈に置かれた並びで移行元より広くなる。

   【下の外余白にテーマの縦のリズムを使わない理由】すぐ上の箇条書きの節
   （Issue #2355）は「移行元が `margin: 0` でも、ブロックどうしの間隔は別の役割
   なので `var(--pa-article-paragraph-gap)` を残す」としている。定義の並びは事情が
   違い、**移行元自身が `1em` という値を持っている**。移行元の値がある側に
   テーマの値を重ねる理由が無いため、ここは移行元にそろえる。

   【この節が直さないもの】見出し（dt）の高さは、画像の縦の置き方
   （`vertical-align`）が決めている別の差である（Bug #2975）。移行元の旧デザインは
   画像を行の中の既定（baseline）に置き、テーマは本文の画像に `middle` を当てて
   いるため、画像を包む器が 6〜14px 低くなる。**この節では触らない.** */
.entry-content dl,
.page-content__body dl {
	margin: 1em;
}

.entry-content dt,
.page-content__body dt {
	font-weight: bold;
}

.entry-content dd,
.page-content__body dd {
	margin: 0;
}

/* --- リンク・強調・区切り --- */

/* 移行元の a は下線付きで、マウスを載せると赤くなり下線が消える（style.css の
   43 行目から）。本文の中でも同じ振る舞いにする。色は共通トークンから入る. */
.entry-content a,
.page-content__body a {
	text-decoration: underline;
}

.entry-content a:hover,
.page-content__body a:hover {
	text-decoration: none;
}

.entry-content :is(strong, b),
.page-content__body :is(strong, b) {
	font-weight: bold;
}

.entry-content hr,
.page-content__body hr {
	height: 0;
	margin: var(--pa-article-block-gap) 0;
	border: 0;
	border-top: 1px solid var(--pa-color-border);
}

/* --- 引用 --- */

.entry-content blockquote,
.page-content__body blockquote {
	margin: 0 0 var(--pa-article-paragraph-gap);
	padding: 16px 20px;
	border-left: 4px solid var(--pa-color-accent);
	background-color: var(--pa-color-surface-muted);
}

.entry-content blockquote > :last-child,
.page-content__body blockquote > :last-child {
	margin-bottom: 0;
}

.entry-content :is(cite, q),
.page-content__body :is(cite, q) {
	font-style: normal;
}

/* --- 画像と図 --- */

/* 本文の画像の縦の置き方（Bug #2975 / Bug #3020）。

   img の max-width: 100% はベーススタイルで入っている。ここは画像を行の中の
   どこに置くかだけを決める。

   **移行元の旧デザインは画像に縦揃えを指定しない**（public/css/common.css の
   63〜65 行は `a img, img { border: 0 }` だけで、`import.css` が読む
   public/css/style.css にも全体の img 規則が無い）。よって既定の baseline のままで、
   画像は文字の基準線に載り、その下に文字の下端ぶんの空きが残る。**移行元でも
   画像を包む器は画像より 6〜14px 高い。**

   かつてここは middle を当てて、その空きを消していた。しかし移行元にその指定は
   無いため、画像を包む器の高さが移行元より 6〜14px 低くなっていた。

   【実測】幅 1440px・はじめての方への 2 画面（Bug #2975）と 4 画面（Bug #3020）。

     /visitor/ の区画の見出し    移行元 1008×83  →  dev 1008×73（−10）
     /visitor/ の写真の器        移行元 1008×366 →  dev 1008×356（−10）
     /visitor/ の矢印            移行元 1008×66  →  dev 1008×60（−6）
     /visitor/method/ の写真の器 移行元 282      →  dev 268（−14）
     3 つの要点の見出し（dt）    移行元 976×58   →  dev 976×48（−10）

   画像そのものの大きさは移行元と完全に一致しており、器だけが違っていた。

   【なぜ既定を直すのか】この既定は誤りとして繰り返し打ち消されてきた。**本文の
   画像へ `vertical-align: baseline` を書いて打ち消している規則が、このファイルに
   11 か所ある**（旧デザインの店舗 4 か所・成婚ストーリーの札・本文の先頭へ戻る
   2 か所・記事本文・会社情報の 8 区画・採用の社員インタビュー・入会案内）。
   そのうち 2 か所には打ち消しの効き幅が実測で書き残されている（会社情報は
   「10px 詰まる」、採用は「9px 詰まる」）。区画別 CSS の側にも、テーマの既定を
   打ち消すために img へ baseline を当てている規則が 9 か所ある（support-band.css /
   introduce-movie の theme-bridge.css / introduce-happyreport の style.css に 2 か所 /
   senryu・concierge・report の bridge.css / introduce-survey の theme-bridge.css /
   service の article-reset.css）。別に、移行元の初期化 CSS の写しが img を含む形で
   baseline を当てている箇所が 5 か所ある（guidance の reset.css / comic.css /
   option-mezon の standard.css / guide-course の base.css / introduce-data の
   data-style.css）。こちらは移行元の写しなので打ち消しとは別に扱う。
   1 か所ずつ足すのをやめ、既定を移行元へそろえる。

   【波及先】記録版 19f499fe3 の public 配下の .html を全数走査した実測である。
   html は全部で 11,470 本（パソコン向け 6,045・携帯ミラー public/sp/ 配下 5,425）。
   そのうち旧デザインの共通 CSS の入口 public/css/import.css を名指しするものが
   5,513 本（パソコン向け 5,462・携帯 51）で、common.css を直接名指しするものを
   合わせると 10,866 本になる。対して**新デザインの共通 CSS
   public/assets/css/style.css を名指しするものは 12 本しかない**。
   dev で新デザインの扱いになるのは
   トップ・店舗 4 件・/guide/course/ の 6 ページだけで（/pa-zexy/ は未投入）、
   **残りはすべて旧デザインの扱いである**（inc/design-profile.php の 132 行が既定）。

   【middle に依存している規則は無い】本文の画像へ別の値を明示している規則は 3 つ
   だけで、いずれも意図した値である。すぐ下の新デザイン（bottom。移行元の新デザインが
   `img{vertical-align:bottom}` を持つ）／画像に敷くマット `.img-bdr01 img`（bottom。
   移行元 public/word/css/style.css の 439〜441 行と同じ値）／移行元の道具クラス
   `.vam`（middle。移行元が `.vam { vertical-align: middle }` を持つ）。

   【11 か所の打ち消しを残す理由】値が変わらないため動かない。動いているものを
   触ると退行の危険が増え、消すと「移行元がこの値である」という記録が失われる。
   **ただし、ここを middle へ戻すと 11 区画だけが baseline のまま取り残される**ので、
   巻き戻すときは打ち消しの側も併せて見ること. */
.entry-content img,
.page-content__body img {
	vertical-align: baseline;
}

/* 新デザインのページ（トップ・店舗 4 件・pa-zexy）は、移行元が共通の img 規則で
   vertical-align: bottom を持つ（実測: 移行元の銀座店は img 159 枚のうち 155 枚が
   bottom）。すぐ上の本文の中の規則は詳細度が同じ（クラス 1 + 要素 1）で、あとに
   書いてある分だけ勝つため、本文の中の画像だけが middle のまま取り残される。
   囲みを 1 つ挟んで詳細度を 1 つ上げ、新デザインのページでは本文の中まで
   移行元と同じ bottom で揃える（Issue #2616）。
   :is() の詳細度は中身の最大値（ここではクラス 1 つぶん）である. */
.pa-profile-new :is(.entry-content, .page-content__body) img {
	vertical-align: bottom;
}

.entry-content figure,
.page-content__body figure {
	margin: 0 0 var(--pa-article-paragraph-gap);
}

.entry-content figcaption,
.page-content__body figcaption {
	margin-top: 8px;
	color: var(--pa-article-muted-color);
	font-size: var(--pa-font-size-base);
	text-align: center;
}

/* --- 等幅の文字 --- */

.entry-content pre,
.page-content__body pre {
	margin: 0 0 var(--pa-article-paragraph-gap);
	padding: 16px;
	overflow-x: auto;
	background-color: var(--pa-color-surface-muted);
	line-height: var(--pa-line-height-base);
}

.entry-content :is(code, kbd, samp),
.page-content__body :is(code, kbd, samp) {
	font-family: monospace;
}

/* --- 表 --- */

/* 移行元 common.css の既定（罫線 1px・内側の余白 0.5em・見出しのセルは中央
   寄せの太字）を写す。移行元は罫線の色を書いておらず、文字色がそのまま罫線の
   色になっていた。ここでは共通の罫線トークンを使う。
 *
 * `.pa-form-table`（pa-forms プラグインの申し込みフォームの表組み）は対象から
 * 除く（Codex レビュー・Bug #1983）。フォームの表は pa-forms.css 側で罫線・
 * 余白・携帯幅の縦積みまで一式を作り込んでおり、ここの汎用規則と混ざると、
 * 見出しセルに意図しない背景色が付く（pa-forms.css は背景色を指定しておらず
 * 打ち消す対抗規則が無いため）。フォームが本文（the_content）に置かれる
 * ページ（Bug #1983 の 6 種の申し込みフォーム）に限らず、`[pa_form]`
 * ショートコードを他の記事本文へ置いた場合にも同じ事故が起きるため、
 * `.entry-content` 側も合わせて除く. */
.entry-content table:not(.pa-form-table),
.page-content__body table:not(.pa-form-table) {
	width: 100%;
	margin: 0 0 var(--pa-article-paragraph-gap);
	border-collapse: collapse;
	border-spacing: 0;
}

.entry-content table:not(.pa-form-table) :is(th, td),
.page-content__body table:not(.pa-form-table) :is(th, td) {
	padding: 0.5em;
	border: 1px solid var(--pa-color-border);
	line-height: var(--pa-line-height-base);
}

/* 🚨 ここには地色（`background-color`）と縦のそろえ（`vertical-align: top`）を
   書かない（Bug #3445）。**どちらも移行元に無い**。

   移行元の記録版（`19f499fe3`）で、移行対象のうち表を持つ 44 ページを全数で測った
   （幅 1440px・計算後の値・ブラウザで実測）。結果は次のとおりである。

   | 見たもの | 移行元の実測 |
   |---|---|
   | 項目名のセルの地色 `rgb(242, 244, 247)` | **1 個も無い**（実在するのは 13 種で、すべてページ固有の規則が付ける） |
   | セルの縦のそろえ | `middle` 1,505 個 / `baseline` 1,488 個 / `top` **14 個** |

   `top` だったのは新デザインの店舗 4 ページの `.guide-set.shop .content-area table`
   だけで、3,021 個のうち 14 個しか合っていなかった。よってどちらも汎用からは外し、
   移行元が実際に持っている指定だけを**ページに絞って**下に置く。

   移行元 `public/css/common.css` が汎用で持っているのは `font-weight` と
   `text-align` の 2 つだけである。 */
.entry-content table:not(.pa-form-table) th,
.page-content__body table:not(.pa-form-table) th {
	font-weight: bold;
	text-align: center;
}

/* --- 表の項目名のセル。ページに絞って移行元の指定を写す（Bug #3445・裁定 93 / 94）--- */

/* 汎用の規則から地色と縦のそろえを外した代わりに、移行元が**実際に持っている**指定だけを
   ここへ置く。当たり先とページの対応は、記録版（`19f499fe3`）を手元へ取り出してブラウザで
   測って決めた（道具は `pa-verify-assets/f8-guide-0904/measure-th-3445.mjs`）。

   | 区分 | ページ数 | 移行元の指定の出どころ |
   |---|---:|---|
   | 店舗（旧デザイン） | 17 | `public/branch/css/style_area1.css` |
   | 店舗（新デザイン） | 4 | `public/assets/css/style.css` の打ち消し |
   | 店舗（`style_renew.css` を読むもの） | 4 | `public/branch/css/style_renew.css` |
   | 調査レポート | 12 | ページの中の `<style>`（投入で失われている・Bug #3526） |
 */

/* 店舗（旧デザイン 17 ページ）。移行元の打ち消しが `.page-branch` の中を
   `vertical-align: baseline` にしている。**これは見た目に出る差である。**
   写しで `baseline` を `middle` に変えて測ると、郡山店の 104 個のうち 33 個の中身が動き、
   最大 78.36px ずれた。既定の `middle` に任せるだけでは足りない。

   🚨 **汎用の規則を直しただけでは足りない。**店舗の本文にはもう 1 本
   `.pa-branch__content th, .pa-branch__content td { vertical-align: top }`（14650 行）が在り、
   こちらは移行元の引用を持たないテーマ独自の意匠である。強さは (0,1,1) しか無いので、
   移行元の値を写す規則を下に置いて上から当てる。**この 1 本そのものを外すかどうかは
   店舗ページ 116 本すべてに波及するため、9 班と司令塔へ申し送りにしてある。** */
.pa-profile-legacy-compat .pa-branch__content .page-branch :is(.about-info, .case-intro) :is(th, td) {
	vertical-align: baseline;
}

/* 料金表は移行元が `middle` に戻している（`style_area1.css` の
   `.page-branch .course-price thead th` / `tbody th` / `tbody td`）。
   上に書いた 14650 行の `top` に勝たせるため、明示的に書く. */
.pa-profile-legacy-compat .pa-branch__content .page-branch .course-price :is(th, td) {
	vertical-align: middle;
}

/* 店舗の料金表の項目名の地色。移行元 `style_area1.css` の 4 本を写す。
   `thead th` の素の地色 `#e2e8ed` は、名前の列と内訳の列の 2 つが上書きするため、
   実際に描かれるのは残りの列だけである（郡山店の実測では上書き側が 5 個・素が 0 個）。

   🚨 移行元の `.course-price tbody .gray_premium th`（`#d6d6d6`）は写さない。規則は
   在るが、その class を持つ HTML は注釈（`<!--`）の中の 2 か所だけで、**移行対象の
   どのページにも描かれない**（9 班と両方で実測して一致した）。
   別の当たり先（`.plan table .gray_premium td`・15456 行）は 9 班が先に写しており、
   こちらは対象外である. */
.pa-profile-legacy-compat .pa-branch__content .page-branch .course-price thead th {
	background-color: #e2e8ed;
}

.pa-profile-legacy-compat .pa-branch__content .page-branch .course-price thead th.course-price-th-name {
	background-color: #bacfde;
}

.pa-profile-legacy-compat .pa-branch__content .page-branch .course-price thead th.course-price-th-detail {
	background-color: #d3dce3;
}

.pa-profile-legacy-compat .pa-branch__content .page-branch .course-price tbody th {
	background-color: #f8fbfc;
}

/* 店舗（新デザイン 4 ページ = 銀座・新宿・静岡・岡山）。移行元
   `public/assets/css/style.css` の打ち消しが `.c-table` の中も `baseline` にしている。
   料金表（`.pricing-table`）は移行元も `middle` なので触らない。

   🚨 移行元の新デザインは項目名のセルに地色を 1 つも持たない。dev はここに
   `rgb(255, 246, 236)`（クリーム色）を出していたが、それは汎用の規則の色の名前が
   `.pa-profile-new` の下で別の値へ差し替わっていたためである。汎用から地色を外したので、
   ここへ打ち消しを書く必要は無い. */
.pa-profile-new .pa-branch__content .page-branch .c-table :is(th, td) {
	vertical-align: baseline;
}

/* 新デザインの料金表（`.pricing-table`）の縦のそろえ（移行元も `middle`）は、
   Task #3549 で「移行してきた本文（新デザインの 4 店舗）」の節のセルの規則へ寄せた。
   当たる範囲を `.pa-profile-new`（dev では 4 ページ）から
   `.pa-branch__content .page-branch`（移行元で新デザインの 6 ページ）へ広げるためで、
   値は同じである。移行元の店舗ページ 199 本を走査して、`.pricing-table` を持つのは
   新デザインの 6 ページだけ（旧デザインは 0 ページ）であることを確かめてある. */

/* 店舗のうち `style_renew.css` を読む 4 ページ（札幌・高崎・福岡・仙台）。
   移行元 `.guide-set.shop .content-area table th` / `td` が `vertical-align: top` を
   持つ。**移行元で `top` なのはサイト全体でここだけである**（測った 3,021 個のうち 14 個）。
   汎用の `top` を外すと既定の `middle` になってしまうので、ここだけ写す。

   料金表は 9 班が `table.pa-plan-table-pc` として別に写しており、地色 `#486d94` と
   `middle` を持つ（`main.css` の店舗の節）。ここでは触らない. */
.pa-profile-legacy-compat .pa-branch__content .guide-set.shop .content-area table :is(th, td) {
	vertical-align: top;
}

/* 調査レポートの表（裁定 94・Bug #3445 と Bug #3526）。

   🚨 移行元はこの見た目を**ページの `<head>` の中の `<style>`** で決めており、外部の CSS
   ファイルには同じ指定が無い。**投入は `<head>` を読まない**（本文の取り出し先は
   `main` → `#contents` → `#main-content` → `#main` → `.contents` → `body` の 6 つで、
   6 つとも `<body>` の中を指す。`scripts/pa-cms/schemas/mapping-definition.json` の
   `static-rule3-research-*`）。そのため dev には目印だけが残り、規則が 1 本も無い状態に
   なっていた。**投入をやり直しても入らない**ので、ここへ写す。

   | 目印 | 出るページ |
   |---|---|
   | `.top10` | report20/21/22/23/24/26/28/30/32/41/47/51 の **12 ページ** |
   | `.top5` | report19 の **1 ページ** |

   移行対象の全ページを記録版（`fdb412698`）で走査し、これらの目印が
   **調査レポート以外に 1 つも出ない**ことを確かめた（当たるのはパソコン版 14 ページと、
   同じ中身のスマートフォン版だけ）。

   【当たり先に `.pa-page--research` と `table` を足す理由】
   テーマの汎用のセルの規則（`.page-content__body table:not(.pa-form-table) :is(th, td)`）は
   詳細度が「クラス 2・要素 2」で、`.page-content__body .top10 td`（クラス 2・要素 1）では
   **負けて罫線も内余白も 1 度も効かない**。`.pa-page--research`（`page.php` が URL の
   先頭階層から作る目印）と `table` を足して「クラス 3・要素 2」にし、確実に勝たせる。

   【項目名のセルの地色を 2 本で書く理由】
   移行元は `.top10 th` の地色がページで割れている（9 ページが `#6699FF`、3 ページが
   `#ccc`）。ところが**素の `th`（`.bgblue` が付かない `th`）を持つのは report41 の 4 個だけ**
   で、その report41 は `#ccc` の側である（12 ページの `th` を全数で数えて確かめた）。
   素の `th` を `#ccc`、`.bgblue` を `#6699FF` にすれば 12 ページとも移行元と一致する。

   【写さないもの】
   `.dash`（点線の枠）は 11 ページの `<style>` に在るが、`class="dash"` を持つ要素は
   14 ページのどこにも 1 個も無い。**当たる要素が無い指定は写さない**. */
.pa-page--research .page-content__body table.top10 {
	border: 1px solid #fff;
	margin-bottom: 20px;
}

.pa-page--research .page-content__body table.top10 th {
	background-color: #ccc;
	color: #333;
	font-weight: 500;
	border-right: 2px solid #fff;
	border-bottom: 5px solid #fff;
}

.pa-page--research .page-content__body table.top10 td {
	padding-left: 3px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

/* `th` にも `td` にも付く（移行元は 9 ページが `td.bgblue`、3 ページが `.bgblue`）. */
.pa-page--research .page-content__body table.top10 .bgblue {
	background-color: #6699ff;
	color: #fff;
	font-weight: 500;
}

.pa-page--research .page-content__body table.top10 td.bggray1 {
	background-color: #d0d8e8;
}

.pa-page--research .page-content__body table.top10 td.bggray2 {
	background-color: #e9edf4;
}

/* report19 だけが持つ表。罫線が黒で、上と左だけ 2px 太い. */
.pa-page--research .page-content__body table.top5 {
	border: 1px solid #000;
	border-top-width: 2px;
	border-left-width: 2px;
	margin-bottom: 20px;
}

.pa-page--research .page-content__body table.top5 td {
	text-align: center;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}

.pa-page--research .page-content__body table.top5 td.bggreen {
	background-color: #66cc00;
}

/* 調査レポートのうち `report_81` の表。ここだけは外部の CSS
   （`public/css/page_research.css` の `#research .hyou th`）から来ている。
   移行元の当たり先は id を含むが、`.hyou` を持つのは調査レポート 4 ページだけで、
   そのうち項目名のセルを持つのは `report_81` だけである。id を写しても dev の本文に
   同じ id が在るとは限らないので、class だけで絞る. */
.page-content__body .hyou th {
	background-color: #6699ff;
}

.entry-content caption,
.page-content__body caption {
	margin-bottom: 0.5em;
	text-align: center;
}

/* --------------------------------------------------------------
 * スマートフォン幅（749px 以下）で画面からはみ出させない
 *
 * 移行してきた本文には、列の多い表と幅 2,000px 級の画像が入っている。画像は
 * ベーススタイルの max-width: 100% で収まるが、表は列の数だけ横に伸びるため
 * 収まらない。表だけを横に転がせる箱に変えて、ページ全体が横に流れるのを防ぐ。
 *
 * ------------------------------------------------------------------
 * display: block に変える方式を採った理由と、その副作用の手当て
 * ------------------------------------------------------------------
 * 表を横に転がせる箱にする方法は、実際にブラウザで測って 3 つ試した。
 *
 *   1. display: table のまま overflow-x: auto を付ける
 *      → 効かない。表の箱は転がる箱にならず、幅 390px の画面でページ全体が
 *        459px まで広がった（実測）。この方式は使えない
 *   2. display: block に変える（採用）
 *      → ページは広がらない。ただし表の中身が箱いっぱいに広がらず、列の少ない
 *        表が縮む。幅 390px で本文の柱が 360px のとき、2 列の表の行が 77px
 *        しかない状態になった（実測）
 *   3. 2 に加えて、thead・tbody・tfoot をそれぞれ display: table にする
 *      → 縮みは直る（行が 359px に戻る）。しかし区分ごとに別々の表になるため、
 *        見出しと中身で列の幅が食い違う。見出しが短く中身が長い表で、列の幅が
 *        131px ずれた（実測）
 *
 * そこで 2 を土台にし、区分が tbody 1 つだけの表に限って中身を広げる。移行元の
 * 婚活コラムと調査レポートにある表 9 件は thead も tfoot も使っておらず、
 * ほとんどの表がこれで直る。thead を持つ表（移行元の他のページに 61 件）は
 * 縮んだままになるが、列の食い違いという読み違いを生む不具合よりは軽いと判断
 * した。
 *
 * なお white-space: nowrap は付けない。セルの文字は折り返させたままにする.
 * -------------------------------------------------------------- */
@media (max-width: 749px) {
	/* `.pa-form-table` はここでも除く（Codex レビュー・Bug #1983）。この節の
	   display: block 変換を通すと、pa-forms.css が同じ携帯幅で用意している
	   縦積み（tbody { display: block } 等）を、次のセレクタが詳細度で上書き
	   してしまう。生の症状は「必須お名前（漢字）」「お名前（カナ）」のような
	   組になった行の間に、境界線を消す指定（.pa-form-table__row--pair-top の
	   border-bottom: 0）が効かなくなり、境界線が復活すること（描画ハーネスの
	   500px 幅で実測して確認済み）. */
	.entry-content table:not(.pa-form-table),
	.page-content__body table:not(.pa-form-table) {
		display: block;
		width: 100%;
		overflow-x: auto;
		/* 横に転がせることを、慣性スクロールの効く端末でも分かるようにする. */
		-webkit-overflow-scrolling: touch;
	}

	/* 区分が tbody 1 つだけの表は、中身を箱の幅いっぱいに広げる。中身が箱より
	   広くなる表は、この指定があっても上の overflow-x: auto で横に転がる. */
	.entry-content table:not(.pa-form-table):not(:has(thead, tfoot)) > tbody,
	.page-content__body table:not(.pa-form-table):not(:has(thead, tfoot)) > tbody {
		display: table;
		width: 100%;
	}

	/* 幅の指定が属性で入っている画像（移行元は width="1100" 等を残している）も
	   画面幅に収める。ベーススタイルの max-width: 100% で足りるが、表の中の
	   画像は表の幅に引きずられるため、ここで改めて上限を置く. */
	.entry-content table:not(.pa-form-table) :is(th, td) img,
	.page-content__body table:not(.pa-form-table) :is(th, td) img {
		max-width: 100%;
		height: auto;
	}
}

/* ==============================================================
 * 移行してきた本文が使うクラス（婚活コラム /word/ 系）
 *
 * 移行元 public/word/css/style.css の .content-area 以下を写す。囲みの
 * div.content-area は本文に残らないため、新テーマ側の囲みを起点に書き直す。
 *
 * 【重要】起点は .entry-content と .page-content__body の 2 つで、片方だけでは
 * 足りない。投入定義（docs/pa-cms/plan/mapping/content-model.yaml の sources）が
 * 移行元のパスごとに違う post_type を割り当てるためである。
 *   /word/     → post_type: post → single.php  → .entry-content
 *   /research/ → post_type: page → page.php    → .page-content__body
 * さらに、同じクラス（.center や .serif 等）が両方の系統に出ることがある。
 * どちらの囲みに出ても効くよう、以下は :is() で 2 つの囲みをまとめて指定する。
 * ============================================================== */

/* 導入文。移行元 .introduction の margin: 50px auto 0 に合わせ、記事の先頭で
   アイキャッチ画像との間隔を空ける. */
:is(.entry-content, .page-content__body) .introduction {
	margin-top: var(--pa-space-sm);
}

/* 節の囲み。移行元 .content-area .box の margin-top: 50px である。囲みどうしを
   離すことで、節の切れ目が読み取れる. */
:is(.entry-content, .page-content__body) .box {
	margin-top: var(--pa-article-block-gap);
}

/* 最後の節の下の間隔。移行元 .content-area .box:last-of-type の
   margin-bottom: 60px を写す。ただし :last-of-type をそのまま使わない。
   :last-of-type は「最後の .box」ではなく「最後の div」を指す指定で、.box の
   あとに別の div（調査レポートの .box_relation 等）が来る本文では、狙った要素に
   当たらないためである。「後ろに .box が続かない .box」と書き換える. */
:is(.entry-content, .page-content__body) .box:not(:has(~ .box)) {
	margin-bottom: var(--pa-space-md);
}

/* 節の見出し。移行元 .content-area .box h4 は 18px の文字に薄い金茶の帯を
   敷いている。今の見た目をそのまま写す. */
:is(.entry-content, .page-content__body) .box h4 {
	margin-top: 0;
	padding: 10px;
	background-color: var(--pa-article-band-bg);
	font-size: var(--pa-article-h4-size);
}

/* 小見出し。移行元 .content-area .box h5.serif は下に 1px の罫線を引く。
   罫線は本文の文字色で引く。本文の文字色を移行元と同じ黒へ戻した（Issue #1622）
   ので、移行元の罫線（1px solid #000）と同じ色になる。

   🚨 `.content-area` の限定を落とさないこと（Issue #2720）。移行元のこの 2 本は
   **婚活コラムのページだけが読む CSS**（`public/word/css/style.css` の 415 行と
   420 行）にあり、しかも `.content-area` という囲みの中に限定されている。
   写したときにこの限定が落ちており、`.box h5` の形を持つ他の区画へ漏れていた。

   実害の例（Issue #2678 の配備検収で判明）: サービス紹介の「経験豊富」
   （/service/experienced/）の小見出し 2 個に、移行元には無い下罫線 1px と
   下の内余白 10px が付いていた。**移行元のサービス紹介に `.content-area` は
   1 つも無い**ので、移行元ではこの規則は当たらない。

   `.content-area` は移行元の本文の中（`#contents` の内側）にある囲みなので、
   投入した本文にもそのまま残っている。だから限定を戻しても婚活コラムの罫線は
   消えない（実測で確認済み）. */
:is(.entry-content, .page-content__body) .content-area .box h5 {
	margin-top: var(--pa-space-sm);
}

:is(.entry-content, .page-content__body) .content-area .box h5.serif {
	padding-bottom: 10px;
	border-bottom: 1px solid var(--pa-color-text);
	margin-bottom: 20px;
}

/* 本文中の画像に敷くマット。移行元 .content-area .box .img-bdr01 と同じ、
   節の見出しと同じ色の下地に 10px の余白を取る形にする. */
:is(.entry-content, .page-content__body) .img-bdr01 {
	margin-bottom: 20px;
	padding: 10px;
	background-color: var(--pa-article-band-bg);
}

:is(.entry-content, .page-content__body) .img-bdr01 img {
	vertical-align: bottom;
}

/* 中央に寄せる図。移行元の .tac（text-align center の略）である. */
:is(.entry-content, .page-content__body) .tac {
	text-align: center;
}

/* 問答形式の一覧。移行元 word/css/style.css の .dl-QAlist は、問いの左に赤、
   答えの左に青の 3px の線を引き、行頭の 1 文字（Q と A）も同じ色にする. */
:is(.entry-content, .page-content__body) .dl-QAlist dt {
	margin: var(--pa-space-sm) 0 10px;
	padding: 5px;
	border-bottom: 1px solid var(--pa-color-border);
	border-left: 3px solid var(--pa-article-question-line);
	text-indent: 5px;
}

:is(.entry-content, .page-content__body) .dl-QAlist dt::first-letter {
	margin-right: 10px;
	color: var(--pa-article-question-line);
}

:is(.entry-content, .page-content__body) .dl-QAlist dd {
	margin: 10px 0 0;
	padding: 5px;
	border-left: 3px solid var(--pa-article-answer-line);
	text-indent: 5px;
}

:is(.entry-content, .page-content__body) .dl-QAlist dd::first-letter {
	margin-right: 10px;
	color: var(--pa-article-answer-line);
}

/* 黒丸の箇条書き（.ul-list）。移行元は共通 CSS で ul の行頭記号を消したうえで、
   `.ul-list li { list-style: disc inside }`（word/css/style.css の 28〜30 行）
   で個別に戻している。上の「箇条書きと定義リスト」で行頭記号を共通で消したので
   （Issue #2355）、ここでも同じ書き方で戻す. */
:is(.entry-content, .page-content__body) .ul-list li {
	list-style: disc inside;
}

/* QOL 総研の記事の箇条書き（`.disc-list01` = 黒丸 / `.num-list01` = 番号）。
   移行元は記事用の CSS（`qol/css/article.css`）で `li` の側に戻している。

       .disc-list01 li { list-style: disc; list-style-position: outside; }
       .num-list01 li  { list-style: decimal; list-style-position: outside; }

   🚨 **一覧の点の初期化を入れると、この 2 つは消える。**dev はこの記事用の CSS を
   写していなかったため、これまではブラウザの既定の点と番号がそのまま出ていて、
   結果として移行元と同じ見え方になっていた。初期化を入れると既定が効かなくなるので、
   移行元と同じ 2 行をここで写す。使っているのは `/qol/archives/component/` の
   1 ページで、移行元の HTML は `ul.disc-list01`（63 行）と `ol.num-list01`（68 行）
   である（記録版 19f499fe3 の `public/qol/archives/component.html` で確認）. */
:is(.entry-content, .page-content__body) .disc-list01 li {
	list-style: disc;
	list-style-position: outside;
}

:is(.entry-content, .page-content__body) .num-list01 li {
	list-style: decimal;
	list-style-position: outside;
}

/* コラム記事の写真の幅(移行元 word/css/style.css 8〜12行)。
   .story_imgC は img 自身に付くクラスで、移行元は width: 800px を当てるため必ず
   800px で描かれる。テーマの柱も 800px なので、元画像が 800px より小さいページだけ
   移行元より細く出る(元画像 700px / 696px の 6 ページ・のべ 22 点で実測)。
   携帯幅では共通の max-width: 100% が width より強く効くので、はみ出さない. */
:is(.entry-content, .page-content__body) img.story_imgC {
	width: 800px;
	height: auto;
}

/* コラム記事の横並びの箇条書き(移行元 word/css/style.css 32〜46行)。
   移行元は 3 列の横並び(display: flex / 幅 27.8%)に左の二重線と灰色の下地を当てる。
   テーマに指定が無いので素の縦積みになる。出るのは /word/2017-10-3.html の 1 ページで、
   そのページの中に器が 9 個・項目が 34 個ある。

   【寸法の書き換えについて】このテーマは box-sizing: border-box を全体に効かせている
   (このファイルの 354 行)。移行元は既定の content-box である。同じ外形を出すには
   width と height に「外形の値」を書く(このファイルの 671〜676 行の先例に合わせる)。
     高さ 50px + 上下の余白 20px -> 70px

   【幅を割合のまま写さない理由】移行元の 27.8% をそのまま外形へ直すと
   calc(27.8% + 23px) になるが、この式は器が広くないと 3 個が 1 行に収まらない。
   3 個の外形と余白の合計が器の内容幅を超えると flex-wrap が折り返すためである。
   移行元は器が 800px 固定なので表に出ないが、テーマの柱は画面幅に応じて縮む。
   画面幅 750〜816px で 2 列へ折り返すことを実測した(道具 probe-ullist-widths.mjs)。
   そこで「3 等分」を式で直に書く。器の内容幅から 6 個分の左右の余白 60px を引いて
   3 で割る。どの幅でも 3 個がちょうど 1 行に収まり、柱が広いとき(内容幅 790px)は
   1 個 243px になって移行元と一致する. */
:is(.entry-content, .page-content__body) .ul-list-flex {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 5px;
	margin-bottom: 10px;
}

:is(.entry-content, .page-content__body) .ul-list-flex li {
	display: flex;
	align-items: center;
	width: calc((100% - 60px) / 3);
	height: 70px;
	margin: 10px;
	padding: 10px;
	border-left: 3px double #ccc;
	background: #fafafa;
	list-style: none;
}

/* 携帯幅は 1 列にする(2026-08-31 にユーザーが選定)。

   移行元のパソコン版は幅を変えても組みが変わらず、幅 375px では 905px 横にあふれて
   3 列のうち 2 列が画面の外に出る。つまり携帯幅に「移行元どおり」の正解は無い。
   移行元自身の携帯版(/sp/word/2017-10-3.html)は、同じ内容を横並びではなく
   .matome-num-list の縦 1 列(連番つき)で組んでいる。1 列はその作りと一致する。

   横並びのまま携帯幅へ持ち込むと 1 個が 100px 前後に縮み、高さ 70px の固定に文字が
   収まらず、多くの項目で文字が箱の外へあふれて隣と重なる(幅 375px で実測)。
   よって幅を 100% に戻し、高さの固定もここで外す. */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .ul-list-flex li {
		width: 100%;
		height: auto;
		min-height: 70px;
		margin: 10px 0;
	}
}

/* 記事の前後へ移るリンク（移行元 .pager_menu）。移行元は 3 分割の横並びで、
   左が前の記事、中央が一覧、右が次の記事である。本文の末尾に残るため、
   横並びに戻して行頭記号を消す. */
:is(.entry-content, .page-content__body) .pager_menu {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: var(--pa-article-block-gap) 0 0;
	padding: 0;
	list-style: none;
}

/* 文字組みの写し元は移行元 css/style.css の 1686〜1691 行 `.pager_menu li`
   （font-size: 15px と letter-spacing: 0.05em）。移行元は行間を書いていないので、
   ここでも書かずに既定（normal）へ戻す。本文（.entry-content）が置いている
   16px と 1.5 をそのまま継ぐと、移行元の 1 行 23px に対して dev が 24px になり、
   字間も 0 になっていた。スマートフォン側の写し元は
   sp/introduce/story/css/style.css の 362〜367 行で、字間は同じ 0.05em である。
   同じ場所が書く 16px は写さない。移行元のスマートフォン版は基準の文字サイズを
   画面幅に連れて縮めるため、幅 375px での実測は 13px であり、16px と書くと
   かえって離れる. */
:is(.entry-content, .page-content__body) .pager_menu > li {
	flex: 1 1 0;
	margin-bottom: 0;
	font-size: 15px;
	letter-spacing: 0.05em;
	line-height: normal;
}

:is(.entry-content, .page-content__body) .pager_menu > li.m-center {
	text-align: center;
}

:is(.entry-content, .page-content__body) .pager_menu > li.m-right {
	text-align: right;
}

/* 🚨 **携帯幅で出す一覧へ戻るの押しボタンは、既定で隠す**（Bug #8460）。
 *
 * テーマが前後の記事の直後へ足す札なので（`inc/word-sp-parts.php` の
 * `pa_word_sp_back_link_insert()`）、**パソコン幅では出してはいけない**。移行元の
 * パソコン版は前後の記事の中の `li.m-center` だけである。
 *
 * 🚨 **この素の規則は、下の `@media (max-width: 749px)` の節より前に置く**
 * （節より後ろへ置くと、その幅でも素の規則が後勝ちする）。 */
:is(.entry-content, .page-content__body) .pa-word-sp-back {
	display: none;
}

/* 🚨 **結婚相談所のすゝめの記事の前後の記事と一覧へ戻るを、移行元の携帯版の組みにする**（Bug #8460）。
 *
 * 移行元は携帯版を別の markup と CSS（`sp/word/css/style.css` の 353〜368 行と 395〜431 行）で
 * 配っている。dev の本文はパソコン版なので、携帯幅でも 3 列の横並びのままだった
 * （幅 375・2026-09-25 19:5x の実測。控え `pa-verify-assets/B/8460-直す前-0925/`）。
 *
 * | | 移行元の携帯版 | 直す前の dev |
 * |---|---|---|
 * | 前後の記事 | 前を左・次を右の 2 列（各 48%・157.5 × 72） | 一覧・前・次の 3 列（各 98.7 × 138）。題名が 6 行に折り返す |
 * | 一覧へ戻る | 前後の記事の下の、枠と矢印の押しボタン（163.25 × 40.19・中央） | 前後の記事と同じ行の下線のリンク |
 *
 * 値は移行元の計算済みの値（同じ実測）から書いた。字の大きさは li が 16px・中のリンクが 13px で、
 * 行の高さは 1 行 24px だった（移行元の `normal` を dev の書体で写すと 1 行の高さが変わるので px で書く）。
 *
 * 🚨 **li の字も 13px にする。**li を 16px・リンクを 13px のまま行の高さを 24px にすると、
 * 大きさの違う 2 つの字が同じ行に並ぶため、行が 26px に広がる（下見で 3 行 78・移行元 72）。
 * li の中はリンクだけなので、li の字の大きさは行の高さのほかに効かない。
 *
 * 🚨 **`.pa-post--word` で絞る。**前後の記事は会員のホンネ体験談・QOM総研などほかの区画にもある。 */
@media (max-width: 749px) {
	.pa-post--word .entry-content .pager_menu {
		justify-content: space-between;
		gap: 0;
		padding-bottom: 30px;
	}

	.pa-post--word .entry-content .pager_menu > li {
		flex: 0 0 48%;
		font-size: 13px;
		letter-spacing: 0;
		line-height: 24px;
	}

	/* 次の記事だけのページでも右に置く（移行元は `float: right`）。 */
	.pa-post--word .entry-content .pager_menu > li.m-right {
		margin-left: auto;
	}

	.pa-post--word .entry-content .pager_menu > li.m-center {
		display: none;
	}

	/* 移行元 `#story .link_top`（上 10px・14px・中央・`clear: both`）と `#story .link_top.list a`。 */
	.pa-post--word .entry-content .pa-word-sp-back {
		display: block;
		margin: 0;
		padding: 10px 0 0;
		font-size: 14px;
		text-align: center;
	}

	.pa-post--word .entry-content .pa-word-sp-back a {
		position: relative;
		display: block;
		box-sizing: content-box;
		width: 40%;
		margin: 0 auto;
		padding: 10px 15px;
		border: 1px solid #9f8046;
		background: #fff;
		color: #9f8046;
		font-size: 13px;
		line-height: 18.2px;
		text-align: center;
		text-decoration: none;
		transition: 0.3s;
	}

	.pa-post--word .entry-content .pa-word-sp-back a::after {
		content: '';
		position: absolute;
		top: 38%;
		right: 10px;
		box-sizing: content-box;
		width: 8px;
		height: 8px;
		border-top: 1px solid #9f8046;
		border-right: 1px solid #9f8046;
		transform: rotate(45deg);
		transition: 0.3s;
	}
}

/* コラム記事の本文へ移行元の申し込み導線が残る 692 件は、テーマ側の導線ではなくこの
   1 組だけを見せる（Issue #2482・2026-08-31 の裁定）。写し元は word/css/style.css の
   487〜531 行である。pa-cv-title は本文変換が対象の導線だけへ足す印なので、同じ
   problem-area を使う他の記事へ、この幅と色を広げない。 */
:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) {
	/* 🚨 **訂正（Task #4266・2026-09-07）。**ここは以前
	   「移行元では文章の柱 800px より帯だけが広く、**article の実測幅（画面幅 − 30px、
	   最大 1100px）**いっぱいだった」と書いていた。**あの値は移行元ではなく dev 側の
	   器を測ったものだった。移行元にはそもそも `article` 要素が無い**（実測で 0 個）。
	   **移行元の帯は固定 1,100px である**（`https://www.p-a.jp/word/2023-02-12.html`
	   を幅 752px で測定・2026-09-07 11:52:58。帯 `.problem-area__inner` は 1100px で、
	   画面 752px でも縮まなかった）。

	   🚨 **下の 2 行は携帯幅（749px 以下）のために残してある。**750px 以上では
	   このファイルの下の囲みが移行元と同じ固定 1,100px へ上書きする。素の規則を直に
	   固定幅にすると、携帯幅でも 1,100px になってしまう。 */
	margin-top: 60px;
	margin-left: calc((100% - min(1100px, 100vw - 30px)) / 2);
	margin-right: calc((100% - min(1100px, 100vw - 30px)) / 2);
	padding: 60px 0 35px;
	background: #e4d7ce;
	color: #33322e;
	/* 🚨 **訂正（Bug #6311・2026-09-15）。**ここには以前
	   「写し元の帯は左そろえである（稼働ページで computed 値を実測した）」と書いて
	   `text-align: left` を置いていた。**移行元は 4 群とも中央である。**

	   | 群 | 件数 | 移行元パソコン版 | 移行元携帯版 |
	   |---|---:|---|---|
	   | ワード解説 | 692 | 書いていない（祖先 `#story` の `center` を受け継ぐ） | `text-align: center` |
	   | ご成婚報告 `/report/` | 124 | `text-align: center` | `text-align: center` |
	   | konkatsu-sp | 67 | `text-align: center` | `text-align: center` |
	   | contents | 66 | `text-align: center` | `text-align: center` |

	   ワード解説は幅 1440 と幅 375 で実測した（`https://www.p-a.jp/word/2023-02-12.html` と
	   `/sp/word/2023-02-12.html`・2026-09-15 03:31。移行元 `center`・dev `left`・箱は同じ）。
	   残る 3 群は写しの CSS を読んだ。

	   **ここへ何も書かなければ、dev も祖先の `#story` から `center` を受け継ぐ**
	   （祖先の並びを実測で確かめた）。**そろえの指定を足し直さないこと。** */
}

/* 🚨 **導線の帯の固定幅は 750px 以上だけに絞る（Task #4266）。**
 *
 * 移行元の帯は**固定 1,100px** である（上の訂正の実測）。上の素の規則は
 * `min(1100px, 100vw - 30px)` で画面の幅に追従していたので、ここで戻す。
 * **`- 30px` の引き算も外す。**あれは移行元に無い値で、dev 側の器を測った数字から
 * 来ていた。
 *
 * 🚨 **幅を明示する。**左右の負の余白だけで広げる形では、画面が 1,100px より狭いと
 * 帯の幅が画面の幅になってしまう（親が柱の 800px なので、余白の分だけ広がる）。
 * `width: 1100px` を置き、中央寄せは他の器と同じ式にそろえる。この式は移行元の
 * `margin: 0 auto` と同じ振る舞い（器が親より広いときは左端 0 で止まり、右へだけ
 * はみ出す）を作る。
 *
 * 🚨 **`:has(.pa-cv-title)` の絞りを広げてはいけない**（Issue #2482）。同じ
 * `problem-area` を使う他の記事へこの幅を広げない. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) {
		width: 1100px;
		margin-inline: calc(50% - min(550px, 50vw));
	}
}

/* 🚨 **一覧の部品では、上の外余白 60px を当て直す**（Bug #8802）。
 *
 * コラムの一覧（`archive-word.php`）は、囲みを部品 `template-parts/word-archive-cv.php` の
 * `.pa-word-archive-cv > .entry-content` の中に出す。囲みはその `.entry-content` の**先頭の子**
 * なので、後ろの `.entry-content.entry-content > :first-child { margin-top: 0 }` が同じ詳細度で
 * 後から勝ち、上の素の規則の `margin-top: 60px` が消える（下見の実測で並びの下端から 25px）。
 * 移行元 `word/css/style.css` の `.problem-area__inner` は `margin-top: 60px` である.
 *
 * 当たり先は一覧の部品の包みだけに絞る。記事の本文の囲みは先頭の子ではないので、もともと
 * 60px が効いている。携帯幅は記事と同じく外余白 0 のまま（移行元の携帯版も `margin: 0 -7%`）. */
@media (min-width: 750px) {
	.pa-word-archive-cv > .entry-content > .problem-area__inner:has(.pa-cv-title) {
		margin-top: 60px;
	}
}

/* 🚨 **携帯幅では、絵のナビから囲みまでを 40px 空ける**（Bug #8802）。
 *
 * 移行元の携帯版の全件・年別（`sp/word/all.html`・`category<年>.html`）は、絵のナビ
 * `ul.article_menu.mb40` の下の外余白 40px で囲みと隔てる（囲みは `margin: 0 -7%` で上の外余白 0）。
 * dev の絵のナビは `.pa-sp-list-nav { margin-bottom: 40px }` を持つが、本文の共通の規則
 * `.entry-content :is(ul, ol) { margin: 0 0 var(--pa-article-paragraph-gap) }`（詳細度 0,1,1）が
 * 0,1,0 のあちらに勝ち、携帯幅では 18px になる（下見の計算済みの値）.
 *
 * 絵のナビの規則そのものは直さない。絵のナビを持つほかの一覧すべてへ波及するためである。
 * ここでは**絵のナビの直後に来る一覧の部品の包み**にだけ上の外余白を置き、ナビの 18px と
 * 重ねて（外余白の相殺で大きいほうが残る）移行元の 40px にする。新着リストは絵のナビを
 * 持たないので当たらない（「すべての記事を見る」の下の外余白 40px がそのまま効く）. */
@media (max-width: 749px) {
	.pa-sp-list-nav + .pa-word-archive-cv {
		margin-top: 40px;
	}
}

:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents {
	/* word/css/style.css の 487〜531 行は、帯の内側を 950px 固定かつ左右の内余白なしで
	   中央へ置いている。器が狭いときだけ横あふれを避けるため width は 100% とする。 */
	width: 100%;
	max-width: 950px;
	margin: 0 auto;
}

/* テーマの本文既定は h2 に金色の下線、h3 に金色の縦棒を足す。写し元の 487〜531 行に
   どちらも無いため、帯の 2 見出しだけ枠線・色・字間を戻す。

   🚨 ここで内余白（padding）は 0 にしない。まとめて 0 にすると、下の .pa-cv-title が
   斜線帯を置くために取る下の内余白と綱引きになる。内余白は見出しごとの
   規則で明示する（テーマの既定より強いので上書きできる）。 */
:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) :is(.contents-title, .emphatic-title) {
	border: 0;
	color: #33322e;
	letter-spacing: 0;
}

/* 見出し（h2）は移行元の contents-title を残したまま pa-cv-title を足すため、後方の
   記事共通規則 .single-content--pa-article .pa-article .contents-title（0-3-0・
   padding: 0 と line-height: inherit を持つ）も同じ要素に当たる。ここは斜線帯を
   置くための下の内余白 31px と行の高さ 1 を勝たせる必要があるので、選択子を
   :has で限定して 0-4-0 に上げる。 */
:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-title {
	/* 写し元の大見出しは 45px の太字を中央へ置き、文字の下端から 26px 空けた 5px の
	   斜線帯までを見出しの幅いっぱいに引いている。 */
	position: relative;
	margin: 0;
	padding: 0 0 31px;
	font-size: 45px;
	/* 行の高さを 1 にして箱を文字に沿わせる。テーマの見出し既定は行送りを広く取るため、
	   そのままだと文字の下に余りが増え、下の斜線帯が写し元より離れる。 */
	line-height: 1;
	font-weight: bold;
	color: #33322e;
	text-align: center;
}

:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-title::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 5px;
	/* 写し元の帯を画素で測った値。水平に見ると 10px ごとに 3px の線が並び、上端と下端で
	   4px ずれるので傾きは 45 度の右上がりである。CSS の繰り返しは線に垂直な向きで
	   数えるため、水平の値へ sin 45 度を掛けて 太さ 2.12px・周期 7.07px とする。
	   向きは 135deg が右上がり（45deg は右下がりで逆になる）。 */
	background: repeating-linear-gradient(135deg, #33322e 0 2.12px, transparent 2.12px 7.07px);
}

:is(.entry-content, .page-content__body) .pa-cv-emphasis {
	/* 564px × 188px の画像を中央へ置いていた写し元は、3 行の外側に上 60px・下 40px を
	   取っている。文字は全行 40px の太字だった。内余白はテーマの h3 既定（左 12px）を
	   打ち消すために明示する。 */
	margin: 60px auto 40px;
	padding: 0;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}

:is(.entry-content, .page-content__body) .pa-cv-emphasis__line {
	/* 写し元の画像は全体で 188px あり、内訳は 1 行目の枠 56px・吹き出し 71px・
	   3 行目の枠 61px だった。上下の行をそろえて 58px ずつにすると合計 187px になり、
	   行の間隔が写し元と同じに見える。 */
	display: block;
	line-height: 58px;
}

:is(.entry-content, .page-content__body) .pa-cv-emphasis__mark {
	/* 中央行の灰色矩形は写し元で幅 564px・高さ 71px、赤文字の左右には約 23px ずつの
	   余白があった。

	   幅を 564px の固定にはしない。写し元の赤文字は 517px だが、書体は環境で変わるため
	   数 px 広く出ることがあり、固定にすると 1 文字だけ次の行へ落ちる（手元で実測した）。
	   内容に合わせて伸ばし、下限を写し元の 564px にする。こうすると写し元と同じ幅に
	   なり、少し広い書体でも折り返さない. */
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	width: max-content;
	min-width: 564px;
	max-width: 100%;
	height: 71px;
	padding: 0 23px;
	background: #f2f2f2;
	color: #b00024;
	line-height: 71px;
}

:is(.entry-content, .page-content__body) .pa-cv-emphasis__mark::after {
	/* 写し元の尻尾を画素で測った値。矩形の右端から 40px 内側で上辺が始まり、そこから
	   左へ 38px 伸びる。頂点は下で、上辺の左端よりさらに 7px 左である（高さ 26px）。
	   よって三角を収める箱は右端から 40px の位置に置き、幅 45px とする。 */
	content: '';
	position: absolute;
	top: 100%;
	right: 40px;
	width: 45px;
	height: 26px;
	background: #f2f2f2;
	clip-path: polygon(15.5556% 0, 100% 0, 0 100%);
}

:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .button-wrap {
	/* word/css/style.css の 487〜531 行は 3 本を均等に散らし、上を 60px 空ける。本文の
	   一覧既定が持つ行頭記号と左の内余白は、移行元には無いため消す。 */
	display: flex;
	justify-content: space-around;
	width: 100%;
	margin: 60px auto 0;
	padding-left: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .button-wrap li {
	margin: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .pa-cv-button {
	/* 写し元の各画像は 300px × 80px、白い内枠は外から 5px の位置だった。文字は画像へ
	   焼かれていた 28px の白い太字を、読めるテキストとして中央へ重ねる。 */
	position: relative;
	display: grid;
	box-sizing: border-box;
	width: 300px;
	height: 80px;
	place-items: center;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}

:is(.entry-content, .page-content__body) .pa-cv-button::before {
	content: '';
	position: absolute;
	inset: 5px;
	border: 1px solid #fff;
	pointer-events: none;
}

:is(.entry-content, .page-content__body) .pa-cv-button--request {
	background: #957d37;
}

:is(.entry-content, .page-content__body) .pa-cv-button--reserve {
	background: #ac0c2e;
}

:is(.entry-content, .page-content__body) .pa-cv-button--online {
	background: #10a399;
}

:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p {
	/* 写し元の本文は 18px・行送り 180% で、強調は半分から黄色を敷く太字だった。 */
	font-size: 18px;
	line-height: 180%;
}

:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .underlin {
	font-weight: bold;
	background: linear-gradient(transparent 50%, #ffff9d 50%);
	padding: 0 3px 3px;
}

/* 幅 300px のボタン 3 本（合計 900px）は、帯の内側（画面幅 - 左右余白 30px -
   スクロールバー最大 17px）が 900px を切ると flex-wrap なしの横並びでは収まらず、
   帯の外へあふれて横スクロールになる。横並びが収まるのは画面幅 947px 以上である。
   移行元のパソコン版は幅を変えても組みを変えない（正解となる組みが無い）ため、
   あふれを避けて縦積みへ切り替える条件をここまで広げる。 */
@media (max-width: 946px) {
	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-title {
		/* 見出しの 20 文字 × 45px = 900px も同じ境目で折り返し始める。行の高さ 1 の
		   ままだと折り返した上下の行がくっつくため、ここから広げる。 */
		line-height: 1.3;
	}

	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .button-wrap {
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}

	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .button-wrap li {
		/* 項目を柱いっぱいに広げてからボタンを中央へ置く。広げないとボタンが中身の幅まで
		   縮み、28px の文字が枠の外へ出る。 */
		width: 100%;
	}

	:is(.entry-content, .page-content__body) .pa-cv-button {
		width: min(300px, 100%);
		margin: 0 auto;
	}
}

/* 🚨 **移行元の携帯版だけが誘導を出す 1 本で、テーマが足した誘導をパソコン幅で隠す**（Task #8078）。
 *
 * `inc/word-cv-sp-only.php` が `/word/2018-11-17.html` の本文へ、誘導を器
 * `aside.pa-word-cv-sp-only` ごと足す（`div` にしない理由は部品の注釈）。移行元のパソコン版はこの 1 本だけ誘導を注釈で囲って
 * 出していないので、**幅 750px 以上では器ごと出さない**（ユーザー決定 D504）。
 * 携帯幅の見た目は、ほかの記事の誘導と同じ規則（下の節）がそのまま当たる. */
@media (min-width: 750px) {

	:is(.entry-content, .page-content__body) .pa-word-cv-sp-only {
		display: none;
	}
}

/* 🚨 **携帯版の悩みの絵 2 枚は、既定で隠す**（Bug #7976）。
 *
 * テーマが本文へ足す札なので（`inc/word-cv-text.php` の
 * `pa_word_cv_sp_problem_images()`）、**パソコン幅では出してはいけない**。
 * 移行元のパソコン版は `problem_pc.png` の 1 枚だけである。
 *
 * 🚨 **この素の規則は、下の `@media (max-width: 749px)` の節より前に置く。**
 * 節より後ろへ置くと、**その幅でも素の規則が後勝ちして** 2 枚が出ない
 * （`@media` は詳細度を上げないので、同じ詳細度なら並び順で決まる）。 */
:is(.entry-content, .page-content__body) .pa-cv-sp-problems {
	display: none;
}

/* 🚨 **携帯版の呼びかけの字も、既定で隠す**（Bug #8459）。
 *
 * テーマが強調の見出しの直後へ足す札なので（`inc/word-cv-text.php` の
 * `pa_word_cv_sp_appeal()`）、**パソコン幅では出してはいけない**。出すのは下の
 * `@media (max-width: 749px)` の節の、結婚相談所のすゝめの記事だけである。
 *
 * 🚨 **この素の規則も節より前に置く**（上の悩みの絵 2 枚と同じ理由）。 */
:is(.entry-content, .page-content__body) .pa-cv-sp-appeal {
	display: none;
}

@media (max-width: 749px) {
	/* 🚨 **移行元の携帯版は帯を画面いっぱいに広げ、内余白を `40px 0 0` にしている**
	   （`sp/word/css/style.css` の `.problem-area__inner`）。dev はパソコン幅の値を
	   そのまま出しているので、**幅 375 で高さが 89px 多い**（移行元 1227・dev 1316。
	   2026-09-15 03:31 の実測）。内訳は内余白の差 55px と、中身の高さの差 34.56px である。

	   🚨 **器の余白を測った値で書かない。**`assets/report/css/report-sp.css` が同じ
	   「画面いっぱい」を器の余白に頼らず作っているので、その書き方へそろえる。

	   🚨 **`.pa-post--word` で絞る。**移行元の「画面いっぱい」の作り方は群ごとに違う
	   （contents は `margin: 40px -7% 0`、konkatsu-sp は**広げない**（`margin: 2rem 0 0`））。
	   絞りを外すと、広げない群まで広げてしまう。

	   🚨 **詳細度で勝つ。**素の規則は (0,3,0)。ここは器を 1 つ足して (0,4,0) にする。
	   `@media` は詳細度を上げないので、並び順に頼らない。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) {
		width: 100vw;
		/* 🚨 **上下の外余白も 0 に戻す。**素の規則は `margin-top: 60px` を持つが、
		   移行元の携帯版は `margin: 0 -7%` で**上下とも 0** である（実測でも移行元
		   `0px -22.9688px 0px -22.9688px` 対 dev `60px 0px 0px 0px`）。左右だけ
		   上書きすると、**帯の前に移行元に無い 60px の空きが残る**（レビューの指摘）。 */
		margin-block: 0;
		margin-inline: calc(50% - 50vw);
		padding: 40px 0 0;
	}

	/* 🚨 **`em` も `rem` も写さない。**移行元は `font-size: 1.1em` で、根の字が 13px
	   なので 14.3px になる（幅 375 で実測）。dev は根の字が違うため、単位ごと写すと
	   別の大きさになる（Bug #6265 と同じ型）。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p {
		font-size: 14.3px;
	}

	/* 🚨 **帯の中の段落の上の空きを、移行元の携帯版へ戻す（Bug #6394）。**
	 *
	 * 移行元は**この帯をパソコン版と携帯版で別の markup にしている。**
	 *
	 * | | 移行元のパソコン版 `word/include/cv.shtml` | 移行元の携帯版 `sp/word/include/cv.shtml` |
	 * |---|---|---|
	 * | 段落の類名 | `p.mt30` | **`p.mt20`** |
	 * | その値 | `margin-top: 30px`（写しの `css/style.css` 327 行） | **`margin-top: 20px`**（`sp/css/style.css` 121 行） |
	 *
	 * dev は**パソコン版の本文を投入している**ので `p.mt30` が入り、テーマの
	 * `:is(.entry-content, .page-content__body) .mt30 { margin-top: 30px }` が当たる。
	 * **携帯幅で上書きする規則が無かった**ので、10px ぶん広かった（幅 375 で実測・
	 * 移行元 20px 対 dev 30px。控え `pa-verify-assets/D9/measure7b-0915/`）。
	 *
	 * 🚨 **群で必ず絞る。**この帯は共通部品で、移行元ではパソコン版 950 ページへ差し込まれる
	 * （`word` 693 / `report` 124 / `konkatsu-sp` 67 / `contents` 66）。**絞りを外すと全部が動く。**
	 * 先例は同じファイルの `.pa-page--report .problem-area__inner__contents p.mt30`（ご成婚報告の群）。
	 *
	 * 🚨 **相殺の読み**: 直前の段落の下の外余白は 18px なので、上を 20px にすると
	 * 空きは max(18, 20) = 20px になる。**これは字読みの計算で、実測は配信後に行う。**
	 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p.mt30,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p.mt30 {
		margin-top: 20px;
	}

	/* 携帯幅の移行元版には正解となる組みが無い（移行元のパソコン版は幅を変えても組みが
	   変わらず、375px では横へ大きくあふれる）。読める形を選ぶ。

	   パソコン幅の値をそのまま持ち込むと壊れる 3 か所のうち、見出しの折り返し（行の
	   高さ 1 では上下の行がくっつく）とボタンの縦積み（項目が中身の幅まで縮み、
	   28px の文字が枠の外へ出る）は上の 946px 以下の規則が受け持つ。残る 1 つ、
	   吹き出しの高さ 71px 固定（文字が折り返すと箱からはみ出す）を以下で解く。
	   見出しの字の大きさは、狭い柱で行数が増えすぎないよう携帯幅だけ 28px にする. */
	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-title {
		font-size: 28px;
	}

	:is(.entry-content, .page-content__body) .pa-cv-emphasis {
		font-size: 24px;
	}

	:is(.entry-content, .page-content__body) .pa-cv-emphasis__line {
		line-height: 1.6;
	}

	:is(.entry-content, .page-content__body) .pa-cv-emphasis__mark {
		/* 折り返しても切れないよう、高さの固定をやめて内余白で組む。パソコン幅で置いた
		   下限の幅 564px も外す（柱が狭いため、残すと横あふれになる）。 */
		width: 100%;
		min-width: 0;
		height: auto;
		min-height: 48px;
		padding: 8px 12px;
		line-height: 1.5;
	}

	/* 🚨 **悩みの絵を、移行元のスマートフォン版と同じ 2 枚へ入れ替える**（Bug #7976）。
	 *
	 * 移行元は同じ内容をパソコン版とスマートフォン版で別の絵にしている。
	 *
	 * | | 絵 |
	 * |---|---|
	 * | パソコン版 | `problem_pc.png` 1 枚（2 つの悩みが 1 枚に） |
	 * | スマートフォン版 | `problem1.png` ＋ `problem2.png` の 2 枚 |
	 *
	 * dev の本文は移行元のパソコン版なので 1 枚しか入っていない。テーマ側が
	 * （`inc/word-cv-text.php` の `pa_word_cv_sp_problem_images()`）2 枚を足し、
	 * **どちらを見せるかをここで幅ごとに決める。**
	 *
	 * 🚨 **2 枚は下の素の規則が既定で隠している。**この節だけを消すと、
	 * パソコン幅で絵が 3 枚になる（携帯幅のために足した札は、パソコン幅で隠す
	 * 指定も一緒に要る）。 */
	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-pc-problem {
		display: none;
	}

	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-problems {
		display: block;
	}

	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-problem {
		display: block;
		width: 100%;
		height: auto;
		max-width: 630px;
		margin-inline: auto;
	}

	/* 2 枚目の上に、移行元のスマートフォン版と同じ 20px の間を置く（`mt20`）。 */
	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-problem + .pa-cv-sp-problem {
		margin-top: 20px;
	}

	/* 🚨 **婚活のコラムと婚活の用語・お役立ち記事の帯を、画面いっぱいに広げる**（Bug #8105）。
	 *
	 * 携帯幅で帯を全幅にする規則は、これまで `.pa-post--word` の 1 本しか無かった。
	 * ご成婚報告（`/report/`）は親の器がもともと広いので全幅で出るが、
	 * **婚活のコラム（`/konkatsu-sp/`）と婚活の用語・お役立ち記事（`/contents/`）は
	 * `.single-content--pa-article .pa-article` の中にあり、帯が 345.00 で止まっていた**
	 * （移行元は 374.06〜375.00）。
	 *
	 * 上の Bug #8076 で中身へ `width: 92%` を当てたため、この 2 区画だけ
	 * `345 × 92% = 317.39` に縮み、**取り込み前より移行元から遠ざかった**
	 * （移行元 344.13〜345.00・差 -26.74 と -27.61。2026-09-20 15:0x の実測）。
	 *
	 * 移行元は 4 区画とも帯を広げている。
	 *
	 * | 移行元の CSS | `.problem-area__inner` |
	 * |---|---|
	 * | `sp/word/css/style.css` | `width: 114%; margin: 0 -7%;` |
	 * | `sp/report/css/style.css` | `width: 114%; margin: 2rem -7% 0;` |
	 * | `sp/contents/css/style.css` | `width: 114%; margin: 40px -7% 0;` |
	 * | `sp/konkatsu-sp/css/style.css` | `width: 114%` を注釈で外し `margin: 2rem 0 0;`（親がもともと全幅） |
	 *
	 * 🚨 **`width: 1100px` の形は使わない。**それは上の `@media (min-width: 750px)` の
	 * 規則で、携帯幅に持ち込むと画面の外へはみ出す。ここは `.pa-post--word` と同じ
	 * `100vw` の形にそろえる。
	 *
	 * 🚨 **上下の外余白と内余白は触らない。**この Issue は左右の幅だけを直す。
	 * `margin-inline` は左右にしか効かないので、`margin-top: 60px`（婚活のコラム）と
	 * `margin-top: 50px`（婚活の用語・お役立ち記事）はそのまま残る。
	 *
	 * 🚨 **詳細度で勝つ。**素の規則
	 * `:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title)` は
	 * (0,3,0) である。ここは `:has(.pa-cv-title)` を足して (0,4,0) にする。
	 * `@media` は詳細度を上げないので、並び順に頼らない。
	 * **`:has(.pa-cv-title)` は同じ `problem-area` を使う他の記事へ広げないための絞りでもある。** */
	.single-content--pa-article .pa-article .problem-area__inner:has(.pa-cv-title) {
		width: 100vw;
		margin-inline: calc(50% - 50vw);
	}

	/* 🚨 **中身を器の 92% に絞る**（Bug #8076）。
	 *
	 * 移行元のスマートフォン版は `sp/contents/css/style.css` でこう書いている。
	 *
	 *     .problem-area__inner__contents { width: 92%; margin: 0 auto; }
	 *
	 * dev にこの指定が無く、中身が親いっぱいに広がっていた。幅 375 の実測は
	 * 絵が **375.00 × 191.66**（移行元は **344.13 × 175.88**）で、**幅が 30.87px 広い**。
	 * 縦横比は保たれていたので、絵ではなく器の幅の差である
	 * （`374.06 × 92% = 344.14` が移行元の実測と合う）。
	 *
	 * 🚨 **絵だけでなく見出しと文章にも効く。**移行元も器ごと 92% に絞っており、
	 * 見出しの絵 `problem-title.png` の実測も 344.13 幅だった。
	 *
	 * 🚨 **残差 0.87px は消さない**（統括の決め・2026-09-20 13:53）。直したあとの dev は
	 * `375.00 × 92% = 345.00` になり、移行元の 344.13 と 0.87px 残る。親の幅が
	 * 移行元 374.06・dev 375.00 と 0.94px 違うためで、**両者は器を広げる書き方が別物である**。
	 * 移行元は `width: 114%; margin: 0 -7%`、dev はこのファイルの
	 * `margin-left/right: calc((100% - min(1100px, 100vw - 30px)) / 2)` である。
	 * **dev はこの型を使っていないので、0.94px は別の差として記録だけにして直さない。** */
	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents {
		width: 92%;
		margin-inline: auto;
	}

	/* 🚨 **来店予約のボタンを隠す**（Bug #7976）。移行元のスマートフォン版は
	 * このボタンを `<!-- -->` の中に置いており、**携帯では出していない**
	 * （`public/sp/word/include/cv.shtml`）。パソコン版は 3 つ出す。
	 *
	 * 🚨 **リンクの集合を数える検査は、隠したこの 1 本を数に入れない。** */
	:is(.entry-content, .page-content__body) .problem-area__inner:has(.pa-cv-title) .button-wrap li:has(.pa-cv-button--reserve) {
		display: none;
	}

	/* 🚨 **結婚相談所のすゝめの記事の導線を、移行元のスマートフォン版の組みへそろえる**（Bug #8459）。
	 *
	 * 移行元は携帯版を別の部品 `sp/word/include/cv.shtml` で配っている。dev の本文は
	 * パソコン版なので、携帯幅で次の 3 点が違っていた（幅 375・2026-09-25 19:17 以降の実測。
	 * 控え `pa-verify-assets/B/word下部-0925b/`）。
	 *
	 * | | 移行元のスマートフォン版 | 直す前の dev |
	 * |---|---|---|
	 * | 見出し | 絵 `problem-title.png`（344.13 × 79.2）。「婚活にまつわる／こんなお悩みありませんか？」の 2 行 | 字 28px（345 × 103.78）。「…お悩／み…」と語の途中で折り返す |
	 * | 強調の見出しの後ろの字 | 「成婚率No.1の…」＋3 項目の箇条書き＋「成婚率No.1という実績を…」 | パソコン版の「運任せの婚活では…」 |
	 * | 押しボタン | 絵 2 つを横に並べる（各 165.17 × 49.7） | 2 つを縦に積む（各 300 × 80） |
	 *
	 * 寸法は移行元の CSS（`sp/word/css/style.css` の 996〜1065 行）と、絵を画素で測った値から
	 * 書いた。移行元の根の字は 13px なので、`em` と `rem` は px に直して書く（Bug #6265 と同じ型）。
	 *
	 * 🚨 **`.pa-post--word` で絞る。**同じ導線はご成婚報告・婚活のコラム・婚活の用語と
	 * お役立ち記事にも入る。ご成婚報告は移行元が別の部品で配っているので、ここには入れない。
	 *
	 * 🚨 **お見合い・結婚コラム（`/contents/`）と PDCA サイクル（`/konkatsu-sp/`）は足した**（Bug #9652）。
	 * 移行元の携帯版は 2 群の全ページ（contents 66・konkatsu-sp 67）が、すゝめの記事と同じ部品
	 * `sp/word/include/cv.shtml` を取り込む（写しの全数を数えた・2026-10-07）。それなのに dev では
	 * 下の規則が `.pa-post--word` にしか当たらず、2 群は上の 946px 以下の縦積みのまま出ていた。
	 * 各規則に 2 群の選択子を並べて足し、**移行元の 2 群の CSS が違う所だけ**、この節の末尾で上書きする。
	 *
	 * 🚨 **2 群の選択子は `.entry-content` でなく `#seo` で書く。**2 群の申し込み欄は、移行元の
	 * パソコン版の全ページで `section#seo` の中にある（全数を数えた）。dev の本文もその形なので、
	 * `.single-content--pa-article .pa-article #seo .problem-area__inner__contents p { font-size: 18px }`・
	 * `… #seo li { margin: 0 }`・`… #seo p { margin: 0 }` の (1,3,1) と (1,2,1) が当たる。
	 * 類名だけの選択子では詳細度で負け、字も押しボタンの間も変わらない（下見の実測・2026-10-07）。
	 *
	 * 🚨 **詳細度で勝つ。**このファイルの帯の中の段落の規則は
	 * `.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p`
	 * の (0,5,1) である。段落と箇条書きの規則は `.problem-area__inner__contents` を挟んで (0,6,1) にする。 */

	/* 🚨 **絵から写した寸法は、幅 375 を基準にした `vw` の式で書く。**移行元の見出しと強調の見出しと
	   押しボタンは絵で、器の幅（画面の 92%）に合わせて縮む。px の固定で書くと、幅 320 では
	   見出しの 2 行目（24px の 13 字・約 312px）が器の約 294px に収まらず 3 行になり、押しボタンの
	   「オンライン無料相談」も枠からはみ出して 2 つ目が次の行へ落ちる（レビューの指摘）。
	   `calc(100vw * 値 / 375)` は幅 375 でちょうど下の説明の値になる。

	   見出しは移行元の絵と同じ 24px の 2 行にする（幅 375 の値）。絵を画素で測ると、字の高さは約 23px・
	   行の上端どうしの間は 38.2px・斜線帯は下端から約 1px 上の 3px 幅だった。行ごとに
	   `span` を段にして行の高さを字の大きさ 24px に詰め、2 行目の上に 14.2px を空けると、
	   字の上端が絵と同じ位置へ来る（24 ＋ 14.2 ＋ 24 ＋ 下の内余白 17 ＝ 79.2）。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-title,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-title {
		padding-bottom: calc(100vw * 17 / 375);
		font-size: calc(100vw * 24 / 375);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-title__line,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-title__line {
		display: block;
		line-height: calc(100vw * 24 / 375);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-title__line + .pa-cv-title__line,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-title__line + .pa-cv-title__line {
		margin-top: calc(100vw * 14.2 / 375);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-title::after,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-title::after {
		bottom: 1px;
		height: 3px;
	}

	/* 最初の段落の「等々、」の後ろの改行は、パソコン版だけが持つ。スマートフォン版は
	   改行せずに続ける（`sp/word/include/cv.shtml` の 6 行）。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-title + p.mt30 > br:first-child,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-title + p.mt30 > br:first-child {
		display: none;
	}

	/* 強調の見出しの上下は、移行元のスマートフォン版の `mt40 mb20` にそろえる。
	 *
	 * 🚨 **高さも移行元の絵 `problem-title02.png`（630 × 193 を 344.13 × 105.42 に縮めたもの）へ
	 * 合わせる。**上の携帯幅の規則のままだと 128.78 で、押しボタンまでが 23px 下へずれる
	 * （下見の実測・2026-09-25 19:4x）。絵を画素で測って縮めた値は次のとおり。
	 *
	 * | 部分 | 絵の上端からの位置 |
	 * |---|---|
	 * | 1 行目の字 | 1.1〜24.0 |
	 * | 灰色の矩形 | 31.7〜72.1（高さ 40.4・幅いっぱい） |
	 * | 尻尾 | 72.1〜84.7。上辺は矩形の右端から 36.6px 内側で終わり、左へ 19.1px。頂点はさらに 3.8px 左 |
	 * | 3 行目の字 | 79.8〜102.1 |
	 *
	 * 行の高さを字の大きさ 24px に詰め、間を外余白で空ける（24 ＋ 7.7 ＋ 40.4 ＋ 7.3 ＋ 24 ＋ 下の内余白 2 ＝ 105.4）。
 * 値はどれも幅 375 のもので、上の見出しと同じく `vw` の式で書く。上下の `mt40 mb20` は移行元でも
 * px の外余白なので、px のままにする。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis {
		margin-top: 40px;
		margin-bottom: 20px;
		padding-bottom: calc(100vw * 2 / 375);
		font-size: calc(100vw * 24 / 375);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__line,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__line {
		line-height: calc(100vw * 24 / 375);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__line:last-child,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__line:last-child {
		margin-top: calc(100vw * 7.3 / 375);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__mark,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__mark {
		display: block;
		height: calc(100vw * 40.4 / 375);
		min-height: 0;
		margin-top: calc(100vw * 7.7 / 375);
		padding: 0;
		line-height: calc(100vw * 40.4 / 375);
	}

	/* 尻尾は上の規則と同じ形（上辺が箱の左から 15.56% で始まる三角）を、絵の寸法へ縮める。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__mark::after,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__mark::after {
		right: calc(100vw * 36.6 / 375);
		width: calc(100vw * 22.9 / 375);
		height: calc(100vw * 12.6 / 375);
	}

	/* パソコン版の段落を隠し、スマートフォン版の字を出す。パソコン版の段落は、
	   テーマが足した字の塊のすぐ後ろにある（`pa_word_cv_sp_appeal()` を `<h3>` の直後へ置くため）。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal {
		display: block;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal + p,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal + p {
		display: none;
	}

	/* 移行元 `.txtStrong`（1.3rem・太字）と `.red`（#d7000f・1.3rem・太字）。行送りは段落と同じ 180%。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p.pa-cv-sp-appeal__lead,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p.pa-cv-sp-appeal__lead {
		margin: 20px 0 0;
		font-size: 16.9px;
		font-weight: bold;
		line-height: 180%;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal__red,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal__red {
		color: #d7000f;
		font-weight: bold;
	}

	/* 移行元 `.check-list`（上下 15px・左右 8%）と、その `li`（1.1rem・太字・左そろえ・行送り 2）。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks {
		margin: 15px 8%;
		padding: 0;
		list-style: none;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks > li,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks > li {
		position: relative;
		margin: 0;
		padding: 0;
		font-size: 14.3px;
		font-weight: bold;
		line-height: 2;
		text-align: left;
		list-style: none;
	}

	/* 赤いチェックの印。移行元は `top: 0.5em; left: -1.5em` の 10 × 5 の箱に、左と下の 3px の線を
	   引いて -45 度回す。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks > li::before,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks > li::before {
		content: '';
		position: absolute;
		top: 0.5em;
		left: -1.5em;
		box-sizing: content-box;
		width: 10px;
		height: 5px;
		border-left: 3px solid #d7000f;
		border-bottom: 3px solid #d7000f;
		transform: rotate(-45deg);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p.pa-cv-sp-appeal__text,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p.pa-cv-sp-appeal__text {
		margin: 0;
	}

	/* 移行元 `.underlin` は字を 1.1em に上げる（14.3px × 1.1 ＝ 15.73px）。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal .underlin,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal .underlin {
		font-size: 1.1em;
	}

	/* 押しボタンは移行元 `.button-wrap`（上下 30px）と、その `li`（48%・1 つ目の右に 4%）の横並び。
	   上の 946px 以下の縦積みを戻す。来店予約は上の規則が隠しているので、並ぶのは 2 つである。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .button-wrap,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .button-wrap {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: space-around;
		gap: 0;
		margin: 0;
		padding: 30px 0;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .button-wrap li,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .button-wrap li {
		width: 48%;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .button-wrap li:first-child,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .button-wrap li:first-child {
		margin-right: 4%;
	}

	/* 押しボタンの絵は 319 × 96 で、幅 165.17 に縮めると高さ 49.7 になる。白い内枠は外から
	   5 画素（縮めて約 2.5px）の位置の半透明の線、色は絵の地の色である。
	   🚨 **字は 17px にする（幅 375 の値・上の見出しと同じく `vw` の式で書く）。**絵の字は約 19.5px だが、
	   dev の字「オンライン無料相談」は絵の「オンライン説明」より 2 文字長く、19.5px では 165px の枠から
	   はみ出す。2 つの押しボタンで字の大きさはそろえる。 */
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-button,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-button {
		width: 100%;
		height: auto;
		margin: 0;
		aspect-ratio: 319 / 96;
		font-size: calc(100vw * 17 / 375);
		white-space: nowrap;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-button::before,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-button::before {
		inset: 2.5px;
		border-color: rgba(255, 255, 255, 0.5);
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-button--request,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-button--request {
		background: #99762b;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-button--online,
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-button--online {
		background: #0da391;
	}

	/* 🚨 **お見合い・結婚コラムと PDCA サイクルは、移行元の 2 群の CSS が違う所だけ上書きする**（Bug #9652）。
	 *
	 * 2 群は部品こそすゝめの記事と同じだが、読み込む CSS が違う（`sp/contents/css/style.css` と
	 * `sp/konkatsu-sp/css/style.css`）。すゝめの記事の CSS にある `.txtStrong`・`.check-list` と
	 * その `li::before`（赤いチェックの印）の規則が**2 群には無い**。そのため移行元の 2 群では、
	 * 訴求の字は reset（`sp/css/basic.css`）の 13px・太字なしのまま出る。赤字の色は共通の
	 * `sp/css/style.css` の `.red { color: #a70100 }` である。
	 *
	 * | | すゝめの記事 | 2 群（幅 375 の実測・2026-10-07） |
	 * |---|---|---|
	 * | 器の内余白 | `40px 0 0` | 同じ |
	 * | 「成婚率No.1の…」の段落 | 16.9px・太字 | 14.3px（段落の `1.1em`）・太字なし |
	 * | 「成婚率No.1」の赤字 | #d7000f・16.9px・太字 | #a70100・13px・太字なし |
	 * | 箇条書き 3 項目 | 外余白 `15px 8%`・14.3px・太字・左そろえ・行送り 2・赤いチェック | 外余白 0・13px・太字なし・中央そろえ・1 行 20px・印なし |
	 * | 箇条書きの `ul` | 字と寄せは `li` へ書く | `ul` も reset の 13px・中央そろえ（`ul` 自身の値も移行元にそろえる） |
	 *
	 * 🚨 **器の外余白（帯の上の空き）は触らない。**この Issue は欄の中の組みだけを直す。
	 * 器の左右は上の Bug #8105 の規則が全幅にしている。
	 *
	 * 🚨 **詳細度で勝つ。**上で足した 2 群の選択子と同じ形にそろえ、後ろに置いて並び順で勝つ。
	 * 器の素の規則 `padding: 60px 0 35px` は (0,3,0)、ここは `#seo` を含む (1,4,0) である。 */
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) {
		padding: 40px 0 0;
	}

	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents p.pa-cv-sp-appeal__lead {
		font-size: 14.3px;
		font-weight: normal;
	}

	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .pa-cv-sp-appeal__red {
		color: #a70100;
		font-size: 13px;
		font-weight: normal;
	}

	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks {
		margin: 0;
		font-size: 13px;
		text-align: center;
	}

	/* 行送りは移行元に指定が無く（`normal`）、字の形で決まる。dev は字の形が違うので、
	   移行元を幅 375 で測った 1 行 20px を書く。 */
	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks > li {
		font-size: 13px;
		font-weight: normal;
		line-height: 20px;
		text-align: center;
	}

	.single-content--pa-article :is(.pa-article--contents, .pa-article--konkatsu-sp) #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents ul.pa-cv-sp-appeal__checks > li::before {
		content: none;
	}

	/* 🚨 **お見合い・結婚コラムだけ、段落の下に 1em（14.3px）を空ける。**移行元の
	   `sp/contents/css/style.css` の `#sentence p { margin: 0 0 1em }` が、部品を包む
	   `#sentence` の中の段落に当たる。PDCA サイクルは部品が `#sentence` の外にあるので 0 である
	   （`sp/konkatsu-sp/plan/future.html` の 46〜86 行）。 */
	.single-content--pa-article .pa-article--contents #seo .problem-area__inner:has(.pa-cv-title) .problem-area__inner__contents :is(p.pa-cv-sp-appeal__lead, p.pa-cv-sp-appeal__text) {
		margin-bottom: 14.3px;
	}
}


/* 共有ボタンの並び（移行元 .menu_sns と .menu_sns02）。行頭記号を消して 1 行に並べる.

   🚨 **前提が変わった（Task #3748・#2623）。以前ここには「スクリプトは本文から
   除かれるため、文字のリンクだけが残る」と書いてあったが、いまは違う。**
   `inc/story-social-widgets.php` が読み込みの script を表示のときに足すので、
   **Twitter も Facebook も外部の SDK が枠（iframe）のボタンを描く**。全数の走査で
   947 ページ中 945 ページが移行元と同じくボタンを持つことを確かめてある（2026-09-09）。

   🚨 **それでもここの値は変えない。**寄せ方・間隔・余白は移行元の CSS
   （`public/css/style.css` の 1729〜1750 行）から写した値で、**中身が文字のリンクでも
   枠のボタンでも同じ**である。枠のボタンは行の中に並ぶ要素なので、下の
   `display: flex` の並びにそのまま乗る。

   🔴 寄せ方は 2 つで違う。移行元は本文の上に置く .menu_sns を右へ、本文の下に
   置く .menu_sns02 を中央へ寄せている（移行元 public/css/style.css の
   1729〜1750 行）。

       .grid_box .menu_sns   { margin: 0 auto 20px; width: 1100px; text-align: right; }
       .grid_box .menu_sns02 { margin: 0 auto; padding: 35px 0 0; width: 100%; text-align: center; }

   以前はこの 2 つを 1 つの規則にまとめて両方とも右へ寄せており、下の並びが
   移行元と食い違っていた（実測・幅 1440px: 移行元は項目が 676.5〜763.5px の
   中央、dev は 1047.75〜1120px の右。Issue #2343）。当て先は 962 投稿である。

   幅（1100px / 100%）は写さない。柱の幅そのものを移行元へ戻す件は Issue #2308 が
   扱っており、そちらで柱が広がればこの並びも移行元と同じ位置に落ちる. */
:is(.entry-content, .page-content__body) :is(.menu_sns, .menu_sns02) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	list-style: none;
}

/* 本文の上に置く並びは右寄せ（移行元 text-align: right）. */
:is(.entry-content, .page-content__body) .menu_sns {
	justify-content: flex-end;
	margin: 0 0 20px;
}

/* 本文の下に置く並びは中央寄せ（移行元 text-align: center）。上の余白 35px も
   移行元の padding: 35px 0 0 を写す.

   🚨 **下の外余白は持たせない**（Task #6444）。移行元は `.grid_box .menu_sns02
   { margin: 0 auto }` で、下の外余白を 1 つも持たない。**移行元の CSS を全数で
   走査して確かめた**（パソコン版の写しの 99 規則。`.menu_sns02` の素の規則は
   どの版も `margin: 0 auto` で、ページ別の上書き 6 本は `background` と
   `padding: 0 0 20px` しか足していない）。

   **上に置く `.menu_sns` のほうは移行元も `margin: 0 auto 20px` を持つ。**
   下の並びへ同じ値を書き写したときに紛れ込んだ形である。直前の規則の 20px は
   そのまま残す.

   この 20px は前から在ったが、本文の器（`.detail_inner`）に上下の内余白が
   無かったころは**器の外へ抜けていて高さに出ていなかった**。PR #6431 で器へ
   `padding: 35px 0 60px` を戻したところ蓋ができ、初めて差として現れた. */
:is(.entry-content, .page-content__body) .menu_sns02 {
	justify-content: center;
	margin: 0 auto;
	padding: 35px 0 0;
}

:is(.entry-content, .page-content__body) :is(.menu_sns, .menu_sns02) > li {
	margin-bottom: 0;
}

/* 本文の中に置かれた誘導のリンク（移行元 .txtBtn）。移行元は黒地に白抜きの
   横長の押しボタンで、右側に白い山括弧と短い下線が入る（Issue #1657）。
   以前は共通トークンの押しボタンの色（茶色）で小さく作っており、山括弧も
   下線も無かった。ここで移行元の値へ戻す。

   写し元: legacy/www.p-a.jp/public/word/css/style.css の 132〜145 行。
     display: block / background-color: #000 / color: #fff /
     padding: 15px 50px / font-size: 20px / letter-spacing: 0.04em /
     margin-left: 15px / background: url(/images/btn_arrow_m.png)
     no-repeat right 10px center

   矢印の絵（images/btn_arrow_m.png・26x38）は持ち込まず、CSS で描く。
   絵を 1 ドットずつ読んだ実測値は次のとおりで、色はどちらも白、残りは透明。
     山括弧: 絵の中で x=8〜18（幅 11px）・y=3〜22（高さ 20px）・
             斜めの線の太さは 2px（横方向の走りが 3 ドット = 2px / cos45 度）
     下線  : 絵の中で x=4〜21（幅 18px）・y=32・高さ 1px

   絵は right 10px center で置かれるので、ボタンの右端と中央から見た位置は
   次のようになる（絵の左端はボタン右端から 36px、絵の縦の中心は y=19）。
     山括弧: 墨の右端がボタン右端から 17px。縦の中心はボタンの中央から 6.5px 上
     下線  : 右端がボタン右端から 14px・幅 18px。上端はボタンの中央から 13px 下

   描き方は「正方形の右と下の枠線を回して山括弧にする」形である。下向きなら
   rotate(45deg)、こちらは右向きなので rotate(-45deg) にする。
   🚨 **かつてはこの書き方を店舗の帯の矢印（`.pa-branch__anchor-nav-link::before`）と
   共有していたが、あちらは移行元の絵を敷く形へ移った**（旧デザインは Bug #5805・
   改装版は Bug #6939）。**その規則はもう無いので、見に行かないこと。**

   移行元の a は display: block だが、あちらの .txtBtn は display: flex で
   囲んでいるため、実際には中身の幅に縮む。こちらは .txtBtn が text-align:
   center なので、同じ見え方になる inline-block のままにする。

   `.txtBtn_black01` も同じ規則で受ける（Bug #2194）。移行元は 2 つのクラスを
   別のファイルで宣言しているが、**宣言の中身が完全に同じ**である（`.txtBtn` は
   word/css/style.css の 123〜144 行、`.txtBtn_black01` は共通の css/style.css の
   133〜156 行。どちらも黒地・白抜き・矢印の絵・font-size 20px・padding 15px 50px・
   margin-left 15px・display: flex の囲み）。そのため同じ見た目の指定を 2 つ書かず、
   ここで両方を受ける。
   これを足す前は、記事の区画に `.txtBtn_black01` の上書き（余白と内余白）だけが
   あり土台が無かったため、**ボタンが黒地にならず並の文字として左に並んでいた**
   （実測: 移行元は黒地・白抜き・20px・中央寄せで高さ 64px、dev は透明・黒文字・
   15px・左寄せで高さ 45px）. */
/* 上の外余白だけを移行元の 30px にする（Task #3243）。

   移行元は 2 つのクラスとも `margin: 30px auto` を宣言している。

     `.txtBtn_black01` … 共通の css/style.css の 133〜141 行
     `.txtBtn`         … word/css/style.css の 123〜125 行

   ここは `var(--pa-space-sm)` を四方に当てており、パソコン幅で **40px** になっていた。

   【実測（幅 1440px・移行元は本番を 2026-09-04 に取得）】

     /visitor/parents/       `.txtBtn_black01`  上 移行元 30 → dev 40  ／ 下は両側 60（一致）
     /word/2017-10-1.html    `.txtBtn`          上 移行元 30 → dev 40  ／ 下 移行元 25 → dev 40

   **上は 2 ページとも 30px で一致するので、ここで直す。**

   🚨 **下の外余白は触らない。**移行元の本番の下は親御さまへが 60px（修飾クラス `.mb60` の
   写しが効いており、こちらの値は上書きされる）、婚活コラムが **25px** である。
   **25px の出どころが移行元の写しから追えない**（写しの `.txtBtn` は `margin: 30px auto`
   の 1 本しか持たず、本番と食い違っている）。当て推量で 30px にすると「直したのに合って
   いない」状態を作るため、**本番の CSS を読んで原因を特定してから別に直す**
   （司令塔の裁定・P3 の別 Issue）。

   【波及】移行元の写し（記録版 19f499fe）で、この 2 つのクラスを `class` 属性に
   持つページを全数で数えると **29 ファイル**である。内訳は次のとおり。

     `.txtBtn`         … 婚活コラム `/word/` 21 ページ + `/sp/word/` 4 ページ
     `.txtBtn_black01` … 親御さまへ `/visitor/parents/` 1 ページ
                         催しの案内 `/event/index.html` と、その控え `-index.html`
                         取り込み用の断片 `/contents/include/cv.shtml`

   **dev で実際に波及するのは、婚活コラムと親御さまへの 2 系統だけである。**
   婚活コラムは dev で `/word-2017-10-1/` の形になり、`class="txtBtn serif"` の実在を
   確認した。催しの案内は dev が **404 を返す未移行の区画**で（2026-09-04 に実測）、
   移行するときは 3 系統目になるので、そのときに上の外余白を測り直すこと。
   `/sp/word/` は携帯幅の版なので、下の `@media` が値を戻す。

   🚨 `txtBtn_gray01` `txtBtn_red01` `txtBtn_red02` は**名前が似ているだけの別のクラス**
   で、この規則は当たらない（HAPPY REPORT・川柳・成婚ストーリーで使われている）。
   `txtBtn` を部分一致で grep すると 12 のディレクトリが出るが、その大半はこの 3 つで
   ある。**部分一致の結果を波及の根拠にしてはいけない。**

   以前この注記に「約 950 ページ」と書いたが、それは移行元の**写し**の
   `contents/include/cv.shtml` を根拠にした誤りだった。**本番の
   `/report/r20121220.html` には `txtBtn` が 1 件も無く**、dev の対応ページにも無い
   （2026-09-04 に両方を実測）。**950 という数字は取り下げる。**

   【携帯幅は触らない】下の `@media` で `var(--pa-space-sm)`（この幅では 20px）へ戻す。
   移行元のスマホ版はこの 2 つのクラスを使わないので、携帯幅に移行元の値は無い。
   テーマがこれまで出していた 20px をそのまま保つ. */
:is(.entry-content, .page-content__body) :is(.txtBtn, .txtBtn_black01) {
	margin: var(--pa-space-sm) 0;
	margin-top: 30px;
	text-align: center;
}

@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) :is(.txtBtn, .txtBtn_black01) {
		margin-top: var(--pa-space-sm);
	}
}

:is(.entry-content, .page-content__body) :is(.txtBtn, .txtBtn_black01) a {
	position: relative;
	display: inline-block;
	margin-left: 15px;
	padding: 15px 50px;
	background-color: var(--pa-palette-ink-legacy);
	color: var(--pa-palette-white);
	font-size: 20px;
	letter-spacing: 0.04em;
	text-decoration: none;
}

/* 白い山括弧。1 辺 14px の正方形の右と下の枠線を 2px で引き、-45 度回す。
   回すと墨の高さは 14px x √2 = 19.8px、幅は (14px + 2px) / √2 = 11.3px に
   なり、実測の 20px x 11px と合う。
   位置: 回した墨の右端は箱の右端から 2.9px（= 14px x √2 / 2 - 7px）はみ出す。
   墨の右端をボタン右端から 17px にしたいので、箱の右端は 19.9px に置く。
   墨の縦の中心は箱の中心と一致するので、箱の上端はボタンの中央から
   6.5px + 14px / 2 = 13.5px 上に置く. */
:is(.entry-content, .page-content__body) :is(.txtBtn, .txtBtn_black01) a::before {
	content: "";
	position: absolute;
	top: calc(50% - 13.5px);
	right: 19.9px;
	width: 14px;
	height: 14px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
}

/* 山括弧の下に入る短い白い下線. */
:is(.entry-content, .page-content__body) :is(.txtBtn, .txtBtn_black01) a::after {
	content: "";
	position: absolute;
	top: calc(50% + 13px);
	right: 14px;
	width: 18px;
	height: 1px;
	background-color: currentColor;
}

:is(.entry-content, .page-content__body) :is(.txtBtn, .txtBtn_black01) a:hover {
	color: var(--pa-palette-white);
	opacity: 0.85;
}

/* `.txtBtn_black01` だけ、指を乗せたときの透けを移行元の 0.5 へ戻す。

   実測（幅 1440px・本物のマウスで乗せ、値が 3 回続くまで読み直して確定した。
   移行元は本番を 2026-09-04 に採取）: 透け 移行元 1 → 0.5 / dev 1 → 0.85。

   移行元 public/css/style.css の 158〜160 行が `.txtBtn_black01 a:hover
   { opacity: 0.5 }` を当てている。**これはサイト共通の CSS**（`import.css` が
   `@import "style.css"` で全ページへ通す）なので、`.txtBtn_black01` を使うページ
   すべてで 0.5 が正しい。

   🚨 **波及するページ数は 3 本ではなく約 950 ページである**（レビューの指摘）。
   このクラスを書いている移行元の HTML は 3 本だが、うち
   `contents/include/cv.shtml` は**生きた共通部品**で、パソコン版 950 ページが
   読み込む（婚活コラム /word/ 693・しあわせレポート /report/ 124・
   /konkatsu-sp/ 67・婚活の基礎知識 /contents/ 66。全数走査で確認）。

   **方向は変えない。**移行元のサイト共通 CSS 由来の値なので、その 950 ページでも
   0.5 が移行元と一致する側である。この直しは全ページを移行元へ寄せる。

   【`.txtBtn` を巻き込まない理由】もう一方のクラス `.txtBtn` は移行元に
   `:hover` の規則を持たない（宣言は public/word/css/style.css の 123〜144 行に
   あるが `:hover` は無く、共通 CSS 側にも `.txtBtn a:hover` は無い）。つまり
   移行元の `.txtBtn` は乗せても透けない。**その差はここでは直さない**（別 Issue
   で扱う）。上の規則の 0.85 をそのまま 0.5 へ書き換えると、透けの指定が無い
   `.txtBtn` まで巻き込むため、こちらのクラスだけを狙って規則を分ける。

   【強さ】上の規則とこの規則はどちらも **(0,3,1)** で同じである
   （`:is()` の詳細度は引数の中の最大値）。**同じ強さなので、必ず上の規則より
   後ろに置く。**前に置くと効かない.

   ユーザーの目視の指摘（2026-09-04「『ご予約フォームへ』の見た目に差があり、
   指を乗せたときの動きも違う」）の後半がこれである. */
:is(.entry-content, .page-content__body) .txtBtn_black01 a:hover {
	opacity: 0.5;
}

/* ==============================================================
 * 移行してきた本文が使うクラス（調査レポート /research/ 系）
 *
 * 移行元 public/css/style.css の .grid_box .detail_inner 以下と、
 * public/css/page_research.css を写す。囲みの div.detail_body は本文に
 * 残らないため、新テーマ側の囲みを起点に書き直す。
 *
 * 【重要】調査レポートは投入定義で post_type: page になる
 * （content-model.yaml の sources に「/research/ は静的化の対象だが page として
 * 固定ページ化する」とある）。よって page.php が描く .page-content__body の中に
 * 出る。.entry-content だけを起点にすると、この節の指定が 1 つも当たらない。
 * 上の婚活コラムの節と同じく :is() で 2 つの囲みをまとめて指定する。
 * ============================================================== */

/* 本文の器の上限を広げる（Issue #2699 の追補・実測は器 5,483px vs 移行元 310px）。
 * テーマの本文の器（`.entry-content` / `.page-content__body`。main.css の
 * 18256 行）は `max-width: var(--pa-inner-xs)`（800px）で、移行元の
 * `#research #slider { width: 1100px }`（下の規則）より狭い。広げないと、幅
 * いっぱいに縮尺される 12 枚の写真（実測 1100 × 310px）が 800 × 225px へ縮んで
 * しまい、器の高さが移行元の 310px に届かない。
 *
 * 【範囲を横送りの器を持つ一覧 1 ページだけに絞る理由】
 * `pa-page--research`（`page.php` が URL の先頭階層から作る目印）は、/research/
 * の一覧だけでなく調査レポートの個別ページ（/research/report_NN/ の 171 ページ）にも
 * 付く（`get_page_uri()` の先頭階層がどちらも `research` になるため）。下の
 * 「.story_inner .list_box」節のコメントが「器を広げる作業（Bug #1816 の系列）が
 * 済んでいない」としていたのは、まさにこの器を指す。
 *
 * ところが個別ページの移行元の文章の柱は、器（`#research .research_inner` や
 * `.grid_box .detail_body`。1100px）より狭い `.grid_box .detail_inner`
 * （`legacy/www.p-a.jp/public/css/style.css` の 1766 行・幅 800px）である。
 * テーマには `.detail_inner` に幅を与える規則が無いため、`pa-page--research` だけで
 * 上限を 1100px に広げると、171 ページの文章の柱まで移行元より広い 1100px に
 * なってしまう（1 行に入る文字数・段落の行数・ページの高さが変わる、#2699 の
 * 受入基準に無い見た目の変更）。
 *
 * そこで `:has()` で「横送りの器（#slider）を持つ一覧だけ」に絞る（`:has()` は
 * このファイルの 4209・11722・11726 行ですでに使っている書き方である）。2026-09-01
 * に dev の配信 HTML を 4 ページ（report_20・report_50・report_100・report_158）
 * 確認し、いずれも `id="slider"` を持たないことを確かめた。個別ページの文章の柱を
 * 移行元の 800px に合わせる作業は、引き続き別区画が扱う。
 *
 * 固定値ではなく上限として置くので、狭い画面では画面幅に合わせて縮む。/policy/ で
 * 先に幅を広げた f8e31852f と同じ考え方である。詳細度は (1,2,1)（`:has()` の中身は
 * 最も強いものになる。ここでは `#slider` の id 1 つぶんが乗る）で、テーマの既定
 * (0,1,0) に勝つ。
 *
 * 🚨 訂正（レビュー指摘。さらに実描画で検算して書き直し）: 「親の .page-content の
 * 上限（1,120px）の中に収まる」とここに書いていたが、指摘のとおり `var(--pa-inner-ex)`
 * （1,120px。main.css の 18218〜18221 行）を根拠にしたのが誤りだった。ただし、
 * 実際に描画して測ったところ、親 `.page-content` の上限は 1,120px ではなく
 * **1,130px** になっており、子の 1100px はすでにそのまま収まっている（指摘が
 * 挙げた 1,090px という不足は実物には出ない）。
 *
 * 理由は、`.page-content` の上限を決める規則がこのファイルに 2 つあり、
 * 後に書かれた方が勝つためである（詳細度はどちらも .page-content 単体で同じ
 * (0,1,0) なので、後勝ちになる）。
 *   - main.css 18218〜18221 行: `.single-content:not(.single-content--branch),
 *     .page-content { max-width: var(--pa-inner-ex); }` … 1,120px
 *   - main.css 27563〜27573 行: `.page-content, .single-content.single-content--recruit
 *     { max-width: 1130px; }` … 1,130px（コメントに「固定ページと採用の詳細。内容の
 *     幅を1,100pxにしたいので…」とあり、`page.php` を使う固定ページ全般に外枠
 *     1,130px・内寸 1,100px を持たせる、既存の意図した仕組みである）
 * ファイル内での並びは 18218 行 → 27563 行の順なので、後にある 27563 行の
 * 1,130px が勝つ。/research/ の一覧も page.php で描かれる固定ページなので、
 * この仕組みがそのまま効く。
 *
 * 実描画（1440px 幅・Playwright）で確認した実測: `.page-content` = 1130px、
 * `#slider`（`.page-content__body` の子）= 1100px、写真の高さ = 310px
 * （受入基準どおり）。上の子側の `max-width: 1100px` を足すだけで、親側を
 * 追加で広げる規則は不要だった（追加していた `.page-content:has()` の規則は
 * 削除ずみ）。
 *
 * 【個別ページへ漏れない理由（実装ではなく構造で保証）】調査レポートの個別
 * ページ（/research/report_NN/）は `single.php`（`<div class="single-content">`）
 * で描かれ、`page.php` の `<div class="page-content">` は使わない（`single.php`
 * 冒頭のコメントに「投稿の汎用単一テンプレート（集客記事 /word/ /research/ を
 * 含む）」とある）。`.page-content` に対する上の 2 つの規則はどちらも個別ページの
 * 柱に触れられないので、171 ページの文章の柱（別区画が扱う `.detail_inner`
 * 800px）はこの節と無関係のまま変わらない。 */
article.pa-page--research:has(#slider) > .page-content__body {
	max-width: 1100px;
}

/* 個別ページの文章の柱を移行元と同じ 800px にする（Bug #5145・159 ページ）。

   **上の節が「引き続き別区画が扱う」と書いていた作業がこれである。**

   移行元 `legacy/www.p-a.jp/public/css/style.css` の 1766〜1773 行:

     .grid_box .detail_inner {
       margin: 0 auto;
       padding: 35px 0 60px;
       width: 800px;        ← これがテーマに無かった
       font-size: 16px;
       line-height: 150%;   ← 1 行 = 24px
     }

   テーマ側は字の大きさと行送りだけを写しており（`--pa-article-font-size: 16px` と
   `--pa-line-height-text: 1.5`。両側で一致）、**幅の指定が無かった。**そのため柱が
   親の幅（実測 1,100px 前後）まで広がり、1 行に入る字数が増えて折り返しが減る。

   実測（`research/report_120.html`・幅 1440px・2026-09-09。移行元は写しを
   `php -S` で配って測った）:

     器（`.detail_inner`）の中身の縦の広がり  移行元 8,580.6px / dev 8,458.6px（**−122px**）
     子ごとの差                                `div.txtDivTbl` が **−23px で 4 回**（= 1 行ぶん）
     中身の量                                  直下の div 21・`<br>` 70・読める字 2,935 が**両側で完全一致**

   **中身は 1 文字も違わないので、差は柱の幅だけである。**

   🚨 **当たり先を `article.pa-page--research` で絞る。**移行元の規則は
   `.grid_box .detail_inner` という共通の形だが、同じ作りを持つページは 3 区画ある
   （投入データの控えで全数を数えた）。

     `/research/`        159 ページ（page 型）      ← この節の対象
     `/introduce/story/` 106 ページ（story 型）     ← 既に 800px を持つ（下の別の節）
     `/word/`             15 ページ（post 型）      ← 別の Issue で扱う

   🚨 **一覧ページ（`/research/`）はこの当たり先に当たらない。**一覧は
   `pa-page--research-top` が付き、`.grid_box .detail_inner` を持たない
   （159 ページのうち `#slider` を持つものは 0 件・道すじが `index` のものも 0 件）。

   **固定値ではなく `min()` の上限にする。**狭い画面では画面幅に合わせて縮むので、
   携帯幅の見た目が動かない。成婚ストーリーの
   `.single-content--story .entry-content .grid_box .detail_inner` と同じ書き方である。

   check-mobile-only: 意図してメディアクエリの外に置く。**上限だけを決める書き方
   （`min(800px, 100%)`）なので、幅 800px 未満の画面では `100%` に落ちて何も変わらない。**
   幅で分けると、境目で柱の幅が飛ぶ。実測（2026-09-09・幅 375px・代表 4 ページ）でも
   器の幅は **345px → 345px で前後の差 0px** だった. */
article.pa-page--research .grid_box .detail_inner {
	width: min(800px, 100%);
	margin-inline: auto;
}

/* 個別ページの文章の柱の上下の内余白（Bug #5192・実測 0/0 → 35px/60px）。

   **上の節は移行元 1766 行から幅だけを写しており、内余白が抜けていた。**

   移行元 `legacy/www.p-a.jp/public/css/style.css` の 1766〜1773 行:

     .grid_box .detail_inner {
       margin: 0 auto;
       padding: 35px 0 60px;   ← これが写されていなかった
       width: 800px;
     }

   実測（`research/report_01`・幅 1440px・2026-09-15 18:17〜18:30。
   **両側とも配信中の URL を実ブラウザで測った。手元の写しは使っていない**）:

     器（`.detail_inner`）の中身の高さ  移行元 3,372px / dev 3,249px（**−123px**）
     器の padding-top                   移行元 35px / dev **0px**
     器の padding-bottom                移行元 60px / dev **0px**

   差 −123px の内訳は引き算で合う。

     器の padding-top 35 → 0                       −35
     器の padding-bottom 60 → 0                    −60
     **空の段落の下 25px が器の高さに入っていない**  −25
     `.box_conduct` の下余白 65 → 60（わざとの差）  −5
     `ul.menu_sns02` の高さ 59 → 61（別件）         +2
                                            合計  −123

   🚨 **3 行目は内余白と同じ原因である。**先頭の空の段落（Bug #5192 で投入へ戻したもの）は
   **高さ 0px** なので、上下の外余白が自分の中で相殺する。器に内余白も罫線も無いと、
   相殺した外余白はそのまま**器の外へ抜ける**。移行元は内余白 35px が蓋になるので抜けられない。
   実測でも、次の子（`.box_conduct`）の上端が移行元 60px（35 ＋ 25）に対し dev は **0px** だった。
   **だから内余白を戻すと、抜けていた 25px も器の中へ戻る。**

   🚨 **「戻せば −123 が −3 になる」はまだ実測していない。**引き算では合うが、
   当てて測るまでは断定しない（配信後にこのページを測り直して確かめる）。

   🚨 **当たり先は `article.pa-page--research` で絞る。**移行元の規則は
   `.grid_box .detail_inner` という共通の形で、同じ作りを持つ区画が 3 つある。

     `/research/`        159 ページ（page 型）  ← この節の対象
     `/introduce/story/` 106 ページ（story 型） ← **同じ内余白を既に持つ**
                                                （`introduce-voice-story/css/story.css` の【7】）
     `/word/`             15 ページ（post 型）  ← 投稿なので下の共通の規則に当たる

   **投稿として出るページには、同じ内余白がもう当たっている**
   （`body.pa-legacy-detail-body .single-content:not(…) .grid_box .detail_inner`）。
   🚨 **調査レポートだけがそこから漏れる。**投入定義で `post_type: page` になるため
   （`content-model.yaml`「/research/ は静的化の対象だが page として固定ページ化する」）、
   `page.php` の `.page-content__body` で出て **`.single-content` を一度も持たない**。
   だからあの規則は当たりようがない。ここに 1 本足しても、届く先は
   `article.pa-page--research` の中だけである。

   🚨 **`min-width: 750px` の中に閉じる。**測ったのはパソコン幅だけで、携帯幅は移行元の
   スマートフォン版と組みが丸ごと違う（`legacy/www.p-a.jp/public/sp/research/report_98.html`
   は `detail_inner` も `grid_box` も 0 個）。成婚ストーリーの【7】と同じ絞り方である. */
@media (min-width: 750px) {

	article.pa-page--research .grid_box .detail_inner {
		padding: 35px 0 60px;
	}
}

/* 🚨 **QOM総研の一覧の 2 ページ目以降の「トップにもどる」を、携帯幅だけ移行元の携帯版にそろえる**（Bug #8410）。
 *
 * 移行元は字も組みもパソコン版と携帯版で違う（`archive-pa_research.php` の注釈に表がある）。
 * dev は携帯幅でもパソコン版の字「<　QOM総研トップにもどる」を左寄せ・下線で出していた
 * （幅 375・2026-09-25 20:1x の実測。控え `pa-verify-assets/B/8410-直す前-0925/`）。
 *
 * 値は移行元 `sp/research/css/style.css` の 104〜113 行（`#research .link_top` と `.link_top.list`）と、
 * 同じ実測の計算済みの値から書いた。段落は 14px（高さ 51 ＝ 上の内余白 30 ＋ 1 行 21）・リンクは 13px・黒・下線なし。
 * 移行元の行の高さ `normal` は dev の書体で写すと変わるので、1 行 21px を px で書く。
 *
 * 🚨 **携帯版の字は既定で隠す。**この素の規則を下の `@media` の節より前に置く（節より後ろだと
 * その幅でも後勝ちする）。
 *
 * 🚨 **この区画の携帯幅は、ほかの部分を対象外としている**（`inc/research-page-css.php` の注釈・Bug #2910）。
 * この Issue は事業部の指摘（ユーザー決定 D581 で P0）の 1 本だけを直す。 */
.pa-research-archive #research .back_top .pa-research-back__sp {
	display: none;
}

@media (max-width: 749px) {
	.pa-research-archive #research .back_top {
		margin: 0 0 35px;
		padding: 30px 0 0;
		font-size: 14px;
		line-height: 21px;
		text-align: center;
	}

	.pa-research-archive #research .back_top a {
		color: #000;
		font-size: 13px;
		text-decoration: none;
	}

	.pa-research-archive #research .back_top .pa-research-back__pc {
		display: none;
	}

	.pa-research-archive #research .back_top .pa-research-back__sp {
		display: inline;
	}
}

/* 素の字を包んだ段落の下余白を外す（同じ Bug #5145）。

   移行元は設問の塊（`.txtDivTbl`）の中で、**解説の文を要素で包まず素の字のまま**
   置いている。投入すると `wpautop()` がそれを `<p>` で包むため、テーマの
   段落の下余白 25px が付いて、移行元に無い隙が 1 か所ずつ増える。

   **包み（`div`）にクラスが無いものだけを対象にする。**移行元が本当に `<p>` を
   置いている `.box_conduct` の中の段落は、下余白 25px を持つのが正しい
   （両側で `p` 1 個・下余白 25px を実測）。クラスの有無で 2 つを見分けられる。

   実測（幅 1440px・2026-09-09・**配る CSS を `context.route` で作業場所のファイルへ
   差し替えて測った**。`addStyleTag` の末尾差し込みは使っていない。移行元は手元の写しを
   `php -S` で配った）:

     ページ         柱を直す前   この節を入れた後   残る差
     `report_120`   −122px       8,572.6px          **−8px**（子 15 個のうち 13 個が一致）
     `report_01`    −196px       3,249px            **−28px**
     `report_02`    −244px       3,126px            **−28px**
     `report_102`   −71px        3,924px            **−3px**

   柱の幅は 4 ページとも **800px → 800px で移行元と一致**した。

   🚨 **代表は `.detail_inner` を持つページから選ぶ。**`report21` `report18` `report15` は
   この器を持たない（あれは Task #5023 の `<br>` の本数を測る代表である）。

   **残る差は 3 つに分かれ、どれもこの節とは別の原因である**（隙間の和と子の高さの和に
   分けて数え、1px 単位で足し合わせが合うことを確かめた）。

     ① `.box_conduct` の下余白  移行元 65px / dev 60px（`--pa-space-md`）… **−5px**
        🚨 **これは Bug #6966 で直した。**もとの注釈は「移行元の 65px はスマートフォン幅では
        広すぎるため」と書いていたが、**それは狭い画面の話で、パソコン幅まで縮める理由には
        ならない。**いまは幅 750px 以上だけ 65px にしてあるので、**この −5px は出ない。**
     ② 移行元にだけ在る空の段落（`<p></p>`）の下余白 25px … **−25px**（4 ページ中 2 ページ）
        高さは 0px だが下余白を持つので隙になる。投入で落ちている。中身の側の話であり、
        Bug #5004（空の段落を `<br>` へ変える）と同じ系である。
     ③ `ul.menu_sns02` の高さ 移行元 59px / dev 61px と下余白 0px → 20px … **+2px**
        全ページ共通の部品の差。別に扱う。

     足し合わせ: `report_01` `report_02` = −25 − 5 + 2 = **−28px**、
                 `report_102` = −5 + 2 = **−3px**、
                 `report_120` = −5 +（+2 −5）= **−8px**（`report_120` は
                 `.txtDivTbl` の高さも −5px 違う）

   🚨 **陰性対照**（成婚ストーリー `story_01`・同じ `.detail_inner` を持つ
   別区画）: 差し替えの前後で中身の高さ **+0px**・柱の幅 800px のまま。差し替わった
   CSS は 1 本なので、対照として成り立っている。

   🚨 **この節は携帯幅にも効く。幅で分けない。**

   check-mobile-only: 意図してメディアクエリの外に置く。理由は 2 つある。

   ① **当たり先の作りは幅によらず在る。**dev は 1 つの URL で同じ本文を配り、
      幅で入れ替えない。`.txtDivTbl` の中の素の字は幅 375px でもそのまま在るので、
      幅で分けると**携帯幅だけ移行元に無い隙が残る**（同じページの中でパソコン幅と
      携帯幅で作りが食い違う）。実測（2026-09-09・幅 375px）で器の中身は
      `report_120` が −108px・`report_102` が −72px 縮み、隙が消えたことを確かめた。
   ② 🚨 **携帯幅には突き合わせる相手が無い。**移行元は携帯幅では別のページ
      （`/sp/research/report_120.html`）を配り、**作りがまるごと違う**
      （`.txtDivTbl` が 0 個・`.detail_inner` も 0 個で、代わりに `.column_question`
      が 9 個）。よって「移行元スマホ版にもこの隙が無い」とは**言えない**。
      携帯幅の突き合わせは別に扱う. */
article.pa-page--research .grid_box .detail_inner .txtDivTbl div:not([class]) > p:last-child {
	margin-bottom: 0;
}

/* 節の見出し。移行元 .text_title は 20px の文字の左に、幅 4px・高さ 16px の
   縦棒の画像（/images/icon01.gif）を背景に敷いている。dev も同じ絵を背景に敷く
   （Bug #9821・ユーザー決定 D830）。テーマの `assets/images/icon01.gif` は移行元の
   絵とバイト数まで同じ（53 バイト・4 × 16）。
   以前は絵を持ち込まず、同じ形の縦棒を `::before` の横方向の階調で描いていた
   （Issue #1657・Task #8413）。D830 で移行元どおり絵に戻した.

   🚨 **背景は一括の `background` で書かない。**一括で書くと背景色まで初期値へ戻す。
   区画ごとの規則が背景色を持ったときに、ここが黙って打ち消す.

   上下の位置: 携帯幅は以前の `::before` の `top: 0.25em` と同じ位置に置く。
   パソコン幅は下の @media で移行元と同じ上から 3px にする（Bug #8414）. */
:is(.entry-content, .page-content__body) .text_title {
	position: relative;
	margin: 45px 0 35px;
	padding-left: 14px;
	font-size: 20px;
	line-height: 1.4;
	background-image: url("../images/icon01.gif?ver=cdb5bb0c6f2a");
	background-repeat: no-repeat;
	background-position: 0 0.25em;
}

/* 🚨 **パソコン幅は、飾りの上端を見出しの箱の上端から 3px に置く（Bug #8414）。**
   移行元パソコン版は全区画で `background: url(icon01.gif) no-repeat left 3px`
   （`css/style.css` の 1410〜1416 行。結婚相談所のすゝめは `word/css/style.css` の
   14〜20 行で同じ `left 3px`）。上の `top: 0.25em` は字の大きさ 20px で 5px になり、
   飾りが 2px 下に出ていた（2026-09-25 11:01・幅 1440・QOM総研の記事の詳細 5 本の
   見出し 21 本すべてで移行元 3px / dev 5px・`pa-verify-assets/B/serial02-飾り-0925/`）。

   当たり先は `.text_title` を持つ 4 区画（移行元パソコン版で数えた値: QOM総研 160・
   成婚ストーリー 106・結婚相談所のすゝめ 15・シングルマザー応援プラン 4 ページ）。
   **携帯幅は変えない。**移行元スマホ版は区画ごとに値が違い（QOM総研は `left 5px`・
   4 × 17、成婚ストーリーと結婚相談所のすゝめは `left 3px`・4 × 17）、この Issue の範囲の外である. */
@media (min-width: 750px) {

	:is(.entry-content, .page-content__body) .text_title {
		background-position: 0 3px;
	}
}

/* 設問と解説のかたまり。移行元 #research .txtDivTbl は display: table で
   組んであるが、中身は縦に積むだけなので、間隔だけを写す. */
:is(.entry-content, .page-content__body) .txtDivTbl {
	margin-bottom: 20px;
}

/* 設問文。移行元 .column_question は太字で、行頭の「Q.」だけを赤くする. */
:is(.entry-content, .page-content__body) .column_question {
	margin-bottom: 20px;
	font-weight: bold;
}

:is(.entry-content, .page-content__body) .column_question span {
	color: var(--pa-color-accent-strong);
	font-weight: bold;
}

/* 調査の背景を載せる囲み。移行元 .box_conduct の下地と余白を写す。

   下の外余白は**幅で分ける**（Bug #6966）。

     幅 750px 以上  移行元パソコン版と同じ 65px（`css/style.css` 1779〜1783 行）
     幅 749px 以下  余白のトークン（30px）のまま

   🚨 **もとは幅を分けずトークン（パソコン幅で 60px）だけを使っていた。**注釈には
   「移行元の 65px はスマートフォン幅では広すぎるため」と書いてあったが、
   **その心配は狭い画面の話で、パソコン幅まで 5px 縮める理由にはならない。**
   幅で分ければ両方立つ。実測（2026-09-17 19:3x・幅 1440px・`research/report_99` 8 件と
   `research/report_158` 2 件）で移行元 65px 対 dev 60px の差が 10 件とも出ていた。

   🚨 **狭い画面はここでは直さない。**移行元スマートフォン版は
   `sp/research/css/style.css` 155〜159 行で `margin-bottom: 40px`・`padding: 15px 6.25%` を
   当てており、**トークンの 30px とも内余白とも食い違う。**ただし**その幅は測っていない**ので、
   測ってから別に扱う（この節では触らない）.

   当たり先は移行元の全数で **233 個・159 ページ**である（投入用データ
   `payload-0913-f5e3e805f.jsonl` の本文を数えた。`assets/css/main.css` の区画の冒頭の
   注釈が書いている 233 回と一致する）. */
:is(.entry-content, .page-content__body) .box_conduct {
	margin-bottom: var(--pa-space-md);
	padding: 35px 40px 10px;
	background-color: var(--pa-article-conduct-bg);
}

@media (min-width: 750px) {

	:is(.entry-content, .page-content__body) .box_conduct {
		margin-bottom: 65px;
	}
}

/* グラフ画像を中央に寄せる囲み。移行元 #research .center である. */
:is(.entry-content, .page-content__body) .center {
	text-align: center;
}

/* 関連する調査の一覧。移行元 .box_relation の題名は金色の 30px である. */
:is(.entry-content, .page-content__body) .box_relation {
	margin-top: var(--pa-space-md);
}

:is(.entry-content, .page-content__body) .relation_ttl {
	margin-bottom: 30px;
	color: var(--pa-color-heading);
	font-size: var(--pa-article-h2-size);
	line-height: var(--pa-line-height-heading);
}

/* 関連する調査の並び（移行元 .list_box）とページ先頭へ戻るリンク
   （移行元 .page_top）。どちらも箇条書きとして本文に残るため、行頭記号を
   消して並べ直す。

   Bug #2703: カードの幅は移行元と同じ 352px の固定にする。以前は
   `flex: 1 1 200px` の伸び縮みで並べていたが、この書き方は 1 行の枚数が器の幅で
   変わる。器を 1,100px へ戻した調査の一覧では 1 行 5 枚・カード 204px になり、
   移行元の 1 行 3 枚・352px から遠ざかっていた。さらに半端な最後の行だけ
   `flex-grow: 1` でカードが 540px まで横に伸びていた。

   写し元は `legacy/www.p-a.jp/public/css/style.css` の 1586〜1596 行である。
   `.list_box li a` に `float: left; width: 352px; margin: 0 22px 22px 0` を当て、
   器の負の外余白（`margin-right: -22px`）で最後の列のぶんを打ち消す作りになって
   いる。カード 352px・間隔 22px なので、器が 1,100px のとき
   352 × 3 ＋ 22 × 2 ＝ 1,100px でちょうど 1 行 3 枚になる。

   【間隔をカードの外余白で作らない理由（Bug #1938）】移行元の器は 1,100px 固定
   なので負の外余白で収まるが、移行先の器は画面幅に追従する（min(1100px, 100vw)）
   ため、器が画面幅と同じになる 750〜1,100px では打ち消しの 22px がそのまま画面の
   外へ出て横スクロールになる。カードの左端の位置と 1 行の枚数は列の間隔でも
   同じになるので、横の間隔は列の間隔（`column-gap`）で作る。行の間隔は移行元の
   カードの下の外余白と同じ 22px を項目（li）に持たせる。

   【当てる範囲】`.story_inner` を持つ一覧は、下の節がより細かい指定で上書きする
   ので変わらない（ワード解説 9 ページ・成婚ストーリーの一覧ほか 13 ページ）。
   残る移行元 282 ファイルのうち、カードが 4 枚以上あって 1 行の枚数が実際に
   変わるのは調査（`/research/`）の 17 ファイルだけである。ほかの 265 ファイルは
   カードが 3 枚で、伸び縮みでも 353.33px になっていたため、変わるのは 1px 級の
   幅と左端だけで、いずれも移行元の 352px へ近づく（2026-09-02 に移行元の写し
   12,737 ファイルを全数で数えた）. */
:is(.entry-content, .page-content__body) .list_box {
	display: flex;
	flex-wrap: wrap;
	/* 縦横とも移行元のカード間隔 22px（移行元は `.list_box li a` の右と下の
	   外余白 22px が作っている。行の間隔は実測でも 22px である）.

	   行の間隔をカードの外余白ではなく行の間隔（`row-gap`）で作るのは、関連記事の
	   箱が空のままのページ（Bug #2702・261 ページ）で、行が 1 つしか無い空の箱に
	   22px の空きを足さないためである。行の間隔は行と行の間にしか出ない. */
	gap: 22px;
	margin: 0 0 var(--pa-article-paragraph-gap);
	padding: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .list_box > li {
	/* 移行元のカードの幅 352px。伸び縮みさせない（半端な行でも横に伸びない）. */
	flex: 0 0 352px;
	margin-bottom: 0;
}

/* --------------------------------------------------------------
 * カードの下地と内余白（Bug #2910）
 *
 * 移行元は次の 2 つを**共通 CSS**（写し元 `public/css/style.css` の 1590〜1606 行）に
 * 置いており、`.story_inner` の有無に関わらずすべての一覧へ当たる。
 *
 *   .list_box li a                    { background: #F9F9F9; float: left; width: 352px }
 *   .list_box li a .list_detail       { padding: 20px }
 *   .list_box li a .list_detail span  { display: block }
 *
 * 🚨 **テーマはこれを `.story_inner` を持つ一覧にしか当てていなかった。**そのため
 * 調査レポートの一覧（`/research/` の 13 ページ）と調査レポートの詳細の関連記事で、
 * カードの下地が付かず、題名と抜粋がカードの端まで広がっていた（幅 1440px と 1200px の
 * 実測で、下地が透明・`.list_detail` の内余白 0px・`a` が `display: inline`）。
 *
 * 🚨 **当てるのは幅 750px 以上だけである。**移行元は携帯の名乗りに対して別ページ
 * （`/sp/research/list01.html`）を返し、そのページは `.list_box` を使わない別の組み
 * （`link_top list`）である。**携帯幅の正はそちらのページなので、この共通 CSS を
 * 携帯幅へ広げる根拠が無い**（司令塔の裁定 673・2026-09-08）。ワード解説・成婚
 * ストーリーの一覧が携帯幅で持つカードの見た目は、下の `.story_inner` の節と
 * 携帯幅の節（`max-width: 749px`）が作っている。
 *
 * ワード解説・成婚ストーリーだけの上書き（カードの高さをそろえる `height: 100%`・
 * 写真の高さ 235px・行の間隔 20px。写し元 `public/word/css/style.css` 450〜482 行）は
 * 下の `.story_inner` の節に残す.
 * -------------------------------------------------------------- */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) .list_box li a {
		display: block;
		background: #f9f9f9;
		text-decoration: none;
	}

	:is(.entry-content, .page-content__body) .list_box li a:hover {
		background: #fbfbfb;
	}

	/* 🚨 移行元はカードの中を `<p>` 2 つ（写真の器と `.list_detail`）で組むが、取り込みで
	   どちらも `<span>`（行の中に流れる要素）に変わっている。塊へ戻さないと、内余白 20px が
	   字を押し込めず題名と抜粋がカードの端まで広がり、写真の器も行の高さのぶん（実測 16px）
	   しか高さを持たない。移行元の CSS にこの `display: block` は無く、DOM の形が変わった
	   ぶんの埋め合わせである（Bug #2706・#2756 と同じ理由）. */
	:is(.entry-content, .page-content__body) .list_box li a > span {
		display: block;
		margin: 0;
	}

	:is(.entry-content, .page-content__body) .list_box li a .list_detail {
		padding: 20px;
	}

	/* wpautop（段落を自動で `<p>` に包む WordPress の機能）が、移行元に無い `<p>` を
	   1 つ増やす場合の受け皿である。Bug #2756 で移行してきた本文の出どころは断ったが、
	   人が管理画面で同じ作りを書くと出るため残してある. */
	:is(.entry-content, .page-content__body) .list_box li a .list_detail > p {
		margin: 0;
	}

	/* 題名・抜粋・「この記事を読む」を縦に積む（写し元 public/css/style.css 1606 行）。
	   通し番号（`.num`）の `inline-block` は詳細度が同じで**後ろに置いてある**ので勝つ. */
	:is(.entry-content, .page-content__body) .list_box li a .list_detail span {
		display: block;
	}
}

/* --------------------------------------------------------------
 * ワード解説の一覧のカード（Bug #1839）
 *
 * 上の .list_box は調査（/research/）の「関連する調査」のために書いたもので、
 * flex: 1 1 200px の伸び縮みで並べている。この書き方は器の幅で 1 行の枚数が
 * 変わるため、器を 1,100px へ戻したワード解説の一覧（/word/）では 1 行 5 枚・
 * カード 204px になり、移行元の 1 行 3 枚・374px から遠ざかっていた。
 *
 * 移行元はカードの幅を固定で組んでいる。写し元は 2 つある。
 *   public/css/style.css 1586〜1596 行  .list_box { margin: 0 -22px 0 0 } と
 *                                       .list_box li a { float: left;
 *                                       width: 352px; margin: 0 22px 22px 0;
 *                                       background: #F9F9F9 }
 *   public/word/css/style.css 450〜482 行 .story_inner .list_box を flex にし、
 *                                       li に margin-bottom: 20px、a に
 *                                       height: 100%、写真に height: 235px を当てる
 *
 * カード 1 枚は 352px、カードの間は 22px なので、器が 1,100px のとき
 * 352 × 3 ＋ 22 × 2 ＝ 1,100px でちょうど 1 行 3 枚になる。上の .list_box が
 * 持つ gap: 20px は、横 22px・縦 0 へ置き換える（横の間隔の値が違うと 1 行の
 * 枚数が変わる。縦の間隔は項目の下の外余白 20px が受け持つ）。
 *
 * 【間隔をカードの外余白で作らない理由（Bug #1938）】移行元はカードの右に
 * 外余白 22px を置き、最後の列のぶんを器の負の外余白（margin-right: -22px）で
 * 打ち消している。移行元の器は 1,100px 固定なのでこれで収まるが、移行先の器は
 * 画面幅に追従する（min(1100px, 100vw)）ため、器が画面幅と同じになる
 * 750〜1,100px では打ち消しの 22px がそのまま画面の外へ出て、**横スクロールが
 * 22px 出ていた**。カードの左端の位置（0 / 374 / 748px）と 1 行の枚数は
 * 列の間隔でも同じになるので、間隔だけを列の間隔へ移して器の外へ出る分を無くす。
 *
 * 移行元も狭い画面ではページ全体が横に動く（器が固定幅のため。1,200px 幅で
 * 68px 動くのを実測）。移行元に切り落としの指定は無い（祖先に overflow を持つ
 * 要素が 0 個）。よって「移行元と同じ抑え方」は無く、はみ出しを作らない形が
 * 移行元の見え方に最も近い。
 *
 * 【当てる範囲】.story_inner を持つ一覧に限る。移行元で .story_inner と
 * .list_box が同居するのはワード解説の 9 ページ・成婚ストーリーの一覧
 * 11 ページ・婚活スポット 1 ページ・アンケート 1 ページである。
 *
 * 🚨 2026-09-02 に前提が変わった（Bug #2703）。この節は当初「調査（/research/）は
 * 器が本文の柱（800px）のままなので、固定幅にすると 1 行 2 枚になって移行元から
 * 遠ざかる」と書いていた。器を広げる作業（Bug #1816・#1839）は完了しており、
 * 調査の一覧の器は実測で 1,100px である（2026-09-02 に /research/list01/ で確認）。
 * そこで**カードを 352px 固定にする指定は上の .list_box（基本の指定）へ移した**。
 * この節が残っているのは、ワード解説・成婚ストーリーが移行元でさらに上書きを
 * 持つためである（写し元 public/word/css/style.css 450〜482 行。カードの高さを
 * そろえる height: 100%・写真の高さ 235px・行の間隔 20px）。
 * -------------------------------------------------------------- */

:is(.entry-content, .page-content__body) .story_inner .list_box {
	/* 縦は 0（下の li と a の外余白で作る）・横は移行元のカード間隔 22px. */
	gap: 0 22px;
}

:is(.entry-content, .page-content__body) .story_inner .list_box > li {
	flex: 0 0 auto;
	margin-bottom: 20px;
}

/* --------------------------------------------------------------
 * 札の並びの下の余分な 25px を消す（Bug #3100）
 *
 * 上の基本の指定（`:is(.entry-content, .page-content__body) .list_box`）は
 * `margin: 0 0 var(--pa-article-paragraph-gap)` を持つ。**パソコン幅のその値は
 * 25px** である。`.story_inner` は下に内余白も罫線も持たないので、**子の下の
 * 外余白がそのまま外へ抜け**、`#story` の下の内余白 30px に阻まれてそこで止まる。
 * その結果、**札の並びの下端は移行元と一致するのに `#story` の下端だけ 25px 下**になる。
 *
 * 移行元は同じ形を持たない（`.list_box` が `clearfix` で浮きを含むため、外余白が
 * 抜けない）。**同じ値を写すのではなく、dev 側の余分を 0 にする。**
 *
 * 実測（幅 1440px・移行元は本番 www.p-a.jp から取得・2026-09-11）:
 *
 * | | 外余白 | `#story` の高さ |
 * |---|---:|---:|
 * | 移行元 | 0px | **1537.28** |
 * | dev 直す前 | **25px** | 1562.28 |
 * | dev 直した後 | 0px | **1537.28**（移行元と 0 差） |
 *
 * 🚨 **当たり先は器で絞る。**婚活アンケートは投稿型 `page` なので器は
 * `.page-content__body` である。`main.css` の別の節に在る
 * `.single-content:not(.single-content--story) …` は**ワード解説（投稿型 post）を
 * 狙う絞り**で、ここでは 1 つも当たらない（2026-09-11 に踏みかけた）。
 *
 * 🚨 **成婚ストーリーには当たらない**（器が `.single-content--story`）。入口・詳細とも
 * 当てる前と後で 1 ピクセルも動かないことを実測した（入口 1977.3 / 詳細 4505.08）。
 *
 * 🚨 **婚活スポット（`/introduce/spot/`）にも当たる。巻き添えではなく同じ差である。**
 * あちらも外余白 25px を持ち、当てると移行元と 0 差になる
 * （移行元 763.97・直す前 788.97・直した後 763.97）。
 *
 * 🚨 **携帯幅には当てない。**移行元スマホ版の `/sp/introduce/survey/` は `#story` を
 * 持たない別の作りで、**比較する値が 1 つも取れない**。携帯幅の外余白（18px）に
 * 同じ差が在るかは未確認なので、パソコン幅の囲みの中だけに置く.
 * -------------------------------------------------------------- */
@media (min-width: 750px) {

	.page-content__body #story .story_inner .list_box {
		margin-bottom: 0;
	}
}

/* 🚨 下地は移行元の共通 CSS なので、上の幅 750px 以上の節（`.list_box li a`）へ
   移した（Bug #2910）。**ここに残すのは 2 種類である。**①ワード解説・成婚ストーリー
   だけの上書き（写し元 `public/word/css/style.css` 450〜482 行）。②取り込みで
   `<p>` が `<span>` に変わったぶんの埋め合わせ。②は**携帯幅でも要る**ので、幅で
   絞らずここに置く（この 2 つの一覧は携帯幅でもカードの形で並ぶ）. */
:is(.entry-content, .page-content__body) .story_inner .list_box li a {
	display: block;
	text-decoration: none;
	width: 352px;
	/* 題名の行数が違うカードでも下地の高さをそろえる（移行元 word の 462〜464 行）. */
	height: 100%;
	/* 移行元は右にも 22px を持つが、その役目は上の列の間隔へ移した（Bug #1938）.
	 * 下の 22px は移行元のまま残す。行の間隔を決めているのは項目（li）の下の
	 * 20px で、変更の前後どちらも 20px である（1440px 幅で実測）. */
	margin: 0 0 22px;
}

/* 取り込みで `<span>` に変わった 2 つの器（写真の器と `.list_detail`）を塊へ戻す。
   携帯幅でも要るので幅で絞らない（上の幅 750px 以上の節に同じ指定があるが、あちらは
   調査レポートの一覧のためのものである）. */
:is(.entry-content, .page-content__body) .story_inner .list_box li a > span {
	display: block;
	margin: 0;
}

:is(.entry-content, .page-content__body) .story_inner .list_box li a .list_detail > p {
	margin: 0;
}

/* 写真の器（`.img-cover`）は、上の `a > span` で塊へ戻したうえで、字の大きさと行の
   高さをここで移行元の値に留める。器の高さが移行元より 6px 低くならないようにする
   ためで（幅 1440px の実測で 235px 対 241px）、器は写真しか持たないのでこの 2 つは
   行の高さの計算だけに効く（Bug #2756）。この 2 つはワード解説・成婚ストーリーの
   写し元（public/word/css/style.css 476〜482 行）だけが持つ. */
:is(.entry-content, .page-content__body) .story_inner .list_box li a .img-cover {
	font-size: 13px;
	line-height: normal;
}

/* Bug #2756: 移行元は画像を行の中に置いており（写し元 public/word/css/style.css 478 行に
   `display` の指定は無い）、文字の基準線の下に 6px の空きが残る。その空きも含めた 241px が
   移行元の器の高さである。ここで `display: block` にすると空きが消えてカードが 6px 縮む
   （移行元 657.78px 対 651.59px）。移行元と同じ行の中の置き方へ戻す。

   `width` と `object-fit` は画像のような差し替え要素なら行の中でも効くので、そのまま残す. */
:is(.entry-content, .page-content__body) .story_inner .list_box li a .img-cover img {
	display: inline;
	vertical-align: baseline;
	width: 100%;
	height: 235px;
	object-fit: cover;
}

/* ワード解説の一覧（/word/）だけが読む写し元（public/word/css/style.css 466 行）。
   題名の高さをそろえる指定で、移行元の実測値 95.7px はこれで決まる（1440px 幅）。

   【範囲について】このファイルは移行元で /word/ 配下だけが読み込む。テーマは
   ページ別に CSS を出し分けていないため、CSS のセレクタで絞る必要がある。婚活用語の
   記事だけを選ぶ目印（`pa-post--word`）は別ブランチ（`fix/2705-2708-word-article-css`・
   PR #2735）で新設中で、このブランチにはまだ無いので、投稿型を見分ける既存の器を使う。

   `.story_inner` を共有する 3 ページの投稿型と、移行元の写し元を実測で確かめた
   （dev の配信 HTML と、legacy/www.p-a.jp 版 19f499fe3 の 3 つの写し元）。

     ページ           投稿型   器                              写し元に min-height あり
     /word/            post    .single-content（修飾子なし）    あり（word/css/style.css）
     /introduce/spot/  page    .page-content__body              無い（introduce/spot/css/style.css）
     /introduce/survey/page    .page-content__body              無い（introduce/survey/css/style.css）

   min-height を持つ写し元を読むのは /word/ だけなので、婚活スポット・アンケートには
   当ててはいけない。この 2 ページは投稿型 `page`（器が `.page-content__body`）である
   一方、ワード解説は投稿型 `post`（器が `.single-content`、修飾子は付かない）なので、
   セレクタから `.page-content__body` を落とし `.single-content` 側だけに絞れば、
   器のクラス名の違いだけで婚活スポット・アンケートを除外できる。成婚ストーリーは
   投稿型 `story`（`.single-content--story`。18399〜18552 行の専用区画が同じ器で
   分けている）なので、`:not(.single-content--story)` で併せて除く.

   🚨 **年別の一覧（`/word/<年>/`）は器が `.archive-content--word` で、上の絞りに
   当たらない**（Bug #7248）。あちらは投入された投稿ではなく `archive-word.php` が
   描くので `.single-content` を持たない。移行元の同じ写し元（`public/word/css/style.css`
   466 行）を読むのは目次ページも同じなので、当たり先を 1 つ足す。**`.page-content__body`
   を足してはいけない**（婚活スポット・アンケートを巻き添えにする）. */
.single-content:not(.single-content--story) .entry-content #story .story_inner .list_box li a .list_detail span.ttl,
.archive-content--word .entry-content #story .story_inner .list_box li a .list_detail span.ttl {
	min-height: 95px;
}

/* 結婚相談所のすゝめの一覧（/word/・/word/all/・年別）の札の中の 2 つの `<p>` の
   外余白（Task #8044 の表の 10）。

   札の絵を包む `p.img-cover` と、題と本文を包む `p.list_detail` には、本文の段落の
   決まり `.entry-content p { margin: 0 0 var(--pa-article-paragraph-gap) }`（パソコン幅
   25px・携帯幅 18px）が当たっていた。移行元は `p` の外余白を 0 に初期化しているので、
   この 2 つは外余白を持たない（先例は Bug #7552 のしあわせレポートの札）。

   🚨 **パソコン幅だけ、札の下に 22px の空きを残す。**移行元の札 `a` は
   `public/css/style.css` の `.list_box li a { float: left; margin: 0 22px 22px 0 }` で
   浮かせてあり、その下の外余白 22px を `li` が抱え込む。そのうえで
   `public/word/css/style.css` の `.story_inner .list_box li a { height: 100% }` が `a` を
   `li` の高さまで伸ばすので、下地 #f9f9f9 の札が中身より 22px 高い。

   幅 1440 の実測（2026-09-29 17:0x・`pa-verify-assets/B/8044-残り3点の直す前-0929/`・
   /word/・/word/all/・/word/2023/ の 3 画面とも同じ値）:
     札 `a` の高さ   移行元 657.78 ＝ 絵 241 ＋ 題と本文 394.78 ＋ 22
                     dev    685.59 ＝ 絵 241 ＋ 25 ＋ 題と本文 394.59 ＋ 25
   幅 375 の実測（同じ記録・/word/）:
     移行元 534.16 ＝ 絵 246.09 ＋ 題と本文 288.06（空きなし）
     dev    565.06 ＝ 絵 241 ＋ 18 ＋ 題と本文 288.06 ＋ 18 */
.archive-content--word .entry-content #story .story_inner .list_box li a :is(.img-cover, .list_detail) {
	margin: 0;
}

@media (min-width: 750px) {
	.archive-content--word .entry-content #story .story_inner .list_box li a .list_detail {
		margin-bottom: 22px;
	}
}

/* 携帯幅の札の絵は、絵の縦横比のまま出す（Task #8044 の表の 10）。

   移行元のスマホ版は `sp/word/css/style.css` に `.img-cover` の指定を持たず、
   `sp/css/common.css` の `img { width: 100%; height: auto; display: block }` だけが
   当たる。高さは絵ごとに違い（幅 375 で 218.69〜246.09）、絵の下に基準線の空きも無い。
   dev は上の `.img-cover img`（高さ 235px・行の中に置く。パソコン版の写し）が
   幅を問わず当たり、絵の箱が 241px に揃っていた. */
@media (max-width: 749px) {
	.archive-content--word .entry-content #story .story_inner .list_box li a .img-cover img {
		display: block;
		height: auto;
	}
}

/* 結婚相談所のすゝめの一覧の `thumb_` の絵の札（Bug #8895・Task #8904）。

   移行元は `thumb_` の絵を類名の無い `<p>` に置き、`img` に `width="352" height="218"` を
   書く（写し 68e3190cb の `word/all.html`・`sp/word/all.html`）。パソコン版の写し元
   `public/word/css/style.css` の `.img-cover img`（高さ 235px・`object-fit: cover`）は
   この札に当たらないので、絵は属性の 352×218 で出る（元の絵は 630×396 なので少し縦に
   縮むが、移行元の見た目なのでそのまま写す）。
   携帯幅は `.img-cover` と同じく `sp/css/common.css` の `img { width: 100%; height: auto;
   display: block }` だけが当たり、絵の縦横比のまま出る（幅 375 で 328.13×206.25）。

   dev の札の型紙（`template-parts/content-word-card.php`）は、添付ファイルの名が
   `thumb_` で始まる札だけ類名の無い `<p>` で出す。dev の `img` の属性は元の絵の寸法
   （630×396）なので、寸法はここで決める。外余白・字の大きさ・行の高さは `.img-cover`
   と同じ扱いにする（上の 2 つの節）. */
.archive-content--word .entry-content #story .story_inner .list_box li a > p:not([class]) {
	margin: 0;
	font-size: 13px;
	line-height: normal;
}

.archive-content--word .entry-content #story .story_inner .list_box li a > p:not([class]) img {
	display: inline;
	vertical-align: baseline;
	width: 100%;
	height: 218px;
}

@media (max-width: 749px) {
	.archive-content--word .entry-content #story .story_inner .list_box li a > p:not([class]) img {
		display: block;
		height: auto;
	}
}

/* --------------------------------------------------------------
 * QOM 総研の一覧（/research/）の横送りの器の見た目（Issue #2699 の追補）
 *
 * 器そのものの組み方（1 度に 1 枚・矢印・丸い印。ul.bxslider）は
 * assets/css/legacy-bxslider.css が持つ。ここで写すのはページ別 CSS
 * （legacy/www.p-a.jp の public/css/page_research.css、版 19f499fe3）の
 * うち、その器を包む #slider・写真に重ねる説明の帯（box_caption）・
 * 「この記事を読む」の導線（text_more）である。
 *
 * 【写さないもの】#research #slider #loading の 2 規則は写さない。
 * `position: fixed` で画面全体を白く覆う読み込み中の幕である。移行元は
 * `public/research/index.html` の 169〜172 行が `$(window).load(function() {
 * $("#loading").hide(); });` という別の inline script で、写真の読み込みが
 * 終わったあとにこの幕を消していた。この inline script は本文の一部として
 * 投入されておらず（2026-09-01 に dev の配信 HTML で確認。`#loading` の div は
 * 残るが、直後にあった `<script>` は無い）、bxSlider 本体の機能でもないため、
 * テーマにはこの幕を消す仕組みが無い。写すとページが常に白く覆われたままになる。
 *
 * 下の規則すべての先頭に `:is(.entry-content, .page-content__body)` を前置く。
 * main.css は全ページへ配る 1 本のファイルで、id から直接始まる規則を持たない
 * （移行してきた本文へ当てる規則は、この節の上にある会社情報・/policy/ の節も
 * 含め、例外なく本文の器を前置きしている）。効く範囲を移行してきた本文の器の
 * 中へ閉じ込めるためである.
 * -------------------------------------------------------------- */

/* 器。移行元は width: 1100px の決め打ちだが、狭い画面（携帯幅を含む単一
   テンプレート）でも横にはみ出さないよう上限として写す（このファイルの
   .story_inner .list_box などと同じ決まり）。高さ 400px は写さない。移行元の
   400px は bxSlider が写真の高さを測り終える前の読み込み中の見え方を隠す
   ための値で（幕は #loading が担う。上を参照）、実際の器の高さは写真の実寸
   （1100 × 310px）で決まる。テーマはその幕を持たないため、固定の高さを
   置くと写真の実際の高さ（狭い画面ではもっと低い）との間に空白ができる。

   container-type は、狭い画面の前後の矢印を写真の高さに合わせる指定
   （下の @media 内・レビュー指摘）で使う cqw 単位のためにここへ置く。
   1cqw はこの器の幅の 1% で、写真は器の幅いっぱいに縮尺されるため、
   器の幅から写真の高さの割合を計算できる。用法は
   .pa-branch-archive__mapbox（店舗一覧の地図）と同じで、cqw は子孫の
   指定でだけ使い、この器自身の指定では使わない（自分自身の指定で使うと
   基準がこの器ではなく画面へ移ってしまうため）. */
:is(.entry-content, .page-content__body) #research #slider {
	container-type: inline-size;
	margin: 0 auto;
	width: min(1100px, 100%);
}

:is(.entry-content, .page-content__body) #research #slider .bxslider li {
	position: relative;
}

/* 説明の帯。移行元は `left: 0; width: 1040px;`（`right` の指定は無い）で、
   帯の外寸は内容 1040px + 左右の内余白 30px ずつ = **1100px、つまり写真の
   全幅と同じ**である（`right` を書いていないのは、`width` を直接決め打ち
   しているため要らないからで、余白を残す意図の値ではない）。
   器を上限に変えた（上を参照）ため、`width: 1040px` の決め打ちのままだと
   器が 1100px を下回る画面で帯が写真の右へはみ出す。

   🚨 訂正（レビュー指摘）: 以前ここを `right: 60px` にしていた。`left: 0` と
   組み合わせると、`box-sizing: content-box` でも `right` は帯の外側の右端の
   位置（器の右端から 60px 内側）を決めるため、**帯の外寸が 1040px に固定され、
   器が 1100px のときも写真の右へ 60px の帯の無い領域が残ってしまっていた**
   （`.text_more` を右から 30px に置く指定も、この外へはみ出していた）。
   `right: 0` に直すと、帯の外寸が常に器の幅と同じになり、内容の幅は
   `content-box` の計算で「器の幅 − 左右の内余白 60px」に自動で決まる
   （器が 1100px のとき内容 1040px。移行元と一致する）。幅の決め打ちをやめて
   `right` で追従させる考え方自体は変えず、値だけ直す。

   box-sizing を content-box へ戻すのは、このテーマが「ベーススタイル」の *
   指定で全要素へ border-box を効かせているためである。移行元は全体への
   box-sizing を持たないので、height: 88px は中身の高さで、上の内余白 15px が
   積まれて帯の外形は 103px になる。border-box のままだと帯が 88px になり、
   内側の文字の領域が 73px（88 − 15）まで削られる。同じ手当ての先例は
   `:is(.entry-content, .page-content__body) :where(#story) .main_box`
   （このファイルの成婚ストーリーの帯の節）にある（レビュー指摘）。 */
:is(.entry-content, .page-content__body) #research #slider .bxslider li .box_caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	box-sizing: content-box;
	padding: 15px 30px 0;
	height: 88px;
	background-image: url("../images/research/bg_slide_text.png?ver=96c2265fae59");
	background-repeat: repeat;
	color: #fff;
}

:is(.entry-content, .page-content__body) #research #slider .bxslider li .box_caption p {
	font-size: 14px;
	line-height: 157%;
}

:is(.entry-content, .page-content__body) #research #slider .bxslider li .box_caption p.ttl_caption {
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: 700;
	line-height: 120%;
}

:is(.entry-content, .page-content__body) #research #slider .bxslider li .box_caption p.ttl_caption span {
	display: inline-block;
	margin-right: 13px;
	color: #c9a76e;
	font-size: 22px;
	font-weight: 700;
}

/* 「この記事を読む」の導線。すでに right + bottom の位置指定で、幅も
   124px の決め打ちのまま写せる（器の内側で完結し、器が狭くなってもはみ出さない）。

   🚨 訂正（レビュー指摘）: <p> であるこの要素は、本文共通の
   margin: 0 0 var(--pa-article-paragraph-gap)（main.css 18558 行。750px 以上は
   25px）をそのまま引き継ぐ。position: absolute; bottom: 15px; の位置計算は
   要素の余白（margin）の外側の端を基準にするため、下の外余白が乗ったままだと
   文字そのものは bottom: 15px の位置よりさらに 25px 上へ来てしまい、同じ帯の
   中の概要文と重なる。移行元は本文の段落に外余白を持たない（共通 CSS の初期化
   で <p> の margin をあらかじめ 0 にしている）ため、テーマの既定分だけ余分に
   乗っている形になる。margin: 0 で打ち消す（狭い画面の上書きにはすでに同じ
   margin: 0 を置いている。ここは広い画面の基本規則の側に足りていなかった）. */
:is(.entry-content, .page-content__body) #research #slider .bxslider li .text_more {
	position: absolute;
	right: 30px;
	bottom: 15px;
	width: 124px;
	margin: 0;
	color: #fff;
	text-align: right;
}

:is(.entry-content, .page-content__body) #research #slider .bxslider li .text_more a {
	color: #fff;
}

/* 携帯幅だけの横送り（Bug #9211）。移行元スマホ版 `sp/research/css/style.css` の 19〜55 行を写す。

   移行元は携帯へ別の HTML（`sp/research/index.html`）を配り、横送りの組みもパソコン版と違う
   （`thumb_` の絵・写真の下の灰色の箱・6 本）。型紙（`archive-pa_research.php`）は両方の器を
   出し、ここで幅により片方だけを見せる。区切りは携帯幅の節と同じ 749px である。

   🚨 **既定の `display: none` を `@media` の節より前に置く。**後ろに置くと携帯幅でも後勝ちして
   携帯幅の器が消える。

   移行元の値:
     #research a { text-decoration: none; }（色は `sp/css/style.css` の `a { color: #000000; }`）
     #research a:hover { color: #4C4C4C; }
     #research a .text_box { background: #F2F2F2; margin-bottom: 37px; padding: 10px 3.571% 15px; }
     #research a .text_box .topic_num { background-image: url(../images/bg_num.jpg); display: inline-block;
       margin-bottom: 13px; padding: 4px; color: #ffffff; font-size: 11px; text-align: center; }
     #research a:hover .text_box .topic_num { opacity: 0.7; }
     #research a .text_box .topic_ttl { margin-bottom: 10px; font-size: 14px; font-weight: 700; line-height: 140%; }
     #research a .text_box .topic_txt { font-size: 12px; line-height: 137%; }
     a:hover img { opacity: 0.8; }（`sp/css/style.css`）

   札の地の絵は足さない。移行元 `sp/research/images/bg_num.jpg` と 1 バイトも違わない絵が
   テーマに在る（`assets/images/introduce/story/sp/bg_num.jpg`。新着記事の札も同じ絵を指す）。

   段落の外余白は移行元が `basic.css` で 0 に揃えている。テーマの段落の既定が乗らないよう、
   3 つの段落の上下の外余白をすべて書く. */
:is(.entry-content, .page-content__body) #research .pa-research-sp-slider {
	display: none;
}

@media (max-width: 749px) {

	:is(.entry-content, .page-content__body) #research #slider {
		display: none;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider {
		display: block;
		margin: 0 auto;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a {
		color: #000;
		text-decoration: none;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a:hover {
		color: #4c4c4c;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a:hover img {
		opacity: 0.8;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a .text_box {
		margin-bottom: 37px;
		padding: 10px 3.571% 15px;
		background: #f2f2f2;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a .text_box .topic_num {
		display: inline-block;
		margin: 0 0 13px;
		padding: 4px;
		background: url("../images/introduce/story/sp/bg_num.jpg?ver=b5626b7e822b") repeat;
		color: #fff;
		font-size: 11px;
		line-height: normal;
		text-align: center;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a:hover .text_box .topic_num {
		opacity: 0.7;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a .text_box .topic_ttl {
		margin: 0 0 10px;
		font-size: 14px;
		font-weight: 700;
		line-height: 140%;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider a .text_box .topic_txt {
		margin: 0;
		font-size: 12px;
		line-height: 137%;
	}
}

/* QOM総研の一覧の携帯幅: 紹介文・「記事の一覧を見る」の選択欄・新着記事（Bug #9377）

   移行元スマホ版 `sp/research/index.html` の組みに合わせる。型紙（`archive-pa_research.php`）は
   携帯幅だけの器（`br.pa-research-read__sp`・`form.pa-research-sp-sort`・`div.pa-research-sp-new`）を足し、
   1 ページ目のパソコン版の「新着記事」（`.pa-research-new-pc`）を携帯幅で隠す。

   🚨 **既定の `display: none` を `@media` の節より前に置く。**後ろに置くと携帯幅でも後勝ちする。

   🚨 **紹介文は区画の写しより強い当たり先で書く。**区画の写し `assets/research/css/section.css` の
   `body .pa-page--research .page-content__body #research .main_read`（16px・160%・下 60px）が
   `:is(…) #research .main_read` より強いので、`<article>` の 2 つの類名を重ねて上回る。

   移行元の値（`sp/research/css/style.css`・`sp/css/common.css`・`sp/css/basic.css`）:
     #research .main_read { margin-bottom: 28px; font-size: 10px; line-height: 140%; text-align: center; }
       （`p.main_read` は `.serif` を持たない。字体は body の游ゴシックの並び）
     #research select { margin-bottom: 25px; padding: 5px; width: 100%; }
       （「フォーム共通」の select { font-size: 16px; -webkit-border-radius: 0; -webkit-appearance: none;
         background-image: url(../images/inquiry/icon_select_arrow.gif); background-position: right top;
         background-repeat: no-repeat; background-size: auto 100%; }。絵は 1 バイトも違わないものが
         テーマの `assets/senryu/images/icon_select_arrow.gif` に在る）
     #research .link_top { margin-bottom: 35px; padding: 10px 0 0; font-size: 14px; text-align: center; clear: both; }
       （1 ページ目の末尾の「QOM総研トップに戻る」。移行元スマホ版には「これまでの記事の一覧」が無いが、
         携帯幅でそれを隠す規則は Task #8329 の節（この節より後ろ）に前から在るので、ここでは書かない）
     #research .corner_ttl { margin-bottom: 14px; color: #a3762b; font-size: 17px; line-height: 100%; }
       （見出しは basic.css で font-weight: normal・外余白 0）
     #research a .text_box ほか札・題名・要約は、上の携帯幅の横送りの節と同じ値
     img { width: 100%; }（common.css）

   横送りの下の余白: 下見の走行 1（2026-10-04）で、移行元は横送りの器の下端のすぐ下に選択欄が在り、
   dev は 60px 下に在った（`.bx-wrapper` の下の外余白 60px）。携帯幅の横送りの器の下の外余白を 0 にして合わせる. */
.pa-research-read__sp,
.pa-research-top-link__sp,
:is(.entry-content, .page-content__body) #research .pa-research-sp-sort,
:is(.entry-content, .page-content__body) #research .pa-research-sp-new {
	display: none;
}

@media (max-width: 749px) {

	.pa-research-read__sp {
		display: inline;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .main_read {
		margin: 0 0 28px;
		font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
		font-size: 10px;
		line-height: 140%;
		text-align: center;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-sort {
		display: block;
		margin: 0;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-slider .bx-wrapper {
		margin-bottom: 0;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-sort select {
		margin: 0 0 25px;
		padding: 5px;
		width: 100%;
		border-radius: 0;
		background-image: url("../senryu/images/icon_select_arrow.gif?ver=ac99501ec67a");
		background-position: right top;
		background-repeat: no-repeat;
		background-size: auto 100%;
		font-size: 16px;
		-webkit-appearance: none;
		appearance: none;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-new-pc {
		display: none;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-top-link__sp {
		display: block;
		clear: both;
		margin: 0 0 35px;
		padding: 10px 0 0;
		font-size: 14px;
		text-align: center;
	}

	/* 字は 13px（Bug #9471）。移行元は `p` に 14px を当てるが、`sp/css/basic.css` 3〜22 行の初期化が `a` を含む要素へ直に
	   `font-size: 13px`（21 行）を当てるので、`a` の字は 14px を継がず 13px になる. */
	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-top-link__sp a {
		color: #000;
		font-size: 13px;
		text-decoration: none;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new {
		display: block;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new .corner_ttl {
		margin: 0 0 14px;
		color: #a3762b;
		font-size: 17px;
		font-weight: normal;
		line-height: 100%;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a {
		display: block;
		color: #000;
		text-decoration: none;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a:hover {
		color: #4c4c4c;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a > p {
		margin: 0;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a img {
		display: block;
		width: 100%;
		height: auto;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a:hover img {
		opacity: 0.8;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a .text_box {
		margin-bottom: 37px;
		padding: 10px 3.571% 15px;
		background: #f2f2f2;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a .text_box .topic_num {
		display: inline-block;
		margin: 0 0 13px;
		padding: 4px;
		background: url("../images/introduce/story/sp/bg_num.jpg?ver=b5626b7e822b") repeat;
		color: #fff;
		font-size: 11px;
		line-height: normal;
		text-align: center;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a:hover .text_box .topic_num {
		opacity: 0.7;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a .text_box .topic_ttl {
		margin: 0 0 10px;
		font-size: 14px;
		font-weight: 700;
		line-height: 140%;
	}

	:is(.entry-content, .page-content__body) #research .pa-research-sp-new a .text_box .topic_txt {
		margin: 0;
		font-size: 12px;
		line-height: 137%;
	}
}

/* QOM総研の一覧の 2 ページ目からの携帯幅: 「記事の一覧を見る」の選択欄と、写真が左・字が右の記事の行（Bug #9394）

   移行元スマホ版 `sp/research/list01.html`〜`list11.html` の組みに合わせる。型紙（`archive-pa_research.php`）は
   2 ページ目から、紹介文の直後に選択欄（`form.pa-research-sp-sort`。見た目は上の Bug #9377 の節がそのまま当たる）と、
   携帯幅だけの記事の行（`div.pa-research-sp-list`）を出し、パソコン版の一覧（`.pa-research-list-pc`）を携帯幅で隠す。

   移行元スマホ版の 2 ページ目からには、ページの一覧（`ul.text_menu`）が無い。選択欄が代わりを務めるので携帯幅で隠す。
   `ul.text_menu` は共通の規則 `:is(…) .text_menu.text_menu`（類名 3 つ相当）で出ているので、id を含む当たり先で上回る。

   🚨 **既定の `display: none` を `@media` の節より前に置く。**後ろに置くと携帯幅でも後勝ちする。

   移行元の値（`sp/research/css/style.css` 75〜103 行・`sp/css/basic.css` の dl・dt・dd・p の外余白 0）:
     #research dl { background-image: url(../images/icon.jpg); background-repeat: no-repeat;
                    background-position: right center; padding: 15px 0; border-bottom: 1px solid #CCCCCC; border-top: 0; }
     #research dt { background: none; float: left; margin: 0; padding: 0; width: 32.142%; }
     #research dd { float: right; margin: 0; padding: 0 4.642% 0 0; width: 58.928%; font-size: 11px; line-height: 160%; }
     #research dd p { font-size: 11px; }
     #research a { text-decoration: none; }  #research a:hover { color: #4C4C4C; }
     img { width: 100%; }（common.css）
   矢印の絵 `icon.jpg`（8 × 14px）は、移行元と同じバイトをテーマの `assets/research/images/icon.jpg` に置いた。

   下見の走行 1（2026-10-05）で外れた 3 つを、移行元が暗に持つ値として書く:
     - 行の高さ: 移行元は `basic.css` の `.clearfix:after { content: "."; display: block; clear: both; height: 0; visibility: hidden }`
       で浮きを囲む。dev はこの規則が `dl` に当たらず、行が上下の内余白と線だけの 31px に潰れた（移行元は 119px）
     - dd の幅: 移行元は `box-sizing` が既定の `content-box` で、幅 58.928% の外に右の内余白 4.642% が足される。
       dev はテーマが `border-box` にしているので、内余白のぶん字の幅が 15px 狭かった
     - 字の行送り: 移行元は dd の 160%（11px なので 17.6px）を `p` が受け継ぐ。dev は `p` の行送りが `normal` に戻っていた. */
:is(.entry-content, .page-content__body) #research .pa-research-sp-list {
	display: none;
}

@media (max-width: 749px) {

	body .pa-research-archive.pa-page--research .page-content__body #research .text_menu,
	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-list-pc {
		display: none;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list {
		display: block;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list a {
		color: #000;
		text-decoration: none;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list a:hover {
		color: #4c4c4c;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list dl {
		margin: 0;
		padding: 15px 0;
		border-top: 0;
		border-bottom: 1px solid #ccc;
		background: url("../research/images/icon.jpg?ver=558702fb5e3f") no-repeat right center;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list dl::after {
		content: ".";
		display: block;
		clear: both;
		height: 0;
		visibility: hidden;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list dt {
		float: left;
		margin: 0;
		padding: 0;
		width: 32.142%;
		background: none;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list dt img {
		display: block;
		width: 100%;
		height: auto;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list dd {
		float: right;
		margin: 0;
		padding: 0 4.642% 0 0;
		width: 58.928%;
		box-sizing: content-box;
		font-size: 11px;
		line-height: 160%;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .pa-research-sp-list dd p {
		margin: 0;
		font-size: 11px;
		line-height: 160%;
	}
}

/* QOM総研の一覧の 5〜12 ページ目の携帯幅: 取材・広告のバナーから来店予約・資料請求の帯までの間（Bug #9411）

   型紙（`archive-pa_research.php`）は、移行元スマホ版の `list01`〜`list08` と同じく、`#research` の閉じの直後に帯
   （`div.pa-conv-band-host`）を出す。帯の見た目は `assets/css/support-band.css`（上の外余白 15px）が持つ。

   下見の走行 2（2026-10-05・幅 375・12 ページ目 ↔ `sp/research/list01.html`）で、バナーの絵の下端から帯の上端までが
   dev 24・移行元 45 だった。両側の箱と余白を記録して比べた値:
     移行元: バナーの段落の下の外余白 0・`#research` の下の内余白 30（`sp/research/css/style.css` の `#research { padding: 25px 6.25% 30px }`）・帯の上の外余白 15
             → 30 + 15 = 45
     dev:    バナーの段落の下の外余白 18・`#research` の下の内余白 0・帯の上の外余白 15。内余白が 0 なので、段落の 18 と帯の 15 が相殺して 18 が残る。
             さらに段落の中で、絵の下に行の隙間 6 がある（段落 61.9・絵 55.9）→ 6 + 18 = 24

   帯を出すページ（帯の囲みを後ろの兄弟に持つ `#research`）だけを、移行元の 3 つの値にそろえる。帯の無いページ（1〜4 ページ目）の末尾は
   この Bug の範囲の外なので触らない.

   記録だけ: バナーの絵の高さが dev 55.9・移行元 58.6 で違う。移行元スマホ版は携帯版の絵 `sp/research/images/btn_contact.jpg`、dev は
   パソコン版の絵 `assets/research/images/btn_contact.gif`（352×60）を出している. */
@media (max-width: 749px) {

	body .pa-research-archive.pa-page--research .page-content__body #research:has(~ .pa-conv-band-host) {
		padding-bottom: 30px;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research:has(~ .pa-conv-band-host) .research_inner > p:last-child {
		margin-bottom: 0;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research:has(~ .pa-conv-band-host) .research_inner > p:last-child img {
		display: block;
	}
}

/* QOM総研の一覧の 1〜4 ページ目（帯の無いページ）の携帯幅: 取材・広告のバナーから「先頭へ戻る」までの間（Issue #9769）

   移行元スマホ版（`sp/research/index.html`・`list11.html` ほか）は、帯の無いページでも 5〜12 ページ目と同じく
   バナーの段落の下の外余白 0・`#research` の下の内余白 30 で、「先頭へ戻る」の絵の上端が `#research` の下端と同じ位置に来る。
   dev は上の Bug #9411 の 3 本を帯を持つページだけに当てているので、帯の無いページは段落の 18 が残り、さらに
   `#research` を包む `div.page-content` の下の内余白 20（`.single-content:not(.single-content--branch), .page-content` の携帯幅）の
   ぶんだけ「先頭へ戻る」が下がる。

   下見（2026-10-10・幅 375・直しの字を差し込んで読んだ）:
     トップ `/research/`        の絵の上端  前 3364.59 → 後 3350.59（移行元 3350.59）
     2 ページ目 `/research/page/2/` の絵の上端  前 1398.38 → 後 1384.38（移行元 1384.38）
     陰性対照: 12 ページ目（帯あり）・詳細 `/research/report_148/` は `div.page-content` の内余白 20 のまま・高さも同じ。トップの 1440 も同じ

   バナーの段落と `#research` の 3 本は、帯の有無で絞らない。帯を持つページには上の Bug #9411 の 3 本が同じ値で当たるので、
   値は変わらない（下見の 12 ページ目で、前後とも同じと確かめた）。
   `div.page-content` の内余白は帯を持つページで 20 のまま残すので、帯の有無（`.pa-conv-band-host` を持つか）で絞る。
   `pa-page--research-top` は 2 ページ目以降にも付く（Bug #8339 の注記）ので、この class だけでは 1〜4 ページ目に絞れない. */
@media (max-width: 749px) {

	body .pa-research-archive.pa-page--research .page-content__body #research {
		padding-bottom: 30px;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .research_inner > p:last-child {
		margin-bottom: 0;
	}

	body .pa-research-archive.pa-page--research .page-content__body #research .research_inner > p:last-child img {
		display: block;
	}

	.page-content:has(> article.pa-research-archive.pa-page--research-top):not(:has(.pa-conv-band-host)) {
		padding-bottom: 0;
	}
}

/* --------------------------------------------------------------
 * ワード解説の年別ナビの金色のボタン（Issue #1889・A 案）
 *
 * 年別の目次ページ（/word-category2017/ 〜 /word-category2023/ の 7 ページ）と
 * 「すべての記事」のページ（/word-all/）の本文には、移行元から取り込んだ年別ナビが
 * 入っている（`ul.flow_story` の中の `li.btn_navi` 8 個）。移行元ではこれが金色の
 * ボタンだったが、テーマに規則が 1 件も無く、素の箇条書きとして描かれていた。
 * 移行元の装飾をここで写す。
 *
 * テーマ側の年別ナビ（`nav.pa-word-years`「年別に記事を読む」）は、ユーザー決定 D574・D577
 * （2026-09-25・Bug #8390）で記事と一覧の両方から外した（移行元に無い導線のため）。
 * それより前は、Issue #1889 の A 案（2026-08-17）でこれらのページだけ出さないようにしていた。
 *
 * 【写し元】
 *   public/word/css/style.css 80〜116 行     ボタンの地色・大きさ・文字・山形の矢印
 *   同 539〜543 行                            幅 124px と右の余白 5px（上を上書きする）
 *   public/css/page_introduce.css 203〜216 行  箇条書きの器と並べ方
 *
 * 【移行元の実測値（1440px 幅の実サイト）】
 *   ボタン 1 個   外形 131 × 70px（内側 124 × 50px ＋ 内余白 10px 7px 10px 0）
 *   地色           #a2803b、文字 白・16px・太さ 400・明朝
 *   矢印           10 × 10px の枠の上辺と右辺だけ（白 1px）を 45 度回した山形
 *   8 個の合計     131 ＋ 5 の 8 個ぶんで 1,088px。1 行に収まる
 *
 * 【移行元と変えた点】
 *   1. 並べ方を float から flex へ変えた。移行元は `float: left` だったが、この
 *      テーマは本文の箇条書きに `.clearfix` の実装を持たないため、浮かせると後続の
 *      要素が回り込む。見え方（1 行 8 個・間隔 5px）は同じである
 *   2. 狭い画面ではボタンを折り返す。移行元のパソコン版は幅 1,100px の固定組みで、
 *      375px の画面では横にはみ出していた（実サイトで実測）。移行元の携帯版は
 *      同じナビを画像 8 枚で組む別の作りなので（sp/word/category2017.html の
 *      140〜149 行）、そのまま写せない
 *
 * 器の幅は広げない。ボタン 8 個の合計 1,088px は本文の器の内側（1,090px）に収まる.
 * -------------------------------------------------------------- */

/* --------------------------------------------------------------
 * 成婚ストーリーのカテゴリタブ（Task #3255）
 *
 * 「すべての記事」と分類別の一覧（dev の /introduce/story/introduce-story-all/ ほか）は、
 * 本文に移行元から取り込んだカテゴリタブ（`ul.flow_story` の中の `li` 6 個・画像の
 * ボタン）を持つ。**この画像のボタン側には並べ方の規則が 1 件も無く、素の箇条書きとして
 * 縦に 6 段積まれていた**（司令塔の撮影・2026-09-04）。すぐ下の金色のボタン向けの規則は
 * `:has(> li.btn_navi)` で絞ってあるため、こちらには当たらない。
 *
 * 【移行元の実測（本番 https://www.p-a.jp/introduce/story/all.html ・幅 1440px・
 *   2026-09-04 04:52 JST 取得）】
 *   器 `ul.flow_story`  1100 × 76px（左端 170・外余白 0 auto 55px・内余白 0・点なし）
 *   項目 `li` 6 個      155 × 76px（`float: left`・右外余白 8px。最後の 1 個だけ 0）
 *   絵 `img`            175 × 70px（`display: inline`）
 *   項目の左端          170 / 333 / 496 / 659 / 822 / 985（間隔 163 ＝ 155 ＋ 8）
 *
 * 【写し元】public/css/page_introduce.css の 203〜220 行
 *   `#story .flow_story { margin: 0 auto 55px; width: 1100px }`
 *   `#story .flow_story li { float: left; margin-right: 8px; width: 155px }`
 *   `#story .flow_story li.last { margin-right: 0 }`
 *
 * 🚨 **絵（175px）が項目（155px）より広い。**移行元はタブを 20px ずつ重ねる意匠である。
 * 項目の幅を絵に合わせると重なりが消えて移行元と違う姿になるので、**155px のまま**にする。
 *
 * 【移行元と変えた点】並べ方を `float` から flex へ変えた。**このテーマは本文の箇条書きに
 * `.clearfix` の実装を持たない**ため、浮かせると後続の要素が回り込む（すぐ下の金色の
 * ボタンで同じ判断をしている）。見え方（1 行 6 個・間隔 8px・絵の重なり）は同じである。
 * 狭い画面では折り返す。移行元のパソコン版は 1100px の固定組みで狭い画面では横へはみ出すが、
 * このテーマは成婚ストーリーの本文で横のはみ出しを切り落としているため、折り返さないと
 * タブが見えなくなる。**移行元スマホ版との突き合わせは未了**（別途確かめる）。
 * -------------------------------------------------------------- */
/* 【テンプレートが組む帯も同じ規則で出す（Task #6683）】
   一覧 6 枚（「すべての記事」と話のまとまり 5 種）を投稿からテンプレートへ移したので、
   帯の組みも投入本文（`#story` を持つ）からテンプレートへ移った。テンプレートの帯は
   `template-parts/story-theme-tabs.php` が出す `ul.pa-story-theme-tabs` である。

   🚨 **値は動かさず、当たり先だけを足す**（統括判断・2026-09-17）。この節と
   `assets/introduce-voice-story/css/story.css` の携帯幅の節は、移行元の実測から
   起こした値を持つ。同じ値を別の規則へ書き写すと、次に直す人がどちらかを直し漏れる。
   下の 6 つの規則と携帯幅の 15 の規則が、`,` でつないだ当たり先を持つ形になっている.

   投入本文の側（`#story`）を消さないのは、ワード解説の年別ナビが同じ器
   （`ul.flow_story` の中の `li.btn_navi`）を使っており、そちらは投入本文のままである. */
:is(.entry-content, .page-content__body) #story .flow_story:not(:has(> li.btn_navi)),
.pa-story-theme-tabs {
	display: flex;
	flex-wrap: wrap;
	/* 移行元 `#story .flow_story { margin: 0 auto 55px; width: 1100px }`。

	   🚨 **親が画面の幅まで広がっている前提で書かない。**区画（`section#story`）を
	   広げる規則（`.single-content--story .entry-content > :is(#story, #voice)`）は
	   **`.single-content--story` かつ `@media (min-width: 1024px)` の 2 つの条件付き**
	   なので、幅 750〜1023px ではその前提が成り立たない。**すぐ下の金色のボタンと
	   同じ形（自力で柱の外へ出る）にそろえる**（2026-09-04 のセルフレビューの指摘 F1）。

	   手元の実測で違いが出る（3 幅で測定）:
	     1440px … どちらの書き方でも 器 1100px・左端 170・1 行
	     1023px … 親頼みだと 器 800px で **2 行に折れる**。この形なら 器 1023px で **1 行**
	     800px  … どちらも 2 行（タブの合計 970px が収まらない）

	   移行元のパソコン版は 1100px の固定組みで狭い画面では横へはみ出すが、このテーマは
	   成婚ストーリーの本文で横のはみ出しを切り落とすため、折り返さないとタブが見えなく
	   なる。**移行元スマホ版はこのタブを別の部品で組んでいる**（目印が
	   `ul.article_menu`・2 列 × 3 行・絵は幅いっぱいで重なり無し・置き場所は記事一覧の
	   下）。数値までそろえないことは `assets/introduce-voice-story/css/story.css` の
	   6 節（Issue #2276）で決まっているので、**狭い画面は折り返しで読めれば足りる。**

	   🚨 **この規則が当たるのは成婚ストーリーの帯である**（印の無い `li` を持つほう）。
	   その 6 ページの携帯幅は **Bug #3850（裁定 143 の案 A）が別に決着させており**、
	   `assets/introduce-voice-story/css/story.css` の `#story:has(.list_box_new)` の節が
	   **この帯をその場で**絵の 2 列組みへ作り替え、並び順も直している。**Bug #6330 の
	   隠す規則はこの帯には当たらない**（当たり先が重なって先に在る手当てを殺すため、
	   2026-09-15 に対象から外した）。ここの折り返しはパソコン幅のために引き続き要る. */
	width: min(1100px, 100vw);
	margin-block: 0 55px;
	margin-inline: calc(50% - min(550px, 50vw));
	padding: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) #story .flow_story:not(:has(> li.btn_navi)) > li,
.pa-story-theme-tabs > li {
	/* 移行元 `#story .flow_story li { width: 155px; margin-right: 8px }`。
	   縮ませない（`flex-shrink: 0`）のは、狭い画面で 155px が崩れないようにするため. */
	flex: 0 0 155px;
	width: 155px;
	margin: 0 8px 0 0;
	list-style: none;
}

/* 🚨 **絵を項目の幅で縮めない。**テーマは本文の画像に `max-width: 100%` を当てているので、
   項目を 155px にした瞬間に絵が 175 × 70px から 155 × 62px へ縮み、**移行元の 12px の
   重なりが消える**（手元の陰性対照で実測。直す前は項目が 1440px 幅だったため縮んでいな
   かった）。移行元は絵に幅の上限を持たないので、ここで打ち消して元の寸法に戻す. */
:is(.entry-content, .page-content__body) #story .flow_story:not(:has(> li.btn_navi)) > li img,
.pa-story-theme-tabs > li img {
	max-width: none;
}

/* 移行元 `#story .flow_story li.last { margin-right: 0 }`。移行元の組みは最後の項目に
   `class="last"` を持つ（dev の投入した本文でも実測で確認）。持たない本文でも崩れない
   よう、末尾の項目としても選ぶ. */
:is(.entry-content, .page-content__body) #story .flow_story:not(:has(> li.btn_navi)) > li:is(.last, :last-child),
.pa-story-theme-tabs > li:is(.last, :last-child) {
	margin-right: 0;
}

/* 器の指定は **金色のボタンを持つナビだけ** に当てる。`#story .flow_story` は成婚
   ストーリーの一覧 8 ページ（dev の /introduce/story/introduce-story-category01/ ほか）
   でも使われており、そちらは `li` に `btn_navi` が付かない画像のボタン（175 × 70px）で
   ある。移行元でもそちらは金色ではない（金色を書く word/css/style.css を読み込まない）。
   `:has(> li.btn_navi)` で選び分ける. */
:is(.entry-content, .page-content__body) #story .flow_story:has(> li.btn_navi) {
	display: flex;
	flex-wrap: wrap;
	/* 移行元 #story .flow_story は幅 1,100px の中央寄せ（page_introduce.css 203〜206 行）。
	   移行先の本文の器は 800px なので、そのままではボタン 8 個（合計 1,088px）が 2 行に
	   割れる。**すぐ下の記事の一覧（.story_inner）と同じやり方で器の外へ出し、1,100px へ
	   戻す。** 同じ式にそろえるのは、ナビと記事の一覧の左端を必ずそろえるためである
	   （1440px 幅ならどちらも x=170 で、移行元の実測値と一致する）. */
	width: min(1100px, 100vw);
	/* 下の 55px は移行元と同じ（page_introduce.css 204 行）。左右は上の width と対で
	   器の外へ出すための値であり、外すと中央からずれる. */
	margin-block: 0 55px;
	margin-inline: calc(50% - min(550px, 50vw));
	padding: 0;
	list-style: none;
}

/* 🚨 **タブの固定幅は 750px 以上だけに絞る（Task #4262）。**
 *
 * 移行元のパソコン版は `#story .flow_story { margin: 0 auto 55px; width: 1100px }` で
 * **固定 1,100px** である（`css/page_introduce.css` 203〜206 行）。上の 2 つの規則は
 * `min(1100px, 100vw)` で画面の幅に追従していたので、ここで固定幅へ戻す。
 *
 * 🚨 **携帯幅（749px 以下）は折り返しのまま残す。移行元スマホ版はこのタブを別の部品
 * で組んでおり**（目印が `ul.article_menu`・**ワード解説は 2 列 × 4 行・成婚ストーリーは
 * 2 列 × 3 行**）、**数値までそろえないことが Issue #2276 で決まっていた。**上の 2 つの
 * 規則を直に固定幅にすると携帯幅まで 1,100px になるため、この囲みに分けてある。
 *
 * 🚨 **訂正（Bug #6330・2026-09-15）。ワード解説の帯（`li.btn_navi` を持つほう）に
 * ついては、その前提を外した**（ユーザー決定 D217・D218）。移行元スマホ版の絵のナビを
 * テーマが出し（`inc/sp-list-nav.php`）、**その帯だけを携帯幅で隠す**。
 * **成婚ストーリーの帯はここでは隠さない**（Bug #3850 が `story.css` で別に作り替えて
 * いるため）。ここの固定幅を 750px 以上に絞る作りは、**どちらの群でもパソコン幅の
 * ために引き続き要る。**
 *
 * 🚨 **選択子を短くしてはいけない。**上の 2 つは `:not(:has(> li.btn_navi))` と
 * `:has(> li.btn_navi)` を持つぶん詳しいので、`#story .flow_story` だけで書くと
 * 負けて効かない。**同じ選択子をそのまま並べる。**
 *
 * 🚨 **中央寄せの式（`margin-inline: calc(50% - min(550px, 50vw))`）はここに書かない。**
 * 上の 2 つが持っている式が、移行元の `margin: 0 auto` と同じ振る舞い（器が親より
 * 広いときは左端 0 で止まる）と、柱の外へ出す役目の両方を担っている. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) #story .flow_story:not(:has(> li.btn_navi)),
	:is(.entry-content, .page-content__body) #story .flow_story:has(> li.btn_navi),
	.pa-story-theme-tabs {
		width: 1100px;
	}
}

:is(.entry-content, .page-content__body) #story .flow_story > li.btn_navi {
	/* 内側 124 × 50px に内余白を足して外形 131 × 70px にする。このテーマは
	   box-sizing: border-box を全体に効かせているため、移行元と同じ値の書き方を
	   保つには content-box へ戻す必要がある. */
	box-sizing: content-box;
	width: 124px;
	height: 50px;
	/* 右 5px は移行元 #story .flow_story li.btn_navi（word の 539〜543 行）。
	   下 8px は折り返したときの行間である。

	   🚨 **「1 行組みでは出番が無い」は誤りだった（Bug #6314）。**器は
	   `display: flex` なので、**子の下外余白は 1 行でも行の高さに乗り、器の高さに
	   なる**（`float` と違い、flex の子の外余白は畳まれない）。実測でも押しボタン 8 個が
	   1 行に収まっているのに器が 70 ではなく 78px だった（幅 1440px・2026-09-14）。
	   この下 8px は**すぐ下の囲みがパソコン幅で打ち消し、行間は器の row-gap が持つ**. */
	margin: 0 5px 8px 0;
	padding: 10px 7px 10px 0;
	background: #a2803b;
}

/* 🚨 **押しボタンの下の外余白を、行と行の**間**の隙間へ置き換える（Bug #6314）。**
 *
 * 移行元は `float: left` で組んでおり、**下の外余白を持たない**
 * （`word/css/style.css` の 539〜543 行）。dev は `display: flex; flex-wrap: wrap` な
 * ので、子の下外余白が 1 行組みでも行の高さに乗る。実測（幅 1440px・2026-09-14 22:04）
 * では帯の器が移行元 70px に対し dev 78px で、記事の並びの上端が 432 対 440 と
 * 8px 下がっていた。
 *
 * **`row-gap` は行と行の間にだけ入り、最後の行の下には付かない。**そのため
 * 折り返す幅では行間 8px が保たれたまま、1 行組みの +8px だけが消える。
 *
 * 🚨 **上の素の規則より後ろに置く。**`@media` は詳細度を上げないので、前に置くと
 * 同じ詳細度の後勝ちで `margin: 0 5px 8px 0` に負ける.
 *
 * 🚨 **携帯幅（749px 以下）は 1px も動かさない。**移行元の携帯版はこの帯を持たず
 * （`/sp/word/` に `btn_navi` が 0 件）、携帯幅の出し直しは
 * [Bug #6312](https://github.com/mationinc/wp-platform/issues/6312) の範囲である. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) #story .flow_story:has(> li.btn_navi) {
		row-gap: 8px;
	}

	:is(.entry-content, .page-content__body) #story .flow_story > li.btn_navi {
		margin-bottom: 0;
	}
}

:is(.entry-content, .page-content__body) #story .flow_story > li.btn_navi:hover {
	/* 移行元 .flow_story .btn_navi:hover（word の 114〜116 行）. */
	opacity: 0.9;
}

:is(.entry-content, .page-content__body) #story .flow_story > li.btn_navi > a {
	/* 移行元 .flow_story .btn_navi a（word の 88〜100 行）。矢印を置くための基準も
	   兼ねている. */
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--pa-palette-white);
	font-size: 16px;
	text-decoration: none;
}

/* 右端の山形の矢印。移行元 .flow_story .btn_navi a:before（word の 102〜112 行）を
   そのまま写す。飾りなので読み上げには乗らない. */
:is(.entry-content, .page-content__body) #story .flow_story > li.btn_navi > a::before {
	content: "";
	position: absolute;
	top: 39%;
	right: 2%;
	width: 10px;
	height: 10px;
	border: solid var(--pa-palette-white);
	border-width: 1px 1px 0 0;
	transform: rotate(45deg);
}

/* 本文の末尾に置かれた「ページの先頭へ戻る」（移行元 .page_topArea / .page_top。
   Issue #2322）。写し元は移行元のサイト共通 CSS（public/css/style.css の
   1874〜1883 行）である。

       .page_topArea { width: 1100px; margin: 0 auto; }
       .page_top     { float: right; padding: 40px 0 0; clear: both; }

   移行元はこの 2 つを全ページへ共通で当てている。持ち込み元は共通取り込み
   public/include/box_support.shtml で、これを読む移行元の PC ページは 4,926 件ある。
   dev の本文にも .page_topArea が 5,082 件・.page_top が 5,171 件残っているが、
   テーマは会社情報・採用の 8 区画（下の #company 等の並び）と記事にだけ id 名で
   当てており、店舗 3,405 件・固定ページ 640 件などが未対応だった。ここで本文共通へ移す。

   囲みの幅を width ではなく max-width で書くのは、本文の柱が 800px の投稿型
   （記事・成婚ストーリー・コラム記事の約 1,100 件）で width: 1100px を書くと親から
   あふれて横スクロールが出るためである（対照実験で確認）。柱の幅そのものを移行元へ
   戻す件は Issue #2308 が扱う。柱が広がれば、この max-width のまま移行元と同じ位置に
   落ちる。

   浮かせの閉じ込めに clear: both（移行元の .clearfix:after と同じ手）ではなく
   display: flow-root を使う。clear: both は「この囲みより前にある浮かせ」まで
   清算してしまい、囲みが下へ押し下げられる（実測: 婚活川柳で囲みの高さが
   109px であるべきところ 1,702px へ膨らんだ。本文に先行する #side_menu の
   float: left を拾っていた）。flow-root は自分の中の浮かせだけを閉じ込めるので、
   外側の浮かせの出方を変えない。閉じ込めが無いと囲みの高さが 0 に潰れる。

   高さを移行元の 109px に合わせるには文字組みも要る。中身は 50x63px の画像 1 枚で、
   画像は行の中に置かれるため、行の器の高さが囲みの高さを決める。移行元の土台は
   文字 13px・行の高さ normal（移行元 public/css/common.css の body・28〜35 行）で、
   画像の縦位置は既定の baseline である。テーマの土台は 16px・行の高さ 24px、画像は
   middle なので、3 つとも移行元の値へ戻す。この 3 つは Bug #2055 / #2110 で記事に
   ついて実測ずみの値で、ここではそれを本文共通へ広げている。

   マウスを乗せても薄くしないのは、移行元が共通 CSS の a:hover img { opacity: .5 } を
   .page_top a:hover img { opacity: 1.0 }（移行元 style.css:1885）で打ち消しているため
   である. */
:is(.entry-content, .page-content__body) .page_topArea {
	display: flow-root;
	max-width: 1100px;
	margin: 0 auto;
	font-size: 13px;
	line-height: normal;
}

/* 携帯幅では、本文が持ち込んだ「先頭へ戻る」を隠す（Bug #5926）。

   dev は投入した本文が移行元の**パソコン版**なので、パソコン版だけが持つこの囲みが
   携帯幅にも描かれる。

   🚨 **数えるのは囲みではなく押しボタンである。**移行元は同じ部品をパソコン版と携帯版で
   別の markup にしている。携帯版は**囲みを持たずに押しボタン（`p.page_top`）だけ**を置く
   （絵も別の素材で、`/sp/images/page_top.gif` は実寸 76 × 86・`pagetop_off.png` は 50 × 63）。
   囲みの名前で数えると押しボタンの有無を取り違える。

   写し `1fbfa9dda` を全数で数えた（2026-09-12 実測）。直接書いてある分と共通の取り込み
   （`<?php include_once($_SERVER['DOCUMENT_ROOT'].'/include/box_support.shtml') ?>`。
   🚨 **SSI ではないので `<!--#include -->` だけを探すと数え落とす**）の和集合である。

     | 数えたもの                                          | 本数  |
     | パソコン版が囲みを出す（＝ dev の本文に囲みが在る） | 5,209 |
     | 携帯版が囲みを出す                                  |     3 |
     | **携帯版が押しボタンを出す**                        |   316 |
     | そのうちパソコン版も囲みを出す                      |   222 |

   🚨 **移行元の携帯版が押しボタンを出すページでは、携帯幅でも出す。**印は
   `inc/page-top.php` の `pa_page_top_sp_body_class()` が、移行元を全数走査して作った表
   （`inc/generated/legacy-sp-page-top.php`）を移行元の道すじで引いて付ける。
   **手で並べた表ではない**（作り直す手順は生成物の先頭に書いてある）。

   🚨 **パソコン幅は触らない。**単発 LP 2 ページでこの押しボタンを出すようにした
   直し（Bug #4608）は、パソコン幅のものである。

   境目は 749px にする。**テーマの携帯幅の判定と同じ値**でなければ、JS が携帯と
   みなす幅と CSS が携帯とみなす幅がずれる。

   テーマの部品（`.pa-page-top`）は上の節が同じ考え方で出し分けている。こちらは
   **投入した本文の側**を同じ形にそろえるものである. */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .page_topArea {
		display: none;
	}

	/* 移行元の携帯版も押しボタンを出すページだけ、上の素の値へ戻す. */
	body.pa-legacy-sp-page-top :is(.entry-content, .page-content__body) .page_topArea {
		display: flow-root;
	}
}

/* デートスポットの入口と県別の一覧の「先頭へ戻る」（Bug #9208）。部品は `inc/page-top.php` が
   `.pa-page-top--archive` で出す（帯の後ろ・本文の器の外）。移行元と同じ高さと間にそろえる
   （確かめの実測・`pa-verify-assets/A/9208-スポットの帯の後ろの確かめ-1002/走行1/`）.

   - パソコン幅: 移行元は `p.page_top { float: right; padding: 40px 0 0 }` で、字の行の高さは `normal` である。
     囲みの高さは「40 ＋ 絵の行」で、県別の一覧は字 13px で 109、入口は字 12px で 107 になる。
     テーマの部品は 110.4 になっていた。押しボタンの `p.pa-page-top__item` に、素の `p` の規則
     （`line-height: var(--pa-line-height-text)`・字 13px で 23.4px）が当たるためである。🚨 **外の囲みへ
     `normal` を当てても、p が自分の値を持つので届かない**（確かめ 2 の実測・
     `pa-verify-assets/A/9208-スポットの帯の後ろの確かめ-1003/走行1/`）。p と a へ直接 `normal` を当てると、
     県別の一覧は 109、入口は 107 になり、移行元と同じだった
   - 携帯幅: 県別の一覧は帯が本文の器 `.single-content--spot-archive` の中にあり、器の下の内余白 20 が
     帯と押しボタンのあいだに入っていた（移行元 30・dev 50）。移行元は帯と押しボタンのあとで器
     （`#other_contents { padding: 0 0 20px }`）が閉じるので、20 を押しボタンの下へ移す。ページの高さは変わらない。
     入口は帯が器の外にあり、間は移行元と同じ 30 なので触らない

   🚨 詳細ページは本文の囲みが押しボタンを出し、携帯幅でも `p.page_top` が移行元と同じ 50.4 × 44.5 である
   （同じ確かめの実測）。ここでは触らない. */
@media (min-width: 750px) {
	body.post-type-archive-spot .pa-page-top--archive .pa-page-top__item,
	body.post-type-archive-spot .pa-page-top--archive .pa-page-top__link {
		line-height: normal;
	}

	body:has(#seo.pa-spot-archive) .pa-page-top--archive {
		font-size: 12px;
	}
}

@media (max-width: 749px) {
	.single-content--spot-archive:has(> .pa-conv-band-host) {
		padding-bottom: 0;
	}

	body:has(.single-content--spot-archive > .pa-conv-band-host) .pa-page-top--archive {
		padding-bottom: 20px;
	}

	/* デートスポットの詳細は、押しボタンが部品でなく本文の囲み `div.page_topArea`（本文の最後の子・
	   `display: flow-root`）の中の `p.page_top` である。移行元スマホ版と同じく、押しボタンの下へ器の 20px を積む
	   （Bug #8445。直す前は押しボタン → フッターの最初の字が 64・移行元 84）. */
	body.single-spot .entry-content > .page_topArea:last-child {
		padding-bottom: 20px;
	}
}

/* 会社情報のプレスリリース（/company/release/）だけ、囲みを本文の柱より広げる
   （Bug #2423・ユーザー裁定で案 C4 を採用）。

   このページの本文の柱は移行元・dev とも 800px である。**移行元はそこへ幅 1,100px
   固定の囲みを置き、柱からはみ出させている。**その結果、移行元は幅 1440px でも
   ページ全体に横スクロールが出る（本体 1,588px > 画面 1,440px。2026-08-28 に実測）。

   移行元をそのまま写すと横スクロールまで写すことになる。**ユーザーの裁定は
   「横スクロールは写さず、広い画面の見え方だけ一致させる」である**（意図的変更の
   台帳に記録済み）。上の共通規則の max-width: 1100px は親（柱 800px）に負けるため、
   ここで width を与えて柱より広げる。

   `max()` で下限に 100% を置くのが要点である。画面が狭いときは親の幅へ素直に戻り、
   横スクロールを出さない。実測（2026-08-28・5 つの幅）は次のとおり.

       画面 1440px … 囲み 1,100px・押しボタン x=1370（移行元と完全一致）
       画面 1280px … 囲み   940px・押しボタン x=1130
       画面 1024px 以下 … 現状のまま（押しボタン x=862 ほか）
       いずれの幅でも横スクロールは出ない

   縦スクロールバーがある環境でも収まる。Windows の既定（17px）で計算すると、
   画面 1440px のとき囲みの右端は 1411.5px、画面の実効幅は 1423px である。`100vw` は
   スクロールバーを含む値だが、340px（柱の左右の余白 170px × 2）がそのずれを吸収する。

   `#company` を前置して 1 ページに絞る。この区画 id と本文の囲みの両方を持つのは
   /company/release/ だけである（会社情報 24 ページを実測）。会社情報のトップ
   （/company/）は区画 id が同じだが囲みを持たないため影響しない.

   退けた書き方: 囲みや押しボタンを負の余白（margin-right: -300px）で右へ出す案は、
   画面 1024px 以下で横スクロールが出た（本体 1,212px）。下限を置かない
   max-width: calc(100vw - 340px) 単独の案は、画面 375px で囲みが 35px に潰れ、
   押しボタン（50px）が収まらなかった. */
:is(.entry-content, .page-content__body) #company .page_topArea {
	/* 🚨 **`width` は 1,100px でなければならない。**この値は柱（800px）より広く、
	   囲みを柱の右へはみ出させるためのものである。`100%` にすると柱と同じ 800px に
	   なり、押しボタンが移行元より 300px 左へ寄る。2026-08-28 に 1,100px で入れた値が、
	   2026-09-04 の体験談の直し（PR #3312）で無関係に `100%` へ書き換えられていた
	   （Bug #3731 で気づいた。実測 2026-09-06・幅 1440px: 押しボタンの絵が移行元の
	   x=1370 に対し x=1070）。下の `max-width` が狭い画面での上限を与えるので、
	   横スクロールは出ない. */
	width: 1100px;
	/* 🚨 **この上限は携帯幅（749px 以下）のために残してある。**750px 以上では
	   すぐ下の囲みが上限を外し、移行元と同じ固定 1,100px にする（Task #4266）。
	   ここで上限を消すと、幅 375px で囲みが 1,100px になり携帯幅の組みが崩れる。 */
	max-width: max(100%, calc(100vw - 340px));
}

/* 🚨 **750px 以上は上限を外し、移行元と同じ固定 1,100px にする（Task #4266）。**
 *
 * 移行元の `.page_topArea` は**固定 1,100px** である（旧デザインの
 * `css/style.css` 1874 行）。上の `max-width` は「画面が狭いときは親の幅へ素直に
 * 戻り、**横スクロールを出さない**」ための上限だったが、**裁定 265（750px 以上は
 * 移行元と同じく横スクロールを許容する）で覆った。**上限が効いていた帯では移行元より
 * 狭くなっていた（注釈の実測: 画面 1,280px で囲み 940px。移行元は 1,100px）。
 *
 * 🚨 **`#company` の前置きを落としてはいけない。**この囲みを持つのは
 * `/company/release/` の 1 ページだけである（会社情報 24 ページを実測）。会社情報の
 * トップは同じ区画 id を持つが囲みを持たないため影響しない。前置きを落とすと、
 * 囲みを持つ他の種類のページへ届く. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) #company .page_topArea {
		max-width: none;
	}
}

:is(.entry-content, .page-content__body) .page_top {
	float: right;
	clear: both;
	margin: 0;
	padding: 40px 0 0;
	font-size: 13px;
	line-height: normal;
	text-align: left;
}

:is(.entry-content, .page-content__body) .page_top img {
	vertical-align: baseline;
}

:is(.entry-content, .page-content__body) .page_top a:hover img {
	opacity: 1;
}

@media (max-width: 749px) {
	/* 調査概要の囲みは、移行元 PC の左右 40px では画面の幅を食いすぎる. */
	:is(.entry-content, .page-content__body) .box_conduct {
		padding: 20px 16px 10px;
	}

	/* 節の見出しは、上下の間隔（45px と 35px）を詰める. */
	:is(.entry-content, .page-content__body) .text_title {
		margin: 30px 0 20px;
		font-size: var(--pa-article-h4-size);
	}
	/* ----------------------------------------------------------
	 * 本文に取り込まれた「先頭へ戻る」（Task #3231）
	 *
	 * 🚨 **この節をここへ置くのは、素の規則より後ろに要るからである。**素の規則
	 * （このファイルの 23703 行あたり `:is(.entry-content, .page-content__body) .page_top`）と
	 * 詳細度が同じ（0,2,0）なので、**前に置くと後勝ちで負けて位置が直らない**
	 * （手元の陰性対照で実測: 絵だけ差し替わり、右寄せと上内余白 40px が残った）。
	 *
	 * ここまでの規則は**テーマが自分で出す部品**（`.pa-page-top--*`）だけを
	 * 携帯用の絵へ差し替えている。**投入した本文に残る側（`div.page_topArea` の中の
	 * `p.page_top`）は差し替えておらず、携帯幅でもパソコン用の絵が出ていた。**
	 * 本文に `.page_top` を持つ記録は 5,171 件ある。
	 *
	 * 【移行元スマホ版の写し元】`public/sp/css/style.css` の 1859〜1862 行
	 *   `.page_top { margin: 0 auto 30px; width: 11.875% }`
	 * 組みは `public/include/box_support_sp.shtml`
	 *   `<p class="page_top"><a href="#header"><img src="/sp/images/page_top.gif" alt="TOP"></a></p>`
	 *
	 * 【移行元スマホ版の実測（幅 375px・本番・2026-09-04 02:35 JST）】
	 *   `p.page_top` 44.53 × 50.39px・左端 165.23（**中央寄せ**）・外余白 `0 165.234px 30px`
	 *   幅 11.875% の検算 375 × 0.11875 = 44.53 ✓／中央の検算 (375 − 44.53) ÷ 2 = 165.24 ✓
	 *
	 * 🚨 **絵はパソコン用と別のファイルで、テーマは既に持っている**
	 * （`assets/images/pagetop_sp.gif` 76 × 86。移行元 `/sp/images/page_top.gif` と
	 * **SHA-256 が一致**するので資産を足す必要は無い）。
	 *
	 * 🚨 **幅は百分率でなく `vw` で書く。**百分率は「包む器の中身の幅」を基準に
	 * 解かれる。移行元は包む器が画面幅（375px）だが、dev の本文の柱は左右に余白を
	 * 持つので、百分率だと移行元より細くなる。すぐ上の `--introduce` が同じ理由で
	 * `11.875vw` にしてある。
	 *
	 * 🚨 **指を乗せたときの差し替えを持ち込まない。**携帯用の絵に効かせると寸法が
	 * 76 × 86 から 50 × 63 へ化けて組みが動く（Bug #2817 で実際に踏んだ型）。
	 * 本文の側は `.page_top a:hover img` が差し替えを持つので、ここで打ち消す。
	 * ---------------------------------------------------------- */
	/* 🚨 **`p.page_top` と要素まで書く（Bug #3339）。**規程のページ群には
	   `.page-content--company .page-content__body :is(#about, …) p { margin: 0 0 30px }`
	   という**段落を対象にした規則**があり、詳細度 (1,2,1) でここに勝つ。「先頭へ戻る」は
	   `p.page_top` なので当たり、**左右の外余白の `auto` が 0 に戻されて中央に寄らない**
	   （`text-align: center` は残るので「幅は正しいのに左端だけずれる」という見え方になる）。
	   要素を 1 つ書き足して同じ土俵に乗せる。

	   **打ち消している側は触らない。**あちらは移行元の本文の文字組みの写しなので、
	   `p:not(.page_top)` に絞ると別の退行を招く恐れがある。

	   🚨 **この差は代表 3 ページを測って初めて露見した**（[PR #3313](https://github.com/mationinc/wp-platform/pull/3313) は 1 ページの再現でしか
	   確かめておらず、`/company/profile/` と `/research/` では直っていた）。**1 本の再現で
	   全数を語らない.** */
	:is(.entry-content, .page-content__body) p.page_top {
		/* 移行元は中央寄せ。パソコン幅の `float: right` を打ち消す. */
		float: none;
		width: 11.875vw;
		margin: 0 auto 30px;
		padding: 0;
		text-align: center;
	}

	:is(.entry-content, .page-content__body) p.page_top img {
		content: url("../images/pagetop_sp.gif?ver=bb8683872ea0");
		display: block;
		width: 100%;
		height: auto;
	}

	/* 指を乗せたときの差し替えを打ち消す（上の注釈の理由）。

	   🚨🚨 **この打ち消しは 2026-09-06 まで 1 度も効いていなかった（Bug #4133）。**
	   打ち消す相手（このファイルの下のほうにある本文の押しボタンの差し替え）は
	   Task #3190 で当て先が `img.imgover` へ絞られ、**クラスの数が 4 個に増えた**。
	   こちらは 3 個のままだったので、`@media` の中に在っても勝てない。
	   **`@media` は強さ（詳細度）を上げない。**

	     打ち消す相手  :is(…) .page_top a:hover img.imgover  … クラス 4 ＋ 要素 2
	     直す前のここ  :is(…) p.page_top a:hover img         … クラス 3 ＋ 要素 3
	     直したあと    :is(…) p.page_top a:hover img.imgover … クラス 4 ＋ 要素 3 ← 勝つ

	   **勝ち方の中身。**強さはクラスの数を先に比べ、同じなら要素の数で決まる。
	   `.imgover` を書き足すとクラスが 3 → 4 で相手と並び、**そのあと要素の数
	   （こちら 3 対 相手 2）で決まる**。こちらは元から `p` を持っているので、
	   足すのは目印 1 つでよい。

	   🚨 **要素を足すだけでは勝てない。**クラスが 3 のままだと、要素をいくら
	   足しても相手のクラス 4 に届かない。**また、書いた順では勝てない**
	   （同じ強さなら後ろが勝つが、こちらは 34,000 行台・相手は 34,800 行台で
	   こちらのほうが先である）。

	   幅 375px の実測（2026-09-06・dev の `/service/point/` と `/company/profile/`）:

	     直す前  指を乗せる前 44.53 × 50.39（携帯用の gif）
	             指を乗せた後 44.53 × 56.11（パソコン用の png へ化ける・**+5.72px**）
	     直した後 指を乗せた後も 44.53 × 50.39 のまま

	   🚨 **`.imgover` で絞って取りこぼしは出ない。**差し替えが当たるのは
	   `img.imgover` だけなので、目印を持たない絵はそもそも差し替わらない
	   （すぐ上の規則が携帯用の絵を無条件で当てている）。

	   🚨 **パソコン幅（750px 以上）は触らない。**移行元もパソコン幅では
	   差し替える（`js/rollover.js`）。幅 1440px の姿は変えない. */
	:is(.entry-content, .page-content__body) p.page_top a:hover img.imgover {
		content: url("../images/pagetop_sp.gif?ver=bb8683872ea0");
	}
}


/* 横送りの説明の帯（box_caption）と「この記事を読む」の導線（text_more）は、
   写真に重ねる絶対配置をやめて通常の流し込みに戻す。以下、経緯を順に記す。

   【由来1】横に送る帯（box_caption）は、高さの固定を解くだけでは足りなかった。
   実際に幅 375px でスライドの実文言（Vol.158 ほか）を描画すると、
   height: auto にした帯は 262px まで伸び、写真自体の高さ（106px 前後）を
   超えて上へ 157px もはみ出し、写真の上にあるページの見出し・リード文と
   重なった（実測。Playwright で確認）。

   移行元は携帯へ別サイト（/sp/research/）を配り、そちらの一覧は box_caption
   と別のクラス名（.text_box・.topic_ttl・.topic_txt）を持つ、写真の下へ
   通常の流し込みで置く別の作りである（絶対配置の帯そのものが無い）。クラス名
   や寸法（103px の帯・right: 60px の余白など）は引き写せないが、**「狭い画面
   では写真に重ねない」という設計の判断は引き写せる**。よって狭い画面では
   `position: absolute` をやめて通常の流し込みに戻す。`height: auto` は
   そのまま残す（流し込みなら中身の高さに自然に収まるため、固定する理由が
   無くなる）。

   下地の色（bg_slide_text.png）・文字色（白）・内余白はそのまま保った。
   写真の下に続くカードとして見えるだけで、移行元の携帯版と並べても
   不自然ではない（実描画で確認）。

   🚨 訂正（レビュー指摘の確認中に見つけた別の漏れ）: display: flow-root を
   足す前は、帯（box_caption）の下に text_more との隙間が 18px 空いていた
   （実測）。帯は padding-bottom: 0 のまま（基本規則）で、中の最後の <p>
   （概要文）が持つ既定の下余白が、border も padding-bottom も無い帯を
   突き抜けて外側（text_more との間）に染み出していた（margin の相殺）。
   flow-root で帯自身に新しいブロック整形コンテキストを作ると、中の <p> の
   下余白が帯の外へ染み出さず帯の高さに含まれるようになり、下の text_more の
   margin: 0 がそのまま隙間 0 になる（実描画で確認）。

   「この記事を読む」の導線（text_more）を帯と同じ絶対配置から流し込みへ
   戻しただけでは、色を直していなかった。text_more と中の a はどちらも
   color: #fff（白文字）のまま基本規則から引き継がれる。帯（box_caption）の
   外へ出て通常のページの白い背景の上に流れ込むと、白文字が白背景に重なって
   読めなくなる（実描画で確認。位置は正しく帯のすぐ下に来ていたが、色が白の
   まま埋もれていた）。

   移行元の携帯版（/sp/research/）を確認すると、導線という物自体が無い
   （`#research a .text_box` ごと `<li>` 全体を `<a>` が包んでおり、カードの
   どこを押しても記事へ飛ぶ。「この記事を読む」に相当する文字は無い）。よって
   携帯版の配色をそのまま引き写す先例は無い。

   ここでは、通常のページ地の上に白文字を置くのではなく、帯（box_caption）と
   同じ下地（bg_slide_text.png・白文字）を text_more 側にも敷いて、帯の続きの
   1 枚として見せる。box_caption は上の指摘のとおり暗い帯・白文字のまま
   狭い画面でも保っている（下の box_caption の指定を参照）ので、その続きに
   揃えるほうが、書式だけ変える案より見た目の一貫性を保てる。margin を 0 に
   して box_caption の下端（padding-bottom: 0）と text_more の上端をすき間
   無く繋げ、実描画で 1 枚の帯に見えることを確認した。

   width: 124px の決め打ちを残すと器（li）の左端に幅の狭いボックスとして
   寄ってしまうため、幅は auto に戻して器いっぱいに広げる（text-align: right
   は保つので、文字は変わらず右寄せで読める）。

   【由来2】この流し込みは、上の由来1の時点では幅 749px 以下でしか有効に
   していなかった。だが説明の帯（box_caption）が絶対配置のまま固定高さ
   （内容 88px + 内余白 15px = 103px）で残る 750〜1099px の範囲でも、文言が
   長いスライドでは 103px に収まらない（実測。幅 750/900/1000px のいずれも、
   実際にいちばん長い文言のスライド Vol.154 で概要文が帯の下端を越え、
   「この記事を読む」（text_more）と重なる）。

   text_more は帯の高さとは無関係に bottom: 15px; right: 30px; で li 自身の
   右下へ固定されているため、帯だけを min-height で伸ばしても解決しない
   （実測。min-height: 88px へ変えて試したところ、帯が伸びた分だけ概要文が
   下へ広がり、固定位置のままの text_more へさらに深く食い込んだ）。

   移行元はこのページをパソコン幅（器 1100px）でしか描かない（携帯は別サイト
   /sp/research/）。つまり器が 1100px を下回る幅は、すべて私たちの側で決める
   領域である（レビュー指摘）。よって「狭い画面では写真に重ねない」という
   由来1の判断そのものを、749px という区切りではなく、器が最大の 1100px を
   下回る幅すべてへ広げる。

   【由来3・🚨 訂正（レビュー指摘・通算14件目）】由来2で区切りを画面幅
   @media (max-width: 1099px) にしたが、これは画面幅と器（#slider）の幅を
   同じものとして扱っていた点が誤りだった。器の幅の連鎖は次のとおりである。

       .page-content   max-width: 1130px（box-sizing: border-box・
                       padding: 0 var(--pa-inner-gutter) = 左右 15px ずつ）
       #slider         width: min(1100px, 100%)

   #slider が 1100px に届くのは、画面幅が 1130px 以上のときだけである。
   画面幅 1100〜1129px では .page-content の内余白 15px ずつが幅の内側に
   含まれるため、#slider の実幅は 1070〜1099px にしかならない。画面幅で
   区切る @media (max-width: 1099px) はこの範囲を対象に含められず（画面幅
   1100〜1129px は「1099px 以下」に当たらない）、由来2で直したはずの重なりが
   ここで再発する（レビュー指摘・実測）。

   区切りに画面幅 + 30px のような固定値を足すだけでは足りない。縦スクロール
   バーを表示する閲覧環境では、メディアクエリが見る画面幅とページの器の幅が
   スクロールバーの幅（環境により変わる。Windows の既定で 17px 前後）だけ
   ずれるため、固定値では画面幅と器の幅の差を常には合わせきれない。

   #slider はすでに container-type: inline-size を持つ（上を参照）。そこで
   画面幅ではなく、コンテナクエリで器の幅そのものを条件にする。1099.98px と
   小数で書くのは、器の幅は小数になりうるため「1100px 未満」を表したい
   ためである。range 記法（width < 1100px）ではなく max-width: の形で書くのは、
   コンテナクエリの構文自体は解せても range 記法までは解さない古い版で、
   ブロックごと無視されて狭い画面の重なりが直す前の状態へ戻るのを避けるため
   である（max-width: の形は range 記法より古くから解される）。

   @supports not (container-type: inline-size) の側に、由来2までの画面幅判定を
   近似として残す。コンテナクエリそのものを解さない閲覧環境向けの備えであり、
   そこでは矢印の位置は下の共通規則の 50%（直す前の見え方）へ戻るが、それは
   退行ではなく、直す前から変わらない状態である（下の矢印の節に同じ説明が
   ある）。

   帯・導線・矢印の区切りは必ずそろえる（由来2で指摘された点）。今回はその
   3つを同じ @container ブロックへまとめることで、区切りがそろっている
   ことを構造で保証する。

   これにより、器がちょうど 1100px（写真 1100 × 310px・帯 103px）のときの
   移行元の見え方は変えない。器が 1100px を下回った瞬間から、文言の長さに
   関係なく必ず収まる流し込みへ切り替わる. */

/* 帯（box_caption）・導線（text_more）・矢印の位置を、器（#slider）の幅で
 * 切り替える。コンテナクエリを解する閲覧環境向け（上の由来1〜3を参照）。
 *
 * 前後の矢印について: 狭い画面で帯を写真の下へ流し込むと、器（.bx-wrapper）
 * の高さに写真だけでなく帯・導線も含まれるようになる。矢印は
 * legacy-bxslider.css の共通規則で inset-block-start: 50%（.bx-wrapper の
 * 高さの中央）のままなので、流し込みが効いている幅では帯の途中（実測
 * 375px 幅で写真 約 106px・帯 262px の器では、中央は写真の外＝帯の説明文の
 * 真ん中）に重なり、本文を隠してしまう（実測。Playwright で確認）。
 *
 * 移行元は携帯へ別サイト（/sp/research/）を配るが、そちらにも前後の矢印は
 * ある（public/sp/js/bxslider/jquery.bxslider.css の .bx-wrapper
 * .bx-controls-direction a）。ただし top は 50% ではなく 15% で、携帯版も
 * 帯を重ねない縦積みの作りのため、矢印を画面の中央ではなく写真の範囲に
 * 収まる位置へ個別に合わせている。「矢印を出さない」という選択肢は、移行元に
 * 矢印が実在する以上採らない。「矢印の基準を写真の高さに合わせる」という
 * 移行元と同じ向きの直し方を選ぶ。
 *
 * 移行元は固定の 15% で済ませているが、こちらは説明文の長さで帯の高さが
 * 変わり、写真だけの高さの割合は投稿ごとに変わらない（写真はどれも実寸
 * 1100 × 310px で器の幅いっぱいに縮尺されるため）。そこで固定の % ではなく、
 * 上の #slider に置いた container-type と cqw で「器の幅から写真の高さの
 * 半分」を計算する。155 / 1100 = 0.1409090909... を 100 倍した
 * 14.0909091cqw が、写真の高さ（器の幅 × 310 / 1100）のちょうど半分にあたる
 * （矢印は 40px の丸ボタンで、legacy-bxslider.css がすでに
 * margin-block-start: -20px で中心をこの位置に合わせている。inset-block-start
 * だけをここで上書きすれば足りる）. */
@supports (container-type: inline-size) {
	@container (max-width: 1099.98px) {
		:is(.entry-content, .page-content__body) #research #slider .bxslider li .box_caption {
			position: static;
			height: auto;
			display: flow-root;
		}

		:is(.entry-content, .page-content__body) #research #slider .bxslider li .text_more {
			position: static;
			width: auto;
			margin: 0;
			padding: 0 30px 15px;
			background-image: url("../images/research/bg_slide_text.png?ver=96c2265fae59");
			background-repeat: repeat;
		}

		/* li の position: relative は、帯と導線を絶対配置で置くための基準
		   だった。両方を流し込みへ戻した幅では、他に絶対配置の子が無いため
		   不要になる。残しても見た目は変わらない（効かせる相手が無いだけ）が、
		   「なぜここに position: relative があるのか」を将来読む人が探さずに
		   済むよう、明示的に static へ戻しておく. */
		:is(.entry-content, .page-content__body) #research #slider .bxslider li {
			position: static;
		}

		:is(.entry-content, .page-content__body) #research #slider .bx-controls-direction .bx-prev,
		:is(.entry-content, .page-content__body) #research #slider .bx-controls-direction .bx-next {
			inset-block-start: 14.0909091cqw;
		}
	}
}

/* コンテナクエリ（container-type）を解さない古い閲覧環境向けの備え。器の
 * 幅を直接見られないため、由来2までと同じ画面幅での近似に戻す。上の由来3の
 * とおり画面幅 1100〜1129px の範囲は正しく拾えないが、この近似はコンテナ
 * クエリ導入（由来3）より前から変わらない状態であり、退行ではない。矢印の
 * 位置は共通規則の 50% のまま（cqw が無効な値として無視されるコンテナ
 * クエリ対応環境と同じ見え方）にする。cqw を解さない環境では
 * inset-block-start: 14.0909091cqw も無効な値として無視されるだけなので、
 * ここでは矢印の規則をそもそも書かない. */
@supports not (container-type: inline-size) {
	@media (max-width: 1099px) {
		:is(.entry-content, .page-content__body) #research #slider .bxslider li .box_caption {
			position: static;
			height: auto;
			display: flow-root;
		}

		:is(.entry-content, .page-content__body) #research #slider .bxslider li .text_more {
			position: static;
			width: auto;
			margin: 0;
			padding: 0 30px 15px;
			background-image: url("../images/research/bg_slide_text.png?ver=96c2265fae59");
			background-repeat: repeat;
		}

		:is(.entry-content, .page-content__body) #research #slider .bxslider li {
			position: static;
		}
	}
}

/* ==============================================================
 * 移行してきた本文が使うクラス（会社情報・採用 /company/ 系）
 *
 * 写し元: public/css/page_company.css と
 * public/company/recruit/recruit_info/css/style.css。
 *
 * 移行元の該当ルールは `#contents` や `#recruit` という祖先の id で絞られて
 * いるが、その id は本文に残らない。そのため移行元の CSS をそのまま読み込んでも
 * 当たらない。ここでは既存の節と同じく、本文の囲みを起点に書き直す（Bug #1433）。
 *
 * 移行元は横並びを float と inline-block で作っている。ここでは flex へ置き換え
 * た。float は後続要素の回り込みを解除する手当て（.clear）が要るうえ、画面が狭い
 * ときに折り返せないためである。
 * ============================================================== */

/* 会社情報のタブナビ（22 ページ）。移行元 page_company.css:43-57 は
   `li { float: left }` で横に並べ、囲みに幅 1186px・高さ 49px・左の余白 82px と
   帯の背景画像を指定している。写さないと行頭記号付きの縦並びに崩れる。
   幅と高さの固定値は写さない。このテーマは画面幅に合わせて伸び縮みさせるためで
   ある。

   帯の背景画像（bg_category_menu.gif）は、以前は「移行できておらず参照すると
   403 になる」という理由で写していなかった。この前提は変わっている
   （2026-09-02）。テーマの画像置き場に画像があり、会社情報のタブ
   （このファイル 880 行の .pa-company-nav__list）と店舗のエリア一覧
   （このファイルの .single-content--branch .pa-branch__content .category_menu・
   Bug #2681）がすでに同じ画像を使っている。

   **2026-09-03 に測った（Bug #2866）。**以前ここには「採用ページにも同じクラスが
   出るが寸法をまだ測っていないので、測ってから別途直す」と書いてあった。その
   測定が済んだので、この一般の規則そのものを移行元へ揃える（下の
   「広い画面で移行元の帯へ揃える」の節）. */
:is(.entry-content, .page-content__body) .category_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px;
	margin: 0 auto var(--pa-space-sm);
	padding: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .category_menu li,
.archive-content--branch.pa-branch-archive .category_menu li {
	margin: 0;
}

/* 入口の項目の行頭記号を消す。土台の規則（`list-style: none`）は本文向けの囲みに
   しか当たらないため、入口では受け継ぎのまま `disc` が出る。器の側で `none` に
   すれば子へ受け継がれる（下のタブの帯の規則で指定している）. */

/* --------------------------------------------------------------
 * 広い画面で移行元の帯へ揃える（Bug #2866）
 * --------------------------------------------------------------
 * 移行元は、このナビを**全ページ共通の CSS 1 本**で配っている
 * （public/css/style.css の `#contents .category_menu`・1324〜1334 行）。
 *
 *   width 1186px / height 49px / padding 1px 0 0 82px / margin 0 auto /
 *   background は bg_category_menu.gif の repeat-x
 *
 * 移行元は box-sizing が既定（content-box）なので、外形は幅 1186 + 82 = 1268px、
 * 高さ 49 + 1 = 50px になる。このテーマは border-box を全体に効かせているため、
 * 同じ外形を出すには width と height へ外形の値を書く。
 *
 * ## 移行元の実測（2026-09-03・稼働サイト・幅 1440px）
 *
 * 4 つの画面群の 10 ページを測り、**1 つも違いが無かった**。
 *
 * | 画面群 | 器の外形 | 帯 | 最初のつまみの左端 |
 * |---|---|---|---|
 * | 会員紹介（アンケート・スポット・MOVIE・旧入口） | 左端 86 / 1268 × 50 | あり | 168 |
 * | お客様の声 | 同じ | あり | 168 |
 * | はじめての方へ | 同じ | あり | 168 |
 * | 採用 | 同じ | あり | 168 |
 *
 * 168px は 86 + 82（器の左端 + 左の内余白）である。つまみの間隔は 0 で、
 * 移行元は `li { float: left }` で左から詰めている。
 *
 * ## 直す前の dev（同じ測り方・幅 1440px）
 *
 * 帯が無く、つまみが中央へ寄り、器の幅が**画面群で 2 通り**あった。
 *
 * | 画面群 | ページ数 | 器の外形 |
 * |---|---:|---|
 * | 婚活アンケート | 11 | 左端 0 / 幅 **1440** |
 * | お出かけスポット・成婚MOVIE・旧入口 | 15 | 左端 170 / 幅 **1100** |
 *
 * 婚活アンケートだけ広いのは、その区画の橋渡し CSS が本文の柱の上限を外して
 * いるためである。**割り算で押し出せば、この 2 通りを 1 つの宣言で吸収できる。**
 * 負の外余白の 100% は「親の内側の幅」を指すので、親が 1,100px なら 84px ずつ
 * 押し出し、親が 1,440px なら 86px ずつ寄せて、どちらも 1,268px になる。
 * 柱の幅を数値で書き写さずに済む（入会案内の節・Bug #2303 と同じ書き方）。
 *
 * ## 当てる範囲（この 1 か所で 3 つの画面群が直る）
 *
 * クラスへ直に当てるので、本文にこのナビを持つページすべてに効く。**それが
 * 移行元の姿である**（移行元も共通 CSS 1 本で配っている）。すでに帯を持つ
 * 4 か所は、いずれも詳細度がここより高いので値が入れ替わることはない。
 *
 * | すでにある実装 | 詳細度 | この節の影響 |
 * |---|---|---|
 * | 会社情報のタブ（.pa-company-nav__list・Bug #1656） | 別のクラス | 無し |
 * | 店舗のエリア一覧（.single-content--branch …・Bug #2681） | クラス 3 つ | 無し |
 * | 入会案内（.pa-page--guide …・Bug #2303） | クラス 3 つ | 帯だけ足りていなかったので、ここから届く |
 * | お客様の声（assets/introduce-voice-story/css/voice.css・Bug #2842） | クラス 3 つ | つまみの揃えだけがここから届く |
 * | はじめての方へ（assets/visitor/css/bridge.css・Bug #2316） | クラス 4 つ + 要素 1 | 同上 |
 *
 * **お客様の声とはじめての方へは、帯は出ていたがつまみが中央のままだった**
 * （実測）。はじめての方へは `li { float: left }` で左詰めを狙っているが、
 * 器が flex なので float が効かない。この節の `justify-content: flex-start` で
 * 両方とも移行元どおり左詰めになる。**重複した 2 か所の片付けは別 Issue で扱う。**
 *
 * ## 狭い画面（750〜1,284px）も移行元の帯にする（Bug #3979）
 *
 * ここには以前「移行元は 1,268px の決め打ちで組まれており、それより狭い画面には
 * 写す相手が無い（携帯には別のページを返す）」と書いてあった。**この前提は
 * 間違っていた。**移行元が別のページ（`/sp/`）を返すのは携帯の幅だけで、750〜
 * 1,284px では移行元もこのパソコン版を返す。実測（2026-09-06・`/guide/`）では、
 * 移行元は 750 / 1,050 / 1,280px のいずれでも 1,268 × 50px の帯を地の絵つきで
 * 出し、左の内余白 82px も保っていた。
 *
 * | 幅 | 移行元 | 直す前の写し |
 * |---|---|---|
 * | 750 | 1268×50・地の絵あり・内余白左 82px | 720×49・地の絵なし・内余白左 0 |
 * | 1,050 | 同じ | 1020×49・地の絵なし・内余白左 0 |
 * | 1,280 | 同じ | 1100×49・地の絵なし・内余白左 0 |
 * | 1,440 | 同じ | 1268×50・地の絵あり・内余白左 82px（一致） |
 *
 * よって **750px から上は移行元と同じ帯にする**。認められている逸脱は「移行元が
 * 画面からはみ出す姿は写さない」だけなので（意図的変更の台帳 85 行・裁定 156）、
 * **幅だけを柱に合わせ、地の絵・内余白 82px・左詰め・折り返しなしは移行元どおり
 * にする**（司令塔の裁定 187）。
 *
 * つまみが柱に収まらない画面群（採用は 6 枚で合計 749px。柱 720px から内余白
 * 82px を引くと 638px しか残らない）は、**折り返さずに画像を縮めて 1 行に収める**。
 * 会社情報のタブ（`.pa-company-nav__list`）が先に同じ選び方をしている。画像には
 * 縦横比を持たせてあるので、縮んでも形はゆがまない。
 *
 * 749px 以下はこれまでどおりテーマの応答型の組みのまま残す。移行元はその幅で
 * `/sp/` へ転送し、写す相手が本当に無いためである（裁定 46）。
 *
 * 会社情報のタブと店舗のエリア一覧は 749px 以下で帯ごと隠しているが、**ここでは
 * 隠さない。**同じことをこの一般の規則でやると、お客様の声 100 ページと採用
 * ページのナビが携帯で消える。この Bug の受入も「狭い画面で組み方が壊れない
 * こと」であって「隠すこと」ではない。
 *
 * ## 境目 1285px の決め方
 *
 * 器に必要な幅 1,268px へ縦スクロールバーのぶん 17px を足す（司令塔の裁定・
 * Issue #2380）。同値の 1,268px にすると、バーが幅を食う環境でバーのぶんだけ
 * 横にあふれる。会社情報のタブの節が 1,300px を使っているのは、その裁定より
 * 前に置かれたためである.
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) .category_menu {
		/* 画像より低いつまみが帯の高さまで伸びないようにする。移行元も
		   `li { float: left }` で上端にそろえている. */
		align-items: flex-start;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 0;

		/* 既定は柱の幅いっぱい。1,285px 以上だけ下の節が 1,268px へ固定する. */
		width: 100%;
		height: 50px;
		margin-inline: 0;
		padding: 1px 0 0 82px;
		background: url("../images/company/bg_category_menu.gif?ver=a1247559d2f8") repeat-x;
	}

	/* つまみの数が多い画面群（採用は 6 枚で合計 749px）でも、器が足りなく
	   なったときに縮められるようにする。flex の並びの中の箱は既定で
	   min-width: auto を持ち、中身より小さくなれない（会社情報のタブと
	   店舗のエリア一覧に同じ手当てがある）. */
	:is(.entry-content, .page-content__body) .category_menu li {
		min-width: 0;
	}
}

/* 1,285px 以上は移行元と同じ 1,268px へ固定する。柱が 1,100px の画面群でも
   負の外余白で押し出して 1,268px にそろえる（この節の上の説明を参照）。

   **この 2 つの宣言だけを重ねる。**帯の見た目（地の絵・内余白・左詰め・高さ）は
   750px の節が既に与えているので、ここで繰り返さない. */
@media (min-width: 1285px) {
	:is(.entry-content, .page-content__body) .category_menu {
		width: 1268px;
		margin-inline: calc((100% - 1268px) / 2);
	}
}

/* ラベルは画像（幅 71〜177px・高さ 49px）である。狭い画面では画像を縮める。

   縦横比は、本文の書き出しが持つ `width` と `height` の属性から作った値で固定する。
   値は inc/legacy-category-menu.php の pa_legacy_menu_image_declarations() が画像
   1 枚ずつ `--pa-legacy-menu-image-ratio` として渡す。

   比を書かずに高さを auto にすると、閲覧環境は属性ではなく画像の原寸の比で高さを
   決める。社会貢献 images/company/menu06_off.gif は原寸 150 × 49px を幅の属性 100 で
   横へ潰して見せているため、その 1 枚だけが 100 × 32.7px の別の形になる（Bug #1886 の
   実測値）。高さを 49px と書いて固定すると、器が狭くなって画像が縮むとき（幅 750〜
   830px あたり）に横だけが縮んで形がゆがむ。比なら縮んでも移行元と同じ形になる。

   既定値に auto を置くのは、値が渡らなかったときの備えである。書き出しに `width` か
   `height` のどちらかが欠けている画像（店舗のタブがこれに当たる）には値が渡らない。
   既定値が無いと aspect-ratio が無効な指定になって高さが決まらず崩れる。auto なら
   その画像だけが原寸の比で描かれ、この指定を入れる前と同じ見え方になる。

   テーマの部品として出す会社情報のタブは、PR #1870 が同じ考え方で解決している
   （--pa-company-nav-image-ratio）。ここはその本文版である. */
:is(.entry-content, .page-content__body) .category_menu img,
.archive-content--branch.pa-branch-archive .category_menu img {
	display: block;
	max-width: 100%;
	height: auto;
	aspect-ratio: var(--pa-legacy-menu-image-ratio, auto);
}

/* マウスを載せたときの画像の差し替え（Task #1884）。

   移行元は public/js/rollover.js が、目印 `imgover` の付いた画像のファイル名を
   `_off.` から `_ov.` へ書き換えていた。このテーマは移行元の JavaScript を極力
   持ち込まない方針なので、同じ結果を CSS の content で出す。テーマの部品として
   出す会社情報のタブ（.pa-company-nav__image）が先に同じ形を採っている。

   差し替え先は本文のタブごとに置き場が違うため、値そのものを
   inc/legacy-category-menu.php の pa_legacy_menu_image_declarations() が画像
   1 枚ずつ `--pa-legacy-menu-ov-image` として渡す。既定値の normal は、値が渡ら
   なかったときに差し替えないという意味である。いま見ているページの項目には値を
   渡していないので、マウスの出入りで印が消えることはない。

   `_off` 版と `_ov` 版は幅も高さも同じ（高さはすべて 49px か 50px）なので、
   載せたときに並びがずれることはない。

   content で画像を差し替える書き方は、Chrome・Edge・Safari が古くから、Firefox も
   128（2024 年 7 月）から扱える。

   【減光の打ち消しはここではない】土台の `a:hover img { opacity: 0.5 }` を打ち消す
   指定は、対になる基準値のすぐ下（main.css の「画像リンクにマウスを載せたときの
   減光」の節）に、テーマの部品版と並べて置いてある。打ち消しが無いと、差し替えた
   画像が半透明で出て移行元と揃わない。

   【支店紹介の入口も同じ仕組みで差し替える】入口（archive-branch.php）のタブは
   本文の囲みの外にあるので、器を並べて当てる。差し替え先の変数は
   inc/branch-archive-legacy-parts.php の pa_branch_archive_render_top_band() が
   画像ごとに `style` 属性で渡す（Bug #2931 の手元レビュー・2026-09-03）. */
:is(.entry-content, .page-content__body) .category_menu a:hover img,
.archive-content--branch.pa-branch-archive .category_menu a:hover img,
:is(.entry-content, .page-content__body) .local_nav a:hover img.imgover,
:is(.entry-content, .page-content__body) .flow_story a:hover img.imgover,
.pa-story-theme-tabs a:hover img.imgover,
:is(.entry-content, .page-content__body) .btn_all a:hover img.imgover {
	content: var(--pa-legacy-menu-ov-image, normal);
}

/* --- 本文に残る 3 群も同じ変数で差し替える（Task #3190） ---

   全数走査（`pa-verify-assets/rollover-missing-groups-0904.md`）で、移行元が
   差し替えているのに dev が写していない群が見つかった。そのうち本文の中に
   markup が残っている 3 群を、上の器の並びへ足した。

     成婚ストーリーの流れ図 … `.flow_story`（dev 7 ページ・6 枚。Issue #3095 の差でもある）
     しあわせレポートの「すべて見る」… `.btn_all`（dev 11 ページ・1 枚）
     会員紹介のローカルナビ … `.local_nav`（dev 78 ページ・4 枚。下の注意を読む）

   差し替え先の変数を渡す側は inc/legacy-category-menu.php の
   PA_LEGACY_MENU_HOVER_CONTAINERS である。**器をここへ足すだけでは効かない。**
   変数が渡らないと既定値の `normal` に落ちて差し替えが起きないため、あちらの
   一覧と対にして足す。

   🚨 **新しく足した 3 つは `img.imgover` で絞る。**移行元の差し替えの条件は
   「目印 `imgover` が付いている」かつ「`src` が `_off.` を含む」の 2 つである
   （`public/js/rollover.js` の 4〜6 行）。変数を渡す側が 2 つめを見ているので、
   ここで 1 つめを見ると移行元と同じ条件になる。記録版 19f499fe3 の全数では、
   3 つの器の中の画像はすべて `imgover` を持つ（`local_nav` 419 件・`flow_story`
   6 件・`btn_all` 11 件）ので、絞っても取りこぼさない。**器を足すだけで過剰が
   入る余地を消しておく**のが狙いである（手元のセルフレビューの指摘・2026-09-04）。
   上の 2 つ（`.category_menu`）は Task #1884 から在る規則なので、ここでは触らない。

   🚨 **`.local_nav` は「移行元が差し替えているのに漏れていた」群ではない。**
   移行元で生きているローカルナビは器が `div.local_nav > ul.category_menu` で、
   上の 1 本目（`.category_menu`）に当たる。器に `category_menu` が付かない
   `div.local_nav > ul.clearfix` の形は、**移行元が先頭にハイフンを付けて退役させた
   道筋（`introduce/-voice/` など）にしか無い**（記録版の 81 か所すべてが退役した
   道筋だった）。それでも足すのは、**投入がその退役した控えを取り込んでおり dev では
   78 ページが実在する**ためで、足すと移行元の生きている側と同じ見え方になる。
   お客様の声が二重になっている件そのものは、この規則の担当範囲ではない。

   減光の打ち消しはここではない（この節の冒頭の注釈のとおり）。3 群はいずれも
   打ち消しの規則を既に持っている。

     `.local_nav` … assets/introduce-happyreport/css/style.css:126
     `.flow_story` … assets/introduce-voice-story/css/story.css:337
     `.btn_all`   … assets/introduce-happyreport/css/style.css:90（`a img.imgover`）

   移行元での確認（**移行元 = 本番 www.p-a.jp を 2026-09-04 02:16 JST に取得**・
   `/introduce/story/all.html`・幅 1440px）: `js/rollover.js` が配られており、
   流れ図の 6 枚のうち現在地の 1 枚は最初から `_ov`、残り 5 枚がマウスで
   差し替わって離すと戻る. */

/* --- 本文の末尾に残る「先頭へ戻る」も差し替える（Task #3190） ---

   移行元は共通取り込み `public/include/box_support.shtml` の 25 行で
   `<img src="/images/pagetop_off.png" class="imgover">` を出しており、
   マウスを載せると `pagetop_ov.png` へ差し替わる（上と同じ取得で実測）。

   dev はテーマの部品として出し直す側（`.pa-page-top__image`。この節の上のほう）
   には差し替えを持つが、**本文に残っている側（dev 5,220 ページ）には持って
   いなかった**。減光の打ち消し（`main.css` の「本文の末尾に置かれた『ページの
   先頭へ戻る』」の節）だけがあり、載せても何も起きない状態だった。

   ここは絵が 1 枚に決まっているので、変数を渡さず `content` に直接書く
   （会社情報のタブ 6 枚・テーマの部品版と同じ形）。

   🚨🚨 **`img.imgover` で絞る。絞らないと、移行元が差し替えない絵まで差し替える。**
   移行元の `p.page_top` の中には 3 種類の絵があり、目印 `imgover` が付いているのは
   1 種類だけである（記録版 19f499fe3 の全数）。

     `/images/pagetop_off.png`（50 × 63）… 450 か所・**`imgover` 有り** → 差し替わる
     `pagetop_off.gif`（47 × 47）… `imgover` **無し** → 差し替わらない（`_ov` も存在しない）
     `page_top.gif`… `imgover` **無し** → 差し替わらない

   絞らないと、`pagetop_off.gif` を持つページ（dev の `/policy/rule/` `/research/index02.html`
   `/research/xxx.html` など）で 47 × 47 の GIF が 50 × 63 の PNG に化けて組みが動く。
   新デザインの店舗 4 件はさらに 1 つの `a` の中に 2 枚（`pagetop_off.png` の
   `imgover pc-only` と `/sp/images/page_top.gif` の `sp-only`）を並べており、
   絞らないと携帯幅で見えている側まで差し替わる。**Bug #2817 で外部レビューが指摘し、
   テーマの部品版で直したのと同じ型**である（手元のセルフレビューの指摘・2026-09-04）。

   移行元の判別材料 `imgover` は、投入した dev の本文にもそのまま残っている
   （採取済みの `pa-verify-assets/2841-2842/dev-2011_03.html` の 360 行で確認）。

   ⚠️⚠️ **訂正（Bug #4133・2026-09-06）。**ここにはもともと「**幅で絞る必要は
   無くなる。**`imgover` が付くのはパソコン用の絵だけなので、携帯幅で見えている絵には
   最初から当たらない」と書いてあった。**これは誤りだった。**

   サービス紹介と会社情報のページでは、**携帯幅で見せる絵を `imgover` が付いた
   その同じ要素へ `content:` で当てている**（この規則が当たる `p.page_top img` は
   1 ページに 1 つで、携帯幅ではその 1 つに携帯用の gif を当てて見せている）。
   つまり **`imgover` は「パソコン用の絵」の目印ではなく「差し替える対象」の目印**
   であり、携帯幅で見えている絵にもそのまま当たる。

   実際に幅 375px で指を乗せると絵が 44.53 × 50.39 から 44.53 × 56.11 へ化けていた
   （dev の `/service/point/` と `/company/profile/` で実測）。**打ち消しは携帯幅の
   塊の中に在ったが、当て先のクラスが 1 個少なくて負けていた**。直した内容と
   詳細度の数え方は、このファイルの携帯幅の塊にある打ち消しの注釈に書いた。

   🚨 **テーマの注釈の主張を、そのまま根拠にしない。**この 2 行は実測ではなく
   書き手の見込みだった。 */
:is(.entry-content, .page-content__body) .page_top a:hover img.imgover {
	content: url("../images/pagetop_ov.png?ver=4ddfb1b59742");
}

/* --- 共通ヘッダーの引き出しの中の札とタイルも差し替える（Task #3190） ---

   移行元はヘッダーの固定ナビを 2 本の取り込みで出しており
   （`public/include/header_fix_navi.shtml` が上段・`header_fix_navi_2.shtml` が
   スクロール後）、**2 本とも同じ 28 枚を持つので 1 ページに 56 枚出る**。
   差し替えは 2 通りの仕組みが混ざっている。

     店舗のエリアのタイル 9 枚 … `img.imgover`（rollover.js の前半）
     区画の札 19 枚          … `a.allOver` の子画像すべて（rollover.js の後半）

   結果はどちらも `_off` → `_ov` なので、dev では 1 本の規則で足りる。

   移行元での確認（**移行元 = 本番 www.p-a.jp を 2026-09-04 02:16 JST に取得**・
   `/introduce/story/all.html`・幅 1440px）: `/images/nav/` の画像 92 枚のうち
   56 枚が `_ov` へ差し替わり、離すと 92 枚すべて元に戻った。

   dev のヘッダーは本文ではなくテーマが組んでいる（`inc/nav-mega-menu.php` の
   対応表 + `inc/class-pa-walker-header-nav.php`）。差し替え先の URL は画像ごとに
   `--pa-legacy-menu-ov-image` として `style` 属性で渡す（支店紹介の入口と同じ手）。
   絵の実体は `assets/images/nav/` に `_ov` を 28 枚足した。

   🚨 **減光の打ち消しはこの節ではなく `main.css:710` の
   `.site-header__nav a:hover img { opacity: 1 }` に既にある**（移行元も
   `.gNavi li a:hover img { opacity: 1.0 }` で打ち消している）。打ち消しだけが
   あって差し替えが無かったので、載せても何も起きていなかった。

   🚨 **右側の販促バナー 2 枚には当てない。**移行元は
   `.pldwn-right li a:hover img { opacity: 0.7 }` で薄く見せるだけで差し替えない
   （dev も `main.css:714` で同じにしている）。ここは札とタイルの `img` だけを
   狙うため、変数が渡った画像にしか効かない書き方にしてある.

   幅で絞らない。携帯幅では引き出しを開く仕組みそのものが別なので、そちらの
   見た目は 6 班（共通ヘッダーのレイアウトと UX・Issue #3191）の担当である. */
.site-header__nav a:hover img {
	content: var(--pa-legacy-menu-ov-image, normal);
}

/* 見出し画像のタブ帯（Q&A のカテゴリ 5 件・採用の職種 2 件）。移行元
   visitor/questions/css/style.css:54-66 は `li { display: inline-block }` で
   横に並べ、囲みに `letter-spacing: -.40em`、`li` に `letter-spacing: normal` を
   置いている。これは inline-block の間に空く隙間を消すための古い手法なので
   写さない。flex では隙間が空かず、gap で間隔を決められる. */
:is(.entry-content, .page-content__body) .list_archives {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px 56px;
	clear: both;
	margin: 0 auto var(--pa-space-md);
	padding: 0;
	list-style: none;
}

/* 移行元の 1 枚の幅は 302px である。狭い画面では縮める. */
:is(.entry-content, .page-content__body) .list_archives li {
	margin: 0;
	max-width: 302px;
}

:is(.entry-content, .page-content__body) .list_archives img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* 採用のサブナビ。移行元 page_company.css:342-366 は `li` を inline-block で
   横に並べ、`li` の中の `<span>/</span>` を区切りとして見せる。「/」は移行元でも
   本物の文字であり、CSS で消していない。縦並びのままだと各行の末尾に「/」が
   1 つずつ取り残されて見えるため、横並びに戻して区切りとして働かせる. */
:is(.entry-content, .page-content__body) .list_category {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto var(--pa-space-sm);
	padding: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .list_category li {
	margin: 0;
	font-size: 14px;
}

/* 区切りの「/」。移行元は左右に 14px の余白を取る. */
:is(.entry-content, .page-content__body) .list_category li span {
	padding: 0 14px;
}

/* ニュース・メディア掲載の一覧の 1 件。移行元 css/_page_company.css:177-203 の
   `#news dl` / `#news dt` / `#news dd` / `#news .icon_pdf` を写す。この組みは移行元では
   PHP の繰り返しが書き出していて本文に付いてこなかったため、テーマ側で描き直している
   （inc/news-list-sections.php。1 つ上の .text_menu と、後ろの #recruit dl.job と同じ
   事情である）。指定が無いと dl / dt / dd の既定の見た目になり、日付と題名が上下 2 段に
   割れて区切り線も出ない。

   囲みの `#news` を前置するのは、移行元の指定と同じ形にするためである。前置しないと、
   別の本文に同じ `dl` があった場合にニュース用の余白・罫線・文字サイズが漏れる。
   `#news` は移行してきたニュース一覧の本文が持つ節（`<section id="news" class="clearfix">`）
   で、一覧を差し込む位置の目印になる見出し 2 つもこの節の内側にある（dev の実 HTML で
   確認した）。

   移行元は `dt` を左・`dd` を右へ回り込ませ、幅を 100px と 973px で決め打ちしていた。
   これは器が 1100px 固定だった前提の書き方なので、幅そのものは写さず flex で置き換える
   （1 つ上の .text_menu と同じ考え方）。日付の桁数は `YYYY/MM/DD` で固定なので、
   左の列は移行元と同じ 100px を最小幅として確保する. */
:is(.entry-content, .page-content__body) #news dl {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0;
	padding: 25px 10px;
	font-size: 16px;
	line-height: 160%;
	text-align: left;
	border-bottom: 1px solid #cccccc;
	clear: both;
}

/* 日付の列。移行元は幅 100px の回り込みだった. */
:is(.entry-content, .page-content__body) #news dt {
	flex: 0 0 100px;
	margin: 0;
	font-weight: inherit;
}

/* 題名・掲載内容の列。残り幅をすべて使う。長い題名が折り返しても日付の列を押し縮めない
   よう min-width: 0 を置く（flex の既定の最小幅 auto が中身の最長語で決まるため）. */
:is(.entry-content, .page-content__body) #news dd {
	/* 🚨 **左の列は割合・右の列は残りを埋める形にする。**移行元の 218.4px /
	   879.5px を固定で書くと、器が縮むタブレット幅で合計 1,097.9px が収まらず
	   横にはみ出す。左を 218.4 ÷ 1100 = 19.854545% にし、右は残りを埋めさせる。
	   `min-width: 0` は、長い語が入ったときに右の列が中身の幅まで広がって
	   はみ出すのを止めるためである（flex の既定の最小幅は中身の幅）. */
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

/* PDF を配る項目の題名の右に付く、赤地・白抜きの目印。移行元は文字の「PDF」である
   （画像ではない）. */
:is(.entry-content, .page-content__body) #news .icon_pdf {
	display: inline-block;
	margin-left: 10px;
	padding: 3px 4px;
	background: var(--pa-palette-red-legacy);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	line-height: 100%;
	text-align: center;
	vertical-align: middle;
}

/* 採用トップの「現在募集している職種」に並ぶ求人。移行元
   css/page_company.css:384-413 の `#recruit dl.job` を写す。この組みは移行元では
   PHP の繰り返しが書き出していて本文に付いてこなかったため、テーマ側で描き直して
   いる（inc/recruit-top-jobs.php）。指定が無いと dl / dt / dd の既定の見た目に
   なり、区切り線も職種名の大きさも移行元と合わない。

   移行元にある `dt a`（職種名のリンク）と `.icon_notice`（赤い印）の指定は写して
   いない。dev の求人 4 件はどちらも持たないためである。

   囲みの `#recruit` を前置するのは、移行元の指定（`#recruit dl.job`）と同じ形に
   するためである。前置しないと、別の本文に同じ `dl.job` があった場合に求人用の
   余白・罫線・文字サイズが漏れる。`#recruit` は移行してきた採用の本文が持つ節
   （`<section id="recruit" class="clearfix">`）で、求人を差し込む位置の目印
   `h4#anchor01` もこの節の内側にある（dev の実 HTML で確認した）. */
:is(.entry-content, .page-content__body) #recruit dl.job {
	margin: 0;
	padding: 25px 10px;
	text-align: left;
	border-bottom: 1px solid #cccccc;
	clear: both;
}

:is(.entry-content, .page-content__body) #recruit dl.job dt {
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 700;
}

:is(.entry-content, .page-content__body) #recruit dl.job dd {
	margin: 0;
	font-size: 16px;
	line-height: 200%;
}

/* 募集要項の「仕事内容」の囲み。移行元
   company/recruit/recruit_info/css/style.css:7-11 を写す. */
:is(.entry-content, .page-content__body) .cnt_job {
	margin: 30px 0;
	text-align: left;
}

/* 画像を右に寄せて文章を回り込ませる。移行元の .fl_r
   （recruit_info/css/style.css:13-16）である。写さないと画像と文章が上下 2 段に
   分かれる. */
:is(.entry-content, .page-content__body) .fl_r {
	float: right;
	margin-left: 20px;
	max-width: 100%;
	height: auto;
}

/* 回り込みを解除する。移行元は回り込みの次に来る表に .clear を付けている. */
:is(.entry-content, .page-content__body) .clear {
	clear: both;
}

/* 求人表（.tb_job）の中にある「一週間の流れ」の曜日ラベルと説明文。移行元
   （recruit_info/css/style.css:41-50）はラベル側（dt）を左に寄せ、説明文側（dd）に
   独自の囲みを作らせて、ラベルの右へ文章を並べていた。写さないと「水 :」と
   説明文が上下 2 段に割れる（dev の募集要項ページで 15 組を実測）。

   表そのものの罫線と余白は、上の「移行してきた本文の表」の指定で足りるため、
   ここでは曜日ラベルの並びだけを整える。

   ラベルの赤はプロファイル変数（var(--pa-color-accent-strong)）ではなく
   --pa-palette-red-legacy を直接指す。移行元の求人表はデザインの新旧によらず
   常に同じ赤だったためで、電話予約の金色（597 行目のコメント）と同じ理由である. */
:is(.entry-content, .page-content__body) .tb_job td dl {
	margin: 0;
	padding: 0;
}

:is(.entry-content, .page-content__body) .tb_job td dl dt {
	float: left;
	margin: 0 10px;
	color: var(--pa-palette-red-legacy);
}

:is(.entry-content, .page-content__body) .tb_job td dl dd {
	margin: 0;
	overflow: hidden;
}

/* --- スマートフォン幅（749px 以下） --- */

@media (max-width: 749px) {
	/* 画面が狭いと 302px の帯は 1 列しか入らない。間隔だけ詰める. */
	:is(.entry-content, .page-content__body) .list_archives {
		gap: 16px;
		margin-bottom: var(--pa-space-sm);
	}

	/* 🚨 会員紹介（`/introduce/`）の携帯幅で、区画メニューを隠す（Bug #3343）。

	   移行元スマホ版は区画メニュー（`ul.category_menu`）を**1 ページも出さない**。
	   投入は本文にこのつまみを取り込むので、dev は携帯幅でもパソコン版の絵のつまみを
	   出してしまう。つまみの絵はパソコン版の寸法（`menu01_off.gif` = 140 × 49px ほか）で、
	   携帯幅の器に 3 個以上入らず **2〜3 行に折り返す**。

	   【この区分の対象（幅 375px で 1 ページずつ開いて数えた・2026-09-05）】

	   | ページ | dev の携帯幅 | 移行元の携帯（最終 URL） |
	   |---|---|---|
	   | お客様の声 `/introduce/voice/` | 345 × 107 | `/sp/introduce/voice/` へ転送・**0 個** |
	   | アンケート `/introduce/survey/` | 375 × 166 | `/sp/introduce/survey/` へ転送・**0 個** |
	   | スポット `/introduce/spot/` | 345 × 166 | `/sp/introduce/spot/` へ転送・**0 個** |
	   | 動画 `/introduce/movie/`・`/introduce/movie2/` | 375 × 166 | `/sp/introduce/movie/` へ転送・**0 個** |
	   | 成婚ストーリー・体験談・しあわせレポート | **0 個** | 変化なし |

	   🚨 **区分の目印で絞る（横断 [#3343](https://github.com/mationinc/wp-platform/issues/3343) の
	   決めごと）。**`.category_menu` は移行元由来の共通の目印で 7 区分に出る。絞らずに
	   隠すと、ほかの班の持ち場まで消える。とくに**はじめての方への
	   `/visitor/experienced/` は、移行元の本番が携帯へパソコン版を返す**ので
	   （転送せず `ul.category_menu` 1268 × 50 を出す・2026-09-05 実測）、
	   **隠してはいけない**。

	   【要素名まで書く理由】すぐ下の一般の規則
	   `:is(.entry-content, .page-content__body) .category_menu` が `display: flex` を
	   持ち、強さは (0,2,0) である。`:where()` は強さを 0 にするので、この行は
	   `.pa-page--introduce` のぶんが消えて `.page-content__body ul.category_menu`
	   の **(0,2,1)** になり、一般の規則に勝つ。はじめての方へ（`assets/visitor/css/sp.css`）
	   と同じ書き方である. */
	:where(.pa-page--introduce) .page-content__body ul.category_menu {
		display: none;
	}

	/* 指の幅で押せるよう、タブの間隔を少し広げる（上で隠していない区画向け）. */
	:is(.entry-content, .page-content__body) .category_menu {
		gap: 8px;
	}

	/* 狭い画面で文章が画像の横に押し込まれると読みにくい。回り込みをやめて
	   画像を上に置く. */
	:is(.entry-content, .page-content__body) .fl_r {
		float: none;
		display: block;
		margin: 0 auto 20px;
	}

	/* ニュースの 1 件は、狭い画面では日付を上・題名を下の 2 段にする。移行元の
	   「日付 100px + 題名 973px」は器が 1100px 固定の前提であり、375px では題名の列が
	   数文字しか使えなくなる。移行元の携帯版も日付を上に置いていた. */
	:is(.entry-content, .page-content__body) #news dl {
		flex-direction: column;
		gap: 4px;
		padding: 15px 0;
		font-size: 14px;
	}

	:is(.entry-content, .page-content__body) #news dt {
		flex: 0 0 auto;
	}
}

/* ==============================================================
 * 移行してきた本文が使うクラス（体験談 /introduce/experience/ 系）
 * 写し元: public/introduce/css/style_introduce_experience.css:81-92
 *
 * 婚活タイプ 6 種のカードは `ul.type-list.flexBox.flexBox--3col` の中に
 * `li.type-list__item.flexBox__item` が 6 つ並ぶ形である。横並びを作っているのは
 * .flexBox と .flexBox--3col で、.type-list 自体は並びに関与しない。そのため
 * 移植するのは .flexBox 系だけで足りる（Bug #1433）。
 * ============================================================== */

/* 3 列で折り返す並び。移行元は 1 枚の幅を
   `calc(33.3333333% - 25px * 2 / 3)` にし、右の余白 25px を
   `:nth-child(3n+3)` で消している。ここでは gap で間隔を決めるため、
   その打ち消しの指定は要らない. */
:is(.entry-content, .page-content__body) .flexBox {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .flexBox--3col {
	gap: 25px;
}

:is(.entry-content, .page-content__body) .flexBox--3col .flexBox__item {
	margin: 0;
	width: calc((100% - 50px) / 3);
}

/* --- スマートフォン幅（749px 以下） --- */

@media (max-width: 749px) {
	/* 移行元のスマホ版は 2 列である
	   （sp/introduce/css/sp_style_experience.css:19-25 が 1 枚の幅を
	   `calc(50% - 2.5% * 1 / 2)` に置いている）. */
	:is(.entry-content, .page-content__body) .flexBox--3col {
		gap: 16px;
	}

	:is(.entry-content, .page-content__body) .flexBox--3col .flexBox__item {
		width: calc((100% - 16px) / 2);
	}
}

/* --------------------------------------------------------------
 * 「質問から探す」の一覧（.question-list）
 *
 * 写し元: public/introduce/css/style_introduce_experience.css:107-112・785-819 と
 * public/sp/introduce/css/sp_style_experience.css:532-557.
 *
 * 体験談ページは「入会前」「活動中」「成婚退会後」の 3 つの区分ごとに、
 * 見出し（h3.leftBorder__ttl）と質問へのリンクの一覧（ul.select-list）を組みに
 * している。dev では 3 組・リンク 13 件が残っているが、指定が無いため見出しが
 * 一覧の上に離れて乗り、一覧のほうは点付きの箇条書きとして出ていた（Bug #1433）。
 *
 * 一覧そのものは移行元でも縦並びが正しい。横並びにするのは見出しと一覧の関係で、
 * 移行元は区分の囲み（.question-list__item）を flex にして左に見出し・右に一覧を
 * 置いていた。
 *
 * 質問の文字の左に付く飾りの画像（question_img01.png）は写さない。dev に移して
 * おらず、移行元のパスも移行後のパスも配信されない（404 / 403 を実測）。画像に
 * 合わせた 28px の字下げも、飾りが無いと理由の無い余白になるため入れない.
 * -------------------------------------------------------------- */

:is(.entry-content, .page-content__body) .question-list {
	/* 区分の枠線と、指を乗せたときの下地に使う薄い緑。共通トークンに同じ値が無く、
	   使う範囲がこの一覧に閉じているため、ここに持たせる。移行元の #D1E0BA. */
	--pa-experience-question-line: #d1e0ba;

	margin: 0;
	padding: 0;
	list-style: none;
}

/* 区分の囲み。左に見出し・右に一覧を置く. */
:is(.entry-content, .page-content__body) .question-list__item {
	display: flex;
	align-items: flex-start;
	margin: 0 0 20px;
	width: 100%;
}

:is(.entry-content, .page-content__body) .question-list__item:last-child {
	margin-bottom: 0;
}

/* 見出しの左に引く縦の棒。移行元 .leftBorder__ttl（107-112 行目）を写す. */
:is(.entry-content, .page-content__body) .leftBorder__ttl {
	border-left: 5px solid var(--pa-color-text);
	padding-left: 14px;
	line-height: 1.3;
}

/* 見出しの柱の幅。移行元は本文の柱 1,100px に対する割合（130px 相当）で
   指定していた。新テーマの本文の柱は 800px で、割合のままだと 94px になり
   「成婚退会後」の 5 文字（16px で 80px）と字下げ 14px が入らず折り返す。
   3 つの区分で一覧の左端を揃えるため、移行元の実寸 130px を採る。

   文字の大きさと色も写す（移行元 796-799 行目の 1.6rem = 16px と #463D3C）。
   新テーマの h3 は 22px の太字なので、写さないと「成婚退会後」が 2 行に
   折り返して見出しの高さが倍になる（実測で 29px → 57px）. */
:is(.entry-content, .page-content__body) .question-list__item .leftBorder__ttl {
	flex: 0 0 130px;
	margin: 10px 0 0;
	font-size: var(--pa-article-font-size);
	color: var(--pa-color-text);
}

/* 質問へのリンクの一覧。1 本の枠で囲み、項目の間は上の罫線で区切る. */
:is(.entry-content, .page-content__body) .select-list {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	border: 1px solid var(--pa-experience-question-line);
	list-style: none;
}

:is(.entry-content, .page-content__body) .select-list__item {
	margin: 0;
	border-top: 1px solid var(--pa-experience-question-line);
}

:is(.entry-content, .page-content__body) .select-list__item:first-child {
	border-top: none;
}

/* 行の全体を押せるようにする。移行元も a を block にしていた. */
:is(.entry-content, .page-content__body) .select-list__item a {
	display: block;
	padding: 15px 15px 15px 20px;
	background-color: var(--pa-color-bg);
	color: var(--pa-color-text);
	text-decoration: none;
}

:is(.entry-content, .page-content__body) .select-list__item a:hover,
:is(.entry-content, .page-content__body) .select-list__item a:focus-visible {
	background-color: var(--pa-experience-question-line);
}

/* 質問の文字の前後に入る改行を消す。移行元
   （public/introduce/experience/index.php:542-544）はリンクの中を
   改行して字下げしていただけで <br> は書いていない。WordPress の自動整形が
   この改行を <br> に変えたため、1 行の高さが本番の倍近くになり、文字が
   行の下に寄ってしまう。投入したデータには手を入れず、この一覧の中だけで
   打ち消す. */
:is(.entry-content, .page-content__body) .select-list__item a br {
	display: none;
}

/* --- スマートフォン幅（749px 以下） --- */

@media (max-width: 749px) {
	/* 移行元のスマホ版は見出しを一覧の上に置く
	   （sp/introduce/css/sp_style_experience.css:534-535 が区分の囲みを
	   display: block に戻している）. */
	:is(.entry-content, .page-content__body) .question-list__item {
		display: block;
	}

	:is(.entry-content, .page-content__body) .question-list__item .leftBorder__ttl {
		margin-top: 0;
	}

	:is(.entry-content, .page-content__body) .select-list {
		margin-top: 10px;
	}

	:is(.entry-content, .page-content__body) .select-list__item a {
		padding: 15px 12px;
	}
}

/* ==============================================================
 * 本文の外に出す付随情報
 *
 * 記事の詳細ページは、本文のあとに定義リスト（.entry-fields）で付随情報を
 * 出す。テンプレートごとに中身が違う。
 *   投稿（content-single.php）    掲載日・媒体名・外部リンク
 *   成婚レポート（single-story）  ご成婚カップル・満足度
 *   体験談（single-experience）   会員属性
 *   採用情報（single-recruit）    補足
 * 3 個とも空なら定義リストごと出さない分岐がテンプレート側にある。ここは
 * 出たときの見た目だけを決め、分岐には手を入れない。
 *
 * 店舗ページ（single-branch.php）も .entry-fields を出していたが、
 * カスタムフィールド 5 欄の廃止（ユーザー決定 D266・2026-09-16）で出さなくなった。
 * 除外の指定（:not(.single-content--branch)）は、店舗ページに他の .entry-*
 * （.entry-taxonomies など）が出たときに記事用の見た目が当たらないよう残す。
 * ============================================================== */

.single-content:not(.single-content--branch) :is(.entry-fields, .entry-taxonomies, .entry-member-profile, .entry-recruit-note) {
	max-width: var(--pa-inner-xs);
	margin: var(--pa-space-sm) auto 0;
	font-size: var(--pa-article-font-size);
}

/* 項目名と中身を 2 列に並べる。項目名の列は中身の長さに合わせて広げず、
   いちばん長い項目名の幅で揃える. */
.single-content:not(.single-content--branch) .entry-fields {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 1px;
	padding: 0;
	background-color: var(--pa-color-border);
	border: 1px solid var(--pa-color-border);
}

.single-content:not(.single-content--branch) .entry-fields__term {
	margin: 0;
	padding: 12px 16px;
	background-color: var(--pa-color-surface-muted);
	font-weight: bold;
	white-space: nowrap;
}

.single-content:not(.single-content--branch) .entry-fields__description {
	margin: 0;
	padding: 12px 16px;
	background-color: var(--pa-color-bg);
	/* 外部リンクの URL は区切りの無い長い文字列になる。行の途中でも折り返して
	   囲みからはみ出さないようにする. */
	overflow-wrap: anywhere;
}

/* 分類（体験談・恋愛婚活ラボの記事が持つ）は、名札を横に並べる形にする. */
.single-content:not(.single-content--branch) .entry-taxonomies {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding: 0;
	list-style: none;
}

.single-content:not(.single-content--branch) .entry-taxonomies__item {
	margin: 0;
}

.single-content:not(.single-content--branch) .entry-taxonomies__label {
	margin-right: 4px;
	color: var(--pa-article-muted-color);
}

/* 会員属性と採用情報の補足は、本文から一段浮かせた囲みに入れる. */
.single-content:not(.single-content--branch) :is(.entry-member-profile, .entry-recruit-note) {
	padding: 20px 24px;
	background-color: var(--pa-color-surface-muted);
}

.single-content:not(.single-content--branch) :is(.entry-member-profile__title, .entry-recruit-note__title) {
	margin: 0 0 12px;
	font-size: var(--pa-article-h4-size);
	line-height: var(--pa-line-height-heading);
}

.single-content:not(.single-content--branch) :is(.entry-member-profile__body, .entry-recruit-note__body) {
	margin: 0;
	line-height: var(--pa-line-height-text);
	/* 移行してきた会員属性は改行を含む 1 つの文字列で入る。改行を活かす. */
	white-space: pre-line;
}

@media (max-width: 749px) {
	/* 画面が狭いと 2 列では項目名の列が細くなりすぎる。縦に積み替える. */
	.single-content:not(.single-content--branch) .entry-fields {
		grid-template-columns: 1fr;
	}

	.single-content:not(.single-content--branch) .entry-fields__term {
		white-space: normal;
	}
}

/* ==============================================================
 * 本文の先頭と末尾の余白を消す
 *
 * 本文の上下の余白は囲み側（.single-content と .page-content の padding）で
 * 持つ。中身の先頭要素が持つ margin が囲みの外へはみ出す（margin の相殺）のを
 * 防ぐ意味もある。
 *
 * この 2 つの指定は、上で書いた見出し・囲みの margin を打ち消す役である。
 * そのため次の 2 つを満たす必要がある。
 *   1. それらより後ろに置く（同じ詳細度なら後ろが勝つため）
 *   2. 詳細度でも上回る（.entry-content .box などは 0,2,0 で、素直に書いた
 *      .entry-content > :first-child の 0,1,1 では負けるため）
 * クラス名を 2 回続けて書いているのは 2 の詳細度を 1 段上げるためで（0,2,1 に
 * なる）、書き間違いではない。
 * ============================================================== */

.entry-content.entry-content > :first-child,
.page-content__body.page-content__body > :first-child {
	margin-top: 0;
}

.entry-content.entry-content > :last-child,
.page-content__body.page-content__body > :last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------
 * 一覧テンプレート共通（#1243 の編集領域）
 *
 * 記事・体験談・成婚ストーリー・採用情報・婚活あるある等、一覧系の
 * テンプレートが共通で使う見た目である。囲みは .archive-content、1 件ぶんの
 * カードは .pa-archive-card で、テンプレートの側は投稿タイプごとの修飾クラス
 * （.archive-content--word 等）を足すだけでよい。
 *
 * 移行元サイトの見た目に寄せた寸法の写し元は次のとおりである。
 *   PC カード  public/css/style.css の .list_box（下地 #f9f9f9・幅 352px・
 *              間隔 22px・題名 22px 太字・行送り 145%）と
 *              public/word/css/style.css の .story_inner .list_box
 *              （画像は object-fit: cover で高さ 235px）
 *   PC 見出し  public/css/page_introduce.css の #story .story_inner .archive_ttl
 *              （金 #a3762b・30px・明朝）と、同ファイルの
 *              #story .list_box li .list_detail span.text（抜粋 16px・行送り 166%）
 *   PC 送り    public/introduce/css/style_introduce_experience.css の
 *              .pager-list__item（32px の丸・間隔 10px・現在地は塗り）
 *   SP        public/sp/word/css/style.css の .list_box
 *              （1 列・下余白 18px・題名 18px・抜粋 14px）
 *
 * 列数を 750px のブレークポイントで切り替えず repeat(auto-fill, minmax()) に
 * したのは、幅 750px から 1120px の間で 3 列にすると 1 列あたり 210px まで
 * 縮み、題名が 4 行以上に折り返って読めなくなるためである。この書き方なら
 * 最大幅 1120px で移行元と同じ 3 列、その間は 2 列、スマートフォン幅で 1 列に
 * 自動で落ちる。ブレークポイントは増やしていない。
 *
 * 【他の Task への申し送り】.archive-content は店舗一覧（#1241 の担当）でも
 * 使う。ここで書いてあるのは修飾クラスの付かない素の .archive-content だけで、
 * .archive-content--branch 等の上書きは #1241 の側で足せる。
 * -------------------------------------------------------------- */

.archive-content {
	/* 移行元の .list_box li a の下地 #F9F9F9 と、その :hover の #FBFBFB. */
	--pa-archive-card-bg: #f9f9f9;
	--pa-archive-card-bg-hover: #fbfbfb;
	/* 移行元のカード間の余白 22px（.list_box li a の margin）. */
	--pa-archive-gap: 22px;
	--pa-archive-card-padding: 20px;
	/* 移行元 352px 幅・235px 高のサムネイルの縦横比である. */
	--pa-archive-thumb-ratio: 3 / 2;
	--pa-archive-title-size: 22px;
	--pa-archive-text-size: 16px;
	--pa-archive-meta-size: 14px;
	/* ページ送りの丸の直径（移行元 .pager-list__item の 32px）. */
	--pa-archive-pager-size: 32px;
	--pa-archive-pager-bg: #e5e5e5;

	display: grid;
	/* 1 列の最小幅 280px は移行元のカード幅 352px を基に決めた。これ以上
	   狭めると題名 22px が 4 行に折り返る。カスタムプロパティにすると
	   repeat() が解釈できないブラウザで一覧が 1 列に落ちるため直接書く. */
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--pa-archive-gap);
	align-content: start;
	width: var(--pa-inner-ratio);
	/* 移行元の一覧は幅 1100px（#story .story_inner）である。最も近い
	   内側の幅トークンに寄せた。共通ブロックの仮の 1200px を上書きする. */
	max-width: var(--pa-inner-ex);
	margin: var(--pa-space-md) auto var(--pa-space-lg);
	padding: 0;
}

/* new プロファイル（新デザイン）のページでは、カードの下地を珊瑚系の
   下地色に合わせる。旧デザインの灰色は白地の前提で選ばれた色である. */
body.pa-profile-new .archive-content {
	--pa-archive-card-bg: var(--pa-palette-cream);
	--pa-archive-card-bg-hover: #fffbf6;
}

/* カード以外（見出し・絞り込み・ページ送り・0 件の断り書き）は横幅いっぱいに
   置く。囲み側を格子にしてあるので、テンプレートに列をまたぐ指定を書かなくても
   済む。店舗一覧（#1241）が足す要素もここで拾える. */
.archive-content > *:not(.pa-archive-card) {
	grid-column: 1 / -1;
}

/* --- 一覧の見出し --- */

.archive-content__header {
	margin: 0;
}

/* 体験談の絞り込みの結果ページ（archive-experience.php）だけ、この囲みに
   .pa-visually-hidden を重ねて画面から隠す（Task #3275）。移行元の結果ページ
   （result.php）は本文に大きな見出しを持たないためである。中の h1 は消さない
   （このページの h1 はこれ 1 つだけで、ヘッダー上段の帯のページ名をあえて h1 に
   していない。Bug #1293 の判断）。

   🚨 **ここで打ち消しが要るのは、隠すためのクラスと元の装飾のクラスがどちらも
   クラス 1 つぶんの強さで、あとに書いてある .archive-content__header のほうが
   勝つためである。**とくに margin を 0 に戻されると .pa-visually-hidden の
   margin: -1px が効かず、隠し方そのものが崩れる（.pa-branch-archive__title を
   隠した Bug #2036、.page-content__title を隠した Bug #2209 と同じ理由）。

   一覧の側の見出し（template-parts/archive-header.php が出す同じ囲み）は隠さない
   ので、クラス単体の装飾は変えず、2 クラス分の詳細度でこの場合だけ打ち消す. */
.archive-content__header.pa-visually-hidden {
	margin: -1px;
}

.archive-content__title {
	margin: 0;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-font-size-heading);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.3;
}

.archive-content__description {
	margin: 16px 0 0;
	font-size: var(--pa-archive-text-size);
	line-height: var(--pa-line-height-text);
}

.archive-content__description p {
	margin: 0;
}

/* --- カテゴリの絞り込み --- */

.pa-archive-terms {
	margin: 0;
	padding: var(--pa-archive-card-padding);
	background-color: var(--pa-archive-card-bg);
}

.pa-archive-terms__title {
	margin: 0 0 12px;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.3;
}

.pa-archive-terms__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-archive-terms__list a {
	display: inline-block;
	padding: 6px 14px;
	background-color: var(--pa-color-bg);
	border: 1px solid var(--pa-color-border);
	border-radius: 999px;
	font-size: var(--pa-font-size-base);
	line-height: 1.5;
	text-decoration: none;
}

.pa-archive-terms__list a:hover {
	border-color: var(--pa-color-accent);
	color: var(--pa-color-link-hover);
}

.pa-archive-terms__list a:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 2px;
}

/* 今いるカテゴリは塗りつぶして、どこを見ているかが分かるようにする. */
.pa-archive-terms__list a[aria-current="page"] {
	background-color: var(--pa-color-accent);
	border-color: var(--pa-color-accent);
	color: var(--pa-color-button-text);
}

/* --- カード 1 件ぶん --- */

.pa-archive-card {
	/* 題名のリンクを ::after でカード全面に広げるための基準である. */
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	background-color: var(--pa-archive-card-bg);
}

.pa-archive-card:hover {
	background-color: var(--pa-archive-card-bg-hover);
}

.pa-archive-card__thumb {
	margin: 0;
	overflow: hidden;
}

.pa-archive-card__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: var(--pa-archive-thumb-ratio);
	object-fit: cover;
}

.pa-archive-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: var(--pa-archive-card-padding);
}

.pa-archive-card__title {
	margin: 0 0 10px;
	font-size: var(--pa-archive-title-size);
	font-weight: 700;
	line-height: 1.45;
}

.pa-archive-card__title a {
	color: var(--pa-color-text);
	text-decoration: none;
}

/* カードのどこを押しても記事へ移れるようにする。読み上げソフトが読む
   リンクの名前は題名だけに保ちたいので、抜粋ごと <a> で包む書き方は採らない. */
.pa-archive-card__title a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.pa-archive-card:hover .pa-archive-card__title a {
	color: var(--pa-color-link-hover);
}

/* キーボードで送ったとき、カードの外周に枠が出る。::after がカード全面を
   覆っているので、枠も題名ではなくカードを囲む.
   題名そのものに付くブラウザ既定の枠は消す。カード全体を囲む枠と二重になり、
   どこにいるのかがかえって読み取りにくくなるためである。消してよいのは、
   すぐ下の規則が同じ :focus-visible で代わりの枠を出しているからである。
   :focus-visible を解釈できないブラウザではどちらの規則も効かず、既定の枠が
   そのまま残る. */
.pa-archive-card__title a:focus-visible {
	outline: 0;
}

.pa-archive-card__title a:focus-visible::after {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 2px;
}

.pa-archive-card__meta {
	margin: 0 0 12px;
	color: var(--pa-color-accent);
	font-size: var(--pa-archive-meta-size);
	letter-spacing: 0.05em;
	line-height: 1;
}

.pa-archive-card__excerpt {
	font-size: var(--pa-archive-text-size);
	line-height: 1.66;
}

.pa-archive-card__excerpt p {
	margin: 0;
	line-height: inherit;
}

/* 抜粋に「続きを読む」のリンクが混ざると、カード全面のリンクと重なって
   どちらが押されるか分からなくなる。抜粋の側を前面に出して押せるようにする. */
.pa-archive-card__excerpt a {
	position: relative;
	z-index: 1;
}

/* --- 成婚ストーリーのカードの話数とまとまりの札（Task #6683） ---
 *
 * ユーザー決定 D305・D307 で一覧 7 枚をテーマの組むページへ置き換えたとき、
 * 移行元のカードが持つ 4 部品のうち**話数・話の題名・まとまりの札の 3 つが
 * 落ちていた**（2026-09-17 に手元の枝と移行元を並べて実測）。文言の側は
 * inc/story-archive-card.php が戻す。ここは見た目だけを戻す。
 *
 * 写し元は移行元 legacy/www.p-a.jp/public/css/style.css の
 * `.list_box_new li a .list_detail span.num`（話数）と、
 * public/css/page_introduce.css の `#story .tag_label`（札）である。
 *
 * 🚨 **地の絵は持ち込まず地色で作る**（このファイルの先例に合わせる。原則:
 * 背景は CSS・文言はテキスト）。話数の地は `images/research/bg_num.gif`、札の地は
 * `introduce-voice-story/images/bg_tag.jpg` で、どちらも同系色の斜線の絵である。
 * 地色は移行元の `background` のまとめ書きが持つ色をそのまま使う
 * （話数 #a3762b は詳細ページの金のバッジと同じ値・札 #a2803b は移行元の値）.
 */

/* 話数（移行元 `<span class="num serif">Vol.104</span>`）。
   移行元は 16px・明朝・白文字で、下の余白が 10px である. */
.pa-archive-card__volume {
	display: inline-block;
	align-self: flex-start;
	margin: 0 0 10px;
	padding: 6px 5px;
	background-color: #a3762b;
	color: var(--pa-palette-white);
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
	line-height: 1;
}

/* まとまりの札（移行元 `<span class="tag_label">…</span>`）。
   移行元は札を並べるだけで囲みを持たないので、一覧の印と既定の余白を外して
   「文の中に札が並ぶ」形へ戻す。カードの高さが揃っていなくても札はいちばん下へ
   寄せたいので、上の余白を自動にする（活動結果の一覧と同じ判断）. */
.pa-archive-card__themes {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 4px;
	margin: auto 0 0;
	padding: 0;
	list-style: none;
}

/* 移行元は 11px・白文字・中央寄せで、札の中では改行しない（`white-space: nowrap`）。
   内余白はパソコン版が 3px 4px、携帯版が 3px 6px である。**幅ごとに変えるのは
   内余白と札の間隔だけ**で、狭い画面の値は下の携帯幅の節で上書きする. */
.pa-archive-card__theme {
	padding: 3px 4px;
	background-color: #a2803b;
	color: var(--pa-palette-white);
	font-size: 11px;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}

@media (max-width: 749px) {
	/* 移行元スマホ版 public/sp/introduce/story/css/style.css の `#story .tag_label`
	   （内余白 3px 6px・札の間隔 5px）. */
	.pa-archive-card__theme {
		padding: 3px 6px;
	}

	.pa-archive-card__themes {
		gap: 5px;
	}
}

/* --- 体験談カードの活動結果（Feature #1495） ---
 *
 * 体験談の一覧（archive-experience.php）だけがこれを出す。移行元サイトのカードは
 * 活動結果（紹介数・コンタクト率・成婚までの期間）を 3 つ横並びで見せていた
 * （写し元は public/introduce/css/style_introduce_experience.css の .number-list）。
 * ここでは寸法と色をこのテーマの変数から採り、横並びの骨組みだけを作る.
 */

.pa-archive-card__numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	/* 抜粋の下に置く。カードの高さが揃っていなくても、活動結果はカードの
	   いちばん下へ寄せたいので上の余白を自動にする. */
	margin: auto 0 0;
	padding: 12px 0 0;
	list-style: none;
}

.pa-archive-card__number {
	font-size: var(--pa-archive-meta-size);
	line-height: 1.6;
}

.pa-archive-card__number-label {
	display: block;
	color: var(--pa-color-accent);
}

.pa-archive-card__number-value {
	font-size: var(--pa-archive-title-size);
	font-weight: 700;
}

/* 🚨 単位の包み（`.pa-archive-card__number-unit`）と、その `margin-left: 2px` は
   Issue #3513 の項目 3 で外した。移行元は単位を包まず素の文字で出しており
   （`introduce/experience/index.php` の 866〜868 行）、包みの 2px と、包みのぶん
   増える文字の並びの幅が差になっていた。この目印を出す型紙はもう無い
   （個別ページの `.pa-experience__number-unit` は別の目印で、そのまま使っている）. */

/* --- 体験談カードの人物イラストとプロフィール（Issue #1621） ---
 *
 * 移行元サイトの体験談カード（public/introduce/experience/index.php の 825〜886 行）を
 * 写す。写し元の CSS は public/introduce/css/style_introduce_experience.css の
 * .stories-list（899〜1043 行）と .profile-info（835〜897 行）である。
 *
 * 移行元は白地・枠線 #A29E9D・角丸 10px の囲みに、上から 投稿日 / 人物イラストと
 * プロフィール / リード文 / 活動結果の 3 項目 / READ の札 を積んでいた。会員が女性の
 * カードはリード文を桃色・活動結果の下地を薄桃、男性は青系にする。
 *
 * 【配色は移行元のまま（Bug #2960 で戻した）】移行元の桃 #E17777 と青 #208ABB は、白地に
 * 対するコントラスト比が 2.95:1 と 3.88:1 で、WCAG の AA 基準（4.5:1）に届かない。かつては
 * 明度だけ下げた値（#d54040 / #1d7da9）へ置き換えていた。2026-09-02 のユーザー裁定
 * 「dev のほうが良いという判断はしない。まず移行元との差を埋める」に従い、移行元の値へ
 * 戻した。個別ページ（.pa-experience）の 2 色も、同じ理由で Bug #2826 が先に戻している。
 * 見分けやすさを直すなら、色を変えるのではなく別の手段（字の太さ・下線など）を採る.
 */

.pa-archive-card--experience {
	/* 会員の側の色。既定は女性のカードの色である。移行元の桃 #E17777 をそのまま使う. */
	--pa-experience-card-accent: #e17777;
	/* 活動結果の帯の下地。移行元 .stories-list__item--woman .number-list の #FCECEE. */
	--pa-experience-card-tint: #fcecee;

	background-color: var(--pa-color-bg);
	border: 1px solid #a29e9d;
	border-radius: 10px;

	/* 投稿日を右上へ浮かせるための基準（Issue #3086 の L21）。移行元は
	   `.stories-list .post-date` を `position: absolute` で置いている. */
	position: relative;

	/* 🚨 **行送りはカードの器に 1 本だけ置く（Issue #3086 の L32 / L33）。**移行元も器
	   （`.stories-list__item`）に `line-height: 1.53` を置き、中の部品はそれを受け継ぐ
	   （`introduce/css/style_introduce_experience.css` の 899〜904 行）。本番を
	   2026-09-03 18:37 JST に取得して測った差:

	     婚活タイプの札  行送り 22.95px 対 24px
	     数値の項目      行送り 19.89px 対 19.5px
	     分類の札        高さ 23px 対 24px

	   テーマの素の部品（`.pa-archive-card__type` など）は 1.6 を持つので、**素の指定が
	   当たる部品だけは体験談の側で 1.53 を明示する**（下の各規則）。素の値は変えない
	   （成婚ストーリー・店舗・お客様の声の一覧も同じ部品を使うため）。

	   🚨 **器へ #463d3c は置かない（セルフレビューの指摘で訂正）。**いったん器へ
	   `color: #463d3c` を置いたが、**移行元の器の色は黒である**（本番の実測で
	   rgb(0,0,0)。899〜904 行にも `color` は無い）。#463d3c を持つのは**個々の部品**
	   （婚活タイプの札は同 850〜856 行、投稿日は 955〜957 行）なので、部品の側で書く. */
	line-height: 1.53;

	/* 🚨 **器の文字色は黒にする（Issue #3513 の項目 2・5・7・8〜10・11）。**
	   ここは以前「全ページ共通の
	   [#3108](https://github.com/mationinc/wp-platform/issues/3108) の範囲だから触らない」と
	   していたが、**移行元の黒の出どころを調べたら #3108 では届かない場所だった。**

	   移行元は札の中身を**まるごと 1 本のリンクで包んでおり**（一覧は
	   `introduce/experience/index.php` の 826 行、携帯版は
	   `sp/introduce/experience/index.php` の 598 行）、そのリンクの色が黒である
	   （`public/css/style.css` の 43〜46 行と `public/sp/css/style.css` の 4〜7 行が
	   どちらも `a { color: #000000 }`）。つまり札の黒は**本文の既定の色ではなく
	   リンクの色**である。

	   このテーマの札は中身をリンクで包まない（`__link` の `::after` で面を覆う形なので、
	   字はリンクの外にある）。よって #3108 が本文の既定を黒へ直しても、**この札には
	   届かない**。器に 1 本書くのが移行元と同じ届き方になる。

	   2026-09-04 19:33 JST・幅 1440px の実測で、これで黒へ戻る相手は 5 つである
	   （いずれも移行元 rgb(0, 0, 0) 対 dev rgb(71, 71, 71) または rgb(70, 61, 60)）:
	   人物の欄（`__profile` / `__profile-body`）と活動結果の帯（`__numbers` /
	   `__number` / `__number-label`）。移行元が個別に色を書いている相手
	   （投稿日・婚活タイプの札・名前と年齢・属性・数値の器）は、その部品の側の
	   宣言が勝つので変わらない。

	   🚨 **`--pa-color-text` を書き替える形にはしない。**活動結果の破線
	   （`border-left: 1px dashed var(--pa-color-text)`）まで黒になってしまう。移行元の
	   破線は #463d3c である（同 1003〜1006 行）. */
	color: var(--pa-palette-ink-legacy);
}

/* 移行元 .stories-list__item--man の青 #208ABB（暗くせずそのまま）と下地 #ECF5FC. */
.pa-archive-card--experience.pa-archive-card--man {
	--pa-experience-card-accent: #208abb;
	--pa-experience-card-tint: #ecf5fc;
}

.pa-archive-card--experience:hover {
	background-color: var(--pa-archive-card-bg-hover);
}

/* New / Pick Up の札（Task #1667）。移行元 .stories-list .tag-list
   （legacy/www.p-a.jp/public/introduce/css/style_introduce_experience.css の
   940〜951 行）を写す。カードの左上の角へ、上へ 1px はみ出す形で重ねる。
   font-size: 0 は移行元がそのまま持っている指定である。

   移行元は札をカード全面のリンクの中へ入れていた。このテーマはリンクの ::after で
   カードの面を覆うため、札がその上に重なると札のぶんだけカードを押せなくなる。
   pointer-events: none で押し込みを素通りさせ、押せる範囲を移行元と同じ
   「カードの全面」に保つ. */
.pa-archive-card--experience .pa-archive-card__tags {
	position: absolute;
	z-index: 2;
	margin: -1px 0 0 10px;
	padding: 0;
	font-size: 0;
	list-style: none;
	pointer-events: none;
}

.pa-archive-card--experience .pa-archive-card__tag {
	display: inline-block;
	margin: 0;
	vertical-align: top;
}

/* 移行元 .tag-list__item:nth-child(2) の左の間隔 6px（New と Pick Up が並ぶとき）. */
.pa-archive-card--experience .pa-archive-card__tag:nth-child(2) {
	margin-left: 6px;
}

/* 絵の実寸は 60×56px（2 倍）である。移行元は札の幅を書き出しの属性 width="30" に任せ、
   高さだけを height: auto にしていた。同じ 30×28px で出す。移行元の書き出しは
   height="34" だが、この指定が勝つため画面上は 28px になる（移行元の携帯向けの様式
   sp/introduce/css/sp_style_experience.css の 669〜671 行も 30×28px と書いている）. */
.pa-archive-card--experience .pa-archive-card__tag img {
	display: block;
	width: 30px;
	height: auto;
}

/* 移行元は活動結果の帯と READ の札をカードの端まで伸ばし、内側の余白は中身ごとに
   持たせていた（.profile は左右 20px、.copy は 24px、.number-list と .read-btn は
   余白なし）。共通のカードは囲みの側に余白を持つので、体験談だけ外して配り直す. */
.pa-archive-card--experience .pa-archive-card__body {
	padding: 0;
}

/* 移行元はカードの全体を 1 本のリンクで包んでいた。ここは題名を読み上げソフト向けに
   だけ持つリンクを置き、その ::after でカードの面を覆う。リンク自体は高さを持たず、
   カードの積み上げに割り込まない. */
/* 題名の見出しは、読み上げソフトの見出し送り用にだけ置く。他の一覧カードの題名は
   下に 10px の外余白を持つが、体験談のカードは題名を字として出さないため、その
   余白ぶんだけ中身が下がってしまう。ここで打ち消して移行元と同じ詰まりにする. */
.pa-archive-card--experience .pa-archive-card__title {
	margin: 0;
}

.pa-archive-card__link {
	display: block;
	height: 0;
}

.pa-archive-card__link::after {
	position: absolute;
	inset: 0;
	content: "";
}

.pa-archive-card__link:focus-visible {
	outline: 0;
}

.pa-archive-card__link:focus-visible::after {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 2px;
}

/* 投稿日は移行元も右上に小さく置いていた（.stories-list .post-date は絶対配置の
   11px）。ここは積み上げの流れに乗せたまま右寄せにする. */
/* 🚨 **投稿日は右上へ浮かせる（Issue #3086 の L21）。**移行元は
   `.stories-list .post-date { position: absolute; right: 8px; top: 8px }` で、カードの
   中の積み上がりに参加しない（`introduce/css/style_introduce_experience.css` の
   955〜961 行）。dev は通常の流れに置いて内余白で位置を作っていたため、**カードの中身が
   その分だけ下へ押し出され、カードが高くなっていた**。

   移行元を本番 www.p-a.jp から 2026-09-03 18:37 JST に取得して測った値:

     幅 90.67px（右上の小さな枠）／高さ 16.83px／行送り 16.83px（11px × 1.53）／内余白 0

   dev は幅 356.66px（カード幅いっぱい）・高さ 25.59px・行送り 17.6px・上の内余白 8px
   だった。

   🚨 **文字色も移行元の値を書く（セルフレビューの指摘で訂正）。**はじめは「全ページ
   共通の Bug #3108 の範囲」として触らなかったが、**移行元は投稿日に個別に
   `color: #463d3c` を置いている**（同 955〜957 行）。#3108 は器の既定の色（移行元は黒）の
   話で、この 1 行とは別である. */
.pa-archive-card--experience .pa-archive-card__meta {
	position: absolute;
	top: 8px;
	right: 8px;
	margin: 0;
	padding: 0;
	color: var(--pa-palette-ink-experience);
	font-size: 11px;

	/* 🚨 **字間はパソコン幅でも打ち消す（Issue #3513 の項目 4）。**素の
	   `.pa-archive-card__meta` が `letter-spacing: 0.05em` を持つので、11px では
	   1 文字あたり 0.55px 広がる。移行元 `.stories-list .post-date`（同 955〜961 行）は
	   字間を書かず、移行元の共通 CSS にも素の要素へ当たる字間が無い。

	   本番 www.p-a.jp を 2026-09-04 19:33 JST に幅 1440px で取得して測った差:
	   字間 normal 対 0.55px ／ 枠の幅 91px 対 98px ／ 文字の並び 145.2px 対 158.4px。
	   投稿日は絶対配置で中身の幅に縮むので、字間を打ち消すと 3 つとも移行元に合う
	   （14 文字 × 0.55px = 7.7px が枠の幅の差 7px にあたる）。

	   携帯幅の側（このファイルのうしろの 749px 以下の節）にも同じ 1 行がある。
	   そちらは 2026-09-04 に携帯幅を測って足したもので、**打ち消しの範囲が
	   パソコン幅まで広がったことの記録として残す**（値は同じなので重ねても動かない）. */
	letter-spacing: normal;

	/* 移行元はカードの器の 1.53 を受け継ぐ（この要素に行送りの指定は無い）. */
	line-height: 1.53;
	text-align: right;
}

/* 移行元 .profile-info の「絵 71px + 右に文字」の並び（間隔 20px）。左右の余白は
   移行元 .profile の padding: 0 20px 20px を写す。下の破線も移行元と同じ
   （.profile の border-bottom: 1px dashed #A29E9D）. */
.pa-archive-card__profile {
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 8px 20px 20px;
	border-bottom: 1px dashed #a29e9d;
}

.pa-archive-card__illust {
	flex: 0 0 auto;
	margin: 0;
	width: 71px;
}

.pa-archive-card__illust img {
	display: block;
	width: 100%;
	height: auto;
}

.pa-archive-card__profile-body {
	min-width: 0;
}

/* 移行元 .txt-area .type の 15px 太字。
 *
 * 🚨 **押し込みを素通りさせる（Codex の P2 指摘・Bug #2827）。**地模様を札の裏へ
 * 敷くために `position: relative` と `z-index: 1` を足したが、このテーマはカードの
 * 全面を `.pa-archive-card__link::after` で覆って押せるようにしている。重ね順が
 * 上がると**札のぶんだけカードを押せなくなる**（記事へ移れない）。札は文字だけの
 * 飾りなので `pointer-events: none` で素通りさせる。New / Pick Up の札
 * （Task #1667）が同じ理由で同じ指定を持っている. */
.pa-archive-card__type {
	margin: 0 0 8px;
	position: relative;
	z-index: 1;
	color: var(--pa-color-text);
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
	pointer-events: none;
}

/* 🚨 **婚活タイプの札は、移行元と同じ色を自分で持つ（Issue #3086 の L28 / L32）。**
   移行元は `.profile-info .txt-area .type` に `color: #463d3c` を置いている
   （`introduce/css/style_introduce_experience.css` の 850〜856 行）。行送りは持たず、
   器の `line-height: 1.53` を受け継ぐ（同 899〜904 行）。

   テーマの素の部品は `--pa-color-text`（rgb(71,71,71)）と 1.6 を持つので、体験談の側で
   **色は移行元の値を明示し、行送りは継承へ戻す**。本番を 2026-09-03 18:37 JST に取得して
   測った差は、行送り 22.95px 対 24px・色 rgb(70,61,60) 対 rgb(71,71,71) だった。
   **素の値は変えない**（成婚ストーリー・店舗・お客様の声の一覧も同じ部品を使うため）。

   🚨 いったん `color: inherit` と書いたが、**器の色は移行元では黒**なので継承では
   移行元と合わない（セルフレビューの指摘で訂正）. */
.pa-archive-card--experience .pa-archive-card__type {
	color: var(--pa-palette-ink-experience);
	line-height: inherit;
}

/* 分類の札の地模様（移行元 .profile-info .txt-area .type:before の 866〜877 行）。
 *
 * 🚨 **一覧のカードにも当てる（Bug #2827・Codex の P2 指摘）。**移行元はこの規則を
 * `.profile-info .txt-area` の下に置いており、**一覧のカード（index.php の 846〜851 行）と
 * 個別ページ（detail.php の 189〜193 行）と「似た条件の方の体験談」（同 583〜586 行）の
 * 3 か所すべてに当たる**。個別ページだけへ戻すと、カードでは地模様が出ないままになる。
 *
 * 以前この区画には「絵を写していない」という判断が書かれていたが、その判断は
 * 実測で覆した（絵は移行元で描かれている。詳細は個別ページの区画の説明を読む）。
 *
 * 位置: 移行元は 50px の絵を 22px ほどの札へ被せて上下へはみ出させる（top: -15px）。
 * dev の札は行送り 1.6 で高さ 24px なので、同じ見え方になるよう上下の中央へ置く
 * （(24 − 50) ÷ 2 = −13px）。左は移行元と同じ 20px 外へ出す. */
.pa-archive-card__type::before {
	position: absolute;
	top: -13px;
	left: -20px;
	width: 134px;
	height: 50px;
	background-repeat: no-repeat;
	content: "";
	z-index: -1;
}

.pa-archive-card__type--koso::before {
	background-image: url("../introduce/images/experience/type_koso_bg01.png?ver=6365e0364646");
}

.pa-archive-card__type--tanki::before {
	background-image: url("../introduce/images/experience/type_tanki_bg01.png?ver=a31a9529d5a5");
}

.pa-archive-card__type--app::before {
	background-image: url("../introduce/images/experience/type_app_bg01.png?ver=6d881b52e830");
}

.pa-archive-card__type--inexperienced::before {
	background-image: url("../introduce/images/experience/type_inexperienced_bg01.png?ver=2ff4e058c907");
}

.pa-archive-card__type--oyakoko::before {
	background-image: url("../introduce/images/experience/type_oyakoko_bg01.png?ver=b679f1e2c87b");
}

.pa-archive-card__type--honki::before {
	background-image: url("../introduce/images/experience/type_honki_bg01.png?ver=6d22fa90d8fa");
}

/* 移行元 .profile-info__name / __age の 14px 太字（名前は 23px、年齢は 18px）. */
.pa-archive-card__identity {
	margin: 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
}

.pa-archive-card__identity-group + .pa-archive-card__identity-group {
	margin-left: 1em;
}

.pa-archive-card__name {
	margin-right: 2px;
	font-size: 23px;
}

.pa-archive-card__age {
	margin-right: 2px;
	font-size: 18px;
}

/* パソコン幅の名前と年齢の間（#3561）。移行元 .profile-info__name, .profile-info__age は
   `display: inline-block` だけで外余白を 1 つも持たず、間の空き 4.56px は要素の間の
   空白文字である（introduce/css/style_introduce_experience.css の 838〜839 行）。
   dev は共通のカード部品が持つ `margin-left: 1em`（14px）と `margin-right: 2px` の
   2 つで空きを広げていた（4.56px → 18.00px）。この 2 つを打ち消せば、空きは
   空白文字だけになり移行元と一致する。

   携帯幅の手当て（このすぐ下の @media 節のさらに後ろ）にならい、カードの中だけに
   閉じる `.pa-archive-card--experience` へスコープする（共通のカード部品への
   絞りのない指定を避ける）. */
.pa-archive-card--experience .pa-archive-card__identity-group + .pa-archive-card__identity-group {
	margin-left: 0;
}

.pa-archive-card--experience .pa-archive-card__name {
	margin-right: 0;
}

/* 携帯幅の名前と年齢。移行元の携帯版は数字と名前を小さくする
   （sp/introduce/css/sp_style_experience.css の 596〜603 行。
   `.profile-info__name span` と `.profile-info__age span` が 1.6rem = 16px）。
   囲みの 14px はパソコン幅と同じで、変わるのは中の `<span>` だけである。

   携帯版も `introduce/css/style_introduce_experience.css` を読むので
   （sp/introduce/experience/index.php の 75 行）、その 14〜15 行の
   `html { font-size: 62.5% }` が効き、1.6rem は 16px である.  */
@media (max-width: 749px) {
	.pa-archive-card__name,
	.pa-archive-card__age {
		font-size: 16px;
	}

	/* 🚨 携帯幅のカードの字を移行元へそろえる指定（#3086 の L25）は、**この節ではなく
	   ファイルのうしろの「体験談一覧のカードに出る会員の数値」の節に置いてある。**
	   ここに書くと、この節より後ろにある体験談のカードの規則
	   （`.pa-archive-card--experience .pa-archive-card__excerpt` など）に同じ重みで
	   負けて効かない（実測で確認した）. */
}

/* カードの属性の並び（居住地・学歴・職種）。移行元 .profile-info__other である
 * （写し元は public/introduce/css/style_introduce_experience.css の 886〜897 行）。
 *
 * 🚨 **最後の項目だけ 1 行を占める**（移行元 `li:last-child { display: block }`）。
 * 横に並べきると 1 行（高さ 19.19px）になるが、移行元は 2 行（36.72px）である。
 * 移行元を本番 www.p-a.jp から 2026-09-03 15:36 JST に取得して測ったところ、
 * カード 12 枚とも高さ 36.72px でそろっていた（#3086 の L17）。
 *
 * 並べ方は `flex` ではなく移行元と同じ `inline-block` + `margin-right` にする。
 * `flex` のままでは、最後の項目を `display: block` にしても行を占め切らない
 * （並べる仕組みが親の側にあるため子の `display` が効かない）。器の
 * `font-size: 0` は、項目の間に語の区切りの空白が出ないようにするための移行元の
 * 手当てで、そのまま写す（項目の側で 12px に戻す）. */
.pa-archive-card__attributes {
	margin: 14px 0 0;
	padding: 0;
	font-size: 0;
	line-height: 1.6;
	list-style: none;
}

.pa-archive-card__attribute {
	display: inline-block;
	margin: 0 10px 0 0;
	font-size: 12px;
}

.pa-archive-card__attribute:last-child {
	display: block;
	margin-right: 0;
}

/* 🚨 **器の 1.53 が届かない 3 か所へ、行送りを明示する（Issue #3086 の目視 ⑥）。**
   カードの器（`.pa-archive-card--experience`）は移行元と同じ 1.53 を持つが、
   テーマの素の部品が 1.6 を書いているため受け継がれない 3 か所が残っていた。
   本番 www.p-a.jp を 2026-09-03 23:18 JST に取得して測った差:

     名前の行（14px）    移行元 21.42px 対 dev 22.4px
     名前と年齢（16px）  移行元 24.48px 対 dev 25.6px（名前の行から受け継ぐ）
     属性の 1 件（13px） 移行元 19.89px 対 dev 20.8px
     数値の器（12px）    移行元 18.36px 対 dev 19.2px
     数値の見出し（13px）移行元 19.89px 対 dev 20.8px（パソコン幅。携帯幅は両側 1）

   素の 1.6 は変えない（成婚ストーリー・店舗・お客様の声の一覧も同じ部品を使う）. */
.pa-archive-card--experience .pa-archive-card__identity,
.pa-archive-card--experience .pa-archive-card__attributes,
.pa-archive-card--experience .pa-archive-card__number {
	line-height: 1.53;
}

/* 🚨 **移行元が個別に書いている 3 つの文字色を、パソコン幅にも当てる（Issue #3513 の
   項目 1・6・14）。**携帯幅の側（このファイルのうしろの 749px 以下の節）には
   2026-09-04 に足してあるが、パソコン幅には無く、器の既定の色（#474747）を
   受け継いでいた。本番 www.p-a.jp を 2026-09-04 19:33 JST に幅 1440px で取得して
   測った差は 3 か所とも「移行元の値 対 rgb(71, 71, 71)」だった。

   移行元の写し元（`introduce/css/style_introduce_experience.css`）:

     名前と年齢の行  878〜881 行  `.profile-info__name, .profile-info__age { color: #463d3c }`
     属性の並び      886〜889 行  `.profile-info__other { color: #748c50 }`
     属性の 1 件     890〜894 行  `.profile-info__other li { color: #463d3c }`

   🚨 **属性の並び（`ul`）の緑は、字としては 1 文字も出ない。**中の 1 件ずつが
   自分で #463d3c を書いて上書きするためで、移行元でも同じである。それでも
   移行元と同じ当て分けにしておく（`li` の色を将来外したときに移行元と同じ色へ
   戻るのは、この 1 行が有るときだけである）。

   🚨 **これは [#3108](https://github.com/mationinc/wp-platform/issues/3108)（本文の
   既定の文字色）とは別である。**#3108 は「移行元が色を書いていない場所」の既定色の
   話で、ここは移行元が個別に色を書いている 3 か所である. */
.pa-archive-card--experience .pa-archive-card__identity,
.pa-archive-card--experience .pa-archive-card__attribute {
	color: var(--pa-palette-ink-experience);
}

.pa-archive-card--experience .pa-archive-card__attributes {
	color: #748c50;
}

/* 🚨 **プロフィールの器の上の空きと、文字の欄の幅を移行元へそろえる（同 ⑥）。**
   移行元は器（`.profile`）に内余白を、その中の並び（`.profile-info`）に上の外余白を
   置いており、合わせるとカードの上端から絵まで **パソコン幅 23px・携帯幅 20px** に
   なる（写し元は `introduce/css/style_introduce_experience.css` の 831〜839 行と、
   本番から 2026-09-03 23:2x JST に取得した `/sp/introduce/css/sp_style_experience.css`
   の 564〜575 行）。dev はどちらの幅も 8px だった。

   文字の欄は移行元が `width: calc(100% - 100px)` で決めている（同 845〜849 行）。
   dev は幅の指定が無く中身の量で決まっていたため、**パソコン幅 208px 対 198.72px・
   携帯幅 223px 対 183px** と狭く、本文が早く折り返していた. */
.pa-archive-card--experience .pa-archive-card__profile {
	padding-top: 23px;
}

.pa-archive-card--experience .pa-archive-card__profile-body {
	width: calc(100% - 100px);

	/* 🚨 **移行元は文字の欄だけを 3px 下げている**（`introduce/css/style_introduce_experience.css`
	   の 845〜849 行の `.profile-info .txt-area { vertical-align: top; margin-top: 3px }`）。
	   本番の実測でも、絵の上端 1668.19 に対して文字の欄が 1671.19 だった。dev の器は
	   横並びなので上の内余白を 23px にすると絵と文字の欄の上端がそろってしまい、
	   **文字の塊が移行元より 3px 高い位置に残っていた**（2026-09-04 のセルフレビューの
	   指摘）。携帯幅は移行元も 0 なので下の携帯幅の節で戻す. */
	margin-top: 3px;
}

/* 移行元 .number-list__cont の 1.4rem（同 CSS の 1009〜1013 行）。dev はカードの
   小さい字の共通の大きさ（13px）を使っていた. */
.pa-archive-card--experience .pa-archive-card__number-cont {
	font-size: 14px;
}

/* 移行元 .stories-list .copy の内側 24px と、会員の性別ごとの太字の色. */
.pa-archive-card--experience .pa-archive-card__excerpt {
	/* 🚨 **上の内余白も 24px にする（Issue #3086 の L24 の実測）。**移行元を本番
	   www.p-a.jp から 2026-09-03 18:37 JST に取得して測ると、四辺とも 24px だった
	   （dev は上だけ 0px）. */
	padding: 24px;
	color: var(--pa-experience-card-accent);
	font-weight: bold;

	/* 🚨 **行送りは移行元の 1.53 にする（Issue #3086 の L24）。**移行元はカードの器
	   （`.stories-list__item`）に `line-height: 1.53` を 1 本だけ置き、本文・婚活タイプ・
	   数値がそれを受け継ぐ（`introduce/css/style_introduce_experience.css` の 899〜904 行）。
	   テーマの素の `.pa-archive-card__excerpt` は 1.66 で、実測は移行元 24.48px 対
	   dev 26.56px（1 行あたり 2.08px 広い）だった。
	   **素の 1.66 は変えない。**成婚ストーリー・店舗・お客様の声の一覧も同じ部品を使うので、
	   体験談の側（`--experience`）だけに書く. */
	line-height: 1.53;
}

.pa-archive-card--experience .pa-archive-card__excerpt p {
	margin: 0 0 12px;
}

.pa-archive-card--experience .pa-archive-card__excerpt p:last-child {
	margin-bottom: 0;
}

/* 移行元 .copy strong に引く蛍光ペン（下半分だけを塗る）。個別ページのリード文と
   同じ書き方に揃える.

   🚨 **太さを 700 で止める（Issue #3086 の目視 ⑥）。**ブラウザの既定の見た目は
   `strong` を `font-weight: bolder` にしている。この器は `font-weight: bold`（700）
   なので、`bolder` は**そこから 1 段上がって 900** になる。移行元は蛍光ペンの指定
   （`introduce/css/style_introduce_experience.css` の 986〜992 行）に太さを書いて
   いないので 700 のままである。本番 www.p-a.jp を 2026-09-03 23:18 JST に幅 1440px で
   取得して測ると、移行元の `strong` は 700・dev は 900 だった. */
.pa-archive-card--experience .pa-archive-card__excerpt :is(strong, span) {
	background-image: linear-gradient(transparent 50%, var(--pa-experience-marker, #fff2cf) 50%);
	font-weight: bold;
}

/* 移行元 .stories-list .number-list は帯の下地を性別で塗り分け、3 等分して破線で
   区切っていた。カードの下端へ寄せる指定は共通側（.pa-archive-card__numbers）が持つ. */
/* 🚨 **上下の内余白・行送り・上の外余白を移行元へ合わせる（Issue #3086 の L22）。**
   移行元を本番 www.p-a.jp から 2026-09-03 18:37 JST に取得して測った値と、dev（#3117
   時点の配備）の値は次のとおりだった。

     上下の内余白  移行元 20px      対 dev 16px
     行送り        移行元 19.89px   対 dev 19.5px（13px × 1.53 を受け継ぐ）
     帯の高さ      移行元 100.13px  対 dev 92.8px

   移行元の写し元は `introduce/css/style_introduce_experience.css` の 993〜1000 行
   （`.stories-list .number-list { padding: 20px 0 }`）である。

   🚨 **帯そのものの寄せは書かない（Issue #3513 の項目 7 で訂正）。**移行元の帯
   （`.number-list`）は `text-align` を持たず、受け継いだ left のままである。中央そろえは
   項目の側（`.list_item { text-align: center }`・同 1003〜1006 行）が持つ。dev も
   このファイルのうしろで `.pa-archive-card--experience .pa-archive-card__number` へ
   `text-align: center` を書いているので、**帯の 1 行は無くても見た目は変わらない**
   （2026-09-04 19:33 JST の採取でも、移行元 left 対 dev center と帯だけが食い違い、
   中の 3 項目は両側とも center だった）。

   🚨 **上の外余白は書かない（セルフレビューの指摘で気づいた）。**共通側の
   `.pa-archive-card__numbers` は `margin: auto 0 0` を持ち、**カードの高さがそろって
   いない行でも帯をカードの下端へ寄せる**。移行元も `margin-top: auto` を持つ（同 993〜
   998 行）。ここに `margin-top: 2px` と書くと、詳細度で勝ってこの仕掛けを消してしまい、
   帯が下端から浮く。実測で見えた「上の外余白 2px」は、**中の項目の見出しが持つ
   `margin-bottom: 2px`（同 1001〜1002 行）が上端に見えていたもの**である。
   **その 2px は下の `__number-label` へ書いた**（Issue #3513 の項目 7・8〜10）. */
.pa-archive-card--experience .pa-archive-card__numbers {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	padding: 20px 0;
	background-color: var(--pa-experience-card-tint);
	line-height: 1.53;
}

/* 🚨 **左右の内余白は持たせない（Issue #3513 の項目 2）。**移行元 `.list_item`
   （同 1003〜1006 行）は `width: 33.33%` と中央そろえと左の破線だけで、内余白が無い。
   dev の `padding: 0 4px` は 3 項目それぞれの中身の幅を 8px 狭めており、見出しの幅が
   **移行元 115px 対 dev 107px**（2026-09-04 19:33 JST・幅 1440px の実測）になっていた。
   中身は中央そろえなので、狭い器の中で数値の器が 4px 左へ寄っていた。
   携帯幅の側は 2026-09-04 に `padding-inline: 0` で同じ手当てを済ませている. */
.pa-archive-card--experience .pa-archive-card__number {
	flex: 1 1 0;
	min-width: 0;
	border-left: 1px dashed var(--pa-color-text);
	font-size: 13px;
	font-weight: bold;
	overflow-wrap: anywhere;
}

.pa-archive-card--experience .pa-archive-card__number:first-child {
	border-left: 0;
}

/* 🚨 **見出しの下の外余白 2px を書く（Issue #3513 の項目 7・8〜10）。**移行元
   `.stories-list .number-list__ttl { margin-bottom: 2px }`（同 1001〜1002 行）である。
   これが無いぶんだけ、**項目の高さが 58px（移行元 60px）・帯の高さが 98px（移行元
   100px）**になっていた（2026-09-04 19:33 JST・幅 1440px の実測）。携帯幅の側は
   2026-09-04 に同じ 2px を書いてある。

   🚨 **文字色は受け継ぎへ戻す（同 項目 2）。**移行元 `.number-list__ttl` は色を書かず、
   帯（`.number-list`）から受け継いだ色で描かれる。dev はここに
   `color: var(--pa-color-text)`（#474747）を書いていたため、
   [#3108](https://github.com/mationinc/wp-platform/issues/3108)（本文の既定の文字色を
   移行元の黒へそろえる）が既定を直しても、**この見出しには黒が届かない**状態だった。

   🚨 **宣言を消すだけでは駄目で、`inherit` を書く必要がある。**素の部品
   （`.pa-archive-card__number-label`）が `color: var(--pa-color-accent)`（金 #a3762b）を
   持っており、消すと見出しが金色になる。素の値は変えない（成婚ストーリー・店舗・
   お客様の声の一覧も同じ部品を使う）. */
.pa-archive-card--experience .pa-archive-card__number-label {
	margin-bottom: 2px;
	color: inherit;
}

/* 移行元 .number-list__cont .lg の 25px. */
.pa-archive-card--experience .pa-archive-card__number-value {
	font-size: 25px;
}

/* 活動実績の 3 項目のアイコン（移行元 .number-list .list_item--* の :before）。
 *
 * 🚨 **「絵を足すと 3 列の幅が足りなくなる」と書いて写していなかったが、実測すると
 * 幅は足りていた（Bug #2827 で移行元どおりに戻した）。**移行元の実測（幅 1440px・
 * 詳細ページの「似た条件の方の体験談」の札）: 1 列が 115.3px で、そのうち数値の器が
 * 42.7px、アイコンの逃がしが 30px なので合計 72.7px しか使っていない。
 *
 * 移行元は数値の器（`.number-list__cont`）を行の中の箱にして左へ逃がし、空いた場所へ
 * 擬似要素でアイコンを置く。逃がしとアイコンの大きさは項目ごとに違う
 * （`introduce/css/style_introduce_experience.css` の 1016〜1042 行）。
 *
 *   紹介数         逃がし 30px / 絵 23 × 19px
 *   コンタクト率    逃がし 27px / 絵 22 × 17px
 *   成婚までの期間  逃がし 28px / 絵 21 × 21px
 *
 * 当たり先の修飾クラス（`pa-archive-card__number--number` など）は型紙が出す。dev の札は
 * それまで項目ごとの目印を持たず、3 つの絵を撃ち分けられなかった。**並び順
 * （`:nth-child()`）では撃ち分けられない**（値が空の項目を落とすので、何番目かは投稿に
 * よって変わる）. */
/* 活動実績の数値と単位の器。アイコンの置き場所になる。
 *
 * 🚨 **札と同じ理由で押し込みを素通りさせる（Codex の P2 指摘・Bug #2827）。**
 * `position: relative` を足したことで、DOM の順でカード全面のリンクより後ろにある
 * この器が数値のぶんだけリンクを覆う. */
.pa-archive-card--experience .pa-archive-card__number-cont {
	display: inline-block;
	position: relative;
	pointer-events: none;
}

.pa-archive-card--experience .pa-archive-card__number-cont::before {
	position: absolute;
	top: 9px;
	background-repeat: no-repeat;
	content: "";
}

.pa-archive-card--experience .pa-archive-card__number--number .pa-archive-card__number-cont {
	margin-left: 30px;
}

.pa-archive-card--experience .pa-archive-card__number--number .pa-archive-card__number-cont::before {
	left: -30px;
	width: 23px;
	height: 19px;
	background-image: url("../introduce/images/experience/stories-list_icon_number01.png?ver=c928071e848b");
}

.pa-archive-card--experience .pa-archive-card__number--contact .pa-archive-card__number-cont {
	margin-left: 27px;
}

.pa-archive-card--experience .pa-archive-card__number--contact .pa-archive-card__number-cont::before {
	left: -27px;
	width: 22px;
	height: 17px;
	background-image: url("../introduce/images/experience/stories-list_icon_contact01.png?ver=50703ea6de64");
}

.pa-archive-card--experience .pa-archive-card__number--period .pa-archive-card__number-cont {
	margin-left: 28px;
}

.pa-archive-card--experience .pa-archive-card__number--period .pa-archive-card__number-cont::before {
	left: -28px;
	width: 21px;
	height: 21px;
	background-image: url("../introduce/images/experience/stories-list_icon_period01.png?ver=397494ceef8d");
}

/* 移行元 .read-btn の濃い茶の帯（下だけ角丸 9px・10px）。移行元が当てている
   欧文書体 Spinnaker は、この Issue（#1628 の C3-17）でテーマへ取り込んだので
   ここで指定する. */
.pa-archive-card__read {
	margin: 0;
	padding: 4px 0;
	color: #fff;
	/* 🚨 **予備の書体は移行元と同じ `sans-serif` だけにする（Issue #3086 の L31）。**
	   移行元は `font-family: 'Spinnaker', sans-serif` の 2 つだけである
	   （`introduce/css/style_introduce_experience.css` の 71〜79 行）。この文字は英字の
	   「READ」だけなので和文の予備は出番が無く、**Spinnaker が読めない環境で出る字が
	   移行元と変わる**。本番を 2026-09-03 18:37 JST に取得して実測した書体の並びも
	   `Spinnaker / sans-serif` だった. */
	font-family: "Spinnaker", sans-serif;
	font-size: 10px;

	/* 🚨 **字間は入れない（移行元に指定が無い・Issue #3086 の未確認だった 3 点の 1 つ）。**
	   本番 www.p-a.jp を 2026-09-04 01:24 JST に幅 1440px で取得し、札（`.read-btn`）の
	   計算後の値を測ると `normal` だった。このページの CSS にも、そのとき読み込まれて
	   いた共通の CSS にも指定は無く、札に字間を当てている規則は 0 件である。dev は
	   0.1em を持っており、字の大きさが 10px なので 1 文字あたり 1px 広かった。投稿日の
	   字間を素へ戻したのと同じ型である（`__meta` の規則）。**素の状態が正なので
	   `normal` と書き足さず、指定そのものを置かない**（親に字間を持つ要素が無いことも
	   同じ取得で確かめた）. */
	/* 🚨 **行送りは移行元の 1.53 にする（同 L31 の実測。移行元 15.3px 対 dev 16px）。**
	   移行元はカードの器の 1.53 を受け継ぐ（この要素に行送りの指定は無い）. */
	line-height: 1.53;
	text-align: center;
	background-color: #463d3c;

	/* 🚨 **移行元は同じ色の 1px の枠を持つ（Issue #3086 の目視 ⑥）。**上下の 1px ぶん
	   札が高くなる（本番 www.p-a.jp を 2026-09-03 23:18 JST に取得して測ると
	   移行元 25.30px 対 dev 23.30px）。写し元は
	   `introduce/css/style_introduce_experience.css` の 71〜79 行の
	   `border: 1px solid #463d3c` である。地色と同じ色なので見た目は「2px 厚い帯」に
	   なる. */
	border: 1px solid #463d3c;
	border-radius: 0 0 9px 9px;
}

/* --- 体験談一覧の本文の器の上の間隔 ---

   一覧の本文の器（`.archive-content`）は、共通の上余白 60px（--pa-space-md）を持つ。
   体験談の一覧では、その上にカテゴリ切り替えの帯（`.pa-introduce-sections` の中の
   `.introduce_nav--experience`）が来るので、この 60px を外す。

   移行元の帯は**下の外余白を持たない**。写し元は次の 4 行で、最後の一括指定
   （`margin: 0 auto`）が 3 行目の `margin-bottom: 140px` を打ち消し、
   `margin-top` だけが `!important` で残るためである
   （introduce/css/style_introduce_experience.css の 278〜282 行）。

     .introduce_nav--experience { width: 1095px;
                                  margin-top: 25px !important;
                                  margin-bottom: 140px;
                                  margin: 0 auto; }

   つまり移行元は帯のすぐ下からメインビジュアルの帯（`.mv-area`。上の外余白なし）が
   始まる。60px を残すと dev だけに間が空く。絞り込みの結果の画面でも同じである
   （移行元 result.php の帯も同じ指定を受ける）.  */
.archive-content--experience {
	margin-top: 0;

	/* 🚨 **器の幅は移行元の実寸 1100px を書く（Issue #3086 の L19）。**
	 *
	 * 一覧共通の器（`.archive-content`）は最も近い幅のトークン（`--pa-inner-ex` ＝
	 * 1,120px）に寄せてあるが、移行元の実寸より 20px 広い。器を格子で 3 等分する作りの
	 * ため、この 20px がカード 1 枚あたり 6.67px の広がりになる。移行元を本番
	 * www.p-a.jp から 2026-09-03 18:37 JST に取得して測ると、器は 1100px（左端 170px）、
	 * dev は 1120px（左端 160px）だった。婚活タイプの札も同じ器に載るので、札の幅が
	 * 350px 対 343.33px とずれていた。
	 *
	 * **トークン `--pa-inner-ex` の値そのものは変えない。**同じトークンは 12 か所で
	 * 使われており、店舗一覧・トップページの区画・記事本文の柱などがまとめて 20px
	 * 縮む。この一覧だけに効かせるため、修飾クラスの側で上書きする。**成婚ストーリー
	 * 一覧が同じ型で先に直してある**（`.archive-content--story`）ので、それに倣う。
	 *
	 * 狭い幅では効かない。器の幅は `width: var(--pa-inner-ratio)`（90%）で決まり、
	 * `max-width` はその上限にしか働かないためである. */
	max-width: 1100px;
}

/* 絞り込みの結果ページの器（Bug #5699・事業部目視）。
 *
 * 🚨 **移行元は結果ページだけ器の id を変えている。**一覧は
 * `#introduce_experience { margin: 0 auto; padding-top: 10px; }` で下に何も持たないが、
 * 結果ページは `#introduce_experience--type { margin: 0 auto 40px; padding-top: 10px;
 * border-bottom: 1px solid #c7c5c2; }` を持つ
 * （`introduce/css/style_introduce_experience.css` の 35〜44 行）。
 *
 * 幅 1440px・パソコンの名乗りで両側を実測した（2026-09-11 13:4x）。
 *
 *   見出しの上の空き   移行元 40px   / dev 0px
 *   器の高さ           移行元 116.19 / dev 115.19（**差 1px = 区切り線のぶん**。
 *                      上の内余白 10px は両側とも同じだった）
 *
 * 印（`--result`）は `archive-experience.php` が絞り込みの結果のときだけ付ける。
 * **印を付けずに `.pa-introduce-sections` だけで当ててはいけない。**同じページの
 * 下側にもう 1 つ同じ類名の器（お問い合わせ・店舗一覧）が在り、そちらにも線が入る。
 *
 * 🚨 **パソコン幅（750px 以上）だけに限る。**携帯幅の移行元はまだ測っていない. */
@media (min-width: 750px) {
	.pa-introduce-sections--result {
		margin-bottom: 40px;
		border-bottom: 1px solid #c7c5c2;
	}
}

/* --- 体験談一覧のメインビジュアルの帯（Task #2917） ---

   写し元は introduce/css/style_introduce_experience.css の 295〜314 行。移行元の値は
   次のとおりである（移行元は html に font-size: 62.5% を置くため 1rem = 10px。
   ここでは px に直してある）。

     .mv-area                   background #f1f7e8
     .mv-area .contents-wrapper width 1100px / margin 0 auto / position relative
     .mv-area h2                font-size 28px / letter-spacing 14px / color #463d3c
                                position absolute / left 140px / top 50% / translateY(-50%)
     .mv-area .img              text-align right
     .mv-area .img img          vertical-align bottom

   移行元を幅 1440px で測った実測（現行の移行元と手元の写しで一致）:

     帯     … x 0 / 幅 1440（画面いっぱい）/ 高さ 180 / 地色 rgb(241, 247, 232)
     見出し … x 310 / y 69 / 幅 378 / 高さ 42（字の範囲は x 310 / y 76 / 28px ぶん）
     絵     … x 810 / y 0 / 460 × 180

   帯の高さ 180px は指定ではなく**絵の高さ**である（絵が帯の上端に接し、
   `vertical-align: bottom` で行の余りが出ない）。見出しの高さ 42px は「28px × 1.5」で、
   帯の中で上下中央（(180 − 42) ÷ 2 = 69）に来る.

   🚨 **見出しの書体・字の大きさ・色は、一覧共通の題名と違う。**一覧共通の
   `.archive-content__title` は明朝・32px・#a3762b だが、移行元のこの帯は
   ゴシック・28px・太字・字間 14px・#463d3c である。この帯の中だけ上書きする. */

.pa-experience-mv {
	/* 移行元 .mv-area の background #f1f7e8. */
	background-color: #f1f7e8;

	/* 画面いっぱいの帯にする。

	   この区画は `.archive-content`（`display: grid`・幅の上限 1,120px・中央そろえ）の
	   直下に来るので、素のままでは器の幅で止まる。移行元の帯は画面の端から端まで
	   届くため、器の外へ広げる。割合の外余白は器の幅を基準に計算されるので、
	   `calc(50% - 50vw)` が「器の中央から画面の半分ぶん左」＝画面の左端になる。

	   🚨 **`100vw` は縦のスクロールバーの幅を含む。**縦のスクロールバーが出ている
	   ページでは帯が数 px はみ出して横スクロールが生まれるため、下の `:has()` で
	   本文の外枠を切っておく（「よく読まれている体験談」の飾りが同じ作りである）. */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);

	/* 帯は器（.archive-content）の先頭の子なので、格子の行間（gap）は上に付かない。
	   ここで打ち消せるのは帯自身の外余白だけで、**器そのものの上の外余白
	   （`margin: var(--pa-space-md) auto …`）はこの指定では消えない**（CodeRabbit の
	   指摘・2026-09-03。以前の注記は「器の上余白を打ち消す」と書いていたが誤り）。

	   器の上余白を負の外余白で消すかどうかは、帯の上に来る部品（パンくず・ヘッダーの
	   帯）まで含めて移行元と dev の縦位置を測ってから決める。この PR の実測（幅 1440px）
	   は帯の中身の寸法だけで、帯の上の間隔は測っていない. */
	margin-top: 0;
}

/* 帯を器の外へ広げたぶんの横スクロールを、画面の端で切る。**帯そのものに置くのは
   誤りである**（帯の中の絵まで切れてしまう）。`hidden` ではなく `clip` を使うのは、
   スクロールの器を作らずヘッダーの貼り付き（`position: sticky`）を保つためである。
   書き方は `.site-main:has(.pa-experience-popular)` とそろえてある。

   カードの並びを載せる灰色の地（`.pa-experience-stories--gray`）も同じ理由で足して
   ある。あちらも `vw` で器の外へ広げるので、縦のスクロールバーぶんはみ出す. */
.site-main:has(.pa-experience-mv),
.site-main:has(.pa-experience-stories--gray),
.site-main:has(.pa-experience-voice) {
	overflow-x: clip;
}

/* 移行元 .mv-area .contents-wrapper の 1100px / margin 0 auto / position relative。
   移行元の器は 1100px 固定である。移行先の一覧の器は 1,120px（--pa-inner-ex）だが、
   **この帯は移行元の 1100px をそのまま使う**。見出しの位置（左から 140px）と絵の
   位置（右そろえ）がこの幅を基準に決まるためで、20px 広げると両方が動く. */
.pa-experience-mv__inner {
	position: relative;
	width: var(--pa-inner-ratio);
	max-width: 1100px;
	margin: 0 auto;
}

/* 移行元 .mv-area h2 の位置。上下中央そろえで、左から 140px. */
.pa-experience-mv .archive-content__header {
	position: absolute;
	top: 50%;
	left: 140px;
	margin: 0;
	transform: translateY(-50%);
}

/* 移行元 .mv-area h2 の字。一覧共通の題名（明朝・32px・#a3762b）を上書きする。

   太字は移行元の見出しの素から来る（共通 CSS の初期化の塊が 2 つあり、後ろの
   `--HEADLINE--` が font-weight: bold へ戻す。正本は memory の
   `reference_legacy_heading_bare_state`）。行の高さ 1.5 は実測の 42px ÷ 28px である. */
.pa-experience-mv .archive-content__title {
	color: #463d3c;
	font-family: var(--pa-font-family-base);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 14px;
	/* 移行元は行の高さを指定していない（`normal`）。実測の 42px は「28px の
	   `normal`」であり、1.5 を書いても同じ高さになるが、**書体の控えが変わったときに
	   移行元と同じだけ動く**よう指定を写さないままにする. */
	line-height: normal;
	white-space: nowrap;
}

/* 移行元 .mv-area .img の text-align: right と、.mv-area .img img の
   vertical-align: bottom。行の余りを出さないため、器の側で行の高さを 0 にする. */
.pa-experience-mv__image {
	margin: 0;
	line-height: 0;
	text-align: right;
}

.pa-experience-mv__image img {
	width: 460px;
	height: auto;
	vertical-align: bottom;
}

/* --- 体験談一覧のメインビジュアルの帯・携帯幅（Task #2917） ---

   移行元の携帯版は別ページ（`/sp/introduce/experience/`）で、**パソコン版の
   `style_introduce_experience.css` を読んだうえで** `sp_style_experience.css` が
   上書きする（経緯は下の「婚活の一言」の携帯幅の注記）。写し元は後者の 8〜10 行
   （`.contents-wrapper`）と 139〜162 行（`.mv-area`）。移行元の値（1rem = 10px）:

     .contents-wrapper          width auto / margin 0 25px 0
     .mv-area .contents-wrapper width auto / text-align center
     .mv-area h2                font-size 18px / letter-spacing 12px / font-weight bold
                                color #463d3c / margin 26px auto 0 / display inline-block
                                position initial / left auto / top auto / transform none
     .mv-area .img              width 78% / text-align center / margin 0 auto
     .mv-area .img img          vertical-align bottom
                                （携帯版の共通 CSS が img へ width 100% / height auto /
                                  display block を当てる。sp/introduce/css/common.css の 11 行）

   🚨 **パソコン幅の指定をそのまま携帯幅へ持ち込むと、見出しが画面の外へ出る。**
   `left: 140px` に 28px・字間 14px・`white-space: nowrap` が重なると、幅 375px では
   見出しが画面の右端を越え、`.site-main` の `overflow-x: clip` で欠ける
   （Codex の P1 指摘・2026-09-03）。移行元の携帯版は見出しを帯の中で流し
   （absolute をやめる）、中央そろえにしている。ここもそれに合わせる。

   携帯幅の値は移行元の CSS の写しから移した。**携帯の UA で実サイトを測ってはいない**
   （この Task の携帯幅の実測は一言の並びだけである。`pa-verify-assets/2917/
   probe-legacy-sp.json`）. */
@media (max-width: 749px) {
	.pa-experience-mv__inner {
		/* 🚨 **帯の中の器は左右の余白を持たない（画面いっぱい）。**以前の版は
		   「左右に 25px の余白」と書いていたが、それは移行元の CSS の写しから
		   移した値で、**携帯の名乗りで実サイトを測っていなかった**（以前の注記に
		   その旨がある）。移行元を本番 www.p-a.jp から 2026-09-03 15:37 JST に
		   携帯の名乗りで取得して測ると、帯の中の器は 375px（画面いっぱい）で、
		   中の絵は その 78% = 292.5px である。25px の余白を残すと器が 325px に
		   なり、絵が 253.5px（39px 小さい）になる。
		   パソコン幅の上限 1100px と幅の割合は外す. */
		width: auto;
		max-width: none;
		margin: 0;
		text-align: center;
	}

	.pa-experience-mv .archive-content__header {
		/* 移行元 .mv-area h2 の position initial / margin 26px auto 0 / display inline-block。
		   帯の中で上から 26px の位置に流し、器の text-align で中央へ置く. */
		position: static;
		display: inline-block;
		margin: 26px auto 0;
		transform: none;
	}

	.pa-experience-mv .archive-content__title {
		/* 移行元 .mv-area h2 の 1.8rem / 1.2rem。折り返しは移行元どおり許す. */
		font-size: 18px;
		letter-spacing: 12px;
		white-space: normal;
	}

	.pa-experience-mv__image {
		/* 移行元 .mv-area .img の width 78% / margin 0 auto / text-align center. */
		width: 78%;
		margin: 0 auto;
		text-align: center;
	}

	.pa-experience-mv__image img {
		/* 移行元の携帯版の共通 CSS（img へ width 100% / height auto / display block）. */
		display: block;
		width: 100%;
		height: auto;
	}
}

/* --- 体験談一覧の、カードの並びの上の見出し ---

   写し元は introduce/css/style_introduce_experience.css の 167〜171 行・1058〜1069 行と、
   共通の 172〜178 行（`.bg-gray .l-contents`）。移行元の値は次のとおりである
   （移行元は html に font-size: 62.5% を置くため 1rem = 10px。ここでは px に直してある）。

     .headding                    text-align center
     .headding .sub-ttl           font-size 14px / font-weight bold
     .list-of-stories             margin-top 115px
     .bg-gray .l-contents         padding 40px 0 80px / background #f7f7f7 / max-width 1280px
     .list-of-stories .headding   margin-top -70px / margin-bottom 60px
     題名の画像                    267 × 62px（携帯幅は 45% に縮めて 160 × 37px）

   🚨 **上の外余白の値は、灰色の地を作ったので書き直した（2026-09-03）。**

   はじめの実装（1 つ前のコミット）は灰色の地を持たず、移行元の 3 つの値を 1 つに
   まとめた足し算で間隔を作っていた。

     115（区画の上の外余白）+ 40（地の上の内余白）− 70（見出しの負の外余白）= 85px
     → 格子の行間 22px を引いて 63px

   **いまは灰色の地（`.pa-experience-stories--gray`）が実在するので、この足し算は
   要らない。**3 つの値をそれぞれの持ち主へ戻して書く。

     115px … 地の器の上の外余白（下の「灰色の地」の 93px = 115 − 22）
      40px … 地の器の上の内余白
     −70px … 見出しの負の外余白（ここ。移行元の値をそのまま写す）

   見出しは地の器の**先頭の子**なので、格子の行間は上に付かない。だから −70px を
   引き算せずにそのまま書く。画面の上からの距離は 22 + 93 + 40 − 70 = 85px で、
   書き直す前と同じである（移行元の 115 + 40 − 70 と一致する）。

   下の外余白は、移行元の 60px から格子の行間を**引き算の形で**書く。見出しの次の行
   （カードの 1 行目）とのあいだには格子の行間が入るためである。

   🚨 **ここを固定値（38px）で書いてはいけない（Task #3211）。**もとは 60 − 22 を手で
   計算した 38px だったが、行の間隔をパソコン幅で 50px に広げたとき、引き算が 22px の
   ままになり見出しの下が 88px（移行元 60px）へ広がった。引き算の形にすると、器が
   カード以外の子へ渡すトークンの値（パソコン幅 50px）が自動で効き、合計 60px が保たれる.  */

.pa-experience-list-heading {
	/* 移行元 .headding の text-align: center と、`.list-of-stories .headding` の
	   margin-top: -70px（同 1067〜1069 行）。下は 60px から格子の行間を引く. */
	margin: -70px 0 calc(60px - var(--pa-archive-gap, 0px));
	text-align: center;
}

/* 飾りの英字の題名。移行元は手書きの筆記体の画像
   （list-of-stories_ttl01.png・267 × 62px）だが、文言はテキストで出す
   （正本は memory の `feedback_visual_fidelity_image_text_principle`）。

   🚨 **端末が持つ筆記体に頼っている。**同じ字形のウェブフォントをテーマは持たない。
   囲みの高さ（62px）と色（#463d3c。移行元の見出しの素の色で、`.mv-area h2` と同じ）は
   移行元に合わせてあるが、字形は端末ごとに変わる。

   字の大きさ 46px は「行の高さ 62px に収まる筆記体」として選んだ値で、移行元の CSS に
   同じ数値があるわけではない（移行元は画像なので字の大きさを持たない）. */
/* 🚨 **英字の題名は画像で出す（2026-09-03 のユーザー裁定・Issue #3086）。**
   以前は文言をテキストで出し、筆記体は端末の書体（Snell Roundhand 等）に頼っていたが、
   移行元の手書きの字形と別物に見えるとユーザーの目視で指摘され、「デザインが入った
   ロゴに近いので画像で良い」と裁定された。隣の「よく読まれている体験談」の見出しと
   作り方がそろう。

   移行元 `.headding h3 img` の描画寸法は 267 × 62px（本番を 2026-09-03 18:37 JST に取得
   して実測）。寸法は `<img>` の属性が持つので、**ここに width / height を書かない**
   （CSS の指定は属性より強く、絵が実体の寸法で描かれる）. */
/* 🚨🚨 **絵を塊の要素にしてはいけない（2026-09-03 のユーザー目視で発覚）。**
   いったん `display: block` と `line-height: 0` を書いたところ、**絵が左端へ寄って
   灰色の帯に重なった**（塊の要素は親の `text-align: center` を受けないため）。
   移行元は `<h3><img></h3>` の素の組みで、**絵は行内の要素のまま**、親の `.headding` が
   持つ `text-align: center` で中央に来る。器の高さも移行元は 68px（行の余白を含む）で、
   `line-height: 0` にすると 62px へ縮んで位置がずれる。**移行元と同じ素の組みに戻す**. */
.pa-experience-list-heading__title {
	margin: 0;

	/* 🚨 **絵の下の余地を移行元にそろえる（Bug #4452・2026-09-07）。**この題は絵
	   だけを持つが、**絵は行の中の要素なので、行の箱には字の下敷きの分だけ余地が
	   できる**。その余地は「字の大きさ」と「行送り」で決まる。

	   移行元の `h3` は共通 CSS の `h1〜h6 { font-size: 100% }`（`css/common.css` の
	   95〜98 行）で親の字（`body` の 13px）を受け継ぎ、**行送りはどこにも書かれて
	   いないので `normal`** である。dev の `h2` はテーマの
	   `h1〜h6 { line-height: var(--pa-line-height-heading) }` と、見出しの字の
	   大きさ（19.5px）を受けていた。

	   実測（62px の絵を置いた行の箱。同じ書体で 4 通り測った）:

	     13px / normal      → 箱 68.00・絵の下 6.00  ← 移行元と一致
	     19.5px / 29.25px   → 箱 69.25・絵の下 7.25  ← 直す前の dev
	     13px / 1           → 箱 64.00・絵の下 2.00
	     19.5px / normal    → 箱 69.00・絵の下 7.00

	   移行元の実測は 68.00px（絵 62px）で、dev は 69.25px だった（+1.25px）。この
	   1.25px が一覧の区画の高さの差にそのまま出ていた。

	   **`font-size: inherit` と書くのは、移行元の `font-size: 100%` と同じ意味に
	   なるからである**（親は本文の字 `--pa-content-font-size`）。数値で 13px と
	   書くと、世代ごとに本文の字が変わったときに追従しない. */
	font-size: inherit;
	line-height: normal;
}

/* 移行元 .headding .sub-ttl の 1.4rem（= 14px）の太字。

   🚨 **`1.4rem` と書いてはいけない。**このテーマは html に font-size を置かないため
   1rem = 16px であり、1.4rem は 22.4px になる（main.css の冒頭「移行元の rem 方式を
   採らない理由」）。移行元の 1rem = 10px を px に直して書く。

   移行元は `.popular-stories .headding .sub-ttl` だけを画像へ重ねる絶対配置にしており
   （同 1051〜1057 行）、この区画の副題は絶対配置しない。題名の下に流す. */
.pa-experience-list-heading__sub-title {
	margin: 0;
	font-size: 14px;
	font-weight: bold;

	/* 行送り（#3561 → Bug #4434）。移行元 .headding .sub-ttl は行送りを書いておらず、
	   受け継いだ値が 14px の 1.5 倍（= 21px）になる。dev はテーマの既定（1.8）を
	   受け継いで 14 × 1.8 = 25.2px になっていた。

	   🚨 **幅で出し分けない（Bug #4434）。**#3561 の受入基準が「携帯幅の姿を変えない」
	   と定めていたため、以前はこの 1 行を `@media (min-width: 750px)` の中に置いて
	   いた。ところが**移行元は両幅とも 21px** である。移行元の携帯版が読む
	   `sp/introduce/css/sp_style_experience.css`（757〜764 行）は、この副題の置き場所と
	   外余白だけを書き替えており、字の大きさも行送りも書き替えていない。囲いを外した。

	   携帯幅で 25.2px のままだったことは、**この副題より下のすべてを 4.20px 押し下げて
	   いた**（「VIEW MORE」の上端が移行元 6971.42 対 dev 6975.63。幅 375px・携帯の
	   名乗りで 2026-09-07 に実測）。

	   🚨 `normal` と書いてはいけない。**実際に使われる書体で値が変わる**ためである。
	   移行元の実測が 14px の 1.5 倍ちょうど（21px）なので、数値の `1.5` を書く。行送りを
	   数値でそろえるのは書体の名指しではなく通常の再現である（ユーザー裁定 142・
	   2026-09-05）。なお隣の「よく読まれている体験談」の副題
	   （`.pa-experience-popular__sub-title`）は `normal` で 21.00px になっているが、
	   そちらの実測は游ゴシックが在る環境のものである。
	   [#3515](https://github.com/mationinc/wp-platform/issues/3515) の同種の判断は逆に
	   `normal` が正しかった。相手ごとに実測で決める. */
	line-height: 1.5;
}

/* 携帯幅。移行元の携帯版（`/sp/introduce/experience/`）の値は次のとおりである。

     sp_style_experience.css 57〜59 行   .headding img              width 45% / margin 0 auto
     同 61〜64 行                        .bg-gray .l-contents       padding 25px 0 25px
     同 757〜758 行                      .list-of-stories           margin-top 80px
     同 762〜764 行                      .list-of-stories .headding margin-top -65px /
                                                                    margin-bottom 30px

   題名は画像を 45% に縮める。器は `.list-of-stories .contents-wrapper` の左右 10px 余白
   ぶんを引いた幅なので、幅 375px の画面では 355 × 0.45 ≒ 160px、高さは
   160 × 62 ÷ 267 ≒ 37px になる（配備後の実測とも一致する）。テキストで出しているので、
   同じ縮み方を字の大きさと行の高さで作る（46 × 37 ÷ 62 ≒ 27px）。

   区画のあいだの間隔も、パソコン幅と同じ考え方で書き直した（2026-09-03。灰色の地を
   作ったため）。3 つの値をそれぞれの持ち主へ戻す。

     80px … 地の器の上の外余白（下の「灰色の地」の携帯幅で 80 − 18 = 62px）
     25px … 地の器の上の内余白
    −65px … 見出しの負の外余白（ここ。移行元の値をそのまま写す）

   見出しは地の器の先頭の子なので、格子の行間は上に付かない。
   下は移行元の 30px から格子の行間を**引き算の形で**引く。

   🚨 **ここも固定値（12px）で書いてはいけない（Task #3211）。**もとは 30 − 18 を手で
   計算した 12px だったが、そのあと携帯幅の行の間隔が 18px から 15px へ変わり
   （`.archive-content.archive-content--experience` の `--pa-archive-gap: 15px`）、
   合計が 12 + 15 = 27px と移行元の 30px から 3px 狭くなっていた。引き算の形にすると
   行の間隔が変わっても合計 30px が保たれる。パソコン幅の見出しと同じ直しである。

   副題の字の大きさは変えない。移行元は携帯版でも `style_introduce_experience.css` を
   読んでおり（sp/introduce/experience/index.php の 75 行）、その 14〜15 行の
   `html { font-size: 62.5% }` も効くため、1.4rem は携帯幅でも 14px である.  */
@media (max-width: 749px) {
	.pa-experience-list-heading {
		margin: -65px 0 calc(30px - var(--pa-archive-gap, 0px));
	}

	.pa-experience-list-heading__title img {
		/* 移行元のスマホ版は `.headding img` を器の 45% にして左右中央へ置く
		   （`sp/introduce/css/sp_style_experience.css` の 57〜59 行）。器を移行元と同じ
		   355px にしてあるので 45% = 159.75px となり、移行元の実測（159.75 × 37.09px。
		   本番を 2026-09-03 18:29 JST に携帯の名乗りで取得）と一致する. */
		/* 🚨 **塊にする（Bug #4149）。**行の中（既定の `inline`）に置くと絵がベースラインに
		   乗り、**その下に文字の下端ぶんの空きが 7.25px できる**。器に地の色も枠線も
		   無いので器そのものは見えないが、題の絵と次の要素のあいだの空きが広くなるのが
		   画面に出る。移行元スマホ版はこの絵を塊にしており、器の高さが絵の高さ
		   （37.09px）とぴったり一致する（移行元は `h3` の中・空き 0px。本番を携帯の
		   名乗りで 2026-09-07 12:55:19 JST に取得して実測）. */
		display: block;
		width: 45%;
		height: auto;
		margin: 0 auto;
	}
}

/* --- 体験談一覧の、カードの並びを載せる灰色の地 ---

   写し元は introduce/css/style_introduce_experience.css の 173〜178 行
   （`.bg-gray .l-contents`）と 1058〜1069 行（`.list-of-stories`）。移行元の値は
   次のとおりである（移行元は html に font-size: 62.5% を置くため 1rem = 10px）。

     .list-of-stories       margin-top 115px
     .bg-gray .l-contents   background #f7f7f7 / max-width 1280px / margin 0 auto
                            padding 40px 0 80px / text-align center
     .l-contents（共通の 179〜181 行）min-width 1280px

   移行元はこの地に、見出し・カードの並び・ページ送りをまとめて載せている
   （index.php の 749〜753 行で `<section class="list-of-stories bg-gray">` を開き、
   その中の `div.l-contents` が地色を持つ）。dev は白のままだった。

   ------------------------------------------------------------------
   地の幅の作り方（本文の器より 160px 広い）
   ------------------------------------------------------------------
   移行元の地は 1280px 固定である（上限 1280px・下限 1280px）。dev の本文の器
   （`.archive-content`）は 1,120px（--pa-inner-ex）なので、地だけを左右へ 80px ずつ
   はみ出させる。はみ出した幅と同じだけ内側に余白を足すので、**カードの並びの幅
   1,120px は変わらない**（#1649 が意図して選んだ幅で、移行元の 1100px との 20px 差は
   この変更でも触らない）。

   はみ出す量は `min(50vw, 640px) − 50%` で出す。`50%` は器の幅の半分、
   `min(50vw, 640px)` は「画面の半分。ただし 640px（= 1280 ÷ 2）まで」である。

     画面 1440px … 640 − 560 = 80px はみ出す → 地の外形 1280px（移行元と同じ）
     画面 1200px … 600 − 540 = 60px はみ出す → 地の外形 1200px（画面いっぱい）

   移行元は画面が 1280px より狭いと横スクロールを出す（`.l-contents` の
   `min-width: 1280px`）。dev は横スクロールを出さず、画面いっぱいで止める。

   🚨 **`vw` は縦のスクロールバーの幅を含む。**画面が 1280px より狭いと地が数 px
   はみ出すので、下の `.site-main:has()` で画面の端に切っておく（メインビジュアルの
   帯と同じ作り）。

   ------------------------------------------------------------------
   カードの格子をこの器が引き継ぐ
   ------------------------------------------------------------------
   カードはこれまで `.archive-content`（`display: grid`）の直下の子だった。地の器を
   1 枚挟むと親子が 1 段ずれて升目に入らなくなるので、同じ格子をこの器にも持たせる。
   列の作り方・行間・そろえは `.archive-content` の指定（22840 行あたり）と同じ値で
   ある。器自身は `.archive-content > *:not(.pa-archive-card)` で 1 行を丸ごと使う。

   🚨 **移行元の `text-align: center` は写さない。**移行元はカードの中身を別の指定で
   左そろえに戻しているが、dev のカードは器から受け継ぐ。ここで中央そろえにすると
   カードの本文まで中央へ寄る.  */

.pa-experience-stories {
	display: grid;
	/* 値は `.archive-content` と同じ。1 列の最小幅 280px の根拠もそちらに書いてある. */
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));

	/* 🚨 **列の間隔だけ移行元の 25px にする（Issue #3086 の L19）。**移行元は
	 * `.flexBox--3col .flexBox__item` に `margin: 0 25px 25px 0` を置く
	 * （`introduce/css/style_introduce_experience.css` の 88〜90 行）。テーマ共通の
	 * `--pa-archive-gap`（22px）のままだと、器を 1100px にしてもカードが
	 * (1100 − 44) ÷ 3 ＝ 352px になり、移行元の 350px と合わない。25px にすると
	 * (1100 − 50) ÷ 3 ＝ 350px でぴたりと合う。
	 *
	 * 🚨 **行の間隔はここでは共通の値のまま置き、パソコン幅の塊で 50px へ上書きする
	 * （Task #3211）。**この格子には**カードだけでなく見出し・件数の帯・ページ送り・
	 * VIEW MORE・0 件の断り書きも入る**（`archive-experience.php` の 250〜358 行）。
	 * それらは「移行元の間隔 − var(--pa-archive-gap)」という引き算で外余白を書いて
	 * あるので、ここで素の値を 50px にすると引き算のほうが 22px のままになり、カード
	 * 以外の子が 28px ずつ下がる。**上書きと合わせて、カード以外の子の中でだけ
	 * トークンを 50px に読み替える**のが今回の直しである（下のパソコン幅の塊）。
	 *
	 * トークンの値そのものは変えない（他の一覧へ波及するため）. */
	gap: var(--pa-archive-gap) 25px;
	align-content: start;
}

/* カード以外（見出し・件数の帯・ページ送り・0 件の断り書き）は横幅いっぱいに置く。
   `.archive-content > *:not(.pa-archive-card)` と同じ役割である. */
.pa-experience-stories > *:not(.pa-archive-card) {
	grid-column: 1 / -1;
}

.pa-experience-stories--gray {
	/* 器の外へはみ出す量（上の「地の幅の作り方」）. */
	--pa-stories-bleed: calc(min(50vw, 640px) - 50%);

	/* 移行元 .list-of-stories の margin-top: 115px（同 1059〜1060 行）。この器は
	   `.archive-content` の格子の直下に来るので、行間（--pa-archive-gap。パソコン幅
	   22px・携帯幅 18px）を引いて書く。引かないと行間ぶんが足されて広くなる
	   （前置きの一段 `.pa-experience-message` と同じ考え方）。格子の外で使われた
	   ときのために、行間の既定値は 0px にしておく. */
	margin-top: calc(115px - var(--pa-archive-gap, 0px));
	margin-right: calc(0px - var(--pa-stories-bleed));
	margin-left: calc(0px - var(--pa-stories-bleed));

	/* 移行元 .bg-gray .l-contents の padding: 40px 0 80px。左右は、はみ出した
	   ぶんを戻してカードの並びの幅を保つ. */
	padding-top: 40px;
	padding-right: var(--pa-stories-bleed);
	padding-bottom: 80px;
	padding-left: var(--pa-stories-bleed);

	/* 移行元 .bg-gray .l-contents の background: #f7f7f7. */
	background-color: #f7f7f7;
}

/* 携帯幅。移行元の携帯版（`/sp/introduce/experience/`）の値は次のとおりである。

     sp_style_experience.css 61〜64 行   .bg-gray .l-contents  max-width none /
                                                               padding 25px 0 25px
     同 66〜67 行                        .bg-gray .contents-wrapper  margin 0 10px 0
     同 757〜758 行                      .list-of-stories      margin-top 80px
     同 987〜989 行                      .list-of-stories-results .l-contents
                                                               padding-bottom 30px

   🚨 **上の外余白は携帯幅で書き直す。**パソコン幅の指定は 115px を基にしているので、
   そのままでは携帯幅で 115 − 15 = 100px になってしまう。移行元の携帯版は 80px なので、
   同じ引き算（格子の行間 15px を引く）で 80 − 15 = 65px と書く。

   はみ出す量の式（`min(50vw, 640px) − 50%`）は携帯幅では常に `50vw − 50%` になり、
   地が画面いっぱいまで広がる。移行元の `max-width: none` と同じ振る舞いである。

   🚨 **移行元の左右 10px（`.bg-gray .contents-wrapper`）は写していない。**dev の器は
   `.archive-content` の左右余白（--pa-inner-gutter）を既に持っており、そこへ 10px を
   足すと移行元より内側へ寄る。並びの幅は dev の既存の値のままにする.  */
@media (max-width: 749px) {
	.pa-experience-stories {
		/* `.archive-content` の携帯幅と同じ 1 列にする. */
		grid-template-columns: 1fr;
	}

	.pa-experience-stories--gray {
		/* 移行元 .list-of-stories の携帯幅 margin-top: 80px から、格子の行間 15px を
		   引く。パソコン幅の 115px をそのまま残すと 100px になってしまう. */
		margin-top: calc(80px - var(--pa-archive-gap, 0px));

		/* 移行元 .bg-gray .l-contents の padding: 25px 0 25px. */
		padding-top: 25px;

		/* 🚨 **下だけ 30px（Bug #4434）。**移行元は灰色の地の共通の値（上の
		   `padding: 25px 0 25px`）に対し、**一覧の区画だけ下を 30px へ上書きしている**
		   （sp_style_experience.css の 987〜989 行
		   `.list-of-stories-results .l-contents { padding-bottom: 30px }`）。dev は共通の
		   25px のままで、「VIEW MORE」から次の区画までが移行元 72.00px 対 dev 67.00px
		   だった（幅 375px・携帯の名乗りで 2026-09-07 に実測）。

		   **この 5px の不足は、副題の行送りの 4.20px を打ち消して見せていた。**上の
		   `.pa-experience-list-heading__sub-title` の直しと片方だけ入れると、
		   「スペシャルコンテンツ」以降が反対側へずれる。

		   パソコン幅は移行元と同じ 80px で既に一致しているので触らない
		   （移行元 40px / 80px 対 dev 40px / 80px・幅 1440px の実測）. */
		padding-bottom: 30px;
	}
}

/* --- パソコン幅のカードの縦の間隔（Task #3211）---
 *
 * 移行元は `.list-of-stories .flexBox--3col .flexBox__item { margin: 0 25px 50px 0 }`
 * （記録版 `legacy/www.p-a.jp` の `public/introduce/css/style_introduce_experience.css`
 * の 1072〜1073 行）で、**縦は 50px・横は 25px** である。dev は縦がテーマ共通の 22px の
 * ままで、移行元 50px 対 dev 22px だった（移行元 = 本番 www.p-a.jp を 2026-09-04
 * 04:16 JST に、dev を 04:17 JST に、いずれも幅 1440px で取得して実測）。横の 25px と
 * カード 1 枚の幅 350px はすでに一致している。
 *
 * 🚨 **携帯幅は行の間隔を触らない。ただし外余白は 2 か所直す。**行の間隔は移行元 15px
 * 対 dev 15px で一致しているので `--pa-archive-gap: 15px` の上書きをそのまま残す。
 * いっぽう外余白は、次の 2 か所を Task #3211 で直しており**携帯幅の見た目も変わる**。
 *
 *   見出しの下      … 27px → 30px（移行元は 30px。`.pa-experience-list-heading` の
 *                     `@media (max-width: 749px)` の指定）
 *   VIEW MORE の上  … 25px → 40px（移行元は 40px。`.pa-experience-pager--more` の
 *                     `@media (max-width: 749px)` の指定）
 *
 * タブレット幅（750〜1296px）は今回の突き合わせの対象外なので、行の間隔は 22px の
 * まま残す。
 *
 * 🚨 **トークンの読み替えはカード以外の子だけに置く。**この格子の子のうちカード以外は
 * 「移行元の間隔 − var(--pa-archive-gap)」の形で外余白を書いてある。行の間隔だけを
 * 50px にすると引き算が 22px のままなので、見出し・件数の帯・ページ送り・VIEW MORE が
 * 28px ずつ下がる。子の中で 50px に読み替えると引き算も 50px になり、
 * 「行の間隔 + 外余白」の合計が移行元の値のまま保たれる。
 *
 * 🚨 **器そのものにトークンを置いてはいけない。**この器自身が
 * `margin-top: calc(115px - var(--pa-archive-gap))` を持っており、そこは**外側の格子
 * （`.archive-content`・22px）の値**でなければ移行元の 115px にならない。器に置くと
 * 50px が引かれて 28px 上へ寄る。
 *
 * 🚨 **当てる先は `--gray` が付いた器だけにする。**絞り込みの結果ページでは、この器に
 * `--gray` が付かず（`archive-experience.php` の 245〜247 行）、**直下の子は件数の帯・
 * ページ送り・灰色の結果の器の 3 つだけでカードが 1 枚も入らない**（カードは
 * `.pa-experience-results` の中）。`--gray` を付けずに当てると、その 3 つが 28px ずつ
 * 下がるだけで、直したいカードの間隔には 1px も効かない。結果ページのカードは
 * `.pa-experience-results` の側で面倒を見る。
 *
 * 🚨 **この塊を携帯幅の塊より前に置いてはいけない。**帯の地色の検査
 * （`tests-retired/pa-cms-experience-list-nav-bg/`）は「字下げした `.pa-experience-stories` /
 * `.pa-experience-stories--gray` の**最初の 1 件**」を携帯幅の規則とみなして探す作りで
 * ある。前に置くとこの塊が先に見つかり、その検査が落ちる（2026-09-04 に実際に落として
 * 気づいた）。幅の条件が重ならないので、順番を変えても見た目は変わらない。
 *
 * 🚨 **行の間隔の上書きは選択子を 2 つ重ねて詳細度で勝たせる。**打ち消す相手は
 * `.pa-experience-stories { gap: var(--pa-archive-gap) 25px }`（上の素の規則）で、
 * `.pa-experience-stories--gray`（クラス 1 つ）のままだと詳細度が並ぶ。**どちらが勝つ
 * かが書いた順で決まり、並べ替えで黙って効かなくなる**。重ねれば順番に依存しない。
 * トークンを置くほうの規則は、同じ宣言を持つ相手がいないので重ねていない.
 *
 * 🚨 **境目は 1,280px である（Bug #4452・2026-09-07 に 1,297px から下げた）。**
 * 移行元はパソコン幅のどこでも行の間隔が 50px なのに、dev は **1,280〜1,296px の帯
 * だけ 22px** に落ちていた。行が 4 段あるので **84px 縮む**（幅 1200px で測った実測は
 * 区画の高さが移行元 2280.97px 対 dev 2198.22px。本番 www.p-a.jp と dev を机上の
 * 名乗りで 2026-09-07 21:43 JST に取得）。**幅 1440px では 50px で一致していたので、
 * 1 点だけ測っていたら見つからなかった**（取り決め 38 でパソコン幅は 1440px と 1200px の
 * 2 点を測ると決まった）。
 *
 * 🚨 **1,280px は、意図的変更の台帳 92 行のユーザー判断から来ている。**台帳 92 行は
 * 画面の幅を 3 つに区分している（2026-09-06 のユーザー判断・裁定 223 / 231）。
 *
 *     ① 375px（携帯幅）  … 移行元スマホ版に合わせる
 *     ② 750〜1,279px     … 移行元の横スクロールを写さず、画面幅に収める
 *     ③ 1,280px 以上     … 移行元と同じ固定の姿を保つ
 *
 * **③がそのまま境目になる。**②の帯まで下げると「移行元の横スクロールを写さない」に
 * 反するので、**1,200px へ下げてはいけない**（一度 1,200px にする判断が出たが、台帳
 * 92 行を見落としていたため取り下げられた。裁定 497）。
 *
 * 元の 1,297px は「写し元が必要とする 1,280px ＋ 縦のスクロールバー 17px」から来て
 * いた。**`@media` が見るのはページの幅で、窓の幅ではない**ので、③の「1,280px 以上」を
 * 写すなら `min-width: 1280px` がそのまま正しい。同じ取り違えはサービス配下で先に
 * 分かっている（Task #3197。`inc/service-page-css.php` の 43〜70 行に経緯が残る）。
 *
 * 🚨 **境目のすぐ下 17px の帯を承認した台帳 110 行は、体験談を含まない。**あの行の
 * 対象は 5 区画（婚活川柳・ご成婚報告・サービス紹介・入会案内・成婚コンシェルジュ）
 * だけである。よって体験談の 1,280〜1,296px の帯は承認の外で、直す対象である.
 * ------------------------------------------------------------------------------ */
@media (min-width: 1280px) {
	.pa-experience-stories--gray.pa-experience-stories--gray {
		row-gap: 50px;
	}

	.pa-experience-stories--gray > *:not(.pa-archive-card) {
		--pa-archive-gap: 50px;
	}
}

/* --- 体験談一覧のページ送り（1 ページ目の「VIEW MORE」と、2 ページ目以降の件数＋数字） ---

   型紙は template-parts/experience/pager.php。移行元はページによって形が変わる
   （index.php の 890〜894 行と 760〜801 行 / 895〜932 行）。

   写し元の値（移行元は html に font-size: 62.5% を置くため 1rem = 10px。ここでは
   px に直してある）。

     introduce/css/style_introduce_experience.css
       1070〜1071 行  .list-of-stories .flexBox--3col   margin-bottom −45px
       1076〜1084 行  .list-of-stories .Sc-btn   width 458px / font-size 1.3rem /
                                                color #463d3c / 上下の罫線 1px #463d3c /
                                                padding 15px 0 / margin-top 60px
       1191〜1194 行  .attached .is-left         display flex（`.is-left` は float: left）
       1196〜1207 行  .attached .search-results  color #463d3c / .txt line-height 1 /
                                                span 太字 / __number #de4c2f・2.6rem /
                                                __unit 1.6rem・margin-right 0.5rem
       1209〜1268 行  .attached .search-results__pager  margin-left 30px /
                                                .pager-list は flex・中央そろえ・font-size 0 /
                                                __item 32 × 32px・margin-left 10px・1.6rem /
                                                __item a は #e5e5e5 の丸・色 #463d3c /
                                                __item--current a は #463d3c の地に白の太字
     introduce/css/style_introduce.css
       848〜858 行    .Sc-btn                    display inline-block / line-height 1 /
                                                書体 Spinnaker / 下線が伸びる仕掛け（#de4c2f）

   🚨 **`.attached` `.is-left` `.pager-list` のような移行元の名前は使わない。**
   一般的すぎて、取り込んだ本文の中の同じ名前にも当たるためである。テーマの
   他の写し（`.pa-experience-list-heading` など）と同じく `pa-` を頭に付ける.  */

.pa-experience-pager {
	/* 移行元 `.is-left` の float: left。灰色の地は中身を中央へ寄せないので、
	   ここで左そろえだと明示する. */
	display: flex;
	justify-content: flex-start;
	text-align: left;
}

/* カードの並びの上に置くとき。移行元は見出しの下端からこの帯まで 60px・この帯から
   カードの 1 行目まで 26px である（本番 www.p-a.jp の 2 ページ目を 2026-09-04
   05:10 JST に幅 1440px で取得して実測。60.00px / 26.00px）。

   見出しの下の 60px は見出しの側が持つ（`.pa-experience-list-heading` の
   `margin: -70px 0 calc(60px - var(--pa-archive-gap, 0px))`）。ここでは残りの 26px を、
   同じく格子の行間を引いた形で足す（灰色の地 `.pa-experience-stories--gray` と同じ
   書き方）. */
.pa-experience-pager--top {
	margin-bottom: calc(26px - var(--pa-archive-gap, 0px));
}

/* 件数の表示と数字を横に並べる（移行元 `.attached .is-left` の display: flex）. */
.pa-experience-pager__inner {
	display: flex;
}

.pa-experience-pager__results {
	color: #463d3c;
}

/* 移行元 `.attached .search-results .txt` の line-height: 1。テーマは段落へ上下の
   余白を付けるので、ここで打ち消す（移行元は共通の初期化で 0 になっている）. */
.pa-experience-pager__count {
	margin: 0;
	line-height: 1;
}

/* 移行元 `.attached .search-results span` の太字は、件数と単位の 2 つに当たる。
   選択子をまとめずに 1 つずつ書く（まとめると、規則の塊を読む検査が最初の塊だけを
   見て取り違えるため）. */

.pa-experience-pager__number {
	color: #de4c2f;
	font-size: 26px;
	font-weight: bold;
}

.pa-experience-pager__unit {
	margin-right: 5px;
	font-size: 16px;
	font-weight: bold;
}

.pa-experience-pager__pages {
	margin-left: 30px;
}

/* 移行元 `.pager-list` の font-size: 0 は、`<li>` のあいだに入る改行の空白を
   消すためのものである。ここは flex の並びなので空白そのものが入らない。値は
   写さず、字の大きさは `__item` が持つ. */
.pa-experience-pager__list {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience-pager__item {
	width: 32px;
	height: 32px;
	margin-left: 10px;
	font-size: 16px;
	line-height: 1;
	text-align: center;
}

.pa-experience-pager__item:first-child {
	margin-left: 0;
}

.pa-experience-pager__item--omitted {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 数字の丸。移行元は `<a>` だけに当てているが、いま開いているページは移行元が
   `<a class="nolink">`（行き先の無いリンク）で組んでいる。行き先の無い `<a>` は
   読み上げソフトから見てリンクではないので、dev では `<span>` で組む。見た目を
   そろえるため、丸の指定はどちらにも当たる 1 つのクラスで書く. */
.pa-experience-pager__link {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #e5e5e5;
	color: #463d3c;
	text-align: center;
	text-decoration: none;
}

.pa-experience-pager__item--current .pa-experience-pager__link {
	background: #463d3c;
	color: #fff;
	font-weight: bold;
}

/* 「VIEW MORE」の押しボタン（1 ページ目だけ）。移行元は `<a>` の中に `<p class="Sc-btn">`
   を置き、外余白と罫線をその `<p>` が持つ。dev も同じ組みにしてある.

   🚨 **上の外余白は 65px から格子の行間を引く（Task #3211 で 60px から直した）。**
   移行元は最後のカードの下から押しボタンの上まで **65px** 空く（本番 www.p-a.jp を
   2026-09-04 04:16 JST に幅 1440px で取得して実測）。dev は 60px だった。

   仕組みはこうである。カードの下の外余白 50px と、カードの器の `margin-bottom: -45px`
   との差 5px に、`.Sc-btn` の上の外余白 60px を足して 65px になる。**器の −45px を
   忘れると 50 + 60 = 110px になる**ので、引き算のほうを落とさないこと。

   仕組みの説明に使った 3 つの値は、記録版 `legacy/www.p-a.jp` の
   `public/introduce/css/style_introduce_experience.css` にある。

     カードの下の外余白        +50px  1072〜1073 行 `.flexBox__item { margin: 0 25px 50px 0 }`
     カードの器の下の外余白    −45px  1070〜1071 行 `.flexBox--3col { margin-bottom: -45px }`
     `.Sc-btn` の上の外余白    +60px  1076〜1084 行

   🚨 **写しから導いた値ではなく、本番の実測を根拠にする。**写しは仕組みの説明にだけ使う。
   写しと本番が食い違う例が実際にある（携帯幅の `:last-child { margin-bottom: 0 }`。
   `.pa-experience-pager--more` の携帯幅の注釈を見ること）。

   以前は写し元の 60px をそのまま書いていたが、それは行の間隔が 22px だった前提の値で、
   合計は 22 + 38 = 60px にしかならなかった。行の間隔をパソコン幅で 50px に広げた今は、
   50 + 15 = 65px となって移行元と一致する。

   🚨 **この規則は幅で囲っていないので、タブレット幅（750〜1296px）にも効く。**その幅は
   行の間隔が 22px のままなので、押しボタンまでの距離は 60px から 65px へ変わる。
   タブレット幅は今回の突き合わせの対象外だが、移行元のパソコン幅の値へ寄る向きの
   変化なので、そのままにしてある. */
.pa-experience-pager--more {
	display: block;
	margin-top: calc(65px - var(--pa-archive-gap, 0px));
	text-align: center;
}

/* 🚨 **囲みの `<a>` は `inline` にする（`inline-block` にしてはいけない）。**
   移行元の `<a>` は素のまま（計算後の display は `inline`）で、本番 www.p-a.jp を
   2026-09-04 02:11 JST に測ると帯は 458×45px（幅 1440px）、02:12 JST の携帯の名乗りで
   229×30px だった。

   `inline-block` にすると、帯（`__more-label`）の幅の割合の基準がこの `<a>` 自身に
   なる。`<a>` の幅は中身から決まるので「幅 = min(458px, 自分の幅)」の循環になり、
   ブラウザは文字の幅で解決する。**その結果、帯が 81×45px（パソコン幅）・40×40px
   （携帯幅）に潰れていた**（dev を 2026-09-04 02:2x JST に測った実測。ユーザー目視の
   指摘「VIEW MORE の UI が少し違っています」の原因）。

   `inline` なら割合の基準は外側の塊（`--more`）になり、移行元と同じ 458px / 229px に
   なる。押せる範囲も帯だけで移行元と同じである. */
.pa-experience-pager__more-link {
	display: inline;
	color: #463d3c;
	text-decoration: none;
}

.pa-experience-pager__more-label {
	position: relative;
	display: inline-block;
	width: min(458px, 100%);
	margin: 0;
	padding: 15px 0;
	border-top: solid 1px #463d3c;
	border-bottom: solid 1px #463d3c;
	/* 🚨 **予備の書体は移行元と同じ `sans-serif` だけにする（Issue #3086 の L31 と同じ
	   直し）。**移行元の `.Sc-btn` は `'Spinnaker', sans-serif` の 2 つだけで、本番を
	   2026-09-03 18:37 JST に取得して実測した書体の並びも `Spinnaker / sans-serif`
	   だった。この文字は英字の「VIEW MORE」だけなので和文の予備は出番が無い. */
	font-family: "Spinnaker", sans-serif;
	font-size: 13px;
	line-height: 1;
	text-align: center;
}

/* 移行元 `.Sc-btn:before` / `:after` の、上下の罫線が中央から伸びる仕掛け。
   指を乗せると色が朱（#de4c2f）に変わる. */
.pa-experience-pager__more-label::before,
.pa-experience-pager__more-label::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: #de4c2f;
	content: "";
	transform: scale(0, 1);
	transition: transform 0.5s;
}

.pa-experience-pager__more-label::before {
	bottom: -1px;
	transform-origin: center bottom;
}

.pa-experience-pager__more-label::after {
	top: -1px;
	transform-origin: center top;
}

.pa-experience-pager__more-link:hover .pa-experience-pager__more-label {
	color: #de4c2f;
}

.pa-experience-pager__more-link:hover .pa-experience-pager__more-label::before,
.pa-experience-pager__more-link:hover .pa-experience-pager__more-label::after {
	transform: scale(1, 1);
}

/* 携帯幅。移行元の携帯版（`/sp/introduce/experience/`）の値は次のとおりである。

     sp_style_experience.css 765〜770 行  .list-of-stories .Sc-btn
                                          width calc(458 / 710 * 100%) / font-size 1rem /
                                          padding 9px 0 / margin-top 25px
     同 900〜912 行                       .attached .search-results
                                          margin-bottom 10px / .txt 1.4rem /
                                          __number 2rem / __unit 1.5rem
     同 914〜917 行                       .attached .search-results__pager
                                          margin-left 0 / .pager-list margin-bottom 10px

   🚨 **携帯版は数字が上・件数の表示が下である**（sp/introduce/experience/index.php の
   690〜726 行は `.search-results__pager` を先に置く）。dev は 1 つの型紙で両方の幅を
   出すため、並べ替えは CSS で行う（`column-reverse`）。読み上げの順は「件数 → 数字」の
   ままになる。

   🚨 **注記を訂正した（2026-09-03・セルフレビューの指摘）。**以前は「移行元の携帯版は
   数字の丸（灰色の地と角丸）を持たず、いま開いているページも角の立った四角である」と
   書いていたが、**誤りである**。移行元の携帯向けのページもパソコン用の
   `introduce/css/style_introduce_experience.css` を読む（sp/introduce/experience/index.php
   の 75 行）ので、その 1240〜1268 行の丸（地 `#e5e5e5`・角丸 50%・いま開いているページは
   地 `#463d3c` に白）が携帯でも当たる。携帯用の CSS（sp_style_experience.css の
   936〜939 行）はこれを打ち消していない。**dev は丸を残しているので、見え方は移行元と
   合っている。**

   携帯幅で受け持つ範囲は、字の大きさと余白を移行元の携帯用の値へそろえることまでで、
   件数の表示の下の余白（移行元 `.attached .search-results { margin-bottom: 10px }`）は
   まだ写していない（2 ページ目を取得して測ってから直す。#3086 の B 節）. */
@media (max-width: 749px) {
	.pa-experience-pager__inner {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	.pa-experience-pager__results {
		font-size: 14px;
	}

	.pa-experience-pager__number {
		font-size: 20px;
	}

	.pa-experience-pager__unit {
		font-size: 15px;
	}

	.pa-experience-pager__pages {
		margin-bottom: 10px;
		margin-left: 0;
	}

	/* 画面が狭いと数字が 5 つ並びきらないことがあるので折り返す（移行元の携帯版は
	   同じ 5 つを 375px の幅に収めている。折り返しは念のための備えである）. */
	.pa-experience-pager__list {
		flex-wrap: wrap;
		justify-content: flex-start;
		row-gap: 10px;
	}

	/* 🚨 **数字の字は 13px にする（Bug #3827）。**移行元は携帯幅で数字を 13px に
	   縮める。移行先はパソコン幅の 16px のままで、3px 大きかった。

	   🚨 **当て先は丸の器（`__item`）でなく、中の要素である。**移行元を本番で測ると
	   **器（`li`）は 16px のままで、中の `a` と `span` だけが 13px** だった
	   （幅 375px・2026-09-05 21:18〜21:19 JST に `/sp/introduce/experience/result.php`
	   を携帯の名乗りで取得）。器を 13px にすると、今度は器の側が移行元と食い違う。

	   「…」は `pa-experience-pager__link` を持たない素の `span` なので、2 つの
	   当て先を並べる。移行元も「…」の中の `span` を 13px にしている。

	   丸の大きさ（32 × 32px）・数字どうしの間（10px）・地色・色・太さは両側で
	   一致しているので触らない. */
	.pa-experience-pager__link,
	.pa-experience-pager__item--omitted span {
		font-size: 13px;
	}

	/* 🚨 **上の外余白は 40px から格子の行間を引く（Task #3211 で 25px から直した）。**
	   移行元は最後のカードの下から押しボタンの上まで **40.00px** 空く。dev は 25px だった。

	   根拠は本番 www.p-a.jp の実測である（携帯の名乗りで 2026-09-04 04:16 JST に取得し、
	   05:17 JST に測り直して同値だった）。内訳は次のとおり。

	     最後のカード `.stories-list__item` の下の外余白  15px（下端 6931.4）
	     VIEW MORE `.Sc-btn` の上の外余白                 25px（上端 6971.4）
	     距離                                             15 + 25 ＝ 40.00px

	   🚨 **写しにある `.stories-list__item:last-child { margin-bottom: 0 }` は、本番では
	   効いていない**（記録版 `legacy/www.p-a.jp` の
	   `public/sp/introduce/css/sp_style_experience.css` の 623〜624 行）。並びの器
	   `ul.stories-list` の子はカード 12 枚だけで、VIEW MORE の `<a>` は器の外の兄弟なので、
	   最後のカードは確かに末尾の子である。それでも本番では 15px が残る。**本番の CSS が
	   写しと違う**ということなので、写しから導いた 0px ではなく本番の実測を正とする。

	   携帯幅の行の間隔は 15px のままなので 15 + 25 = 40px となり、移行元と一致する. */
	.pa-experience-pager--more {
		margin-top: calc(40px - var(--pa-archive-gap, 0px));
	}

	.pa-experience-pager__more-label {
		width: calc(458 / 710 * 100%);
		padding: 9px 0;
		font-size: 10px;
	}
}

/* --- 体験談一覧の「婚活の一言」の並び（Task #2917） ---

   写し元は introduce/css/style_introduce_experience.css の 348〜478 行。移行元の値は
   次のとおりである（移行元は html に font-size: 62.5% を置くため 1rem = 10px。
   ここでは px に直してある）。

     .comment-area              margin-top 40px / margin-bottom 70px
     .comment-area .contents-wrapper（共通の 47 行）width 1100px / margin 0 auto
     .comment-list              width 100% / margin-top 40px / font-size 0
                                display flex / box-sizing border-box / height 180px
     .comment-list a            display inline-block / height 100% / position relative
                                border 1px solid #9dbf68 / border-radius 10px
                                box-shadow 3px 3px #adc08c
     .comment-list__item        width calc(25% - 1.8% * 3 / 4) / box-sizing border-box
                                margin 0 1.8% 0 0 / display none（下記）
     .comment-list__item:last-child  margin-right 0
     .comment-list__item a      width 100% / display flex / flex-direction column
                                justify-content space-between
     .item__txt                 display flex / 縦横とも中央そろえ
                                padding 25px 15px 10px / height 6em
                                color #7ca145 / font-size 22px / font-weight bold
                                font-style oblique / line-height 1.3 / 明朝体（.min）
     .btn                       font-size 12px / font-weight bold / text-align right
                                padding-right 34px / margin-bottom 8px / position relative
     .btn--woman #e17777 / .btn--man #208abb
     .btn:before                14 × 14px の丸 #748c50（top 10px / right 10px）
     .btn:after                 白い三角（top 7px / right 14px / border-left 5px）
     飾り 4 枚                  :nth-child(4n-3) ornament03 52px（80% / 80%）
                                :nth-child(4n-2) ornament01 110px（80% / 40%）
                                :nth-child(4n-1) ornament04_02 100px（100% / 20%）
                                :nth-child(4n)   ornament07 90px（90% / 80%）
     :hover                     opacity 0.7

   🚨 **移行元は項目を CSS で全部隠し、JavaScript で 4 件だけ見せている**
   （introduce/js/function.js の 329〜360 行。7 秒ごとに次の 4 件へ入れ替える）。
   **入れ替えとランダムな並びは Bug #3004 が受け持つ。**この Task では組みに 31 件
   すべてを出し、**CSS で先頭 4 件だけを見せる**。こうすると次の 2 つが同時に成り立つ。

     - 見え方が移行元と同じになる（横 1 列・高さ 180px・4 枚）
     - **JavaScript が無くても 4 件は見える**（移行元は 0 件になる）

   Bug #3004 は「見せる 4 件」を付け替える形で入れ替えを足せるので、そのあとも
   JavaScript 無しで 4 件が見えたままにできる.

   🚨 **`:last-child` の右余白の打ち消しは移行元のまま写す。**移行元も組みに 31 件を
   持つので `:last-child` は 31 件目（隠れている側）に当たり、**見えている 4 件目は
   右余白 1.8% を持ったまま**である。「4 件目の余白を消す」指定を足すと移行元と
   食い違う. */

.pa-experience-voice {
	/* 画面いっぱいの塊にする。移行元の `.comment-area` は本文の流れに直に置かれた
	   素の塊なので、幅が画面いっぱい（1440px / 携帯幅 375px）になる。地色も罫線も
	   持たないので見た目には出ないが、**中の器の幅が「区画の幅 − 左右 25px」で
	   決まる携帯幅では効いてくる**（器を 325px にするため）。作りはメインビジュアルの
	   帯とそろえてある（`100vw` の注意もそちらを参照）. */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);

	/* 移行元 .comment-area の margin-top 40px / margin-bottom 70px。

	   🚨 **囲みの格子の行間ぶんを差し引く。**この区画は `.archive-content`
	   （`display: grid` + `gap: var(--pa-archive-gap)`）の直下に来るので、外余白へ
	   40px をそのまま書くと行間 22px が足されて 62px に見える（前置きの一段が同じ
	   理由で同じ差し引きをしている）. */
	margin-top: calc(40px - var(--pa-archive-gap, 0px));
	margin-bottom: calc(70px - var(--pa-archive-gap, 0px));

	/* 🚨 **カードの入れ替えでスクロール位置が飛ぶのを止める（Bug #6391）。**
	   Chrome のスクロールアンカリングが、7 秒ごとの入れ替えで
	   `display: none` になるカードを支点に選ぶため、入れ替えの瞬間に
	   画面が 329px 飛ぶ。

	   実測（iPhone SE のエミュレーション・375×667・両側 3 回ずつ・
	   2026-09-15 14:19:49〜14:25:15 JST・控えは
	   `pa-verify-assets/d3-w107/w107-anchor-jst2026-09-15-14-25.json`・
	   台本の sha `3d839eb7`）:

	   | 条件                       | 飛んだ回数 |
	   |----------------------------|-----------:|
	   | 素（移行元 3 回・dev 3 回） | **6 回中 3 回**（いずれも −329px） |
	   | この 1 行を当てたとき       | **6 回中 0 回** |

	   🚨 **移行元でも飛ぶが、dev は直す。**大原則 5「移行元の誤りは写さない」
	   に従う（統括の裁定・2026-09-15 14:02:19）。#6391 の受入基準に在る
	   「両側とも動くなら直さない」は、この裁定で置き換わっている。

	   🚨 **`body` には当てない。**当たり先は入れ替えの起きるこの区画だけに
	   とどめる。ページ全体の支点選びを止めると、ほかの区画の読み込み中の
	   ずれ止めまで効かなくなる。実測もこの区画だけに当てて採った. */
	overflow-anchor: none;
}

/* 移行元 .comment-area .contents-wrapper（共通の 1100px / margin 0 auto）。
   移行先の一覧の器は 1,120px（--pa-inner-ex）だが、**項目の幅が器の割合（25%）で
   決まる**ため、移行元の 1100px をそのまま使う。20px 広げると 4 枚の幅が動く. */
.pa-experience-voice__inner {
	position: relative;
	/* 🚨 **割合のトークン（--pa-inner-ratio = 90%）を使ってはいけない。**この器の親は
	   すでに一覧の器の幅（--pa-inner-ex = 1120px）で縛られているので、そこへ 90% を
	   重ねると 990px になり、**項目 1 枚の幅が 255.2px から 229.69px へ縮む**
	   （2026-09-03 に実測して気づいた）. */
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

/* 移行元 .comment-list。`font-size: 0` は項目のあいだの改行の空きを消すための指定で、
   移行元は項目を `display: inline-block` で並べていた名残である。ここは flex なので
   空きは出ないが、写しの値をそのまま置く（項目側が字の大きさを持ち直している）. */
.pa-experience-voice__list {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	height: 180px;
	/* 🚨 **移行元の `.comment-list` の上の外余白 40px は置かない。**移行元では
	   `.comment-area` の 40px と `.comment-list` の 40px が**重なって 40px 1 つ分に
	   なる**（あいだに内余白も罫線も無いため外余白が合体する）。dev の区画は一覧の
	   格子の項目なので、ここへ 40px を置くと区画の側の間隔と足し算になり、
	   **区画の高さが 180px から 220px へ増える**（2026-09-03 に実測して気づいた）。
	   間隔は区画の側（.pa-experience-voice）だけが持つ. */
	margin: 0;
	padding: 0;
	font-size: 0;
	list-style: none;

	/* 🚨 **横にはみ出したカードは切り取る（縦は切り取らない）。**入れ替えが何かの拍子に
	   5 枚以上を同時に出したとき、余ったカードが画面の右へ流れ出して横スクロールを
	   生むのを防ぐ。**縦は `visible` のまま**にしないと、カードの上へ 25px 出る
	   タイプの丸い絵（`__icon`）が切れる。`clip` は片方の軸だけに使えるので、
	   `hidden` ではなくこれを使う（`hidden` にすると反対の軸が `auto` に変わり、
	   絵が切れる）。4 枚のときは 25% × 4 = 100% でぴったり収まるので、ふだんの
	   見え方は変わらない（作業ツリーで実測して確認）. */
	overflow-x: clip;
}

/* 移行元 .comment-list__item。 */
.pa-experience-voice__item {
	box-sizing: border-box;
	width: calc(25% - 1.8% * 3 / 4);
	margin: 0 1.8% 0 0;

	/* 🚨 **細くなる下限を置く（ユーザー目視 2026-09-04 02:19 JST の崩れの封じ込め）。**
	   入れ替えが 4 枚を超えて同時に出すと、横並びの縮みが働いて 1 枚が 255px から
	   76px まで細くなる。すると 22px の文が 1 行 3 文字ほどで折り返し、**高さを 6em に
	   決めてある箱に対して中身が 377px になり、上下へ 210px あふれて説明文や 4 つの
	   見出しに重なって描かれる**（dev で 31 枚を同時に出して実測。ユーザーの画像
	   `pa-verify-assets/feedback-0904-experience/` と同じ姿）。**幅 260px なら 31 件
	   すべて あふれ 0px** だったので、これ以上細くしない下限を置く。余った枚数は
	   上の `overflow-x: clip` で切り取られる。

	   🚨 **縮みそのものは止めてはいけない（`flex-shrink: 0` にしない）。**移行元も
	   4 枚を並べたとき、4 枚目の右の外余白（1.8%）のぶんだけ縮んで **1 枚 255.2px**
	   になる（縮みを止めると 260.15px になり移行元とずれる）。下限は「ふだんの縮みは
	   通すが、それ以上は縮まない」値、つまり指定の幅から 6px 引いた値にする。

	   🚨 **引き金はまだ突き止められていない。**ふだんの表示・裏タブへ 75 秒置いて
	   戻す・処理を 20 倍遅くする・タブを凍結して戻す・JavaScript を切る の 5 通りを
	   dev で試したが、いずれも 4 枚のままだった（2026-09-04 02:2x〜02:4x JST の実測）。
	   この指定は「起きたときに他の区画を壊さない」ための備えで、引き金の追究は別の
	   Task で続ける. */
	min-width: calc(25% - 1.8% * 3 / 4 - 6px);
}

/* 移行元 .comment-list__item:last-child。 */
.pa-experience-voice__item:last-child {
	margin-right: 0;
}

/* 🚨 **5 件目から先を隠す。この規則は残す（2026-09-04 に注記を訂正）。**
   移行元は全項目を隠して JavaScript で 4 件を出すので、**JavaScript が動かない環境では
   一言が 1 件も出ない**。dev は先頭 4 件を出したままにする。見えない中身を出すのは
   欠落と同じなので、この 1 点だけ意図して移行元と違えている（Task #2917 の判断。
   理由は template-parts/experience/comment.php の冒頭に書いてある）。

   以前の注記は「Bug #3004 がその入れ替えを足すとき、この規則を『いま見せる 4 件』の
   付け替えへ差し替える」と書いていた。**#3004 は 2026-09-04 に閉じ、規則は残す形で
   実装した**（入れ替えは移行元の写しの JavaScript が要素ごとの `style` で行うので、
   この規則と衝突しない）。次の担当が「未了の作業」と誤読しないよう書き替えた。
   検査（tests-retired/pa-cms-experience-list-look/）が「この規則が残っている」ことを合格条件に
   している. */
.pa-experience-voice__item:nth-child(n+5) {
	display: none;
}

/* 移行元 .comment-list a と .comment-list__item a を 1 つにまとめたもの。 */
.pa-experience-voice__link {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	/* 🚨 **このテーマは全体に `border-box` を効かせているが、移行元は指定していない
	   （既定の `content-box`）。**移行元の枠は「項目の幅 + 罫線 1px × 2」で
	   **項目より 2px 大きく**、罫線が項目の箱の外へ 1px ずつ出る（外形 257.2 × 182px
	   に対し項目は 255.2 × 180px）。`border-box` のままにすると枠が項目と同じ大きさに
	   縮み、**一言の高さも 154px から 132px へ変わる**（2026-09-03 に実測して気づいた）. */
	box-sizing: content-box;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: visible;
	border: 1px solid #9dbf68;
	border-radius: 10px;
	box-shadow: 3px 3px #adc08c;
	text-decoration: none;
}

/* 移行元 .comment-list__item:hover の opacity 0.7。移行元は項目側に当てているが、
   押せる範囲はリンクなので、キーボードで移動したときにも同じ見え方になるよう
   リンク側で持つ. */
.pa-experience-voice__item:hover,
.pa-experience-voice__link:focus-visible {
	opacity: 0.7;
}

/* 移行元 .item__txt（`min` の明朝体つき）。`font-style: oblique` は書体に斜体が
   無いときブラウザが傾けて描くもので、移行元と同じにするためそのまま写す. */
.pa-experience-voice__text {
	display: flex;
	align-items: center;
	justify-content: center;
	/* 枠と同じ理由で `content-box` にする。移行元の高さ 6em（22px × 6 = 132px）は
	   内余白 35px を含まない値で、外形は 167px になる。枠の中身の高さ 180px から
	   札の 26px（高さ 18 + 下の外余白 8）を引いた 154px に収まらないため、flex の
	   縮みが 13px 働いて **154px** になる。`border-box` だと 132px で縮みが起きず、
	   移行元と 22px 違う. */
	box-sizing: content-box;
	height: 6em;
	padding: 25px 15px 10px;
	color: #7ca145;
	font-family: var(--pa-font-family-serif);
	font-size: 22px;
	font-style: oblique;
	font-weight: 700;
	line-height: 1.3;
}

/* 移行元 .btn。丸と三角の飾りを右端へ置くため、右の内余白 34px を空ける. */
.pa-experience-voice__label {
	position: relative;
	margin-bottom: 8px;
	padding-right: 34px;
	font-size: 12px;
	font-weight: 700;
	text-align: right;
}

/* 移行元 .btn--woman / .btn--man。性別で札の字の色を分ける. */
.pa-experience-voice__label--woman {
	color: #e17777;
}

.pa-experience-voice__label--man {
	color: #208abb;
}

/* 移行元 .btn:before の 14 × 14px の丸。 */
.pa-experience-voice__label::before {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 14px;
	height: 14px;
	background-color: #748c50;
	border-radius: 50%;
	transform: translateY(-50%);
	content: "";
}

/* 移行元 .btn:after の白い三角（丸の中の「進む」の印）。 */
.pa-experience-voice__label::after {
	position: absolute;
	top: 7px;
	right: 14px;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 5px solid #fff;
	content: "";
}

/* 移行元の飾り 4 枚（:nth-child(4n-3) から :nth-child(4n)）。4 件ごとの繰り返しで
   当てる。**入れ替わりで顔ぶれが変わっても、位置ごとに同じ飾りが出る**のが移行元の
   振る舞いである（飾りは項目の中身ではなく並びの位置に付く）. */
.pa-experience-voice__item:nth-child(4n-3) {
	background: url("../introduce/images/experience/bg_experience_ornament03.png?ver=1eb724fcbabc") no-repeat 80% 80%;
	background-size: 52px;
}

.pa-experience-voice__item:nth-child(4n-2) {
	background: url("../introduce/images/experience/bg_experience_ornament01.png?ver=fb80c7e4267a") no-repeat 80% 40%;
	background-size: 110px;
}

.pa-experience-voice__item:nth-child(4n-1) {
	background: url("../introduce/images/experience/bg_experience_ornament04_02.png?ver=6ac730d62930") no-repeat 100% 20%;
	background-size: 100px;
}

.pa-experience-voice__item:nth-child(4n) {
	background: url("../introduce/images/experience/bg_experience_ornament07.png?ver=cf0186120beb") no-repeat 90% 80%;
	background-size: 90px;
}

/* --- 体験談一覧の「婚活の一言」の並び・携帯幅（Task #2917） ---

   🚨 **移行元の携帯版は別ページである。**`/introduce/experience/` を携帯の UA で
   開くと `/sp/introduce/experience/` が返る（振り替えは幅ではなく**端末の名乗り**で
   決まる）。そのページは CSS を 7 本読み、**パソコン版の
   `style_introduce_experience.css` を読んだうえで** `sp_style_experience.css` で
   上書きする。写し元は後者の 200〜246 行である。

   移行元を携帯の UA・幅 375px で測った実測（実サイトと手元の再現が一致）:

     区画   … 幅 375 / 高さ 340 / 外余白 25px 0 30px
     器     … 幅 325（左右に 25px の余白）
     並び   … 幅 325 / 高さ 340 / **折り返しあり（2 行 2 列）**
     項目   … 158.11 × 161.23 / 外余白 0 8.77 8.77 0（2 枚目は右 0）
     枠     … 160.11 × 163.23 / 影 **2px 2px**（パソコン幅は 3px 3px）
     一言   … 15px / 行送り 19.5px / 内余白 20px 10px 15px 10px / 高さ 125
     札     … 下の外余白 5px / 内余白 0 34px 0 10px / **左そろえ**（パソコン幅は右）
     飾り   … 1 枚目 26px（80% 80%）/ 2 枚目 55px（5% 5%）/ 3 枚目 50px（85% 80%）
              **4 枚目は 90px（90% 80%）のまま**（下記）

   🚨 **4 枚目の飾りだけ携帯版の上書きが効かない。**移行元の携帯版は
   `:first-child` / `:nth-child(2)` / `:nth-child(3)` / `:last-child` で上書きするが、
   組みには 31 件あるので `:last-child` は **31 件目**（隠れている側）に当たる。
   見えている 4 枚目にはパソコン版の `:nth-child(4n)`（90px・90% 80%）が残る。
   実サイトで測って確かめた（2026-09-03）. */
@media (max-width: 749px) {
	.pa-experience-voice {
		/* 移行元 .comment-area の margin 25px 0 30px（`sp_style_experience.css` の
		   200〜202 行）。格子の行間（`--pa-archive-gap`。携帯幅は 15px）を引く.

		   🚨 **下の空きは 30px ではなく 21.23px である（Bug #4340・2026-09-07）。**
		   移行元は吹き出しの並びに `margin: 20px 0 -2.7% 0`（同 203〜205 行）を持ち、
		   **この −2.7% が親の下の外余白と相殺して外へ出る**。中身の幅 325px に対して
		   −8.77px なので、実際の空きは 30 − 8.77 = **21.23px** になる（移行元スマホ版
		   `/sp/introduce/experience/` を幅 375px・携帯の名乗りで 2026-09-07 18:02:47 JST
		   に取得して実測。吹き出しの下端 941.08 → 探し方の上端 962.31）。

		   **dev では −2.7% を写せない。**この区画は一覧の格子の項目で、格子の項目は
		   独立した整形の文脈を作るため、中の負の外余白は外へ出ずに中身を縮めてしまう。
		   そこで**実際の空き 21.23px を直に書く**。区画の高さ 340.00px は両側で
		   一致しているので触らない.  */
		/* 🚨 **携帯幅では上の外余白を置かない。**移行元は前置きの一段の下 25px と
		   この区画の上 25px が**重なって 25px 1 つ分**になる。dev の区画は一覧の格子の
		   項目なので外余白は重ならず、前置きの一段の下（25 − 行間 18 = 7px）と
		   格子の行間 18px を足すだけで **ちょうど 25px** に届く。ここへさらに 7px を
		   置くと 32px になる（2026-09-03 に実測して気づいた）. */
		margin-top: 0;
		margin-bottom: calc(21.23px - var(--pa-archive-gap, 0px));
	}

	.pa-experience-voice__inner {
		/* 移行元の器は左右に 25px の余白を持つ（幅 375px の画面で中身 325px）。
		   パソコン幅の上限 1100px は外す。

		   🚨 **`width: 100%` も外す。**外余白だけを足しても、幅が 100% のままでは
		   器が親と同じ 375px になり、余白のぶんだけ画面の外へ出る（項目 1 枚が
		   158.11px から 182.44px へ広がる）. */
		width: auto;
		max-width: none;
		margin: 0 25px;
	}

	.pa-experience-voice__list {
		/* 移行元 .comment-list（携帯版）の flex-wrap: wrap / height 340px /
		   margin-bottom -2.7%。**折り返して 2 行 2 列になる**。

		🚨 **移行元の負の下の外余白（-2.7%）は写さない。**移行元ではこの負の余白が
		   区画の下の外余白と重なり、区画の高さの外へ出る（区画の高さは 340px のまま）。
		   dev の区画は一覧の格子の項目で、**格子の項目は中の外余白が外へ重ならない**
		   ため、写すと区画の高さが 340px から 331.23px へ縮む（2026-09-03 に実測）。

		   写さないことで下の間隔が 8.77px 広がるが、**この区画の下に来る中身が
		   両側で違う**（移行元は絞り込みのタブ、dev は札の並び）ため、下の間隔は
		   もともと突き合わせの対象にならない。区画の高さ 340px をそろえるほうを採る. */
		flex-wrap: wrap;
		height: 340px;
		margin: 0;

		/* 🚨 **携帯幅では横の切り取りを戻す（Bug #5545・ユーザー目視 2 回）。**
		   素の規則の `overflow-x: clip` は「入れ替えが 5 枚以上を同時に出したとき、
		   余ったカードが横一列に流れ出して横スクロールを生む」パソコン幅の備えである。
		   **携帯幅では並びが 2 行 2 列に折り返すので、その場面が起きない。**5 枚目から
		   先は `:nth-child(n+5) { display: none }` が別に隠しており、備えは二重である。

		   一方この指定は、**右の列のカードの罫線と影を切り落としていた。**中身の
		   リンクは移行元に合わせて `box-sizing: content-box` ＋ `width: 100%` ＋
		   罫線 1px を持つので**札より 2px 広く**、携帯幅では影も右へ 2px 出る。
		   左の列はその 2px が札のあいだの空き 8.775px に収まるが、**右の列は札の
		   右端が一覧の右端と同じ**（158.11 + 8.775 + 158.11 = 325.0 = 器の幅）なので
		   外へ出て切られる。

		   幅 375px・携帯の名乗りで両側を実測した（2026-09-11 12:29・DPR 2 と 1 の
		   2 通り。控えは `pa-verify-assets/f11-5545-voicecard/5545-se-2026-09-11-12-29.json`）。
		   **箱の寸法は 1 つも違わない**（一覧の右端 350 / 右の札の右端 349.98 /
		   右の中身の右端 351.98 が両側で一致）。**違うのは横の切り取りだけ**で、
		   移行元 `.comment-list` は `visible`、dev は `clip` だった。ページの
		   はみ出しは両側 0 なので、**横スクロールではなく切り取り**である。
		   DPR は引き金ではない（2 と 1 で 1 つも動かない）。

		   🚨 **並びに内余白を足して逃がす案は採らない。**札の幅が並びの中身の幅に
		   対する割合（`calc(50% - 2.7% * 1 / 2)`）で決まっているので、内余白を足すと
		   **札そのものが細くなって移行元とずれる**. */
		overflow-x: visible;
	}

	.pa-experience-voice__item {
		/* 移行元 .comment-list__item（携帯版）の width calc(50% - 2.7% * 1 / 2) と
		   margin 0 2.7% 2.7% 0. */
		width: calc(50% - 2.7% * 1 / 2);
		margin: 0 2.7% 2.7% 0;
	}

	/* 移行元 .comment-list__item:nth-child(2n) の margin-right: 0（行の右端）。
	   パソコン幅の `:last-child` の打ち消しは、携帯幅では 2 枚ごとに変わる. */
	.pa-experience-voice__item:nth-child(2n) {
		margin-right: 0;
	}

	/* 移行元 .comment-area .comment-list a（携帯版）の影 2px 2px. */
	.pa-experience-voice__link {
		box-shadow: 2px 2px #adc08c;
	}

	/* 移行元 .comment-list__item .item__txt（携帯版）の内余白と 15px。
	   行送りの指定はパソコン幅と同じ 1.3 のままで、字が小さくなるぶん 19.5px になる. */
	.pa-experience-voice__text {
		padding: 20px 10px 15px;
		font-size: 15px;
	}

	/* 移行元 .comment-area .comment-list a .btn（携帯版）。**左そろえに変わる**. */
	.pa-experience-voice__label {
		margin-bottom: 5px;
		padding: 0 34px 0 10px;
		text-align: left;
	}

	/* 飾りは大きさと位置だけを上書きする（絵は 4 件ごとの繰り返しのまま）。
	   移行元は `:first-child` / `:nth-child(2)` / `:nth-child(3)` で当てている. */
	.pa-experience-voice__item:first-child {
		background-position: 80% 80%;
		background-size: calc(52px / 2);
	}

	.pa-experience-voice__item:nth-child(2) {
		background-position: 5% 5%;
		background-size: calc(110px / 2);
	}

	.pa-experience-voice__item:nth-child(3) {
		background-position: 85% 80%;
		background-size: calc(100px / 2);
	}

	/* 移行元 .comment-list__item:last-child（携帯版）。**組みの 31 件目に当たるため
	   いまは見た目に出ない**（見えているのは先頭 4 件）。移行元と同じ状態にしておく
	   ため写す。Bug #3004 が入れ替えを足しても、見せる 4 件は 31 件目を含まない. */
	.pa-experience-voice__item:last-child {
		background-position: 90% 80%;
		background-size: calc(90px / 2);
	}
}

/* --- 体験談一覧の前置きの一段（Bug #2828） ---

   写し元は introduce/css/style_introduce_experience.css の 316〜346 行。移行元の値は
   次のとおりである（移行元は html に font-size: 62.5% を置くため 1rem = 10px。
   ここでは px に直してある）。

     .msg           margin-top 66px
     .msg .contents padding 0 140px / flex / 縦横とも中央そろえ
     .msg .img      font-size 0
     .msg .cont     margin-left 46px
     .msg__ttl_main color #748c50 / font-size 18px（太字は共通 CSS の見出しの素から）
     .msg__txt      margin-top 40px / font-size 14px / line-height 2 */

.pa-experience-message {
	/* 移行元 .msg の margin-top 66px。

	   移行元 .msg .contents は左右 140px の内側余白を持つ。器（.contents-wrapper）が
	   1100px なので、中身の面は 1100 − 280 = 820px になる。移行先の器は 1,120px
	   (--pa-inner-ex) で幅が違うため、内側余白ではなく**面の幅**で写す。どちらも
	   ページの中央に置かれるので、中身の位置は移行元と一致する. */
	width: 100%;
	max-width: 820px;
	/*
	 * 🚨 **囲みの格子の行間ぶんを差し引く（Codex の P2 指摘）。**この区画は
	 * `.archive-content`（`display: grid` + `gap: var(--pa-archive-gap)`）の直下に来る。
	 * 外余白へ 66px をそのまま書くと、**行間 22px が足されて見える間隔が 88px になる**。
	 * 移行元の 66px を再現するため、行間ぶんを引く。
	 *
	 * 格子の外で使われたときのために、行間の既定値を 0px にしておく（そのときは 66px が
	 * そのまま効く）.
	 */
	margin: calc(66px - var(--pa-archive-gap, 0px)) auto 0;
}

.pa-experience-message__body {
	/*
	 * 移行元 .msg .contents の flex（縦横とも中央そろえ）を格子で写す。格子にするのは、
	 * **移行元がパソコン幅と携帯幅で組みを変える**ためである。
	 *
	 *   パソコン幅 … 写真 ｜ 見出しと説明文をひとまとめにした塊（縦は中央そろえ）
	 *   携帯幅     … 写真 ｜ 見出し
	 *                説明文（幅いっぱい）
	 *
	 * 🚨 **パソコン幅は「見出しと説明文」を 1 つの項目にする（Codex の P2 指摘・
	 * Bug #2828）。**見出しと説明文を別々の行に置くと、写真（高さ 160px）が 2 行に
	 * またがって行を伸ばし、`align-items: center` が **行ごとに**中身を中央へ寄せる。
	 * その結果、両者の間隔が移行元の 40px より広がる（実測 44.5px）。移行元も
	 * `div.cont` で 2 つを包み、**文字の塊ごと**写真に対して中央そろえしている
	 * （index.php の 213〜216 行）。同じ組みにする。携帯幅では下の `display: contents`
	 * で囲みを外し、説明文を下へ回す。
	 *
	 * 列の幅を max-content にして中央へ寄せるのは、移行元の flex の項目が中身の幅を
	 * 取って中央に並ぶのと同じにするためである。列の間の 46px は移行元 .msg .cont の
	 * margin-left 46px. */
	display: grid;
	grid-template-columns: 132px max-content;
	grid-template-areas: "image text";
	align-items: center;
	justify-content: center;
	column-gap: 46px;
}

/* 移行元 .msg .cont に当たる囲み。パソコン幅では見出しと説明文をひとまとめにして、
   写真に対して中央そろえする器になる. */
.pa-experience-message__text {
	grid-area: text;
}

.pa-experience-message__image {
	grid-area: image;
	/* 移行元 .msg .img の font-size: 0。img の下に出る行の余りを消すためである. */
	margin: 0;
	font-size: 0;
}

.pa-experience-message__title {
	grid-area: title;
	/*
	 * 移行元 .msg__ttl_main は色と字の大きさだけを持ち、太字は共通 CSS の見出しの素
	 * （common.css の `--HEADLINE--` の font-weight: bold）から受け継ぐ。
	 *
	 * 🚨 **テーマが見出しへ足す飾りを素へ戻す。**テーマは h1〜h6 へ
	 * line-height（--pa-line-height-heading）を、`.entry-content` の中の見出しへは
	 * 下線・左の縦棒・字間も足す。移行元はどれも持たない。**font-weight は書かない**
	 * （素が太字なので、書くと逆に差が生まれる。正本は memory の
	 * reference_legacy_heading_bare_state）.
	 */
	margin: 0;
	padding: 0;
	color: #748c50;
	font-size: 18px;
	letter-spacing: normal;
	line-height: normal;
	border: 0;
}

.pa-experience-message__lead {
	grid-area: lead;
	/* 移行元 .msg__txt の margin-top 40px / font-size 14px / line-height 2。
	   テーマは p へ --pa-line-height-text を足すので、行送りを明示して打ち消す. */
	margin: 40px 0 0;
	font-size: 14px;
	line-height: 2;
}

/* 携帯幅は移行元が別のページを返す（/sp/introduce/experience/）。写し元は
   sp/introduce/css/sp_style_experience.css の 164〜199 行で、値は次のとおりである。

     .msg           margin 35px 0 25px
     .msg .contents padding 0 / display block（説明文が幅いっぱいになる）
     .msg .heading  flex（写真と見出しを並べて中央そろえ）
     .msg__ttl_main margin-left 25px / font-size 16px
     .msg__txt      margin-top 25px / font-size 14px / line-height 1.6

   移行元は囲みを 1 つ増やして組みを変えているが、こちらは格子の割り当てだけを変える。
   折り返す幅 749px はテーマの他の区画（.pa-experience-popular ほか）とそろえてある. */
@media (max-width: 749px) {
	.pa-experience-message {
		max-width: none;
		/* パソコン幅と同じ理由で、格子の行間ぶん（携帯幅は 18px）を上下から引く。
		 *
		 * 🚨 **左右は 15px を足す（Task #3766 で 10px から直した）。**移行元の器
		 * （`.msg .contents-wrapper`）は左右 25px の外余白を持ち、画面の左から 25px の
		 * ところから中身が始まる。**この 25px は固定値である**（本番を携帯の名乗りで
		 * 320 / 375 / 414px の 3 つの幅で開き、3 つとも `margin: 0px 25px`・左 25px
		 * だった。2026-09-05 15:52 JST 取得）。
		 *
		 * 一覧の器（`.archive-content.archive-content--experience`）が携帯幅で左右
		 * **10px** の内余白を持つので、残りの 15px をここで足して 25px にそろえる。
		 *
		 * 🚨 **もとの注記は親を「15px」と書いていたが、実際は 10px だった。**そのため
		 * 合計が 20px になり、中身が移行元より 5px 外側から始まって器が 10px 広かった
		 * （移行元 左 25・幅 325 対 移行先 左 20・幅 335。幅 375px の実測）。
		 *
		 * 結果ページの同じ役の区画 `.pa-experience-result-message` は、携帯幅で
		 * `margin: 35px 15px 25px` と最初から 15px を足しており、この直しで両者がそろう.
		 *
		 * 🚨 **写真の 2.4px のずれもこれが原因である。**写真は列といっしょに縮む従属値で、
		 * `(器の幅 − 列の間 25) × 132 ÷ 556` で決まる。器を 325px に戻すと
		 * `(325 − 25) × 132 ÷ 556 = 71.22px` となり、移行元の実測 71.19px と合う. */
		width: auto;
		margin: calc(35px - var(--pa-archive-gap, 0px)) 15px calc(25px - var(--pa-archive-gap, 0px));
	}

	/* 🚨 **写真の幅を固定しない（132px と書かない）。**移行元は `.msg .heading` を
	   折り返さない flex にして、**写真と見出しを取り分に応じて縮める**。幅 375px の
	   本番の実測では写真が 132 → 71.19px、見出しが 228.81px になる。132px で固定すると
	   写真が約 1.85 倍の大きさで出る。
	 *
	 * 同じ縮み方を格子で出すために、2 つの列を伸び縮みする単位（`fr`）で持つ。移行元の
	 * flex は「縮める前の大きさの比」で縮めるので、その比をそのまま列の比にすればよい。
	 *   写真   縮める前 132px（img の `width` 属性）
	 *   見出し 縮める前 424px（16px の太字で 1 行に流したときの幅。本番の実測
	 *          71.19 : 228.81 から逆算した値で、132 : 424 と同じ比になる）
	 * `fr` は「器の幅から列の間隔を引いた残り」を比で分けるので、375px 以外の幅でも
	 * 移行元と同じ比で縮む（移行元の flex も同じ振る舞いである）. */
	.pa-experience-message__body {
		/* 説明文を幅いっぱいに回すため、中央寄せをやめる
		   （移行元も携帯幅では余白が無く、中央寄せは効いていない）. */
		grid-template-columns: 132fr 424fr;
		grid-template-areas:
			"image title"
			"lead  lead";
		justify-content: normal;
		column-gap: 25px;
	}

	/* 移行元の携帯版の共通 CSS（img へ width 100% / height auto）と同じ。列が縮んだ
	   ぶん絵も縮み、縦は絵の実寸の比を保つ. */
	.pa-experience-message__image img {
		width: 100%;
		height: auto;
	}

	/* 携帯幅は移行元が「写真 ｜ 見出し」を並べ、説明文を下へ回す（sp_style_experience.css
	   の 164〜199 行の .msg .heading）。囲み自身の箱を消して、見出しと説明文を格子の
	   直接の項目へ戻す。こうすると 1 つの HTML のまま両方の組みを作れる。
	   🚨 **写真に対して中央そろえされるのは、携帯幅では見出しだけである**（移行元も
	   `.msg .heading` の中に説明文を入れていない）. */
	.pa-experience-message__text {
		display: contents;
	}

	.pa-experience-message__title {
		font-size: 16px;
	}

	.pa-experience-message__lead {
		margin-top: 25px;
		line-height: 1.6;
	}
}

/* --- 体験談一覧の「よく読まれている体験談」の区画（Task #1883） ---

   移行元は体験談一覧の 1 ページ目にだけこの区画を出していた
   （legacy/www.p-a.jp/public/introduce/experience/index.php の 629〜747 行）。
   写し元の CSS は 2 本ある。

     - パソコン幅 … introduce/css/style_introduce_experience.css の
       118〜165 行（飾りの位置）と 1044〜1057 行（区画と見出し）
     - 携帯幅 … sp/introduce/css/sp_style_experience.css の 54〜59 行（見出しの画像）、
       69〜116 行（飾りの位置と大きさ）、740〜755 行（区画と見出し）

   移行元は区画の中身を `.contents-wrapper`（左右 7% の内側余白）で包んでいたが、
   移行先の一覧はすでに囲み側が幅を決めているため、その内側余白は写さない。 */

.pa-experience-popular {
	/* 飾りを内側の座標で置くための基準にする。移行元 .popular-stories も
	   位置指定の基準を兼ねていた. */
	position: relative;
	/* 移行元 .popular-stories の margin-top 80px（携帯幅は 40px）。

	   左右は器を移行元の基準へ広げる（Bug #1939）。移行元の飾りの基準は
	   `.contents-wrapper`（幅 1100px 固定 + padding 左右 7%。content-box なので
	   padding は外へ広がり、外形は 1100px + 画面幅の 14% になる。1440px 幅の
	   実測で 1,301.6px）。移行先の器は 1,120px（--pa-inner-ex）なので、片側
	   (1100px + 14vw − 1120px) ÷ 2 = 7vw − 10px だけ負の margin ではみ出させ、
	   同じ量の padding で中身（見出しとカードの並び）を元の位置へ戻す。飾りの
	   座標（right / left）は padding の外形を基準に効くため、これだけで 7 枚の
	   座標が移行元と一致する。カードの並びの幅 1,120px（#1649 の意図した差）は
	   変わらない。vw はスクロールバーを含むため、常時表示のスクロールバーが
	   ある環境では移行元の %（body 基準）と 1px 強ずれるが、許容する。
	   はみ出しは移行元と同じく画面の端で切れる（下の `.site-main:has()` の
	   overflow-x: clip）。

	   🚨 **上の空きは 80px だが、書く値は「80px − 前の区画の下の外余白 − 格子の
	   行間」である（Bug #4434 → Bug #4452・2026-09-07）。**携帯幅の上書き（下の
	   `@media (max-width: 749px)`）が同じ引き算をしているのと同じ理由である。
	   **dev の空きは 3 つの足し算になる**。①前の「探し方」の下の外余白
	   （`--pa-space-sm` = パソコン幅で 40px）②一覧の格子の行間
	   （`--pa-archive-gap` = パソコン幅で 22px）③ここの上の外余白。移行元は格子では
	   なく外余白の相殺で間隔を作るので、**①と②を引いた残りだけを書く**
	   （80 − 40 − 22 = 18px）。

	   直す前は 80px をそのまま書いていたため、空きが **142px** になっていた
	   （移行元 80.00px 対 dev 142.00px・+62.00px。幅 1440px と 1200px の両方で同じ。
	   本番 www.p-a.jp と dev を 2026-09-07 に机上の名乗りで取得して実測）。

	   トークンで書くのは、幅ごとに値が変わっても引き算が自動で追いつくためである
	   （固定の 18px と書くと、携帯幅で 18 ＋ 20 ＋ 15 = 53px になってしまう）. */
	margin: calc(80px - var(--pa-space-sm) - var(--pa-archive-gap, 0px)) calc(10px - 7vw) 0;
	padding: 0 calc(7vw - 10px);
}

/* 飾りは移行元と同じ座標で置くため、器の外へ左右にはみ出す（5 枚目はパソコン幅で
   `right: -60px`、携帯幅で `right: -27px`）。移行元はこのはみ出しを **画面の端で**
   切っていた。ページ側の囲み（`div.clearfix`）が `overflow-x: hidden` を持ち、その
   囲みが画面の幅いっぱいだからである（移行元の実サイトを 1440px 幅で測って確認した。
   飾りの位置の基準は `.contents-wrapper` で、切っているのはその 1 つ外の
   `div.clearfix`）。移行元は 1440px 幅では 5 枚目が切られずに全部見えており、画面が
   狭くなるほど右端から切り落とされていく。

   移行先もこの「画面の端で切る」を本文の外枠（`.site-main`）で引き継ぐ。`.site-main` は
   幅の指定を持たない素の箱なので、その右端は常に画面の右端と一致する。移行元の
   `div.clearfix` と同じ位置で切れる。

   **区画そのものに `overflow-x: clip` を置くのは誤りである。** 切れ目が器の端
   （1440px 幅なら画面から 160px 内側）へ来てしまい、移行元では全部見えている
   5 枚目の外側 60px が切り落とされる。**body へ置くのも効かない**
   （Chromium で実測: `body { overflow-x: clip }` では横スクロールが止まらない。
   止まるのは絶対配置の基準になっている囲みか、その祖先の要素に置いたときである）。

   この指定が無いと横スクロールが出る。器の幅は画面のおよそ 90%（--pa-inner-ratio）で
   上限が 1,120px なので、750〜1,100px の画面では器の右端から画面の右端までが 60px 未満
   になり、5 枚目が画面の外へ 5〜23px はみ出す（ハーネスで幅を変えて実測した）。

   `:has()` で区画があるページ（体験談一覧の 1 ページ目）だけに絞り、他のページの
   横スクロール（広い表など）を巻き添えにしない。`hidden` ではなく `clip` を使う理由は、
   スクロールの器を作らずヘッダーの貼り付き（`position: sticky`）を保つためである。
   書き方はこのファイルのワード解説の帯（`.site-main:has(... #story .main_box)`）と
   そろえてある. */
.site-main:has(.pa-experience-popular) {
	overflow-x: clip;
}

/* --- 区画の見出し --- */

.pa-experience-popular__heading {
	/* 移行元 .headding の text-align: center と .popular-stories .headding の
	   margin-bottom 30px. */
	position: relative;
	margin: 0 0 30px;
	text-align: center;
}

.pa-experience-popular__title {
	margin: 0;

	/* 🚨 **絵の下の余地を移行元にそろえる（Bug #4452・2026-09-07）。**一覧の題
	   （`.pa-experience-list-heading__title`）とまったく同じ話で、理由と実測は
	   そちらの注記に書いた。移行元 115.00px（絵 109px・絵の下 6.00px）対
	   直す前の dev 116.25px（絵の下 7.25px）だった. */
	font-size: inherit;
	line-height: normal;
}

/* 見出しの画像も飾りと同じく倍の解像度である（実体 642 × 218px で、HTML の
   width / height は 321 × 109）。**ここにも width を書いてはいけない。**
   `width: auto` でも HTML の属性より強く効き、実体の 642px で描かれてしまう。
   狭い画面での縮小だけを `max-width` で足す. */
.pa-experience-popular__title img {
	max-width: 100%;
	height: auto;
}

.pa-experience-popular__sub-title {
	/* 移行元 .headding .sub-ttl は 1.4rem の太字。手書きの題名の画像に重ねるため、
	   パソコン幅では画像の下端から 25px の位置へ絶対配置する
	   （style_introduce_experience.css の 1051〜1057 行）. */
	position: absolute;
	bottom: 25px;
	left: 50%;
	margin: 0;

	/* 🚨 **`1.4rem` をそのまま写してはいけない（Issue #3513 の項目 15）。**移行元は
	   `style_introduce_experience.css` の 14〜15 行で `html { font-size: 62.5% }` を
	   置いているので、そちらの `1.4rem` は **14px** である。このテーマの根は 16px な
	   ので、同じ `1.4rem` が **22.4px** になっていた。

	   2026-09-04 19:33 JST・幅 1440px の実測（移行元 対 dev）:
	   字の大きさ 14px 対 22.4px ／ 幅 153px 対 245px ／ 高さ 21px 対 40px ／
	   行送り 14px 対 23px ／ 文字の並び 152.9px 対 244.6px。
	   **原因は字の大きさ 1 つで、残る 4 つはその結果である。**

	   携帯幅も 14px でよい。移行元の携帯版のページは同じ
	   `introduce/css/style_introduce_experience.css` を読み
	   （`sp/introduce/experience/index.php` の 75 行）、
	   `sp/introduce/css/sp_style_experience.css` の副題の節（745〜755 行）は置き場所
	   だけを変えて字の大きさを書き替えていない. */
	font-size: 14px;
	font-weight: bold;

	/* 🚨 **行送りはブラウザまかせ（`normal`）にする（同 項目 15）。**移行元は
	   `.headding .sub-ttl` にも、その上の器にも、共通 CSS（`public/css/common.css` の
	   `body` と `public/css/style.css`）にも行送りを書いていない。よって移行元の副題は
	   ブラウザの既定の `normal` で描かれ、游ゴシックの 14px では高さ 21px になる
	   （移行元の実測も 21px）。このテーマは素の `p` へ
	   `line-height: var(--pa-line-height-text)`（1.8）を当てているので、字の大きさを
	   14px にしただけでは高さが 25.2px になる。 */
	line-height: normal;
	transform: translateX(-50%);
}

/* --- 区画のカードの並び --- */

.pa-experience-popular__list {
	/* 移行元 .stories-list.flexBox--3col の 3 列。**列の間は移行元と同じ 25px にする**
	   （`introduce/css/style_introduce_experience.css` の 88〜90 行の
	   `margin: 0 25px 25px 0`）。以前はテーマ共通の 22px にそろえていたが、器を移行元と
	   同じ 1100px にすると 22px ではカードが 352px になり、移行元の 350px と合わない
	   （Issue #3086 の L19）。この区画は 3 枚が 1 行に並ぶだけなので行の間隔は使わない.

	   🚨 **下に 25px を残す（Bug #4452・2026-09-07）。**移行元は
	   `.stories-list__item` の外余白（上の `margin: 0 25px 25px 0`）の**下の 25px が、
	   最後の 1 行のぶんも `ul` の中に残る**。パソコン幅の移行元の `ul` は横並び
	   （`flexBox`）で、**横並びの器では子の外余白が相殺されない**ためである。実測では
	   移行元の並びが 486.61px（札 461.61 ＋ 25.00）、dev が 461.61px だった。

	   **携帯幅では残らない。**移行元の携帯幅の `ul` は素の塊で、最後の子の下の外余白は
	   相殺で器の外へ出る（実測は移行元も dev も 1041.19px で一致）。だからこの 25px は
	   パソコン幅の塊にだけ書く（下の `@media (min-width: 750px)`）。

	   内余白で書くのは、下に続く区画との空きが外余白の相殺で変わらないようにする
	   ためである（外余白で書くと、次の区画の上の外余白と相殺して効かない）. */
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	align-items: start;
}

/* パソコン幅だけ、移行元の横並びの器と同じく最後の行の下に 25px を残す（Bug #4452）. */
@media (min-width: 750px) {
	.pa-experience-popular__list {
		padding-bottom: 25px;
	}
}

/* --- 背景の飾り 7 枚 ---

   移行元 .ornament-img は `position: absolute` と `z-index: -1` だけを持ち
   （style_introduce.css の 1242〜1244 行）、置く場所は 1 枚ずつ別に決めている。
   移行元は画面の巻きに合わせて動かしており（js-parallax）、その動きを作る 1 本
   （assets/introduce/js/function.js）を体験談の一覧にも配ったので、飾りにも同じ印を
   付けてある（型紙は template-parts/experience/popular.php）。ここで書くのは
   置き場所だけで、動きの指定は持たない.

   🚨 **移行元の `.js-parallax` が持つ `transition: all 0.2s ease`
   （style_introduce.css の 1251〜1254 行）は当たらない。**この飾りは
   `.pa-introduce-sections` の器の外にあり、写した 1 本
   （assets/experience/css/introduce-sections.css）は器の中だけに効くためである。
   動きそのものは TweenMax が毎フレーム書き換えるので、`transition` の有無で
   視差の見え方は変わらない. */

.pa-experience-popular__ornament {
	position: absolute;
	z-index: -1;
}

/* 飾りの画像は倍の解像度で作られている（例: 1 枚目は実体 284 × 240px で、
   HTML の width / height は 142 × 120）。移行元は画像に CSS の幅を当てず、
   HTML の指定どおり 142px で描いていた（移行元の実サイトで計測。実体 284px・
   描画 142px）。

   **ここに width / height を書いてはいけない。**`width: auto` であっても、
   CSS の指定は HTML の width / height 属性より強いため、画像は実体の 284px で
   描かれてしまう（実際に一度そう書いて、ハーネスで 284px になるのを確認した）.  */
.pa-experience-popular__ornament img {
	display: block;
}

.pa-experience-popular__ornament--1 {
	top: -20px;
	left: 324px;
}

.pa-experience-popular__ornament--2 {
	top: -35px;
	right: 376px;
}

.pa-experience-popular__ornament--3 {
	top: 110px;
	left: 10px;
}

.pa-experience-popular__ornament--4 {
	top: 75px;
	right: 0;
}

.pa-experience-popular__ornament--5 {
	top: 375px;
	right: -60px;
}

.pa-experience-popular__ornament--6 {
	bottom: 0;
	left: 60px;
}

.pa-experience-popular__ornament--7 {
	bottom: -80px;
	right: 100px;
}

@media (max-width: 749px) {
	/* 🚨 **選択子を 2 つ重ねて書く（`.archive-content.archive-content--experience`）。**
	 * このファイルの後ろ（25580 行付近）に、同じ幅の `@media` の中で
	 * `.archive-content { padding: 0 var(--pa-inner-gutter) }`（15px）がある。修飾クラス
	 * 1 つだけで書くと**詳細度が同じで後に書いたほうが勝ち、この指定は効かない**
	 * （セルフレビューで気づいた。「3 つの差が同時に直る」が成立していなかった）。
	 * 位置を入れ替える手もあるが、順番に頼ると同じ事故が再発するので詳細度で勝たせる. */
	.archive-content.archive-content--experience {
		/* 🚨 **カードと カードの縦の間隔は 15px（2026-09-04 に追加）。**移行元は
		 * `.list-of-stories-results .stories-list__item { margin: 0 0 15px 0 }`
		 * （本番から取得した `/sp/introduce/css/sp_style_experience.css` の 992〜993 行）で、
		 * 一覧共通の素の 18px（ワード解説のスマホ版から来ている）とは違う。実測は
		 * 移行元 15px 対 dev 18.00px だった。
		 *
		 * 🚨 **この変数は区画の上下の間隔の計算にも使われている。**体験談の区画は
		 * `margin: calc(<移行元の値> − var(--pa-archive-gap))` の形で書いてあるので、
		 * 変数を 15px にすると計算のほうが自動で 3px 広がり、**区画の間隔は移行元の値の
		 * まま保たれる**（この書き方の目的そのもの）. */
		--pa-archive-gap: 15px;

		/* 🚨 **器の左右の余白は移行元と同じ 10px にする（Issue #3086 の L19 / H-3）。**
		 * 移行元のスマホ版は `.bg-gray .contents-wrapper` に `margin: 0 10px` を置き、
		 * 中身を 355px にしている（`sp/introduce/css/sp_style_experience.css` の
		 * 66〜67 行）。dev の一覧共通の器は左右 15px なので中身が 345px になり、
		 * 移行元より 10px 狭かった（移行元 = 本番 www.p-a.jp を 2026-09-03 18:29 JST に
		 * 携帯の名乗りで取得して実測）。
		 *
		 * **この 1 か所で 3 つの差が同時に直る。**①カードの幅（移行元 355px 対
		 * dev 345px）②背景の飾りの横位置（飾りはこの器を基準に絶対配置されるので、
		 * 器の左端が 15px 対 10px で 5px ずれ、7 枚とも一律 5px 内側にずれていた）
		 * ③「よく読まれている体験談」の中身の幅。
		 *
		 * 共通の器（`.archive-content`）は触らない。他の一覧へ波及するためである. */
		padding-inline: 10px;
	}

	.pa-experience-popular {
		/* 移行元 sp_style_experience.css の 740〜741 行。左右の広げ（Bug #1939）は
		   パソコン幅だけのもの。携帯幅は移行元も器が画面幅いっぱいで、飾りの座標も
		   携帯専用の値に切り替わるため、margin と padding を 0 へ戻す.

		   🚨 **上の空きは 40px だが、書く値は 5px である（Bug #4340・2026-09-07）。**
		   移行元の空きは 40px（探し方の下端 1511.53 → この区画の上端 1551.53。移行元
		   スマホ版を幅 375px・携帯の名乗りで 2026-09-07 18:02:47 JST に取得して実測）。
		   **dev の空きは 3 つの足し算になる**。①前の「探し方」の下の外余白
		   （`--pa-space-sm` = 携帯幅で 20px）②一覧の格子の行間（`--pa-archive-gap` =
		   15px）③ここの上の外余白。移行元は格子ではなく外余白の相殺で間隔を作るので、
		   **①と②を引いた残りだけを書く**（40 − 20 − 15 = 5px）。直す前は 40px を
		   そのまま書いていたため、空きが **75px** になっていた（+35px）。

		   **前の「探し方」の下の外余白は触らない。**絞り込みの結果の画面では、この区画の
		   代わりに件数の帯が続くため、そちらの空きまで動いてしまう。

		   引き算の書き方は、この一覧の格子に載る他の子と同じ決まりである
		   （38583 行あたりの注記・Task #3211）.  */
		margin: calc(40px - var(--pa-space-sm) - var(--pa-archive-gap, 0px)) 0 0;
		padding: 0;
	}

	.pa-experience-popular__heading {
		/* 携帯幅では副題を画像に重ねず、下に置く（同 745〜755 行）. */
		position: static;
	}

	.pa-experience-popular__title img {
		/* 同 57〜59 行の .headding img（width 45%・左右中央）. */
		/* 🚨 **塊にする（Bug #4149）。**理由は一覧の題と同じで、行の中に置くと絵の下に
		   7.25px の空きができる。移行元スマホ版は塊にしており、器の高さが絵の高さ
		   （54.23px）と一致する（空き 0px。本番を携帯の名乗りで 2026-09-07 12:55:19 JST
		   に取得して実測）. */
		display: block;
		width: 45%;
		margin: 0 auto;
	}

	.pa-experience-popular__sub-title {
		position: static;
		bottom: auto;
		left: auto;
		margin-top: -5px;
		transform: none;
	}

	.pa-experience-popular__list {
		/* 移行元の携帯幅は 1 列に積む。一覧のカードと同じ振る舞いである。

		   🚨 **札と札の縦の間隔は 15px（2026-09-04 に追加）。**移行元は
		   `.stories-list__item { margin-bottom: 15px }`（本番から取得した
		   `/sp/introduce/css/sp_style_experience.css` の 616〜622 行）で、**人気の 3 枚も
		   本文の 12 枚も同じ 15px** である。dev はパソコン幅の 25px のままで、
		   実測 25.01px だった. */
		grid-template-columns: 1fr;
		gap: 15px;
	}

	/* 飾りは携帯幅では大きさも位置も変わる（同 69〜116 行）。移行元は幅と高さの
	   両方を `calc(<実寸> / 2)` で書いており、**その計算式のまま両方を写す**。
	 *
	 * 🚨 **「器」と「絵」は別物である（2026-09-03・Issue #3086）。**この飾りは
	 * 背景を持たない透明な器（`div`）の中に絵（`img`）が入る二重の作りで、画面に
	 * 出るのは絵のほうである。移行元の携帯版は `img { width: 100%; height: auto }`
	 * を全体にかけているので、**絵の寸法は「器の幅 × 絵の実寸の比」で決まり、器に
	 * 書いた高さは絵の寸法に効かない**。
	 *
	 * この 2 つを取り違えて、いったん縦の指定を 7 枚すべてから外した。**絵の寸法は
	 * それでも移行元と一致するが、下端を基準に置く飾りでは絵の縦位置がずれる。**
	 * 移行元とこの画面を本番 www.p-a.jp から 2026-09-03 18:29 JST に携帯の名乗りで
	 * 取得し、区画の端からの距離で測ると次のとおりだった（縦の指定を外した状態）。
	 *
	 *   上端を基準に置く 1〜4 枚目  上端からの距離が 4 枚とも完全一致（ずれなし）
	 *   5 枚目（bottom: 245px）     下端からの距離 −244.5 対 −245（0.5px）
	 *   6 枚目（bottom: -40px）     下端からの距離 **+60.13 対 +40（20.13px ずれる）**
	 *   7 枚目（bottom: -40px）     下端からの距離 +39.5 対 +40（0.5px）
	 *
	 * 6 枚目は移行元の器の高さ（97.5px）が絵の高さ（117.63px）より小さく、**絵が器の
	 * 下へ 20.13px はみ出す**のが移行元の姿である。器の高さを書かないと器と絵の高さが
	 * そろってしまい、はみ出しが消えて絵が 20.13px 上がる。だから器には移行元と同じ
	 * 高さを書く。絵の寸法は `img` 側の `width: 100%` / `height: auto` が決めるので、
	 * 器の高さを書いても絵はつぶれない（7 枚とも実測で確かめた）. */

	.pa-experience-popular__ornament img {
		/* 🚨 **縦を器いっぱい（`height: 100%`）にしない。**移行元の携帯版は
		   `sp/css/common.css` の 11〜13 行で `img { width: 100%; height: auto }` を
		   全体にかけている。だから**絵の寸法は「器の幅 × 絵の実寸の比」で決まり、
		   器に書いた高さは絵の寸法に効かない**。ここも同じ組みにする（移行元を
		   本番 www.p-a.jp から 2026-09-03 18:29 JST に携帯の名乗りで取得し、絵の
		   表示寸法が 7 枚とも移行元と一致することを確かめた）.

		   器のほうには移行元と同じ高さを書く（下の 7 つの規則）。**器の高さは
		   絵の寸法には効かないが、下端を基準に置く飾り（5〜7 枚目）では絵の
		   縦位置を動かす**ためである。詳しくは下の説明を参照. */
		width: 100%;
		height: auto;
	}

	.pa-experience-popular__ornament--1 {
		top: -15px;
		left: 50px;
		width: 71px;
		height: 60px;
	}

	.pa-experience-popular__ornament--2 {
		top: -15px;
		right: 62px;
		width: calc(71px / 2);
		height: calc(103px / 2);
	}

	.pa-experience-popular__ornament--3 {
		top: 140px;
		left: -10px;
		width: calc(68px / 2);
		height: calc(77px / 2);
	}

	.pa-experience-popular__ornament--4 {
		top: 75px;
		right: 0;
		width: calc(130px / 2);
		height: calc(140px / 2);
	}

	.pa-experience-popular__ornament--5 {
		top: auto;
		/*
		 * 移行元の携帯版と同じ `-27px`。器の右へ 27px はみ出し、画面の端で切られる
		 * （切るのは上の `.site-main:has(.pa-experience-popular)` の overflow-x: clip）。
		 * 移行元も同じ見え方で、375px 幅では葉の右側が画面の端で切り落とされる.
		 */
		right: -27px;
		bottom: 245px;
		width: calc(200px / 2);
		height: calc(239px / 2);
	}

	.pa-experience-popular__ornament--6 {
		bottom: -40px;
		left: -70px;
		width: calc(222px / 2);
		height: calc(195px / 2);
	}

	.pa-experience-popular__ornament--7 {
		right: 110px;
		bottom: -40px;
		width: calc(91px / 2);
		height: calc(71px / 2);
	}
}

/* --- ページ送り --- */

/* the_posts_pagination() が出す「投稿ナビゲーション」の見出しを隠す。
   読み上げソフトには読ませたいので display: none は使わない。上の
   .pa-visually-hidden と中身は同じだが、クラス名は WordPress 本体が
   決めており変えられないため、別の規則として置いている. */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.archive-content .pagination {
	margin: var(--pa-space-sm) 0 0;
}

.archive-content .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: center;
}

.archive-content .page-numbers {
	display: inline-flex;
	min-width: var(--pa-archive-pager-size);
	height: var(--pa-archive-pager-size);
	padding: 0 12px;
	align-items: center;
	justify-content: center;
	background-color: var(--pa-archive-pager-bg);
	border-radius: calc(var(--pa-archive-pager-size) / 2);
	color: var(--pa-color-text);
	font-size: var(--pa-archive-meta-size);
	line-height: 1;
	text-decoration: none;
}

.archive-content a.page-numbers:hover {
	background-color: var(--pa-color-accent);
	color: var(--pa-color-button-text);
}

.archive-content .page-numbers:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 2px;
}

.archive-content .page-numbers.current {
	background-color: var(--pa-color-accent);
	color: var(--pa-color-button-text);
	font-weight: 700;
}

/* 「…」は押せないので、丸で囲まず地の文として出す. */
.archive-content .page-numbers.dots {
	min-width: auto;
	padding: 0 4px;
	background-color: transparent;
}

/* --- 該当が 0 件のとき --- */

.no-results {
	margin: var(--pa-space-sm) 0;
	padding: var(--pa-space-sm) var(--pa-archive-card-padding, 20px);
	background-color: var(--pa-color-surface-muted);
	text-align: center;
}

.no-results p {
	margin: 0;
	font-size: var(--pa-archive-text-size, 16px);
	line-height: var(--pa-line-height-text);
}

/* --- スマートフォン幅（749px 以下） --- */

@media (max-width: 749px) {
	.archive-content {
		/* 移行元のスマホ版は 1 列で、カードの下余白が 18px である
		   （sp/word/css/style.css の .list_box li）. */
		--pa-archive-gap: 18px;
		--pa-archive-card-padding: 15px;
		--pa-archive-title-size: 18px;
		--pa-archive-text-size: 14px;
		--pa-archive-meta-size: 12px;

		grid-template-columns: 1fr;
		width: auto;
		padding: 0 var(--pa-inner-gutter);
	}

	/* 指で押す前提なので、ページ送りの丸を少し大きくして間隔も広げる. */
	.archive-content .nav-links {
		gap: 8px;
	}

	.archive-content .page-numbers {
		--pa-archive-pager-size: 40px;
	}
}

/* --------------------------------------------------------------
 * 体験談の個別ページ（single-experience.php。Task #1510）
 *
 * 移行元サイトの詳細ページ（public/introduce/experience/detail.php）の見た目を、
 * 描画する区画に絞って写している。写し元の CSS は次の 3 本である。
 *   public/introduce/css/style_experience_details.css（527 行）… 詳細ページの中心
 *   public/introduce/css/style_introduce_experience.css（1,681 行）… 一覧と共通の部品
 *   public/introduce/css/style_introduce.css（2,088 行）… 会員紹介の共通
 *
 * 【写した範囲】プロフィール（.result-area。会員のイラストと成婚お相手のアイコンを
 * 含む）/ 入会前の婚活状況（.profile-before）/ 質問と回答（.question-area の
 * .question-text と .answer と .answer-heading と .icon-link-area）/ 似た条件の
 * 体験談（#recommended_stories の下地とカードの枠）。描画する区画が実際に使う指定
 * だけである。イラストと Q. の印は Issue #1621 で写した。
 *
 * 【写さなかった範囲と理由】
 *   （婚活タイプの名札の地模様と、活動結果の 3 項目のアイコンは **Bug #2827 で
 *     移行元どおりに戻した**。それまでは「名札を塗ると移行元より目立つ」「絵を足すと
 *     3 列の幅が足りなくなる」と書いて写していなかったが、どちらも実測で覆った。
 *     地模様は移行元でも描かれており（`content` の指定が別のファイルにある）、
 *     3 列は 1 列 115.3px のうち 72.7px しか使っていない。詳しくはそれぞれの節を読む）
 *   （「入会前 / 活動中 / 成婚退会後」の 3 区分と飛び先（.anchor-area）は
 *     Bug #2826 で写した。本文に区分は残っていないが、検索用メタから割り当てた設問
 *     番号で段を決められる）
 *   - 移行元 CSS の土台（html > body の書体・html の font-size: 62.5% ・.flexBox 等）
 *     … このテーマが持つトークンとベーススタイルで足りている
 *
 * 【配色は移行元のまま（Bug #2826 で戻した）】移行元の会員の色 #E17777 と、お相手の
 * 色 #208ABB は、白地に対するコントラスト比が 2.95:1 と 3.88:1 で、WCAG の AA 基準
 * （4.5:1）に届かない。かつては明度を下げた値（#d54040 / #1d7da9）へ置き換えていたが、
 * **移行元の色へ戻した。**移行の合否基準は「移行元の同じページより悪化させない」
 * 相対基準で、移行元由来のコントラスト不足は Epic #663 へ引き渡す方針である
 * （docs/pa-cms/adr/2026-08-05-compat-a11y-criteria.md）。配色が移行元と違う箇所を
 * Bug #1478 で移行元へ寄せた先例もある。
 *
 * 指定はすべて .pa-experience（single-experience.php だけが出すクラス）配下に
 * 閉じている。ほかのページの見た目には届かない。
 * -------------------------------------------------------------- */

/* 記事本文の指定が使う値（--pa-article-*）のうち、体験談の区画で使う 3 つを、同じ値で
   宣言し直す。宣言元は本文の囲み（main.css の .single-content, .page-content,
   .entry-content, .page-content__body）だが、パンくず・区画の題名・プロフィールは
   いずれもその外側に置いている。そのため PC 幅（750px 以上）では var() が解決できず、
   指定ごと無効になっていた（スマートフォン幅だけは .single-content 側の宣言が届いて
   偶然効いていた）。

   宣言元のセレクタへ体験談用のクラスを足す直し方は採らない。ほかのページの本文にも
   波及するためである。値は宣言元と同じ 3 つ（#767676 / 16px / 22px）を写す。

   「似た条件の体験談」（.pa-experience-related）は **Bug #2826 で article.pa-experience の
   中へ移した**ので、いまは変数を受け継げる。ただし宣言はそのまま残す。片方だけに
   閉じると、将来また外へ出したときに静かに効かなくなるためである.
   スマートフォン幅での上書きは、このファイル末尾寄りの体験談のメディアクエリで行う. */
.pa-experience,
.pa-experience-related {
	/* パンくずの補足の文字色。宣言元の --pa-article-muted-color と同じ値. */
	--pa-experience-muted-color: #767676;
	/* 🚨 **プロフィールの文字は移行元の 13px にする（2026-09-03 のユーザー裁定・
	   Issue #3086 の D14）。**以前は記事本文の共通トークン（`--pa-article-font-size`）と
	   同じ 16px にしていたが、移行元は 13px である（本番 www.p-a.jp の詳細ページを
	   2026-09-03 18:33 JST に取得して実測。携帯の名乗りで測った 18:35 JST の値も 13px）。
	   「読みやすさのため意図的に大きくした」という記録はテーマにも意図的変更の台帳にも
	   無いので、大原則どおり移行元へ合わせる。

	   **このトークンが効くのは `.pa-experience__profile-body`（プロフィールの区画）の
	   1 か所だけ**で、詳細ページ全体の字は変わらない（質問と答え・回答本文は別の指定）. */
	--pa-experience-text-size: 13px;
	/* 区画の題名。宣言元の --pa-article-h3-size と同じ値. */
	--pa-experience-heading-size: 22px;
}

.pa-experience {
	/* 会員の側の色。移行元 .result-area h2 の #E17777 をそのまま使う。
	   🚨 **Bug #2826 で移行元の値へ戻した。**それまでは白地に対するコントラスト比を
	   4.5:1 以上にするため #d54040（4.53:1）へ暗くしていた。移行の合否基準
	   （docs/pa-cms/adr/2026-08-05-compat-a11y-criteria.md）は「移行元の同じページより
	   悪化させない」**相対基準**で、**移行元由来のコントラスト不足は Epic #663 へ
	   引き渡す**と決めている。配色が移行元と違う 23 種を Bug #1478 で移行元へ寄せた
	   先例もあり、暗くしたままにするほうが基準から外れる. */
	--pa-experience-accent: #e17777;
	/* 成婚お相手の側の色。移行元 .result-area .target の #208ABB をそのまま使う
	   （上と同じ理由で Bug #2826 で戻した。それまでは #1d7da9・4.61:1）. */
	--pa-experience-partner-accent: #208abb;
	/* 移行元が見出しと数値に使う濃い茶。移行元 #463D3C（白地に対して 10.54:1）. */
	--pa-experience-ink: #463d3c;
	/* 名札の下地と、質問と回答の区画の下地。移行元 .profile-info__tag li と
	   .bg-gray .l-contents の #F7F7F7. */
	--pa-experience-tint: #f7f7f7;
	/* 回答の囲みの枠線。移行元 .question-area .answer の #BBB1B0. */
	--pa-experience-answer-border: #bbb1b0;
	/* リード文に敷く蛍光ペン。移行元 .result-area h2 strong の #FFF2CF. */
	--pa-experience-marker: #fff2cf;
	/* リード文の文字。移行元 .result-area h2 の 24px. */
	--pa-experience-lead-size: 24px;
}

/* 会員が男性のページは、会員の側とお相手の側の色を入れ替える。移行元も
   .result-area.gender-m で同じ入れ替えをしていた（style_experience_details.css の
   116〜124 行）。値は上と同じく移行元のもの（Bug #2826）. */
.pa-experience--man {
	--pa-experience-accent: #208abb;
	--pa-experience-partner-accent: #e17777;
}

/* --- 現在の位置（移行元 detail.php の .path） --- */

.pa-experience__path {
	padding-top: 15px;
	font-size: var(--pa-font-size-base);
}

.pa-experience__path-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience__path-item {
	margin: 0;
	color: var(--pa-experience-muted-color);
}

/* 2 つめ以降の項目の前に区切りを置く。移行元も「&gt;」で区切っていた. */
.pa-experience__path-item + .pa-experience__path-item::before {
	margin-right: 8px;
	content: ">";
}

.pa-experience__path-item a {
	color: var(--pa-color-link);
}

/* --- リード文（移行元 detail.php の .result-area h2） --- */

/* 🚨 **置き場所と組みを移行元に合わせた（Bug #2826）。**
 *
 * 移行元はリード文をプロフィールの囲みの中（`div.profile-info`）に置き、左へ回り込ませた
 * イラストの右・文字の塊の上に出している。それまではプロフィールの区画より上に、器の
 * 中央へ置いていた。
 *
 * 移行元の実測（幅 1440px・`.result-area .profile-info h2`）: 左端 386.8px・幅 820px・
 * 高さ 72px（2 行）・字 24px・太字・色 #E17777・下の外余白 20px・**左の外余白 156.8px**。
 * 左の外余白は移行元では `16%`（器 980px の 16% = 156.8px）で、これは**イラストの幅
 * 126px と右の余白 30px を足した値**である。dev の器は 980px ではないので、割合ではなく
 * その意味どおりの絶対値（126 + 30 = 156px）で書く。幅は残りいっぱい（移行元の 820px は
 * 器 980px から左の外余白を引いた残り）.
 *
 * 行の高さは 1.5（移行元は 2 行で 72px = 24px × 1.5）. */
/* 🚨 **下の外余白は 23px（Bug #4595）。**移行元は見出しの下に 20px を置き、その下の
   文字の列（`div.txt-area`）にさらに `margin-top: 3px` を持つ
   （写し `introduce/css/style_experience_details.css` の 135〜136 行）。**合わせて
   23px の空き**になる。

   🚨 **dev では 2 つに分けて持てない。**文字の列（`.pa-experience__namecol`）は
   `display: contents` で箱として存在せず、その中の `.pa-experience__headline` に
   `margin-top: 3px` を当てても**この 20px と相殺して 20px のまま**になる
   （隣り合う兄弟の外余白は大きいほうだけが残る。`30px` にすると 30px になることを
   実測して確かめた）。**だから 23px の 1 つにまとめる。**

   実測（幅 1440px・記事 No.1116）: 文字の列が始まる位置が **移行元 131.00 対
   直す前の dev 128.00** で 3.00px 上にずれていた. */
.pa-experience__lead {
	margin: 0 0 23px;
	color: var(--pa-experience-accent);
	font-size: var(--pa-experience-lead-size);
	font-weight: bold;
	line-height: 1.5;
}

/* 🚨 **左の外余白は、イラストを出したときだけ当てる（Codex の P2 指摘・Bug #2826）。**
   この余白はイラストの幅 126px と右の余白 30px を足した値で、**イラストの回り込みを
   避けるためのもの**である。婚活タイプか性別を編集画面で外した投稿ではイラストが
   出ないため（`pa_experience_member_illustration()` が空の配列を返す）、固定で当てると
   絵の無い場所に 156px の空白が残り、リード文が細い列へ押し込まれる。型紙はイラストを
   出したときだけ `pa-experience__member--has-illust` を付けるので、それを目印にする. */
.pa-experience__member--has-illust .pa-experience__lead {
	margin-left: 156px;
}

.pa-experience__lead p {
	margin: 0 0 12px;
	line-height: inherit;
}

.pa-experience__lead p:last-child {
	margin-bottom: 0;
}

/* 移行元は強調した部分に蛍光ペンを引いていた（下半分だけを塗る）。移行元の
   書き方（transparent 50%, #FFF2CF 0%）は 2 つめの停止位置を 1 つめより手前に
   置くもので、実際には 50% で切り替わる。同じ見た目になる素直な形で書く. */
.pa-experience__lead :is(strong, span) {
	background: linear-gradient(transparent 50%, var(--pa-experience-marker) 50%);
	font-weight: inherit;
}

/* --- 区画の題名 --- */

/* 移行元は区画の題名を画像で置いていた（recommended_stories.png 等）。ここは文字で
   出し、本文の見出しと同じ書体・色に揃える. */
.pa-experience__section-title {
	max-width: var(--pa-inner-sm);
	margin: var(--pa-space-md) auto 20px;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-experience-heading-size);
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: var(--pa-line-height-heading);
}

/* --------------------------------------------------------------
 * プロフィール（移行元 detail.php の .result-area）
 *
 * 移行元は会員の情報を左、成婚お相手の囲みを右下に絶対配置で置いていた
 * （style_experience_details.css の 284〜291 行）。絶対配置は狭い画面で重なるため、
 * 同じ見え方になる 2 列の格子で組む。会員の情報と活動結果を左の列に積み、お相手の
 * 囲みを右の列の下端へ寄せる。
 *
 * 🚨 **この「格子で組む」は携帯幅（749px 以下）だけの話になった（Bug #3842）。**
 * パソコン幅では移行元と同じ絶対配置へ戻した。格子のままだと会員の面が右の列のぶんだけ
 * 狭まり、キャッチコピーが移行元の 820px まで伸びないためである。重なりの心配は狭い
 * 画面の話なので、携帯幅の格子はそのまま残してある。下の
 * 「体験談の詳細を、パソコン幅で移行元の柱と組みへそろえる（Bug #3842）」の塊を読む。
 * -------------------------------------------------------------- */

.pa-experience__profile-body {
	display: grid;
	/* 🚨 **右の列は中身に合わせて縮ませる（2026-09-03 のユーザー裁定・Issue #3086）。**
	   移行元のお相手の囲みは `display: inline-block` で幅の指定を持たず、中身に合わせて
	   縮む（`introduce/css/style_experience_details.css` の 284〜291 行）。同じ記事
	   （移行元 `detail.php?id=486` と dev `/introduce/experience/486/`）を並べて測ると、
	   移行元 235.17px（左端 974.83）対 dev 260px（左端 960）で 24.83px 広かった。

	   以前は「移行元の囲みが 1 行に収まる幅」として 260px で固定していたが、固定幅にした
	   記録が意図的変更の台帳に無いため、大原則どおり移行元の振る舞いへ戻す。`max-content`
	   は「中身の最も長い行の幅」なので、`inline-block` の縮み方と同じになる。
	   **記事ごとに右の列の幅が変わるのは移行元と同じ振る舞いである。** */
	grid-template-columns: minmax(0, 1fr) max-content;
	gap: 30px;
	max-width: var(--pa-inner-sm);
	margin: 0 auto;
	color: var(--pa-experience-ink);
	font-size: var(--pa-experience-text-size);
}

.pa-experience__member,
.pa-experience__beaf {
	grid-column: 1;
}

/* 移行元は会員のイラストを左へ回り込ませ、右に文字を置いていた（.profile-cont の
   .img-area は float: left・幅 126px・右の余白 30px）。同じ書き方を写す。回り込みを
   下の区画へ持ち越さないよう、移行元と同じく囲みの末尾で解除する
   （移行元 .result-area .profile-info:after）.

   🚨 **絵の下に外余白を置かない（Bug #4513）。**移行元はパソコン版・スマホ版の
   どちらも `float` と `margin-right` と `width` だけを書き、**下の外余白を持たない**
   （パソコン版は `introduce/css/style_experience_details.css` の 131〜134 行、
   スマホ版は `sp/introduce/css/sp_style_experience_details.css` の 63〜66 行）。
   絵は回り込むので、下の 20px はそのまま名札の塊の高さに乗っていた（実測 幅 1440px で
   移行元 177.00 対 dev 197.00 = **+20.00**）。段の題「入会前」の位置の +42.15px の
   うち、最も大きい 1 件がこれだった。**携帯幅は縦積み（`float: none`）なので、
   この 20px は隣の列の高さに吸われて効いていない**（実測 幅 375px と 320px で
   名札の塊の高さが 1px も動かないことを確かめた）. */
.pa-experience__illust {
	float: left;
	margin: 0 30px 0 0;
	width: 126px;
}

.pa-experience__illust img {
	display: block;
	width: 100%;
	height: auto;
}

.pa-experience__member::after {
	display: block;
	clear: both;
	content: "";
}

/* お相手の囲みは右の列で 2 段ぶんを取り、中身を下端へ寄せる（移行元の bottom: 10px に
   当たる見え方）。段数は `span 2` で数える。`1 / -1` は段を明示していない格子では
   最後の段まで伸びず、1 段目だけを取ってしまうためである. */
.pa-experience__partner {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: end;
}

/* ==============================================================
 * 体験談の詳細を、パソコン幅で移行元の柱と組みへそろえる（Bug #3842）
 *
 * 移行元（本番 www.p-a.jp の `detail.php?id=488` を 2026-09-05 19:36 JST に
 * 幅 1440px で実測）:
 *
 * | 見るもの             | 移行元            | 直す前の dev      |
 * |----------------------|-------------------|-------------------|
 * | 柱                   | 980px（左 230）   | 1000px（左 220）  |
 * | 題名と投稿日の帯     | 980px（左 230）   | 800px（左 320）   |
 * | キャッチコピーの箱   | 820px             | 655px             |
 * | お相手の囲み         | 235.17px（左 974.83） | 159px（左 1061） |
 *
 * 🚨 **お相手の囲みは、移行元と同じ絶対配置に戻す（パソコン幅だけ）。**移行元は
 * 会員の面を柱の幅いっぱい（980px）に取り、お相手の囲みを柱の右下へ重ねている
 * （`.result-area .contents-wrapper` が `position: relative`、`.target` が
 * `position: absolute; right: 0; bottom: 10px`）。だからキャッチコピーが
 * お相手の囲みに邪魔されず 820px まで伸びる。
 *
 * dev は 2 列の格子で組んでいたため、会員の面が右の列のぶんだけ狭まり
 * （980 → 811px）、キャッチコピーが 655px に縮んでいた。**格子のままでは
 * 「キャッチコピー 820px」と「お相手の囲みが柱の右端」を同時に満たせない。**
 *
 * 🚨 **携帯幅の格子はそのまま残す。**格子を選んだのは「絶対配置は狭い画面で
 * 重なるため」であり、その心配はパソコン幅には無い。この塊は
 * `@media (min-width: 750px)` の中だけに置き、携帯幅の縦積み
 * （下の `@media (max-width: 749px)` の塊）を 1px も変えていない。
 *
 * 🚨 **2026-09-03 のユーザー裁定（Issue #3086）は守っている。**裁定は「お相手の
 * 囲みを中身に合わせて縮ませる」であり、絶対配置の `width: max-content` は
 * 移行元の `inline-block` と同じ縮み方をする。
 * -------------------------------------------------------------- */

@media (min-width: 750px) {

	/* 題名と投稿日の帯も柱と同じ 980px にそろえる。共通の器は 800px
	   （`--pa-inner-xs`）で、移行元より 180px 狭かった。

	   🚨 **当て先の強さを (0,3,0) にそろえること。**打ち消す相手
	   （`.single-content:not(.single-content--branch) .entry-header`）が 3 つの
	   目印を持つので、`.single-content--experience` だけ（0,2,0）では負ける. */
	.single-content.single-content--experience .entry-header {
		max-width: 980px;

		/* 🚨 **投稿日の帯の上下を移行元の 30px にそろえる（Bug #6176）。**
		 *
		 * 素の規則（`.single-content:not(.single-content--branch) .entry-header`）は
		 * 上の内余白と下の外余白の両方に共通のトークン `--pa-space-sm`（40px）を使う。
		 * 移行元は `.result-area { margin: 30px 0 60px }`（写し
		 * `introduce/css/style_experience_details.css` の 94〜95 行）で 30px である。
		 *
		 * 実測（幅 1440px・記事 No.1113）: 画面内の案内の下端から投稿日の上端まで
		 * **移行元 30.00 対 dev 40.00**、投稿日の下端から書き出しの上端まで
		 * **移行元 30.00 対 dev 40.00**。この 20px と行の高さの 1.59px を合わせた
		 * **21.59px** が、書き出しから下のすべてを押し下げていた。
		 *
		 * 🚨 **トークンそのものは動かさない。**`--pa-space-sm` は 62 か所で使われて
		 * いるので、体験談の詳細だけに絞って上書きする。**携帯幅にも触らない**
		 * （749px 以下ではトークンが 20px になり、移行元スマホ版との比較はまだ
		 * 測っていない）. */
		margin-bottom: 30px;
		padding-top: 30px;
	}

	/* 移行元は投稿日の行を柱の先頭に置く（上に何も無い）。題名を画面から外すと
	   `.entry-meta` の上の外余白 12px だけが残り、移行元より 12px 下がる. */
	.single-content.single-content--experience .entry-header .entry-meta {
		margin-top: 0;

		/* 🚨 **投稿日の字と色も移行元にそろえる（Bug #6176）。**
		 *
		 * 素の規則は `--pa-font-size-base`（12px）と `--pa-article-muted-color`
		 * （`#767676`）を当てる。移行元は
		 * `.result-area .post-date { color: #463d3c }`（同 98〜100 行）で、
		 * 字の大きさは 13px である（実測）。
		 *
		 * 行送りは移行元が指定なし（`normal`）で、行の高さが
		 * **移行元 20.00 対 dev 21.59** だった。`normal` に戻して同じ組みにする. */
		color: #463d3c;
		font-size: 13px;
		line-height: normal;
	}

	/* キャッチコピーは移行元の値をそのまま写す。移行元は
	   `.result-area h2 { width: 820px; margin-left: 16%; }`（16% は柱 980px の
	   156.8px）で、右端が柱の右端より 3.2px 内側に来る。dev は左の外余白を
	   156px の固定で持ち、幅を成り行きにしていたため 824px になっていた。

	   🚨 **左の外余白は `max(156px, 16%)` で書く。**移行元の柱は 980px の固定だが、
	   このテーマの柱は画面幅が 750〜1199px のとき 980px より狭くなる。そこで 16% を
	   そのまま当てると、幅 750px の画面では 115.2px まで縮み、**イラスト（幅 126px と
	   右の余白 30px ＝ 156px）の下へ字が潜り込む**。素の規則が持つ 156px を下限に
	   すると、1440px では移行元と同じ 156.8px になり、狭い画面でも潜り込まない。

	   幅も同じ理由で `max-width` にする。柱が狭いときははみ出さず、1440px では
	   移行元と同じ 820px に収まる. */
	.pa-experience__member--has-illust .pa-experience__lead {
		margin-left: max(156px, 16%);
		max-width: 820px;
	}

	/* 🚨 **絵が在る記事は、文字の列を箱に戻す（Bug #6167）。**
	 *
	 * 移行元は名札の並び（`ul.profile-info__tag`）を**文字の列（`div.txt-area`）の
	 * 中**に置く。列そのものが絵の右から始まるので、**中の名札も必ず絵の右から
	 * 始まる**。
	 *
	 * 素の `.pa-experience__namecol` は `display: contents` で箱を消すため、名札の
	 * 並びは絵と兄弟になり、**絵の回り込みを自分で避ける**。名乗りの行はまだ絵の
	 * 高さの中に在るので絵の右へ逃げるが、**名札の行は絵の下端より下に来ると左端へ
	 * 戻ってしまう**（実測 幅 1440px・記事 No.1113 で 移行元 386.00 対 dev 230.00
	 * ＝ **−156.00px**。156px は絵の幅 126 ＋ 右の間隔 30 と一致する）。
	 *
	 * `flow-root` は箱を作り、かつ中の回り込みを閉じ込める。箱は回り込みを避けて
	 * 絵の右へ置かれるので、**中の名乗りの行も名札の行も、絵の下端をまたいでも同じ
	 * 左端から始まる**。
	 *
	 * 🚨 **外余白の相殺は変わらない。**この箱の上下の外余白は 0 で、見出しの下の
	 * 23px（Bug #4595）はこの箱の外に在るためである。
	 *
	 * 🚨 **絵が無い記事には当てない。**目印（`--has-illust`）は絵が在るときだけ付く
	 * （`single-experience.php` の 294 行）。絵が無ければ回り込みも無い。
	 * **携帯幅の縦積みは `@media (max-width: 749px)` の側が持つので 1px も動かない**. */
	.pa-experience__member--has-illust .pa-experience__namecol {
		display: flow-root;
	}

	/* 柱は移行元と同じ 980px。格子をやめて素の積み上げに戻し、お相手の囲みの
	   置きどころ（`position: absolute` の基準）になる. */
	.pa-experience__profile-body {
		display: block;
		position: relative;
		max-width: 980px;
	}

	/* 移行元の `.target` と同じ置き方。`bottom: 10px` は移行元の値そのもので、
	   実測でも柱の下端 705.19px に対して囲みの下端が 695.19px だった. */
	.pa-experience__partner {
		position: absolute;
		right: 0;
		bottom: 10px;
		width: max-content;
		max-width: 100%;
	}

	/* 🚨 **項目名と値を移行元と同じ 1 行に組む。**移行元は
	   `<p><span>年齢（成婚退会時）:</span>30代前半</p>` の形で、項目名と値が
	   同じ行に並ぶ。dev は説明リスト（`dl`）で項目名と値を上下に分けていたため、
	   囲みの中身の幅が「長いほうの 1 語」（117px）で決まり、移行元の
	   193.17px より 76px 狭くなっていた。

	   **説明リストの形は変えない**（読み上げソフトが項目名と値の組を読めなくなる
	   ため）。並べ方だけを 2 列の格子にして、移行元と同じ 1 行の見え方にする。
	   列の間の 10px は移行元の `.result-area .target p span { margin-right: 10px }`
	   である。移行元の中身の幅はこの 3 つの足し算で決まる:
	   `項目名 120.97 + 間 10 + 値 62.20 = 193.17px`（本番を 2026-09-05 19:45 JST に
	   幅 1440px で実測。字の並びの幅を範囲で測った値）。

	   🚨 **2 列の格子（grid）ではいけない（Bug #4185・2026-09-07）。**格子は
	   **列の幅を全行で共有する**。2 列目が「北海道・東北」の 90px に広がるため、
	   1 行目の値（62.20px）も 90px の枠に入り、中身が **220.69px 対 193.17px** と
	   27.52px 広くなっていた（囲みは 262.69 対 235.17px。移行元を本番から
	   2026-09-07 06:40:23 JST に取得して実測）。移行元は 1 行が 1 つの段落なので、
	   **各行が自分の中身の幅で縮む**（1 行目 193.17・2 行目 168.97 で、広い方が
	   囲みの幅を決める）。型紙で組を `div` で包み、**行ごとに横並びにする**. */
	/* 🚨 **`margin-top: 0` を外した（Bug #4594）。**この塊は素の規則より**前**にあるため、
	   同じ詳細度 `(0,1,0)` では**後ろの素の規則が勝つ**。`getComputedStyle` で
	   `margin-top: 15px` を実測して、効いていないことを確かめた。**素の規則の側を
	   `margin: 0` にして直した**（取り決め 47）. */
	.pa-experience__partner-list {
		display: block;
	}

	.pa-experience__partner-row {
		display: flex;
		column-gap: 10px;
	}

	/* 🚨 **高さの差の内訳（Bug #4185 が調べ、Bug #4594 が直しきった）。**移行元の囲みは
	   184px。Bug #4185 の時点で 202.59px、その後も **205.59px** が残っていた。内訳は
	   次の 4 つである。
	   ①題の行送り … 移行元は指定なし（`normal` で 24px）。dev は 1.6 で 25.59px。
	   ②絵と 1 行目のあいだ … 移行元は絵の下の外余白 5px だけ。dev は項目の器の
	     上の外余白 15px が絵の 5px と相殺して 15px になっていた。
	   ③行のあいだ … 移行元は 0px。dev は値の下の外余白 10px が入っていた。
	   ④行の高さ … 移行元は 23px（15px の `normal`）。dev は 22.5px（15px × 1.5）。

	   🚨 **①②③はこの塊に書いても効かなかった（Bug #4594 で実測して判明）。**
	   この `@media (min-width: 750px)` の塊は**素の規則より前**にあり、詳細度が同じ
	   `(0,1,0)` なので**後ろの素の規則が勝つ**。`getComputedStyle` で読むと
	   `line-height: 25.6px`・`margin-top: 15px`・`margin-bottom: 10px` のままだった。
	   **①②③は素の規則の側で直した**（それぞれ `.pa-experience__partner-title`・
	   `.pa-experience__partner-list`・`.pa-experience__partner-description`）。
	   **ここから①と③の `margin-bottom` を外した。**④の `line-height: normal`（行と
	   説明）は**素の規則に同じ指定が無いので効いている**ため残す（取り決め 47）. */
	.pa-experience__partner-row,
	.pa-experience__partner-description {
		line-height: normal;
	}

	/* 移行元は項目名の文字列そのものに半角のコロンを持つ（`年齢（成婚退会時）:`）。
	   投入した文言には無いので、ここで足す。読み上げには乗らない飾りなので
	   擬似要素で書く. */
	.pa-experience__partner-term::after {
		content: ":";
	}
}

/* --- 婚活タイプの名札 --- */

/* 移行元は塗りも枠も持たない素の太字で出している（.txt-area .type は color: #463D3C の
   太字だけで、background-image の指定が無い）。
   🚨 **ここに「擬似要素に content の指定が無いのでそもそも描かれない」と書いていたのは
   誤りだった（Bug #2827 で移行元どおりに戻した）。**移行元は詳細ページで CSS を 3 本
   読み、`.type:before` の指定が **2 本にまたがって**いる。
     `style_introduce_experience.css` の 857〜865 行 … `content: ''`・`position: absolute`・
       `width: 134px`・`height: 50px`・`z-index: -1`（さらに 866〜877 行が 6 タイプの絵）
     `style_experience_details.css` の 148〜153 行 … `top: -2px`・`left: -15px`（`content` は無い）
   **片方だけを読むと「content が無い」ように見える。**実測すると擬似要素は描かれており
   （`content: ""`・絵 `type_koso_bg01.png`・134 × 50px・位置 -2px / -15px）、札は
   **89.4 × 50px**（行送り 50px）になる。dev は地模様が無いぶん 95 × 26px しかなかった。
   移行元の指定は style_experience_details.css の 139〜153 行と
   style_introduce_experience.css の 850〜877 行. */
.pa-experience__type {
	margin: 0;
	/* 移行元は名前の左に 47px の余白を取る（.profile-info__name の margin-left: 47px）。
	   これは名札と名前の間の間隔なので、下の列の間隔 15px と足して 47px になる値を置く. */
	margin-right: 32px;
	position: relative;
	z-index: 1;
	color: var(--pa-experience-ink);
	font-size: 15px;
	font-weight: bold;
	/* 移行元は地模様の高さ（50px）へ行送りを合わせ、文字を絵の中央に置く. */
	line-height: 50px;
	text-align: center;
}

/* 分類の札の地模様（移行元 .txt-area .type:before）。
 *
 * 6 タイプぶんの絵をテーマ資産として取り込んだ（Bug #2827。投入は本文の `<img>` が指す
 * 画像だけを取り込み、CSS が背景に使う画像を 1 点も取り込まない）。
 *
 * 当たり先の修飾クラス（`pa-experience__type--koso` など）は型紙が出す。dev の札は
 * それまで修飾クラスを持っておらず、絵を敷く先が無かった. */
.pa-experience__type::before {
	position: absolute;
	top: -2px;
	left: -15px;
	width: 134px;
	height: 50px;
	background-repeat: no-repeat;
	content: "";
	z-index: -1;
}

.pa-experience__type--koso::before {
	background-image: url("../introduce/images/experience/type_koso_bg01.png?ver=6365e0364646");
}

.pa-experience__type--tanki::before {
	background-image: url("../introduce/images/experience/type_tanki_bg01.png?ver=a31a9529d5a5");
}

.pa-experience__type--app::before {
	background-image: url("../introduce/images/experience/type_app_bg01.png?ver=6d881b52e830");
}

.pa-experience__type--inexperienced::before {
	background-image: url("../introduce/images/experience/type_inexperienced_bg01.png?ver=2ff4e058c907");
}

.pa-experience__type--oyakoko::before {
	background-image: url("../introduce/images/experience/type_oyakoko_bg01.png?ver=b679f1e2c87b");
}

.pa-experience__type--honki::before {
	background-image: url("../introduce/images/experience/type_honki_bg01.png?ver=6d22fa90d8fa");
}

/* --- 名札・名前・入会時の年齢・属性を並べる 1 行 --- */

/* 移行元は名札・名前・入会時の年齢・在住エリア・学歴・職業を、すべて同じ 1 行に並べる
   （.profile-info__name と .profile-info__age と .profile-info__other が横に連なる）。
   同じ並びにする。狭い画面では折り返す（移行元は固定幅で、狭い画面では横に溢れる）.
   移行元の指定は style_experience_details.css の 157〜178 行. */
.pa-experience__headline {
	display: flex;
	flex-wrap: wrap;
	/* 文字の大きさが 3 種類（20px / 18px / 基準）混ざるので、下端ではなく文字の基準線で
	   揃える. */
	align-items: baseline;
	/* 移行元 .profile-info__other li の margin-right: 15px. */
	gap: 4px 15px;
	/* 🚨 **上 3px・下 5px は移行元の 2 つの値を写したもの（Bug #4595）。**
	 *
	 * 移行元は文字の列（`div.txt-area`）に `margin-top: 3px` を持ち、その中の札の器
	 * （`ul.profile-info__tag`）に `margin-top: 5px` を持つ
	 * （写し `introduce/css/style_experience_details.css` の 135〜136 行と 184〜185 行）。
	 *
	 * 🚨 **dev の文字の列（`.pa-experience__namecol`）は `display: contents` なので、
	 * そこへ余白を当てても効かない**（箱として存在せず、実測でも 上 0・高 0・幅 0 だった）。
	 * だから**移行元の 2 つの値を、実際に箱を持つこの要素の上下へ寄せた**。
	 *
	 *   上 3px … 移行元の文字の列の `margin-top`
	 *   下 5px … 移行元の札の器の `margin-top`（dev では札の器に上余白を持たせず、
	 *            ここの下余白で同じ空きを作る）
	 *
	 * 直す前は `margin: 0 0 8px` で、札の相対の上が **移行元 55.00 対 dev 58.00** と
	 * 3.00px 広かった（実測 幅 1440px・記事 No.1116）。
	 *
	 * 🚨 **上の 3px はここに置けない（実測で分かった）。**この要素の上の外余白は、
	 * **隣の見出し（`.pa-experience__lead`）の下の外余白 20px と相殺する**
	 * （隣り合う兄弟の外余白は大きいほうだけが残る。親の
	 * `.pa-experience__namecol` が `display: contents` なので、この要素は見出しの
	 * すぐ隣の兄弟として並ぶ）。`margin-top: 3px` を当てても空きは 20px のままで、
	 * `30px` にすると 30px になることを実測して確かめた。
	 * **だから移行元の 3px は、見出しの下の外余白へ足して 23px として持つ**
	 * （下の `.pa-experience__lead` の注釈を見ること）。
	 *
	 * **携帯幅は下の `@media (max-width: 749px)` が上下とも上書きするので動かない**. */
	margin: 0 0 5px;
}

.pa-experience__identity {
	margin: 0;
	font-weight: bold;
	line-height: 1.6;
}

/* 名前と年齢は「K.H.さん」「48歳（入会時）」の 2 組で読ませる。組の中で離れないよう、
   間隔は組と組の間だけに入れる（格子で並べると語の間にも隙間が入ってしまう）. */
.pa-experience__identity-group + .pa-experience__identity-group {
	margin-left: 1em;
}

/* 移行元は名前を 20px、年齢を 18px で出していた（.profile-info__name span と
   .profile-info__age span）. */
.pa-experience__name {
	margin-right: 2px;
	font-size: 20px;
}

.pa-experience__age {
	margin-right: 2px;
	font-size: 18px;
}

/* 名札・名前・年齢・出身と属性の札を 1 つの列にまとめる器（Bug #4421）。
 *
 * 🚨 **パソコン幅では場所を取らせない。**`display: contents` は器の箱を消して、
 * 中の 2 つを親の直接の子として並べる。**そのためパソコン幅の並びは 1px も
 * 変わらない**（この器を足す前と同じ）。携帯幅だけ 60% 幅の列にする
 * （`@media (max-width: 749px)` の中）。
 *
 * 移行元は文字の列（`div.txt-area`）の中に札まで入れており、絵はその横へ回り込む。
 * dev は札を列の兄弟に置いていたため、携帯幅で札が行を 1 つ増やしていた. */
.pa-experience__namecol {
	display: contents;
}

/* --- 在住エリア・学歴・職業 --- */

/* 名札・名前・年齢と同じ 1 行に並ぶ（親が .pa-experience__headline の格子）。文字の
   大きさは指定しない。移行元 .profile-info__other にも指定が無く、名前 20px・年齢 18px
   より小さい基準の大きさで出るためである. */
.pa-experience__attributes {
	display: flex;
	flex-wrap: wrap;
	/* 移行元 .profile-info__other li の margin-right: 15px. */
	gap: 4px 15px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience__attribute {
	margin: 0;
}

/* 🚨 **パソコン幅だけ移行元と同じ 12px にする（Bug #4010）。**移行元は在住エリア・
   学歴・職業の字を、パソコン版で 12px・スマホ版で 13px と使い分けている。移行先は
   どちらの幅でも 13px（`--pa-experience-text-size`）だったので、パソコン幅だけ
   食い違っていた。

   幅 1440px の実測（移行元 = 本番 www.p-a.jp・移行先 = dev。どちらも 2026-09-06
   02:1x JST に取得）:

   | 幅 | 移行元 | 直す前の移行先 |
   |---|---|---|
   | 1440px | **12px**・36 / 60 / 72px・左端 730.08px | **13px**・39 / 65 / 78px・左端 735.3px |
   | 375px | 13px・39 / 65 / 78px | 13px・39 / 65 / 78px（**一致していた**） |

   🚨 **携帯幅は両側とも 13px で一致しているので、`@media (min-width: 750px)` の
   中だけに置く。**素の規則へ書くと携帯幅まで 12px になり、いま合っている値を
   壊す（携帯幅の折り返しの位置も変わる。Bug #3847 で移行元にそろえたばかりである）。

   🚨 **当たり先は器（`__attributes`）にする。**中の項目は字の大きさを持たず、
   器から受け継ぐ作りである（すぐ上の注記のとおり）。項目へ直に書くと、その作りを
   壊す. */
@media (min-width: 750px) {
	.pa-experience__attributes {
		font-size: 12px;
	}
}

/* --- パソコン幅の見出しの 1 行を、移行元と同じ隙間と字にそろえる（Bug #4079） --- */

/* 🚨 **移行元の隙間は「外余白」だけでできていない。**移行元は名札・名前・年齢・属性を
   インラインブロックで並べるので（`style_experience_details.css` の 137 行
   `.txt-area p { display: inline-block }`）、**要素と要素の間の空白文字が幅を持つ**。
   器 `.txt-area` の字が 16px なので、その空白は 1 つあたり 4.56px である。

   移行元の隙間（本番 www.p-a.jp の No.488 を 2026-09-06 21:47 / 21:49 JST に幅 1440px で実測）:

   | 隙間 | 内訳 | 合計 |
   |---|---|---|
   | 名札の右端 → 名前の左端 | 空白 4.56 ＋ `.profile-info__name` の `margin-left: 47px` | 51.57px |
   | 名前 → 年齢 | `.profile-info__name` の `margin-right: 10px` ＋ 空白 4.56 | 14.56px |
   | 年齢 → 属性 | 空白のみ（`.profile-info__other` に左の外余白は無い） | 4.56px |

   移行先は器を格子にして `gap: 15px` で一律に空けていたため、**年齢と属性の間だけが
   10.44px 広く**なり、属性の札の左端が 730.08 → 735.29px と 5.21px 右へずれていた。
   `.profile-info__other li` の `margin-right: 15px` は**属性の札どうしの間だけ**の値で、
   名札・名前・年齢の間には効かない（`.pa-experience__attributes` の `gap` は正しい）。

   🚨 **字も 1px 小さかった。**移行元は名前と年齢の器を 14px で出す
   （`style_introduce_experience.css` の 878〜881 行 `font-size: 1.4rem`。この画面の
   `rem` の基準は 10px）。中の数字だけを詳細ページが 20px / 18px へ上書きする
   （`style_experience_details.css` の 162〜168 行）。移行先はパソコン幅で器から 13px を
   受け継いでいたため、「さん」が 28 → 26px・「歳(入会時)」が 67.27 → 62.45px と縮んでいた。
   14px の指定が携帯幅の塊（`@media (max-width: 749px)`）にしか無かったのが原因である。

   🚨 **携帯幅は両側で一致しているので動かさない。**そのためこの塊は
   `@media (min-width: 750px)` で囲む。携帯幅の塊が `max-width: 749px` なので、
   2 つで全部の幅を過不足なく分け合う. */
@media (min-width: 750px) {
	.pa-experience__headline {
		/* 列の間隔は要素ごとの外余白で決める（上の表のとおり隙間が 3 通りあり、
		   一律の値では写せない）。折り返したときの行の間隔 4px は残す. */
		column-gap: 0;
	}

	.pa-experience__type {
		/* 空白 4.56 ＋ 移行元の `margin-left: 47px`. */
		margin-right: 51.57px;
	}

	.pa-experience__identity {
		/* 🚨 **組と組の間の空白文字を幅 0 にする。**移行先は名前の組と年齢の組を 1 つの
		   段落に入れており、その間の空白文字が器の字の大きさぶんの幅を持つ。隙間を下の
		   `margin-left` だけで決めきるため、器の字を 0 にして空白を潰す（移行元も
		   `.profile-info` に `font-size: 0` を当てて同じことをしている）。中の組は
		   すぐ下で 14px を指定し直すので、読める字が消えることはない. */
		font-size: 0;
		/* 年齢の右端から属性の左端までの空白 4.56px. */
		margin-right: 4.56px;
	}

	.pa-experience__identity-group {
		/* 移行元の名前・年齢の器と同じ 14px（「さん」「歳(入会時)」がこの大きさで出る）. */
		font-size: 14px;
	}

	.pa-experience__identity-group + .pa-experience__identity-group {
		/* 移行元の `margin-right: 10px` ＋ 空白 4.56px。器の字を 0 にしてあるので、
		   この値がそのまま名前と年齢の隙間になる. */
		margin-left: 14.56px;
	}

	.pa-experience__name,
	.pa-experience__age {
		/* 🚨 **移行元は数字と後ろの文字の間に隙間を持たない**（「S.K.」の右端と「さん」の
		   左端が接する）。移行先の 2px は、「さん」が 13px で 2px 狭かったぶんを埋める
		   帳尻合わせだった。字を 14px に戻すと 2px は余分になるので外す。
		   🚨 **旧い注記は「携帯幅の 2px は移行元スマホ版と一致しているため残す」と
		   書いていたが、これは誤りだった（Bug #4878 で実測）。**移行元スマホ版の
		   「K.H.さん」の器は 68.2px、dev の同じ器は 70.2px で、差はこの 2px である
		   （同じページ・同じ幅・同じ中身で測った）。**携帯幅も 0 にした**
		   （`@media (max-width: 749px)` の中・44718 行）. */
		margin-right: 0;
	}
}

/* --- 絞り込みの名札（移行元 .profile-info__tag） --- */

.pa-experience__tags {
	display: flex;
	flex-wrap: wrap;
	/* 移行元 .profile-info__tag li の margin-right: 10px. */
	gap: 6px 10px;
	/* 🚨 **下の 2px は「移行元の器に残る余り」を写したもの（Bug #4595）。**
	 *
	 * 移行元の文字の列（`div.txt-area`）は子の `p` を `inline-block` で並べるため、
	 * **最後の行ボックスの下にディセンダー分の 2px が残る**（実測 幅 1440px・記事
	 * No.1116 で、札の下端 73.00 に対し器は 75.00）。
	 *
	 * 🚨 **dev は組みが違うので、同じ理由では 2px を作れない。**`.pa-experience__namecol`
	 * は `display: contents` で、その中は縦に積む箱なので余りが 0 になる。**組みを移行元へ
	 * そろえる（`display: contents` をやめて箱に戻す）案は採らなかった**（携帯幅の
	 * 縦積みへの波及が大きい）。**代わりに同じ 2px を外余白で作る。**
	 *
	 * **携帯幅は下の `@media (max-width: 749px)` が `margin` を上書きするので動かない**. */
	margin: 0 0 2px;
	padding: 0;
	list-style: none;
}

.pa-experience__tag {
	/* 移行元は 1.2rem（= 12px）・下地 #F7F7F7・左右の内側 6px.
	 *
	 * 🚨 **縦の内余白を持たず、行送りも書かない（Bug #4513）。**移行元パソコン版は
	 * `padding: 0 6px` だけである（`introduce/css/style_experience_details.css` の
	 * 187〜191 行）。dev の `padding: 2px 6px` は縦に 4px 足し、`line-height: 1.6` は
	 * 12px の行を 19.2px にしていた（移行元の `normal` は 18px）。合わせて札 1 枚あたり
	 * **+5.19px**（実測 幅 1440px で 移行元 18.00 対 dev 23.19）。
	 * **携帯幅は下の `@media (max-width: 749px)` が `padding: 0 5px` と
	 * `line-height: normal` で上書きするので、この直しでは動かない**（移行元スマホ版の
	 * 左右は 5px で、パソコン版の 6px と違う）. */
	margin: 0;
	padding: 0 6px;
	background-color: var(--pa-experience-tint);
	font-size: 12px;
	font-weight: bold;
	line-height: normal;
}

/* 🚨 **結びに当てる規則を消した（Bug #4338・裁定 373・2026-09-07）。**移行元の名札は
   押せない字なので、型紙から `<a>` を外した（single-experience.php）。当たる要素が
   無くなった規則は残さない（`color: inherit` / `text-decoration: none` と、指した
   ときの下線）。札の見た目は上の `.pa-experience__tag` が全部決めており、`<a>` は
   色も下線も持たなかったので、**押せなくしても見た目は変わらない**. */

/* --- 入会前・入会後の婚活状況（移行元 .beaf-cont） --- */

/* 移行元は「入会前の婚活状況」（370px）と「入会後の婚活状況」（320px）を、間隔 25px で
   左右に並べていた。同じ並びにする。狭い画面では下へ折り返る. */
.pa-experience__beaf {
	display: flex;
	flex-wrap: wrap;
	/* 🚨 **2 つの箱を同じ高さに伸ばさない（Bug #4513）。**移行元は 2 つを回り込みで
	   並べる（`introduce/css/style_experience_details.css` の 278〜283 行で
	   `.beaf-cont:after { clear: both }` を書いている）ので、**それぞれが中身どおりの
	   高さ**になる（実測 幅 1440px で 入会前 124.00・入会後 122.00）。横並びの既定
	   （伸ばし）だと入会後が隣に合わせて 124.00 へ伸び、**+2.00px** ずれていた。
	   **携帯幅は 1 行 1 項目に折り返すので、この指定では動かない**. */
	align-items: flex-start;
	gap: 25px;
	/* 🚨 **上の外余白は移行元の 44px にする（Issue #3086 の D9 の実測）。**移行元と
	   dev の**同じ記事**（移行元 `detail.php?id=486` と dev `/introduce/experience/486/`）
	   を並べて測ると、移行元 44px 対 dev 30px だった（移行元 = 本番を 2026-09-03
	   18:33 JST に取得・dev = 20:31 JST に取得）。
	   🚨 詳細ページの比較は**同じ記事でそろえる**こと。記事が違うと本文の長さが変わり、
	   区画の高さの差が画面の差にならない（前任の調査はここが混ざっていた）. */
	margin-top: 44px;
}

.pa-experience__before {
	flex: 1 1 280px;
	max-width: 370px;
}

/* 移行元の活動結果の囲みは 320px 幅だった（.profile-after）。同じ 320px で止める
   （Bug #2998）。以前は 420px まで許していたが、幅 1440px の詳細ページで実測すると
   移行元 320px に対して dev は 343px になり、23px 広かった。`flex: 1 1 280px` が
   効いているので、上限を 320px にすれば 320px ちょうどで止まる. */
.pa-experience__result {
	flex: 1 1 280px;
	max-width: 320px;
}

/* 移行元は小見出しを上下の細い罫線で挟んでいた（.profile-before .title と
   .profile-after .title は同じ指定）. */
.pa-experience__before-title,
.pa-experience__result-title,
.pa-experience__partner-title {
	margin: 0;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
}

/* 🚨 **縦の内余白を持たず、行送りも書かない（Bug #4513）。**移行元パソコン版は
   `padding-left: 4px` と上下の罫線だけである（`introduce/css/style_experience_details.css`
   の 193〜199 行）。dev の `padding: 2px 0 2px 4px` は縦に 4px 足し、上の共有規則の
   `line-height: 1.6` は 15px の行を 24px にしていた（移行元の `normal` は 23px）。
   合わせて題 1 つあたり **+5.00px**（実測 幅 1440px で 移行元 25.00 対 dev 30.00。
   移行元の 25.00 の内訳は 23px の行 ＋ 上下の罫線 1px ずつ）。
   **お相手の題（`.pa-experience__partner-title`）はこの規則に入れない。**あちらは
   お相手の箱の別の Bug が持つ（箱ごと +21.59px）。
   **携帯幅は下の `@media (max-width: 749px)` が `padding: 0` と `line-height: normal` で
   上書きするので、この直しでは動かない**（移行元スマホ版は `padding-left: 0` と
   中央寄せへ変えている。`sp/introduce/css/sp_style_experience_details.css` の
   120〜122 行）. */
.pa-experience__before-title,
.pa-experience__result-title {
	padding: 0 0 0 4px;
	border-top: 1px solid var(--pa-experience-ink);
	border-bottom: 1px solid var(--pa-experience-ink);
	line-height: normal;
}

/* 移行元は該当項目を `<br />` 区切りの平文で出し、行頭の「・」で箇条書きに見せていた
   （.profile-before .list は 14px・上の余白 15px・左の内側 9px）。ここは項目ごとの
   要素にしたが、印はデータが持つ「・」のままなので、印を足す指定は置かない. */
/* 🚨 **行送りを書かない（Bug #4513）。**移行元は `.profile-before .list` に行送りを
   書かないので `normal`（14px なら 1 行 21px）で描かれる。dev の `1.6` は 1 行を
   22.4px にしており、4 行で **+5.56px** だった（実測 幅 1440px で 移行元 84.00 対
   dev 89.56。移行元は `<br />` 区切りの 1 つの塊、dev は項目ごとの `li` だが、
   **1 行の高さが同じなら合う**ことを実測で確かめた: 21 × 4 = 84.00）。
   **携帯幅は下の `@media (max-width: 749px)` が同じ `normal` を持つので動かない**. */
.pa-experience__before-list {
	margin: 15px 0 0;
	padding: 0 0 0 9px;
	font-size: 14px;
	line-height: normal;
	list-style: none;
}

/* 🚨 **字下げを書かない（Bug #5701）。**以前ここには「2 行以上に折り返ったとき、
   2 行目以降を『・』の右へ揃える」として `padding-left: 1em; text-indent: -1em;` の
   2 行が在った。**dev が自分で足したもので、移行元は持たない。**

   移行元 `introduce/css/style_experience_details.css` 205〜219 行は
   `.result-area .profile-before .list` に `padding-left: 9px` を置くだけで、
   **`text-indent` を 1 つも持たない。**行頭の丸は `:before` の 2px の点を
   `position: relative; left: -8px; top: -3px` でずらして描くので、
   **文字の流れる位置を動かさない。**だから移行元では 2 行目以降が
   器の左端（`padding-left` の 9px の位置）から始まる。

   🚨 **9px は上の `.pa-experience__before-list` が持っている**（`padding: 0 0 0 9px`）。
   移行元の `.list` と同じ場所である。**この 2 行を外しても 9px は動かない。**
   外すのは項目（`li`）の側だけである。

   D3 が切り分け、司令塔の割り振りで D4 が直した（2026-09-11）. */
.pa-experience__before-item {
	margin: 0;
}

.pa-experience__numbers {
	display: flex;
	margin: 15px 0 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

/* 3 等分して、間を破線で区切る（移行元 .number-list .list_item）. */
.pa-experience__number {
	flex: 1 1 0;
	/* 語の途中でも折り返させて、狭い画面で 3 列のまま横へあふれないようにする. */
	min-width: 0;
	margin: 0;

	/* 🚨 **内余白を持たない（Bug #5363）。**移行元は `.number-list .list_item` に
	   内余白を書いておらず、スマホ版の上書きも無い（写しの
	   `introduce/css/style_experience_details.css` 243〜246 行）。

	   ここには以前 `padding: 0 4px` が在り、**題名の箱を 8px 狭めていた。**両側を
	   同じ走行で測った結果（2026-09-09 18:3x JST・幅 1440px・移行元は写しを
	   道案内つきの受け口から取得。控えは
	   `pa-verify-assets/f11-w10/qW10b-1440-両側-2026-09-09-09-14.json`）:

	     移行元  題名の箱 106.00（3 項目とも）  文字の墨 39 / 78 / 91
	     dev     題名の箱  98.00（3 項目とも）  文字の墨 39 / 78 / 91

	   **文字の墨は 3 項目とも両側で一致していた。**違うのは箱の幅だけで、その 8px は
	   左右の内余白 4px の合計とちょうど同じである。

	   🚨 **器（`flex: 1 1 0`）の幅は変わらない。**変わるのは中身の箱で、題名（塊）が
	   器いっぱいへ広がる。絵の位置は `calc( 50% - 13px )` と中央からのずれで書いて
	   あるので、箱が広がっても中央のままである。

	   携帯幅（749px 以下）には Bug #4878 が `padding: 0` を置いている。**移行元が
	   どの幅でも内余白を持たないので、素の場所から外すのが正しい。**帯の中の
	   `padding: 0` は、そこで測った記録として残す. */
	border-left: 1px dashed var(--pa-experience-ink);
	font-size: 13px;
	font-weight: bold;
	/* 🚨 **行送りを書かない（Bug #4513）。**移行元は `.number-list .list_item` にも
	   その中の数値にも行送りを書かない。`1.6` だと**この行送りが比率のまま子へ継がれ**、
	   25px の数値の行が 40px になっていた（移行元の `normal` は 38px）。項目 1 つあたり
	   **+2.00px**（実測 幅 1440px で 移行元 82.00 対 dev 84.00。内訳は 題名 44px ＋
	   数値の行）。**携帯幅は下の `@media (max-width: 749px)` が同じ `normal` を持つので
	   動かない**. */
	line-height: normal;
	overflow-wrap: anywhere;
}

.pa-experience__number:first-child {
	border-left: 0;
}

/* 活動実績の 3 項目の題名。移行元（.result-area .number-list__ttl）は行送りを
   書いていないので `normal` で描かれる。テーマは本文の既定（1.6）を継いでいたため、
   13px の行が 20.8px になり、上の内余白 24px と合わせて **44.8px 対 44px** の差が
   出ていた（移行元を本番 www.p-a.jp から 2026-09-07 06:34 JST に取得して実測）. */
.pa-experience__number-label {
	display: block;
	line-height: normal;
}

/* 活動実績の 3 項目のアイコン（移行元 .result-area .number-list .list_item--* の
   .number-list__ttl:before・style_experience_details.css の 255〜277 行）。
 *
 * 🚨 **一覧の札とは置き場所が違う。**札（.pa-archive-card--experience）は数値の器の
 * 左へ 27〜30px のところへ、項目ごとに違う大きさ（23×19・22×17・21×21px）で
 * 敷く。一方で詳細ページの本体は、**題名の上へ 23×22px で 3 項目とも同じ大きさ**で
 * 敷く（移行元は別の CSS ファイルで別の規則を持っている）。札側の規則をそのまま
 * 写すと、置き場所と大きさの両方が移行元と違う。
 *
 * 移行元の実測（写しの記録版 + CSS 6 本を手元から配って幅 1440px で測った値。
 * 道具 = _c1-top-gap-tools/w3-exp-numbers-both.mjs）:
 *
 *   題名の上の内余白 24px / 絵 23×22px / 題名の箱の上端から 0px
 *   器（list_item）の中央から −1.5〜−2px（ほぼ中央）
 *
 * 🚨 **移行元の `left: 40px` をそのまま写せない。**移行元の器は 106.66px 幅で、
 * 40px は「ほぼ中央」を数値で書いたものである。dev の器は 135.34px 幅（器に内余白
 * 4px と罫線 1px がある）なので、同じ 40px を写すと中央から 18.5px 左へずれて
 * 見え方が変わる。**器の幅ではなく「中央からのずれ」を写す**形にして、器の幅が
 * 変わっても見え方が移行元と同じになるようにする。
 *
 * `calc( 50% - 13px )` は、絵の半分（11.5px）と移行元のずれ（1〜1.5px）を足した値
 * である。この値で測り直すと、3 項目とも移行元との差が 0.01px に収まる
 * （直す前は 3 項目とも「絵が無い」で 8 件の差）. */
.pa-experience__number--number .pa-experience__number-label,
.pa-experience__number--contact .pa-experience__number-label,
.pa-experience__number--period .pa-experience__number-label {
	position: relative;
	padding-top: 24px;
}

.pa-experience__number--number .pa-experience__number-label::before,
.pa-experience__number--contact .pa-experience__number-label::before,
.pa-experience__number--period .pa-experience__number-label::before {
	position: absolute;
	top: 0;
	left: calc( 50% - 13px );
	width: 23px;
	height: 22px;
	background-repeat: no-repeat;
	background-position: center;
	content: "";
}

.pa-experience__number--number .pa-experience__number-label::before {
	background-image: url("../introduce/images/experience/stories-list_icon_number01.png?ver=c928071e848b");
}

.pa-experience__number--contact .pa-experience__number-label::before {
	background-image: url("../introduce/images/experience/stories-list_icon_contact01.png?ver=50703ea6de64");
}

.pa-experience__number--period .pa-experience__number-label::before {
	background-image: url("../introduce/images/experience/stories-list_icon_period01.png?ver=397494ceef8d");
}

/* 移行元 .number-list__cont .lg の 25px. */
.pa-experience__number-value {
	font-size: 25px;
}

/*
 * 🚨 **単位に左の外余白を与えない（Bug #5407）。**移行元は単位を包まず**素の文字**で
 * 出すので、数字と単位の間に空きは無い。
 *
 *     <p class="number-list__cont"><span class="lg">145</span>名</p>
 *
 * dev は単位を区画で包むため、外余白を書くとそのぶんだけ文字の並びが広がる。
 *
 * 実測（幅 1440px・`/introduce/experience/511/`・2026-09-09 20:1x。移行元は写しを配って測った）:
 *
 *   | 見るところ        | 移行元    | dev（直す前） |
 *   |-------------------|-----------|---------------|
 *   | 数字「145」の箱   | 42.98 × 25 | 42.98 × 25（一致） |
 *   | 単位「名」の箱    | 14 × 14   | 14 × 14（一致） |
 *   | 単位の左外余白    | **無し**  | **`2px`**     |
 *   | 札の墨            | **56.98** | **58.98**     |
 *
 * **足し算が合う。**移行元 42.98 ＋ 14 = 56.98、dev 42.98 ＋ **2** ＋ 14 = 58.98。
 *
 * 🚨 **一覧側では同じものを既に外している**（このファイルの 40503 行の注釈。
 * `.pa-archive-card__number-unit` とその `margin-left: 2px` は Bug #3513 の項目 3 で外した）。
 * そこに「個別ページの `.pa-experience__number-unit` は別の目印で、そのまま使っている」と
 * 書いてあり、**個別ページ側が取り残されていた。**
 *
 * 字の大きさ 14px は移行元と同じなので残す（移行元 `.number-list__cont` の素の文字が 14px）.
 */
.pa-experience__number-unit {
	font-size: 14px;
}

/* --- 成婚お相手情報（移行元 .target） --- */

.pa-experience__partner {
	padding: 20px;
	background-color: var(--pa-color-bg);
	border: 1px solid var(--pa-experience-partner-accent);
}

/* 🚨 **行送りを書かない（Bug #4594）。**移行元パソコン版は `font-size: 16px` だけで
   行送りを書かない（写し `introduce/css/style_experience_details.css` の 292〜296 行）。
   dev は上の共有規則の `line-height: 1.6` を継いで 25.59px になっており、**+0.59px**
   ずれていた（実測 幅 1440px で 移行元 25.00 対 dev 25.59）。

   🚨 **上の共有規則（3 セレクタ）は触らない。**あちらは入会前後の題も含み、そちらは
   Bug #4513 が別の規則で `normal` にしている。共有規則を触ると範囲が広がる。
   **この規則は共有規則より後ろにあるので、同じ詳細度でも勝つ。**

   🚨 **Bug #4185 は `@media (min-width: 750px)` の中に同じ `normal` を書いていたが、
   効いていなかった**（`@media` の塊が素の規則より前にあり、詳細度が同じなので後ろの
   共有規則が勝っていた。`getComputedStyle` で 25.6px を実測して確かめた）。

   **携帯幅は下の `@media (max-width: 749px)` が `line-height: 1.1` と上下の内余白 8px で
   上書きするので動かない**（移行元スマホ版は帯にして 16 × 1.1 ＋ 16 = 33.6px）. */
.pa-experience__partner-title {
	color: var(--pa-experience-partner-accent);
	font-size: 16px;
	text-align: center;
	line-height: normal;
}

/* 移行元は成婚お相手の絵を、直径 50px の丸い枠に下地として当てていた
   （.target .icon。style_experience_details.css の 297〜303 行）. */
/* 🚨 **箱は 52 × 52px である。50 × 50px ではない（Bug #4185・2026-09-07）。**
   移行元は `width` と `height` を**枠を含まない内側の寸法として**数えるので、1px の枠を
   足した箱が 52 × 52px になる。テーマは箱の数え方を全体で「枠を含む」にしているため
   50 × 50px になり、**描かれる丸そのものが直径で 2px 小さく、お相手の囲みの高さも
   2px 低かった**（182 対 184px）。この 1 か所だけ移行元と同じ数え方に戻す。

   🚨 **幅の折り返しの外に置く（両方の幅に当てる。裁定 306）。**移行元のスマホ版は絵の
   寸法を変えていない（`sp_style_experience_details.css` の 156〜158 行は回り込みと
   外余白だけ）ので、**携帯幅でも移行元は 52 × 52px** である. */
.pa-experience__partner-icon {
	box-sizing: content-box;
	display: block;
	width: 50px;
	height: 50px;
	margin: 15px auto 5px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 50px auto;
	border: 1px solid var(--pa-experience-partner-accent);
	border-radius: 50%;
}

/* 絵の割り当ては移行元 style_experience_details.css の 305〜335 行と同じ 16 種類。
   ファイル名も移行元のままである（テーマの assets/introduce/images/top/）. */
.pa-experience__partner-icon--man-a {
	background-image: url("../introduce/images/top/top_case_man-a_img.jpg?ver=ba5fdd46e321");
}

.pa-experience__partner-icon--man-b {
	background-image: url("../introduce/images/top/top_case_man-b_img.jpg?ver=f4977849ddb4");
}

.pa-experience__partner-icon--man-c {
	background-image: url("../introduce/images/top/top_case_man-c_img.jpg?ver=caa496d177ba");
}

.pa-experience__partner-icon--man-d {
	background-image: url("../introduce/images/top/top_case_man-d_img.jpg?ver=1c6bf8c9d134");
}

.pa-experience__partner-icon--man-e {
	background-image: url("../introduce/images/top/top_case_man-e_img.jpg?ver=f47979406f35");
}

.pa-experience__partner-icon--man-f {
	background-image: url("../introduce/images/top/top_case_man-f_img.jpg?ver=1b2077feeba9");
}

.pa-experience__partner-icon--man-g {
	background-image: url("../introduce/images/top/top_case_man-g_img.jpg?ver=a347ba39addd");
}

.pa-experience__partner-icon--man-h {
	background-image: url("../introduce/images/top/top_case_man-h_img.jpg?ver=4474a41136b5");
}

.pa-experience__partner-icon--woman-a {
	background-image: url("../introduce/images/top/top_case_woman-a_img.jpg?ver=03b5b10341d3");
}

.pa-experience__partner-icon--woman-b {
	background-image: url("../introduce/images/top/top_case_woman-b_img.jpg?ver=cfd006dd2719");
}

.pa-experience__partner-icon--woman-c {
	background-image: url("../introduce/images/top/top_case_woman-c_img.jpg?ver=313b69991187");
}

.pa-experience__partner-icon--woman-d {
	background-image: url("../introduce/images/top/top_case_woman-d_img.jpg?ver=4e573ce34883");
}

.pa-experience__partner-icon--woman-e {
	background-image: url("../introduce/images/top/top_case_woman-e_img.jpg?ver=c61d29bb5273");
}

.pa-experience__partner-icon--woman-f {
	background-image: url("../introduce/images/top/top_case_woman-f_img.jpg?ver=990ca8b34e9b");
}

.pa-experience__partner-icon--woman-g {
	background-image: url("../introduce/images/top/top_case_woman-g_img.jpg?ver=76d4538d263b");
}

.pa-experience__partner-icon--woman-h {
	background-image: url("../introduce/images/top/top_case_woman-h_img.jpg?ver=b38a5f77facd");
}

/* 🚨 **上の外余白を持たない（Bug #4594）。**移行元パソコン版は `.targetCont` に外余白を
   書かない（絵の下の 5px だけが空く）。dev の 15px は絵の 5px と相殺して 15px になり、
   **+10.00px** ずれていた（実測 幅 1440px）。

   🚨 **Bug #4185 は `@media (min-width: 750px)` の中に `margin-top: 0` を書いていたが、
   効いていなかった**（この素の規則が後ろにあるため勝っていた。`getComputedStyle` で
   `margin-top: 15px` を実測して確かめた）。

   🚨 **携帯幅には上書きが無かったので、下の `@media (max-width: 749px)` へ移行元
   スマホ版の値（上下 15px）を足した。**移行元スマホ版は
   `.result-area .target .targetCont { margin: 15px 0 }` である
   （写し `sp/introduce/css/sp_style_experience_details.css` の 165〜166 行）。
   **上だけでなく下も 15px である点に注意する**（dev の素の規則は下を 0 にしていた）. */
.pa-experience__partner-list {
	margin: 0;
}

/* 移行元は項目名を 13px、値を 15px の太字で 1 行に並べていた（.target p と
   .target p span）。定義リストで同じ並びにする. */
/* 🚨 **項目名は両方の幅で太字である（Bug #5702）。**もとは `normal` だったが読み違え
   だった。移行元パソコン版の太さを決めるのは `.result-area .target p { font-weight: bold }`
   の **1 本だけ**で、項目名を包む `<span>` は `font-size: 13px; margin-right: 10px` しか
   持たない。**包みが太さを戻していないので、項目名も値も両方とも太字になる**（本番が
   読む CSS 6 本を全数で見て、`span` の太さを戻す規則は 1 本も無いことを確かめた）。

   🚨 **携帯幅も同じだった。**移行元の携帯専用サイトの
   `sp/introduce/css/sp_style_experience_details.css` は
   `.result-area .target .targetCont p span { font-weight: bold; font-size: 12px }` と
   **項目名だけに太字を書いている**ので、値の側は素のままだと読みかけた。**しかし
   描かれた太さを測ると値も 700 だった。字面の読みで決めず、実測で決める。**

   実測（`getComputedStyle` の計算値・体験談 No.1760）:

   | 幅 | | 項目名 | 値 |
   |---|---|---:|---:|
   | パソコン 1440（2026-09-12 00:0x） | 移行元 | 700 | 700 |
   | パソコン 1440 | dev（直す前） | **400** | 700 |
   | 携帯 375（2026-09-12 01:00） | 移行元 | 700 | 700 |
   | 携帯 375 | dev（直す前） | **400** | 700 |

   **両方の幅で同じ食い違い方だったので、幅で出し分けず素の規則で太字にする。**
   はじめは `@media (min-width: 750px)` の塊で直したが、携帯幅の実測でその囲いが
   要らないと分かったので外した。**字の大きさは幅で違う**（パソコン 13px・携帯 12px）
   ので、そちらは下の携帯幅の節が持つ. */
.pa-experience__partner-term {
	margin: 0;
	font-size: 13px;
	font-weight: bold;
}

/* 🚨 **下の外余白を持たない（Bug #4594）。**移行元は 1 行が 1 つの段落で、行と行の
   あいだに余白を置かない（実測 幅 1440px で 移行元の 2 行はどちらも 23.00px）。
   dev の 10px は 1 行あたり **+10.00px** ずれていた。

   🚨 **「1 行目だけ折り返している」という見立ては誤りだった**（Bug #4594 の起票時の
   本文を訂正した）。2 行目が移行元と一致していたのは、下の
   `.pa-experience__partner-row:last-child` の規則が**最後の行だけ**下の余白を 0 に
   していたためである。

   🚨 **Bug #4185 は `@media (min-width: 750px)` の中に `margin-bottom: 0` を書いていたが、
   効いていなかった**（この素の規則が後ろにあるため勝っていた。`getComputedStyle` で
   `margin-bottom: 10px` を実測して確かめた）。

   **携帯幅は下の `@media (max-width: 749px)` が `margin-bottom: 0` を持つので動かない**. */
.pa-experience__partner-description {
	margin: 0;
	font-size: 15px;
	font-weight: bold;
}

/* 🚨 **「最後の行だけ下の余白を消す」規則を外した（Bug #4594）。**上の素の規則が
   下の余白を持たなくなったので、最後の行だけ消す必要が無くなった。

   **外した規則と、その経緯を書き残す**（次に読む人が同じ道を通らないため）:

     .pa-experience__partner-row:last-child .pa-experience__partner-description {
       margin-bottom: 0;
     }

   これは Bug #4185（2026-09-07）が入れたもので、**当たり先を「値」ではなく「行」で
   書く**のが要点だった。組を `div` で包んだので、**どの値も自分の行の中では最後の子**
   になる。`.pa-experience__partner-description:last-child` と書くと 1 行目の値からも
   余白が消え、**携帯幅の囲みが 10px 縮んでいた**（181.59 → 171.59px。dev の実ページで
   測って気づいた）。

   🚨 **下の余白を素の規則へ戻すなら、この規則も戻すこと。**戻さないと最後の行の下に
   10px が残り、囲みが 10px 太る. */

/* --------------------------------------------------------------
 * 質問と回答（移行元 detail.php の .question-area）
 *
 * 移行元は設問の文（「入会の決め手は何ですか？」等）を固定文としてテンプレートに
 * 書き、その下に回答の見出しと本文を白い囲みで出し、さらに下へ「他の会員様の回答を
 * 見る」の導線を置いていた。同じ 3 段にする（Issue #1621）。
 *
 * 「入会前 / 活動中 / 成婚退会後」の 3 区分の見出しは出していない。本文には設問の
 * 区分が残っていないためである
 * （投入は scripts/pa-cms/import-experience.php の pacms_experience_build_content()）。
 * -------------------------------------------------------------- */

/* 🚨 **色つきの帯は 1,280px で中央に出す（Bug #2826）。**
 *
 * 移行元は地色を区画そのものではなく、**内側の器**（`.bg-gray .l-contents`）に付けて
 * いる。その器は `max-width: 1280px; margin: 0 auto` なので、**帯は 1,280px で中央**に
 * 出る（幅 1440px での実測: 左端 80px・幅 1280px・上下の内余白 40px / 80px）。
 *
 * dev はこの区画を本文の柱（`.single-content--experience`）の中に置いており、地色を
 * 区画自身に付けているため、**帯が柱の幅（最大 1120px）に縮んでいた**。柱より広い箱を
 * 出すので、`.wrap_movie` の写しと同じ 2 つ組で柱の外へ出す。
 * `width: min(1280px, 100%)` では足りない（`100%` は親の柱を基準に解ける）。
 *
 * 🚨 **地色そのものは移行元にある。**「dev が地色を足している」という見立ては誤りで、
 * 移行元の CSS（`introduce/css/style_introduce_experience.css` の 173〜178 行）に
 * `#f7f7f7` が実在する。消すと退行する（#2826 のコメントで前提を訂正済み）. */
/* 🚨 **全幅へ出す区画は、横のはみ出しを本文の外枠で抑える（Codex の指摘・Bug #2826）。**
 *
 * `100vw` は**縦スクロールバーの幅を含む**。デスクトップでスクロールバーが場所を取る
 * 環境では、画面幅が 1,280px 未満のとき `100vw` が本文の実効幅より広くなり、この区画と
 * 「似た条件の方の体験談」が左右へはみ出してページ全体に横スクロールが出る。
 *
 * しあわせレポートの写し（`.wrap_movie`）と同じ抑え方をする。当たり先を体験談の詳細に
 * 限るため、この区画を持つ `.site-main` だけに当てる. */
.site-main:has(.pa-experience__questions),
.site-main:has(.pa-experience-related) {
	overflow-x: clip;
}

.pa-experience__questions {
	margin-top: var(--pa-space-md);
	width: min(1280px, 100vw);
	margin-inline: calc(50% - min(640px, 50vw));
	/* 移行元 .bg-gray .l-contents の上下の内側（40px / 80px）を写す. */
	padding: 40px 0 80px;
	background-color: var(--pa-experience-tint);
	text-align: center;
}

/* 設問の段の器。移行元 .question-area .contents-wrapper の 980px（1,280px の器の中で
   左右に 150px ずつ空く）と、.question-cont の上の外余白 50px を写す。
   移行元は段の見出しを左へ・設問の一覧を右へ回り込ませていた（.is-left / .is-right）。
   回り込みではなく横並びの箱で作る（幅 1440px での実測と同じ位置になる:
   見出しが左端 230px・幅 111px、一覧が左端 424px・幅 786px。980 − 111 − 786 = 83px が
   間に入る）。狭い画面では縦に積む. */
.pa-experience__questions .pa-experience__question-group {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	width: min(980px, 100%);
	margin: 50px auto 0;
	text-align: left;
}

/* 段の見出し（移行元 .question-area h4）。移行元の実測: 字 22px・太字・色 #463D3C・
   左の縦棒 5px・左右の内余白 20px・幅 111px（文字の分だけ）. */
.pa-experience__questions .pa-experience__group-title {
	flex: 0 0 auto;
	margin: 0;
	padding: 0 20px;
	border-left: 5px solid var(--pa-experience-ink);
	color: var(--pa-experience-ink);
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5;
}

/* 設問の一覧。移行元 .question-area li の幅 786px が、回り込んだ一覧の幅を決めている. */
.pa-experience__questions .pa-experience__question-group .pa-experience__answer-list {
	flex: 0 1 786px;
	max-width: 100%;
}

/* 段への飛び先（移行元 .anchor-area）。
   移行元の実測（幅 1440px）: 器は帯と同じ 1,280px・地色 #F7F7F5（帯の #F7F7F7 とは
   別の色）・項目は行の中に並べ（display: inline）左に 1px の仕切り・最後の項目だけ
   右にも仕切り・リンクの内余白 0 28px 0 44px・字 16px・色 #463D3C。
   文字の左 15px に下向きの三角（幅 6px・高さ 5px）を置く. */
.pa-experience__questions .pa-experience__anchors {
	margin: 0 0 20px;
	background-color: #f7f7f5;
	text-align: center;
}

.pa-experience__questions .pa-experience__anchor-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience__questions .pa-experience__anchor-item {
	display: inline;
	border-left: 1px solid #c7c5c2;
}

.pa-experience__questions .pa-experience__anchor-item:last-child {
	border-right: 1px solid #c7c5c2;
}

.pa-experience__questions .pa-experience__anchor-link {
	padding: 0 28px 0 44px;
	color: var(--pa-experience-ink);
	text-decoration: none;
}

.pa-experience__questions .pa-experience__anchor-link span {
	position: relative;
	font-size: 16px;
}

.pa-experience__questions .pa-experience__anchor-link span::before {
	position: absolute;
	top: 50%;
	left: -15px;
	width: 0;
	height: 0;
	border-top: 5px solid var(--pa-experience-ink);
	border-right: 3px solid transparent;
	border-left: 3px solid transparent;
	content: "";
	transform: translateY(-50%);
}

/* 区画の最後の「PAGE TOP」（移行元 .question-area .question-cont .pagetop と
   .Sc-btn）。移行元の実測: 上の内余白 50px・押しボタンは幅 458px・上下の罫線 1px
   #463D3C・上下の内余白 15px・字 13px・色 #463D3C・行の中の箱で中央に出る. */
.pa-experience__questions .pa-experience__pagetop {
	margin: 0;
	padding: 50px 0 0;
	text-align: center;
}

.pa-experience__questions .pa-experience__pagetop-link {
	display: inline-block;
	width: min(458px, 100%);
	padding: 15px 0;
	border-top: 1px solid var(--pa-experience-ink);
	border-bottom: 1px solid var(--pa-experience-ink);
	color: var(--pa-experience-ink);
	/* 移行元の書体を写す（Bug #4843）。出どころは `introduce/css/style_introduce.css`
	   の 834〜845 行の `.Sc-btn` で、`font-family: 'Spinnaker', sans-serif` を指定して
	   いる。**携帯版の詳細ページもこのパソコン版の CSS を読み込む**（配られた HTML の
	   `<link>` を並べて確認。携帯版の上書き `sp/introduce/css/sp_style_experience_details.css`
	   の 210〜213 行は幅・字の大きさ・内余白の 3 つだけで書体を触らない）。だから
	   **この素の規則へ 1 行足せば、パソコン幅と携帯幅の両方に効く**。

	   🚨 **ここだけ書体が抜けていたのは、dev がこの押しボタンを別の類名で作り直した
	   ためである。**移行元の `.Sc-btn` を当たり先にした写し
	   （`.pa-introduce-sections .Sc-btn`）は類名が合わず効かない。同じ移行元部品を
	   写した他の 2 か所（同じ写しと、体験談一覧の「もっと見る」の
	   `.pa-experience-pager__more-label`）は、どちらも既に Spinnaker を当てている。

	   移行元のこのページは書体のファイルを 1 つも読み込んでいないので、移行元の画面に
	   実際に出ているのは端末の既定のゴシック体だと考えられる。それでも
	   **「移行元の指定の意図に合わせて Spinnaker を配る」を採る**（司令塔の裁定・
	   2026-09-08）。台帳に同型の裁定（欧文書体 Inter・Bug #2742）があり、上に書いた
	   他の 2 か所とも揃うためである。

	   🚨 **予備の書体は移行元と同じ `sans-serif` だけにする（Issue #3086 の L31 と同じ
	   直し）。**和文の予備を足すと、Spinnaker が読めない環境で出る字が移行元と変わる. */
	font-family: "Spinnaker", sans-serif;
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
}

/* 区画の題名は下地の中に入る。上の余白は区画の内側の余白で持つので消し、幅は
   下に続く回答の柱（.entry-content の 800px）へ合わせる. */
.pa-experience__questions .pa-experience__section-title {
	max-width: var(--pa-inner-xs);
	margin-top: 0;
}

/* 設問・回答・導線をひとまとまりにした一覧。移行元 .question-area li の下の余白
   20px を写す. */
.pa-experience__questions .pa-experience__answer-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 🚨 **段に分けないときは一覧を器の中央へ戻す（Codex の P2 指摘・Bug #2826）。**
   段の見出しを出さない塊（回答が段をまたぐ投稿・設問番号を引けない投稿）では、上の
   横並びの箱に一覧しか入らない。一覧は `flex-basis: 786px`・器は 980px・上の
   `margin: 0` が効くため、`justify-content: space-between` の下で 1 つだけの中身が
   左端へ寄り、右に 194px の空白が残る（この PR の前は中央にあり、97px ずれる）。
   移行元は段の見出しを必ず 3 つ持つのでこの形の相手が無く、**この PR の前と同じ中央**へ
   戻す。型紙は段の見出しを出さない塊に `pa-experience__question-group--no-title` を
   付けるので、それを目印にする. */
.pa-experience__questions .pa-experience__question-group--no-title .pa-experience__answer-list {
	margin-inline: auto;
}

.pa-experience__questions .pa-experience__answer-item {
	margin: 0 0 20px;
}

.pa-experience__questions .pa-experience__answer-item:last-child {
	margin-bottom: 0;
}

/* 設問の文。移行元 .question-text の 15px 太字と、左に 30px 空けて置く Q. の印
   （手書き風の画像。/introduce/images/experience/question_img01.png）を写す. */
/* 設問の文（移行元 .question-area .question-text）。
 *
 * 🚨 **`inline-block` にする（Issue #3086 の D1・2026-09-03）。**移行元は
 * `display: inline-block` で、**文の幅が文字の分だけ**になる（写し元は
 * public/introduce/css/style_experience_details.css の 407〜414 行）。dev は段落の
 * まま幅いっぱいに広げていたため、移行元 418.81px 対 dev 756px と 337px 違っていた
 * （移行元を本番 www.p-a.jp から 2026-09-03 15:38 JST に取得して実測）。
 * 幅が変わると、設問の左に敷く目印の絵（下の `::before`。幅を親の 100% で取る）の
 * 広がりも変わる。
 *
 * 🚨 **行送りは `normal` にする（Issue #3623・2026-09-07）。**移行元は行送りを
 * 書いていないので `normal` で描かれ、15px の行が 23px になる。テーマは 1.6 を
 * 書いていたため 24px になり、**設問 13 か所すべてで 1px ずつ高く**なっていた
 * （移行元を本番 www.p-a.jp から 2026-09-07 06:34 JST に取得して実測。
 * 幅は両側 418.81px で一致していた）. */
/* 🚨 **`inline-block` をやめて `block` ＋ `width: fit-content` にする（Bug #4526）。**
   移行元の設問は回答 1 件（`li`）の中で**相対の上 0.00**（13 件すべて）だが、dev は
   `inline-block` のため**設問が 1 行のときだけ 1.00 下がって**いた（2 行の 3 件は
   0.00 で一致）。回答 13 件のうち 10 件が該当し、合計 +10.00px ずれていた。

   実測（幅 1200px・2026-09-08 00:2x JST。移行元は `legacy-pc-1200.json`）:

     いまの実装  回答の高さの差 +10.00（10 件が +1.00）／設問の相対の上 1.00 が 10 件
     案 B（採用） 回答の高さの差 +0.00（13 件すべて）／設問の相対の上 13 件すべて 0.00

   🚨 **`width: fit-content` を消してはいけない。**`inline-block` の「中身に合わせて
   縮む」性質を保つためのもので、これが無いと設問が全幅になり、左の 30px の空きの
   見え方が変わる。実測では**設問の左端と幅が幅 1200px と 375px の両方で 13 件すべて
   差 0** だった（左 334.00 / 幅 418.81 と 左 45.00 / 幅 315.00）。

   🚨 **`li` の行送りを `normal` にする案は効かなかった**（実測。+10.00 のまま）。
   **なぜ `inline-block` だと 1px 上に空くのかは未解明である。**「`inline-block` を
   やめると消える」ことだけが実測で分かっている. */
.pa-experience__questions .pa-experience__question {
	position: relative;
	display: block;
	width: fit-content;
	margin: 0 0 10px 30px;
	color: var(--pa-experience-ink);
	font-size: 15px;
	font-weight: bold;
	line-height: normal;
}

.pa-experience__questions .pa-experience__question::before {
	position: absolute;
	top: -4px;
	left: -30px;
	display: block;
	width: 20px;
	height: 39px;
	background-image: url("../introduce/images/experience/question_img01.png?ver=0304d2e86f32");
	background-repeat: no-repeat;
	background-size: 20px auto;
	content: "";
}

/* 回答 1 件ぶんの囲み。移行元 .question-area .answer の白地・枠線・角丸 20px・
   内側 30px を写す. */
.pa-experience__answer {
	margin: 0;
	padding: 30px;
	background-color: var(--pa-color-bg);
	border: 1px solid var(--pa-experience-answer-border);
	border-radius: 20px;
}

/* 回答の本文は 14px（移行元 `.question-area .answer p` の 472〜473 行）。
 *
 * 🚨 dev は回答の一覧に WordPress の慣例クラス `entry-content` を付けているため、
 * 本文の既定（16px）が当たっていた（移行元 14px 対 dev 16px。段落 1 つで高さが
 * 42 対 48px になる）。**見出し（`.pa-experience__answer-heading` の 16px）には
 * 当てない**ので、段落だけを名指しする.
 *
 * 前提の訂正: Issue #3086 の D14 は「本文の色が移行元 `rgb(0,0,0)` 対 dev
 * `rgb(70,61,60)`」としていたが、**色は両側とも `rgb(0,0,0)` で一致していた**
 * （`rgb(70,61,60)` は設問の文と段の見出しの色である）。直すのは字の大きさだけ. */
.pa-experience__answer p {
	font-size: 14px;
}

/* 「他の会員様の回答を見る」の導線。移行元は囲みの下、右端へ寄せていた
   （.icon-link-area は text-align: right、.icon-link は 12px で左に丸い印を置く）. */
/* 🚨 **移行元は 8px を「箱の中」に持つ。箱の外に足すと二重になる（Bug #4406）。**
   移行元の入れ子は `div.icon-link-area`（箱・高さ 28.00・外余白 0）→ `a` →
   `p.icon-link`（上の外余白 8px・高さ 18.00）で、**8px は 28.00 に含まれている**。
   dev は 2 段に縮めたのでそれが箱の外へ出て、回答 1 件あたり +5.00px・13 件で
   **+62.00px** 高くなっていた。**同じ間違いが携帯幅にもあり、そちらは 6px 版として
   Bug #4435 で直した。**

   実測（移行元 `/introduce/experience/detail.php?id=511` を幅 1200px・机上の名乗りで
   2026-09-07 23:37:25 JST に取得。dev は幅 1440px で 23:36 JST）:

     導線の上の外余白  移行元 0px    対 dev 8px
     導線の箱の高さ    移行元 28.00  対 dev 24.00
     回答 1 件の高さ   移行元 330.00 対 dev 335.00

   移行元はパソコン幅で幅を変えても同じ姿を出す（回答 13 件の高さが 1200px と
   1440px で 13 件すべて 0.00 差）.

   🚨 **箱の行送りを 28px にする案は採らない。**箱の高さは合うが、行の余りが上下へ
   均等に配られるため文字が移行元より上がる（携帯幅で 2 案を実測し、26px 版は
   文字が 2px 上がった）. */
.pa-experience__questions .pa-experience__more {
	margin: 0;
	line-height: normal;
	text-align: right;
}

/* 🚨 **行送りは `normal` にする（Issue #3623・2026-09-07）。**移行元の同じ箱
   （`p.icon-link`）は行送りを書いていないので `normal` で描かれ、12px の行が 18px に
   なる。テーマは 1.6 を書いていたため 19.2px になり、**13 か所すべてで 1.19px ずつ
   高く**なっていた。箱の幅 154px・左の内余白 22px・左端 1056px・右端 1210px は
   両側で一致している（移行元を本番 www.p-a.jp から 2026-09-07 06:40 JST に取得して
   実測）. */
.pa-experience__questions .pa-experience__more-link {
	display: inline-block;
	margin: 8px 0 2px;
	padding-left: 22px;
	color: var(--pa-experience-ink);
	font-size: 12px;
	line-height: normal;
	text-decoration: none;
}

.pa-experience__questions .pa-experience__more-link:hover,
.pa-experience__questions .pa-experience__more-link:focus-visible {
	text-decoration: underline;
}

/* 印は移行元と同じく、直径 14px の丸の中に白い三角を置く（.icon-link span の
   :before と :after）. */
.pa-experience__questions .pa-experience__more-link span {
	position: relative;
	display: inline-block;
}

.pa-experience__questions .pa-experience__more-link span::before {
	position: absolute;
	top: 50%;
	left: -22px;
	display: inline-block;
	width: 14px;
	height: 14px;
	background-color: var(--pa-experience-ink);
	border-radius: 50%;
	transform: translateY(-50%);
	content: "";
}

.pa-experience__questions .pa-experience__more-link span::after {
	position: absolute;
	top: 50%;
	left: -17px;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 5px solid #fff;
	transform: translateY(-50%);
	content: "";
}

/* 回答の見出し。移行元 .answer-heading の 16px 太字・会員の色を写す。本文の見出しに
   付く金色の縦棒（.entry-content h3）は、囲みの中では要らないので消す。

   🚨 **字間を `normal` に戻す（Issue #3623・2026-09-07）。**移行元は字間を書いて
   いない。テーマの共通の見出し規則（このファイルの `.entry-content :is(h2, h3, h4,
   h5, h6)`）が `letter-spacing: 0.05em` を当てるため、16px のこの見出しでは 0.8px
   になり、**文字の並びが 386.41px 対 368px と 18.41px 広がっていた**（字数 × 0.8px
   とほぼ一致する。移行元を本番 www.p-a.jp から 2026-09-07 06:34 JST に取得して実測）。
   行送りは両側とも 24px に描かれるので触らない（移行元は `normal`、テーマは
   `--pa-line-height-heading` = 1.5 で、16px では同じ 24px になる）. */
.pa-experience__answer .pa-experience__answer-heading {
	margin: 0 0 15px;
	padding: 0;
	border: 0;
	color: var(--pa-experience-accent);
	font-size: 16px;
	font-weight: bold;
	line-height: var(--pa-line-height-heading);
	letter-spacing: normal;
}

/* 囲みの中の先頭と末尾の余白を消す。囲みの内側の余白（30px）で持つためである. */
.pa-experience__answer > :first-child {
	margin-top: 0;
}

.pa-experience__answer > :last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------
 * 似た条件の体験談（移行元 detail.php の #recommended_stories）
 *
 * カードの中身は一覧（archive-experience.php）と同じ .pa-archive-card を使う。
 * .pa-archive-card の指定は寸法と色を囲み側の変数から読むため、一覧の囲み
 * （.archive-content）の外で使うときは、この区画で同じ変数を宣言する必要がある。
 *
 * 移行元のカードは白地・枠線・角丸 10px（.stories-list__inner）で、一覧の灰色の
 * カードとは違う。この区画の下地が薄緑なので、移行元と同じ白いカードに寄せる。
 * -------------------------------------------------------------- */

/* 🚨 **色つきの帯は 1,280px で中央に出す（Bug #2826）。**質問と答えの区画と同じ理由で
 * ある。移行元は地色を内側の器（`#recommended_stories .l-contents`）に付けており、
 * その器は `max-width: 1280px; margin: 0 auto` なので帯は 1,280px で中央に出る。
 * dev は区画自身に付けていたため、帯が本文の柱の幅に縮んでいた。
 * 地色そのものは移行元にある（`introduce/css/style_experience_details.css` の
 * 491〜497 行の `#f1f7e8`）。消すと退行する. */
.pa-experience-related {
	margin-top: var(--pa-space-md);
	width: min(1280px, 100vw);
	margin-inline: calc(50% - min(640px, 50vw));
	/* 🚨 **左右の内余白は 0 にする（Bug #3944・裁定 195）。**移行元の内側の器
	   （`#recommended_stories .l-contents`）は左右に内余白を持たない。上下だけが
	   40px / 80px である。

	   幅 1440px の実測（移行元 = 本番 www.p-a.jp・移行先 = dev。どちらも
	   2026-09-06 02:1x JST に取得）:

	   | 見るもの | 移行元 | 直す前の移行先 |
	   |---|---|---|
	   | 題の箱 | 左 80・1280px | 左 95・1250px |
	   | 飾り題の絵 | 左 506・428 × 85px | 左 506・428 × 85px（**一致していた**） |

	   **絵は器の中で左右中央に置かれるので、器が 30px 広がっても見える位置は
	   変わらない。**それでも器の幅そのものが移行元と違うので、そろえる。

	   🚨 **共通の内余白（`--pa-inner-gutter`）の値そのものは変えない。**このトークンは
	   `main.css` の 21 か所ほか、テーマの CSS 5 本で合わせて 30 か所が読む
	   （404 の画面・パンくず・トップの 10 区画・一覧の器・記事本文など）。体験談の
	   ためだけに動かす理由が無い. */
	padding: 40px 0 80px;
	background-color: #f1f7e8;

	/* 背景の飾り 7 枚を置く基準にする（Issue #3086）。
	 *
	 * 🚨 **`z-index: 0` は消さない。**これが無いとこの区画は重ね順の基準
	 * （stacking context）を作らず、`z-index: -1` の飾りが**この区画の地色より
	 * 後ろへ回って見えなくなる**。基準を作ると描く順が「地色 → 飾り → カード」に
	 * 決まり、移行元と同じ重なりになる。
	 *
	 * 移行元は地色を内側の器（`#recommended_stories .l-contents`）に `z-index: -3` で
	 * 付け、飾りを `z-index: -1` にして「地色より前・カードより後ろ」に出している
	 * （`introduce/css/style_experience_details.css` の 491〜497 行と
	 * `introduce/css/style_introduce.css` の 1242〜1244 行）。dev は地色を区画自身に
	 * 持つ組みなので、同じ見え方をこの 2 行で作る. */
	position: relative;
	z-index: 0;
}

/* --- 詳細の「似た条件の方の体験談」の背景の飾り 7 枚（Issue #3086）---

   移行元はこの区画にも一覧と同じ絵 7 枚を出している（`detail.php` の 514〜534 行。
   クラス名の末尾に `_recommended` が付く）。**dev はこの区画に 1 枚も持っていなかった**
   （移行元を本番 www.p-a.jp から 2026-09-03 18:33 JST に取得し、dev を 18:34 JST に
   取得して実測。移行元 7 枚 対 dev 0 枚）。

   絵は一覧と同じで、**移行元は幅も高さも CSS に書かず、`<img>` の属性の値で描いて
   いる**（パソコン幅のみ。携帯幅は下の @media で幅と高さを指定する）。だから
   ここには座標だけを書く。型紙は `template-parts/experience/ornaments.php`. */

.pa-experience-related__ornament {
	position: absolute;
	z-index: -1;
}

.pa-experience-related__ornament img {
	display: block;
}

/* --- スペシャルコンテンツの札の絵を幅で出し分けるための下ごしらえ（Issue #3086）---

   移行元は携帯とパソコンで中身の違う絵を配るので、型紙
   （`template-parts/introduce/special-contents.php`）の `<img>` を `<picture>` で
   包んだ。`<picture>` は既定が行内の要素なので、そのままだと絵の下に行の余白
   （数 px）が付く。移行元にこの隙間は無いので、塊の要素にして消す。

   **この型紙は婚活予想図Ⅲの診断ページと共用**なので、体験談だけに効く手書きの 1 本
   （`assets/experience/css/introduce-sections-narrow.css`）ではなく、全ページに配る
   このファイルへ置く。写した CSS の `.Sc-img img` は子孫の指定なので、`<picture>` を
   1 枚挟んでも当たり続ける（`> img` の形の指定は 1 つも無いことを確かめた）. */
.Sc-img picture {
	display: block;
}

.pa-experience-related__ornament--1 {
	top: -50px;
	left: 250px;
}

.pa-experience-related__ornament--2 {
	top: -85px;
	right: 316px;
}

.pa-experience-related__ornament--3 {
	top: 140px;
	left: -30px;
}

.pa-experience-related__ornament--4 {
	top: 40px;
	right: 10px;
}

.pa-experience-related__ornament--5 {
	bottom: 0;
	right: -140px;
}

.pa-experience-related__ornament--6 {
	bottom: 0;
	left: -50px;
}

.pa-experience-related__ornament--7 {
	bottom: -40px;
	right: 200px;
}

/* --- 区画の見出し（Issue #3809）---

   移行元は英字の飾り題（手書き文字の絵）と日本語の小見出しの 2 段で組む
   （`introduce/experience/detail.php` の 536〜539 行）。**dev は日本語の題 1 段だけで、
   代わりに移行元に無い説明文を 1 行持っていた**（本番 www.p-a.jp の detail.php?id=488 と
   ?id=511 を 2026-09-05 16:11:08 JST に、dev を 16:10:57 JST に取得して実測。移行元は
   題の箱が 1280 × 112px、dev は題だけで 33px）。説明文は移行元に無いので出さない。

   移行元の実測（本番 detail.php?id=488。2026-09-05 22:2x JST に幅 1440px と 375px で取得）:

   | 測るもの      | パソコン幅 1440px       | 携帯幅 375px          |
   |---------------|-------------------------|-----------------------|
   | 題の箱        | 左 80・幅 1280・高 112  | 左 25・幅 325・高 59.72 |
   | 飾り題の器    | 幅 1280・高 91          | 幅 325・高 38.72      |
   | 飾り題の絵    | 428 × 85（行の中）      | 幅 60%（195 × 38.72） |
   | 小見出し      | 幅 1280・高 21・14px 太字 | 幅 325・高 21・14px 太字 |

   🚨 **パソコン幅の器 91px は「絵 85px ＋ 行の余り 6px」である。**移行元は絵を行の中
   （`display: inline`）に置くので、書体の下端ぶんの余りが 6px 付く。ここで絵に
   `display: block` を付けると器が 85px へ縮み、下の中身が 6px せり上がる. */

.pa-experience-related__heading {
	/* 移行元 #recommended_stories .headding（`introduce/css/style_experience_details.css`
	   の 501〜503 行）の margin-top -70px・margin-bottom 60px・text-align center。
	   上へ 70px はみ出させることで、飾り題が区画の地色の上端をまたぐ. */
	margin: -70px 0 60px;
	text-align: center;
}

.pa-experience-related__title {
	margin: 0;
}

/* 🚨 **ここに `width` を書かない。**移行元はパソコン幅で幅を CSS に書かず、`<img>` の
   属性（428 × 85）のまま描く。狭い画面での縮小だけを `max-width` で足す。
   隣の「よく読まれている体験談」の絵と違い、この絵は実体も 428 × 85px なので、
   倍の解像度の注意は要らない（実体を測って確かめた）. */
.pa-experience-related__title img {
	max-width: 100%;
	height: auto;
}

.pa-experience-related__sub-title {
	/* 移行元 .headding .sub-ttl（`introduce/css/style_introduce_experience.css` の
	   169〜171 行）は `font-size: 1.4rem` の太字。移行元は同じ写しの 14〜15 行で
	   `html { font-size: 62.5% }` を敷くので 14px である（Issue #3513 の項目 15 と
	   同じ落とし穴なので、1.4rem をそのまま写さない）。色は移行元が何も指定せず
	   黒（`rgb(0, 0, 0)`）を継ぐので、そのまま黒にする. */
	margin: 0;
	color: #000;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
}

.pa-experience-related__list {
	/* .pa-archive-card が読む変数。一覧の囲み（.archive-content）と同じ値のうち、
	   カードが実際に使うものだけを宣言する. */
	--pa-archive-card-bg: var(--pa-color-bg);
	--pa-archive-card-bg-hover: #fbfbfb;
	--pa-archive-card-padding: 20px;
	--pa-archive-title-size: 18px;
	--pa-archive-text-size: 14px;
	--pa-archive-meta-size: 12px;

	display: grid;
	/* 1 列の最小幅は一覧と同じ 280px にする。最大幅 1,100px で移行元と同じ 3 列、
	   その間は 2 列、スマートフォン幅で 1 列へ自動で落ちる. */
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 25px;
	align-content: start;

	/* 🚨 **最大幅は移行元と同じ 1,100px を直に書く（Bug #4017）。**ここは共通の
	   トークン（`--pa-inner-ex` ＝ **1,120px**）を読んでいたので、パソコン幅で
	   20px 広かった。**すぐ上の注記は「最大幅 1,100px」と書いてあったのに、
	   実装が 1,120px になっていた**（注記と実装の食い違い）。

	   幅 1440px の実測（移行元 = 本番 www.p-a.jp・移行先 = dev。どちらも
	   2026-09-06 02:1x JST に取得）:

	   | 見るもの | 移行元 | 直す前の移行先 |
	   |---|---|---|
	   | カードの一覧 | 左 170・**1100px** | 左 160・**1120px** |

	   移行元の器は `ul.stories-list` で、幅 1,100px 固定である。

	   🚨 **共通のトークンの値そのものは変えない。**`--pa-inner-ex` は `main.css`
	   だけで 32 か所が読む（一覧共通の器・記事本文・店舗一覧・入会案内の本文など）。
	   体験談のこの一覧だけに絞って直す。

	   🚨 **携帯幅には効かない。**携帯幅の器は 325px なので、上限 1,100px は当たら
	   ない（一覧の幅は区画の内余白で決まる。Task #3944 の担当）. */
	max-width: 1100px;
	margin: 30px auto 0;
}

/* 白地・枠線 #A29E9D・角丸 10px（移行元 .stories-list__inner）は、体験談のカードの
   側（.pa-archive-card--experience）が持つ。ここでは重ねて指定しない. */

/* --------------------------------------------------------------
 * スマートフォン幅（749px 以下）
 * -------------------------------------------------------------- */

@media (max-width: 749px) {
	.pa-experience {
		/* 移行元のスマホ版のリード文は 18px である
		   （sp/introduce/css/sp_style_experience_details.css の 42〜46 行の
		   `.result-area h2`。PC 版の 24px を上書きしている）. */
		--pa-experience-lead-size: 18px;
	}

	/* 🚨 **プロフィールの文字は携帯幅でも移行元の 13px にする（Issue #3086 の D14）。**
	   以前は記事本文の共通トークンに合わせて 15px へ落としていたが、移行元のスマホ版も
	   13px である（本番 www.p-a.jp の詳細ページを 2026-09-03 18:35 JST に携帯の名乗りで
	   取得して実測）。区画の題名（`--pa-experience-heading-size`）は記事本文と同じ
	   落とし方のまま残す. */
	.pa-experience,
	.pa-experience-related {
		--pa-experience-text-size: 13px;
		--pa-experience-heading-size: 19px;
	}

	/* 2 列をやめて縦に積む。お相手の囲みは活動結果の下へ回る. */
	.pa-experience__profile-body {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.pa-experience__member,
	.pa-experience__beaf,
	.pa-experience__partner {
		grid-column: 1;
		grid-row: auto;
	}

	/* 移行元のスマホ版は「入会前の婚活状況」と「入会後の婚活状況」を横に並べず、
	   幅いっぱいで上下に積み、間を 20px 空けていた
	   （sp/introduce/css/sp_style_experience_details.css の 123〜145 行の
	   `.profile-before` は幅 100%・右の余白 0、`.profile-after` は幅 100%・上の余白
	   20px）。折り返しの間隔を 20px にして同じ見え方にする. */
	.pa-experience__beaf {
		margin-top: 0;
		gap: 20px;
	}

	/* 移行元のスマホ版は、この 2 つの小見出しを中央へ寄せ、左の内側を空けていない
	   （sp/introduce/css/sp_style_experience_details.css の 120〜122 行）. */
	/* 🚨 **移行元は縦の内余白を持たない（Bug #4377）。**移行元パソコン版は
	   `padding-left: 4px` だけで（`introduce/css/style_experience_details.css` の
	   193〜199 行）、スマホ版はそれを 0 にして中央へ寄せる（`sp/introduce/css/
	   sp_style_experience_details.css` の 120〜122 行）。**どちらの幅にも縦の内余白は
	   無い。**dev の `padding: 2px 0 2px 4px` は上下に 2px ずつ足しており、題 1 本
	   あたり 4px 高い（実測 移行元 25.00 対 dev 30.00。行送りを直した後も +4.00 残った）。
	   **`padding-left: 0` だけでは縦の 2px が残る**ので、まとめて 0 にする。

	   移行元の 25.00px の内訳は 15px の `normal`（23px）＋ 上下の罫線 1px ずつである. */
	.pa-experience__before-title,
	.pa-experience__result-title {
		padding: 0;
		text-align: center;
	}

	/* 🚨 **320px の上限はパソコン幅で 2 列に並べるための値である。1 列に積む携帯幅では
	   効かせない（Bug #4462）。**移行元は「入会前の状況」も「入会後の状況」も器いっぱいの
	   345.00px（幅 375px のとき）である。隣の `.pa-experience__before` は
	   `max-width: 370px` なので 345px まで広がるが、`.pa-experience__result` は
	   320px で止まり、**中の実績の数値 3 項目が 1 つあたり 8.3px 狭くなっていた**。

	   実測（移行元 `/sp/introduce/experience/detail.php?id=511` を幅 375px・携帯の
	   名乗りで取得。dev は同じ幅）:

	     入会後の状況の箱の幅  移行元 345.00 対 dev 320.00
	     実績の数値の器の幅    移行元 345.00 対 dev 320.00
	     3 項目の幅            移行元 114.34 / 115.33 / 115.33 対 dev 106.00 / 107.00 / 107.00
	     3 項目の高さ          両側とも 82.00（一致）

	   🚨 **高さは一致していたので、Task #4419 の「12 か所すべて 0.00px」の判定には
	   出なかった。**高さだけを突き合わせると幅の差を見落とす. */
	.pa-experience__result {
		max-width: none;
	}

	/* 会員のイラストは、移行元のスマホ版と同じく幅の 30%・右の余白 25px にする
	   （sp/introduce/css/sp_style_experience_details.css の 63〜66 行）. */
	.pa-experience__illust {
		margin-right: 25px;
		width: 30%;
	}

	/* 🚨 **移行元のスマホ版はリード文をイラストの「上」に全幅で置く（Bug #3847）。**
	   移行元の組みは `div.lead` → `p.img-area` → `div.txt-area` の順で
	   （`sp/introduce/experience/detail.php` の 111〜112 行）、リード文が先にある。
	   このテーマは 1 つの組みを両方の幅で共有するので、順番は CSS で入れ替える。

	   幅 375px の実測（移行元 = 本番 www.p-a.jp のスマホ版、移行先 = dev。
	   どちらも 2026-09-06 02:0x JST に携帯の名乗りで取得）:

	   | 見るもの | 移行元 | 直す前の移行先 |
	   |---|---|---|
	   | リード文 | 左 15px・345 × 81px（幅いっぱい・イラストの上） | 左 143.5px・216.5 × 135px（イラストの右） |
	   | イラスト | 左 15px・103.5 × 145.39px（リード文の下） | 左 15px・103.5 × 145.39px（リード文と同じ高さ） |
	   | 名札と属性の器 | 左 143.5px・**幅 207px**（器の 60%） | 左 143.5px・幅 216.5px |

	   **イラストの寸法は両側で一致している。**違うのは置き方と、名札と属性の器の幅
	   だけである。

	   🚨 **器の幅 9.5px の差が、属性の折り返す位置を変える。**移行元は
	   「愛知県 39 ＋ 15 ＋ 私立大院卒 65」で 119px、そこへ「医療系専門職 78」を足すと
	   212px となり 207px を 5px あふれるので、3 つ目だけが 2 行目へ回る。移行先の
	   216.5px では 212px が収まってしまい、3 つとも 1 行に並んでいた。
	   **札そのものの幅（39 / 65 / 78px）は両側で一致しているので触らない。**

	   🚨 **並べ替えには横並び（flex）を使う。**回り込み（float）のままでは「後ろに
	   ある要素を上へ出す」ことができない。横並びにするとイラストの回り込みは効かなく
	   なるので、ここで外す。イラスト 103.5 ＋ 右の余白 25 ＋ 器 207 ＝ 335.5px は
	   器の 345px に収まるので、折り返しは起きない。

	   🚨 **古い注記は「狭い画面の意匠は Bug #2850 で扱う」と書いていたが、これは
	   指し先の取り違えである。**Bug #2850 が扱うのは詳細ページの下側にある 4 区画
	   （カテゴリ切り替えの帯・スペシャルコンテンツ・お問い合わせ・店舗一覧）で、
	   会員の囲みは入っていない。会員の囲みはこの Bug #3847 で扱う. */
	.pa-experience__member--has-illust {
		display: flex;
		flex-wrap: wrap;
	}

	.pa-experience__member--has-illust .pa-experience__lead {
		order: -1;
		width: 100%;
		max-width: none;
		margin-left: 0;
	}

	.pa-experience__member--has-illust .pa-experience__illust {
		float: none;
		/* 🚨 **絵の箱を伸ばさない（Bug #4421）。**移行元は絵を回り込ませるので、
		   絵の箱は絵の高さのままである。横並びの既定（伸ばし）だと、隣の列が絵より
		   高いときに**箱だけが下へ伸びる**（320px の実測で 122.20px → 164.50px。
		   絵そのものは変わらないが、箱の高さが移行元と食い違う）. */
		align-self: start;
	}

	/* 🚨 **名札と札を 1 つの列にまとめる（Bug #4421）。**移行元は文字の列
	   （`div.txt-area`・60% 幅）の中に**属性の札まで入れて**おり、絵（`p.img-area`・
	   30% 幅）はその横へ回り込む。dev は札を列の**兄弟**に置いていたため、
	   **札が絵と名札の行の「下」へ回り、行が 1 つ増えていた**（移行元 164.83px 対
	   dev 207.39px ＝ +42.56px）。雛形に器 `.pa-experience__namecol` を足し、
	   **60% 幅はその器に持たせる**（パソコン幅では `display: contents` で場所を
	   取らないので、並びは 1px も変わらない）。

	   🚨 **格子（grid）では両立できなかった。**絵が 2 段にまたがる格子にすると札は
	   列の中へ入るが、**リードの幅が列の合計に縛られる**。列を `30% 60%` にすると
	   リードが 335.5px（移行元 345px より 9.5px 狭い）、`30% 1fr` にするとリードは
	   345px になるが**列が 216.5px に広がり札が 2 段になる**（移行元は 3 段）。
	   移行元は回り込みなので両方が成り立つ。**器を足すのが忠実である。**

	   🚨 **回り込み（float）には戻せない。**dev の雛形は絵がリードより前に在るため、
	   回り込みだとリードが絵の横へ流れる。上の `order: -1` でリードを先頭へ出している. */
	.pa-experience__member--has-illust .pa-experience__namecol {
		/* 移行元 `.txt-area { width: 60% }`（`sp/introduce/css/
		   sp_style_experience_details.css` の 67〜68 行）. */
		display: block;
		width: 60%;
	}

	.pa-experience__member--has-illust .pa-experience__headline {
		/* 🚨 **行のそろえを先頭寄せにする（Bug #4421）。**既定の伸ばしのままだと、
		   器の高さが外から決まるぶんを**折り返した行が等分に吸って** 1 行あたり
		   24.30px 太る（実測: 中身 28 / 29 / 19.5 に対し行の箱が 52.30 / 53.29 /
		   43.80 で、伸ばしは 3 行とも 24.30px だった）。**指定した行の隙間は 4px な
		   のに実測 28.3px だった原因はこれである。**

		   🚨 **行の隙間は 0 にする。**移行元は各行を `inline-block` で流し込むので
		   隙間が 0.00px と 0.83px である（実測）。dev の 4px は移行元に無い。

		   🚨 **下の外余白も 0 にする。**移行元は列の中で札の上に 15px を置くだけで、
		   列そのものに下の余白は無い。素の規則の 8px が残ると札が 8px 下がる. */
		align-content: start;
		row-gap: 0;
		margin-bottom: 0;
	}

	/* 🚨 **札の並びも行のそろえを先頭寄せにする（Bug #4421）。**器の高さが外から
	   決まると、既定の伸ばしのままでは**折り返した段が等分に太る**（実測: 札 1 枚の
	   高さが 18.00px から 25.98px へ伸びた）。名札の列と同じ型の落とし穴である。

	   🚨 **段の隙間は移行元と同じ「札ごとの外余白」で作る。**移行元は
	   `li { margin-right: 6px; margin-bottom: 6px }` で、**末尾の余白も折り返しの
	   判定に入る**（同 106〜108 行）。`gap` は末尾に余白を付けないので、同じ幅でも
	   1 段に入る枚数が変わる（実測: 移行元は 1 段目が 2 枚・`gap` だと 3 枚）. */
	.pa-experience__member--has-illust .pa-experience__tags {
		/* 移行元 `.profile-info__tag { margin-top: 15px }`（同 103〜104 行）. */
		margin-top: 15px;
		align-content: start;
		gap: 0;
	}

	.pa-experience__member--has-illust .pa-experience__tag {
		margin: 0 6px 6px 0;
	}

	.pa-experience__member--has-illust .pa-experience__tag:last-child {
		margin-right: 0;
	}

	/* 活動結果の数値を狭い画面で 20px へ小さくする上書きが、ここに置いてあった。
	   「3 列のままだと 1 列が 100px を切る」という読みからの調整だったが、移行元
	   のスマートフォン用ミラー（/sp/introduce/experience/detail.php）を 375px で
	   実測すると、同じ 3 列のまま 25px で組んでいる。1 列 114px に対して数値の幅
	   は最大 43px なので、25px でも横へあふれない。移行元と違う値になるため、
	   この上書きは外した。宣言元（.pa-experience__number-value の 25px）がその
	   まま当たる。ユーザー裁定 2026-08-07（Issue #1671 のコメント）. */

	/* 移行元のスマホ版は、お相手の絵を左へ回り込ませ、年齢と在住エリアをその右へ
	   流していた（sp/introduce/css/sp_style_experience_details.css の 156〜158 行の
	   `float: left` と `margin: 15px 20px`）。同じ並びを横並びの箱で作る。回り込みだと
	   絵が字より高いときに囲みからはみ出すため、はみ出さない形にした。絵が無い投稿では
	   年齢と在住エリアが幅いっぱいになる. */
	.pa-experience__partner {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}

	/* 小見出しは 1 行を占める。移行元のスマホ版はこれを、お相手の側の色で塗った帯に
	   していた（同 159〜164 行。字は白・上下の内側 8px・行の高さ 1.1。会員が男性の
	   ページは同 171〜173 行で下地が女性の色へ入れ替わる）。PC 版は白地に色字なので、
	   狭い幅でだけ帯にする。下地は PC 版と同じ値（移行元の #208ABB / #E17777）を使う
	   （Bug #2826 で移行元へ戻した。それまでは明度を落とした #1d7da9 / #d54040 を
	   使っていた。白字との対比は移行元と同じ水準になるので、足りない分は Epic #663 へ
	   引き渡す）. */
	.pa-experience__partner-title {
		flex: 0 0 100%;
		padding: 8px 0;
		background-color: var(--pa-experience-partner-accent);
		color: #fff;
		line-height: 1.1;
	}

	.pa-experience__partner-icon {
		flex: 0 0 auto;
		margin: 15px 20px;
	}

	/* 🚨 **移行元スマホ版の上下 15px をここで持つ（Bug #4594）。**素の規則から 15px を
	   外したので、携帯幅はここで足す。移行元スマホ版は
	   `.result-area .target .targetCont { margin: 15px 0 }` である（同 165〜166 行）。
	   **上だけでなく下も 15px である。** */
	.pa-experience__partner-list {
		flex: 1 1 auto;
		margin: 15px 0;
	}

	/* 移行元のスマホ版は、お相手の項目名だけ 12px へ落としていた（同 167〜170 行の
	   `.targetCont p span`。PC 版は 13px）. */
	.pa-experience__partner-term {
		font-size: 12px;
	}

	/* 🚨 **移行元スマホ版は上下の内余白を 25px にしている（Bug #4377）。**
	   出どころは `sp/introduce/css/sp_style_experience_details.css` の 190〜191 行
	   （`.question-area .l-contents { padding: 25px 0 }`）。上外余白も同 188〜189 行の
	   25px である（`.question-area { margin-top: 25px }`）。素の規則は
	   `--pa-space-md`（携帯幅では 30px）を使うので、ここで 25px へ戻す. */
	/* 🚨 **左右は「左 15px 固定 ＋ 柱の幅 92%」で決める（Bug #4841）。**
	   移行元スマホ版は柱の幅を**画面の割合**で決めており、左だけを 15px 固定にしている。
	   出どころは `sp/introduce/css/sp_style_experience_details.css` の 192〜194 行
	   （`.question-area .contents-wrapper { width: 92% !important; margin: 0 15px }`）。

	   直す前の dev は左右とも 15px 固定だった。**この 2 つの決め方は、ちょうど画面幅
	   375px でだけ同じ値になる。**そのため 375px では差が出ず、320px で柱が 4.39px 狭く
	   なり、**段落ごとに 1 行（21px）折り返しが増えていた。**

	   | 画面幅 | 移行元の柱 | 直す前の dev | 同じ 355 文字の段落の高さ |
	   |---|---:|---:|---|
	   | 375px | 345.00 | 345.00 | 両側 378（一致） |
	   | 320px | 294.39 | 290.00 | 移行元 441 対 dev 462 |

	   `8vw` から 15px を引いた値を右へ置くと、柱は `100vw - 15px - (8vw - 15px)` で
	   ちょうど `92vw` になる。**この区画の幅はもともと `100vw` を基準に決めてある**
	   （素の規則の `width: min(1280px, 100vw)`。Bug #2826 で全幅の帯にした）ので、
	   割合の基準がそろう。左の 15px は移行元と同じ固定値である。

	   上下の 25px と上外余白の 25px は上の注釈のとおり Bug #4377 の直しで、ここでは
	   変えていない. */
	.pa-experience__questions {
		margin-top: 25px;
		padding: 25px calc(8vw - 15px) 25px 15px;
	}

	.pa-experience__answer {
		padding: 20px;
		border-radius: 12px;
	}

	/* 🚨 **答えの本文の行送りは `normal`（Bug #4333・2026-09-07）。**
	 *
	 * 移行元は答えの本文に行送りを**まったく書いていない**ので `normal` で描かれる。
	 * 実ページが読む 8 本の CSS を機械で走査し、本文（`.question-area .answer` の中の
	 * 段落）に当たりうる行送りの規則を全部抜き出して確かめた（11 件見つかったが、
	 * どれも `.banner_menu_s p` や `div.result p` のように別の器へ絞られていて当たらない）。
	 *
	 * dev は回答の一覧に WordPress の慣例クラス `entry-content` を付けているため、
	 * `.entry-content p` の `line-height: var(--pa-line-height-text)` = **1.8** が
	 * 当たっていた。14px の行が **25.2px** になり、移行元の **21px** より 4.2px 高い。
	 *
	 *   実測（移行元 `/sp/introduce/experience/detail.php?id=511` を幅 375px・携帯の
	 *   名乗りで 2026-09-07 17:36:11 に取得。dev は同じ幅で 17:25:40）
	 *
	 *     文書の高さ … 移行元 14,206 対 dev 15,317（**+1,091px**）
	 *     うち回答 13 件の差 … **+1,003.41px**（その中の本文が +979px）
	 *     本文の 1 行 … 移行元 21px（14px × 1.5）対 dev 25.2px（14px × 1.8）
	 *
	 * 本文の高さは移行元では 21 の倍数になる（13 件のうち 7 件がちょうど割り切れ、
	 * 残りも 21N ＋ 2〜4px）。**行が積み上がるので、本文が長い回答ほど差が大きい**
	 * （1 件あたり +16.75 〜 +104.69px）。
	 *
	 * 🚨 **見出しには当てない。**答えの見出しは dev では `h4` なのでこの当たり先に
	 * 入らないが、移行元では `p.answer-heading` である。両側とも 16px・行送り 24px で
	 * すでに一致しているので触らない（実測で差 0.00px）。
	 *
	 * 🚨 **段落の下の外余白 25px は直さなくてよい。**`.pa-experience__answer > :last-child`
	 * が外余白を 0 にしており、本文の段落は箱の最後の子なので効いていない（実測で確認）。
	 *
	 * 🚨 **箱の内余白は両側とも 20px で一致している**（上の規則）。移行元のパソコン版の
	 * CSS は 30px と書いているが、スマホ版の実ページでは 20px で描かれる（実測）。
	 * **CSS の字面から 30px と決めつけないこと。**
	 *
	 * 🚨 **パソコン幅は触らない（[#4333] の対象外）。**移行元は幅を問わず行送りを
	 * 書いていないので、パソコン幅も同じ原因を抱えている可能性が高いが、別途の
	 * 切り分けが要る. */
	.pa-experience__answer p {
		line-height: normal;
	}

	/* 「他の会員様の回答を見る」の導線。字の大きさ 10px は下の規則で中の文字へ
	   掛ける（sp/introduce/css/sp_style_experience.css の 126〜130 行）.

	   🚨 **移行元の上の余白 6px は「箱の中」にある。箱の外に足すと二重になる
	   （Bug #4435・2026-09-07）。**移行元の入れ子は
	   `div.icon-link-area`（高さ 26.00・外余白 0）→ `a` → `p.icon-link`
	   （上の外余白 6px・高さ 18.00）で、**6px は 26.00 に含まれている**。dev は
	   これを `p.pa-experience__more` → `a.pa-experience__more-link` の 2 段に
	   縮めたため、内側にあった 6px が箱の外へ出て、答えの箱の下端からの
	   占める場所が **移行元 26.00 に対し dev 33.00** になっていた。

	   実測（移行元 `/sp/introduce/experience/detail.php?id=511` を幅 375px・
	   携帯の名乗りで 2026-09-07 22:28 JST に取得。dev は同じ幅で 21:46 JST）:
	   回答 1 件の高さが移行元 565.00 対 dev 572.00（+7.00）で、内訳は
	   設問 46.00 と答えの箱 483.00 が一致、**この外余白の 6px と箱の高さの
	   1.00px だけ**が差だった。回答 13 件すべてが同じ +7.00 だった. */
	.pa-experience__questions .pa-experience__more {
		margin-top: 0;
		line-height: normal;
	}

	/* 🚨 **箱の 26px は「上 6px ＋ リンク 18px ＋ 下 2px」である（Bug #4435）。**
	   移行元は `div.icon-link-area`（高さ 26.00）の中に `p.icon-link`（上の外余白 6px・
	   高さ 18.00）を置き、その下に 2px 残る。dev は入れ子を 2 段に縮めたので、
	   **同じ 6px と 2px をリンクの外余白として持たせて写す。**

	   🚨 **箱の行送りを 26px にする案は採らない。**箱の高さは合うが、行の余りが
	   上下へ均等に配られるため**文字が移行元より 2px 上がる**（実測: 案「行送り
	   26px」は箱 26.00・文字の上 7.00 で、移行元の 9.00 と 2px ずれた）。
	   この案（6+18+2）は**箱 26.00・文字の上 9.00 で移行元と完全に一致**した
	   （幅 375px・2026-09-07 23:0x JST に dev で実測）. */
	.pa-experience__questions .pa-experience__more-link {
		margin: 6px 0 2px;
	}

	/* 🚨 **10px は「文字」に掛ける。箱ではない（Issue #3623・2026-09-07）。**
	   移行元のスマホ版は箱（`.icon-link`）を 12px のまま残し、**中の文字
	   （`.icon-link span`）だけ**を 1rem = 10px にする（`sp/introduce/css/
	   sp_style_experience.css` の 126〜130 行）。箱に 10px を掛けると箱の高さが
	   移行元と 3px 食い違う（移行元 `/sp/introduce/experience/detail.php?id=511` を
	   幅 375px・携帯の名乗りで 2026-09-07 06:44 JST に取得して実測。移行元は
	   **箱 18px・文字 15px**、直す前の移行先は箱 16px・文字 16px）. */
	.pa-experience__questions .pa-experience__more-link span {
		font-size: 10px;
	}

	/* --- 詳細の携帯幅の字（Bug #3807）---

	   移行元のスマホ版は、パソコン幅より字を小さくする。**移行先はパソコン幅の
	   大きさのまま出していた**（移行元 /sp/introduce/experience/detail.php?id=488 を
	   幅 375px・携帯の名乗りで、移行先 dev の /introduce/experience/488/ を同じ幅で
	   実測。2026-09-06 01:2x JST）。

	   | 測るもの | 移行元 | 移行先（直す前） |
	   |---|---|---|
	   | 段の見出し | 14px・箱 67 × 21px | 22px・箱 111 × 33px |
	   | 飛び先の札 | 12px・箱 36 × 12px | 16px・箱 48 × 16px |
	   | 婚活タイプの札 | 12px・箱 134 × 28px | 15px・箱 118.81 × 50px |
	   | 投稿日 | 13px・色 rgb(70, 61, 60) | 12px・色 rgb(118, 118, 118) |
	   | 名前 / 年齢 | 19.6px / 18.2px | 20px / 18px |

	   🚨 **この画面の `rem` は 10px 基準である**（`html { font-size: 62.5% }`）。移行元の
	   `1rem` をそのまま写すと移行先では 16px になる。**実測した px を直に書く。**
	   出どころは `sp/introduce/css/sp_style_experience_details.css` と同 `_experience.css`. */

	/* 🚨 **箱の 67px は「字 42px ＋ 左右の内余白 20px ＋ 左の縦棒 5px」である。**
	   「入会前」は 3 文字 × 14px で 42px。**縦棒は移行元にもあるので消さない。**
	   字だけ小さくして内余白を 20px のまま残すと 42 ＋ 40 ＋ 5 ＝ 87px になり、20px 太る。
	   出どころは `sp_style_experience_details.css` の 195〜200 行
	   （`font-size: 14px` ・ `padding: 0 10px`）. */
	/* 🚨 **下の余白 30px を落としていた（Bug #4435・2026-09-07）。**移行元の
	   段の題（`h4.is-left`）は下の外余白 30px を持ち、題の下端から最初の回答の
	   上端までが 30.00px 空く。dev の素の規則は `margin: 0` で、携帯幅の上書きも
	   外余白に触れていなかったため **0.00px** だった。段が 3 つあるので、
	   段ごとに 30px ずつ詰まっていた（入会前・婚活中・ご成婚の 3 段すべてで実測）。

	   🚨 **段の題は横に並ぶ器（`.pa-experience__question-group` の `display: flex`）
	   の子である。**外余白は折り返した行の高さに入るので、パソコン幅の並びを
	   動かさないよう、この囲いの中だけに書く. */
	.pa-experience__questions .pa-experience__group-title {
		margin-bottom: 30px;
		padding: 0 10px;
		font-size: 14px;
	}

	/* 出どころは同 181〜182 行（`.anchor-area ul li span { font-size: 12px }`）. */
	.pa-experience__questions .pa-experience__anchor-link span {
		font-size: 12px;
	}

	/* 🚨 **字だけでなく箱ごと写す。**移行元は幅と高さと行送りまで決めているので、
	   字を 12px にするだけでは 134 × 28px にならない。出どころは同 72〜79 行
	   （`display: flex` ・ `width: 134px` ・ `height: 28px` ・ `line-height: 2.3`）.

	   🚨 **`display: flex` も写す（Bug #8372）。**以前はこの注釈に挙げながら規則に入れて
	   いなかったため、素の規則（パソコン幅の札の `text-align: center`）が携帯幅でも効き、
	   字が 134px の箱の中央へ寄っていた（字の数に応じて右へ 18〜31px ずれる）。移行元
	   スマホ版は flex の中の字を左端から並べる。パソコン幅の札は移行元パソコン版と同じ
	   `text-align: center`・行送り 50px なので、素の規則は変えない. */
	.pa-experience__type {
		display: flex;
		width: 134px;
		height: 28px;
		font-size: 12px;
		line-height: 2.3;
	}

	/* 🚨 **地模様の絵は 80 x 30px に縮めて敷く（Bug #8437）。**移行元スマホ版は
	   `sp/introduce/css/sp_style_experience.css` 585 行の `background-size: 80px 30px` が勝つ
	   （パソコン版 `style_introduce_experience.css` 857 行の `134px 50px` より後に読まれる）。
	   同じ 585 行の幅・高さ・位置は、先に読まれるが詳細度の高い `style_experience_details.css` 147 行
	   （`.result-area .profile-cont .txt-area .type:before`）に負けるので、
	   箱は素の規則の 134 x 50px・−2px / −15px のまま、絵だけが縮む。6 タイプとも同じ値である
	   （2026-09-28 の直す前の読み `pa-verify-assets/B/8437-直す前2-0928/`）。
	   パソコン幅は絵の実寸 134 x 50px が移行元パソコン版の `134px 50px` と同じなので、素の規則のままでよい. */
	.pa-experience__type::before {
		background-size: 80px 30px;
	}

	/* 🚨 **移行元の投稿日は本文と同じ濃さの色である。**移行元は `.post-date` に色を
	   書かず、初期化の色（`rgb(70, 61, 60)`）を継ぐ。移行先の薄い灰色は移行先だけの
	   指定なので、携帯幅では打ち消す。字の 13px も移行元の初期化から来る. */
	/* 🚨 **当たり先の強さをそろえること。**共通の指定
	   `.single-content:not(.single-content--branch) .entry-meta`（29891 行）は
	   **クラス 3 つぶん（0, 3, 0）**の強さを持つ。`body.single-experience .entry-meta`
	   （0, 2, 1）では負けて 1px も動かない（実際に負けた）。**クラス 3 つでそろえ、
	   後ろに置いて勝たせる。** */
	.single-content.single-content--experience .entry-meta {
		/* 🚨 **`--pa-experience-ink` は使えない。**この変数は `.pa-experience`（記事の
		   器）で宣言しており、投稿日はその**外側**の `.entry-header` に在るので届かず、
		   黒（`rgb(0, 0, 0)`）になる。移行元の実測値を直に書く. */
		color: #463d3c;
		font-size: 13px;
		/* 🚨 **移行元は投稿日の行を柱の先頭に置く（上に何も無い。Bug #4377）。**
		   題名を画面から外すと `.entry-meta` の上の外余白 12px だけが残り、移行元より
		   12px 下がる。**パソコン幅は 40483 行で既に同じ直しをしていた**が、携帯幅は
		   抜けていた. */
		margin-top: 0;
		/* 🚨 **移行元は行送りを書いていない（Bug #4377）。**dev は共通の
		   `--pa-line-height-text`（1.8）を継いで 13px の行が 23.4px になり、移行元の
		   20.00px より 3.39px 高かった. */
		line-height: normal;
	}

	/* 🚨 **投稿日の上の空きは移行元スマホ版の 15px である（Bug #4377）。**移行元は
	   `.result-area .post-date { margin-top: 15px }`（`sp/introduce/css/
	   sp_style_experience_details.css` の 26〜27 行）。dev は共通の
	   `--pa-space-sm`（携帯幅では 20px）を内余白に使っており 5px 広かった。
	   隠した題名（`.pa-visually-hidden`）は絶対配置なので場所を取らない
	   （実測: 153 ＋ 内余白 20 ＋ 投稿日の上外余白 12 ＝ 185 が実測と一致した）。

	   🚨 **当たり先の強さを (0, 3, 0) にそろえること。**打ち消す相手
	   `.single-content:not(.single-content--branch) .entry-header`（32725 行）が
	   目印 3 つぶんの強さを持つ。`.single-content--experience` だけ（0, 2, 0）では
	   負けて 1px も動かない。

	   **下外余白 20px はそのまま残す。**移行元も投稿日の下からプロフィールまでが
	   20px である（`.profile-info { margin-top: 20px }` が相殺で立ち上がる）. */
	.single-content.single-content--experience .entry-header {
		padding-top: 15px;
	}

	/* 🚨 **名前と年齢は `em` で書く。**移行元は親（14px）に対して `1.4em` / `1.3em` を
	   当てており、19.6px / 18.2px はその結果である（同 88〜94 行）。**固定の px で
	   写すと、親の字を直したときに追随しない。** */
	.pa-experience__identity-group {
		font-size: 14px;
	}

	.pa-experience__name {
		font-size: 1.4em;
	}

	.pa-experience__age {
		font-size: 1.3em;
	}

	/* 🚨 **携帯幅の左右の内余白は移行元と同じ 25px にする（Bug #3944・裁定 195）。**
	   移行元スマホ版の内側の柱（`div.contents-wrapper`）は 左 25・幅 325px である
	   （本番 www.p-a.jp のスマホ版を 2026-09-06 02:1x JST に携帯の名乗りで実測）。
	   移行先は共通の 15px だったので 左 15・幅 345px と 20px 広かった。

	   🚨 **この 20px が飾り題の絵の大きさを変えていた。**移行元は絵の幅を
	   「器の 60%」と決めているので、器 325px なら 195px、器 345px なら 207px になる。
	   器をそろえると絵もそろう（195 × 38.72px）。カードの一覧も 345 → 325px に
	   なって移行元と一致する.

	   | 見るもの | 移行元 | 直す前の移行先 |
	   |---|---|---|
	   | 題の箱 | 左 25・325px | 左 15・345px |
	   | 飾り題の絵 | 195 × 38.72px | 207 × 41.1px |
	   | カードの一覧 | 325px | 345px | */
	/* --- 「先頭へ戻る」と「似た条件の方の体験談」のあいだ（携帯幅・Bug #4812）---

	   移行元スマホ版は、この 3 か所をパソコン版から変える。写しを PHP を実行する
	   見張りで配って幅 375px・携帯の名乗りで実測した（2026-09-08・取得は 0 回）。
	   出どころは `sp/introduce/css/sp_style_experience_details.css` の 207〜213 行
	   （`.question-area .question-cont .pagetop`）と 222〜227 行
	   （`.recommended_stories` と `.recommended_stories .l-contents`）である。

	   | 見るもの | 移行元 | 直す前の移行先 |
	   |---|---:|---:|
	   | 「先頭へ戻る」の塊の高さ | 60.00 | 95.00 |
	   | 押しボタンの高さ / 幅 / 字 | 30・222.55・10px | 45・345・13px |
	   | 「似た条件の方の体験談」の区画の上の外余白 | 40px | 30px |
	   | 区画の上端から題までの空き | 40.00 | 30.00 |

	   差し引き ＋35.00 − 10.00 − 10.00 = ＋15.00 が、区分の題「成婚退会後」から
	   「似た条件の方の体験談」の題までの区間の開きだった。

	   🚨 **区画の下の内余白は 30px のまま残す。**移行元スマホ版は 35px だが、その 5px は
	   「似た条件の方の体験談」〜「お問い合わせ」の区間に入る。この区間は両側とも
	   読み込みごとに揺れる（移行元 19.87px・dev 39.75px）ため、揺れの出どころを
	   先に切り分ける別 Issue で扱う（Bug #4812 の対象外）。

	   押しボタンの 3 行（幅・上下の内余白・字の大きさ）は、体験談一覧の「もっと見る」の札
	   （`.pa-experience-pager__more-label`）が携帯幅で使っているものと同じである。移行元は
	   どちらも同じ部品（`.Sc-btn`）で組んでいるので、値の裏取りになる。

	   🚨 **押しボタンの書体は Bug #4843 で直した。**移行元の指定と同じ
	   `"Spinnaker", sans-serif` を**素の規則**（この折り返しの外）へ足したので、
	   パソコン幅と携帯幅の両方に効く。**この折り返しの中には書体を足していない。**
	   直す前は dev だけ本文の和文書体だった。行の高さは両側とも字の大きさと同じ
	   （`line-height: 1`）なので、書体を変えても区間の長さには影響しない. */
	.pa-experience__questions .pa-experience__pagetop {
		padding-top: 30px;
	}

	.pa-experience__questions .pa-experience__pagetop-link {
		width: calc(458 / 710 * 100%);
		padding: 9px 0;
		font-size: 10px;
	}

	/* 🚨 **下の内余白は移行元スマホ版の 35px にする（Bug #4911 の段階 1）。**
	   移行元は `sp/introduce/css/sp_style_experience_details.css` の 227 行で
	   `.recommended_stories .l-contents { padding: 40px 0 35px }` と書く。直す前の dev は
	   下だけ 30px で、最後の札の下端から区画の下端までが **−5px** ずれていた（移行元の
	   本番を 2026-09-08 21:50:45 JST に幅 375px・携帯の名乗りで測り、320px でも同じ差）。
	   🚨 **上の 40px と左右の 25px は触らない。**左右は移行元と値が違うが（移行元は 0）、
	   この Issue の対象は下の境目だけである. */
	.pa-experience-related {
		margin-top: 40px;
		padding: 40px 25px 35px;
	}

	/* --- 詳細の区画の見出し（携帯幅・Issue #3809）---

	   移行元のスマホ版は 3 点をパソコン版から変える（本番 www.p-a.jp の
	   detail.php?id=488 を 2026-09-05 22:2x JST に幅 375px・携帯の名乗りで取得して実測）。

	   1. 題の箱の上へのはみ出しを止める（`sp/introduce/css/sp_style_experience_details.css`
	      の 230〜232 行の `position: static; margin-bottom: 30px`。パソコン版の -70px は
	      `#recommended_stories` という目印で当てているので、`class` で組むスマホ版には
	      そもそも当たらない）
	   2. 絵の幅を器の 60% にする（同 233〜234 行。325px の 60% で 195px）
	   3. 絵を塊の要素にして左右中央へ置く（`sp/css/_common.css` の 11〜15 行の
	      `img { display: block }` と `sp/introduce/css/sp_style_experience.css` の
	      57〜59 行の `margin: 0 auto`）

	   🚨 **携帯幅では絵を塊にする。**パソコン幅は行の中に置いて 6px の余りを作るが、
	   移行元のスマホ版は塊なので余りが出ない（器の高さは絵と同じ 38.72px）。
	   両方の幅で同じにすると、どちらかが移行元と食い違う. */

	.pa-experience-related__heading {
		margin: 0 0 30px;
	}

	.pa-experience-related__title img {
		display: block;
		width: 60%;
		margin: 0 auto;
	}

	/* 🚨 **札どうしの縦の間隔は移行元スマホ版と同じ 15px にする（Bug #4997）。**移行元は
	   `.stories-list__item { margin-bottom: 15px }` ＋ `:last-child { margin-bottom: 0 }`
	   である（`sp/introduce/css/sp_style_experience.css` の 616〜624 行）。dev の 18px は
	   移行元に無い値で、札 3 枚のあいだが 2 か所あるので**区画が 6px 高くなっていた**
	   （実測 幅 375px で 移行元 1166.16 対 dev 1172.16。移行元は本番 www.p-a.jp の
	   スマホ版を 2026-09-09 02:19:33 JST に携帯の名乗りで取得して測った）。

	   🚨 **移行元のパソコン版にも 18px は無い**（`introduce/css/style_introduce_experience.css`
	   の 899〜904 行。3 列で横に並ぶので縦の間隔を持たない）。**18px はどちらの幅の
	   移行元にも無い値である。**

	   🚨 **最後の札の下に空きは出ない。**移行元は `:last-child` で 0 に戻しているが、
	   `gap` は札と札のあいだにだけ入るので、この書き方で同じ結果になる。

	   **この区画は読み込みごとに札の中身が入れ替わるが、間隔の指定は中身に依らない**
	   ので、揺れとは無関係に判定できる（測り方は
	   `docs/pa-cms/読み込みごとに中身が変わる区画の測り方.md`）. */
	.pa-experience-related__list {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	/* --- 詳細の飾り 7 枚（携帯幅・Issue #3086）---

	   移行元のスマホ版は**寸法を一覧と同じ指定から受け継ぎ、座標だけを上書き**する
	   （寸法は `sp/introduce/css/sp_style_experience.css` の 68〜116 行、座標は
	   `sp/introduce/css/sp_style_experience_details.css` の 235〜258 行の
	   `.recommended_stories .ornament-img_experienceNN`）。移行元を本番 www.p-a.jp から
	   2026-09-03 18:35 JST に携帯の名乗りで取得して実測し、器の寸法が一覧と 7 枚とも
	   同値であることを確かめた。

	   🚨 **器には幅と高さの両方を書く。**絵の寸法は `img` 側の `width: 100%` /
	   `height: auto` が決めるので器の高さは絵に効かないが、**下端を基準に置く飾りでは
	   器の高さが絵の縦位置を動かす**（一覧で 6 枚目が 20.13px ずれた。一覧側の同じ
	   説明を参照）. */

	.pa-experience-related__ornament img {
		width: 100%;
		height: auto;
	}

	.pa-experience-related__ornament--1 {
		top: 35px;
		left: 54px;
		width: 71px;
		height: 60px;
	}

	.pa-experience-related__ornament--2 {
		top: 25px;
		right: 82px;
		width: calc(71px / 2);
		height: calc(103px / 2);
	}

	.pa-experience-related__ornament--3 {
		top: 200px;
		left: 2px;
		width: calc(68px / 2);
		height: calc(77px / 2);
	}

	.pa-experience-related__ornament--4 {
		top: 100px;
		right: 3px;
		width: calc(130px / 2);
		height: calc(140px / 2);
	}

	.pa-experience-related__ornament--5 {
		top: auto;
		bottom: 295px;
		right: -27px;
		width: calc(200px / 2);
		height: calc(239px / 2);
	}

	.pa-experience-related__ornament--6 {
		bottom: 40px;
		left: -50px;
		width: calc(222px / 2);
		height: calc(195px / 2);
	}

	.pa-experience-related__ornament--7 {
		bottom: 0;
		right: 110px;
		width: calc(91px / 2);
		height: calc(71px / 2);
	}

	/* ----------------------------------------------------------
	 * プロフィールの区画とその下の間隔を移行元スマホ版へそろえる（Bug #4377）
	 *
	 * 携帯幅（375px）で、段の題「入会前」の位置が移行元より 206.67px 下にあった。
	 * 内訳は 3 つで、合計がぴったり一致する。
	 *
	 *   本文の中身が始まる位置   移行元 168.00 対 dev 153.00 …  −15.00
	 *   投稿日 ＋ プロフィール   移行元 771.42 対 dev 944.09 … +172.67
	 *   段の題までの間          移行元 100.00 対 dev 149.00 …  +49.00
	 *
	 * 🚨 **移行元は行送りをほとんど書かない。**このページの要素の目録 50 件のうち
	 * 48 件が `normal` である（例外は「短期決戦タイプ」の 27.6px と
	 * 「成婚お相手情報」の 17.6px の 2 件）。この書体では `normal` はおよそ 1.5 倍
	 * になる（14px → 21px・15px → 23px・12px → 18px）。dev のテーマは要素ごとに
	 * `line-height: 1.6` を直に持つため、字の大きさが一致していても行が積み上がる。
	 *
	 * 🚨 **お相手の題（`.pa-experience__partner-title`）は入れない。**両側とも
	 * 33.59px で既に一致している（移行元は `line-height: 1.1` を書いているので
	 * `normal` へ変えると崩れる。出どころは `sp_style_experience_details.css` の
	 * 160〜166 行）。
	 *
	 * 🚨 **パソコン幅は触らない（この Bug の対象外）。**移行元は幅を問わず行送りを
	 * 書いていないので、パソコン幅も同じ原因を抱えている可能性が高い。別途の
	 * 切り分けが要る。
	 *
	 * 移行元の出どころは `sp/introduce/css/sp_style_experience_details.css`
	 * （手元の写し `wp-platform-wt/legacy-www-full/public/` で読める。取得は不要）.
	 * -------------------------------------------------------- */

	.pa-experience__tag,
	.pa-experience__identity,
	.pa-experience__before-title,
	.pa-experience__result-title,
	.pa-experience__before-list,
	.pa-experience__number {
		line-height: normal;
	}

	/* 🚨 **属性の札は縦の内余白を持たない。**移行元スマホ版は `padding: 0 5px` で
	   ある（同 105〜108 行）。dev の `padding: 2px 6px` は縦に 4px 足しており、
	   行送りだけ直しても札 1 枚あたり 4px 残る（実測 移行元 18.00 対 dev 23.19）。
	   札と札の間隔も移行元は縦横とも 6px である（同 106〜107 行の
	   `margin-right: 6px` と `margin-bottom: 6px`）. */
	/* 🚨 **携帯幅は上下の外余白を据え置く（Bug #4595）。**素の規則で札の器へ
	   下の 2px を足したので、ここで 0 に戻す。**移行元スマホ版に 2px は無い**
	   （2px はパソコン版の `inline-block` の行ボックスの余りを写したものである）。
	   **上の 15px は絵が在るときだけ別の規則が当てる**（`--has-illust` 付き・42900 行）。
	   ここは絵の有無にかかわらず当たるので、**上を 0 にして絵が在るときの 15px を
	   壊さない**（あちらは詳細度 `(0,2,0)` でこちらの `(0,1,0)` より強い）. */
	.pa-experience__tags {
		gap: 6px;
		margin: 0;
	}

	/* 🚨 **携帯幅は名乗りの行の外余白を据え置く（Bug #4595）。**素の規則で下を 5px に
	   したので、ここで 0 に戻す。**移行元スマホ版に 5px は無い**（5px はパソコン版の
	   札の器の `margin-top` を写したものである）。
	   **既存の上書きは `--has-illust` 付きで、絵が無い記事には当たらない**（型紙は絵が
	   在るときだけ目印を付ける・`single-experience.php` の 254 行）。**ここは絵の有無に
	   かかわらず当たる**. */
	.pa-experience__headline {
		margin: 0;
	}

	/* 🚨 **携帯幅は見出しの下の外余白を 20px に据え置く（Bug #4595）。**素の規則を
	   23px にしたので、ここで 20px に戻す。**23px はパソコン版の値**（移行元の
	   「見出しの下 20px ＋ 文字の列の上 3px」を 1 つにまとめたもの）で、**移行元
	   スマホ版は 20px である**。
	   🚨 **携帯幅には `margin-bottom` の上書きが無かった**ので新しく足した
	   （既存の `--has-illust` 付きの規則は `order` `width` `max-width` `margin-left`
	   だけを持つ）. */
	.pa-experience__lead {
		margin-bottom: 20px;
	}

	.pa-experience__tag {
		padding: 0 5px;
	}

	/* 🚨 **名前と年齢を 1 行に収める（Bug #4878）。**移行元スマホ版は名前と年齢を
	   別の段落として横に並べ（`.txt-area p { display: inline-block }`）、名前の右に
	   10px を置くだけである（`sp/introduce/css/sp_style_experience_details.css` の
	   70〜71 行と 84〜87 行）。dev は組と組の間に `1em`（14px）を置き、さらに名前と
	   年齢の後ろへ 2px ずつ足していたため、行が 8px 広かった。

	   🚨 **8px 広いだけで、幅 320px では行が 2 行になる。**名前の列は器の 60% 幅
	   なので、320px では 174px しかない。実測（移行元は本番 www.p-a.jp のスマホ版・
	   2026-09-09 01:03 JST・携帯の名乗り）で dev の行は **178.05px** あり、
	   174px に **4.05px** だけ収まらなかった。**行が 1 つ増えると名前の列が 21px
	   高くなる**（幅 320px で 移行元 164.83 対 dev 184.5）。**幅 375px では列が
	   207px あるので収まり、両側が一致する**（だから 375px だけを見ると差が出ない）。

	   🚨 **パソコン幅の同じ直しは `@media (min-width: 750px)` の中に在る**
	   （42859 行の 14.56px と 42865 行の 0）。**あちらの注記は「携帯幅の 2px は
	   移行元スマホ版と一致しているため残す」と書いていたが、これは誤りである。**
	   移行元の「K.H.さん」の器は **68.2px**、dev の同じ器は **70.2px** で、
	   差はこの 2px だった（同じページ・同じ幅・同じ中身で実測）。あちらの注記も
	   同じ PR で直した。

	   🚨 **組と組の間の空白文字は潰さない。**移行元も潰しておらず、器の字（12px）
	   ぶんの 3.43px が入る（実測: 名前の器の右端 195.2 ＋ 10px ＝ 205.2 に対し、
	   年齢の器の左端は 208.63）。dev は 13px なので 3.72px で、0.29px 広いだけである.
	   */
	.pa-experience__identity-group + .pa-experience__identity-group {
		margin-left: 10px;
	}

	.pa-experience__name,
	.pa-experience__age {
		margin-right: 0;
	}

	/* 🚨 **活動結果の札は左右の内余白を持たない（Bug #4878）。**移行元は
	   `.number-list .list_item` に内余白を書いていない（`introduce/css/
	   style_experience_details.css` の 243〜246 行。スマホ版に上書きも無い）。
	   dev の `padding: 0 4px` は移行元に無い値である。

	   🚨 **幅 320px では、この左右 8px で札の題名が 1 行増える。**札 1 枚の幅は
	   96 / 97 / 97px で両側とも同じだが、内余白を引くと中身が 88px になり、
	   「成婚までの期間」（13px × 7 字 ＝ 91px）が 2 行になる。**3 枚は高さを
	   そろえるので、1 枚が増えると 3 枚とも 20px 高くなる**（札 1 枚が
	   移行元 82 対 dev 102・区画は 移行元 122 対 dev 142）。
	   **幅 375px では札が 112px あるので収まり、両側とも 122px で一致する。**

	   🚨 **パソコン幅は触らない（この Bug の対象外）。**パソコン幅の 4px も移行元に
	   無いが、あちらは札が広いので高さに出ない。パソコン幅のプロフィールは
	   Bug #4513 の受け持ちなので、そちらへ申し送る. */
	.pa-experience__number {
		padding: 0;
	}

	/* 🚨 **お相手の箱は移行元スマホ版で内余白を持たない。**パソコン版は
	   `padding: 20px; border: 1px solid` だが（`introduce/css/style_experience_details.css`
	   の 284〜291 行）、スマホ版は `padding: 0` へ上書きしている（同 152〜156 行）。
	   **枠線 1px は上書きされていないので残る。**dev は内余白 20px をそのまま
	   持っており、上下で 40px 太っている.

	   🚨 **箱の幅は枠線の外側で 347px である（Bug #8439）。**移行元スマホ版は
	   `width: 100%`（`sp/introduce/css/sp_style_experience_details.css` の 151〜155 行）を
	   `content-box` で取るので、親の 345px に左右の枠線
	   1px ずつが足され、右へ 2px はみ出す。dev はテーマの `border-box` で 345px だった
	   （2026-09-28 の直す前の読み `pa-verify-assets/B/8438-8439-直す前-0928/`）.
	   同じ 155 行の `margin-top: 20px` は写さない。dev は親の格子の `gap: 20px` が
	   同じ空きを作っている. */
	.pa-experience__partner {
		box-sizing: content-box;
		width: 100%;
		padding: 0;
	}

	/* 🚨 **お相手の 2 項目は 1 行ずつに並べる（Bug #4377）。**移行元は
	   `<p><span>年齢（成婚退会時）:</span>40代前半</p>` の形で、**項目名と値が同じ行**に
	   乗る（`sp/introduce/experience/detail.php` の 199〜200 行）。dev は説明リストの
	   `dt` と `dd` を縦に積んでおり、1 行あたり 40.50px（移行元 23.00px）だった。
	   **移行元スマホ版の項目名の右の空きは 10px である**（`sp_style_experience_details.css`
	   の 167〜170 行の `.targetCont p span { margin-right: 10px }`）。

	   🚨 **4 班が Bug #4185 で同じ直しを入れているが、`@media (min-width: 750px)` の
	   中だけだった**（40548 行あたり）。携帯幅には届いていない。**あちらの規則は
	   触らず、同じ形をこちらへ写す。**

	   🚨 **題（`.pa-experience__partner-title`）の行送りには触らない。**携帯幅は
	   両側とも 33.59px で既に一致している（移行元スマホ版は `line-height: 1.1` と
	   上下の内余白 8px を持ち、16 × 1.1 ＋ 16 ＝ 33.6 である）。パソコン幅と同じく
	   `normal` にすると崩れる. */
	.pa-experience__partner-row {
		display: flex;
		column-gap: 10px;
	}

	.pa-experience__partner-row,
	.pa-experience__partner-description {
		margin-bottom: 0;
		line-height: normal;
	}

	.pa-experience__partner-term {
		line-height: normal;
	}

	/* 移行元は項目名の文字列そのものに半角のコロンを持つ（`年齢（成婚退会時）:`）。
	   投入した文言には無いので足す。読み上げには乗らない飾りなので擬似要素で書く。
	   **パソコン幅は 40574 行で同じ指定をしている（Bug #4185）。** */
	.pa-experience__partner-term::after {
		content: ":";
	}

	/* 🚨 **画面内ナビは左右の内余白を写していないと 2 行に折り返る。**移行元
	   スマホ版は `padding: 0 15px 0 30px` である（同 179〜180 行）。dev は
	   パソコン版の `0 28px 0 44px` を携帯幅でも使うため、3 項目の内余白だけで
	   216px を占め、375px に収まらず 2 行になる（実測 移行元 20.00 対 dev 39.00）。
	   字を 12px へ落とす上書きは既に在るが、内余白が抜けていた. */
	.pa-experience__questions .pa-experience__anchor-link {
		padding: 0 15px 0 30px;
	}

	/* 🚨 **段の題の塊の上外余白は移行元スマホ版で 30px である**（同 204〜206 行の
	   `.question-area .question-cont { margin-top: 30px }`）。dev はパソコン版の
	   50px を携帯幅でも使っている. */
	.pa-experience__questions .pa-experience__question-group {
		margin-top: 30px;
	}
}

/* --------------------------------------------------------------
 * スマートフォン幅の固定 CTA バー（電話相談・資料請求・来店予約。Bug #1320）
 *
 * 値の写し元: 本番サイト（www.p-a.jp）の配信 CSS（/assets/css/style.css）の
 * .fixed-cta 系ルール。curl で取得して確かめた実値である。
 *
 * PC 幅では出さない。既定を display: none にしておき、749px 以下でだけ出す
 * 向きに書く。画面右端の固定導線（.pa-side-cta）が「750px 以上でだけ出す」なのに
 * 対して、こちらは向きが逆になる。理由は本番の出し分けが実際にそうなっている
 * ため（PC は側の導線、SP はこの下部バーで役割を分けている）。どちらも既定を
 * 非表示にして、対応する幅のメディアクエリだけで表示に切り替える書き方は揃えて
 * ある（消し忘れを防ぐため）。
 *
 * ページの絞り込みはここでは行わない。出す・出さないの判定は footer.php が持つ
 * （フォームのページ以外の全ページで出す。Issue #1618）。トップページ限定
 * のセレクタ（.home 等）はこの節にも他の節にも置いていない。
 *
 * 【高さ 55px を 64px に直さないこと】移行元は同じ役目のバーを 2 つの作りで持って
 * いる。トップページは新デザインの nav.fixed-cta（幅 375px で 375x55px）、下層ページ
 * は /sp/ ミラーの古い作りの footer#footer.top_option（375x63.55px）である。ここは
 * 前者を写しているので 55px が正しい。Issue #1618 の実測表にある「375x64px」は後者
 * （下層ページの古い作り）の値である（2026-08-07 にブラウザ描画で確認）。
 *
 * 移行元は、このバーがページ末尾の著作権表示に重なるのを避けていない（移行元も
 * dev も body の padding-bottom は 0px で、バーが重なる）。重なりを避ける余白は
 * 移行元に無いため、ここでも足していない。
 *
 * 【出す条件は幅だけで持つ】（Bug #2618）一時期ここに `(pointer: coarse)` を
 * 足していた（Issue #2158）。携帯・タブレットを横向きにすると器の幅が 750px 以上に
 * なり、このバーではなく画面右端の .pa-side-cta（PC 用）が出てしまうためである
 * （Issue #2104）。しかしその条件は、移行元がパソコン版を返すタブレット
 * （iPad は端末の名乗りでパソコン扱い・2026-09-01 実測）までこのバーの側へ寄せて
 * いた。Bug #2618 で外し、幅だけの条件へ戻した。**幅 750px 以上ではこのバーを
 * 出さず、対になる .pa-side-cta（PC 用）を出す。**これは移行元と同じ振り分けである。
 * ============================================================== */

.pa-mobile-fixed-cta {
	display: none;
}

@media (max-width: 749px) {
	.pa-mobile-fixed-cta {
		display: block;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		/* 本番と同じ値。フッターや本文の重なりより前に出す。 */
		z-index: 9999;
	}
}

.pa-mobile-fixed-cta__list {
	display: grid;
	/* 本番の実値。電話は文字を出さずアイコンだけなので他の 2 つより狭い列にする. */
	grid-template-columns: 1fr 2.83fr 2.83fr;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-mobile-fixed-cta__link {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5em;
	height: 55px;
	padding: 0.75em 0;
	color: var(--pa-palette-white);
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	/* 本番は隣接ボタンとの境目を白い枠線で作る（背景色が異なるボタンが並ぶため）. */
	border: 1px solid var(--pa-palette-white);
	position: relative;
}

/* --- ボタンの文字の大きさ（Issue #1651）---
 * 移行元は、スマートフォンでは根本（html）の文字を 2.5445292621vw の可変にし、
 * body でその 1.5 倍（1.5rem）を指している。バーのボタンはその body の値をその
 * まま受け取り、電話相談だけ .fixed-cta__item.tel の font-size: .75em で 1 段
 * 小さくしている（移行元 public/assets/css/style.css）。ここでも同じ組み方に
 * するため、外側の ul に body 相当の値を置き、電話相談だけ .75em を掛ける.
 *
 *   資料請求・来店予約 … 1.5 x 2.5445292621vw = 3.8168vw（幅 375px で 14.31px）
 *   電話相談           … その 0.75 倍 = 2.8626vw（幅 375px で 10.73px）
 *
 * テーマは根本の文字を 16px 固定・body をプロファイル別の 13px / 15px にして
 * いる。移行元の可変の体系とは別なので、このバーの中だけ移行元の体系を写す.
 *
 * 【上限は付けない（Bug #2618）】移行元を幅 320 / 375 / 414 / 500 / 600 / 700 /
 * 749px で描いて測ったところ、バーが出る 749px まで上の比例がそのまま続き、
 * 移行元にも上限が無かった（2026-08-08 に実測）。
 *
 * 一時期ここに上限 `min(3.8168vw, 28.59px)` を付けていた（Issue #2158）。当時は
 * `(pointer: coarse)` によって 749px を超える幅でもこのバーが出たため、vw のまま
 * 伸びると文字が際限なく大きくなったからである。Bug #2618 でその条件を外し、この
 * 節が効くのは 749px 以下だけになったので、上限は要らなくなった。749px 幅での
 * 値（3.8168vw × 749px = 28.59px）が最大なので、上限を外しても見た目は変わらない。
 * 高さだけは幅に連動せず 55px 固定である（上の height）.
 *
 * 【電話相談のボタンの幅について】移行元の実値は幅 375px で 56.30px である.
 * これは上の grid-template-columns の 1fr の取り分（15.01vw）そのものであり、
 * 移行元もこのバーも幅を直接は指定していない。文字を 15px 固定のままにすると、
 * 「電話相談」の 4 文字が 1fr の取り分より広くなり、格子がその文字幅（68px）まで
 * 広がってしまう。文字の大きさを移行元に合わせると取り分の中に収まるので、
 * 幅の指定は足していない. */
@media (max-width: 749px) {
	.pa-mobile-fixed-cta__list {
		font-size: 3.8168vw;
	}

	.pa-mobile-fixed-cta__item--tel .pa-mobile-fixed-cta__link {
		font-size: 0.75em;
	}
}

/* 資料請求・来店予約だけに付く「押せる先」を示す小さな矢印。本番は疑似要素で
   同じ矢印を出し、電話だけ content: none で消している。ここも同じ組み方にする. */
.pa-mobile-fixed-cta__item--request .pa-mobile-fixed-cta__link::after,
.pa-mobile-fixed-cta__item--reserve .pa-mobile-fixed-cta__link::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.35em);
	right: 1em;
	width: 0.5em;
	height: 0.5em;
	border-style: solid;
	border-width: 0 0 2px 2px;
	border-color: transparent transparent currentColor currentColor;
	transform: rotate(225deg);
}

.pa-mobile-fixed-cta__icon {
	flex: 0 0 auto;
}

.pa-mobile-fixed-cta__label {
	word-break: keep-all;
}

/* --- ボタンごとの色 ---
 * 移行元は同じ役目の金色を 2 系統持つ。トップページの新デザイン
 * （public/assets/css/style.css の .fixed-cta__item.request）は #c88501 で、
 * 下層ページの旧デザイン（public/style.css のヘッダー等）は #a3762b である.
 * このバーは前者を写しているので、ここだけ #c88501 を実値で持つ（Issue #1651）.
 *
 * 【共通の金トークン --pa-palette-gold（#a3762b）を書き換えないこと】この
 * トークンは見出し色・強調色・ボタン背景という基幹の 3 つを含む 9 箇所から
 * 参照されている。移行元を調べると、このバー以外の 8 箇所はすべて旧デザイン側
 * （#a3762b 系）が出典である。たとえばヘッダーの資料請求ボタンは
 * public/style.css の #header-btn-navi li:nth-child(3) a が
 * background-color: #a3762b、ヘッダーの「電話予約：」は .header-tel-text が
 * color: #a3762b、パソコン幅の右端の導線は画像 branch/images/cmn_side_inquiry.png
 * で #a08046 である。トークンごと #c88501 に変えると、この 8 箇所が移行元から
 * 離れてしまう。そのため、上書きはこのバーの 1 箇所に閉じる（Issue #1651 の案 B）.
 *
 * 来店予約も同じ形で上書きしてある。移行元は #e01f10、トークンは #e1200f で
 * 1〜2 の差がある。Issue #1651 では対象外にして保留したが、Bug #3648 で
 * 移行元の実値へそろえた（下の規則の注釈を参照）.
 *
 * 電話だけはテーマの共通パレットに対応する色が無い。ヘッダーの
 * --pa-header-cta-eq-bg（#838383）と同じやり方で、この部品専用の実値
 * （移行元と同じ #767673）を持つ。 */
.pa-mobile-fixed-cta__item--tel .pa-mobile-fixed-cta__link {
	background-color: #767673;
}

.pa-mobile-fixed-cta__item--request .pa-mobile-fixed-cta__link {
	background-color: #c88501;
}

/*
 * 🚨 **来店予約はトークンを指さない（Bug #3648）。**移行元の実値は **#e01f10** で、
 * テーマの `--pa-palette-red-legacy` は **#e1200f** である。1〜2 の差だが、幅 375px の
 * 本番を実測すると移行元は `rgb(224,31,16)`、dev は `rgb(225,32,15)` で確かに違う
 * （2026-09-05）。**トークンのほうは変えない。**あれは見出し色・強調色・リンクの
 * ホバーほか 9 箇所から参照されており、そちらは移行元と一致している。上書きは
 * このバーの 1 箇所に閉じる（資料請求の #c88501 と同じ考え方である）.
 */
.pa-mobile-fixed-cta__item--reserve .pa-mobile-fixed-cta__link {
	background-color: #e01f10;
}

.pa-mobile-fixed-cta__link:hover,
.pa-mobile-fixed-cta__link:focus-visible {
	color: var(--pa-palette-white);
	filter: brightness(0.92);
}

/* ==============================================================
 * 移行元の下層 5,296 ページの姿（Bug #3385・裁定 82・Bug #3648・Task #3734）
 *
 * 🚨 **いまはこの姿を全ページで出す（Task #3734・ユーザーの判断 2026-09-05 13:0x）。**
 * 移行元はこのバーを 2 世代持つが、写しは移行元 `/guide/` の姿へ統一する。型紙
 * （`template-parts/mobile-fixed-cta.php`）は `--legacy` を必ず出す。**上までの指定は
 * この節が全部上書きするので、そのままの姿で出るページは無い**（土台として残す）。
 * 意図的変更として台帳（`docs/pa-cms/design/意図的変更の台帳.md`）に記録してある。
 *
 * 上までの指定は**移行元の新デザイン**（トップ + 店舗 6 + 入会案内の「コースと料金」の
 * 8 ページ）を写したものである。**下層 5,296 ページは絵 3 枚で描いており、4 点が違う。**
 *
 * | | 新デザイン | 下層の絵 |
 * |---|---|---|
 * | 電話相談 | **絵が上・文字が下** | **文字が上・絵が下** |
 * | 資料請求の地色 | `#c88501` | **`#a3762b`** |
 * | 書体 | ゴシック（テーマの既定） | **明朝** |
 * | 区画の比 | `1 : 2.83 : 2.83` | **`1 : 2.922 : 2.922`** |
 *
 * **どちらも実測で裏を取ってある。**新デザインは本番のトップを携帯の名乗り・幅 390px で
 * （`nav.fixed-cta` 390 × 55・2026-09-04 16:01 JST）、下層は移行元の成婚ストーリー一覧を
 * 同じ条件で（`ul.footer_menu` 390 × 56.38、区画 56.38 / 164.81 / 164.81 = **1 : 2.922**）。
 *
 * **絵はそのまま貼らない**（裁定 79）。「**背景は CSS・文言はテキスト**」で組む。
 * 絵を画素で読んで採った値（2 倍の絵なので実寸は半分）:
 *
 *   電話相談 46 × 46・地 rgb(118,118,115)。文字 y 4.5〜13.5（高さ 9.5）・絵 y 19.0〜40.0
 *   資料請求 134.5 × 46・地 rgb(163,118,43)。文字 x 32.0〜95.0・y 15.5〜30.5（高さ 15.5）
 *   来店予約 134.5 × 46・地 rgb(224,31,16)。矢印は幅 10.0 × 高さ 15.5
 * ============================================================== */

@media (max-width: 749px) {
	/*
	 * 帯の地色（Bug #3509）。移行元スマホ版は帯の器そのものが持つ
	 * （`sp/css/common.css` の 411〜418 行・`#footer { background: #ececec }`）。
	 * 一覧はこの色を持たないので、**下の上下の空きのところに地色が見える**.
	 */
	.pa-mobile-fixed-cta--legacy {
		background-color: #ececec;
	}

	/* 区画の比。移行元の絵 46 : 134.5 : 134.5 = 1 : 2.922（実測とも一致）. */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__list {
		grid-template-columns: 1fr 2.922fr 2.922fr;

		/*
		 * 区画どうしの間（Bug #3509）。移行元は真ん中の項目の左右に 2px ずつ置く
		 * （`sp/css/common.css` の 455〜457 行・
		 * `#footer .footer_menu li:nth-child(2n + 0) { margin: 0 2px }`）。
		 * 項目は 3 つなので当たるのは 2 番目だけで、間は 2 か所とも 2px になる。
		 * 並べ方が格子なので、同じ見た目は列の間で作る.
		 */
		column-gap: 2px;

		/*
		 * 帯の上下の空き（Bug #3509）。移行元は
		 * `#footer .footer_menu { margin: 1.25% 0 }`（`sp/css/common.css` 441〜447 行）。
		 *
		 * 🚨 **上下の外余白でも、割合は「包む器の幅」で解ける。**幅 375px なら
		 * 375 × 0.0125 ＝ 4.6875px である。帯の高さ 64.00 は
		 * 一覧 54.21 + 4.6875 × 2 ＝ 63.59（画素では 64）になる.
		 */
		margin: 1.25% 0;
	}

	/*
	 * 高さ。移行元は幅に連れて伸びる（幅 390px で 56.38・375px で 54.2 相当）。
	 * **新デザインの 55px 固定とは別である。**
	 *
	 * 🚨 **`vw` で書かない（Bug #3509）。**画面の幅ではなく**列の幅**から決める。
	 * 移行元の電話の絵は 46 × 46 の正方形なので、電話の枠を正方形にすれば行の
	 * 高さがそれに揃う。旧版は `14.603vw`（＝ 46 / 315）と書いていたが、
	 * 区画の間の 2px を差し引く前の幅で解けるため 0.6px ほど高かった.
	 */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__link {
		/* 行の高さは電話の枠が決める（すぐ下）。面はその高さいっぱいに広げる. */
		height: 100%;
		padding: 0;
		border: 0;

		/*
		 * 🚨 **同梱した明朝を先頭に置く（Task #3697）。**手元の書体
		 * （游明朝 = macOS のみ）を先頭にしていたため、環境によって字形が変わり、
		 * さらに太さ 700 で移行元の絵より濃さが 1.89 倍あった。同梱の
		 * Noto Serif JP 200 にすると 1.08 倍になる。選び方の根拠と候補の比較は
		 * ファイル冒頭の @font-face の説明にある。
		 *
		 * 手元の書体を後ろに残すのは、woff2 が読めなかったときの控えである。
		 */
		font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;

		/*
		 * 🚨 **土台の `font-weight: 700` をここで打ち消す。**土台の規則
		 * （`.pa-mobile-fixed-cta__link`）は移行元の新デザインを写したもので、
		 * そちらは触らない（第 3 節の陰性対照）。
		 */
		font-weight: 200;
	}

	/* 🚨 **電話相談は文字が上・絵が下。**組みは変えず順序だけ入れ替える. */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--tel .pa-mobile-fixed-cta__link {
		flex-direction: column;

		/*
		 * 文字と絵の間（Task #3697）。移行元の絵では、文字の墨の下端 y 14.0 と
		 * 絵の墨の上端 y 19.5 の間が **5.5**（区画 46 に対して 11.96%）ある。
		 * 直す前は 0.35em（＝ 3.76px・区画の 6.9%）で**狭かった**。
		 *
		 * 🚨 **区画の幅の単位（`cqw`）の前に px の控えを置く**（この節の他の宣言と
		 * 同じ理由）。px の値は幅 375px のとき（区画 54.2）の実寸である.
		 */
		gap: 5.96px;
		gap: 11cqw;
	}

	/*
	 * 行の高さの素（Bug #3509）。移行元の電話の絵は 46 × 46 の正方形なので、
	 * 電話の枠を正方形にすると、格子の行の高さがその 1 辺に揃う。列の幅は
	 * 区画の間の 2px を差し引いたあとの値なので、`vw` で書くより移行元に近い.
	 */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--tel {
		aspect-ratio: 1;
	}

	/*
	 * 🚨 **区画そのものを「幅の基準」にする（Bug #3509）。**移行元は文字も矢印も
	 * 絵に焼き込んであり、区画の幅に連れて大きさが変わる。`vw`（画面の幅）で
	 * 書くと区画の間の 2px を差し引く前の幅で解けてしまうので、`cqw`（この器の
	 * 幅の 1%）で書く。`container-type: inline-size` はその宣言である.
	 */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item {
		container-type: inline-size;
	}

	/*
	 * 電話の絵の大きさ（Task #3697）。移行元の絵を画素で読むと、受話器と音の弧を
	 * 合わせた墨は**区画 46 に対して 24.0 × 21.0**（＝ 52.17% × 45.65%）である。
	 * 直す前は SVG の width / height 属性の 24 × 20px 固定で、実際に描かれる墨は
	 * 21.0 × 18.5 しかなく、区画に対して 38.7% × 34.1% と小さかった。
	 *
	 * 🚨 **区画の幅の単位（`cqw`）の前に px の控えを置く**（この節の他の宣言と同じ
	 * 理由。読めないブラウザでは大きさの宣言だけが捨てられる）。px の値は
	 * 幅 375px のとき（区画 54.2）の実寸である.
	 */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--tel .pa-mobile-fixed-cta__icon {
		width: 28.27px;
		width: 52.17cqw;
		height: 24.74px;
		height: 45.65cqw;
	}

	/*
	 * 文字の大きさ（Bug #3509）。移行元の絵の「資料請求」は、画素で読むと
	 * 幅 74.00 × 高さ 15.67（幅 375px のとき）である。dev は 60.33 × 13.67 で
	 * 18% 小さかった。区画の幅 158.40 に対する 11.14% が同じ大きさになる
	 * （手元で描いて画素を数えて合わせた）.
	 */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--request .pa-mobile-fixed-cta__label,
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--reserve .pa-mobile-fixed-cta__label {
		/* 🚨 **区画の幅の単位を読めないブラウザ向けに、先へ px を置く**（自動レビューの
		   指摘）。読めない宣言はその 1 行だけが捨てられるので、前の行が残る。置かないと
		   **大きさだけが元へ戻り、切り抜きや地色は当たった中途半端な姿**になる。
		   px の値は幅 375〜390px のときの実寸である（Safari 15 等が対象）. */
		font-size: 18px;
		font-size: 11.5cqw;

		/* 🚨 **文字は区画の真ん中ではない。**移行元の絵の中で、文字の中心は
		   区画の中心より 4.1px 左にある（矢印が右にある分だけ寄っている）。
		   右へ外余白を置いて、中心をその半分の 2 倍だけ左へずらす. */
		margin-right: 8px;
		margin-right: 5.18cqw;
	}

	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--tel .pa-mobile-fixed-cta__label {
		order: -1;

		/*
		 * 文字の大きさと字間（Task #3697）。移行元の絵の「電話相談」は、画素で読むと
		 * **区画 46 に対して墨が 39.5 × 9.0**（＝ 85.87% × 19.57%）である。
		 * 直す前は 81.8% × 17.3% で、**縦に 2.3 点小さかった**。
		 *
		 * 大きさを上げるだけでは横に伸びすぎるので、字間も移行元に合わせて詰める
		 * （土台の `letter-spacing: 0.1em` はこの 4 文字には広すぎる）。
		 *
		 * 🚨 **区画の幅の単位（`cqw`）の前に px の控えを置く**（この節の他の宣言と
		 * 同じ理由）。px の値は幅 375px のとき（区画 54.2）の実寸である.
		 */
		font-size: 11.98px;
		font-size: 22.1cqw;
		letter-spacing: 0;
	}

	/* 地色。移行元の絵から画素で読んだ値である. */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--request .pa-mobile-fixed-cta__link {
		background-color: #a3762b;
	}

	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--reserve .pa-mobile-fixed-cta__link {
		background-color: #e01f10;
	}

	/*
	 * 矢印（Bug #3509）。移行元の絵を画素で読むと、**幅 10.5 × 高さ 15.0**（絵は
	 * 2 倍なので実寸は半分）で、**縦に長い「>」**である。旧版は正方形を 45 度
	 * 回して作っていたが、その形は**横に長く**なるため（実測 5.0 × 9.0）、
	 * 移行元の細長い形にならなかった。
	 *
	 * ここでは大きさをそのまま持てる `clip-path` で「>」を切り出す。**描かれる
	 * 画素の外接矩形が要素の外形と一致する**ので、期待値を検査で見張れる。
	 *
	 * 値は絵の実寸を区画の幅（134.5）に対する割合へ直したものである。
	 *
	 *   幅   10.5 / 134.5 = 7.81%    高さ 15.0 / 134.5 = 11.15%
	 *   右端 12.3 / 134.5 = 7.77%（絵の中の左端 113.5 から逆算）
	 */
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--request .pa-mobile-fixed-cta__link::after,
	.pa-mobile-fixed-cta--legacy .pa-mobile-fixed-cta__item--reserve .pa-mobile-fixed-cta__link::after {
		top: 50%;

		/* 区画の幅の単位を読めないブラウザ向けの控え（上と同じ理由）. */
		right: 12px;
		right: 7.77cqw;
		width: 12px;
		width: 7.81cqw;
		height: 18px;
		height: 11.15cqw;
		border: 0;
		background-color: currentColor;
		transform: translateY(-50%);

		/* 線の太さは絵と同じ 1px 相当（区画の幅の 1.5%）にする. */
		clip-path: polygon(0 0, 24% 0, 100% 50%, 24% 100%, 0 100%, 76% 50%);
	}
}

/* ==============================================================
 * 画面右端に固定表示する申し込みへの導線（Bug #1436）
 *
 * 移行元は 1 枚ずつの画像（branch/images/cmn_side_pagetop.png / cmn_side_reserve.png /
 * cmn_side_inquiry.png）を縦に並べ、囲みだけを CSS で浮かせていた。移行元の CSS は
 * 次のとおりである（本番で配信中の branch/assets/css/style.css の .bnr-conv）。
 *
 *   position: fixed; right: 0; bottom: 30px; font-size: 0; z-index: 9999;
 *   a { display: block; margin-bottom: 1px; }
 *   @media screen and (max-width: 749px) { display: none; }
 *
 * ここでは画像を使わず、読み上げられる文字と SVG で組み直す。大きさ・位置・重なりの
 * 順番・スマートフォン幅での非表示は移行元の値をそのまま使う。
 *
 * 🚨 **色は移行元の絵の画素から採る（Task #3548）。**CSS には書いていないので、
 * 移行元の宣言をいくら探しても出てこない。以前はパレットの赤と金へ寄せていたが、
 * その判断は意図的変更の台帳に記録が無く、移行元と 3 色とも違っていた。
 *
 * | 見るもの | 移行元の絵の画素 | 直す前の dev |
 * |---|---|---|
 * | 来店予約の地 | `rgb(197,31,16)` = #c51f10 | `rgb(225,32,15)` |
 * | 来店予約の下 16px の帯 | `rgb(156,24,12)` = #9c180c | 帯そのものが無い |
 * | 資料請求の地 | `rgb(160,128,70)` = #a08046 | `rgb(163,118,43)` |
 * | 資料請求の下 16px の帯 | `rgb(127,102,55)` = #7f6637 | 帯そのものが無い |
 * | 先頭へ戻るの枠・罫線・文字 | `rgb(0,0,0)` | `rgb(71,71,71)` |
 *
 * 🚨 **共有のパレット（`--pa-palette-red-legacy` / `--pa-palette-gold`）は変えない。**
 * ヘッダー・フッターほかの部品が同じ値を使っており、そちらは移行元と一致している.
 *
 * ヘッダーの導線の --pa-header-cta-reservation-bg / --pa-header-cta-request-bg は
 * ここからは使えない。あの 2 つは .site-header の中でだけ定義されていて、外に出た
 * 要素では値が解決せず塗りが透明になるためである.
 * ============================================================== */

/* スマートフォン幅では出さない。既定を display: none にしておき、750px 以上でだけ
   出す向きに書いてある。移行元は逆向き（既定で出して 749px 以下で消す）だったが、
   見え方は同じで、こちらの向きなら消し忘れが起きない。

   出す条件は幅だけで持つ。一時期 750px 以上に加えて `and (pointer: fine)` を
   足していた（Issue #2158・関連 Issue #2104）。携帯・タブレットを横向きにすると
   器の幅が 750px 以上になり、指がメインの機器でもこの導線が出て店舗詳細ページで
   画面右にはみ出していたためである。Bug #2618 で外した。移行元は幅 750px 以上の
   タブレットにパソコン版を返すので、この導線が出るのが移行元と同じ振る舞いである。
   対になる .pa-mobile-fixed-cta（下部バー）は 749px 以下だけで出る。 */
.pa-side-cta {
	display: none;
}

@media (min-width: 750px) {
	.pa-side-cta {
		display: block;
		position: fixed;
		right: 0;
		bottom: 30px;
		/* 移行元と同じ値。フッターや本文の重なりより前に出す */
		z-index: 9999;
	}
}

/* 移行元の絵から採った色と寸法（Task #3548）。この部品の中だけで使う。
   共有のパレットへは入れない（ほかの部品の色まで動いてしまう）. */
.pa-side-cta {
	/* 「先頭へ戻る」の枠・横罫線・山形の矢印・「TOP」の文字。移行元は 4 辺とも
	   `rgb(0,0,0)` である（`cmn_side_pagetop.png` の外周を実測）. */
	--pa-side-cta-pagetop-ink: #000;
	/* 「来店予約」「資料請求」の下端にある濃い色の帯の高さ。移行元は絵の下から
	   16px（y 104〜119）が全幅にわたって濃く、矢印はこの帯の中にある. */
	--pa-side-cta-foot-height: 16px;
}

.pa-side-cta__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 移行元は a に margin-bottom: 1px を置いて 1px の隙間を作っていた。ここは
   並べる側（リスト）で隙間を作る。 */
.pa-side-cta__item + .pa-side-cta__item {
	margin-top: 1px;
}

.pa-side-cta__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	/* 移行元の画像の幅 70px に合わせる */
	width: 70px;
	padding: 10px 4px;
	color: var(--pa-side-cta-text, var(--pa-palette-white));
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

/* 「来店予約」「資料請求」は移行元の画像と同じく 2 行に分ける。折り返す場所は
   マークアップの <wbr> 1 か所だけにしたいので、それ以外での折り返しを止める。
   keep-all を付けないと、幅が足りないときに「来店予」「約」のように 3 文字目で
   割れてしまう。 */
.pa-side-cta__label {
	word-break: keep-all;
}

.pa-side-cta__icon,
.pa-side-cta__arrow {
	flex: 0 0 auto;
}

/* 押せる先を指す小さな矢印について。**ここには規則を置かない。**
   🚨 **薄くしない（Task #3548）。**以前はここに `opacity: 0.85` を置いていたが、
   移行元の矢印は真っ白（`rgb(255,255,255)`）で、濃い色の帯の上に置かれている。
   大きさと位置は下の「下端の帯と矢印」の節が持つ. */

/* --- ボタンごとの色 --- */

/* 「TOP へ戻る」だけは白地に細い枠である（移行元の cmn_side_pagetop.png と同じ）。
   高さも 3 つの中でこれだけ低く、移行元は 70x70 の正方形だった。 */
.pa-side-cta__item--pagetop .pa-side-cta__link {
	--pa-side-cta-text: var(--pa-side-cta-pagetop-ink);

	gap: 0;
	min-height: 70px;
	background-color: var(--pa-palette-white);
	border: 1px solid var(--pa-side-cta-pagetop-ink);
	font-family: var(--pa-font-family-serif);
	font-size: 13px;
	font-weight: normal;
}

/* 移行元の画像の高さ 120px に合わせる。文字と絵の量だけで組むと 83px にしか
   ならず、移行元より一段小さく見えるためである。 */
.pa-side-cta__item--reservation .pa-side-cta__link,
.pa-side-cta__item--request .pa-side-cta__link {
	/* 矢印を下端の帯の中へ置くための基準にする（Task #3548）. */
	position: relative;

	/*
	 * 絵と文字の間の空き。移行元は絵の画素が上から 16〜45px、1 行目の文字が
	 * 53〜66px で、**間が 7px** 空いている。土台の 4px のままだと絵が 1px 下がり、
	 * 文字が 1px 上がって、間が 2px 詰まる（実測）.
	 */
	gap: 6px;
	min-height: 120px;
	/*
	 * 下端の帯のぶんだけ、絵と文字を上へ寄せる。矢印は下の規則で流れから外して
	 * 帯の中へ置くので、その場所をここで空けておく。
	 *
	 * この値と上の `gap` を合わせた結果、dev に当てて測った画素は移行元と一致する
	 * （幅 1440px の銀座店で検算）。絵が上から 16〜45px、文字の 1 行目が 53〜66px、
	 * 2 行目が 71〜84px、矢印が 109〜114px である.
	 */
	padding-bottom: calc(10px + var(--pa-side-cta-foot-height));
}

/*
 * 下端の帯。移行元の絵は下から 16px を濃い色で塗っている。
 *
 * 別の要素を足さず、地色の上に「下から 16px だけ濃い色」の重ね塗りを 1 枚置く。
 * 帯の高さは上の余白と同じ変数から採るので、片方だけ動くことがない.
 */
.pa-side-cta__item--reservation .pa-side-cta__link,
.pa-side-cta__item--request .pa-side-cta__link {
	background-image: linear-gradient(
		to top,
		var(--pa-side-cta-foot) var(--pa-side-cta-foot-height),
		transparent var(--pa-side-cta-foot-height)
	);
}

/*
 * 矢印は帯の中央に置く。移行元は絵の上から 109〜114px（高さ 6px）で、
 * 帯（104〜119px）の上下に 5px ずつの空きがある.
 */
.pa-side-cta__item--reservation .pa-side-cta__arrow,
.pa-side-cta__item--request .pa-side-cta__arrow {
	position: absolute;
	bottom: calc((var(--pa-side-cta-foot-height) - 6px) / 2);
	/*
	 * 🚨 **中央に寄せず、移行元と同じ 34px の位置に置く。**移行元の矢印の画素は
	 * 左から 34〜36px で、器（幅 70px）の真ん中より 0.5px 右にある。`left: 50%` と
	 * `translateX(-50%)` で中央へ寄せると左端が 33.5px の**半端な位置**になり、
	 * 階段が画素の境目をまたいで薄くぼやける（実測: 真っ白な画素が 0 個になった）.
	 */
	left: 34px;
	/*
	 * 🚨 **なめらかに描かせない。**移行元の矢印は絵に焼き込まれていて、1 行に
	 * 1 画素ずつの**くっきりした階段**である。既定のなめらかな描き方だと、
	 * 斜めの線が 2 画素に薄く広がり、**白さが 7 割ほどまで落ちて別物に見える**
	 * （実測: 一番明るい画素が `rgb(226,188,184)`）。これを付けると、移行元と
	 * 同じ真っ白（`rgb(255,255,255)`）の 3 × 6 の階段になる.
	 */
	shape-rendering: crispEdges;
}

/* 「来店予約」「資料請求」を移行元の画像と同じ 2 行に割る。<wbr> は「ここで折り返して
   よい」という目印にすぎず、幅が足りていれば折り返さない。2 文字ぶんの幅で止めて、
   <wbr> の位置で必ず折り返させる。 */
.pa-side-cta__item--reservation .pa-side-cta__label,
.pa-side-cta__item--request .pa-side-cta__label {
	/*
	 * 字の大きさと行の間隔を、移行元の絵の画素に合わせる（Task #3548）。
	 * 移行元は 1 行が **30 × 14px**（全角 2 文字）で、行の頭どうしが **18px** 離れて
	 * いる（`cmn_side_reserve.png` の白い画素を数えた。1 行目 y53〜66・2 行目 y71〜84）。
	 * 直す前は 14px と 1.2 倍で、1 行が 26 × 13px・行の間隔 16.8px だった.
	 */
	max-width: 2.2em;
	font-size: 15px;
	line-height: 18px;
}

/* 移行元の画像は矢印と TOP の文字の間に細い横線を 1 本引いている。 */
.pa-side-cta__item--pagetop .pa-side-cta__label {
	width: 38px;
	padding-top: 3px;
	border-top: 1px solid var(--pa-side-cta-pagetop-ink);
}

.pa-side-cta__item--reservation .pa-side-cta__link {
	--pa-side-cta-foot: #9c180c;

	background-color: #c51f10;
}

.pa-side-cta__item--request .pa-side-cta__link {
	--pa-side-cta-foot: #7f6637;

	background-color: #a08046;
}

/* ヘッダーの導線と同じ扱いにする。色を反転させず塗りを濃くする側へ寄せ、文字色を
   ここでも書き直している。土台の a:hover（要素 + 擬似クラス）がクラスだけの指定より
   強く、そのままでは文字が --pa-color-link-hover の赤へ変わって背景に溶けるためである。 */
.pa-side-cta__link:hover,
.pa-side-cta__link:focus-visible {
	color: var(--pa-side-cta-text, var(--pa-palette-white));
	filter: brightness(0.88);
}

/* --------------------------------------------------------------
 * 体験談の検索（#1518）
 *
 * 移行元 introduce/experience/index.php の 4 タブ（search-type / search-real /
 * search-conditions / search-question）に相当する検索フォームと、タブ 2・4 の
 * 検索結果（Yes/No カード・質問カード）の見た目。クラスは pa-experience-search- /
 * pa-experience-qa- で名前空間を切り、既存セレクタとは衝突しない。
 *
 * 見出しと区画の見た目は、移行元 introduce/css/style_introduce_experience.css の
 * 479〜575 行（.tab / .tab_current / .select-area）から写した（Issue #1620）。移行元
 * が見出しの左に敷く小さな絵 4 枚は、移行先の公開ディレクトリに配信されていない
 * （dev で 404 を確認）ため、テーマの assets/introduce/images/experience/ へ写して
 * 持ち込んだ。区画の中身（カードや入力欄）の作り込みは Task #1510 の担当である。
 *
 * スマートフォン幅の見た目は、移行元のスマートフォン専用ページ
 * sp/introduce/css/sp_style_experience.css の 248〜322 行から写した。あちらは
 * 同じ絵 4 枚（PC と同じ tab_*_icon01.png）を、左ではなく文字の上に置く。
 * 写した指定はこの節のいちばん下のメディアクエリにある。
 *
 * 切り替えは assets/js/experience-tabs.js が担う。隠す指定は JS が付ける is-tabbed が
 * 無いと効かない。JavaScript が動かない環境では 4 区画が縦に並んだまま全部見える.
 * -------------------------------------------------------------- */

.pa-experience-search {
	/* 見出しと区画で使う 2 色。移行元 .tab li の #f7f7f5（開いていない見出し）と
	   .tab li.tab_current の #f1f7e8（開いている見出しと区画の下地）である. */
	--pa-experience-tab-bg: #f7f7f5;
	--pa-experience-tab-current-bg: #f1f7e8;
	/* 見出しと区画の文字色。移行元 .tab の #463d3c である. */
	--pa-experience-tab-color: #463d3c;

	margin: 0 0 var(--pa-space-sm);
}

/* 絞り込みの結果ページ（`result.php` 相当）で、見出しの下を移行元と同じ 0 にする
   （Bug #5699・事業部目視）。
 *
 * 移行元は `.type-msg { margin-top: 0 }` が `.msg { margin-top: 66px }` を打ち消して
 * **見出しの直下から説明の区画が始まる**（`introduce/css/style_introduce_experience.css`
 * の 316 行・1109 行）。dev は **62px** 空いていた。幅 1440px・パソコンの名乗りで
 * 両側を実測した（2026-09-11 13:4x。控えは `pa-verify-assets/d3-5699-result-gaps/`）。
 *
 * **62 は足し算である。**
 *
 *   `.pa-experience-search` の下外余白   `--pa-space-sm`    = 40px
 *   `.archive-content` の格子の行間       `--pa-archive-gap` = 22px
 *
 * 🚨 **行間そのものを 0 にしてはいけない。**同じ格子に札の一覧が載っており、札の間の
 * 22px（移行元 `.list_box li a` の外余白）が消える。**この見出しの行だけ**打ち消すため、
 * 下外余白を「行間と同じ値の負」にする。格子の行の高さは項目の外余白まで含めて
 * 決まるので、行が 22px 縮み、足し戻される行間とちょうど釣り合って 0 になる。
 *
 * 上の 40px は器の側（`.pa-introduce-sections--result`）が持つ。移行元もそちらに
 * 置いている。
 *
 * 🚨 **パソコン幅（750px 以上）だけに限る。**実測したのはパソコン幅の 1440px だけで、
 * **携帯幅は移行元の相手（`/sp/introduce/experience/` 側の別 URL）をまだ測っていない**。
 * 測っていない幅を「ついでに」変えない。携帯幅の突き合わせは別に行う. */
@media (min-width: 750px) {
	.pa-experience-search__tabs--result {
		margin-bottom: calc(-1 * var(--pa-archive-gap));
	}
}

.pa-experience-search__tab-list {
	display: flex;
	margin: 0;
	padding: 0;
	color: var(--pa-experience-tab-color);
	font-weight: bold;
	line-height: 1;
	list-style: none;
}

/* 見出しは 4 つで横幅を等分し、間を 7px 空ける（移行元 .tab li）。開いていない
   見出しは薄く見せる. */
.pa-experience-search__tab-item {
	width: 25%;
	margin-left: 7px;
	background-color: var(--pa-experience-tab-bg);
	opacity: 0.5;

	/* 🚨 **中央そろえは見出しの `li` に書く（Issue #3513 の項目 12）。**移行元
	   `.tab li`（同 488〜506 行）は `text-align: center` を `li` に持ち、内余白と
	   横並びもすべて `li` の側にある。このテーマは中の `<a>` に寄せているので、
	   2026-09-04 19:33 JST・幅 1440px の実測で **移行元 center 対 dev start** と
	   `li` だけが食い違っていた。中の `<a>` が `text-align: center` と
	   `justify-content: center` を持つので、**この 1 行を足しても見た目は変わらない**. */
	text-align: center;
}

.pa-experience-search__tab-item:first-child {
	margin-left: 0;
}

.pa-experience-search__tab-item.is-current,
.pa-experience-search__tab-item:hover {
	background-color: var(--pa-experience-tab-current-bg);
	opacity: 1;
}

.pa-experience-search__tab-item a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 20px;
	color: var(--pa-experience-tab-color);
	font-size: 16px;
	text-align: center;
	text-decoration: none;
}

.pa-experience-search__tab-item a:hover,
.pa-experience-search__tab-item a:focus-visible {
	color: var(--pa-experience-tab-color);
}

/* 見出しの文言は 2 つに割って組む。移行元のスマートフォン専用ページが
   <strong>婚活タイプ</strong><br>で探す の形を取るためである（写し元:
   legacy/www.p-a.jp/public/sp/introduce/experience/index.php の 183〜188 行）。PC 幅の
   移行元は 1 行の素の文字（同 introduce/experience/index.php の 254〜259 行）なので、
   改行を消して太い部分も周りと同じ大きさに揃える. */
.pa-experience-search__tab-item a br {
	display: none;
}

.pa-experience-search__tab-item a strong {
	font-size: inherit;
	font-weight: inherit;
}

/* 見出しの左に置く小さな絵。移行元 .tab li span:before の位置・寸法をそのまま写す. */
.pa-experience-search__tab-item a span {
	position: relative;
	display: inline-block;
	margin-left: 20px;
}

.pa-experience-search__tab-item a span::before {
	position: absolute;
	top: -25%;
	background-repeat: no-repeat;
	background-size: 100%;
	content: "";
}

.pa-experience-search__tab-item:nth-child(1) a span::before {
	left: -26px;
	width: 16px;
	height: 20px;
	background-image: url("../introduce/images/experience/tab_type_icon01.png?ver=a27946e32885");
}

.pa-experience-search__tab-item:nth-child(2) a span::before {
	left: -30px;
	width: 20px;
	height: 20px;
	background-image: url("../introduce/images/experience/tab_real_icon01.png?ver=a444045eb58e");
}

.pa-experience-search__tab-item:nth-child(3) a span::before {
	left: -29px;
	width: 19px;
	height: 21px;
	background-image: url("../introduce/images/experience/tab_conditions_icon01.png?ver=9fb808fad00a");
}

.pa-experience-search__tab-item:nth-child(4) a span::before {
	left: -31px;
	width: 21px;
	height: 21px;
	background-image: url("../introduce/images/experience/tab_question_icon01.png?ver=f195018ab299");
}

/* 区画。移行元 .select-area .contents-wrapper は上下 40px の余白を取り、開いている
   見出しと同じ色を下地に敷く. */
.pa-experience-search__panel {
	padding: 40px var(--pa-archive-card-padding, 20px);
	background-color: var(--pa-experience-tab-current-bg);
}

/* 🚨 **薄い緑の箱は移行元より 180px 狭く、中身も 40px 狭かった（Issue #3086 の目視 ⑤
   の続き・2026-09-04）。**移行元は緑の箱を 1,280px にして、その中へ 1,100px の柱を
   中央そろえで置く。dev は箱が一覧の柱と同じ 1,100px で、しかも左右に 20px の内余白を
   持っていたため中身が 1,060px になり、**タブ 2 のカード 1 枚が 350px から 336.7px へ
   13.3px 細くなっていた**。

   本番 www.p-a.jp を 2026-09-03 23:18 JST に幅 1440px で取得して測った移行元の値:

     div.select-area       1440 幅 / 透明
     ul.tab                1100 幅（x170）
     div.tabContents       1440 幅 / 透明
     div.contents-wrapper  1280 幅（x80）/ 地色 rgb(241,247,232) / 内余白 40px 0
     div.contents-inner    1100 幅（x170）/ 透明 / 外余白 0 90px

   写し元の CSS は `introduce/css/style_introduce_experience.css` の 561〜570 行
   （`.select-area .contents-wrapper { min-width: 1280px; padding: 40px 0;
   background: #f1f7e8 }` と `.contents-inner { width: 1100px }`）である。

   **柱の器を新しく足さず、箱の内余白で同じ姿にする。**負の外余白で箱を 1,100px の
   柱の外へ 90px ずつ広げ（1,100 + 180 = 1,280）、その内余白 90px で中身を 1,100px へ
   戻す。描かれる位置は移行元と同じになる（緑 x80 幅 1280 / 中身 x170 幅 1100）。

   🚨 **1,280px 以上で広げる（Bug #4452・2026-09-07 に 1,297px から下げた）。**

   **境目は意図的変更の台帳 92 行のユーザー判断から来ている。**台帳 92 行は画面の幅を
   3 つに区分している（2026-09-06 のユーザー判断・裁定 223 / 231）。

       ① 375px（携帯幅）  … 移行元スマホ版に合わせる
       ② 750〜1,279px     … 移行元の横スクロールを写さず、画面幅に収める
       ③ 1,280px 以上     … 移行元と同じ固定の姿を保つ

   **③がそのまま境目になる。**移行元の緑の箱は 1,280px 固定なので、③の帯では移行元と
   同じ 1,280px で描く。②の帯まで下げると「移行元の横スクロールを写さない」に反する。

   **前の版の書き方と、それを変えた理由を残しておく。**前の版は「1,280px にスクロール
   バーの幅 17px を足した 1,297px 以上でだけ広げる」としていた。**`@media` が見るのは
   ページの幅で、窓の幅ではない**ので、③を写すなら `min-width: 1280px` がそのまま
   正しい。同じ取り違えはサービス配下で先に分かっている（Task #3197）。

   前の版の注記は、その理由づけとして「移行元は `min-width: 1280px` でそのままはみ出す
   が、**dev はレスポンシブなので 700px の裁定に沿って dev の側を正とする**」とも書いて
   いた。**この「dev の側を正とする」の部分は、台帳 92 行の②が具体化している**（②の帯
   では画面幅に収める）。よって②の帯の姿は変えない。

   🚨 **境目のすぐ下 17px の帯を承認した台帳 110 行は、体験談を含まない。**あの行の
   対象は 5 区画（婚活川柳・ご成婚報告・サービス紹介・入会案内・成婚コンシェルジュ）
   だけである。よって体験談の 1,280〜1,296px の帯は承認の外で、直す対象である。

   **この境目なら、箱の幅は移行元とぴたり同じになる。**柱は幅 90% / 上限 1,100px で、
   ページの幅が 1,222px 以上なら上限の 1,100px で止まる（1,222 × 0.9 ≒ 1,100）。境目が
   1,280px なので、**広げが当たるすべての幅で柱は 1,100px** であり、箱は
   1,100 + 90 × 2 = **1,280px**（移行元と同じ）になる。

   ページの幅 1,200px で実測した値（2026-09-07 21:43 と 22:35 JST・机上の名乗り）:

     柱                 1,080.00px（90%。上限に届いていない）
     緑の箱             1,080.00px（広げが当たらない）／移行元 1,280.00px
     一覧の灰色の地     1,200.00px（はみ出しの式が画面幅で止まる）／移行元 1,280.00px

   **この 1,200px の差は台帳 92 行の②が承認している帯のものなので、直さない**（②は
   「移行元の横スクロールを写さず、画面幅に収める」）. */
@media (min-width: 1280px) {
	.pa-experience-search__panel {
		margin-inline: -90px;
		padding: 40px 90px;
	}
}

/* --- 開いている区画だけを見せる（assets/js/experience-tabs.js と対で使う） ---
 *
 * 隠す指定は、JS が付ける .is-tabbed が無いと効かない。JavaScript が動かない環境
 * では 4 区画が縦に並んだまま全部見え、見出しはページの中の飛び先として働く。
 * --------------------------------------------------------------------------- */

.pa-experience-search.is-tabbed .pa-experience-search__panel {
	display: none;
}

.pa-experience-search.is-tabbed .pa-experience-search__panel.is-current {
	display: block;
	animation: pa-experience-tab-fade 400ms cubic-bezier(0.36, 0, 0.64, 1);
}

/* --- タブを押したときの「ふわっと出る」演出（Bug #6037） ---
 *
 * 移行元は jQuery の `fadeIn()` で区画を出す（`legacy/www.p-a.jp/public/introduce/js/
 * function.js` の 242 行）。引数の無い `fadeIn()` は **400ms かけて透明度を 0 から 1 へ
 * 上げる**（jQuery の既定）。開いた直後の区画も同じ `fadeIn()` で出している（同 267 行・
 * 276 行）ので、ここでも `.is-current` が最初から付いている区画に演出が掛かる。
 *
 * 🚨 **`transition` では出せない。**隠すのが `display: none` で、`display` は途中の値を
 * 持たないため変化が起きない。`animation` なら、区画が出た（display が block になった）
 * その回に走る。
 *
 * 🚨 **当たり先に `.is-tabbed` を付けたままにする。**この印は JavaScript が付けるので、
 * JavaScript が動かない環境では 4 区画が縦に並んだまま全部見える。そこへ演出を掛けると
 * **開いた瞬間に 4 つが一斉に薄く光る**ことになる。
 *
 * 移行元の `fadeIn()` の速さの変わり方は jQuery の `swing`（正弦の緩急）なので、
 * それに近い `cubic-bezier(0.36, 0, 0.64, 1)` を当てる。`linear` だと立ち上がりが速い. */
@keyframes pa-experience-tab-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* 動きを控える設定では演出を止める（このテーマの既存の演出と同じ扱い・Bug #3114 / #3730）. */
@media (prefers-reduced-motion: reduce) {
	.pa-experience-search.is-tabbed .pa-experience-search__panel.is-current {
		animation: none;
	}
}

/* キーボードで送ったときに、いまどこに居るかが分かるようにする. */
.pa-experience-search__tab-item a:focus-visible,
.pa-experience-search__panel:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: -2px;
}

/* 区画の題名。移行元は区画の中にこの題名を持たず、上のタブの文字だけが名前を担う。
   ここでは JavaScript が動かない環境で 4 区画が縦に並んだときの区切りになるため
   残しており、Issue #1518 で入れた見た目のまま触っていない. */
.pa-experience-search__panel-title {
	margin: 0 0 12px;
	color: var(--pa-color-heading);
	font-size: 18px;
	font-weight: 700;
}

/* 🚨 **タブが動いているときは題名を画面に出さない（Issue #3086・2026-09-03）。**
 * 移行元にはこの題名が無く、dev だけ橙色の見出しが 1 行増えていた（1440px で並べて
 * 目で見て気づいた。移行元 = 本番 www.p-a.jp を 2026-09-03 16:52 JST に取得）。
 *
 * **要素ごと消さない。**JavaScript が動かないときは 4 区画が縦に並ぶので、そのときは
 * 題名が区切りとして要る（`is-tabbed` は JavaScript が付ける印なので、動かなければ
 * この規則は当たらず今までどおり見える）。読み上げソフトには常に残す. */
.pa-experience-search.is-tabbed .pa-experience-search__panel-title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	border: 0;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* 🚨 **タブ 2 とタブ 4 はこの素の見た目を使わない（Issue #3086 の目視 ⑤）。**
   以前は 2 つとも `.pa-experience-search__question-list`（枠つきの札を並べるだけの組み）
   で出していたが、移行元はタブ 2 が「Yes? / No?」付きのカード、タブ 4 が 3 群に
   分かれた一覧である。どちらも下に専用の節を持つ。ここに残るのはタブ 1 だけ. */
.pa-experience-search__type-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience-search__type-item a {
	display: inline-block;
	padding: 8px 12px;
	background-color: var(--pa-color-bg);
	border: 1px solid var(--pa-color-border);
	color: var(--pa-color-text);
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
}

.pa-experience-search__type-item a:hover,
.pa-experience-search__type-item a:focus-visible {
	border-color: var(--pa-color-accent);
	color: var(--pa-color-link-hover);
}

/* ==================================================================
 * タブ 2「婚活のホンネで探す」の 6 枠（Issue #3086 の目視 ⑤）
 * ==================================================================
 *
 * 移行元は 6 つの設問を、白地・枠線 3px #D1E0BA のカードで 3 列（携帯幅 2 列）に
 * 並べ、設問の下に「Yes?（金）/（灰）No?（緑）」を大きく置いていた。
 *
 * 本番 www.p-a.jp を 2026-09-04 00:13 JST に取得し、**タブを実際に開いた状態で**
 * 測った値（採取の道具 `_c1-top-gap-tools/w3-exp/bc-tabs-snap.mjs`）:
 *
 *   幅 1440px  一覧 1100×382 / 下の外余白 −25px
 *              カード 350×166 / 外余白 0 25px 25px 0 / 枠 3px solid rgb(209,224,186)
 *              リンク 344×160（縦横とも中央そろえ）
 *              内側の器 344 / 内余白 20px / 中央そろえ
 *              設問 304 幅 / 字 16px / 太さ 700
 *              Yes? No? 字 32px / 太さ 400 / 上の外余白 10px
 *                斜線 字 24px / 色 rgb(195,192,191)
 *                Yes? 色 rgb(203,174,73) ／ No? 色 rgb(124,161,69)
 *
 *   幅 375px   一覧 355×413.6 / 下の外余白 −2.5%
 *              カード 173.1×123.4 / 外余白 0 2.5% 2.5% 0
 *              内側の器 内余白 17px 7px 12px
 *              設問 字 12px / 太さ 700 / 行送り 1.4 / 色 rgb(70,61,60)
 *              Yes? No? 字 20px（斜線 16px）
 *
 * 写し元の CSS は `introduce/css/style_introduce_experience.css` の 681〜727 行
 * （3 列の格子は同 81〜92 行の `.flexBox--3col`）と、
 * `/sp/introduce/css/sp_style_experience.css` の 418〜464 行（2 列は同 19〜25 行）.
 */
.pa-experience-search__real-list {
	/* 移行元 .flexBox の width 100% / display flex / flex-wrap wrap と、
	   .real-list の margin-bottom -25px. */
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 -25px;
	padding: 0;
	list-style: none;
}

.pa-experience-search__real-item {
	/* 移行元 .flexBox--3col .flexBox__item の width calc(33.3333333% - 25px * 2 / 3)
	   と margin 0 25px 25px 0、.real-list__item の白地・枠線・字 16px. */
	box-sizing: border-box;
	width: calc(33.3333333% - 25px * 2 / 3);
	margin: 0 25px 25px 0;
	background-color: var(--pa-color-bg);
	border: 3px solid #d1e0ba;
	font-size: 16px;
}

/* 移行元 .flexBox--3col .flexBox__item:nth-child(3n+3) の margin-right: 0（行の右端）. */
.pa-experience-search__real-item:nth-child(3n+3) {
	margin-right: 0;
}

.pa-experience-search__real-item a {
	/* 移行元 .real-list a の縦積み・縦横中央そろえ・枠いっぱい。
	   下線は出さない（移行元のリンクも下線を持たない）. */
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

/* 移行元 .real-list a:hover の色と下地。焦点が当たったときも同じ見え方にする
   （キーボードで辿る人に、指を乗せた人と同じ手がかりを出すため）. */
.pa-experience-search__real-item a:hover,
.pa-experience-search__real-item a:focus-visible {
	background-color: #d1e0ba;
	color: var(--pa-palette-ink-experience);
}

.pa-experience-search__real-inner {
	/* 移行元 .real-list__item .item__inner の内余白 20px・中央そろえ・幅 100%. */
	box-sizing: border-box;
	width: 100%;
	padding: 20px;
	text-align: center;
}

.pa-experience-search__real-question {
	/* 移行元はこの段落に指定を持たず、カードの 16px と区画の太字を受け継ぐ
	   （実測 16px / 700）。dev のカードは太字を受け継がないので明示する。

	   🚨 **行送りは `normal` にする。**移行元はこの段落にも祖先にも行送りを書いて
	   おらず、ブラウザ既定の `normal` で描かれる（1 行 24px。3 行で 72px）。dev の
	   器は 1.8 を受け継いでいて 1 行 28.8px になり、**カードが 166px から 200px へ
	   34px 高くなっていた**（本番と型紙の出力を 2026-09-04 00:1x JST に測って確かめた）。
	   書体の並びは両側でほぼ同じなので、`normal` で同じ値になる. */
	margin: 0;
	font-size: 16px;
	font-weight: bold;
	line-height: normal;
}

/* 🚨 **移行元のパソコン版は設問の中で行を決めている**（`<br>` を置いている）。
   行ごとの `<span>` を塊にして同じ位置で折る。携帯幅では 1 本の文に戻す（下の節）. */
.pa-experience-search__real-line {
	display: block;
}

.pa-experience-search__yes-no {
	/* 移行元 .yes-no-area の書体・字 32px・太さ 400・上の外余白 10px。
	   予備の書体は移行元と同じ sans-serif だけにする（英字しか入らないため）. */
	margin: 10px 0 0;
	font-family: "Spinnaker", sans-serif;
	font-size: 32px;
	font-weight: normal;
	/* 設問と同じ理由で `normal`（移行元は 1 行 38px。dev の器の 1.8 では 57.6px）. */
	line-height: normal;
}

.pa-experience-search__yes {
	/* 移行元 .yes-no-area .yes の #CBAE49. */
	color: #cbae49;
}

.pa-experience-search__slash {
	/* 移行元 .yes-no-area .line の 24px・#C3C0BF・vertical-align 0.2rem. */
	color: #c3c0bf;
	font-size: 24px;
	vertical-align: 2px;
}

.pa-experience-search__no {
	/* 移行元 .yes-no-area .no の #7CA145. */
	color: #7ca145;
}

/* ==================================================================
 * タブ 4「質問から探す」の 3 群（Issue #3086 の目視 ⑤）
 * ==================================================================
 *
 * 移行元は 13 件を「入会前 3 件・活動中 6 件・成婚退会後 4 件」に分け、群ごとに
 * 緑の縦線つきの見出しを左に置き、質問を 1 本の枠の中に罫線で区切って並べていた。
 *
 * 本番を 2026-09-04 00:13 JST に取得し、タブを開いた状態で測った値:
 *
 *   幅 1440px  群 1100 幅 / 下の外余白 20px / 横並び（見出しは上端そろえ）
 *              見出し 133×20.8 / 字 16px / 太さ 700 / 行送り 1.3 / 色 rgb(70,61,60)
 *                     左の縦線 5px solid rgb(70,61,60) / 左の内余白 14px / 上の外余白 10px
 *              一覧 967 幅 / 枠 1px solid rgb(209,224,186)
 *              質問 1 件 965×54 / 2 件目から上に罫線 1px
 *                     リンク 内余白 15px 15px 15px 20px / 白地 / 字 16px / 太さ 700
 *                     文字 左の内余白 28px（左に手書き風の目印の絵 20×30px）
 *
 *   幅 375px   群 355 幅 / 縦積み
 *              見出し 字 10px / 色 rgb(116,140,80) / 縦線 3px solid rgb(116,140,80)
 *                     左の内余白 7px / 上の外余白 0
 *              一覧 上の外余白 10px
 *              リンク 内余白 15px 12px / 文字 字 12px
 *
 * 写し元の CSS は `introduce/css/style_introduce_experience.css` の 106〜111 行
 * （`.leftBorder__ttl`）と 785〜828 行、`/sp/introduce/css/sp_style_experience.css` の
 * 40〜50 行と 532〜562 行.
 */
.pa-experience-search__question-groups {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience-search__question-group {
	/* 移行元 .question-list__item の flex / align-items flex-start / 下の外余白 20px. */
	display: flex;
	align-items: flex-start;
	width: 100%;
	margin: 0 0 20px;
}

.pa-experience-search__question-group:last-child {
	margin-bottom: 0;
}

.pa-experience-search__group-title {
	/* 移行元 .leftBorder__ttl + .question-list__item .leftBorder__ttl。
	   幅は移行元の calc(130 / 1100 * 100%) をそのまま写す。

	   🚨 **数え方は移行元と同じ `content-box`（内余白と縦線を幅の外側に足す）にする。**
	   移行元は幅 130px の外へ内余白 14px と縦線 5px が付いて外形 149px になり、隣の
	   一覧が `width: 100%`（1,100px）なので**2 つの合計が親の 1,100px を越える**。
	   越えたぶんは横並びの縮みで按分され、見出し 133px・一覧 967px に落ち着く
	   （本番 www.p-a.jp を 2026-09-04 00:13 JST に幅 1440px で取得して実測）。
	   `border-box` で数えると縮みが起きず 130px / 970px になり、区切りの位置が 3px
	   ずれる。**縮ませるため縮み率は既定の 1 のままにする**（`flex: 0 0 auto` と
	   書くと縮まない）。

	   携帯幅だけは `border-box` へ切り替える（理由は下の携帯幅の節に書いた）. */
	box-sizing: content-box;
	width: calc(130 / 1100 * 100%);
	margin: 10px 0 0;
	padding-left: 14px;
	background-color: transparent;
	border-left: 5px solid var(--pa-palette-ink-experience);
	color: var(--pa-palette-ink-experience);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
	vertical-align: middle;
}

.pa-experience-search__select-list {
	/* 移行元 .question-list__item .select-list の幅 100% と枠 1px。

	   🚨 **`flex: 1`（残りを埋める）にしてはいけない。**移行元はこの一覧に
	   `width: 100%`（= 親の 1,100px）を置くだけで、伸ばす指定を持たない。隣の見出しの
	   外形 149px と合わせて 1,249px になり親を越えるので、**越えたぶんを 2 つで
	   按分して縮める**のが移行元の姿である（見出し 133px・一覧 967px）。埋める指定を
	   足すと縮みが起きず、見出し 149px・一覧 951px になって区切りが 16px ずれる. */
	flex: 0 1 auto;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 1px solid #d1e0ba;
	list-style: none;
}

.pa-experience-search__select-item {
	/* 移行元 .select-list__item の字 16px と上の罫線（1 件目だけ無し）. */
	border-top: 1px solid #d1e0ba;
	font-size: 16px;
}

.pa-experience-search__select-item:first-child {
	border-top: 0;
}

.pa-experience-search__select-item a {
	/* 移行元 .select-list__item a の内余白・白地・色。下線は出さない. */
	display: block;
	padding: 15px 15px 15px 20px;
	background-color: var(--pa-color-bg);
	color: var(--pa-palette-ink-experience);
	font-weight: bold;
	text-decoration: none;
}

/* 移行元 .select-list__item a:hover の下地。焦点が当たったときも同じにする. */
.pa-experience-search__select-item a:hover,
.pa-experience-search__select-item a:focus-visible {
	background-color: #d1e0ba;
}

.pa-experience-search__select-item a span {
	/* 移行元 .select-list__item span の左の内余白 28px（左に置く目印の絵の場所）. */
	position: relative;
	padding-left: 28px;
}

/* 移行元 .select-list__item span:before の手書き風の目印（20×30px）。
   絵はテーマ資産に実在する（詳細ページの設問の目印と同じファイル）. */
.pa-experience-search__select-item a span::before {
	position: absolute;
	top: -6px;
	left: 0;
	display: inline-block;
	width: 20px;
	height: 30px;
	background-image: url("../introduce/images/experience/question_img01.png?ver=0304d2e86f32");
	background-repeat: no-repeat;
	background-size: 100%;
	content: "";
}

/* --- 「婚活タイプで探す」の挿絵つきの 6 枠（Issue #1621・#3086 の L11 / L12 / L16） ---
 *
 * 移行元は 6 タイプを、白地・枠線 2px #A29E9D・高さ 140px の枠で 3 列に並べ、枠の
 * 左下に挿絵、右に「説明文（14px）＋タイプ名（20px 太字）」を置いていた（写し元は
 * public/introduce/css/style_introduce_experience.css の 575〜678 行と、
 * public/introduce/experience/index.php の 267〜332 行）。
 *
 * **移行元の組みは絶対位置で作る。**枠を基準にして挿絵を左下へ、文字を左から 155px の
 * 位置へ置く。以前の版は CSS グリッドで組んでいたが、そうすると**文字の左端が挿絵の
 * 幅（137〜153px とタイプごとに違う）に引きずられて 6 枠でそろわない**。移行元は
 * 155px 固定なので、後ろに敷く地模様の位置も枠ごとにずれてしまう。移行元を本番
 * www.p-a.jp から 2026-09-03 15:36 JST に取得して測った文字の左端は 327 / 702 /
 * 1077px（3 列とも枠の左端 + 157px）で、dev は 345 / 706.33 / 1073.66px だった.
 *
 * 文字の後ろに敷く地模様（`top_type_bg01`〜`06`）はタイプごとに絵と大きさが違う。
 * 6 点ともテーマの `assets/introduce/images/top/` に取り込み済みである（以前の注記は
 * 「絵をテーマへ取り込んでいない」と書いていたが、実物を確かめたところ 6 点とも
 * 在り、移行元は擬似要素の背景として敷いていた）.
 */

.pa-experience-search__type-list {
	display: grid;
	/* 1 列の最小幅 280px は一覧のカードと同じ。最大幅で移行元と同じ 3 列になり、
	   狭い画面では 2 列・1 列へ自動で落ちる（携帯幅は下の 749px の節で 2 列に固定する）. */
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 25px;
}

/* 枠。移行元 .type-list__item の高さ 140px と、.item__inner の白地・枠線 2px・
   文字色 #462D3C をそのまま持たせる。位置の基準（position: relative）と重なりの
   基準（isolation: isolate）をここに置く。**重なりの基準が無いと、地模様の
   `z-index: -1` が枠の白地より後ろへ回り込んで見えなくなる**. */
.pa-experience-search__type-item a {
	position: relative;
	display: block;
	isolation: isolate;
	height: 100%;
	min-height: 140px;
	padding: 0;
	border-width: 2px;
	border-color: #a29e9d;
	color: #462d3c;
	font-size: 16px;
	text-align: left;
}

.pa-experience-search__type-item a:hover,
.pa-experience-search__type-item a:focus-visible {
	border-color: #de4c2f;
	color: #de4c2f;
}

/* 挿絵は枠の左下へ。移行元 .type__img の `position: absolute; bottom: 0; left: 0` と
   `vertical-align: bottom` に合わせる.

   🚨 **高さは 136px を書き切る（`height: auto` にしない）。**移行元は img の
   `height` 属性の値をそのまま使っており、6 枠とも 136px である（本番を
   2026-09-03 15:36 JST に測って確認）。テーマの素の指定 `img { height: auto }` が
   当たると、絵の実寸の比で決まる高さになり、1 枠目（コソ活）だけ 141.55px へ
   伸びて枠の上へ 3.55px はみ出す（移行元は 136px で伸びない）. */
.pa-experience-search__type-image {
	position: absolute;
	bottom: 0;
	left: 0;
	max-width: 100%;
	height: 136px;
	vertical-align: bottom;
}

/* 文字の器。移行元 .type__txt の `left: 155px` / `top: 50%` / translateY(-50%). */
.pa-experience-search__type-text {
	position: absolute;
	top: 50%;
	left: 155px;
	display: block;
	text-align: left;
	transform: translateY(-50%);
}

/* 文字の後ろに敷く地模様。移行元 .type__txt:after と同じ置き方である
   （器の縦の中心にそろえ、`z-index: -1` で文字の後ろへ回す）. */
.pa-experience-search__type-text::after {
	position: absolute;
	top: 50%;
	z-index: -1;
	background-size: 100%;
	content: "";
	transform: translateY(-50%);
}

/* タイプごとの地模様。左端・幅・高さは移行元の値（同 CSS の 585〜614 行）である. */
.pa-experience-search__type-item--koso .pa-experience-search__type-text::after {
	left: -30px;
	width: 233px;
	height: 100px;
	background-image: url("../introduce/images/top/top_type_bg01.png?ver=b7a34bb3d660");
}

.pa-experience-search__type-item--app .pa-experience-search__type-text::after {
	left: -20px;
	width: 201px;
	height: 83px;
	background-image: url("../introduce/images/top/top_type_bg02.png?ver=e27e0b4d38a7");
}

.pa-experience-search__type-item--inexperienced .pa-experience-search__type-text::after {
	left: -20px;
	width: 170px;
	height: 98px;
	background-image: url("../introduce/images/top/top_type_bg03.png?ver=9f6cb796b2d5");
}

.pa-experience-search__type-item--tanki .pa-experience-search__type-text::after {
	left: -30px;
	width: 181px;
	height: 93px;
	background-image: url("../introduce/images/top/top_type_bg04.png?ver=24f70fbd00d5");
}

.pa-experience-search__type-item--oyakoko .pa-experience-search__type-text::after {
	left: -20px;
	width: 175px;
	height: 92px;
	background-image: url("../introduce/images/top/top_type_bg05.png?ver=a802882325a4");
}

.pa-experience-search__type-item--honki .pa-experience-search__type-text::after {
	left: -20px;
	width: 211px;
	height: 101px;
	background-image: url("../introduce/images/top/top_type_bg06.png?ver=05b136679622");
}

/* 移行元 .txt--sub の 14px（太さは既定）と、.txt--main の 20px 太字. */
.pa-experience-search__type-lead {
	display: block;
	font-size: 14px;
	line-height: 1.5;
}

/* 行送りは移行元と同じ `normal` にする（1.4 を書くと 28px になり、移行元の 30px と
   2px 食い違って文字の器の高さが 54 対 56px になる）. */
.pa-experience-search__type-label {
	display: block;
	margin-top: 5px;
	font-size: 20px;
	font-weight: bold;
	line-height: normal;
}

/* --- タブ 3「条件を指定して探す」の中身 ---
 *
 * 🚨 **6 つの条件を 1 行ずつ積み、行の中を「左に緑の縦線つきの見出し + 右に 6 列の
 * 白い箱」の横並びにする（Issue #3086 のユーザー目視 2026-09-04「条件を指定して探す
 * タブ内は UI 自体も間違っています」）。**以前は `fieldset` + `legend` に札を平らに
 * 並べており、移行元と別物だった。
 *
 * 写し元は `introduce/css/style_introduce_experience.css` の 741〜784 行と、
 * 6 列の間隔を決める共通の 101〜105 行（`.flexBox--6col`）である。移行元を本番
 * www.p-a.jp から 2026-09-04 02:11 JST に幅 1440px で取得して測った値:
 *
 *   区画（.contents.search-conditions）   x80  1280×525 / 透明 / 中央そろえ
 *   柱（.contents-inner）                 x170 1100×451 / 外余白 0 90px
 *   行の並び（.conditions-list）          1100×451 / 下外余白 30px
 *   行（.conditions-list__item）          1100×59 / 横並び・上下中央 / 下内余白 15px /
 *                                         下外余白 15px（最後の行は 0）/
 *                                         下罫 1px dashed #b3b0b0 / 字 16px / 色 #463d3c
 *   見出し（.leftBorder__ttl）            165×21（幅の指定は 172/1100・横並びの縮みで
 *                                         165 になる）/ 左罫 5px solid #463d3c /
 *                                         左内余白 14px / 16px / 太さ 700 / 行送り 1.3
 *   選択肢の並び（.select-list）          x335 935×43 / 横並び・折り返す
 *   選択肢（.select-list__item）          149×43 / 白地 / 枠 1px solid #d1e0ba /
 *                                         右外余白 8px（6 個目は 0）/ 中央そろえ
 *   札（label）                           147×41 / 内余白 10px / 16px / 行送り 1.3
 *   チェックの箱                          display: none（画面から消えている）
 *   送りボタン（.search-btn）             283×44 / 地色 #de4c2f / 白字 / 内余白 10px 70px /
 *                                         角丸 25px / 16px / 太さ 700
 *
 * 🚨 **見出しの幅は「縮み」まで含めて移行元と同じ形にする。**移行元は見出しに
 * 172/1100（15.636%）、選択肢の並びに 100% を与えて親を越えさせ、越えたぶんを横並びの
 * 既定の縮みで按分している（結果 165 / 935）。`flex: 1` や固定幅にすると縮みが起きず
 * 位置がずれる. */

.pa-experience-search__conditions {
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}

.pa-experience-search__condition {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px dashed #b3b0b0;
	color: #463d3c;
	font-size: 16px;
	text-align: left;
}

.pa-experience-search__condition:last-child {
	margin-bottom: 0;
}

.pa-experience-search__condition-title {
	/* 🚨 **数え方は `content-box` にする（テーマの既定 `border-box` では移行元と
	   14px ずれる）。**移行元の見出しは幅 172px の外側へ左内余白 14px と縦線 5px が付く
	   ので、横並びの基準になる大きさは 191px である。`border-box` にすると 172px に
	   なり、按分される縮みが変わって見出しが 151px（移行元 165px）・選択肢の並びが
	   949px（移行元 935px）になった（作業ツリーで実測）. */
	box-sizing: content-box;
	width: calc(172 / 1100 * 100%);
	margin: 0;
	padding-left: 14px;
	border-left: solid 5px #463d3c;
	background: transparent;
	color: #463d3c;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.pa-experience-search__option-list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience-search__option {
	box-sizing: border-box;
	width: calc(16.666666% - 8px * 5 / 6);
	margin: 0 8px 0 0;
	border: 1px solid #d1e0ba;
	background: #fff;
	text-align: center;
}

.pa-experience-search__option:nth-child(6n) {
	margin-right: 0;
}

/* 移行元はチェックの箱を画面から消し、札そのものを押しボタンに見せる。**要素ごと
   消さずに `display: none` にするのは移行元と同じ**で、札の `for` から操作できる. */
.pa-experience-search__option-input {
	display: none;
}

.pa-experience-search__option-label {
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	line-height: 1.3;
	cursor: pointer;
}

.pa-experience-search__option-label:hover {
	background: #d1e0ba;
}

.pa-experience-search__option-input:checked + .pa-experience-search__option-label {
	background: #d1e0ba;
	color: #463d3c;
}

/* キーボードで送ったときに、どの選択肢に居るかが分かるようにする（移行元は箱を
   消したままなので、印が無いとキーボードでは辿れない。テーマの決まりごとに合わせて
   `:focus-visible` の輪を出す）. */
.pa-experience-search__option-input:focus-visible + .pa-experience-search__option-label {
	outline: 2px solid #de4c2f;
	outline-offset: -2px;
}

/* 婚活タイプだけ「コソ活」の側を 18px の塊にして 1 段大きく見せる（移行元の
   `.select-list__item span`）. */
.pa-experience-search__option-label span {
	display: block;
	font-size: 18px;
}

.pa-experience-search__conditions-form {
	text-align: center;
}

.pa-experience-search__submit {
	display: inline-block;
	padding: 10px 70px;
	border: 0;
	border-radius: 25px;
	background: #de4c2f;
	color: #fff;
	font-size: 16px;
	font-weight: 700;

	/* 🚨 **行の高さは 1.5（= 24px）を書き切る（`normal` にしない）。**移行元の
	   ボタンの指定は `normal` だが、書体の作りで決まる行の高さが 24px になり、内余白
	   10px と合わせて **44px** の高さになる（本番を 2026-09-04 02:11 JST に測って
	   パソコン幅 283×44px・02:12 JST の携帯の名乗りで 256×44px）。dev は `normal` の
	   ままだと携帯幅で 40px に縮んだ（中の字が 13px に落ちるため）。移行元は幅が
	   変わっても 44px のままなので、その高さを保つ値を書く. */
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
}

.pa-experience-search__submit:hover,
.pa-experience-search__submit:focus-visible {
	opacity: 0.7;
}

/* --- 絞り込みの結果の意匠つき見出し（Task #3210）---
 *
 * タブ 1「婚活タイプ」とタブ 2「婚活のホンネ」だけが持つ区画である（タブ 3・4 は
 * 移行元も持たない）。写し元は記録版の `public/introduce/experience/type.php` の
 * 10〜48 行・`real.php` の 10〜38 行と、
 * `public/introduce/css/style_introduce_experience.css` の 316〜346 行（`.msg` 共通）・
 * 1109〜1138 行（タイプ）・1293〜1320 行（ホンネ）である。
 *
 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 03:33 JST に幅 1440px で取得）:
 *
 *   タブ 1  器 1440×300 / 外余白 0（`.type-msg` が 0 に戻す）
 *           中身 x170 1100×300 / 横並び・中央そろえ / 内余白 0
 *           写真 x196 390×300（属性どおり）
 *           見出し x632 612×33 / 16px / 太さ 700 / 色 #463d3c
 *           見出しの中の強調 131.1×22 / 22px
 *           説明文 x632 612×112 / 14px / 行送り 2（28px）/ 上外余白 40px / 字間 0.1em
 *
 *   タブ 2  器 1440×200 / 上外余白 30px
 *           中身 x170 1100×200 / 横並び（中央そろえにしない）
 *           写真 x170 440×200（属性どおり）
 *           あおり x652 554.1×21 / 色 #748c50 / 14px / 左内余白 20px /
 *                  外余白 0 0 25px 20px / 吹き出しの絵 240×46 を左上へ敷く
 *           見出し x632 574.1×36 / 24px / 太さ 700
 *           見出しの中の強調 94.1×24 / 24px / 色 #de4c2f
 *
 * 🚨 **文字の側の左の外余白はタブで違う**（タブ 1 は 46px・タブ 2 は 22px）。
 * 移行元の `.msg .cont` と `.real-msg .cont` である。
 *
 * 🚨 **見出しの背後の飾りは擬似要素で敷く。**移行元はタイプごとに絵を変え、
 * 大きさは 6 タイプとも 233×100px・位置は上 -25px / 左 -10px・重なりは後ろ
 * （`z-index: -1`）である。**重なりの基準を見出しの側に置かないと、絵が区画の
 * 地色より後ろへ回り込んで見えなくなる**（タブ 1 の枠の飾りで同じ型の事故があった）. */

.pa-experience-result-message {
	margin: 0;
}

.pa-experience-result-message__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
}

.pa-experience-result-message__image {
	margin: 0;
	font-size: 0;
}

.pa-experience-result-message__body {
	margin-left: 46px;
}

.pa-experience-result-message__title {
	position: relative;

	/* 重なりの基準をここに置く（飾りの `z-index: -1` が地色より後ろへ回るのを防ぐ）. */
	isolation: isolate;
	margin: 0;
	color: #463d3c;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

.pa-experience-result-message__title span {
	font-size: 22px;
}

/* 飾り。6 タイプとも 233×100px・上 -25px / 左 -10px で、絵だけが違う. */
.pa-experience-result-message__title--koso::after,
.pa-experience-result-message__title--app::after,
.pa-experience-result-message__title--inexperienced::after,
.pa-experience-result-message__title--tanki::after,
.pa-experience-result-message__title--oyakoko::after,
.pa-experience-result-message__title--honki::after {
	position: absolute;
	top: -25px;
	left: -10px;
	z-index: -1;
	width: 233px;
	height: 100px;
	background-repeat: no-repeat;
	content: "";
}

.pa-experience-result-message__title--koso::after {
	background-image: url("../introduce/images/experience/type_koso_bg02.png?ver=75d7c30d9cda");
}

.pa-experience-result-message__title--app::after {
	background-image: url("../introduce/images/experience/type_app_bg02.png?ver=ebdf65ecb2c2");
}

.pa-experience-result-message__title--inexperienced::after {
	background-image: url("../introduce/images/experience/type_inexperienced_bg02.png?ver=46fdbcd86106");
}

.pa-experience-result-message__title--tanki::after {
	background-image: url("../introduce/images/experience/type_tanki_bg02.png?ver=1c65b96f07e8");
}

.pa-experience-result-message__title--oyakoko::after {
	background-image: url("../introduce/images/experience/type_oyakoko_bg02.png?ver=4cccb0aec078");
}

.pa-experience-result-message__title--honki::after {
	background-image: url("../introduce/images/experience/type_honki_bg02.png?ver=ed956cd9c122");
}

.pa-experience-result-message__text {
	margin: 40px 0 0;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 2;
}

/* 移行元は説明文を `<br>` で 4 行に切る。行ごとに塊にして同じ折り返しにする
   （`<br>` を隠す書き方に頼らない。タブ 2 の設問と同じ流儀）. */
.pa-experience-result-message__line {
	display: block;
}

/* --- タブ 2「婚活のホンネ」の側の違い --- */

.pa-experience-result-message--real {
	margin-top: 30px;
}

.pa-experience-result-message--real .pa-experience-result-message__inner {
	justify-content: normal;
}

.pa-experience-result-message--real .pa-experience-result-message__body {
	margin-left: 22px;
}

.pa-experience-result-message--real .pa-experience-result-message__title {
	font-size: 24px;
}

.pa-experience-result-message__accent {
	color: #de4c2f;
}

/* 🚨 **タブ 2 の見出しの中の強調は大きさを変えない**（移行元は 24px のまま。
   タブ 1 の `span` だけが 22px に上がる）. */
.pa-experience-result-message--real .pa-experience-result-message__title span {
	font-size: inherit;
}

.pa-experience-result-message__copy {
	position: relative;
	margin: 0 0 25px 20px;
	padding-left: 20px;
	color: #748c50;
	font-size: 14px;
	font-weight: 700;

	/* 🚨 **行の高さは 1.5 を書き切る。**移行元はこの要素に指定を持たず、器から 1.5 を
	   受け継いで 21px になる（本番 www.p-a.jp を 2026-09-04 03:33 JST に測った実測）。
	   dev はテーマの既定（1.8）を受け継いで 25.2px になり、4.2px 高かった. */
	line-height: 1.5;
}

/* 吹き出しの絵。移行元は 240×46px を左上へ敷く（`background-size: 100%`）. */
.pa-experience-result-message__copy::before {
	position: absolute;
	top: -5px;
	left: -20px;
	display: inline-block;
	width: 240px;
	height: 46px;
	background-image: url("../introduce/images/experience/real_balloon_ttl-bg.png?ver=ef40208fff48");
	background-repeat: no-repeat;
	background-size: 100%;
	content: "";
}

/* --- 絞り込みの結果ページだけが持つ区画（Issue #3086 のユーザー目視 2026-09-04）---
 *
 * 移行元の結果ページ（`result.php`）は、一覧に無い 3 つの区画を持つ。
 *
 *   ① 見出しの帯   … 4 つの見出しだけを並べ、押すと一覧の該当タブへ戻る
 *   ② 他の条件で探す … 見出し + 選択肢の並び（タブ 3・4 は「現在の検索条件」+ 戻る押しボタン）
 *   ③ 灰色の結果一覧 … 一覧を地色 #f7f7f7 の器に入れる
 *
 * dev は ①〜③ をすべて持たず、代わりに一覧と同じ 4 区画の絞り込みを再掲していた。
 *
 * 実測（移行元 = 本番 www.p-a.jp を 2026-09-04 02:48 JST に幅 1440px で取得）:
 *
 *   div.other-search             1440 幅 / 下の外余白 20px / font-size 0
 *   div.l-contents               x80 / 1280×74.6 / 上罫 1px dashed #b3b0b0 / 上内余白 20px
 *   h3.leftBorder__ttl--green    x170 / 115.5×46.4 / 左罫 4px solid #d1e0ba /
 *                                内余白 5px 0 5px 14px / 14px / 縦は上そろえ
 *   ul.other-search-list         x320.5 / 820×53.6 / 外余白 -10px 0 0 35px / 横並びの塊
 *   li.other-search-list__item   100×43.6 / 外余白 10px 10px 0 0 / 13px 太字 / 行送り 1.1
 *   li の中の a / span           内余白 8px 0 5px / 枠 1px solid #d1e0ba / 中央そろえ
 *   li--current                  地色 #d1e0ba
 *   ul.noselect の li            すべて地色 #d1e0ba（押せない）
 *   div.search-other-btn         角丸 25px / 地色 #efefef / 13px 太字 / 左の外余白 10px
 *   section.bg-gray .l-contents  最大 1280px / 中央 / 内余白 40px 0 50px / 地色 #f7f7f7
 *
 * 🚨 **器は一覧の柱（1,100px）より 180px 広い。**タブの緑の箱と同じ作りで、負の外余白で
 * 外へ広げてから内余白で中身を戻す（1,297px 以上でだけ広げる。それより狭い画面では
 * 画面の外へ出るため）. */

.pa-experience-other-search {
	box-sizing: border-box;
	margin-bottom: 20px;
	padding-top: 20px;
	border-top: 1px dashed #b3b0b0;
	font-size: 0;
}

/* 🚨 **器は 1,280px へ広げ、中身は 1,100px の柱へ戻す（Task #3686。#3277 の訂正）。**
 *
 * 移行元は器（`.other-search` の `.l-contents`）を 1,280px にしたうえで、**その中に
 * もう一段 1,100px の柱（`.contents-wrapper`）を持つ**。上の点線の罫線は 1,280px いっぱいに
 * 引かれ、見出しと選択肢は柱の左端（画面の左から 170px）から始まる。
 *
 * 🚨 **#3277 の注記は「中身を器の左端から始める」と書いていたが、実測と食い違っていた。**
 * 同じファイルの上の注記（2026-09-04 02:48 JST の実測）は `h3.leftBorder__ttl--green` を
 * **x170** と正しく記録しており、2 つの注記が食い違ったまま残っていた。注記を根拠にせず
 * 実測で直す。
 *
 * 幅 1440px の実測（移行元 = 本番 www.p-a.jp を 2026-09-05 14:55:21 JST に取得、
 * dev = 14:55:30 JST に取得。絞り込みの結果ページ `?tab=3` で測った）:
 *
 *   | 測るもの               | 移行元          | dev（直す前） | 直したあと      |
 *   | 外側の器               | 左 80・幅 1280  | 左 80・幅 1280 | 変えない        |
 *   | 中身の柱               | 左 170・幅 1100 | 無い           | 左 170・幅 1100 |
 *   | 節の題の左端           | 170             | 80             | 170             |
 *   | 一覧へ戻るボタンの左端 | 1168.52         | 1073           | 1168.52         |
 *
 * 移行元の柱は `.contents-wrapper` が外余白 `0 90px` で作っている。dev は器が 1 枚しか
 * 無いので、**外へ広げる負の外余白と、中身を戻す内余白を対で持たせる**。
 *
 * 🚨 **1,280px 以上で広げる（Bug #4452・2026-09-07 に 1,297px から下げた）。**境目は
 * 意図的変更の台帳 92 行のユーザー判断（**1,280px 以上は移行元と同じ固定の姿**・
 * 750〜1,279px は画面幅に収める）から来ている。元の 1,297px は「1,280px ＋ 縦の
 * スクロールバー 17px」で決めていたが、**`@media` が見るのはページの幅で、窓の幅では
 * ない**。理由の全文は `.pa-experience-search__panel` の注記に書いた。
 *
 * 🚨 **内余白だけを幅の条件の外に書いてはいけない。**狭い画面で中身が二重に内側へ寄る。
 * 負の外余白と内余白は必ず対で、同じ幅の条件の中に置く. */
@media (min-width: 1280px) {
	.pa-experience-other-search {
		margin-inline: -90px;
		padding-inline: 90px;
	}
}

/* 見出し。移行元の `.leftBorder__ttl--green` は縦線 4px・14px で、行の上そろえである. */
.pa-experience-other-search__title {
	display: inline-block;
	margin: 0;
	padding: 5px 0 5px 14px;
	border-left: solid 4px #d1e0ba;
	color: #463d3c;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	vertical-align: top;
}

/* 🚨 **並びは横並び（inline-flex）にして、同じ行の高さをそろえる。**移行元は項目に
   `mh` の印を付け、JavaScript で高さを最大にそろえている（記録版 `real.php` の 45 行の
   `other-search-list__item mh`）。dev は JavaScript を足さず、横並びの伸縮で同じ結果を
   作る。**タブ 1 のように文言が短い並びでは、`inline-block` のときと寸法が変わらない**
   （並び 820×53.6px・項目 100×43.6px。作業ツリーで実測して確認）. */
.pa-experience-other-search__list {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 820px;
	max-width: calc(100% - 160px);
	margin: -10px 0 0 35px;
	padding: 0;
	list-style: none;

	/* 🚨 **縦の位置そろえは書かない（見出しだけが `top` である）。**移行元は見出しに
	   `vertical-align: top` を当て、並びの側は既定（文字の基準線そろえ）のままである。
	   並びにも `top` を書くと器の高さが 74.6px から 67.4px へ縮み、移行元と 7.2px
	   食い違った（作業ツリーで実測）. */
}

.pa-experience-other-search__item {
	display: inline-block;
	width: 100px;
	margin: 10px 10px 0 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	vertical-align: top;
}

.pa-experience-other-search__item.is-current,
.pa-experience-other-search__item:hover {
	background: #d1e0ba;
}

/* 押せない項目（タブ 3・4 の「現在の検索条件」）は地色を敷く（移行元 span と noselect）. */
.pa-experience-other-search__list--noselect .pa-experience-other-search__item,
.pa-experience-other-search__item > span.pa-experience-other-search__label {
	background: #d1e0ba;
}

.pa-experience-other-search__label {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 100%;
	padding: 8px 0 5px;
	border: 1px solid #d1e0ba;
	color: #463d3c;
	text-decoration: none;
}

/* 🚨 **タブ 2・4 は文言が長いので 1 件の幅を広げる。**移行元も設問を並べるほうは
   `.other-search-list__item` に `mh` を付け、JavaScript で高さをそろえたうえで
   幅いっぱいに置いている（記録版 `real.php` の 45 行・`questions.php` の 16 行）。
   dev は文言の長さで折り返す形にして、器の幅に収める。

   🚨 **タブ 3（条件を指定して探す）をここから外した（Bug #3825）。**タブ 3 の
   「現在の検索条件」の札は「男性」「中国・四国」のような短い語なので、移行元は
   素の 100px 固定のままで足りている（記録版
   `introduce/css/style_introduce_experience.css` の 1149〜1157 行の
   `.other-search .other-search-list__item { width: 100px }`）。**文言が長いという
   理由はタブ 2・4 のものだったのに、タブ 3 まで巻き込んでいた。**

   実測（移行元は 2026-09-05 17:03〜17:06 JST・移行先は 17:20〜17:24 JST・幅 1440px）:
   「男性」の札が 移行元 100px 対 dev 52px、「中国・四国」が 100 対 91px。札が 2 つ
   並ぶと 2 つ目の左端も 移行元 443px 対 dev 395px までずれていた。

   🚨 **中の内余白（左右 12px）も同時に外す。**幅を 100px に戻しても左右 12px が
   残ると、「北海道・東北」（字の並び 78px）が中身の幅 76px に収まらず 2 行に折り返して
   高さが変わる。移行元の中は `padding: 8px 0 5px` で左右を持たない（同 1164〜1165 行）. */
/* 🚨 **ここから下はパソコン幅だけに当てる（Bug #4165・2026-09-07）。**携帯幅の塊は
   `.pa-experience-other-search__list` や `.pa-experience-other-search__item`（クラス 1 つ）で
   幅を上書きしているので、**タブの名前を足した当たり先（クラス 2 つ）をここへ素で置くと
   携帯幅でも勝ってしまう**。実際に置いてみると、375px で一覧が 950px・器が 950px まで
   広がり、画面からはみ出した（dev の実ページで測って気づいた）. */
@media (min-width: 750px) {
	/* 🚨 **タブ 2 とタブ 4 は別の寸法である。1 つの規則でまとめてはいけない
	   （Bug #4165・2026-09-07）。**ここには「タブ 2・4 は文言が長いので 1 件の幅を広げる」と
	   書いてあったが、**移行元は「長いから広げる」のではなく、画面の種類ごとに別の寸法を
	   決めている**（記録版 `introduce/css/style_introduce_experience.css`）。

	   | 画面 | 一覧の器 | 1 件 | 中の余白 |
	   |---|---|---|---|
	   | 素の形（タブ 1・3） | 820px（1145〜1148 行） | 100px 固定 | `8px 0 5px` |
	   | タブ 2（`.other-search--real`・1322〜1343 行） | 950px | `calc(50% - 12px * 2 / 3)` | `12px 0 8px` |
	   | タブ 4（`.other-search--question`・1527〜1537 行） | 760px | 100%・字 16px | `14px`・左寄せ |

	   まとめていたため、**タブ 2 は 1 件が中身なりの 273〜338px（移行元は 467px 固定の
	   2 列）**、**タブ 4 は 1 件が 388.97px・字 13px（移行元は 760px・16px）**になっていた
	   （移行元を本番から 2026-09-07 01:53 JST に取得して実測）。

	   --------------------------------------------------------------
	   タブ 2（婚活のホンネ）… 2 列に並べる
	   -------------------------------------------------------------- */

	/* 🚨 **`calc(50% - 12px * 2 / 3)` は移行元の書き方そのままである。**器 950px に対して
	   475 − 8 = 467px になる。**素朴に「(950 − 12) / 2」と書き換えない**（器の幅が変わった
	   ときに移行元と食い違う）. */
	/* 🚨 **素の形の上限（`max-width: calc(100% - 160px)`）を 150px へ緩める。**素の形の
	   160px のままだと、dev の柱（1,100px）に対して上限が 940px になり、**950px を書いても
	   940px で止まる**（1 件も 467 対 462px と 5px 狭くなる）。150px にすると 1,100 − 150 =
	   950px でちょうど収まる。**見出し（102px）＋ 一覧の左の外余白（35px）＝ 137px** は
	   確保できる（余り 13px）。移行元は器が 1,280px なので上限を持つ必要が無く、素の
	   950px がそのまま出ている. */
	/* 🚨 **左の外余白は 48px にする（35px ではない）。**移行元はこの一覧を
	   **柱の右端へ寄せている**（`div.is-right { float: right }` の中に入れている。
	   記録版 `introduce/experience/real.php` の 44〜45 行と
	   `style_introduce_experience.css` の 188〜189 行）。dev は見出しの右へ並べる作りな
	   ので、**同じ位置になる左の外余白を計算して与える**。

	     柱 1,100 − 一覧 950 − 見出し 102 ＝ 48px

	   これで一覧の左端が 320px・右端が 1,270px（柱の右端）になり、移行元と一致する。
	   35px のままだと左端が 307px で、**一覧ごと 13px 左へ寄っていた**（移行元の見出しは
	   dev と同じ 102 × 46.38px・左端 170px であることを実測して確かめた。
	   2026-09-07 11:49:16 JST）。

	   🚨 **上の上限 150px と足し算が合っている。**150 ＝ 48（左の外余白）＋ 102（見出し）
	   である。どちらかだけを変えると、一覧の右端が柱の右端からずれる. */
	.pa-experience-other-search--tab2 .pa-experience-other-search__list {
		width: 950px;
		max-width: calc(100% - 150px);
		margin-bottom: -10px;
		margin-left: 48px;
	}

	.pa-experience-other-search--tab2 .pa-experience-other-search__item {
		box-sizing: border-box;
		width: calc(50% - 12px * 2 / 3);
		margin: 0 12px 10px 0;
	}

	/* 2 列目（偶数番）は右の余白を持たない。移行元 1330〜1331 行. */
	.pa-experience-other-search--tab2 .pa-experience-other-search__item:nth-child(even) {
		margin-right: 0;
	}

	.pa-experience-other-search--tab2 .pa-experience-other-search__label {
		padding: 12px 0 8px;
	}

	/* 🚨 **移行元 1338〜1343 行の `span` の規則（`width: 100%` と
	   `justify-content: normal`）は写さない。**あれは「現在の検索条件」の押せない札
	   （`span`）に当たる規則で、**押せる札（`a`）には当たらない**。dev のタブ 2 は押せる札
	   だけを出し、しかも中に `span` を持たず文字を直接置く（両側の実ページで数えて
	   どちらも 0 件だった。2026-09-07 11:40 JST）。当たる要素が無い指定を足すと、
	   あとから読む人が「効いているはず」と誤読する. */

	/* --------------------------------------------------------------
	 * タブ 4（質問から探す）… 1 列で幅いっぱい・字は 16px
	 * -------------------------------------------------------------- */

	.pa-experience-other-search--tab4 .pa-experience-other-search__list {
		width: 760px;
	}

	/* 🚨 **右の外余白を 0 にする。**素の形の `margin: 10px 10px 0 0` を残したまま
	   `width: 100%` にすると、横並びの伸縮で右の 10px のぶん**中身が 750px へ縮む**
	   （移行元は 760px）。移行元はこの並びを素の積み上げで組むので、右の外余白は
	   はみ出すだけで幅を変えない。dev は横並びなので 0 にして同じ結果を作る. */
	.pa-experience-other-search--tab4 .pa-experience-other-search__item {
		width: 100%;
		margin-right: 0;
		font-size: 16px;
	}

	/* 🚨 **移行元 1532〜1537 行の「上下左右 14px・左寄せ」は写さない。**あれは
	   `.other-search--question .other-search-list__item a`、つまり**押せる札（`a`）だけ**に
	   当たる規則である。ところが**タブ 4 の項目は、移行元も dev もリンクにしない**
	   （この区画の型紙の冒頭に書いたとおり、タブ 3・4 は「いまの条件を見せる」ための
	   並びで、代わりに「他の質問を見る」の押しボタンを添える）。dev の実ページを 3 つ
	   （`?q=1` `?q=2` `?q=5`）測っても、出るのは押せない札（`span`）1 件だけだった
	   （2026-09-07 12:4x JST）。**当たる要素が無い指定を足すと、あとから読む人が
	   「効いているはず」と誤読する**ので置かない。押せない札は素の形の内余白と
	   中央寄せのまま、移行元と同じ 760 × 32.59px になる. */
}

/* 一覧へ戻る押しボタン（移行元 `.search-other-btn`）。タブ 3・4 だけが持つ. */
.pa-experience-other-search__return {
	display: inline-block;
	margin: 10px 0 0 10px;
	border-radius: 25px;
	background: #efefef;
	color: #463d3c;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.1;
	vertical-align: top;
}

/* 🚨 **押しボタンは右端へ回り込ませる（Task #3686）。**移行元は右の塊を
 * `.is-right { float: right }` で右へ寄せ、押しボタンを柱の右端にぴたりとそろえる
 * （`introduce/css/style_introduce_experience.css` の 188〜189 行。幅の条件は持たない）。
 *
 * dev は見出し・選択肢・押しボタンを 1 行の並びに置いており、**中身の合計が柱より
 * 5.52px 短いぶんだけ押しボタンが右端から離れていた**（128 + 35 + 820 + 10 + 101.48 =
 * 1,094.48px に対し柱は 1,100px）。回り込ませると右端にそろう。
 *
 * 幅 1440px の実測（移行元 = 本番を 2026-09-05 14:58:44 JST に取得、dev = 14:59:47 JST）:
 *
 *   | 測るもの                 | 移行元          | dev（直す前） | 直したあと      |
 *   | 押しボタンの左端・右端   | 1168.52 / 1270  | 1073 / 1174.48 | 1168.52 / 1270 |
 *
 * 🚨 **携帯幅（749px 以下）へは広げない。**下の携帯幅の塊が同じ押しボタンを
 * `display: block` + `width: 50%` + `margin: 20px auto 0` で中央へ置いており、
 * 回り込みが残ると中央寄せが効かなくなる. */
@media (min-width: 750px) {
	.pa-experience-other-search__return {
		float: right;
	}
}

.pa-experience-other-search__return a {
	display: inline-block;
	height: 100%;
	color: #463d3c;
	text-align: center;
	text-decoration: none;
}

.pa-experience-other-search__return a:hover {
	color: #463d3c;
	opacity: 0.8;
}

.pa-experience-other-search__return span {
	display: inline-block;
	padding: 10px 13px 5px 24px;
}

/* --- パソコン幅だけの色と幅（Task #3622）---
 *
 * 移行元のパソコン版は、この区画の題も戻る押しボタンの文字も**黒（#000）**である。
 * 根の `html { color: #000 }` をそのまま受け継ぐ形で、専用の色を持たない。
 * dev は本文の色（#463d3c）のままだった。
 *
 * 🚨 **「色の宣言を消して受け継がせる」やり方は採れない。**dev の本文の色は Task #3614 で
 * 旧デザインのページが黒になったので、消せば黒を受け継ぐようにも見える。しかし
 * 押しボタンには共通の規則 `a { color: var(--pa-color-link) }`（668 行）が割り込むため、
 * `.pa-experience-other-search__return a` の色宣言を消すと**リンクの色**になってしまう。
 * 消すのではなく黒で上書きする（CDP の `CSS.getMatchedStylesForNode` に
 * 2026-09-05 11:05 JST に聞いて確かめた）。
 *
 * なお、色を決めているのはどれも `pa-experience-other-search__…` の目印で、体験談の外へは
 * 出ない。共通部分から受け継いだ結果ではないので、当たり先を広げる必要は無い。
 *
 * 幅 1440px の実測（移行元 = 本番 www.p-a.jp を 2026-09-05 10:25 JST に取得、
 * dev = 10:26〜10:27 JST に取得）:
 *
 *   | 相手                                    | 移行元          | dev（直す前）      | 件数 |
 *   | 題（他の婚活タイプで検索 ほか 3 件）    | rgb(0, 0, 0)    | rgb(70, 61, 60)    | 4    |
 *   | 押しボタンの中の文字（条件を再設定する / 他の質問を見る） | rgb(0, 0, 0) | rgb(70, 61, 60) | 2    |
 *   | 条件で探す（タブ 3）の題の幅            | 128px           | 116px              | 1    |
 *
 * 幅 128px の出どころも移行元で特定した。
 * `.other-search--conditions .leftBorder__ttl { display: flex; width: 110px }`
 * （移行元 CSS の 1507 行）で、**条件で探す（タブ 3）のページだけが持つ**。
 * 質問から探す（タブ 4）は `.other-search--question .leftBorder__ttl` に幅が無く、
 * 文字なりの 116px になる（両側で一致しているので触らない）。
 * 移行元は `box-sizing: content-box` で 110 + 内余白 14 + 罫線 4 = 128px。
 * このテーマは `box-sizing: border-box`（573〜576 行）なので、同じ外形は `128px` と書く。
 *
 * 🚨 **12px は中身でも内余白でもない。**箱を内訳へ分解して測ると、罫線 4px・左の内余白
 * 14px・右の内余白 0px・文字の並び 98px・子要素 0 個が両側で同じで、**中身の幅だけが
 * 110px 対 98px** だった。つまり移行元は文字の並びより 12px 広い幅を宣言している
 * （2026-09-05 11:06〜11:07 JST に両側で実測）。
 *
 * 🚨 **この区画の 90px のずれは Task #3686 で直した。**移行元は器（左 80・幅 1280）の
 * 中にもう一段 1,100px の柱（`div.contents-wrapper`。左右の外余白 90px）を持ち、中身を
 * その中へ収める。dev はその柱を持たず、題が移行元の 170px に対して 80px から始まって
 * いた。いまは `.pa-experience-other-search` が幅 1,297px 以上で内余白 90px を持ち、
 * 題は 170px から始まる。上の `width: 128px` は柱の有無と関係が無いので、この直しが
 * 入っても正しいまま残る（実測で確認済み）。
 *
 * 🚨 **押しボタンを包む `p`（`.pa-experience-other-search__return`）の色は変えない。**
 * 移行元の同じ器（`div.search-other-btn`）も rgb(70, 61, 60) で、既に一致している。
 * 変えるのは中の `a`（と、そこから受け継ぐ `span`）だけである。
 * `:hover` も同じ色にそろえる。もとの `:hover` は「色は変えず不透明度だけ落とす」
 * ための 1 本なので、基準の色を変えたらこちらも合わせないと、指を乗せた瞬間に
 * 色が変わってしまう。
 *
 * 🚨 **携帯幅（749px 以下）へは広げない。**移行元のスマホ版はこの区画の意匠が
 * 丸ごと違う（題は緑 rgb(116, 140, 80)・幅 355px の帯。2026-09-05 10:41 JST に
 * 携帯の名乗りで取得して実測）。パソコン幅の値をそのまま当てると別の差を作る. */
@media (min-width: 750px) {
	.pa-experience-other-search__title {
		color: #000;
	}

	.pa-experience-other-search--tab3 .pa-experience-other-search__title {
		width: 128px;
	}

	.pa-experience-other-search__return a,
	.pa-experience-other-search__return a:hover {
		color: #000;
	}
}

/* --- 灰色の結果一覧 ---
 *
 * 一覧の器（`.archive-content`）は格子なので、この器も同じ列の作りにしてカードの
 * 並びを変えない。カード以外（件数の帯・送り）は列をまたぐ. */

.pa-experience-results {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--pa-archive-gap);
	align-content: start;
	box-sizing: border-box;
	padding: 40px 0 50px;
	background: #f7f7f7;
}

.pa-experience-results > *:not(.pa-archive-card) {
	grid-column: 1 / -1;
}

/* --- 結果ページのカードの間隔（Task #3211）---
 *
 * 移行元は `.list-of-stories-results .stories-list__item` の外余白が `0 25px 50px 0` で、
 * **縦 50px・横 25px** である（本番 www.p-a.jp を 2026-09-04 04:16 JST に幅 1440px で
 * 取得して実測）。dev は縦も横もテーマ共通の 22px のままで、カード 1 枚の幅も
 * 移行元 350px 対 dev 352px だった（dev は同日 04:17 JST に実測）。
 *
 * **列を 25px にするとカードの幅も直る。**器の中身は 1100px なので、3 列・すき間
 * 2 か所で (1100 − 50) ÷ 3 ＝ 350px となり移行元と一致する（22px のままだと
 * (1100 − 44) ÷ 3 ＝ 352px）。一覧の側（`.pa-experience-stories`）が列を 25px に
 * している理由と同じである。
 *
 * 🚨 **この器の子でカード以外の 2 つは、外余白をいまの距離のまま保つ。**行の間隔を
 * 22px から 50px へ広げると、そのぶん（28px）だけ下へ動いてしまう。動かさないために、
 * **一覧の側と同じ仕掛け**（カード以外の子の中でトークンを 50px に読み替え、外余白を
 * 「保ちたい距離 − var(--pa-archive-gap)」の引き算で書く）を使う。**固定値の −28px で
 * 書くと、この PR が一覧の側で直したのと同じ壊れ方をする**（行の間隔を次に変えたとき、
 * 引き算のほうが追いつかずに子が動く）。
 *
 * 書き替えても描画は変わらない。行の間隔 50px との足し算で確かめる。
 *
 *   ページ送り（`nav.pagination`）… calc(62px − 50px) ＝ 12px。50 + 12 ＝ 62px
 *                                    （直す前は calc(40px − 28px) ＝ 12px で同じ）
 *   件数と並び順の帯                … calc(22px − 50px) ＝ −28px。50 − 28 ＝ 22px
 *                                    （直す前は −28px で同じ）
 *
 * 62px と 22px は**いまの dev の距離**であって移行元の値ではない。移行元の「最後の
 * カード → 下のページ送り」は 50px で、この差は #3211 では触らないと決まっている
 * （別の再調査に回す）。
 *
 * 🚨 **上の帯と上のページ送りはこの器の外にある**ので巻き込まれない
 * （`archive-experience.php` の 294〜295 行。器を開くのは 312 行）。
 *
 * 🚨 **トークンの読み替えから `.pa-experience-qa-list` を外す。**タブ 2・4 の結果は
 * この器の直下に `<ul class="pa-experience-qa-list">` を置き（`archive-experience.php`
 * の該当行。Bug #3251/#3252 でタブごとの修飾クラスを足したが、この `ul` 自身の指定は
 * 変えていない）、その
 * `ul` 自身が `gap: var(--pa-archive-gap, 22px)` で中身の間隔を決めている
 * （`.pa-experience-qa-list` の規則）。外さずに読み替えると、Yes/No カードどうしの
 * 間隔が 22px から 50px へ広がってしまう。ここは今回の突き合わせの対象外である。
 *
 * 🚨 **打ち消しの選択子は 2 つ重ねて詳細度で勝たせる。**ページ送りの打ち消す相手
 * `.archive-content .pagination { margin: var(--pa-space-sm) 0 0 }`（26620 行）と
 * 詳細度が並ぶと、**どちらが勝つかが書いた順で決まり、並べ替えで黙って効かなくなる**。
 *
 * 🚨 **携帯幅は行の間隔を触らない。**携帯幅は移行元 15px 対 dev 15px で一致している。
 * **中間の幅（750〜1,279px）も 22px のまま残す。**意図的変更の台帳 92 行の②が、その帯を
 * 「移行元の横スクロールを写さず、画面幅に収める」姿として承認しているためである
 * （もとの注記は「タブレット幅（750〜1296px）は突き合わせの対象外」と書いていたが、
 * 帯の上端は 1,279px が正しい。Bug #4452 で 1,280px を境目に直した）。
 * （一覧の側は外余白を 2 か所直しており携帯幅の見た目が変わるが、結果ページの側は
 * 携帯幅の見た目を 1px も変えない.）
 * ------------------------------------------------------------------------------ */
/* 🚨 **境目は 1,280px である（Bug #4452・2026-09-07 に 1,297px から下げた）。**
   縦（行の間隔）と横（器の広げ）の両方をこの 1 つの塊に入れてある。

   **縦**: 移行元はパソコン幅のどこでも行の間隔が 50px で、**1,280〜1,296px の帯だけ
   dev が 22px に落ちていた**（一覧の側の実測は、区画の高さが移行元 2280.97px 対
   dev 2198.22px で 84px 縮む。幅 1200px・机上の名乗りで 2026-09-07 21:43 JST に
   本番 www.p-a.jp と dev を取得して実測）。

   **横**: 前の版は「1,297px 以上でだけ広げる」としていた。元の 1,297px は「1,280px ＋
   縦のスクロールバー 17px」で決めていたが、**`@media` が見るのはページの幅で、窓の幅
   ではない**。理由の全文は `.pa-experience-search__panel` の注記に書いた。

   🚨 **境目は意図的変更の台帳 92 行のユーザー判断から来ている**（2026-09-06・裁定
   223 / 231）。**① 375px は移行元スマホ版 ② 750〜1,279px は移行元の横スクロールを
   写さず画面幅に収める ③ 1,280px 以上は移行元と同じ固定の姿**の 3 区分で、③がそのまま
   境目になる。**②の帯まで下げてはいけない**（一度 1,200px にする判断が出たが、台帳
   92 行を見落としていたため取り下げられた。裁定 497）。

   🚨 **境目のすぐ下 17px の帯を承認した台帳 110 行は、体験談を含まない**（対象は
   婚活川柳・ご成婚報告・サービス紹介・入会案内・成婚コンシェルジュの 5 区画）. */
@media (min-width: 1280px) {
	.pa-experience-results {
		margin-inline: -90px;
		padding-inline: 90px;
		row-gap: 50px;
		column-gap: 25px;
	}

	.pa-experience-results > *:not(.pa-archive-card):not(.pa-experience-qa-list) {
		--pa-archive-gap: 50px;
	}

	.pa-experience-results.pa-experience-results > .pagination {
		margin-top: calc(62px - var(--pa-archive-gap, 0px));
	}

	.pa-experience-results.pa-experience-results > .pa-experience-search__result-bar {
		margin-top: calc(22px - var(--pa-archive-gap, 0px));
	}
}

/* --- 検索結果の件数・並び順・表示数 --- */

/* --- 携帯幅の結果の帯（Task #3277） ---
 *
 * 🚨 **移行元のスマホ版は「数字の送り → 件数 → 並び順」の順に縦へ積む**（本番
 * www.p-a.jp を 2026-09-04 04:37 JST に携帯の名乗りで取得して確認。dev は
 * 「件数 → 並び順 → 送り」で順序が入れ替わっていた）。型紙の並びは変えずに
 * `order` で入れ替える（読み上げの順序は移行元のパソコン版と同じ「件数 → 送り」の
 * ままにしておきたいため）. */
@media (max-width: 749px) {
	.pa-experience-pager--result .pa-experience-pager__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.pa-experience-pager--result .pa-experience-pager__pages {
		order: 1;
		margin-left: 0;
	}

	.pa-experience-pager--result .pa-experience-pager__results {
		order: 2;
	}

	.pa-experience-pager--result .pa-experience-search__sort-form {
		order: 3;
	}
}

/* --- 絞り込みの結果の帯（Task #3277） ---
 *
 * 移行元は件数と数字の送りの帯（`.attached`）を、左（`.is-left` = 件数 + 送り）と
 * 右（`.is-right` = 並び順 + 表示数）の 2 つに分けて 1 行に並べる（記録版
 * style_introduce_experience.css の 1191〜1281 行）。dev は帯と送りを別の行に
 * 分けていたため、**移行元では 1 行に収まるものが 2 行になっていた**
 * （本番 www.p-a.jp を 2026-09-04 04:34 JST に取得して確認）。
 *
 * 一覧のページ送り（`.pa-experience-pager`）が移行元と同じ組みを既に持つので、
 * 結果ページもその部品を使い、右に選びを足す形にそろえる. */

.pa-experience-pager--result .pa-experience-pager__inner {
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

/* 件数と送りは左側で 1 つの塊にする（移行元の `.is-left`）。
 *
 * 🚨 **件数の器を伸ばさない（Task #3831 で `flex: 1 1 auto` を外した）。**
 * 移行元の `.is-left` は**件数と送りの両方**を包む塊（幅 1440px で 405.06×32px）だが、
 * 移行先の `__results` の中は**件数の文だけ**で、送り（`__pages`）はその兄弟である。
 * そこへ `flex: 1 1 auto` を当てていたため、件数の器が余った幅まで伸び（530px）、
 * 送りが右へ押し出されていた（170 + 530 + 30 = 730px）。
 *
 * 移行元は「件数の文の右端 + 30px」に送りを置く。**ずれは最大 468.27px あった**
 * （本番 www.p-a.jp を 2026-09-05 17:03〜17:36 JST に取得して実測）。
 *
 *   該当 7 名・1 ページ    移行元 387.73px ／ 移行先 856px
 *   該当 36 名・3 ページ   移行元 409.84px ／ 移行先 772px
 *   該当 41 名の 2 ページ目 移行元 417.06px ／ 移行先 730px
 *
 * 中身なりの幅へ戻し、余った幅は下の `margin-right: auto` が引き受ける. */
.pa-experience-pager--result .pa-experience-pager__results {
	display: flex;
	align-items: center;
	min-width: 0;
}

/* 🚨 **余った幅は送りの右側へ寄せる（Task #3831）。**器は `justify-content:
 * space-between` なので、3 つの子（件数・送り・選び）をそのまま並べると**送りが
 * 真ん中へ来る**。自動の外余白は `justify-content` より先に余りを取るので、ここへ
 * `auto` を置くと「件数 + 送り」が左に寄り、選びだけが右端に残る（移行元と同じ形）。
 *
 * 🚨 **パソコン幅だけに効かせる（Greptile の P1 指摘）。**携帯幅の折り返しは
 * このファイルの**前**（上の `@media (max-width: 749px)` の節）にある。折り返しは
 * 詳細度を足さないので、素の規則をここへ置くと**後ろにある分だけ携帯幅でも勝ってしまう**。
 * 携帯幅は縦積みで、送りは器の幅いっぱいに伸びるのが正しい。そこで `min-width` の
 * 折り返しで囲い、携帯幅には最初から当てない. */
@media (min-width: 750px) {
	.pa-experience-pager--result .pa-experience-pager__pages {
		margin-right: auto;
	}
}


/* 🚨 **移行元は選びどうしの間を `gap` ではなく「表示数」側の左外余白 30px で
   空ける**（記録版 1277〜1278 行の `.attached .display-number { margin-left: 30px }`）。
   `gap` にすると「並び順」と選びの間にも同じすき間が入り、移行元より広くなる. */
.pa-experience-search__sort-form {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
}

.pa-experience-search__limit-label {
	margin-left: 30px;
}

/* 移行元 `.attached .alignment-sequence select { width: 160px }`（同 1274〜1275 行）と
   `.attached .display-number select { width: 80px }`（同 1279〜1280 行）. */
.pa-experience-search__sort-label select {
	width: 160px;
}

.pa-experience-search__limit-label select {
	width: 80px;
}

/* 移行元 `.attached .alignment-sequence p, … { color: #463d3c }`（同 1270〜1272 行）. */
.pa-experience-search__sort-label,
.pa-experience-search__limit-label {
	display: inline-flex;
	align-items: center;
	color: #463d3c;
	font-size: 14px;
}

/* パソコン幅の姿（Bug #3621・2026-09-07）。
 *
 * 🚨 **移行元はパソコン幅とスマホ版で、この帯の作りを変えている。**上の素の規則が
 * 持つ「横に並べる（flex）・上下の中央でそろえる・字 14px」は、**移行元のスマホ版と
 * 同じ**である（`sp/introduce/css/sp_style_experience.css` の 950〜985 行の
 * `.attached .alignment-sequence { display: flex; align-items: center }` と
 * `font-size: 1.4rem`。スマホ版は `html { font-size: 62.5% }` なので 1.4rem = 14px）。
 * **だからここはパソコン幅だけに当てる。**素の規則を書き換えると携帯幅が移行元から
 * ずれる。
 *
 * 移行元のパソコン幅の実測（`https://www.p-a.jp/introduce/experience/result.php?tab=2&q=1`
 * を幅 1440px で 2026-09-07 10:29:23 JST に取得）:
 *
 *   並び順の器 … 215.72 × 32px・左端 888.56px・右端 1104.28px
 *   表示数の器 … 135.72 × 32px・左端 1134.28px・右端 1270px
 *   題の文字   … 幅 52px・字 13px
 *   選びの箱   … 160 × 32px・内余白 6.5px・`inline-block`・字 13px
 *
 * 直す前の移行先は 216 × 21px・題の文字 56px（字 14px）・選び 160 × 19px（内余白 0・
 * 字 13.3333px）で、**器が 11px 低く、選びが 13px 低く、題の文字が 4px 広かった**。
 *
 * 🚨 **字は 13px。**移行元はこの題に字の大きさを書かず、帯（`.attached`）から
 * 1.3rem = 13px を継ぐ。
 *
 * 🚨 **選びの高さが器の高さを決める。**移行元は題（`p`）と選び（`select`）を
 * `inline-block` で横に並べるので、背の高い選びが器の高さになる。
 *
 * 🚨 **器は `inline-flex` ではなく `inline-block` にする。**`inline-flex` のままだと
 * 題と選びの間にある改行が消え、器の幅が **212px 対 215.72px** と 3.72px 狭くなる
 * （帯は右寄せなので、狭くなったぶん左端が 7.44px 右へずれる）。移行元はこの改行を
 * 3.72px の空きとして描く。`inline-block` にすると幅・高さ・左端・右端がすべて一致する。
 * あわせて `align-items: center` も外す。移行元のパソコン幅は文字の下端をそろえる
 * （ベースライン）並べ方である. */
@media (min-width: 750px) {
	.pa-experience-search__sort-label,
	.pa-experience-search__limit-label {
		display: inline-block;
		font-size: 13px;
	}

	.pa-experience-search__sort-label select,
	.pa-experience-search__limit-label select {
		height: 32px;
		padding: 6.5px;
		font-size: 13px;
	}
}

/* 携帯幅の検索結果の件数と並び順・表示数の行（Bug #9372）。

   移行元のスマホ版（`sp/introduce/experience/real.php` ほかタブごとの部品 4 本の `.attached`）は、件数の行
   （`.search-results`）を左寄せにし、その下の `.floatArea` に「並び順」「表示数」の 2 つを 1 行で並べる。
   値は `sp/introduce/css/sp_style_experience.css`（`html { font-size: 62.5% }` なので 1rem = 10px）:

     .attached .search-results { margin-bottom: 10px }
     .attached .search-results .txt { font-size: 1.4rem; text-align: left; line-height: 1 }
     .attached .alignment-sequence select { width: 120px }
     .attached .display-number { margin-left: 15px }
     .attached .display-number select { width: 70px }
     .attached .alignment-sequence select, .attached .display-number select
       { font-size: 1.4rem; -webkit-appearance: menulist; background: #FFF; color: #463d3c }
     select { padding: 0.5em 0.5em }（パソコン版の `introduce/css/style_introduce_experience.css`。スマホ版の
       ページもこのファイルを読むので、選びの高さは 14px の字 ＋ 上下 7px で 34px になる。下見の走行 1 で、
       この内余白が無い dev は高さ 20px だった）

   dev の携帯幅は、選びの幅がパソコン版の 160px と 80px、間が 30px のままで 375px に収まらず、
   「並び順：」「表示数：」の字が折り返していた。

   🚨 **件数が中央に寄っていたのは後勝ちのためである。**上の「携帯幅の結果の帯」の節（Task #3277）は
   `align-items: stretch` を書くが、その後ろにある幅の条件の無い
   `.pa-experience-pager--result .pa-experience-pager__inner { align-items: center }` が同じ強さで後勝ちし、
   縦に積んだ子が携帯幅でも中央に寄っていた。この節はさらに後ろに置いて、携帯幅だけ `stretch` に戻す. */
@media (max-width: 749px) {
	.pa-experience-pager--result .pa-experience-pager__inner {
		align-items: stretch;
	}

	.pa-experience-pager--result .pa-experience-pager__results {
		margin-bottom: 10px;
	}

	.pa-experience-search__sort-label select {
		width: 120px;
	}

	.pa-experience-search__limit-label {
		margin-left: 15px;
	}

	.pa-experience-search__limit-label select {
		width: 70px;
	}

	.pa-experience-search__sort-label select,
	.pa-experience-search__limit-label select {
		-webkit-appearance: menulist;
		appearance: menulist;
		padding: 0.5em;
		background: #fff;
		color: #463d3c;
		font-size: 14px;
	}
}

/* 🚨 **「表示を変更する」は画面に出さない。**移行元にこの押しボタンは無く、選んだ
   時点で結果が変わる。ただし JavaScript が動かない環境では選びを送る手立てが
   無くなるため、型紙では消さず `.pa-visually-hidden` を重ねて画面からだけ外す。
   隠すクラスと同じ強さの `margin` を持たせないよう、ここでは外余白を書かない. */
.pa-experience-search__sort-submit.pa-visually-hidden {
	margin: -1px;
}

/* --- 該当が 0 件のとき --- */

/* ==================================================================
 * 該当が 0 件のときの画面（移行元 `.not-found`・Bug #3816）
 * ==================================================================
 *
 * 移行元の実測（本番 www.p-a.jp。パソコン幅は 2026-09-05 21:25:22 JST、携帯幅は
 * 21:26:00 JST。携帯幅は裁定 141 に従い `/sp/…` を直接開いた）:
 *
 * | 測るもの | パソコン幅 1440px | 携帯幅 375px |
 * |---|---:|---:|
 * | 絵の題の上の外余白 | 35px | 25px |
 * | 絵の表示寸法 | 104 × 40px | 53.25 × 20.47px |
 * | 文の字 / 行送り | 16px / 32px | 12px / 24px |
 * | 文の上の外余白 | 20px | 16px |
 * | 戻るの帯 | 240 × 40px | 177.5 × 38px |
 * | 帯の外余白 | 45px auto 40px | 30px auto 0 |
 * | ボタンの字 | 13px | 12px |
 * | 「く」の字の位置（左 / 上） | 20 / 20px | 16 / 19px |
 *
 * 🚨 **移行元は画面幅で値を変える（裁定 162）。**起票のときは「パソコン版の写しが
 * `@media` を持たないので、どちらの幅でも同じ値」と書かれていたが誤りだった。移行元は
 * 携帯の名乗りで `/sp/introduce/experience/` へ転送し、そちらは別の写し
 * （`sp/introduce/css/sp_style_experience.css`）を読む。**画面幅の折り返しではなく、
 * 別のページ・別の写しで分かれている。**
 *
 * 🚨 **携帯幅の絵は同じファイルを縮める。**53.25 ÷ 104 = 0.512 で、器の幅 355px の
 * **15%** に当たる。固定値でなく割合で書く。
 *
 * 🚨 **帯を持つのは段落（`p`）で、リンク（`a`）ではない。**リンクは字と内余白と
 * 「く」の字だけを持つ.
 * ------------------------------------------------------------------ */

.pa-experience-search__not-found {
	grid-column: 1 / -1;
	/* 🚨 **薄い面の色と内余白を外す（Bug #3816）。**移行元の `.not-found` は地色も
	   内余白も持たない。中身の位置は段落ごとの外余白が決める. */
	margin: 0;
	padding: 0;
	color: #463d3c;
	font-weight: bold;
	text-align: center;
}

/* 「sorry」の絵の題。移行元は `<img>` で置くが、全体原則にそろえて背景の絵にし、
   文言は読み上げ用の文字で置く（型紙の側に `.pa-visually-hidden` を持たせてある）。

   🚨 **行の余りを消す（移行元の `line-height: 0`）。**消さないと絵の下に字の
   下がり分が入り、次の段落までの間隔が移行元より広がる. */
.pa-experience-search__not-found-title {
	width: 104px;
	height: 40px;
	margin: 35px auto 0;
	background: url("../introduce/images/experience/not-found_ttl.png?ver=77000be253f6") no-repeat center / contain;
	line-height: 0;
}

.pa-experience-search__not-found-text {
	margin: 20px 0 0;
	font-size: 16px;
	line-height: 2;
}

/* 「検索ページに戻る」の帯。移行元は段落が帯を持ち、リンクが字と内余白を持つ. */
.pa-experience-search__not-found-back {
	width: 240px;
	margin: 45px auto 40px;
	border-radius: 25px;
	background: #463d3c;
}

/* 🚨 **行送りは `normal` に戻す。**このテーマは祖先で本文の行送り（1.8）を配って
   おり、そのままだと帯の高さが 43.4px になって移行元の 40px と合わない。移行元は
   この `a` に行送りを書いておらず `normal` のままで、字 13px のとき行の高さが
   約 20px になる（10 ＋ 10 ＋ 20 ＝ 40px）. */
.pa-experience-search__not-found-back a {
	display: block;
	position: relative;
	padding: 10px 20px;
	color: #fff;
	font-size: 13px;
	line-height: normal;
	text-decoration: none;
}

/* 左端の白い「く」の字。移行元は 4 × 4px の箱の上と右に 1px の罫線を引き、
   −135° 回して左向きの山にしている. */
.pa-experience-search__not-found-back a::before {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	content: "";
	transform: rotate(-135deg);
}

@media (max-width: 749px) {

	/* 🚨 **携帯幅は移行元スマホ版の値にする（裁定 162）。**上の表の右の列である. */
	.pa-experience-search__not-found-title {
		width: 15%;
		height: auto;
		margin-top: 25px;
		aspect-ratio: 104 / 40;
		font-weight: normal;
	}

	.pa-experience-search__not-found-text {
		margin-top: 16px;
		font-size: 12px;
	}

	.pa-experience-search__not-found-back {
		width: 50%;
		margin: 30px auto 0;
	}

	.pa-experience-search__not-found-back a {
		font-size: 12px;
	}

	.pa-experience-search__not-found-back a::before {
		top: 19px;
		left: 16px;
	}
}

/* ==================================================================
 * タブ 2・4 の結果の組み（Bug #3251・#3252・Issue #3086 のユーザー目視）
 * ==================================================================
 *
 * 以前はタブ 2・4 とも共通の型紙（3 列のカード格子）で出していたが、移行元は
 *   タブ 2「婚活のホンネで探す」（real.php）  … 吹き出しを左右交互に 1 列
 *   タブ 4「質問から探す」（questions.php）    … 1 列の横長カード（左にプロフィール・
 *                                                右に本文）
 * と、組みそのものが違う。ユーザーの目視で「検索結果ページの UI は全然移行元と
 * 違う」と指摘され、型紙を 2 本（qa-result-yesno.php / qa-result-question.php）に
 * 分けた。値は本番 www.p-a.jp を 2026-09-04 05:44〜05:45 JST に取得して実測した
 * `pa-verify-assets/3086-result-survey-0904/tab24-spec.md` を正本にする。
 *
 * 🚨 **1 件の幅は移行元と同じ固定値（942px・1100px）で書く。**この一覧の親
 * （`.pa-experience-results`・`.archive-content`）はすでに実測 1,100px 幅の柱として
 * 組んである（`.pa-experience-other-search__list` の width: 820px + margin-left:
 * 35px 等、同じ節にある他の固定値と同じ考え方）。942 + 158 = 1,100・218.4 + 879.5
 * ちょうど 60px（内余白）+ 1,100 になるように移行元の実測がすでに合わせてある.
 */

.pa-experience-qa-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pa-archive-gap, 22px);
	margin: 0 0 var(--pa-space-md);
	padding: 0;
	list-style: none;
}

/* ------------------------------------------------------------
 * タブ 2「婚活のホンネで探す」= 吹き出しを左右交互に 1 列
 * ------------------------------------------------------------ */

/* 🚨 **幅とずれは `li` に持たせる（吹き出しではなく）。**移行元も `li.is-left` /
   `li.is-right` が 942px 幅で 158px ずれており、**吹き出しの外の下に出る
   「この会員様の…」の帯も同じ幅にそろう**。吹き出しだけに幅を持たせると、
   その帯だけが柱いっぱい（1,100px）へ広がって移行元とずれる（2026-09-04 11:57 JST に
   dev を実測して見つけた。移行元 942px 対 dev 1,100px）. */
.pa-experience-qa-yesno {
	box-sizing: border-box;
	width: 85.636364%;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 🚨 **幅とずれは割合で書く（固定の px にしない）。**移行元は器が 1,100px に固定
   （サイト全体が `min-width: 1200px`）なので `940px` / `158px` の固定値で足りるが、
   dev の器は `width: 90%` で狭い画面でも縮む。固定値のままだと**タブレット幅
   （750〜1296px）で 942 + 158 = 1,100px が器（例: 幅 900px の画面で 810px）に
   収まらず、横にはみ出す**。1,100px を基準にした割合へ直すと、パソコン幅では
   942px / 158px と同じ値になり、狭い画面でも比率を保ったまま縮む。
   942 ÷ 1100 = 85.636364%、158 ÷ 1100 = 14.363636%（合計 100%）。

   🚨 **中身の幅も同じ理由で割合にする。**吹き出しの中の本文 658px と
   プロフィール 282px（中身 940px に対して 70% と 30%）、タブ 4 のカードの
   1,100px と左の列 218.4px も、固定のままだと格子の列が中身の最小幅まで
   広がって器からはみ出す。**器の幅だけ割合にしても、中身が固定なら防げない**
   （2026-09-04 に手元で 7 幅を測って確かめた。1,100 / 900 / 750px で
   横にはみ出していた）. */
.pa-experience-qa-yesno--right {
	margin-left: 14.363636%;
}

.pa-experience-qa-yesno__bubble {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 30px 0 40px;
	background-color: var(--pa-color-bg, #fff);
	border: 1px solid #cbae49;
	border-radius: 30px;
}

/* 「Yes」は金 #cbae49・「No」は緑 #7ca145（移行元
   style_introduce_experience.css の 1403〜1421 行）。尾の向きは左寄せ／右寄せ
   ではなく Yes/No の答えで決まる（--yes は右下・--no は左下）。--yes も明示して
   既定値に頼らない（依頼元の確認事項）. */
.pa-experience-qa-yesno__bubble--yes {
	border-color: #cbae49;
}

.pa-experience-qa-yesno__bubble--no {
	border-color: #7ca145;
}

/* 尾は CSS の三角形ではなく、移行元と同じ実画像（40×25px）を背景に敷く
   （parts_yes.png / parts_no.png、記録版 style_introduce_experience.css
   1396〜1420 行のとおり `background-size` は指定しない = 画像の実寸のまま置く）. */
.pa-experience-qa-yesno__bubble::after {
	position: absolute;
	bottom: -25px;
	display: block;
	width: 40px;
	height: 25px;
	background-repeat: no-repeat;
	content: "";
}

.pa-experience-qa-yesno__bubble--yes::after {
	right: 5%;
	background-image: url("../introduce/images/experience/parts_yes.png?ver=f15bc319ad4f");
}

.pa-experience-qa-yesno__bubble--no::after {
	left: 5%;
	background-image: url("../introduce/images/experience/parts_no.png?ver=0023c2433032");
}

.pa-experience-qa-yesno__heading {
	display: flex;
	align-items: center;
	margin: 0 0 30px;
}

/* 「Yes!」「No!」の特大の文字。字 80px（8rem）・書体は Spinnaker（dev のテーマに
   既に登録済み。assets/fonts/Spinnaker-Regular.woff2・main.css 内 @font-face）・
   字間 -4px（-0.4rem）・幅は 20%（移行元は width: 20% / 80% の百分率指定で、
   940px 換算では 188px / 752px と数値上は一致するが、移行元の実際の書き方に
   そろえて百分率にする）。色は吹き出しの枠と同じ金/緑を継ぐ（祖先
   .pa-experience-qa-yesno__bubble--yes/--no の border-color とは別に、ここでも
   直接指定して継承に頼らない）. */
.pa-experience-qa-yesno__answer {
	flex: 0 0 20%;
	width: 20%;
	margin: 0;
	color: #cbae49;
	font-family: "Spinnaker", sans-serif;
	font-size: 80px;
	font-weight: 400;
	letter-spacing: -4px;
	line-height: 1;
	text-align: center;
}

.pa-experience-qa-yesno__bubble--no .pa-experience-qa-yesno__answer {
	color: #7ca145;
}

/* 「Yes!」「No?」の文字の箱（Bug #3624）。移行元は `display: inline-block` ＋
   左外余白 10px である（本番 `result.php?tab=2&q=1` を 2026-09-07 01:53 JST に取得）。
   **携帯幅には既に同じ 2 本が入っており（下の `max-width: 749px` の塊）、
   パソコン幅にだけ落ちていた。**

   2 本とも見た目に出る。
   - `inline-block` にしないと、箱の高さが行送り（80px）ではなく**書体の字面の高さ**で
     決まり **94px** になる（+14px）
   - 中央寄せの計算には外余白も入るので、左の 10px で文字が **5px 右へ**寄る
     （移行元の左端 200.13px 対 dev 195.13px。同じ実測）. */
.pa-experience-qa-yesno__answer span {
	display: inline-block;
	margin-left: 10px;
}

/* 🚨 **題の行送りは `normal`（Bug #3624）。**移行元は指定を持たず `normal` で、
   字 20px に対し 1 行 30px になる。dev は 1.3 を書いており 26px で **4px 低い**
   （移行元 30px 対 dev 26px・左右の端は両側とも一致。2026-09-07 01:53 JST の実測）。
   携帯幅は既に `normal` へ戻してある（下の塊）ので、パソコン幅もそろえる. */
.pa-experience-qa-yesno__title {
	flex: 1 1 80%;
	width: 80%;
	margin: 0;
	color: #cbae49;
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
}

.pa-experience-qa-yesno__bubble--no .pa-experience-qa-yesno__title {
	color: #7ca145;
}

.pa-experience-qa-yesno__contents {
	display: flex;
	box-sizing: border-box;
}

/* 字間 1px は移行元の `.answer-contents__txt { letter-spacing: 0.1rem }`（記録版
   style_introduce_experience.css の 1457 行。移行元は html の基準文字が 62.5% で
   1rem が 10px なので 0.1rem は 1px にあたる）。2026-09-04 13:2x JST の本番実測
   でも 1px。dev は携帯幅にだけ書いてあり、パソコン幅は 0 のままだった. */
.pa-experience-qa-yesno__body {
	box-sizing: border-box;
	width: 70%;
	max-width: 100%;
	margin: 0;
	padding: 0 40px;
	color: #463d3c;
	font-size: 14px;
	letter-spacing: 1px;
	line-height: normal;
}

/* 🚨 **行送りと外余白は器ではなく段落へ当てる。**器へ `line-height: normal` を
   書いてもテーマの `p { line-height: var(--pa-line-height-text) }` が段落へ直接
   当たるため 1 度も効かない（dev の実測は行送り 25.2px・外余白 14px 0）。
   移行元の段落は外余白 0px・行送り normal（2026-09-04 12:44 JST に本番
   www.p-a.jp のタブ 2 で実測）. */
.pa-experience-qa-yesno__body p {
	margin: 0;
	line-height: normal;
}

/* 本文とプロフィールの間の縦の破線（移行元 .profile の border-left: 1px dashed
   #a29e9d）. */
.pa-experience-qa-yesno__profile {
	box-sizing: border-box;
	width: 30%;
	max-width: 100%;
	padding: 0 30px;
	border-left: 1px dashed #a29e9d;
}

.pa-experience-qa-yesno__profile-info {
	margin: 0;
}

.pa-experience-qa-yesno__avatar {
	display: flex;
	align-items: center;
	color: #463d3c;
}

/* 会員の色は性別で変わる（移行元 .profileArea--woman / --man）。名前・年齢・
   婚活タイプ名は色を継承する. */
.pa-experience-qa-yesno__avatar--woman {
	color: #e17777;
}

.pa-experience-qa-yesno__avatar--man {
	color: #208abb;
}

.pa-experience-qa-yesno__face {
	flex: 0 0 auto;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	object-fit: cover;
}

/* 移行元は `.profile-info { font-size: 0 }` で、名前と年齢の間にある改行由来の
   空白を潰している（記録版 style_introduce_experience.css の 835〜837 行）。
   2026-09-04 12:44 JST の本番実測でも親の字は 0px で、名前の右端 980.5px と
   年齢の左端 980.5px が一致する（隙間 0px）。子の婚活タイプ名・名前・年齢は
   自分の字の大きさを持つのでこの 0 の影響を受けない. */
.pa-experience-qa-yesno__avatar-txt {
	margin-left: 14px;
	font-size: 0;
}

/* 🚨 **行送りは `normal` に戻す。**テーマの `p { line-height: var(--pa-line-height-text) }`
   が段落へ直接当たるため、婚活タイプ名・名前・年齢の行の高さが移行元より
   4〜5px 高くなっていた（移行元の実測はいずれも行送り normal。婚活タイプ名の
   高さ 21px・名前と年齢の高さ 24px。2026-09-04 12:44 JST の本番実測）. */
.pa-experience-qa-yesno__type {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

/* 移行元の名前と年齢は横並び（`display: inline-block`・2026-09-04 12:44 JST の
   本番実測。どちらも高さ 24px の同じ行に載る）。dev は既定の block で縦積みに
   なっていた. */
.pa-experience-qa-yesno__name,
.pa-experience-qa-yesno__age {
	display: inline-block;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: normal;
}

.pa-experience-qa-yesno__name span,
.pa-experience-qa-yesno__age span {
	font-size: 16px;
}

/* 🚨 **項目（都道府県・学歴・職業）は 2 列固定ではなく「最後の 1 つだけが行を
   変える」作り。**移行元は器が `display: block` / `font-size: 0`、項目が
   `display: inline-block` / 字 12px / 外余白 `0 10px 0 0` で、最後の項目だけ
   `display: block` / 外余白 0（記録版 style_introduce_experience.css の
   886〜896 行）。2026-09-04 12:44 JST の本番実測でも、1 件目と 2 件目は同じ行
   （左 860px と 918px）、3 件目だけが次の行（左 860px・幅 221px）に来る。
   器の上の外余白 14px も同じ実測による（dev は 8px だった）. */
.pa-experience-qa-yesno__other {
	display: block;
	margin: 14px 0 0;
	padding: 0;
	color: #463d3c;
	font-size: 0;
	line-height: normal;
	list-style: none;
}

.pa-experience-qa-yesno__other li {
	display: inline-block;
	margin: 0 10px 0 0;
	font-size: 12px;
}

.pa-experience-qa-yesno__other li:last-child {
	display: block;
	margin-right: 0;
}

/* 「この会員様の全ての体験談を読む」は吹き出しの外の下・左寄せ（移行元は
   is-left / is-right どちらでも `.icon-link-area` に左右そろえの指定を持たない）. */
/* 🚨 **リンクの寄せは「左寄せ / 右寄せ」ではなく「Yes / No」で決まる。**移行元は
   `.icon-link-area--yes { text-align: left }` / `--no { text-align: right }`
   （記録版 style_introduce_experience.css の 223〜229 行）。尾の向きと同じ決まり方である. */
/* 🚨 **上の余白は器ではなく段落が持つ。**移行元は器 `.icon-link-area` が外余白
   0px、段落 `.icon-link` が `margin-top: 8px`（記録版
   style_introduce_experience.css の 223〜239 行。2026-09-04 12:44 JST の本番実測
   でも器 0px・段落 8px）。器と段落の両方に載せると余白が二重になる. */
.pa-experience-qa-yesno__link-area {
	margin: 0;
	text-align: right;
}

.pa-experience-qa-yesno__link-area--yes {
	text-align: left;
}

/* 行送りを `normal` に戻すのは、テーマの `p { line-height: var(--pa-line-height-text) }`
   が当たって段落の高さが 21.6px になっていたため（移行元は 18px。2026-09-04 12:44 JST
   の本番実測でも行送りは normal）. */
.pa-experience-qa-yesno__link {
	display: inline-block;
	margin: 8px 0 0;
	padding-left: 22px;
	color: #463d3c;
	font-size: 12px;
	line-height: normal;
}

/* 🚨 **常時の下線は移行元に無い。**移行元の下線は `a:hover span` だけが持つ
   （同 CSS 230〜231 行）。色もテーマのリンク色ではなく本文と同じ #463d3c. */
.pa-experience-qa-yesno__link a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}

/* 先頭の ▶ の印は「黒丸（span::before）＋ 白い三角（span::after）」の 2 枚重ね
   （同 CSS 242〜270 行）。段落の左内余白 22px の中へ絶対配置で置く. */
.pa-experience-qa-yesno__link a span {
	position: relative;
	display: inline-block;
}

.pa-experience-qa-yesno__link a span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -22px;
	width: 14px;
	height: 14px;
	background-color: #463d3c;
	border-radius: 50%;
	transform: translateY(-50%);
}

.pa-experience-qa-yesno__link a span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -17px;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 5px solid #fff;
	transform: translateY(-50%);
}

.pa-experience-qa-yesno__link a:hover span {
	text-decoration: underline;
}

/* ------------------------------------------------------------
 * タブ 4「質問から探す」= 1 列の横長カード
 * ------------------------------------------------------------ */

.pa-experience-qa-question {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-experience-qa-question__inner {
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	background-color: var(--pa-color-bg, #fff);
	border: 1px solid #d1e0ba;
	border-radius: 10px;
}

/* 🚨 **左の列の幅は中身に依存させない（Issue #3086 の注意点）。**設問によっては
   右の列がまるごと空になるため、`flex: 1` 等で中身に合わせて縮む組みにすると、
   右が空のときにカードごと崩れる。左右とも固定幅にして、空でも器の形を保つ. */
.pa-experience-qa-question__profile {
	box-sizing: border-box;
	flex: 0 0 19.854545%;
	width: 19.854545%;
	margin: 30px 0;
	padding: 0 0 0 30px;
	align-self: flex-start;
}

.pa-experience-qa-question__avatar {
	display: flex;
	align-items: center;
}

.pa-experience-qa-question__face {
	flex: 0 0 auto;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	object-fit: cover;
}

/* 🚨 **行送りは `normal` に戻す。**テーマの `p { line-height: var(--pa-line-height-text) }`
   が段落へ直接当たるため、婚活タイプ名・名前・年齢の行の高さが移行元より
   4〜5px 高くなっていた（移行元の実測はいずれも行送り normal。婚活タイプ名の
   高さ 21px・名前と年齢の高さ 24px。2026-09-04 12:44 JST の本番実測）. */
/* 分類の札の幅（Bug #3624）。**移行元は幅を 100px で固定している**
   （写しの `introduce/css/style_introduce_experience.css` 1614〜1616 行
   `.question-list__item .profile-info .profileArea .type { width: 100px }`。囲いの外の
   規則なのでパソコン幅にも当たる）。

   🚨 **幅を書かないと、幅と行数の両方が移行元から離れる。**dev は中身なりの幅だったので、
   長い名前の札が横へ伸びて 1 行に収まっていた。両側を同じ走行で測った結果
   （2026-09-09 18:3x JST・幅 1440px・移行元は写しを道案内つきの受け口から取得。
   控えは `pa-verify-assets/f11-w10/qW10b-1440-両側-2026-09-09-09-14.json`）:

     移行元  幅 100（12 件とも）  高さ 21 が 7 件・**42 が 5 件**
     dev     幅 97.45〜125.45    高さ 21 が 12 件

   **100px を超える dev の札 5 件と、移行元で 2 行に折れる札 5 件が 1 対 1 で一致する**
   （4・7・8・9・11 番目）。つまり**幅を 100px に固定すれば、幅も折れ方もそろう。**
   高さを直に書く必要はない。

   🚨 **`line-height: normal` はそのままにする。**移行元も `normal` で、1 行 21px に
   描かれる（両側の実測で高さ 21 が一致している）。

   749px 以下の帯にも同じ `width: 100px` が在る（移行元スマホ版を別に実測した値で、
   偶然ではなく同値である）。**片方を変えてももう片方が動かないよう、両方に書いたままにする**。

   check-mobile-only: 意図してメディアクエリの外に置く
     この直しは**パソコン幅の差を埋めるもの**である（移行元の規則も囲いの外に在る）。
     携帯幅は 749px 以下の帯が同じ `width: 100px` を既に持っているので、**この 1 行を
     足しても携帯幅の姿は変わらない**（同値の指定が帯の中で上書きし直す）. */
.pa-experience-qa-question__type {
	width: 100px;
	margin: 0 0 0 12px;
	color: #463d3c;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

/* 🚨 **タブ 4 の親の字は 0px ではなく 16px。**タブ 2 と違い、移行元は
   `.profile-info .txt-area { font-size: 1.6rem }`（記録版
   style_introduce_experience.css の 845〜849 行）が `.profile-info { font-size: 0 }`
   を打ち消す。そのため名前と年齢の間に改行由来の空白が 4.6px 残る
   （2026-09-04 12:44 JST の本番実測: 名前の右端 251.6px・年齢の左端 256.2px）。
   ここを 0 にすると移行元より 4.6px 詰まるので、実測どおり 16px を明示する. */
.pa-experience-qa-question__txt-area {
	margin-top: 20px;
	font-size: 16px;
}

/* 移行元の名前と年齢は横並び（`display: inline-block`・2026-09-04 12:44 JST の
   本番実測。どちらも高さ 24px の同じ行に載る）。dev は既定の block で縦積みに
   なっていた. */
.pa-experience-qa-question__name,
.pa-experience-qa-question__age {
	display: inline-block;
	margin: 0;
	color: #463d3c;
	font-size: 13px;
	font-weight: 700;
	line-height: normal;
}

.pa-experience-qa-question__name span,
.pa-experience-qa-question__age span {
	font-size: 16px;
}

/* 🚨 **項目（都道府県・学歴・職業）は 3 つを横に並べるのではなく「最後の 1 つ
   だけが行を変える」作り。**移行元は器が `display: block` / `font-size: 0`、
   項目が `display: inline-block` / 字 12px / 外余白 `0 10px 0 0` で、最後の項目
   だけ `display: block` / 外余白 0（記録版 style_introduce_experience.css の
   886〜896 行）。2026-09-04 12:44 JST の本番実測でも、1 件目と 2 件目は同じ行
   （左 201px と 250px）、3 件目だけが次の行（左 201px・幅 187.5px）に来る. */
.pa-experience-qa-question__other {
	display: block;
	margin: 14px 0 0;
	padding: 0;
	color: #463d3c;
	font-size: 0;
	line-height: normal;
	list-style: none;
}

.pa-experience-qa-question__other li {
	display: inline-block;
	margin: 0 10px 0 0;
	font-size: 12px;
}

.pa-experience-qa-question__other li:last-child {
	display: block;
	margin-right: 0;
}

/* 🚨 **タブ 4 だけ、項目の文字は 12px ではなく 13px。**移行元は項目の中の
   `span` に `font-size: 1.3rem` を当てている（記録版
   style_introduce_experience.css の 1601〜1602 行）。項目そのものは 12px の
   ままなので、寸法だけを見ると 12px に見えるが、実際に描かれる文字は 13px
   である（2026-09-04 13:3x JST の本番実測。「東京都」3 文字が 39px = 13px/字。
   タブ 2 の同じ項目は 48px / 4 文字 = 12px/字で、こちらは 12px のまま）. */
.pa-experience-qa-question__other li span {
	font-size: 13px;
}

/* 左右の列の間の縦の破線（移行元は左の列 .profile の border-right ではなく、
   右の列側の飾りとして同じ破線を写す。器の内余白の内側に線が来るよう
   `box-shadow` ではなく border を使う）. */
.pa-experience-qa-question__cont {
	box-sizing: border-box;
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	max-width: 100%;
	padding: 30px;
	border-left: 1px dashed #a29e9d;
}

/* 見出しの色は性別で変わる（移行元 .question-list__item--woman/--man .cont h3）. */
/* 🚨 **題の行送りは `normal`（Bug #3624）。**タブ 2 の設問の題と同じ理由である。
   移行元は指定を持たず `normal` で、字 20px に対し 1 行 30px になる。dev は 1.3 を
   書いており 26px で **4px 低い**（左右の端は両側とも一致。本番
   `result.php?tab=4&q=1` を 2026-09-07 01:53 JST に取得して実測）。

   🚨 **当たり先は 12 件あり、うち 1 件は両側とも中身が空で高さ 0px である。**
   数えるときは中身のある 11 件で数える. */
.pa-experience-qa-question__title {
	margin: 0;
	color: #463d3c;
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
}

.pa-experience-qa-question--woman .pa-experience-qa-question__title {
	color: #e17777;
}

.pa-experience-qa-question--man .pa-experience-qa-question__title {
	color: #208abb;
}

/* 字間 1.4px は移行元の `.txt { letter-spacing: 0.1em }`（字 14px の 0.1 倍）。
   2026-09-04 13:53 JST に本番 www.p-a.jp のタブ 4 で実測。タブ 2 の 1px
   （0.1rem 由来）と数字が違うので、片方を写し回さない. */
.pa-experience-qa-question__body {
	margin: 22px 0 0;
	color: #463d3c;
	font-size: 14px;
	letter-spacing: 1.4px;
	line-height: normal;
}

/* 🚨 **行送りと外余白は器ではなく段落へ当てる。**器へ書いてもテーマの
   `p { line-height: var(--pa-line-height-text) }` が段落へ直接当たるため効かない。
   移行元の段落は外余白 0px・行送り normal（2026-09-04 12:44 JST に本番
   www.p-a.jp のタブ 4 で実測）. */
.pa-experience-qa-question__body p {
	margin: 0;
	line-height: normal;
}

/* 「この会員様の全ての体験談を読む」はカードの外の下・右寄せ（移行元
   `.icon-link-area` は同じ見た目だが、タブ 2 と違って右寄せで置く）. */
/* 🚨 **上の余白は器ではなく段落が持つ。**移行元は器 `.icon-link-area` が外余白
   0px、段落 `.icon-link` が `margin-top: 8px`（記録版
   style_introduce_experience.css の 223〜239 行。2026-09-04 12:44 JST の本番実測
   でも器 0px・段落 8px）。器と段落の両方に載せると余白が二重になる. */
.pa-experience-qa-question__link-area {
	margin: 0;
	text-align: right;
}

/* 行送りを `normal` に戻すのは、テーマの `p { line-height: var(--pa-line-height-text) }`
   が当たって段落の高さが 21.6px になっていたため（移行元は 18px。2026-09-04 12:44 JST
   の本番実測でも行送りは normal）. */
.pa-experience-qa-question__link {
	display: inline-block;
	margin: 8px 0 0;
	padding-left: 22px;
	color: #463d3c;
	font-size: 12px;
	line-height: normal;
}

/* 🚨 **常時の下線は移行元に無い。**移行元の下線は `a:hover span` だけが持つ
   （同 CSS 230〜231 行）。色もテーマのリンク色ではなく本文と同じ #463d3c. */
.pa-experience-qa-question__link a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}

/* 先頭の ▶ の印は「黒丸（span::before）＋ 白い三角（span::after）」の 2 枚重ね
   （同 CSS 242〜270 行）。段落の左内余白 22px の中へ絶対配置で置く. */
.pa-experience-qa-question__link a span {
	position: relative;
	display: inline-block;
}

.pa-experience-qa-question__link a span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -22px;
	width: 14px;
	height: 14px;
	background-color: #463d3c;
	border-radius: 50%;
	transform: translateY(-50%);
}

.pa-experience-qa-question__link a span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -17px;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 5px solid #fff;
	transform: translateY(-50%);
}

.pa-experience-qa-question__link a:hover span {
	text-decoration: underline;
}

/*
 * 携帯幅（749px 以下）。**Issue #3425 で本番 https://www.p-a.jp のスマホ版を
 * はじめて実測し、導出値のままだった箇所を実測値へ置き換えた。**
 *
 * ここから下の宣言のうち、Issue #3425 で触っていないものは、移行元のスマホ専用
 * ページが読む記録版 `legacy/www.p-a.jp` コミット
 * 19f499fe393aadb453d62edd430a808bfff49eda の
 * `public/sp/introduce/css/sp_style_experience.css`（タブ 2 = 1097〜1215 行の
 * `.question-cont .callout-box*`、タブ 4 = 1244〜1340 行の `.question-list*`）
 * から数値を写して換算した値である。移行元スマホ版は html の基準文字を
 * 62.5%（1rem = 10px）にしているため、rem 値はここでは px に開いて書く
 * （このテーマの携帯幅は基準文字を変えていないため）。
 *
 * 🚨 **写しの CSS と本番の実測が食い違ったら実測を採る。**Issue #3425 では
 * 実際に食い違い、タブ 4 の札 1 枚が 109px 高い・2 つのタブともリンクの文字が
 * 1.2 倍という差になっていた。実測は
 * `https://www.p-a.jp/introduce/experience/result.php?tab=N&q=1` を携帯の名乗り
 * （iPhone）・幅 375px で開いて取った（携帯の名乗りでは
 * `https://www.p-a.jp/sp/introduce/experience/result.php?tab=N&t=&q=1` へ転送される）。
 * 取得時刻は 2026-09-04 16:45〜16:53 JST。以後この節の値を変えるときも、
 * 写しから導かず本番のスマホ版を測ること。
 *
 * markup の並び順の違い（判明した事実・こちらは推測ではない）:
 * タブ 4 はパソコン版 `public/introduce/experience/questions.php` の DOM 順が
 * profile → cont だが、スマホ版 `public/sp/introduce/experience/questions.php`
 * の DOM 順は cont → profile（見出し・本文が先、プロフィールが後）。この
 * テーマの型紙は 1 本（PC 順 = profile → cont）なので、携帯幅だけ `order`
 * で見た目の順を入れ替える。
 *
 * 婚活タイプの札の地模様（旧版の注釈では「スコープ外」と書いていたが、Issue #3425 で
 * 実測して範囲に入れた）:
 *
 * 🚨 **この地模様は移行元スマホ版にだけある。**同じ札をパソコン版（1440px）で測ると
 * `::before` の `content` が `none` で、絵は 1 つも描かれない（2026-09-04 17:18〜17:2x
 * JST に本番で両方を実測）。つまり「携帯幅だけの差」なので、当たり先はこの
 * `@media (max-width: 749px)` の塊の中だけに置く。型紙 `qa-result-question.php` が出す
 * 修飾クラス `pa-experience-qa-question__type--<記号>` は、パソコン幅では当たる規則が
 * 1 本も無いため姿を変えない（陰性対照でパソコン幅 1440px の差 0 件を確認済み）。
 *
 * 🚨 **タブ 2 の同じ札には地模様が無い。**本番のスマホ版で測ると、タブ 2 の `.type` は
 * 修飾クラスを持たず `::before` の `content` も `none` である。だから当たり先は
 * タブ 4 の札（`.pa-experience-qa-question__type`）に限る。
 *
 * 移行元スマホ版の実測値: `.type` は `position: relative` / `z-index: 1`、
 * `::before` は `content: ""` / `position: absolute` / `top: -10px` / `left: -10px` /
 * 80 × 30px / `z-index: -1` / `background-size: 80px 30px` / `no-repeat`。
 * 絵はテーマ資産の `assets/introduce/images/experience/type_<記号>_bg01.png` を使う
 * （体験談カード `.pa-archive-card__type--*` と個別ページ `.pa-experience__type--*` が
 * 同じ 6 枚を使っており、記号の対応表 `pa_experience_type_slugs()` も使い回した）。
 */
@media (max-width: 749px) {
	/* 🚨 **札と札の縦の間隔は、タブごとに違う。**この一覧は
	   `.archive-content--experience` の `--pa-archive-gap: 15px` を継いで 15px で並ぶが、
	   これはタブ 1・3 が使う体験談カードの値（移行元
	   `.stories-list__item { margin: 0 0 15px 0 }`）である。タブ 2 とタブ 4 は移行元でも
	   別の一覧で、間隔が違う。

	   本番のスマホ版の実測（2026-09-04 17:1x JST）:
	   - タブ 2 は `li` の下外余白 10px → 札の間隔 **10px**
	   - タブ 4 は 2 枚目以降の `li` の上外余白 20px → 札の間隔 **20px**

	   どちらも dev は 15px で、タブ 2 は 5px 広く・タブ 4 は 5px 狭かった。
	   `--pa-archive-gap` は区画の上下の間隔の計算にも使われているため、変数ではなく
	   この一覧の `row-gap` を直接上書きする. */
	/* 🚨 **最後の札とページ送りの間隔も、タブごとに違う。**この一覧の下外余白は
	   `var(--pa-space-md)`（携帯幅 30px）で、器 `.pa-experience-results` の格子の
	   行間 15px が上に乗るので、どちらのタブも 15 + 30 = 45px になっていた。

	   本番のスマホ版の実測（2026-09-12 00:33 JST・幅 375px と 320px で同値）:
	   - タブ 2 は最後の札の下端からページ送りの上端まで **25px**
	   - タブ 4 は同じところが **50px**

	   格子の行間を引いた形で書く（`.pa-experience-pager--top` と同じ書き方）. */
	.pa-experience-qa-list--yesno {
		row-gap: 10px;
		margin-bottom: calc(25px - var(--pa-archive-gap, 0px));
	}

	.pa-experience-qa-list--question {
		row-gap: 20px;
		margin-bottom: calc(50px - var(--pa-archive-gap, 0px));
	}

	/* ---- タブ 2「婚活のホンネで探す」 ---- */

	/* 幅いっぱいの 1 列だが、移行元は 100% ではなく 94.3%。左右交互の位置
	   （--left/--right）ではなく Yes/No の答えで左右へ寄せる（--yes は左詰め・
	   --no は右詰め）。先に --left/--right 由来の margin をリセットしてから
	   --yes/--no で上書きする（詳細度をそろえるため、同じ 2 段の組み合わせで書く）. */
	/* 🚨 **携帯幅では `li` の幅とずれを戻す。**パソコン幅は `li` が 85.636364% で
	   14.363636% ずれるが、携帯幅は吹き出しの側が 94.3% を持つ。戻さないと
	   85.636364% × 94.3% ＝ 80.7% になり、移行元より細くなる
	   （2026-09-04 に手元で 7 幅を測って見つけた）. */
	.pa-experience-qa-yesno--left,
	.pa-experience-qa-yesno--right {
		width: 100%;
		margin-left: 0;
	}

	.pa-experience-qa-yesno--left .pa-experience-qa-yesno__bubble,
	.pa-experience-qa-yesno--right .pa-experience-qa-yesno__bubble {
		box-sizing: border-box;
		width: 94.3%;
		margin: 0;
		padding: 15px;
		border-radius: 10px;
	}

	.pa-experience-qa-yesno--left .pa-experience-qa-yesno__bubble--yes,
	.pa-experience-qa-yesno--right .pa-experience-qa-yesno__bubble--yes {
		margin: 0 auto 0 0;
	}

	.pa-experience-qa-yesno--left .pa-experience-qa-yesno__bubble--no,
	.pa-experience-qa-yesno--right .pa-experience-qa-yesno__bubble--no {
		margin: 0 0 0 auto;
	}

	/* 尾はパソコン幅と別の画像（parts_yes_right.png / parts_no_left.png、
	   実寸 36×64 の高精細画像を 18×32 に縮小指定）。位置は吹き出しの右上/左上の
	   外側（bottom ではなく top・吹き出しの外）. */
	.pa-experience-qa-yesno__bubble::after {
		top: 10px;
		bottom: auto;
		width: 18px;
		height: 32px;
		background-size: 18px 32px;
	}

	.pa-experience-qa-yesno__bubble--yes::after {
		right: -18px;
		left: auto;
		background-image: url("../introduce/images/experience/parts_yes_right.png?ver=0d3802e334d3");
	}

	.pa-experience-qa-yesno__bubble--no::after {
		left: -18px;
		right: auto;
		background-image: url("../introduce/images/experience/parts_no_left.png?ver=a95c02cee860");
	}

	.pa-experience-qa-yesno__heading,
	.pa-experience-qa-yesno__contents {
		flex-direction: column;
	}

	/* 🚨 **縦並びに変えたら `align-items: center` を `stretch` へ戻す。**パソコン幅の
	   `__heading` は横並びで、`align-items: center` は「答えと題を上下中央でそろえる」
	   意味だった。携帯幅で `flex-direction: column` にすると同じ 1 行が「左右方向の
	   中央寄せ」に変わり、答えと題の箱が中身の幅まで縮んで中央へ寄る。
	   移行元スマホ版の `.answer-heading` は素の block なので、答えも題も器いっぱいの
	   幅（302.75px）で、題は `text-align: left` の左寄せである
	   （2026-09-04 17:0x JST の本番実測）。

	   🚨 **この差は 1 枚目の札では見えない。**1 枚目の題は 2 行に折り返して器いっぱいに
	   なるため、縮んでいることが分からない。12 枚すべてを測って見つけた
	   （例: 10 枚目の題は移行元 左 16px・幅 302.8px に対し dev 左 125.4px・幅 84px で
	   中央へ寄っていた）. */
	.pa-experience-qa-yesno__heading {
		align-items: stretch;
		margin: 0;
		padding: 0;
	}

	.pa-experience-qa-yesno__answer {
		flex-basis: auto;
		width: auto;
		margin: 0 0 15px;
		font-size: 60px;
	}

	/* 「Yes!」「No!」は中央寄せだが、移行元は文字の箱そのものに左外余白 10px を
	   付けている（本番の実測は `0px 0px 0px 10px`・display は inline-block）。
	   中央寄せの計算に外余白も入るため、この 10px で文字が 5px 右へ寄る
	   （移行元の左端 132px 対 dev の左端 127px。2026-09-04 16:53 JST の本番実測）. */
	.pa-experience-qa-yesno__answer span {
		margin-left: 10px;
	}

	/* 🚨 **題の行送りは `normal` に戻す。**移行元スマホ版の題は行送り `normal`
	   （字 14px に対し 1 行 21px）で、2 行で高さ 42px になる。パソコン幅の
	   行送り 1.3（18.2px）をそのまま携帯幅へ持ち込むと 36.4px になり、札 1 枚が
	   5.6px 低くなる（2026-09-04 16:53 JST に本番 www.p-a.jp のスマホ版で実測）. */
	.pa-experience-qa-yesno__title {
		flex-basis: auto;
		width: auto;
		margin: 0 0 12px;
		font-size: 14px;
		line-height: normal;
	}

	.pa-experience-qa-yesno__body,
	.pa-experience-qa-yesno__profile {
		box-sizing: border-box;
		width: 100%;
	}

	.pa-experience-qa-yesno__body {
		margin: 0 0 12px;
		padding: 0;
		font-size: 12px;
		letter-spacing: 1px;
	}

	/* 🚨 **携帯幅は器と段落で字の大きさが食い違う。**移行元は器が 12px・段落が
	   13px で、段落のほうが大きい（2026-09-04 13:2x JST の本番実測）。器の 12px を
	   13px へ揃えてはいけない。上の器の指定はそのまま残す. */
	.pa-experience-qa-yesno__body p {
		font-size: 13px;
	}

	.pa-experience-qa-yesno__profile {
		margin-top: 0;
		padding: 15px 0 0;
		border-left: 0;
		border-top: 1px dashed #a29e9d;
	}

	/* 🚨 **顔の絵の右の 1 列に、婚活タイプ名・氏名・年齢・所属をすべて入れる。**
	   移行元スマホ版は `.profileArea` が横並び（display:flex・align-items:center）で、
	   左に顔の絵 50px・右に `.profile-info`（左外余白 15px）を置き、その中へ
	   婚活タイプ名・氏名・年齢（`.profile-info__txt`）と所属（`.profile-info__other`）を
	   縦に積む。dev の型紙は所属を `__avatar` の外（`__profile-info` の直下）に持つため、
	   素のままだと所属だけが顔の絵の下へ回り、列が 73px から 88px へ 15px 伸びていた。

	   直しは **`__profile-info` を 2 列の格子にして、`__avatar` を `display: contents`
	   で透かす**方式にした。型紙を触らずに済み、パソコン幅の姿にも触らない
	   （`display: contents` の要素は箱を作らないが、`--woman` / `--man` の文字色は
	   子へ受け継がれる）。1 列目を 50px に固定するので、顔の絵が無い会員でも
	   右の列の位置は動かない。

	   実測（2026-09-04 16:53 JST・本番のスマホ版）: 顔の絵を含む列は左 26px・幅 302.75px・
	   高さ 73px。顔の絵は左 26px で列の中で上下中央（上から 11.5px）。右の列は左 91px. */
	.pa-experience-qa-yesno__profile-info {
		display: grid;
		grid-template-columns: 50px minmax(0, 1fr);
		column-gap: 15px;
		align-items: start;
		margin-left: 0;
	}

	.pa-experience-qa-yesno__avatar {
		display: contents;
	}

	.pa-experience-qa-yesno__face {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
	}

	/* 🚨 **器の字は 0px ではなく 13px。**パソコン幅は移行元の
	   `.profile-info { font-size: 0 }` に合わせて 0px にしているが、移行元スマホ版は
	   氏名・年齢を包む `.profile-info__txt` に 13px が当たる。0px のままだと氏名と
	   年齢の間にある改行由来の空白が潰れ、年齢の左端が 3.7px 左へ寄る
	   （移行元 146.5px 対 dev 156.8px − 15px の差し引き後 142.8px。
	   2026-09-04 16:53 JST の本番実測）. */
	.pa-experience-qa-yesno__avatar-txt {
		grid-column: 2;
		grid-row: 1;
		margin-left: 0;
		font-size: 13px;
	}

	.pa-experience-qa-yesno__type {
		font-size: 10px;
	}

	.pa-experience-qa-yesno__name,
	.pa-experience-qa-yesno__age {
		font-size: 11px;
	}

	/* 携帯幅だけ名前の右に 5px の外余白が付く（移行元 携帯幅の実測は
	   `0px 5px 0px 0px`。2026-09-04 12:46 JST に本番 www.p-a.jp のスマホ版で取得）. */
	.pa-experience-qa-yesno__name {
		margin-right: 5px;
	}

	.pa-experience-qa-yesno__name span,
	.pa-experience-qa-yesno__age span {
		font-size: 13px;
	}

	/* 🚨 **器へ字の大きさを書かない。**器に 10px を書くと、項目の中の `span` の
	   10px を器が肩代わりする形になり、器と項目の役割が移行元とずれる
	   （移行元は器 0px・項目 12px・中の `span` が 10px）. */
	.pa-experience-qa-yesno__other {
		grid-column: 2;
		grid-row: 2;
		margin: 2px 0 0;
	}

	/* 携帯幅は項目の文字が 10px に縮む（移行元スマホ版は
	   `.profile-info__other span { font-size: 1rem }`＝10px。記録版
	   sp_style_experience.css の 1208〜1209 行。タブ 2・タブ 4 とも同じ）。
	   パソコン幅は項目そのものの字（タブ 2 は 12px）を継ぐ. */
	.pa-experience-qa-yesno__other li span {
		font-size: 10px;
	}

	/* 携帯幅だけ上の余白が 6px になる（移行元 携帯幅の実測は段落が
	   `6px 0px 0px`・器は 0px。2026-09-04 12:46 JST に本番のスマホ版で取得）. */
	.pa-experience-qa-yesno__link {
		margin-top: 6px;
	}

	/* 🚨 **リンクの文字は 10px。**移行元スマホ版は `.icon-link span { font-size: 1rem }`
	   ＝ 10px を **span へ直接**当てている（基準文字が 62.5% のため 1rem = 10px）。
	   dev はこの 1 本が無く、器の `__link` の 12px を受け継いで 1.2 倍の大きさに
	   なっていた（外形 180x18 対 移行元 150x15）。当たり先はブラウザに聞いて
	   確かめた（CDP の `CSS.getMatchedStylesForNode`。dev の span に直接当たる
	   `font-size` は 0 本で、2 段上の器から受け継いでいた）。移行元のこの 1 本は
	   `@media` の外に素で書いてあり、**タブ 2 とタブ 4 の両方に同じく当たる**
	   ので、こちらも 2 つのタブへ同じ値を書く. */
	.pa-experience-qa-yesno__link a span {
		font-size: 10px;
	}

	/* ---- タブ 4「質問から探す」 ---- */

	.pa-experience-qa-question__inner {
		flex-direction: column;
		width: 100%;
		border-color: #bbb1b0;
	}

	.pa-experience-qa-question__profile,
	.pa-experience-qa-question__cont {
		flex-basis: auto;
		width: 100%;
	}

	/* markup の並びは profile → cont（パソコン版と同じ 1 本の型紙）だが、
	   移行元スマホ版は cont（見出し・本文）→ profile の順で描く。ここだけ
	   `order` で見た目の順を入れ替える（markup 事実は上の注記のとおり）. */
	/* 🚨 **タブ 4 の携帯幅は、左の列の行送りだけが `1` になる。**移行元スマホ版の
	   `.question-list__item .profile-info { line-height: 1 }`（記録版
	   sp_style_experience.css の 1313〜1317 行）である。婚活タイプ名の行の高さ
	   10px・名前と年齢の 11px・項目の器の 0px は、すべてこの 1 行から出ている
	   （実測値をそのまま px で書くと、中の `span` の行だけ計算が合わなくなる）。
	   タブ 2 の携帯幅は同じ指定を持たないので、こちらだけに当てる. */
	/* 🚨 **顔の絵の右の 1 列に、婚活タイプ名・氏名・年齢・所属をすべて入れる。**
	   移行元スマホ版は `.profileArea` が横並び（display:flex・align-items:center）で、
	   左に顔の絵 50px・右に `.profile-info`（左外余白 15px）を置き、その中の
	   `.txt-area` へ婚活タイプ名・氏名・年齢・所属を縦に積む。dev の型紙は
	   婚活タイプ名だけを `__avatar` の中（顔の絵の右）に置き、氏名・年齢・所属を
	   持つ `__txt-area` を顔の絵の下へ回すため、右の列 62px が 50 + 20 + 42 = 112px に
	   なっていた（+50px）。

	   直しは **`__profile` を 2 列の格子にして、`__avatar` を `display: contents` で
	   透かす**方式にした。型紙を触らずに済み、パソコン幅の姿にも触らない。
	   1 列目を 50px に固定するので、顔の絵が無い会員でも右の列の位置は動かない。

	   🚨 **外余白 0 も忘れない。**パソコン幅は `margin: 30px 0` だが移行元スマホ版は 0 で、
	   これだけで札 1 枚が 60px 高くなっていた。組みの差 50px と合わせて +109px の内訳になる。

	   🚨 **左の列の行送りだけが `1` になる。**移行元スマホ版の
	   `.question-list__item .profile-info { line-height: 1 }`（記録版
	   sp_style_experience.css の 1313〜1317 行）である。婚活タイプ名の行の高さ
	   10px・名前と年齢の 11px・項目の器の 0px は、すべてこの 1 行から出ている
	   （実測値をそのまま px で書くと、中の `span` の行だけ計算が合わなくなる）。
	   タブ 2 の携帯幅は同じ指定を持たないので、こちらだけに当てる。

	   実測（2026-09-04 16:52 JST・本番のスマホ版）: 左の列は左 26px・幅 323px・高さ 62px。
	   顔の絵は左 26px で列の中で上下中央（上から 6px）。右の列は左 91px. */
	.pa-experience-qa-question__profile {
		order: 2;
		display: grid;
		grid-template-columns: 50px minmax(0, 1fr);
		column-gap: 15px;
		align-items: start;
		margin: 0;
		padding: 15px;
		line-height: 1;
	}

	.pa-experience-qa-question__avatar {
		display: contents;
	}

	.pa-experience-qa-question__face {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
	}

	/* 🚨 **`width: 100%` を残さない。**上の `__profile, __cont` の一括指定が
	   `width: 100%`（= 353px）を当てており、`margin: 0 15px` と足して器から
	   30px はみ出していた（移行元の中身の器は 323px）。`auto` に戻すと縦並びの
	   伸びに任せた 353 − 30 = 323px になる（2026-09-04 16:52 JST の本番実測）. */
	.pa-experience-qa-question__cont {
		order: 1;
		width: auto;
		margin: 0 15px;
		padding: 20px 0;
		border-left: 0;
		border-bottom: 1px dashed #a29e9d;
	}

	.pa-experience-qa-question__title {
		font-size: 14px;
		line-height: 1.4;
	}

	.pa-experience-qa-question__body {
		font-size: 12px;
		letter-spacing: normal;
	}

	/* 🚨 **携帯幅は器と段落で字の大きさが食い違う（タブ 2 と同じ）。**移行元は
	   器 12px・段落 13px で、段落のほうが大きい（2026-09-04 13:53 JST に本番
	   www.p-a.jp のスマホ版で実測）。器の 12px を 13px へ揃えてはいけない. */
	.pa-experience-qa-question__body p {
		font-size: 13px;
	}

	/* 🚨 **パソコン幅の左の外余白 12px を携帯幅へ持ち込まない。**移行元の携帯幅は
	   字 10px / 行送り 10px / 外余白 `0px 0px 10px`（2026-09-04 12:46 JST に本番
	   www.p-a.jp のスマホ版で実測）。パソコン幅は `margin: 0 0 0 12px` なので、
	   一括指定で上書きして左の余白を消す. */
	/* 🚨 **幅 100px は移行元の実測値で、文字の幅ではない。**「短期決戦タイプ」は
	   10px × 7 文字 = 70px しかないが、移行元は `width: 100px` を持つ
	   （2026-09-04 16:52 JST の本番実測）。中身に任せると 70px に縮んで
	   左端も 15px 左へずれるため、幅を明示する. */
	.pa-experience-qa-question__type {
		grid-column: 2;
		grid-row: 1;
		position: relative;
		z-index: 1;
		width: 100px;
		margin: 0 0 10px;
		font-size: 10px;
		line-height: 10px;
	}

	/* 分類の札の地模様（移行元スマホ版 `.question-list__item .type:before`）。
	 *
	 * 🚨 **これは携帯幅にだけある。**同じ札をパソコンの名乗り・1440px で測ると、
	 * 移行元の `::before` は `content: none` で描かれない（2026-09-04 17:2x JST の
	 * 本番実測）。だからこの節の中だけに置き、パソコン幅の姿には触らない。
	 *
	 * 本番のスマホ版の実測: `.type` は `position: relative` / `z-index: 1`、
	 * `::before` は `content: ""` / `position: absolute` / `top: -10px` / `left: -10px` /
	 * 80 × 30px / `z-index: -1` / `background-size: 80px 30px` / `no-repeat`。
	 * `z-index: -1` は「文字の後ろ・器の地色より前」に置くための値である。
	 *
	 * 🚨 **タブ 2 には地模様が無い。**移行元スマホ版のタブ 2 の同じ札を測ると
	 * `::before` は `content: none` である（同じ日時の本番実測）。当たり先を
	 * タブ 4 の札に限る。
	 *
	 * 絵は 6 タイプぶんをテーマ資産として既に持っている（体験談カード
	 * `.pa-archive-card__type--*` と詳細ページ `.pa-experience__type--*` が同じ絵を使う）。
	 * 当たり先の修飾クラスは型紙 qa-result-question.php が出す. */
	.pa-experience-qa-question__type::before {
		content: "";
		position: absolute;
		top: -10px;
		left: -10px;
		width: 80px;
		height: 30px;
		background-repeat: no-repeat;
		background-size: 80px 30px;
		z-index: -1;
	}

	.pa-experience-qa-question__type--koso::before {
		background-image: url("../introduce/images/experience/type_koso_bg01.png?ver=6365e0364646");
	}

	.pa-experience-qa-question__type--tanki::before {
		background-image: url("../introduce/images/experience/type_tanki_bg01.png?ver=a31a9529d5a5");
	}

	.pa-experience-qa-question__type--app::before {
		background-image: url("../introduce/images/experience/type_app_bg01.png?ver=6d881b52e830");
	}

	.pa-experience-qa-question__type--inexperienced::before {
		background-image: url("../introduce/images/experience/type_inexperienced_bg01.png?ver=2ff4e058c907");
	}

	.pa-experience-qa-question__type--oyakoko::before {
		background-image: url("../introduce/images/experience/type_oyakoko_bg01.png?ver=b679f1e2c87b");
	}

	.pa-experience-qa-question__type--honki::before {
		background-image: url("../introduce/images/experience/type_honki_bg01.png?ver=6d22fa90d8fa");
	}

	/* 名前と年齢の間の空白の幅は親の字で決まる（移行元の携帯幅の実測は 12px。
	   パソコン幅の 16px から縮む）。
	   🚨 **上の外余白 20px も消す。**パソコン幅は `margin-top: 20px` で顔の絵の下へ
	   落とすが、移行元スマホ版は顔の絵の右の列に入るので外余白は 0 である
	   （2026-09-04 16:52 JST の本番実測は `0px`）. */
	.pa-experience-qa-question__txt-area {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
		font-size: 12px;
	}

	/* 🚨 **左の列に置いた `line-height: 1` は、名前・年齢・項目へ届かない。**
	   パソコン幅の規則が同じ要素へ直接 `line-height: normal` を当てており、
	   受け継ぎより直接の指定のほうが強いためである。移行元の携帯幅は名前と年齢の
	   行送りが 11px（＝ 字 11px の 1 倍）なので、要素ごとに書き直す
	   （2026-09-04 12:46 JST に本番 www.p-a.jp のスマホ版で実測）. */
	.pa-experience-qa-question__name,
	.pa-experience-qa-question__age {
		font-size: 11px;
		line-height: 1;
	}

	/* 携帯幅だけ名前の右に 5px の外余白が付く（移行元 携帯幅の実測は
	   `0px 5px 0px 0px`）. */
	.pa-experience-qa-question__name {
		margin-right: 5px;
	}

	.pa-experience-qa-question__name span,
	.pa-experience-qa-question__age span {
		font-size: 13px;
	}

	/* 🚨 **器へ字の大きさを書かない。**器に 10px を書くと、項目の中の `span` の
	   10px を器が肩代わりする形になり、器と項目の役割が移行元とずれる
	   （移行元は器 0px・項目 12px・中の `span` が 10px）. */
	.pa-experience-qa-question__other {
		margin-top: 5px;
		line-height: 1;
	}

	/* 🚨 **項目にも行送り 1 を書き直す。**上と同じ理由で、左の列の `line-height: 1`
	   はパソコン幅の `.pa-experience-qa-question__other` の `normal` に負けて項目まで
	   届かない。移行元の携帯幅は項目 1 つが高さ 12px（＝ 字 12px の 1 倍）で、
	   2 行で器が 24px になる（2026-09-04 12:46 JST の本番のスマホ版の実測）。
	   `normal` のままだと 1 つ 20.5px・器 41px になり、左の列が 17px 高くなる. */
	.pa-experience-qa-question__other li {
		line-height: 1;
	}

	/* 携帯幅は項目の文字が 10px に縮む（移行元スマホ版は
	   `.question-list__item .profile-info__other span { font-size: 1rem }`＝10px。
	   記録版 sp_style_experience.css の 1326〜1329 行）。パソコン幅の 13px を
	   ここで上書きする. */
	.pa-experience-qa-question__other li span {
		font-size: 10px;
	}

	/* 携帯幅だけ上の余白が 6px になる（移行元 携帯幅の実測は段落が
	   `6px 0px 0px`・器は 0px）. */
	.pa-experience-qa-question__link {
		margin-top: 6px;
	}

	/* 🚨 **リンクの文字は 10px（タブ 2 と同じ 1 本が原因）。**移行元スマホ版は
	   `.icon-link span { font-size: 1rem }` ＝ 10px を span へ直接当てており、
	   この 1 本が `@media` の外に素で書いてあるためタブ 2 とタブ 4 の両方に当たる。
	   dev はこの 1 本が無く、器の `__link` の 12px を受け継いで 1.2 倍の大きさに
	   なっていた（外形 180x18 対 移行元 150x15）。当たり先はブラウザに聞いて
	   確かめた（CDP の `CSS.getMatchedStylesForNode`）. */
	.pa-experience-qa-question__link a span {
		font-size: 10px;
	}
}

/* --- スマートフォン幅（749px 以下） --- */

@media (max-width: 749px) {
	/* 見出しは 4 つを横一列のまま置く。写し元は移行元のスマートフォン専用ページの
	   legacy/www.p-a.jp/public/sp/introduce/css/sp_style_experience.css の 248〜312 行
	   （.tab 一式）である。移行元の基準の文字は 10px（html に font-size: 62.5%）なので、
	   1rem は 10px・1.2rem は 12px として写した. */
	/* 🚨 **絞り込みの帯の上下は、移行元スマホ版とまるごと別の作りである**（Bug #5741）。
	 *
	 * 移行元スマホ版（`sp/introduce/css/sp_style_experience.css`）:
	 *   `.search-tab-area` の**上**に 10px、`ul.tab` の**下に破線**、
	 *   説明の区画（`.msg.type-msg`）の上に 46px。
	 *
	 * 実測（2026-09-11 23:45・幅 375px・携帯の名乗り・移行元は写しの受け口 8972 番）:
	 *   移行元 帯の上 10 ／ 帯の下端 → 説明の上端 **46** ／ 説明の上端 → 写真の上端 **41**
	 *   dev    帯の上  0 ／ 同 **81** ／ 同 **0**
	 *
	 * 🚨 **81 の内訳は 20（帯の下外余白）＋ 15（親の grid の行の隙間）＋ 46（説明の上外余白）**である。
	 * 親（`.archive-content--experience`）が `display: grid` で `gap: var(--pa-archive-gap)` を
	 * 持ち、**外余白が重ならない**。移行元は grid を使わないので 46 がそのまま隙間になる。
	 *
	 * 🚨 **パソコン幅へ広げない。**あちらは Bug #5699 で合わせてある（上 40・下 0・実線）. */
	.pa-experience-search__tabs--result {
		margin-top: 10px;
		margin-bottom: 0;
	}

	/* 🚨 **破線は器ではなく一覧そのものに付く。**移行元は `ul.tab` の下に引いている
	 * （器の `.search-tab-area` ではない）。パソコン幅は器の下に**実線**で、色も別である. */
	.pa-experience-search__tab-list {
		padding: 0 20px;
		border-bottom: 1px dashed #b3b0b0;
	}

	.pa-experience-search__tab-item {
		position: relative;
		margin-left: 5px;
	}

	.pa-experience-search__tab-item:first-child {
		margin-left: 0;
	}

	.pa-experience-search__tab-item a {
		padding: 36px 4px 15px;
		font-size: 10px;
	}

	/* 文言は 2 行に組む。太い部分だけ 1 段大きい。
	 *
	 * 🚨 **行を分けるのは `<br>` ではなく `strong` の塊化で行う**（Bug #5838）。
	 * 移行元スマホ版は 1 行目の下に 2px の空きを持つ（`sp/introduce/css/sp_style_experience.css`
	 * の `.search-tab-area .tab a span { display: block; margin-bottom: 2px }`）。
	 * `<br>` で改行すると**行の間に余白を入れる手段が無い**ので、`strong` を塊にして
	 * その下へ 2px を置く。**塊にすると `<br>` が余分な空行を作るので、同じ節で消す。**
	 *
	 * 実測（2026-09-11 22:23・幅 375px・携帯の名乗り・移行元は写しの受け口 8972 番）:
	 *
	 *   移行元  1 行目 12 ＋ 空き **2** ＋ 2 行目 10 ＝ 24 ／ 内余白 36 + 15 ＝ 51 → 押しボタン **75**
	 *   dev     1 行目 12 ＋ 空き **0** ＋ 2 行目 10 ＝ 22 ／ 内余白 51           → 押しボタン **73**
	 *
	 * 内余白も字の大きさも元から一致しており、**足りないのはこの 2px だけ**である。
	 *
	 * 🚨 **パソコン幅へ広げない。**あちらは `br { display: none }` と
	 * `strong { font-size: inherit }` を持ち、**両側 56px で一致している**（Bug #5699 の実測）. */
	.pa-experience-search__tab-item a br {
		display: none;
	}

	.pa-experience-search__tab-item a strong {
		display: block;
		margin-bottom: 2px;
		font-size: 12px;
	}

	/* 小さな絵は文字の上へ移す。位置の基準を li に移すため span を静止させる. */
	.pa-experience-search__tab-item a span {
		position: static;
		margin-left: 0;
	}

	/* 4 つぶんをまとめて上書きする。1 つずつの指定（:nth-child）と重みを揃えないと、
	   PC 幅で使う左寄せの位置が残ってしまう. */
	.pa-experience-search__tab-item:nth-child(1) a span::before,
	.pa-experience-search__tab-item:nth-child(2) a span::before,
	.pa-experience-search__tab-item:nth-child(3) a span::before,
	.pa-experience-search__tab-item:nth-child(4) a span::before {
		top: 10px;
		left: 50%;
		transform: translateX(-50%);
	}

	/* 検索の区画は画面いっぱいに置く（#3086 の L30。見た目に出る差なので 1 本目で直す）。
	 *
	 * 移行元は携帯幅で `.select-area` を画面いっぱい（375px）に置き、見出しの帯も
	 * 中身の器も 375px である。dev は一覧の器（`.archive-content`）の左右の余白
	 * 15px の中に入るため 345px しかなく、**30px 狭いことが 4 つの差を生んでいた**
	 * （移行元を本番 www.p-a.jp から 2026-09-03 15:37 JST に取得して測った値）。
	 *   見出しの札の幅   移行元 80px      対 dev 72.5px
	 *   中身の器の幅     移行元 355px     対 dev 325px
	 *   婚活タイプの枠   移行元 173.06px  対 dev 158.44px
	 *   枠の中の説明文   移行元 1 行      対 dev 2 行に折り返し（枠が 12px 高くなる）
	 *
	 * 器の余白は共通部品（`.archive-content`）が持つので触らない。**体験談の検索の
	 * 区画だけ**を、その余白のぶん外へ出す。
	 *
	 * 🚨 **外へ出す量は 10px である（2026-09-04 に訂正）。**以前は共通部品と同じ変数
	 * （`--pa-inner-gutter` = 15px）で出していたが、そのあと体験談の一覧の器の左右の
	 * 余白が **10px** へ変わった（このファイルの 25813 行付近。移行元のスマホ版に
	 * そろえた直し）。**変数のほうが 5px 大きいまま残ったので、区画が画面より 10px
	 * 広くなっていた**（本番 www.p-a.jp を 2026-09-03 23:19 JST に携帯の名乗りで
	 * 取得して測ると移行元 375px・左端 0 に対し、dev は 385px・左端 −5px）。
	 *
	 * 器の余白と同じ 10px を直に書く。変数を使うと、器の側だけが変わったときに
	 * また食い違う（同じ事故が 1 度起きている）. */
	.pa-experience-search {
		margin-right: -10px;
		margin-left: -10px;
	}

	/* 移行元 .select-area .contents-wrapper（同 CSS の 318〜322 行）と同じ余白. */
	.pa-experience-search__panel {
		padding: 15px 10px;
	}

	/* --- 携帯幅の「婚活タイプで探す」の 6 枠（#3086 の L11 / L12 / L16） ---
	 *
	 * 移行元の携帯向けの組みは PC とまったく違う（写し元は
	 * legacy/www.p-a.jp/public/sp/introduce/css/sp_style_experience.css の
	 * 329〜415 行）。**2 列・文字が上・挿絵が下**で、挿絵は枠の幅の 43% まで縮む。
	 *
	 * 移行元を本番 www.p-a.jp から 2026-09-03 15:37 JST に携帯の名乗りで取得して
	 * 測った値は次のとおりで、dev はどれも合っていなかった。
	 *   枠      移行元 173.06px（2 列）  対 dev 325px（1 列）
	 *   挿絵    移行元 72.69px 幅        対 dev 137〜153px（約 2 倍）
	 *   説明文  移行元 12px              対 dev 14px
	 *   タイプ名 移行元 14px             対 dev 20px
	 *
	 * 🚨 **移行元の携帯向けの HTML は文字と挿絵の並び順が PC と逆である**
	 * （PC は `img` → `p.type__txt`、携帯は `p.type__txt` → `img`）。dev が返す
	 * HTML は 1 通りなので、並べ替えは `order` で行う.
	 */
	.pa-experience-search__type-list {
		/* 移行元 .flexBox--3col の携帯版は 2 列で、間隔は縦横とも 2.5%（同 CSS の
		 * 19〜25 行）。枠の内側の幅 355px に対して 8.875px になる。
		 *
		 * 🚨 **縦の間隔は `%` で書けない（2026-09-03・セルフレビューの指摘を実測で確認）。**
		 * 移行元は `margin: 0 2.5% 2.5% 0` で間隔を作っており、**外余白の `%` は上下でも
		 * 「器の幅」が基準**なので、縦も横と同じ 8.875px になる。いっぽう格子の
		 * `row-gap` の `%` は**器の高さ**が基準で、値が食い違う。実測すると移行元
		 * 8.88px 対 dev 10.71px（1.83px 違い）だった。
		 *
		 * そこで縦だけ幅から計算する。器の内側の幅は「画面の幅 − 区画の左右の内余白
		 * 10px × 2」なので、その 2.5% を書く（幅 375px なら (375 − 20) × 0.025 =
		 * 8.875px で移行元と一致する）. */
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 2.5%;
		row-gap: calc((100vw - 20px) * 0.025);
	}

	/* 移行元 .type-list__item の高さは携帯では `auto`（中身で決まる）. */
	.pa-experience-search__type-item a {
		display: flex;
		flex-direction: column;
		align-items: center;
		min-height: 0;
		padding: 20px 0 0;
	}

	.pa-experience-search__type-text {
		position: relative;
		top: auto;
		left: auto;
		order: 1;
		width: 100%;
		margin: 0 auto;
		text-align: center;
		transform: none;
	}

	/* 地模様は器の中心へ置き直す（移行元 同 CSS の 402〜408 行）. */
	.pa-experience-search__type-text::after {
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
	}

	.pa-experience-search__type-item--koso .pa-experience-search__type-text::after {
		left: 50%;
		width: 140px;
		height: 60px;
	}

	.pa-experience-search__type-item--app .pa-experience-search__type-text::after {
		left: 50%;
		width: 120px;
		height: 50px;
	}

	.pa-experience-search__type-item--inexperienced .pa-experience-search__type-text::after {
		left: 50%;
		width: 102px;
		height: 59px;
	}

	.pa-experience-search__type-item--tanki .pa-experience-search__type-text::after {
		left: 50%;
		width: 108px;
		height: 59px;
	}

	.pa-experience-search__type-item--oyakoko .pa-experience-search__type-text::after {
		left: 50%;
		width: 105px;
		height: 54px;
	}

	.pa-experience-search__type-item--honki .pa-experience-search__type-text::after {
		left: 50%;
		width: 126px;
		height: 60px;
	}

	/* 挿絵は文字の下へ。幅は枠の 43%・高さは比を保つ（移行元 同 CSS の 383〜391 行）.
	   `max-width: none` を置くのは、テーマの既定 `img { max-width: 100% }` が
	   属性の幅（153px 等）を上限にしてしまうのを外すためである. */
	.pa-experience-search__type-image {
		position: static;
		bottom: auto;
		left: auto;
		order: 2;
		width: 43%;
		max-width: none;
		height: auto;
		margin: 8px auto 0;
	}

	.pa-experience-search__type-lead {
		font-size: 12px;
	}

	.pa-experience-search__type-label {
		margin-top: 2px;
		font-size: 14px;
	}

	.pa-experience-search__result-bar {
		flex-direction: column;
		align-items: flex-start;
	}

	/* --- タブ 2「婚活のホンネで探す」の 6 枠・携帯幅（Issue #3086 の目視 ⑤） ---

	   移行元のスマホ版は 3 列を **2 列**に組み替え、間隔を割合（2.5%）で取る。
	   写し元は `/sp/introduce/css/sp_style_experience.css` の 19〜25 行
	   （`.flexBox--3col`）と 418〜464 行（`.real-list`）である。本番を
	   2026-09-04 00:13 JST に携帯の名乗り・幅 375px で取得し、タブを開いて測った値は
	   カード 173.1×123.4px・一覧 355×413.6px だった. */
	.pa-experience-search__real-list {
		/* 移行元 .real-list の margin-bottom: -2.5%. */
		margin-bottom: -2.5%;
	}

	.pa-experience-search__real-item {
		/* 移行元 .flexBox--3col .flexBox__item（携帯版）の
		   width calc(50% - 2.5% * 1 / 2) と margin 0 2.5% 2.5% 0. */
		width: calc(50% - 2.5% * 1 / 2);
		margin: 0 2.5% 2.5% 0;
	}

	/* 🚨 **行の右端の打ち消しが 3 枚ごとから 2 枚ごとへ変わる。**移行元も
	   `:nth-child(3n+3)` を 2.5% へ戻し、`:nth-child(2n)` を 0 にしている
	   （同 CSS の 22〜25 行）。パソコン幅の `:nth-child(3n+3) { margin-right: 0 }` を
	   打ち消さないと、3 枚目と 6 枚目だけ右の間隔が消える. */
	.pa-experience-search__real-item:nth-child(3n+3) {
		margin-right: 2.5%;
	}

	.pa-experience-search__real-item:nth-child(2n) {
		margin-right: 0;
	}

	.pa-experience-search__real-inner {
		/* 移行元 .real-list__item .item__inner（携帯版）の内余白 17px 7px 12px. */
		padding: 17px 7px 12px;
	}

	.pa-experience-search__real-question {
		/* 移行元 .item__inner p（携帯版）の 12px 太字・行送り 1.4・色 #463d3c. */
		color: var(--pa-palette-ink-experience);
		font-size: 12px;
		line-height: 1.4;
	}

	/* 🚨 **携帯幅では設問を 1 本の文に戻す。**移行元のスマホ版は設問に `<br>` を
	   持たない（パソコン版だけが行を決めている）。行の `<span>` を並びに戻せば、
	   文言はそのままで移行元と同じ折り返しになる. */
	.pa-experience-search__real-line {
		display: inline;
	}

	.pa-experience-search__yes-no {
		/* 移行元 .yes-no-area（携帯版）は器を font-size: 0 にして、中の span で
		   大きさを決める（20px / 斜線 16px）。器の 0 は**行のあいだの空きを消す**
		   ための指定で、移行元がそのまま持っている。

		   行送りは移行元のスマホ版が受け継ぐ 1.4 にする（実測 20px の字で 28px）. */
		font-size: 0;
		line-height: 1.4;
	}

	.pa-experience-search__yes,
	.pa-experience-search__no {
		font-size: 20px;
	}

	.pa-experience-search__slash {
		font-size: 16px;
	}

	/* --- タブ 4「質問から探す」の 3 群・携帯幅（同 ⑤） ---

	   移行元のスマホ版は見出しと一覧を**縦に積み**、見出しを小さく緑にする。
	   写し元は `/sp/introduce/css/sp_style_experience.css` の 40〜50 行
	   （`.leftBorder__ttl`）と 532〜562 行である. */
	.pa-experience-search__question-group {
		/* 移行元 .question-list__item（携帯版）の display: block. */
		display: block;
	}

	.pa-experience-search__group-title {
		/* 移行元 .leftBorder__ttl（携帯版）の幅 100% / 色 #748c50 / 縦線 3px /
		   左の内余白 7px / 字 10px と、.question-list__item .leftBorder__ttl の
		   上の外余白 0。

		   🚨 **携帯幅だけ数え方を `border-box` へ切り替える（意図した違い）。**
		   移行元は `width: 100%` の外へ内余白 7px と縦線 3px が付くので、**親より
		   10px はみ出す**（本番を 2026-09-04 00:13 JST に携帯の名乗りで測ると、
		   器 355px の中で見出しが 365px だった）。パソコン幅は横並びの縮みで収まるが、
		   携帯幅は縦積みなので縮まず、そのままはみ出して横スクロールの元になる。
		   内余白と縦線を幅の内側に含めれば、見た目は同じで はみ出しだけが消える. */
		box-sizing: border-box;
		width: 100%;
		margin-top: 0;
		padding-left: 7px;
		border-left-width: 3px;
		border-left-color: #748c50;
		color: #748c50;
		font-size: 10px;
	}

	.pa-experience-search__select-list {
		/* 移行元 .question-list__item .select-list（携帯版）の上の外余白 10px. */
		margin-top: 10px;
	}

	.pa-experience-search__select-item a {
		/* 移行元 .select-list__item a（携帯版）の内余白 15px 12px。

		   🚨 **携帯幅では太字にしない。**移行元のスマホ版は共通の初期化が全要素へ
		   `font-weight: normal` を当てるので、質問の文は普通の太さで出る（実測 400）。
		   パソコン幅は 700 である（カードの本文と同じ型の差。`/sp/css/basic.css` の
		   3〜23 行）. */
		padding: 15px 12px;
		font-weight: normal;
	}

	.pa-experience-search__select-item a span {
		/* 移行元 .select-list__item span（携帯版）の 12px と display: block. */
		display: block;
		font-size: 12px;
	}

	/* 移行元 .select-list__item span:before（携帯版）は目印を縦の中央へ寄せる. */
	.pa-experience-search__select-item a span::before {
		top: 50%;
		transform: translateY(-50%);
	}

	/* --- タブ 3「条件を指定して探す」の 6 行・携帯幅（Issue #3086 のユーザー目視 2026-09-04） ---

	   移行元のスマホ版は行を**縦積み**にして、見出しを小さく緑にし、選択肢を **3 列**へ
	   組み替える。写し元は `/sp/introduce/css/sp_style_experience.css` の 40〜50 行
	   （`.leftBorder__ttl`）と条件の一覧の節である。本番 www.p-a.jp を 2026-09-04
	   02:12 JST に携帯の名乗り・幅 375px で取得し、タブを開いて測った値:

	     区画        x10 355×779
	     行          355×76 / 縦積み / 下内余白 15px / 下外余白 15px / 破線 #b3b0b0 / 字 12px
	     見出し      左罫 3px solid #748c50 / 左内余白 7px / 10px / 太さ 700
	     選択肢      112×39 / 3 列 / 外余白 0 8px 8px 0
	     札          110×37 / 内余白 10px / 13px
	     送りボタン  256×44（パソコン幅と同じ指定で、文字の幅だけ縮む）

	   🚨 **見出しの数え方はタブ 4 の群の見出しと同じ理由で `border-box` にする。**
	   移行元は `width: 100%` の外へ内余白 7px と縦線 3px が付いて親より 10px はみ出す
	   （携帯の名乗りで測ると器 355px に対し見出し 365px）。縦積みでは縮まないので、
	   そのままだと横スクロールの元になる. */
	.pa-experience-search__condition {
		display: block;
		font-size: 12px;
	}

	.pa-experience-search__condition-title {
		box-sizing: border-box;
		width: 100%;
		padding-left: 7px;
		border-left-width: 3px;
		border-left-color: #748c50;
		color: #748c50;
		font-size: 10px;
	}

	.pa-experience-search__option {
		width: calc(33.333333% - 8px * 2 / 3);
		margin: 0 8px 8px 0;
	}

	/* 🚨 **行の右端の打ち消しが 6 個ごとから 3 個ごとへ変わる。**パソコン幅の
	   `:nth-child(6n) { margin-right: 0 }` を戻さないと、6 個目だけ右の間隔が消える
	   （タブ 2 の 2 列組みと同じ型の注意）. */
	.pa-experience-search__option:nth-child(6n) {
		margin-right: 8px;
	}

	.pa-experience-search__option:nth-child(3n) {
		margin-right: 0;
	}

	.pa-experience-search__option-label {
		font-size: 13px;
	}

	/* 🚨 **携帯幅では送りボタンの「中の字」だけ 13px・太さ 400 に落ちる（器の
	   16px は変えない）。**移行元のスマホ版は共通の初期化が全要素へ
	   `font-weight: normal` を当て、ボタンの中の `<span>` に 13px を当てている。器の
	   字の大きさは 16px のままなので、**行の高さは 44px から変わらない**（本番を
	   2026-09-04 02:12 JST に携帯の名乗りで測ると、ボタン 256×44px・中の字 116×13px・
	   太さ 400 だった）。器に 13px を書くと行の高さが 38px へ縮んで移行元とずれる. */
	.pa-experience-search__submit-text {
		font-size: 13px;
		font-weight: normal;
	}

	/* --- 絞り込みの結果の意匠つき見出し・携帯幅（Task #3210）---

	   移行元のスマホ版は写真と文字を**縦に積む**。写し元は
	   `/sp/introduce/css/sp_style_experience.css` の 164〜198 行（`.msg` 共通）・
	   851〜874 行（タイプ）・998〜1027 行（ホンネ）である。

	     .msg                 外余白 35px 0 25px
	     .msg .contents       内余白 0 / 縦積み（横並びをやめる）
	     .msg .cont           左の外余白 0
	     .msg__txt            上の外余白 25px / 14px / 行送り 1.6
	     .type-msg            上の外余白 46px
	     .type-msg__ttl       12px / 中央そろえ / span は 15px の塊
	     .type-msg__ttl 飾り  139.5×60px / 上 -10px / 左 50% から中央へ寄せる
	     .type-msg .img       幅 55% / 中央
	     .real-msg            外余白 24px 0 0
	     .real-msg__ttl       15px（朱色の側も 15px 太字）
	     .real-msg .msg__copy 12px / 左内余白 0 / 外余白 0 0 19px 20px /
	                          吹き出しの絵 180×34px（上 -3px / 左 -20px）
	     .real-msg .img       上の外余白 19px / 絵は幅 62.8% で中央 */
	.pa-experience-result-message {
		/* 🚨 **左右に 15px を足して、移行元と同じ 325px の柱にする。**移行元のスマホ版は
		   柱（`.contents-wrapper`）に左右 25px の余白を持つ（`/sp/introduce/css/
		   sp_style_experience.css` の 8〜10 行）。dev の一覧の器は画面の左右に 10px しか
		   空けないので、差の 15px をこの区画で足す。本番 www.p-a.jp を 2026-09-04
		   03:40 JST に携帯の名乗りで測ると、移行元の中身は 325px・写真は 178.8×137.5px
		   （柱の 55%）だった. */
		margin: 35px 15px 25px;

		/* 🚨 **囲みそのものは画面いっぱいに広げる（Bug #6222）。**移行元の囲みは
		   左端 0・幅 375 で、その中の柱だけが左右 25px 内へ入る。dev は囲みごと
		   25px 内へ寄っていた（実測 2026-09-14 17:22 JST・タブ 1 は 25 / 325・
		   タブ 2 は 10 / 355・移行元はどちらも 0 / 375）。

		   🚨 **`calc(50% - 50vw)` は親の幅から計算されるので、タブ 1（親から 15px
		   内）とタブ 2（0）で値が変わっても、同じ 1 行で画面の左端へそろう。**
		   上の `margin` の一括指定より**後ろ**に書く。前に書くと打ち消される. */
		width: 100vw;
		margin-inline: calc(50% - 50vw);
		padding-inline: 25px;
	}

	/* 🚨 **移行元は絵の置き場をパソコン版と携帯版で変えている**（Bug #6221）。
	 * パソコン版（`introduce/experience/type.php`・`real.php`）は `p.img` を先に置くが、
	 * 携帯版（`sp/introduce/…`）は文章の**後ろ**へ回す（タイプは副題と本文の間）。
	 * dev は 1 つの型紙で両方を描くので、**型紙はパソコン版の並びのままにし、
	 * この幅でだけ並べ替える**。型紙を入れ替えるとパソコン幅が崩れる. */
	.pa-experience-result-message__inner {
		display: flex;
		/* 🚨 **交差軸を stretch へ戻す。**素の規則が `align-items: center` を持つので、
		 * 縦並びの flex にすると**横幅が中身の幅まで縮んで中央へ寄る**。直す前の
		 * `display: block` と同じ「横いっぱい」を保つ（Greptile の指摘・PR #6224）. */
		align-items: stretch;
		flex-direction: column;
	}

	/* タイプは絵が副題と本文の**間**に入る。囲み（`__body`）を透かして、
	 * 中の 2 つを絵と同じ並びの上に載せる. */
	.pa-experience-result-message--type .pa-experience-result-message__body {
		display: contents;
	}

	.pa-experience-result-message--type .pa-experience-result-message__title {
		order: 1;
	}

	.pa-experience-result-message--type .pa-experience-result-message__image {
		order: 2;
	}

	.pa-experience-result-message--type .pa-experience-result-message__text {
		order: 3;
	}

	/* ホンネは絵が最後。囲みはそのまま（既定の 0）で、絵だけを後ろへ回す. */
	.pa-experience-result-message--real .pa-experience-result-message__image {
		order: 1;
	}

	/*
	 * 🚨 **打ち消しは素の規則と同じ強さで書く（Bug #6276）。**
	 *
	 * 素の規則は `.pa-experience-result-message--real .pa-experience-result-message__body`
	 * （類名 2 つ・0,2,0）で `margin-left: 22px` を当てている。パソコン幅で絵の右へ
	 * 文章を置くための間隔である。**`@media` は詳細度を上げない**ので、ここを類名
	 * 1 つ（0,1,0）で書くと携帯幅でも素の規則が勝ち、打ち消しが効かない。
	 *
	 * 実測（幅 375px・2026-09-14 20:21 JST・両側 200・当たり件数 1 件）: 内側の器の
	 * 左端から数えて、移行元は副題 +0 / 小見出し +20、dev は +22 / +42 だった。
	 * 小見出しの 20px は移行元の携帯版（`.msg__copy` の `margin: 0 0 19px 20px`）と
	 * 同じ値なので、差はこの 22px だけである。
	 *
	 * タブ 1（`--type`）は `__body` を `display: contents` にしているので、この外余白は
	 * 元から効いていない。**この形ならタブ 1 は 1px も動かない.**
	 */
	.pa-experience-result-message__body,
	.pa-experience-result-message--real .pa-experience-result-message__body {
		margin-left: 0;
	}

	.pa-experience-result-message__text {
		margin-top: 25px;
		line-height: 1.6;
	}

	/* --- タイプ（タブ 1）--- */

	/* 🚨 **46 をそのまま書くと 61 になる。**親が grid で、行の隙間
	 * （`var(--pa-archive-gap)` = この画面では 15px）が**外余白に足される**ためである。
	 * 移行元スマホ版の 46px を描かれた隙間として出すために、隙間の分を引く。
	 * **裸の 31 と書かない。**隙間の値が変わったら一緒に動く形にしておく. */
	.pa-experience-result-message--type {
		margin-top: calc(46px - var(--pa-archive-gap));
	}

	.pa-experience-result-message--type .pa-experience-result-message__title {
		font-size: 12px;
		text-align: center;
	}

	.pa-experience-result-message--type .pa-experience-result-message__title span {
		display: block;
		font-size: 15px;
		font-weight: 700;
	}

	.pa-experience-result-message__title--koso::after,
	.pa-experience-result-message__title--app::after,
	.pa-experience-result-message__title--inexperienced::after,
	.pa-experience-result-message__title--tanki::after,
	.pa-experience-result-message__title--oyakoko::after,
	.pa-experience-result-message__title--honki::after {
		top: -10px;
		left: 50%;
		width: 139.5px;
		height: 60px;
		background-size: 139.5px 60px;
		transform: translateX(-50%);
	}

	/* 🚨 **41px は副題の高さの穴埋めだった**（Bug #6221）。並べ替える前は絵が区画の
	 * 先頭に来ており、移行元で副題が占める 41px を外余白で作っていた。副題を上へ
	 * 戻したので **0 に戻す**。移行元は副題の下端 301 に絵の上端が接する（実測）. */
	.pa-experience-result-message--type .pa-experience-result-message__image {
		width: 55%;
		margin: 0 auto;
	}

	/* --- ホンネ（タブ 2）--- */

	/* 🚨 **左右を含む一括指定にしない（Bug #6222）。**素の `margin` で書くと、
	 * 上の全幅の `margin-inline` を打ち消して囲みが本文の柱まで戻る. */
	.pa-experience-result-message--real {
		margin-block: 24px 0;
	}

	.pa-experience-result-message--real .pa-experience-result-message__title {
		font-size: 15px;
	}

	.pa-experience-result-message__copy {
		margin: 0 0 19px 20px;
		padding-left: 0;
		font-size: 12px;
	}

	.pa-experience-result-message__copy::before {
		top: -3px;
		left: -20px;
		width: 180px;
		height: 34px;
	}

	.pa-experience-result-message--real .pa-experience-result-message__image {
		margin-top: 19px;
	}

	.pa-experience-result-message--real .pa-experience-result-message__image img {
		display: block;
		width: 62.8%;
		margin: 0 auto;
	}

	/* --- 絞り込みの結果ページの区画・携帯幅（Issue #3086 の棚卸し 2026-09-04）---

	   移行元のスマホ版は次のように組み替える。写し元は
	   `/sp/introduce/css/sp_style_experience.css` の 61〜67 行（灰色）・
	   792〜850 行（見出しの帯と他の条件で探す）・876〜893 行（タイプと条件の 3 列）・
	   987〜993 行（結果一覧）・1056〜1059 行（戻るボタン）である。

	     .other-search .l-contents      幅は自動 / 上内余白 20px
	     .other-search-list             左の外余白 0 / 上の外余白 10px / 幅 100%
	     .other-search-list__item       幅は自動 / 枠 1px #d1e0ba / 左の外余白 10px / 12px
	     タイプと条件の並びだけ         3 列（幅 calc(33.3333% - 5px * 2 / 3)・
	                                    外余白 0 5px 5px 0・3 個ごとに右を 0）
	     .search-other-btn              幅 50% / 外余白 20px auto 0 / 13px
	     .bg-gray .l-contents           最大幅なし / 内余白 25px 0
	     .bg-gray .contents-wrapper     左右の外余白 10px
	     .list-of-stories-results       下内余白 30px

	   🚨 **パソコン幅の負の外余白（-90px）はここでは効かない**（1,297px 以上の塊に
	   書いてあるため）。器を画面いっぱいに広げる必要は無い. */
	.pa-experience-other-search {
		padding-top: 20px;

		/* 🚨 **囲みを画面いっぱいにする（Bug #6222）。**移行元は囲みが 0 / 375 で、
		   上の破線と 20px の内余白も画面の端から端まで届く。dev は囲みが 10 / 355 で
		   破線が 20px 短かった（実測 2026-09-14 17:22 JST）。
		   中の題・並び・札は両側とも 10 / 355 で一致しているので、
		   打ち消した 10px を内余白で入れ直して柱の位置を保つ. */
		width: 100vw;
		margin-inline: calc(50% - 50vw);
		padding-inline: 10px;
	}

	/* 🚨 **携帯幅の題は緑の細い帯で、パソコン幅とは別物である（Bug #3829）。**
	   移行元スマホ版を本番 www.p-a.jp から 2026-09-06 01:5x JST に携帯の名乗りで
	   取得し、4 つのタブを同じ測り方で並べた。

	   | タブ | 文言 | 移行元 | dev（直す前） |
	   |---|---|---|---|
	   | 1 | 他の婚活タイプで検索 | 355 × 13px | 115.45 × 46.38px |
	   | 2 | 他のホンネを検索 | 355 × 13px | 102 × 46.38px |
	   | 3 | 現在の検索条件 | 355 × 13px | 116 × 28.19px |
	   | 4 | 現在の検索条件 | 355 × 13px | 116 × 28.19px |

	   **4 つのタブの移行元の値は 1 つも違わない**（字 10px・色と左の罫線が緑
	   `#748c50`・幅いっぱい 355px・行送り 13px・左の内余白 7px）。移行先も 4 つとも
	   同じ姿なので、素の当たり先 1 本でそろう。

	   出どころは `sp/introduce/css/sp_style_experience.css` の 41〜51 行
	   （`.leftBorder__ttl`）である。

	   🚨 **すぐ下の 52〜55 行にある `--green` の `font-size: 1.4rem` は効かない。**
	   上の `1rem` に `!important` が付いているためで、写しを上から読むと 14px に
	   読み違える。罫線の太さだけは `--green` の 4px が勝つ（実測でも 4px）。

	   🚨 **`1rem` をそのまま写さない。**この画面の移行元は `html` が **10px** である
	   （パソコン版の写しを続けて読み込み、その `font-size: 62.5%` が後から勝つ）。
	   移行先は 16px なので、`1rem` と書くと 16px になる。実測した `10px` を直に書く。

	   🚨 **パソコン幅（750px 以上）は 1px も変えない。**題の色と幅はすぐ上の
	   `@media (min-width: 750px)` の塊が持っており、そちらは移行元と一致済みである. */
	.pa-experience-other-search__title {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding: 0 0 0 7px;
		border-left-color: #748c50;
		color: #748c50;
		font-size: 10px;
		line-height: 1.3;
	}

	/* 🚨 **題の改行は、移行元がパソコン版だけで入れている（Bug #3829）。**移行元の
	   組みを両方の幅で取り比べると次のとおりだった。

	   | 幅 | 移行元の題（タブ 1） | 箱 |
	   |---|---|---|
	   | パソコン 1440px | `他の婚活タイプ<br>で検索` | 2 行 |
	   | 携帯 375px | `他の婚活タイプで検索`（改行なし） | 355 × 13px の 1 行 |

	   dev は 1 つの組みを両方の幅で使い回すので、改行が携帯幅にも残る（タブ 1 は
	   115.45 × 46.38px の 2 行になっていた）。**組みは変えず、携帯幅だけ改行を
	   落とす。**タブ 3・4 の題は移行元も改行を持たないので、この規則が当たっても
	   何も変わらない. */
	.pa-experience-other-search__title br {
		display: none;
	}

	.pa-experience-other-search__list {
		width: 100%;
		max-width: none;
		margin: 10px 0 0;
	}

	.pa-experience-other-search__item {
		width: auto;
		margin: 0 0 0 10px;
		border: 1px solid #d1e0ba;
		font-size: 12px;
	}

	/* 🚨 **中の罫線と字を移行元スマホ版にそろえる（Bug #3825 でタブ 3・Bug #3914 で
	   残りのタブ 1・2・4）。**移行元の札は**罫線を二重に持つ**。外の `li` は携帯向けの
	   写しが 1px を足し（`sp/introduce/css/sp_style_experience.css` の 819〜824 行）、
	   中の `a` / `label` / `span` はパソコン版の写しの 1px がそのまま残る
	   （`introduce/css/style_introduce_experience.css` の 1164〜1181 行。
	   **移行元のスマホ版はパソコン版の写しも読み込む**ため、打ち消されない）。

	   字も 12px ではなく **13px** である。移行元の初期化
	   （`css/basic.css` の `html, body, div, span, … { font-size: 13px }`）が
	   中の要素へ**絶対値**で 13px を当てるので、外の `li` の 12px を継がない。

	   **4 つのタブすべてに同じことが起きているので、素の当たり先 1 本にまとめた。**
	   Bug #3825 のときはタブ 3 だけに絞り、残りを `border: 0` で明示していた. */
	.pa-experience-other-search__label {
		border: 1px solid #d1e0ba;
		font-size: 13px;
	}

	/* 🚨 **上下左右の内余白はタブごとに違う（Bug #3914 で実測）。**移行元スマホ版を
	   本番 www.p-a.jp から 2026-09-05 22:5x JST に携帯の名乗りで取得して測った。

	   | タブ | 移行元の中の内余白 | 出どころ |
	   |---|---|---|
	   | 1（婚活タイプ） | 8px 0 5px | 共通（`sp_style_experience.css` の 825〜842 行） |
	   | 2（婚活のホンネ） | 12px 0 8px | `--real`（同 1042〜1047 行） |
	   | 3（現在の検索条件） | 8px 0 5px | 共通 |
	   | 4（質問から探す） | 8px 0 5px | 共通（`--question` の指定は `a` だけを狙うが、
	   |   |   | この札は `span` なので当たらない） |

	   **どのタブも左右を持たない。**dev はパソコン幅の都合でタブ 2・4 の中へ左右
	   12px を足しているので、携帯幅ではそれを外す。外さないと文言の折り返す位置が
	   変わり、札の高さが移行元と食い違う.

	   高さの足し算（幅 375px の実測）:
	   - タブ 1: 外 2 ＋ 中 2 ＋ 内余白 13 ＋ 行送り 14.3 × 2 行 ＝ **45.59px**
	   - タブ 2: 外 2 ＋ 中 2 ＋ 内余白 20 ＋ 行送り 14.3 ＝ **38.3px**（2 行なら 52.59px）
	   - タブ 4: 外 2 ＋ 中 2 ＋ 内余白 13 ＋ 行送り 14.3 × 2 行 ＝ **45.59px**

	   🚨 **タブ 1 の 6 枚がすべて 45.59px なのは、並び（flex）が高さをそろえるため
	   である。**JavaScript ではない（移行元の 6 枚に `style` 属性は 1 つも付いて
	   いない）。一番長い「そろそろ本気タイプ」が 2 行に折り返し、その高さへ残りの
	   5 枚も伸びる. */
	.pa-experience-other-search--tab2 .pa-experience-other-search__label {
		padding: 12px 0 8px;
	}

	.pa-experience-other-search--tab4 .pa-experience-other-search__label {
		padding: 8px 0 5px;
	}

	/* 🚨 **押せない札（タブ 3・4）の中の字だけが細い（Bug #3829）。**移行元スマホ版を
	   本番 www.p-a.jp から 2026-09-06 01:5x JST に携帯の名乗りで取得して、4 つのタブを
	   同じ測り方で並べた。

	   | タブ | 中の要素 | 移行元の太さ | dev（直す前） |
	   |---|---|---|---|
	   | 1（婚活タイプ） | `a` | 700 | 700 |
	   | 2（婚活のホンネ） | `a` | 700 | 700 |
	   | 3（現在の検索条件） | `span` | **400** | 700 |
	   | 4（質問から探す） | `span` | **400** | 700 |

	   移行元は押せる札を `a`、押せない札を `span` で組み、`span` には太字の指定が
	   当たらない。**タブ 1・2 は両側とも 700 で一致しているので触らない。**

	   🚨 **当たり先を `span.…__label` にはしない。**dev はタブ 1 の「いま選んで
	   いる札」も `span` で組む（`template-parts/experience/other-search.php` の
	   71〜72 行）。要素の種類で狙うと、移行元では 700 のその 1 枚だけが 400 に
	   なってしまう. */
	.pa-experience-other-search--tab3 .pa-experience-other-search__label,
	.pa-experience-other-search--tab4 .pa-experience-other-search__label {
		font-weight: 400;
	}

	/* タイプ（タブ 1）と条件（タブ 3）の並びだけ 3 列に組み替える. */
	.pa-experience-other-search--tab1 .pa-experience-other-search__list,
	.pa-experience-other-search--tab3 .pa-experience-other-search__list {
		margin: 10px 0 -5px 0;
	}

	.pa-experience-other-search--tab1 .pa-experience-other-search__item,
	.pa-experience-other-search--tab3 .pa-experience-other-search__item {
		box-sizing: border-box;
		width: calc(33.3333333% - 5px * 2 / 3);
		margin: 0 5px 5px 0;
		text-align: center;
	}

	.pa-experience-other-search--tab1 .pa-experience-other-search__item:nth-child(3n),
	.pa-experience-other-search--tab3 .pa-experience-other-search__item:nth-child(3n) {
		margin-right: 0;
	}

	/* 文言の長いタブ 2・4 は 1 列のまま、左の外余白だけ外す. */
	.pa-experience-other-search--tab2 .pa-experience-other-search__item,
	.pa-experience-other-search--tab4 .pa-experience-other-search__item {
		width: 100%;
		margin: 0 0 5px;
	}

	.pa-experience-other-search__return {
		display: block;
		width: 50%;
		margin: 20px auto 0;
		font-size: 13px;
	}

	/* 🚨 **「条件を再設定する」の字は、器でなく中の `span` で作る（Bug #3829）。**
	   移行元スマホ版を 3 段に分けて測ると次のとおりだった（幅 375px・2026-09-06
	   01:5x JST に本番 www.p-a.jp を携帯の名乗りで取得）。

	   | 段 | 移行元 | dev（直す前） |
	   |---|---|---|
	   | 器 `p` | 左 98.75・177.5 × 42.3px・地色 #efefef・角丸 25px | 左 98.75・177.5 × **43.59**px・地色と角丸は同じ |
	   | リンク `a` | 太さ **400**・色 **rgb(0, 0, 0)** | 太さ 700・色 rgb(70, 61, 60) |
	   | 字 `span` | 左 115.75・143.48 × 42.3px・内余白 **14px 20px**・太さ 700 | 左 136.75・101.48 × 43.59px・内余白 10px 13px 5px 24px |

	   🚨 **器の地色と角丸は移行元も持っている。**起票のときの設計には「移行元は
	   丸みも地色も無い」と書いたが、実測すると `#efefef`・角丸 25px を持っていた。
	   器は 1 行も触らない。

	   🚨 **高さの 1.29px の差は、字が 2 行に折り返していたためである。**dev の
	   内余白は左右で 37px（13 ＋ 24）あり、字の入る幅が 140.5px しか残らない。
	   13px の「条件を再設定する」は 8 文字で 104px なので、内余白を移行元と同じ
	   左右 20px にすると 1 行に収まり、高さも 28 ＋ 14.3 ＝ 42.3px でそろう。

	   🚨 **太さは `a` と `span` で逆に置く。**移行元は `a` が 400、その中の `span`
	   が 700 である。`a` だけを 400 にすると `span` も受け継いで細くなる. */
	.pa-experience-other-search__return a {
		display: block;
		color: #000;
		font-weight: 400;
	}

	.pa-experience-other-search__return span {
		padding: 14px 20px;
		font-weight: 700;
	}

	/* 🚨 **押しボタンの改行も、移行元はパソコン版だけで入れている（Bug #3829）。**

	   | 幅 | 移行元の字 | 箱 | 内余白 |
	   |---|---|---|---|
	   | パソコン 1440px | `条件を<br>再設定する` | 101.48 × 43.59px | 10px 13px 5px 24px |
	   | 携帯 375px | `条件を再設定する`（改行なし） | 143.48 × 42.3px | 14px 20px |

	   **パソコン幅は dev と移行元が 1px も違わず一致している**（左端 1168.52・
	   101.48 × 43.59px・内余白まで同じ。2026-09-06 01:5x JST に両側で実測）ので、
	   組みからは改行を外せない。携帯幅だけ落とす。

	   落とさないと、上で内余白を広げても字は 2 行のままで、高さが 42.3px ではなく
	   56.6px（28 ＋ 14.3 × 2 行）になる. */
	.pa-experience-other-search__return span br {
		display: none;
	}

	/* 灰色の器。移行元は最大幅を外し、内余白を 25px 0 にして、中身を左右 10px 内へ.
	 *
	 * 🚨 **10px を二重にかけない（Task #3384）。**この器の親
	 * （`.archive-content.archive-content--experience`）は携帯幅で左右 10px の内余白を
	 * 持つ。ここに内余白 10px を足すだけだと、灰色が画面の端まで届かず（左 10px から
	 * 始まる）、中身も 20px 内側から始まって移行元より左右 10px ずつ狭くなる。
	 * 移行元は灰色を画面いっぱいに敷き、その中で中身を端から 10px 内へ入れる
	 * （本番 www.p-a.jp のスマホ版を 2026-09-04 14:07 JST に取得して実測。
	 * 帯は 左 0・幅 375・内余白 `25px 0 30px`、中の柱は 左 10・幅 355。
	 * 窓 320px でも帯は画面いっぱいで、柱は 左 10・幅 300）。
	 * 親の 10px を外余白で打ち消してから、同じ 10px を内余白で入れ直す.
	 */
	.pa-experience-results {
		margin-inline: -10px;
		padding: 25px 10px 30px;
	}

	/* 🚨 **`.pa-experience-qa-list` の `grid-template-columns: 1fr` はここで
	   上書きしなくてよい。**Bug #3251/#3252 でパソコン幅も 1 列固定に変えたため、
	   携帯幅専用の上書きは不要になった（残すと同じ値の二重指定になる）. */
}

/* ==============================================================
 * 移行してきた本文が使うクラス（成婚ストーリー詳細 /introduce/story/ 系）
 *
 * 写し元: public/css/page_introduce.css の「STORY（詳細）」以下（341 行目から）。
 * 移行元は祖先の id（#story）で絞っているが、この id は本文にそのまま残っている
 * うえ、/word/ や /event/ の移行ページも同じ id を使い回している。そのため他の節と
 * 同じく、本文の囲みを起点に書き直す（Bug #1550）。
 *
 * 移行元の実測値（1280px 幅の稼働ページ www.p-a.jp/introduce/story/story_98.html で
 * 計測）は次のとおりで、文章の柱がこのテーマの本文の幅（800px）とちょうど同じで
 * ある。よって幅の実値をほぼそのまま写せる。
 *   文章の柱（.detail_inner）      800px
 *   プロフィール 2 枚（.box_prof） 374px ずつ・間隔 52px
 *   挿絵（.story_imgR）            260px（画像 240px + 文章との余白 20px）
 *   節の見出し（.text_title）      20px  ← このテーマの既定と同値なので指定しない
 *
 * 起点を 2 つ（.entry-content と .page-content__body）にするのは、同型のマークアップが
 * post_type: page として投入された移行元のページ（/event/ /singlemother/）にも
 * 残っているためである。開閉の動きは assets/js/ac-menu.js が担う。
 * ============================================================== */

/* 文章と挿絵の 2 列。移行元 .storyTxt01 の display: table と .storyTxt01inner の
   display: table-cell をそのまま使う。挿絵の側の幅は挿絵の幅（240px + 余白 20px）で
   決まり、残りが文章に回る（移行元は 540px + 260px）. */
:is(.entry-content, .page-content__body) .storyTxt01 {
	display: table;
	width: 100%;
	margin-bottom: 30px;
	vertical-align: top;
}

:is(.entry-content, .page-content__body) .storyTxt01inner {
	display: table-cell;
	vertical-align: top;
}

/* 挿絵。移行元 .story_imgR / .story_imgL は絵を 240px にし、文章との間に 20px の
   余白を取る（合わせて 260px）。移行元は原寸 640px の画像をこの指定で縮めて出して
   いる。この指定が引き継がれていなかったため、dev では原寸のまま出ていた。
   幅を 260px と書くのは、このテーマが box-sizing: border-box を全体に効かせている
   ためである。移行元（content-box）の「240px + 余白 20px」と同じ絵の大きさにする. */
:is(.entry-content, .page-content__body) :is(.story_imgR, .story_imgL) {
	width: 260px;
	/* 素の img に効いている max-width: 100% を、ここでは外す。表組みのセルの中では
	   「セルの幅は中身で決まり、中身の上限はセルの幅で決まる」という循環になり、
	   240px の指定が効かない（実測では 68px まで縮んだ）。240px は本文の幅 800px に
	   対して十分小さく、外しても横にあふれない. */
	max-width: none;
	height: auto;
}

:is(.entry-content, .page-content__body) .story_imgR {
	padding-left: 20px;
}

:is(.entry-content, .page-content__body) .story_imgL {
	padding-right: 20px;
}

/* プロフィールの 2 枚組。移行元 .box_prof は幅 374px で、女性を左（float: left）、
   男性を右（float: right）に置く。800px の柱に対する 374px を割合で書き、幅が
   狭まっても 2 列を保てるようにする（50% から間隔の半分 26px を引く）. */
:is(.entry-content, .page-content__body) .box_prof {
	width: calc(50% - 26px);
	margin-bottom: 55px;
	font-size: 16px;
	line-height: 1.5;
}

:is(.entry-content, .page-content__body) .box_prof.women {
	float: left;
}

:is(.entry-content, .page-content__body) .box_prof.man {
	float: right;
}

/* 2 枚組を囲む枠が、浮かせた枠のぶんだけ高さを失うのを防ぐ. */
:is(.entry-content, .page-content__body) .detail_inner:has(.box_prof)::after {
	display: block;
	clear: both;
	content: "";
}

/* 2 枚組の下に続く見出し・囲みが、浮かせた枠に回り込まないようにする。移行元
   .text_title / .story_copy / .box_concierge の clear: both と同じ役である. */
:is(.entry-content, .page-content__body) .box_prof ~ :is(.text_title, .story_title, .story_copy, .box_concierge) {
	clear: both;
}

/* 会員の仮名。移行元 .prof_ttl は 28px の明朝で、下に金茶の罫線を引く。
   移行元はさらに左 50px を空けて男女の目印の絵を背景に敷く（`page_introduce.css` 366〜382 行）。
   🚨 **ここでは左 50px も絵も書かない。当てるのはページ群ごとの規則である**（Bug #8278）。
     成婚ストーリーの詳細 … `introduce-voice-story/css/story.css` の【3】（パソコン幅・Task #3605）
     シングルマザー応援プラン … 下の「U29 プランとシングルマザー応援プランの、パソコン幅だけの写し」の ⑤
     携帯幅 … `.single-content--story` の節（Task #3314）
   以前ここに「絵は移行先に配信されていない（dev で 403 を確認）」と書いていたが、いまは当てはまらない。
   絵はテーマの `assets/introduce-voice-story/images/` に置く。携帯版の `ico_women.jpg` / `ico_man.jpg` は
   dev で 200 を返す（2026-09-27 の実測）。パソコン版の `*_pc.jpg` は Bug #8278 で足したもので、
   200 はデプロイ後の受入で確かめる. */
:is(.entry-content, .page-content__body) .prof_ttl {
	margin-bottom: 15px;
	padding: 7px 0 15px;
	border-bottom: 1px solid #a97b3c;
	font-size: 28px;
	line-height: 1;
}

/* 会員紹介のリード文。移行元 .prof_read の金茶・太字・字間を写す. */
:is(.entry-content, .page-content__body) .prof_read {
	margin-bottom: 10px;
	color: #a97b3c;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

/* 開く前に見えている抜粋（移行元 .prof_text01 / .prof_text02）. */
:is(.entry-content, .page-content__body) :is(.prof_text01, .prof_text02) {
	margin-bottom: 10px;
	letter-spacing: 0.1em;
}

/* 開閉の枠。移行元 .box_prof dl / dt / dd の余白と、押せることを示す下線・
   カーソルを写す。本文の定義リストの既定（dt を太字にし、dd を字下げする）は
   ここでは邪魔になるので戻す. */
:is(.entry-content, .page-content__body) .box_prof dl {
	margin: 0;
	padding: 0;
}

:is(.entry-content, .page-content__body) .box_prof dt {
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: normal;
	text-align: right;
	cursor: pointer;
}

:is(.entry-content, .page-content__body) .box_prof dd {
	margin: 0;
	padding: 0;
}

:is(.entry-content, .page-content__body) .btn_close {
	font-size: 14px;
	text-align: right;
	cursor: pointer;
}

:is(.entry-content, .page-content__body) :is(.box_prof dt, .btn_close) span {
	text-decoration: underline;
}

/* --- 開閉の開き / 閉じ（assets/js/ac-menu.js と対で使う） ---
 *
 * 畳む指定は、JS が付ける .pa-ac-menu が無いと効かない。JS が動かない環境では
 * 全文が開いたままになり、会員プロフィールの中身に到達できる側へ倒している。
 * ----------------------------------------------------------- */

:is(.entry-content, .page-content__body) .pa-ac-menu > dd {
	display: none;
}

:is(.entry-content, .page-content__body) .pa-ac-menu.is-open > dd {
	display: block;
}

/* 開いたら「続きを読む +」を隠す（移行元の JS と同じ）。全文の中に同じリード文と
   本文が入っているため、両方出すと二重に見える. */
:is(.entry-content, .page-content__body) .pa-ac-menu.is-open > dt {
	display: none;
}

/* 抜粋も同じ理由で隠す。移行元は .prof_text01 / .prof_text02 を直接消していた. */
:is(.entry-content, .page-content__body) .pa-ac-menu-excerpt.is-hidden {
	display: none;
}

/* キーボードで送ったときに、いまどこに居るかが分かるようにする. */
:is(.entry-content, .page-content__body) .pa-ac-menu > dt:focus-visible,
:is(.entry-content, .page-content__body) .pa-ac-menu .btn_close:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 2px;
}

/* 話の題名。移行元 .story_title は 30px の明朝である. */
:is(.entry-content, .page-content__body) .story_title {
	margin-bottom: 15px;
	font-size: 30px;
	letter-spacing: 0.1em;
	line-height: 1;
}

/* 節の見出し。移行元 .story_copy は 24px の明朝に薄い金茶の帯を敷く。帯の色は
   婚活コラムの節の見出しと同じ #E3D6BF なので、既にある変数を使う. */
:is(.entry-content, .page-content__body) .story_copy {
	margin-bottom: 25px;
	padding: 12px 16px;
	background-color: var(--pa-article-band-bg);
	font-size: 24px;
	letter-spacing: 0.05em;
	line-height: 1;
}

/* 本文の末尾に残る関連記事の枠を、中身が入っていないときだけ隠す。
   移行元は空の枠（li#pairRelatedBox01〜03）をページ個別のインライン JS が AJAX で
   埋めていて、その JS は投入時に落ちている。

   🚨 **成婚ストーリーの詳細では、この枠を `inc/story-related-inline.php` が埋める**
   （Bug #3441）。埋まった枠まで隠さないよう、札が入っていない枠だけを隠す。
   条件に `.btn_all_list` を残すのは、同じクラス名の区画が調査レポート
   （/research/ の 159 ページ）にもあり、そちらは中身が本文に入っていて隠しては
   いけないためである。移行元を数えたところ、`.btn_all_list` を持つ `.box_relation` は
   成婚ストーリーの 106 ページだけだった. */
:is(.entry-content, .page-content__body) .box_relation:has(.btn_all_list):not(:has(.pa-story-relcard__link)) {
	display: none;
}

/* --------------------------------------------------------------
 * 関連記事の区画（single-story.php が本文の外に出す）
 *
 * 出すのは成婚ストーリー**以外**の記事である（しあわせレポート等）。成婚
 * ストーリーの詳細は本文の中の枠へ入れるので、この区画を出さない（Bug #3441）。
 *
 * 移行元 .box_relation の題名（金色 30px）と「すべての記事を見る」の押しボタン
 * （352x48 の画像）に寄せる。画像は持ち込まず、共通の押しボタンの色で作る。
 * カードは一覧と同じ .pa-archive-card を使うので、そのカードが読む変数を
 * この区画で宣言する（体験談の「似た条件の体験談」と同じ作り）。
 * -------------------------------------------------------------- */

.pa-story-related {
	max-width: var(--pa-inner-ex);
	margin: var(--pa-space-md) auto 0;
	padding: 0 var(--pa-inner-gutter);
}

/* ==============================================================
 * 成婚ストーリー詳細の関連記事（Bug #3441）
 *
 * 🚨 **置き場所は CSS で作らない。**移行元はページ送り（`ul.pager_menu`）の
 * すぐ後ろに関連記事を置き、その後ろにサポート帯・先頭へ戻るが続く。投入した
 * 本文はこの並びをそのまま持っているので、本文の中の空の枠を埋めれば置き場所は
 * 移行元と同じになる（`inc/story-related-inline.php`）。
 *
 * 以前の直し（Bug #3393）は区画を本文の外へ出し、`order` で前へ引き上げていた。
 * **サポート帯・先頭へ戻るは本文の中にあるため `order` では追い越せず**、置き場所は
 * 直っていなかった。その `order` の指定はここから外してある。
 *
 * 値の出どころ: 移行元 `introduce/story/story_01.html`（幅 1440px）と
 * `/sp/introduce/story/story_01.html`（携帯 390px）を実測（2026-09-04 JST）。
 * ============================================================== */

/* 区画そのもの。移行元は本文の柱と同じ幅 1,100px の中央寄せで、**上外余白は 0・
   上内余白 65px** である（幅 1440px の実測: `padding: 65px 0 0` /
   `margin: 0 170px` / `width: 1100px`）。ページ送りとの間に見える 10px は、
   ページ送りを包む `div.grid_box` の下内余白が作っている。
   幅の書き方は同じ画面のページ送りにそろえる. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) {
	width: min(1100px, 100%);
	margin: 0 auto;
	padding-top: 65px;
}

/* 見出し。移行元 `p.relation_ttl serif` は 30px・游明朝・太さ 400・行送り 30px・
   金 rgb(163,118,43)・下外余白 30px である. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .relation_ttl {
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	color: #a3762b;
	font-family: var(--pa-font-family-serif);
	font-size: 30px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 30px;
}

/* 札。移行元の `a` は 352 × 354・地 rgb(249,249,249) である。
   幅 352px と間隔 22px は、本文の `.list_box` の指定がすでに持っている. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__link {
	display: block;
	background-color: #f9f9f9;
	color: inherit;
	text-decoration: none;
}

/* 写真の器。移行元は 352 × 224 で、中の絵は 352 × 218 である。差の 6px は
   絵が行の中に置かれてできる下の空きなので、**絵を塊にして下内余白で作り直す**
   （行の高さに任せると書体で値が動く）. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__thumb {
	margin: 0;
	padding: 0 0 6px;
}

/* 🚨 **移行元は絵の縦横比を、パソコン版と携帯版で変えている。**写し元の部品
   （`introduce/story/include/story_NN.html`）はパソコン版とスマホ版の両方を持ち、
   **同じ絵**（`img/thumb_10.jpg`・実寸 630 × 396）を指す。パソコン版だけが
   `width="352" height="218"` を書いており、絵は縦に 1.5% つぶれて描かれる。
   携帯版は寸法を書かないので実寸の比のまま出る（携帯幅の指定で戻す）。
   ここでは移行元と同じく**つぶして**写す（切り抜くと写る範囲が変わる）. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 352 / 218;
}

/* 題の枠。移行元 `p.list_detail` の内余白は 4 辺とも 20px である
   （高さ 130px ＝ 20 ＋ バッジ 28 ＋ 10 ＋ 題 32 ＋ 20 ＋ 20）. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_detail {
	margin: 0;
	padding: 20px;
}

/* 金のバッジ。移行元は 16px・游明朝・白文字で、地は画像
   （`images/research/bg_num.gif`）である。**絵は持ち込まず地色で作る**
   （原則: 背景は CSS・文言はテキスト）. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_detail .num {
	display: inline-block;
	margin: 0 0 10px;
	padding: 6px 5px;
	background-color: #a3762b;
	color: #fff;
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 16px;
}

/* 題。移行元は 22px・太字・行送り 31.9px・黒・下外余白 20px である. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_detail .ttl {
	display: block;
	margin: 0 0 20px;
	color: #000;
	font-size: 22px;
	font-weight: 700;
	line-height: 31.9px;
}

/*
 * 指を乗せたときの題の色（Bug #4080）。移行元は灰色 #4C4C4C になる。
 *
 * 移行元は同じ指定を 2 つ持つのに、テーマは片方しか写していなかった。
 *
 *   public/css/style.css 1545  .list_box_new li a:hover .list_detail span.ttl  → 一覧の札（写し済み）
 *   public/css/style.css 1642  .list_box     li a:hover .list_detail span.ttl  → **詳細の関連記事の札（未写し）**
 *
 * 🚨 **すぐ上の規則が題へ `color: #000` を直に当てているので、リンク側の色を変えても
 * 届かない。**移行元も同じ形（`a:hover` の赤より内側で `span.ttl` に直接当てる）なので、
 * 題そのものへ当てる。
 *
 * 🚨 **リンク自身の色（移行元 `a:hover { color: #e1200f }` の赤）は写さない。**
 * 札の中の文字はすべて自前の色を持つ `span` に入っているため、**この赤は 1 文字も
 * 画面に出ない**（裁定 67 の「見た目に違いがあること」に当たらない）。実測でも
 * 移行元のリンクは赤・題は灰色だった。
 *
 * 🚨 **パソコン幅だけに当てる。**移行元スマホ版（`public/sp/css/style.css`）は
 * `a:hover img` しか持たず、**題の色を変えない**。幅で囲わないと、指で触れた端末でも
 * `:hover` が付くため携帯幅で移行元と食い違う。
 *
 *   実測（第1話・移行元は本番を 2026-09-06 22:24 JST に取得・幅 1440px）
 *     題 `span.ttl`  素 rgb(0,0,0) → 指を乗せて  移行元 rgb(76,76,76) 対 dev rgb(0,0,0)
 *     写真の濃さ     指を乗せて 0.5 で両側一致（差ではない）
 *     金のバッジ     指を乗せて 0.7 で両側一致（差ではない）
 *
 * 当たり先の広さは成婚ストーリー詳細だけに絞る。移行元の 1642 行は `.list_box` を持つ
 * 305 ページすべてに効くが、調査レポート（約 180 ページ）とワード解説（約 9 ページ）は
 * この Bug の対象外である（Issue のコメントに記録）.
 */
@media (min-width: 750px) {

	.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__link:hover .list_detail .ttl {
		color: #4c4c4c;
	}
}

/* 札の並びと押しボタンの間は 22px。移行元は札の下外余白がその 22px を作って
   おり、押しボタン自身は外余白を持たない. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_box {
	margin: 0 0 22px;
}

/* 「すべての記事を見る」の押しボタン。移行元 `p.btn_all_list` の内余白は
   上 20px・下 70px である（高さ 144px ＝ 20 ＋ 絵 48 ＋ 行の下の空き 6 ＋ 70）. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .btn_all_list {
	margin: 0;
	padding: 20px 0 70px;
	text-align: center;
}

/* 携帯幅だけに出す「一覧ページにもどる」。パソコン幅は移行元と同じく
   ページ送りの中に置いたままにするので、ここでは出さない. */
.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relback {
	display: none;
}

.pa-story-related__title {
	margin: 0;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-article-h2-size);
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: var(--pa-line-height-heading);
}

.pa-story-related__list {
	/* .pa-archive-card が読む変数のうち、この区画で実際に使うものだけを宣言する. */
	--pa-archive-card-bg: var(--pa-color-surface-muted);
	--pa-archive-card-bg-hover: #fbfbfb;
	--pa-archive-card-padding: 20px;
	--pa-archive-title-size: 18px;
	--pa-archive-text-size: 14px;
	--pa-archive-thumb-ratio: 352 / 218;

	display: grid;
	/* 移行元のカードは幅 352px である。2 件を並べ、狭い画面では 1 列へ落ちる. */
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 22px;
	align-content: start;
	margin: 30px 0 0;
}

.pa-story-related__all {
	margin: 30px 0 0;
	text-align: center;
}

/*
 * 移行元の画像ボタン `images/btn_all.gif`（352 × 48）と同じ姿にする（Bug #3391）。
 *
 * 🚨 **dev は金色のベタ塗りに白文字で、移行元と別物だった**（352 × 56.8。
 * 幅 1440px の実測・2026-09-04 14:1x JST）。移行元は**白地・こげ茶 1px の細枠・
 * 明朝の黒文字・右に細い矢印**である（画像を画素で読んで確認: 地 `#fff`・
 * 枠と文字 `#333`）。
 *
 * **絵をそのまま貼らない。**プロジェクトの原則どおり「**背景は CSS・文言はテキスト**」で
 * 作る（画像の中の文言は選べず、読み上げにも乗らないため）。
 */
.pa-story-related__all a {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	width: 352px;
	min-width: 0;
	padding: 14px 40px;
	border: 1px solid #333;
	background-color: #fff;
	color: #333;
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	font-size: 16px;
	line-height: 18px;
	text-decoration: none;
}

/* 右の細い矢印。移行元は画像に焼き込まれた「>」で、角を回して作る. */
.pa-story-related__all a::after {
	position: absolute;
	top: 50%;
	right: 24px;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	content: "";
	transform: rotate(45deg);
}

.pa-story-related__all a:hover {
	color: var(--pa-color-button-text);
	opacity: 0.85;
}

/* --- スマートフォン幅（749px 以下） --- */

@media (max-width: 749px) {
	/* 文章と挿絵の 2 列は、狭い画面では文章の側が読めない幅まで潰れる
	   （375px の画面では挿絵 260px を引いた 115px しか残らない）。縦に積んで、
	   挿絵は中央に置く. */
	:is(.entry-content, .page-content__body) .storyTxt01inner {
		display: block;
	}

	/*
	 * 🚨 **絵の塊を文章より後ろへ回す（Bug #3397）。**移行元スマホ版は
	 * 「**文章 → 絵**」の順だが、dev は投入したパソコン版の組みをそのまま縦に積むため、
	 * **絵が左に回り込む段（`.story_imgL`）だけ「絵 → 文章」の逆順**になっていた
	 * （4 つ目の見出しの後。移行元は本文 y=2620.64 → 絵 y=2773.02、dev は
	 * 絵 y=3386.13 → 本文 y=3704.72。携帯 390px の実測・2026-09-04 14:1x JST）。
	 *
	 * 親を `flex` の縦並びにして、**絵を持つ塊だけ `order` で後ろへ送る**。組みは
	 * 触らない（投入をやり直すと元へ戻るため）。
	 *
	 * 🚨 **絵は全幅にする。**移行元スマホ版はサイト共通の初期化が
	 * `img { width: 100%; display: block }` を全体へかけており、絵は本文の柱いっぱい
	 * （341.25px）になる。dev は **260 × 310.27** に縮んで**左右に 65px ずつ白い余白**が
	 * 出ていた。中央寄せは要らなくなる.
	 */
	:is(.entry-content, .page-content__body) .storyTxt01 {
		display: flex;
		flex-direction: column;
	}

	:is(.entry-content, .page-content__body) .storyTxt01inner:has(:is(.story_imgR, .story_imgL)) {
		order: 1;
		margin-top: 20px;
	}

	/* 縦積みに戻れば表組みの循環が起きないので、画面の幅に収める上限を戻す。
	   **あわせて移行元スマホ版と同じ全幅にする**（Bug #3397）. */
	:is(.entry-content, .page-content__body) :is(.story_imgR, .story_imgL) {
		width: 100%;
		max-width: 100%;
		padding: 0;
	}

	/* プロフィールの 2 枚組も 1 列にする。浮かせるのをやめる指定は .women / .man の
	   側にも書く。あちらのほうが詳細度で勝つためである. */
	:is(.entry-content, .page-content__body) .box_prof,
	:is(.entry-content, .page-content__body) :is(.box_prof.women, .box_prof.man) {
		float: none;
		width: 100%;
		margin-bottom: 30px;
		font-size: var(--pa-article-font-size);
	}

	:is(.entry-content, .page-content__body) .prof_ttl {
		font-size: var(--pa-article-h2-size);
	}

	:is(.entry-content, .page-content__body) .prof_read {
		font-size: var(--pa-article-font-size);
	}

	:is(.entry-content, .page-content__body) .story_title {
		font-size: var(--pa-article-h2-size);
		line-height: var(--pa-line-height-heading);
	}

	:is(.entry-content, .page-content__body) .story_copy {
		font-size: var(--pa-article-h3-size);
		line-height: var(--pa-line-height-heading);
	}

	.pa-story-related__list {
		grid-template-columns: 1fr;
	}

	/*
	 * 🚨 **携帯幅ではこのボタンを出さない（Bug #3391・裁定 46）。**移行元スマホ版に
	 * このボタンは無い（実測で 0 件）。dev だけが 330 × 55 の金色のボタンを出していた.
	 */
	.pa-story-related__all {
		display: none;
	}

	/* ----------------------------------------------------------
	 * 成婚ストーリー詳細の関連記事（携帯幅・Bug #3441）
	 *
	 * 移行元スマホ版は札を**横並び**にする（写真が左・文字が右）。写し元は
	 * `legacy/www.p-a.jp/public/sp/introduce/story/css/style.css` の
	 * 56〜62 行（見出し）と 375〜402 行（札）である。**幅は百分率で書かれている**
	 * ので、そのまま百分率で写す（1 つの幅だけを見て固定値にしない）。
	 *
	 * 投入した本文はパソコン版の組み 1 つしか持たないため、パソコン版の札を
	 * 携帯幅で横並びに組み替える形で写す。
	 * ---------------------------------------------------------- */

	/* 区画そのもの。移行元スマホ版の柱は**画面幅の 87.5%**（左右 6.25% ずつ）で、
	   本文の塊（`div.grid_box`）はすでにその幅になっている。この区画は本文の塊の
	   外にあるので、同じ形にそろえる。

	   🚨 **`padding-inline: 6.25%` と書いてはいけない。**内余白の百分率は親の内容の
	   幅（このテーマでは画面幅 − 30px）を基準にするため 3.750px ずれる。テーマで
	   すでに使っている形（**全幅へ広げてから子を 6.25% 内側へ**）に合わせる。

	   上内余白 65px はパソコン幅だけのものなので戻す（移行元スマホ版は
	   ページ送りのすぐ下から始まる）. */
	/* 🚨 溝の打ち消しは割合で書く（Bug #7062・上と同じ理由）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) {
		width: auto;
		margin-inline: calc(-100% / 14);
		padding-top: 0;
		padding-bottom: 8px;
	}

	/* 子を 6.25% 内側へ。**当て先を並べて書く**のは、パソコン幅の指定が
	   `margin` の一括指定で左右に 0 を書いており、`> *` の形では詳細度で負けて
	   届かないためである（実測で 390px のまま残った）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) > :is(.relation_ttl, .list_box, .pa-story-relback) {
		margin-inline: 6.25%;
	}

	/* 🚨 **本文の塊の下内余白 8px を、この区画の後ろへ移す。**移行元スマホ版は
	   ページ送りと関連記事が同じ器の中にあり、間に空きを持たない。dev は関連記事が
	   器の外にあるため、器の下内余白 8px がページ送りと関連記事の間に落ちて
	   しまう（実測: 移行元 0px 対 dev 8px）。**当て先は関連記事を持つ 106 ページに
	   絞る**（同じ器はほかの画面にもある）. */
	.single-content--story .entry-content #story:has(.box_relation .btn_all_list) > .grid_box {
		padding-bottom: 0;
	}


	/* 見出し。移行元 `#story .corner_ttl3`（17px・金・下罫線 2px・下内余白 13px）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .relation_ttl {
		margin-block: 0 20px;
		padding: 0 0 13px;
		border-bottom: 2px solid #a3762b;
		font-size: 17px;
		line-height: 100%;
	}

	/* 札の並び。移行元は縦に積むだけで、札と札の間に空きを持たない
	   （区切りは札の下罫線が担う）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_box {
		display: block;
		margin-block: 0;
	}

	.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_box > li {
		width: auto;
		margin: 0;
		background-color: transparent;
	}

	/* 札そのもの。移行元 `#story dl`（上下内余白 15px・下罫線 1px #ccc・地色なし）。
	   移行元は写真を左へ、文字を右へ浮かせて並べる。ここでは横並びの箱で組む. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__link {
		display: flex;
		position: relative;
		justify-content: space-between;
		align-items: flex-start;
		padding: 15px 0;
		border-bottom: 1px solid #ccc;
		background-color: transparent;
	}

	/* 右端の矢印。移行元は 8 × 14 の画像（`images/icon.jpg`・灰 rgb(106,106,106)）を
	   右中央に置いている。**絵は持ち込まず角を回して作る**
	   （原則: 背景は CSS・文言はテキスト）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__link::after {
		position: absolute;
		top: 50%;
		right: 0;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: solid 1px #6a6a6a;
		border-right: solid 1px #6a6a6a;
		content: "";
		transform: rotate(45deg);
	}

	/* 絵は実寸の比（630 × 396）で出す。移行元スマホ版は寸法を書かないため
	   つぶれない（パソコン幅の 352 / 218 を戻す）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__thumb img {
		aspect-ratio: 630 / 396;
	}

	/* 写真。移行元 `#story dt { float: left; width: 32.142% }`. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relcard__thumb {
		flex: 0 0 32.142%;
		padding: 0;
	}

	/* 文字の側。移行元 `#story dd { float: right; width: 58.928%; padding: 0 4.642% 0 0 }`。
	   内余白を含めた幅で書く（この画面の箱は内余白込みで幅を数える）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_detail {
		flex: 0 0 63.57%;
		min-width: 0;
		padding: 0 4.642% 0 0;
		line-height: 18px;
	}

	/* 話数。移行元スマホ版は**地色も地の絵も持たない金色の文字**で、**小文字の
	   `vol.10`** である（パソコン版は白抜きの金のバッジで大文字の `Vol.10`）。投入した
	   本文は文言を 1 つしか持たないので、**字の変換で小文字にする**。

	   🚨 **`background` のまとめ書きで消す（Bug #5020）。**以前は
	   `background-color: transparent` と書いていたが、**地の絵は消えなかった**。
	   全ページ共通の側が
	   `:is(.list_box, .list_box_new) li a .list_detail span.num { background: url("../images/research/bg_num.gif?ver=5107ffb4b7d5") repeat }`
	   と**まとめ書きで絵を敷いており**、`background-color` だけを重ねても
	   `background-image` は残るためである。詳しさはこちら（クラス 6 個）が
	   共通の側（クラス 4 個 + 要素 3 個）に勝つので、透明化そのものは効いていた。
	   効いていなかったのは絵の側だけで、**茶色の斜線の上に同系色の金茶の文字が
	   載って読めなくなっていた**。

	   移行元は候補 2 か所（`.list_box li .list_detail span.num` と `#story dd p.num`）の
	   **どちらも `background` の指定を持たない**。斜線の絵を持つのは別のクラスだけである
	   （`span.archive` と `#story .box.grid .point_box`）。

	   移行元 = 本番 www.p-a.jp を 2026-09-09 03:18:48 JST に幅 375px・携帯の名乗りで
	   取得して実測した。携帯幅で当たるのは `#story dd p.num`（小文字 `vol.10`・13px）で、
	   実測は 193.34 × 18px・左端 143・色 #a3762b・**地の絵 none** である。
	   リポジトリの写しの実測と 1 画素も違わなかった. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_detail .num {
		display: block;
		margin: 0;
		padding: 0;
		background: none;
		color: #a3762b;
		font-size: 13px;
		line-height: 18px;
		text-transform: lowercase;
	}

	/* 題。移行元スマホ版は 13px・太さ 400・黒である（実測。写し元の CSS が持つ
	   `#story dd p.ttl { font-size: 14px; font-weight: 700 }` は、この札の題に
	   `ttl` が付いていないため当たっていない）. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .list_detail .ttl {
		margin: 0;
		font-size: 13px;
		font-weight: 400;
		line-height: 18px;
	}

	/* 画像の押しボタン「すべての記事を見る」は、移行元スマホ版に無い. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .btn_all_list {
		display: none;
	}

	/* 代わりに「一覧ページにもどる」を札の下へ出す。移行元
	   `#story .link_top.list { padding: 30px 0 0 }`・14px・中央寄せ. */
	.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relback {
		display: block;
		clear: both;
		margin-block: 0;
		padding: 30px 0 0;
		font-size: 14px;
		line-height: 1.5;
		text-align: center;
	}

	.single-content--story .entry-content .box_relation:has(.btn_all_list) .pa-story-relback a {
		color: #000;
		font-size: 13px;
	}

	/* ページ送りから「一覧ページにもどる」を外す。移行元スマホ版のページ送りは
	   次の話への送りだけを持ち、一覧へ戻る導線は関連記事の後ろにある。

	   🚨 **当て先を関連記事の枠を持つページへ絞る。**`.single-content--story` は
	   お客様の声（99 ページ）としあわせレポートの詳細にも付くので、絞らないと
	   そちらの「一覧ページにもどる」まで消える. */
	.single-content--story .entry-content:has(.box_relation .btn_all_list) .pager_menu > li.m-center {
		display: none;
	}

	/* ----------------------------------------------------------
	 * 成婚ストーリーの詳細だけ、携帯幅の寸法を移行元スマホ版へ寄せる（Task #3287）
	 *
	 * 移行元はパソコン版とスマホ版が別ページで、**本文の組みそのものが違う**
	 * （パソコン版 `.storyTxt01` 対 スマホ版 `.story_text`）。dev は投入でパソコン版の
	 * 組みを取り込んでおり、携帯幅でもそれを縮めて出している。組みの入れ替えは
	 * 裁定 46 の「実装前に確認を取る」例外に当たるためユーザー判断待ちで、ここでは
	 * **寸法だけを寄せる**（司令塔が承認した案 A）。
	 *
	 * 【絞りの理由】`.single-content--story` だけでは、お客様の声（99 ページ）と
	 * しあわせレポート（別の担当画面）まで巻き込む。`:has(.storyTxt01)` を足して
	 * 成婚ストーリーの詳細だけに当てる。移行元で `storyTxt01` を持つのは成婚ストーリー
	 * 105 ページ・ワード解説 15・シングルマザー 4 で、**声とレポートには 0 件**である
	 * （記録版 19f499fe3 を走査して確認）。
	 *
	 * 【値の出どころ】移行元スマホ版の CSS を直に読んだ
	 * （`public/sp/introduce/story/css/style.css`）。**逆算した割合ではない。**
	 * あわせて本番を 4 幅（320 / 375 / 414 / 749px）で測り、割合と固定値の
	 * 見分けが CSS の字面と合うことを確かめた（2026-09-04 06:00 JST）。
	 *   .box_prof       margin-bottom: 18px / font-size: 12px / line-height: 150%
	 *   .box_concierge  margin-bottom: 23px / padding: 15px 5.357% 0 / font-size: 12px
	 *   .story_copy     margin-bottom: 12px / padding: 7px 3.928% / font-size: 12px
	 *   .pager_menu     margin: 0 auto / padding: 0 0 30px / width: 100%
	 * ---------------------------------------------------------- */

	/* 🚨 **見出しの区画だけに、移行元と同じ左右の内余白を入れる（Task #3314）。**
	 *
	 * 移行元スマホ版は詳細の区画そのものに内余白を持つ
	 * （`public/sp/introduce/story/css/style.css` の 156〜158 行
	 * `#story.detail { padding: 25px 6.25% 30px }`）。**これが「器は画面幅の 87.5%」の
	 * 出どころである**（左右 6.25% ずつ）。
	 *
	 * 🚨 **区画（`section#story`）そのものに当ててはいけない。**dev は本文の側に
	 * 既に同じ幅の食い込みを持っており（実測: `div.detail_body` と `div.detail_inner` が
	 * 幅 328.1・左端 23.4）、区画へ当てると**二重に食い込んで本文が細くなる**
	 * （手元の陰性対照で実測: 328.1 → 301.88 に縮んだ）。**食い込みが無いのは
	 * 見出しの区画だけ**なので（実測: `div.heading` 幅 375・左端 0）、そこだけに当てる。
	 *
	 * 上下は写さない。移行元の `25px 0 30px` のうち下 30px は、dev では
	 * `.single-content--story .entry-content > #story { padding-bottom: 30px }` が
	 * 既に持つ（Issue #3095 の A-3 で写した）. */
	.single-content--story .entry-content:has(.storyTxt01) .heading:has(> .heading-cont) {
		padding-inline: 6.25%;
	}

	/* 🚨 **話数と題の字間を消す（Task #3657）。**
	 *
	 * 移行元スマホ版は話数（`article_num`）も題（`article_ttl`）も**字間を持たない**
	 * （実測: どちらも `letter-spacing: normal`。話数 14px・題 18px）。dev は
	 * `:is(.entry-content, .page-content__body) .grid_num` / `.grid_ttl` が幅の条件なしで
	 * `letter-spacing: 0.05em` を持ち、**同じ 749px 以下の上書きが字の大きさだけを
	 * 書き直して字間を書き直していない**。そのため字間が 14px × 0.05em = **0.7px**、
	 * 18px × 0.05em = **0.9px** として残り、中央寄せなので文字の左端が 1.1px / 2.7px
	 * 左へずれていた。
	 *
	 * 🚨 **749px 以下の共通の当たり先（`.grid_num` / `.grid_ttl`）を書き直してはいけない。**
	 * この 2 つのクラスは成婚ストーリー専用ではなく、移行元の写しでは婚活実態調査
	 * `public/research/`（160 ファイル）と婚活用語 `public/word/`（35 ファイル）でも
	 * 使っている（移行元スマホ版はこの 2 つのクラスを 1 か所も使わず、成婚ストーリーの
	 * スマホ版は `article_num` / `article_ttl` という別の目印で組む）。共通の側を直すと
	 * その 2 画面の携帯幅まで動くので、**成婚ストーリーの詳細に絞って打ち消す**。
	 *
	 * 🚨 すぐ近くにある `:is(…) :where(#story) .grid_ttl` の形を真似しない。`:where()` は
	 * 中の詳細度を 0 にするので、一般の規則に負けて 1 度も効かない規則になる. */
	.single-content--story .entry-content:has(.storyTxt01) .grid_num,
	.single-content--story .entry-content:has(.storyTxt01) .grid_ttl {
		letter-spacing: normal;
	}

	/* 🚨 **携帯幅だけ、写真を共有の並びより前に出す（Task #3748 の A）。**
	 *
	 * 移行元は**パソコン版とスマホ版で並びが逆**である（写しの記録版 1fbfa9dda で確認）。
	 *
	 *   パソコン版 `public/introduce/story/story_01.html` … 話数 → 題 → 共有の並び → 写真
	 *   スマホ版   `public/sp/introduce/story/story_01.html` … 話数 → 題 → **写真** → 共有の並び
	 *
	 * dev はパソコン版の組みを投入しているので、携帯幅でも共有の並びが写真より前に出る。
	 * **組みを入れ替えるとパソコン幅が移行元と食い違う**ので、携帯幅だけ描く順を変える。
	 *
	 * 🚨 **写真は `.detail_body` の中にあり、共有の並びはその外にある。**器をまたいで
	 * 並べ替えるため、`.detail_body` を `display: contents` で透かして中の 2 つ
	 * （写真の器と本文の器）を上の並びへ持ち上げ、`order` で位置を決める。
	 * `.detail_body` が持つ幅の指定（`width: min(1100px, 100%)`）は携帯幅では 100% に
	 * 解けるので、透かしても見た目は変わらない（幅 375px で実測して確認した）。
	 *
	 * 移行元スマホ版の隙間（実測）は 写真の下 15px → 共有の並び 20px → その下 25px →
	 * 本文の器。下の節で写真と共有の並びの外余白として写す. */
	.single-content--story .entry-content:has(.storyTxt01) .grid_box {
		display: flex;
		flex-direction: column;
	}

	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .detail_body {
		display: contents;
	}

	/* 🚨 **並べ替えは「全員に既定の順を与えてから」書く。**最初は写真と共有の並びだけに
	   `order` を書いたが、**同じ器にはページ送り（`ul.pager_menu`）も居る**ので、
	   既定の 0 のままだったページ送りが題の直後（写真より前）へ跳ね上がった
	   （実測: y=902.77 に 54px の塊が現れた）。既定を後ろ（9）に置き、出す順を 1 つずつ
	   数字で決める. */
	.single-content--story .entry-content:has(.storyTxt01) .grid_box > *,
	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .detail_body > * {
		order: 9;
	}

	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .grid_num {
		order: 1;
	}

	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .grid_ttl {
		order: 2;
	}

	/* 写真の器（目印を持たない素の `div`。中は `<picture>` 1 枚）. */
	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .detail_body > :not(.detail_inner) {
		order: 3;

		/* 🚨 **絵の下の 8px を落とす。**絵は行の中に置かれるので、器の高さが
		   絵（172.27px）より 8px 高くなっていた（実測 180.27px）。移行元スマホ版の
		   器（`p.article_pic`）は絵と同じ 172.27px である. */
		line-height: 0;

		/* 移行元スマホ版の「写真の下 15px」（実測: 絵の下端 1075.04 → 共有の並びの上端
		   1090.03）. */
		margin-bottom: 15px;
	}

	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .menu_sns {
		order: 4;

		/* 移行元スマホ版の「共有の並びの下 25px」（実測: 並びの下端 1110.03 →
		   本文の器の上端 1135.03）. */
		margin-bottom: 25px;
	}

	/* 🚨 **共有の並びの高さは行の箱で決まる（Task #3748 の B）。**
	 *
	 * 移行元スマホ版の並びは**高さ 20px**で、これは**ツイートのボタン（`iframe` 77 × 20）
	 * だけで決まっている**（Facebook は SDK が動いても描かれる枠が 0 × 0 で、画面には
	 * 出ていない。実測 2026-09-05 10:23）。
	 *
	 * dev はテーマの既定の行送り 27px が `li` に効くため、中のボタンが 20px でも
	 * **行の箱が 27〜28px に広がる**（実測 28px）。行送りを 0 にして、箱の高さを
	 * 中のボタンそのものに決めさせる. */
	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .menu_sns,
	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .menu_sns > li,
	.single-content--story .entry-content:has(.storyTxt01) .menu_sns02,
	.single-content--story .entry-content:has(.storyTxt01) .menu_sns02 > li {
		line-height: 0;
	}

	/* 🚨 **下の共有の並びは箱の中の上の空きも移行元と違う。**移行元スマホ版の下の並びは
	   **内余白 0・下外余白 25px・高さ 20px**（実測 y=3881.61）で、dev は
	   **上内余白 35px・下外余白 20px・高さ 61.59px** だった。箱の上端は両側とも
	   3881.61 で同じなので、内余白を落とすとボタンの位置が移行元とそろう. */
	.single-content--story .entry-content:has(.storyTxt01) .menu_sns02 {
		padding-top: 0;
		margin-bottom: 25px;
	}

	.single-content--story .entry-content:has(.storyTxt01) .grid_box > .detail_body > .detail_inner {
		order: 5;
	}

	/* 移行元 `#story .article_box .box_prof`。`.women` / `.man` の側にも書くのは、
	   すぐ上の節と同じ理由（あちらのほうが詳細度で勝つ）である. */
	.single-content--story .entry-content:has(.storyTxt01) .box_prof,
	.single-content--story .entry-content:has(.storyTxt01) :is(.box_prof.women, .box_prof.man) {
		/* 🚨 **浮きを閉じる（Bug #3440）。**下で「+ 続きを読む」を移行元と同じく
		   左へ浮かせるので、次の枠が閉じないと重なる（移行元も `clear: both`）. */
		clear: both;
		margin-bottom: 18px;
		font-size: 12px;

		/* 🚨 **百分率で書く（Bug #3440）。**`1.5` と数字で書くと、13px の子
		   （`.prof_text01` / `.prof_text02`）で解き直されて 19.5px になる。
		   移行元は `150%` なので器の 12px で解かれ、**18px の長さ**が子へ渡る. */
		line-height: 150%;
	}

	/* 🚨 **コンシェルジュの器はここに書かない（Task #3317）。**`#story .box_concierge` が
	   画面別の CSS（`assets/introduce-voice-story/css/story.css`）に在り、**id を含むので
	   詳細度 (1,1,0) でここ（(0,4,0)）に必ず勝つ**（実ページでブラウザに当たっている規則を
	   聞いて確認・2026-09-04 12:13 JST）。移行元の値はそちらのファイルへ書いた. */

	/* 🚨 **本文の塊の余白を移行元スマホ版へ合わせる（Task #3315）。**
	 *
	 * 移行元はパソコン版とスマホ版で本文の**目印の名前が違う**（パソコン版
	 * `div.storyTxt01` > `div.storyTxt01inner` × 2 対 スマホ版 `div.story_text`）。
	 * dev は投入でパソコン版の組みを取り込んでいる。
	 *
	 * **ただし組みを入れ替える必要は無い。**すぐ上の節が携帯幅で `storyTxt01` を
	 * 縦積みにしており、**移行元スマホ版と同じ「文章 → 絵」の並び**になっている
	 * （中身の文章と画像も同一であることを、移行元のパソコン版とスマホ版の組みを
	 * 突き合わせて確かめた）。**残っているのは寸法だけである。**
	 *
	 * 【写し元】`public/sp/introduce/story/css/style.css`
	 *   `#story .article_box .story_text { padding: 0 0 18px }`
	 *   `#story .article_box .story_text p { margin-bottom: 12px }`
	 *
	 * 🚨 **段落にも直に当てる。**テーマの本文の段落は自前の下外余白を持つので、
	 * 塊へ書くだけでは負ける（誘導帯 Task #3189 と会員の枠 Task #3287 で 2 回踏んだ型）. */
	/*
	 * 🚨 **本文の字が移行元より 2px 大きく、行送りが 10.2px 広かった（Bug #3397）。**
	 * 同じ段落が 118.78px → 189px（+70.22px）、152.38px → 270px（+117.62px）に
	 * 伸びていた（携帯 390px の実測・2026-09-04 14:1x JST）。**一目で分かる差である。**
	 *
	 * 移行元スマホ版の仕組みは 2 段になっている。
	 *
	 *   #story .article_box { font-size: 12px; line-height: 140% }
	 *
	 * 器は 12px だが、**サイト共通の初期化が `div` と `p` へ直接 13px を当てる**ので、
	 * 中の文章は **13px** になる。行送りは百分率なので **12 × 1.4 = 16.8px の長さ**が
	 * そのまま子へ伝わる（コンシェルジュの器で踏んだのと同じ型。Bug #3371）。
	 *
	 * dev で器にあたるのは `.detail_inner` である（移行元 `.article_box`）。同じ形で写す.
	 */
	.single-content--story .entry-content:has(.storyTxt01) .detail_inner {
		font-size: 12px;
		line-height: 140%;
	}

	/*
	 * 🚨 **本文の塊だけに絞る（Greptile の指摘）。**最初は `.detail_inner :is(p, div)` と
	 * 書いたが、**同じ 749px 以下にある `.box_prof`（12px）と `.story_title`（16px）まで
	 * 13px で上書きしていた**。移行元の実測は `.box_prof` 12px・`.story_title` 16px・
	 * `.prof_read` 12px で、**13px なのは本文の塊（`.storyTxt01` の中）と
	 * `.prof_text01` だけ**である。
	 *
	 * 移行元は初期化が `div` と `p` へ一律 13px を当てたうえで、区画ごとに上書きする
	 * 作りだが、**dev には移行元の初期化が無い**ので、一律に当てると上書きの側を壊す。
	 * **13px が要る場所を名指しする.**
	 */
	.single-content--story .entry-content:has(.storyTxt01) .storyTxt01 :is(p, div),
	.single-content--story .entry-content:has(.storyTxt01) .detail_inner > p,
	.single-content--story .entry-content:has(.storyTxt01) .prof_text01,
	.single-content--story .entry-content:has(.storyTxt01) .prof_text02 {
		font-size: 13px;
	}

	.single-content--story .entry-content:has(.storyTxt01) .storyTxt01 {
		/* 🚨 **下外余白は持たない（Bug #3440）。**移行元は塊と次の見出しの間を
		   この下内余白 18px だけで作る。dev は下外余白 30px を足しており、
		   章の切れ目ごとに 30px 積み上がっていた. */
		margin-bottom: 0;
		padding: 0 0 18px;
	}

	.single-content--story .entry-content:has(.storyTxt01) .storyTxt01 p {
		margin-bottom: 12px;
	}

	/* 移行元 `#story .article_box .story_copy`。地色と字の大きさは既に合っているので、
	   余白だけを移行元の割合へ戻す. */
	.single-content--story .entry-content:has(.storyTxt01) .story_copy {
		margin-bottom: 12px;
		padding: 7px 3.928%;
	}

	/* 🚨 **中の文字にも直に当てる。**器へ書くだけでは、テーマが段落へ直に当てている
	   行の高さ 1.8 に負ける（手元の陰性対照で実測: 器を 12px / 1.4 にしても段落は
	   21.59px = 12 × 1.8 のままだった）。**受け継ぐ値は、自分に当たった宣言に負ける。**
	   `.prof_read` も同じ理由で字の大きさが 15px のまま残っていた。

	   🚨 **当てる相手を段落だけに絞る。**当初は `dt` と `dd` も含めていたが、
	   **`dt` は移行元スマホ版でも 14px で、dev の既存の指定と既に一致している**
	   （移行元 `#story .article_box .box_prof dt { font-size: 14px }`）。含めると
	   `inherit` が 12px へ壊す（本体のセルフレビューで気づいた）。
	   節の見出し（`.prof_ttl`）は移行元が別の値を持つので、ここから外して下で書く。

	   🚨 **1 行目の抜粋（`.prof_read`）も外す（Task #3657）。**下の節が移行元どおり
	   `font-size: 12px` を書いているのに、**この規則のほうが詳細度で勝って
	   `font-size: inherit` で潰していた**（この規則は `p` の 1 つ分だけ詳しく (0,5,1)、
	   下の節は (0,5,0)）。継ぐ元の `.prof_text01` が 13px なので、抜粋が 13px・
	   字間 0.1em × 13px = 1.3px になり、移行元スマホ版の 12px / 1.2px とずれていた
	   （移行元 `#story .article_box .box_prof .prof_read { font-size: 12px }`）。
	   除外を足しても詳細度は (0,5,1) のままで、2 つめの枝（`.box_concierge p`）は
	   変わらない. */
	.single-content--story .entry-content:has(.storyTxt01) .box_prof p:not(.prof_ttl, .prof_read),
	.single-content--story .entry-content:has(.storyTxt01) .box_concierge p {
		font-size: inherit;
		line-height: inherit;
	}

	/* 囲みの中の段落の下の空き（Bug #3510）。移行元スマホ版は
	   `#story .article_box p { margin-bottom: 20px }` を囲みの中の段落すべてへ
	   当てており、dev はテーマの既定の 18px だった（2px 低かった）。

	   🚨 **移行元が別の値を持つ 3 つは外す。**移行元は上の 20px を土台にして、
	   より細かい規則で 3 つだけ違う値へ戻している。dev も同じ値を既に持っている
	   ので、ここで 20px に塗り替えてはいけない。

	     .concierge_copy       10px（導入の 1 行）
	     .concierge_prof_post   5px（肩書き）
	     .concierge_prof_name  10px（氏名）

	   🚨 **紹介文の欄（`.concierge_prof`）の中の素の段落も対象に含める。**
	   移行元では同じ 20px が当たっており、その欄は `float` で別の整形の文脈を
	   作るので、**最後の段落の下の外余白がそのまま欄の高さになる**。直下だけに
	   絞ると、紹介文が入っている 95 ページで 2px 低いままになる. */
	.single-content--story .entry-content:has(.storyTxt01) .box_concierge p:not(.concierge_copy, .concierge_prof_post, .concierge_prof_name) {
		margin-bottom: 20px;
	}

	/* 移行元 `#story .article_box .box_prof .prof_ttl`（16px / 行の高さ 100% /
	   下外余白 15px / 内余白 0 0 7px 25px。左の 25px は性別の絵の場所）. */
	.single-content--story .entry-content:has(.storyTxt01) .box_prof .prof_ttl {
		margin-bottom: 15px;
		padding: 0 0 7px 25px;
		font-size: 16px;
		line-height: 1;
	}

	/* 🚨 **性別の絵を出す（Task #3314）。**移行元スマホ版は仮名の左上に 16 × 18px の
	 * 絵を背景で置くが（`public/sp/introduce/story/css/style.css` の 223〜234 行）、
	 * **dev は絵も指定も持っていなかった**（並べ撮りで気づいた。テーマ資産を探しても
	 * `ico_women` / `ico_man` は 0 件だった）。
	 *
	 * 絵は移行元から取り込んだ（`assets/introduce-voice-story/images/`。実寸 32 × 36 で
	 * **SHA-256 が移行元と一致**する）。移行元は `background-size: 16px 18px` で
	 * 半分に縮めて出しているので、その値をそのまま写す。
	 *
	 * 🚨 **仮名の内余白の左 25px は、この絵の場所である。**すぐ上の規則が持っており、
	 * どちらか片方だけを消すと絵が文字に重なるか、左が空いたままになる. */
	.single-content--story .entry-content:has(.storyTxt01) .box_prof.women .prof_ttl {
		background-image: url("../introduce-voice-story/images/ico_women.jpg?ver=cd416f0be1b6");
		background-repeat: no-repeat;
		background-position: left top;
		background-size: 16px 18px;
	}

	.single-content--story .entry-content:has(.storyTxt01) .box_prof.man .prof_ttl {
		background-image: url("../introduce-voice-story/images/ico_man.jpg?ver=36c320ce16a9");
		background-repeat: no-repeat;
		background-position: left top;
		background-size: 16px 18px;
	}

	/* 移行元 `#story .article_box .box_prof .prof_read`（下外余白 10px・
	   12px・字間 0.1em）。抜粋の器は 13px だが、1 行目だけはそれを継がない
	   （Bug #3440）. */
	.single-content--story .entry-content:has(.storyTxt01) .box_prof .prof_read {
		margin-bottom: 10px;
		font-size: 12px;
		letter-spacing: 0.1em;
	}

	/* 移行元 `#story .pager_menu`. */
	.single-content--story .entry-content:has(.storyTxt01) .pager_menu {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 30px;
		font-size: 13px;
		line-height: normal;
	}

	/*
	 * 項目と、その中のリンクの字（Task #3317 の S-3）。
	 *
	 * 移行元スマホ版に当たっている規則をブラウザに聞いて写した（本番
	 * `https://www.p-a.jp/sp/introduce/story/story_01.html` 相当の写しを手元から
	 * 配信して確認・2026-09-04 12:27 JST）。
	 *
	 *   #story .pager_menu li  { float: left; font-size: 16px; width: 50%;
	 *                            letter-spacing: 0.05em }
	 *
	 * **リンクの 13px は移行元の初期化が `a` へ直接与えている値である。**
	 * 移行元の初期化は `html, body, div, …, a, …` をまとめて `font-size: 13px` に
	 * 揃えており、`a` に直接当たるので項目の 16px を継がない。ここを写さないと、
	 * 項目だけ 16px にしても**見える字が 15px のまま**になる。
	 *
	 * 幅（50%）は写さない。移行元スマホ版のこの画面は項目が 1 つ（次の話）だけで、
	 * dev は本文にパソコン版の写しが入るため「一覧ページにもどる」を含む 2 つに
	 * なる。**項目の数が両側で違うので、幅を写しても揃わない**（この食い違い自体は
	 * 裁定待ち）。高さに出る差は字の大きさだけなので、そこだけを合わせる.
	 */
	.single-content--story .entry-content:has(.storyTxt01) .pager_menu > li {
		font-size: 16px;
	}

	.single-content--story .entry-content:has(.storyTxt01) .pager_menu > li a {
		font-size: 13px;
	}

	/* ==========================================================
	 * 本文まわりの残り（Bug #3440）
	 *
	 * Bug #3397 の直しのあとも、移行元スマホ版との差が 5 群残っていた。
	 * 実測は第 1 話を両側とも携帯 390px・同じ道具で採ったものである
	 * （移行元 `sp/introduce/story/story_01.html` と dev の第 1 話）。
	 * ========================================================== */

	/* 【1】リード文（節の見出しの下の 1 段落）。
	 *
	 * 移行元は 13px・行送り 16.8px・下外余白 20px（`#story .article_box p`）。
	 * dev は 12px・21.6px・18px で、1 段落で 14.39px 高かった。
	 *
	 * 🚨 **行送りは「受け継がせる」と書く。**器（`.detail_inner`）の `140%` は
	 * 12px で解かれて 16.8px の長さになり、そのまま子へ渡る。ところが
	 * テーマは段落へ直に 1.8 を当てており、**自分に当たった宣言のほうが強い**。
	 * `inherit` と書いて器の長さを取りに行かせる（`.box_prof` の段落と同じ手）. */
	.single-content--story .entry-content:has(.storyTxt01) .detail_inner > p {
		margin-bottom: 20px;
		line-height: inherit;
	}

	/* 【2】節の見出しの上外余白。
	 *
	 * 移行元は見出しに上外余白を持たせず、**手前の塊がそれぞれ自分の下側の
	 * 余白を持つ**作りである（本文の塊は下内余白 18px、挿絵は下外余白 20px）。
	 * dev は手前の 18px を残したまま見出しへ 30px を足していたので、章の
	 * 切れ目ごとに 30px ずつ積み上がっていた（8 か所で合計 240px）. */
	.single-content--story .entry-content:has(.storyTxt01) :is(.text_title, .story_title, .story_copy, .concierge_ttl) {
		margin-top: 0;
	}

	/* 節の見出しの左の飾りと字間。移行元 `#story .article_box .text_title` は
	   左の内余白 13px・字間なしで、飾りは 4 × 17px の絵を左から 3px 下に敷く。
	   dev は内余白 14px・字間 0.85px だった。

	   🚨 **浮いた「続きを読む」を閉じる。**下でプロフィールの開閉の見出しを
	   移行元と同じく左へ浮かせるので、後ろに続く見出しが閉じないと重なる
	   （移行元も `clear: both` を持つ）. */
	.single-content--story .entry-content:has(.storyTxt01) .text_title {
		clear: both;
		padding-left: 13px;
		letter-spacing: normal;
	}

	/* 【3】挿絵の塊。
	 *
	 * 🚨 **絵が `inline` のままだと、包む塊に行の下の余り 4.8px が残る。**
	 * PR #3412 が足した `#story .story_img img { display: block }` は、dev では
	 * **1 度も当たっていなかった**。dev の絵は `img.story_imgR` /
	 * `img.story_imgL` そのものにクラスが付いており、移行元の `.story_img`
	 * という器が存在しないためである（実ページで当たっている規則を
	 * ブラウザに聞いて確認）。当て先を絵そのものへ変える. */
	.single-content--story .entry-content:has(.storyTxt01) :is(.story_imgR, .story_imgL) {
		display: block;
	}

	/* 本文と絵の間。移行元は本文の塊の下内余白 18px がこの間隔を作る。
	   dev は絵の塊の上外余白 20px で作っていた. */
	.single-content--story .entry-content:has(.storyTxt01) .storyTxt01inner:has(:is(.story_imgR, .story_imgL)) {
		margin-top: 18px;
	}

	/* 挿絵のある章の下。移行元は絵の下外余白 20px がこの間隔を作る
	   （絵のない章は上の塊の下内余白 18px が作る）. */
	.single-content--story .entry-content:has(.storyTxt01) .storyTxt01:has(:is(.story_imgR, .story_imgL)) {
		margin-bottom: 20px;
		padding-bottom: 0;
	}

	/* 【4】プロフィールの枠。移行元は 121px、dev は 166px だった。
	 *
	 * 🚨 **外形の 45px を 1 つの原因のせいにしない。**中の 4 つがそれぞれ違って
	 * いた（器の行送り・抜粋の字と字間・開閉の見出しの行送りと浮き・その中の字）。
	 *
	 * 行送りは器へ**百分率**で書く。移行元 `line-height: 150%` は器の 12px で
	 * 解かれて 18px の長さになり、13px の子もその 18px を受け継ぐ。`1.5` と
	 * 数字で書くと子の 13px で解き直されて 19.5px になる（実際にそうなっていた）. */
	/* 「+ 続きを読む」の見出し。
	 *
	 * 🚨 **移行元は左へ浮かせており、枠の高さに入らない**（枠の下端から 10px 下に
	 * 描かれる）。dev は流れの中に置いていたので、枠が 19 + 10px ぶん高かった。
	 * 浮きは、後ろに続く見出しと次の枠の `clear: both` が閉じる（移行元と同じ）。
	 *
	 * 中の字は 13px である。移行元は見出しを 14px にしたうえで、サイト共通の
	 * 初期化が中の `span` へ 13px を直に当てている。
	 *
	 * 🚨 **幅 100% が要る（Bug #5018）。**浮かせた箱は幅の指定が無いと中身の幅に
	 * 縮むため、素の規則が持つ `text-align: right` が**見た目に出ず**、「続きを読む +」が
	 * 左端に寄っていた（実測: 箱 79.11px・中の字の右端 88.44px 対 移行元 328.13px と
	 * 337.45px）。移行元スマホ版も同じ場所に `width: 100%` を持つ
	 * （`legacy/www.p-a.jp/public/sp/introduce/story/css/style.css` の 255〜263 行）。
	 *
	 * 🚨 **浮きは外さない。**移行元スマホ版の CSS には `float` の字面が無いが、
	 * **計算値は `left` である**（別の規則が当てている）。枠（`.box_prof`）の高さは
	 * 移行元・dev とも 121px で一致しており、外すと見出しが枠の高さに入って枠が
	 * 29px 高くなる（Bug #3440 の直しを巻き戻す）。
	 *
	 * 移行元 = 本番 www.p-a.jp を 2026-09-09 03:18:48 JST に幅 375px・携帯の名乗りで
	 * 取得して実測した（実 URL は /sp/introduce/story/story_01.html）。リポジトリの
	 * 写しの実測と 1 画素も違わなかった. */
	.single-content--story .entry-content:has(.storyTxt01) .box_prof dt {
		float: left;
		width: 100%;
		margin-bottom: 10px;
	}

	/* 抜粋の最後の段落。移行元の抜粋は段落で包まれておらず、器の下外余白 10px が
	   そのまま「+ 続きを読む」との間の空きになる。dev は段落で包むので、その段落の
	   下外余白 18px が器の外へ抜けて、間が 8px 広がっていた. */
	.single-content--story .entry-content:has(.storyTxt01) .box_prof :is(.prof_text01, .prof_text02) > p:last-child {
		margin-bottom: 0;
	}

	.single-content--story .entry-content:has(.storyTxt01) .box_prof dt span {
		font-size: 13px;
	}
}

/* ==============================================================
 * 移行してきた本文が使うクラス（お客様の声 /introduce/voice/ 系）
 *
 * 写し元は移行元の 2 ファイルである。
 *   public/css/style.css の 1418〜1473 行（#side_menu 一式）
 *   public/css/page_introduce.css の 33〜105 行（#voice .voice_list 一式）
 * 移行元は祖先の id（#voice）で絞っているが、この id は本文にそのまま残っている
 * うえ、他の移行ページでも使い回されている。そのため他の節と同じく、本文の囲みを
 * 起点に書き直す。
 *
 * 2 段組みの幅は、移行元の 1,100px の柱に対する 273px（左）と 787px（右）を割合へ
 * 書き直している。このテーマの本文の柱は 800px で、実値をそのまま写すと右の列が
 * はみ出すためである（成婚ストーリーのプロフィール 2 枚組と同じ考え方）。
 *
 * 年度の一覧の組み立ては inc/story-voice-nav.php が、開閉の動きは
 * assets/js/voice-nav.js が担う（Issue #1620）。
 *
 * 移行元が使う小さな画像 3 枚（下地の格子・開いた印・閉じた印）は、移行先の
 * 公開ディレクトリに配信されていない（dev で 404 を確認）。この 3 枚はこの部品の
 * 見た目そのものなので、テーマの assets/images/introduce/voice/ へ写して持ち込んだ。
 * ============================================================== */

/* 一覧ぜんたいの下地。移行元 #voice .voice_list は 4x4 の格子（bg_list.gif）を敷く。
   左右の余白 20px は移行元に無い。移行元の柱（1,100px）は外側の面と同じ幅で、
   狭い画面を持たないためである. */
:is(.entry-content, .page-content__body) .voice_list {
	margin-bottom: 60px;
	padding: 40px 20px 45px;
	background: url("../images/introduce/voice/bg_list.gif?ver=882b13c3e39e") repeat;
	text-align: left;
}

/* 2 段組みの外枠。浮かせた 2 列のぶんだけ高さを失うのを防ぐ. */
:is(.entry-content, .page-content__body) .voice_list .list_inner::after {
	display: block;
	clear: both;
	content: "";
}

/* 区画の題名。移行元 .inner_ttl は金茶の 30px である. */
:is(.entry-content, .page-content__body) .voice_list .inner_ttl {
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	color: #a3762b;
	font-size: 30px;
	letter-spacing: 0.1em;
	line-height: 1;
}

/* 左の年度の一覧（273 / 1100）と、右の声の一覧（787 / 1100）。#side_menu という id は
   川柳のページ（/senryu/backnumber/）でも使われているため、指定はお客様の声の 2 段組み
   （.voice_list）の中だけに絞る。

   🔴 **同じ部品の写しがもう 1 か所ある。**婚活川柳のぶんで、置き場は
   assets/senryu/css/bridge.css である。**片方だけ直すと見た目が食い違う。**
   どちらかを触るときは、必ずもう一方も見ること。

   【なぜ 1 つにまとめないか】**幅の指定が違う。**こちらは器に対する 24.8% の
   割合、あちらは 273px の固定である。まとめると幅の条件分岐が要り、かえって
   壊しやすい（Spike #2497 の「決めること 3」の結論）。

   【なぜあちらはこのファイルに無いか】**婚活川柳の CSS は幅 1117px 以上で
   しか配らない門の内側にある。**このファイルはどの幅でも配られるので、ここへ
   置くと携帯幅にも当たって組みが壊れる（Spike #2497 の「決めること 2」の結論）. */
:is(.entry-content, .page-content__body) .voice_list #side_menu {
	/* 開閉の JavaScript（assets/js/voice-nav.js）へ「この囲みは配線してよい」と
	   伝える印。**畳む CSS が届く場所でだけ立てる。**こちらの畳む CSS はこの
	   ファイル（どの幅でも配る）にあるので、常に立ててよい。婚活川柳のぶんは
	   幅の門の内側でだけ立つ（assets/senryu/css/bridge.css）。理由は JavaScript
	   側の isWirable の注釈にある. */
	--pa-nav-accordion: 1;
	float: left;
	width: 24.8%;
	border-top: 1px solid #ccc;
}

:is(.entry-content, .page-content__body) .voice_list .voice_body {
	float: right;
	width: 71.5%;
}

:is(.entry-content, .page-content__body) .voice_list #side_menu dl {
	margin: 0;
	clear: both;
}

/* 年度の見出し。移行元 #side_menu dt は 16px の太字で、押せることをカーソルで示す. */
:is(.entry-content, .page-content__body) .voice_list #side_menu dt {
	padding: 0 10px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	border-bottom: 1px solid #ccc;
	cursor: pointer;
}

/* 開いているか閉じているかの印。移行元は右端に 9px の高さの画像を 2 枚使い分ける. */
:is(.entry-content, .page-content__body) .voice_list #side_menu dt span {
	display: block;
	padding: 19px 0;
	background: url("../images/introduce/voice/icon_close.png?ver=771f38aac83c") no-repeat right center;
}

:is(.entry-content, .page-content__body) .voice_list #side_menu dt span.active {
	background-image: url("../images/introduce/voice/icon_open.png?ver=ad200459b416");
}

:is(.entry-content, .page-content__body) .voice_list #side_menu dd {
	margin: 0;
	padding: 19px 0 4px;
	border-bottom: 1px solid #ccc;
}

/* 月の一覧。移行元 .list_year は行頭の記号を出さず、左へ 20px 字下げする. */
:is(.entry-content, .page-content__body) .voice_list #side_menu .list_year {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 月の 1 行。写し元は移行元 css/style.css の 1456〜1461 行
   （`#side_menu dd .list_year li`）で、`margin-bottom: 15px` ・`padding: 0 0 0 20px` ・
   `color: #e1200f` ・`font-weight: 700` の 4 つだけを持つ。**行の高さは書いていない**
   ので、移行元では本文から受け継いだ 1.6（16px × 1.6 = 25.6px）になる。

   ここに `line-height: 1` を書いていたのは写し元に無い値で、行が 16px に詰まって
   移行元と食い違っていた（Bug #2842。2026-09-02 に両側を同じ台本で実測し、移行元
   25.6px 対 dev 16px を確かめた）。

   🚨 **値を消すだけでは移行元に戻らない。**このファイルは箇条書きの土台として
   `.entry-content li { line-height: var(--pa-line-height-text) }`（1.5 = 24px）を
   全ページへ当てており（Issue #2355 の節）、消すとそちらが働いて 24px になる。
   移行元にはその土台が無いので、**受け継ぎへ明示的に戻す**（`inherit`）。同じ
   書き方を入会案内の節（`.pa-page--guide … :is(p, li, dt, dd)`）でも使っている。

   🔑 **`inherit` が受け取るのは「親要素の計算後の値」であって、`.entry-content` の
   値ではない。**この項目の親をさかのぼると
   `ul.list_year` → `dd` → `dl#acMenu` → `div#side_menu` → `div.list_inner` で、
   **その `.list_inner` が `font-size: 16px` と `line-height: 1.6` を持つ**
   （このファイルの「お客様の声の一覧」の節）。だから 16 × 1.6 = 25.6px になり、
   3 つ上の `.entry-content`（1.5 = 24px）には届かない。幅 1440 / 1200 / 750 / 375px の
   4 通りと、旧デザインの本体で実際に描いて確かめた（2026-09-02）。
   **この受け継ぎは `.list_inner` の 2 行に依っている。**そちらを変えるときは、
   `tests-retired/pa-cms-voice-look/` が見張っているのでいっしょに見直すこと.

   `color` も写し元にある。いまは月の文字がすべてリンク（`a`）の中にあり、下の
   `li a` の色が勝つので画面には出ない。それでも写し元どおり置くのは、リンクの外に
   文字が来たときに移行元と食い違わないようにするためである. */
:is(.entry-content, .page-content__body) .voice_list #side_menu .list_year li {
	margin-bottom: 15px;
	padding: 0 0 0 20px;
	color: #e1200f;
	font-weight: 700;
	line-height: inherit;
}

:is(.entry-content, .page-content__body) .voice_list #side_menu .list_year li a {
	color: #222;
	font-weight: normal;
}

/* いま見ている月。移行元 .activeMonth は赤の太字にして下線を消す. */
:is(.entry-content, .page-content__body) .voice_list #side_menu .list_year li a.activeMonth {
	color: #e1200f;
	font-weight: 700;
	text-decoration: none;
}

/* --- 年度の開き / 閉じ（assets/js/voice-nav.js と対で使う） ---
 *
 * 畳む指定は、JS が付ける .pa-voice-nav が無いと効かない。JavaScript が動かない
 * 環境では年度がすべて開いたままになり、どの月へも行ける側へ倒している。
 * ----------------------------------------------------------- */

:is(.entry-content, .page-content__body) .voice_list #side_menu .pa-voice-nav dd {
	display: none;
}

:is(.entry-content, .page-content__body) .voice_list #side_menu .pa-voice-nav dd.is-open {
	display: block;
}

/* キーボードで送ったときに、いまどこに居るかが分かるようにする. */
:is(.entry-content, .page-content__body) .voice_list #side_menu .pa-voice-nav dt:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: -2px;
}

/* 月を選ぶ枠は、スマートフォン幅で JS が動いたときだけ出す（下のメディアクエリ）。
   JavaScript が動かない環境では、幅にかかわらずアコーディオンだけを出す. */
:is(.entry-content, .page-content__body) .voice_list #side_menu .pa-voice-nav-form {
	display: none;
	margin: 0;
}

/* --- スマートフォン幅（749px 以下） ---
 *
 * 移行元はスマートフォン専用のページを別に持ち、そちらは 2 段組みではなく縦 1 列で、
 * 月の選び方もアコーディオンではなく画面幅いっぱいの選択欄だった。写し元は
 * legacy/www.p-a.jp/public/sp/introduce/voice/css/style.css の 6〜37 行（#voice ぜんたいの
 * 余白と #voice select）と、同ディレクトリの index.html の 34〜48 行（選択欄が声の一覧の
 * 上に来る並び）である.
 * ------------------------------------------------------------------------------ */

@media (max-width: 749px) {
	/* 移行元のスマートフォン専用ページと同じく、月の選び方を上に置いて縦 1 列に積む. */
	:is(.entry-content, .page-content__body) .voice_list #side_menu,
	:is(.entry-content, .page-content__body) .voice_list .voice_body {
		float: none;
		width: 100%;
	}

	/* JS が動いたときだけ、アコーディオンと選択欄を入れ替える。移行元のスマートフォン
	   専用ページに囲みの上の罫線は無いので、選択欄を出すときは合わせて消す. */
	:is(.entry-content, .page-content__body) .voice_list #side_menu.is-ready {
		border-top: 0;
	}

	:is(.entry-content, .page-content__body) .voice_list #side_menu.is-ready .pa-voice-nav-form {
		display: block;
	}

	:is(.entry-content, .page-content__body) .voice_list #side_menu.is-ready dl {
		display: none;
	}

	/* 移行元 #voice select は画面幅いっぱいで、下に 25px の余白を取る. */
	:is(.entry-content, .page-content__body) .voice_list #side_menu .pa-voice-nav-form select {
		width: 100%;
		margin-bottom: 25px;
		padding: 5px;
	}

	/* JS が動かないときはアコーディオンだけが出る。声の一覧との間を空ける. */
	:is(.entry-content, .page-content__body) .voice_list #side_menu dl {
		margin-bottom: 25px;
	}

	:is(.entry-content, .page-content__body) .voice_list {
		margin-bottom: 30px;
		padding: 20px 15px 25px;
	}

	:is(.entry-content, .page-content__body) .voice_list .inner_ttl {
		margin-bottom: 20px;
		font-size: var(--pa-article-h2-size);
		line-height: var(--pa-line-height-heading);
	}
}

/* ==============================================================
 * お客様の声の携帯幅を、移行元スマホ版の姿へそろえる（Bug #4746）
 * ==============================================================
 *
 * 移行元は幅 749px 以下でスマホ版（`/sp/introduce/voice/*.html`）を返すので、
 * 携帯幅の正解はスマホ版である（裁定 46）。3 か所を直す。
 *
 * | # | 見るところ | 移行元スマホ版 | 直す前の dev（幅 375px） |
 * |---|---|---|---|
 * | 1 | 題の上の並び | **無い** | 在る（345 × 107px・左端 15px） |
 * | 2 | 声を並べる器 | **無い**（声が `#voice` の直下） | 内余白 20px 15px 25px・背景の絵あり |
 * | 3 | 声 1 件の器 | 白地・**内余白 0**・幅 328.13・左端 23.44 | 白地・内余白 20px・幅 310.5・左端 32.25 |
 *
 * 🚨 **左右の入りは割合（6.25%）である。**移行元スマホ版の `#voice` の左右の内余白を
 * 3 つの幅で測ると 375px → 23.4375 / 320px → 20 / 749px → 46.8125 で、どれも幅の
 * **6.25%** だった。固定の px で書くと 320px と 749px で合わない。dev はこの入りを
 * `.list_inner` の幅（`--pa-inner-ratio` = 90%）で作っているので、**幅を 87.5%
 * （= 100 − 6.25 × 2）に変えるだけで 3 つの幅すべてがそろう**（中央そろえは既にある）。
 *
 * 🚨 **当たり先は `#voice` を持つページに絞る（裁定 690）。**題の上の並び
 * （`div.local_nav` の中の `ul.category_menu`）は、「はじめての方へ」（`/visitor/`）では
 * **本物の導線を兼ねている**。絞らずに隠すとそのページの導線が消える。器のクラス
 * `.single-content--story` は成婚ストーリーと共有なので、`:has(#voice)` で
 * お客様の声だけに当てる（成婚ストーリー側にこの 2 つの部品が無いことは実測済み）。
 *
 * 🚨 **字の大きさと行送りはここでは触らない。**移行元スマホ版は 13px / 12px（行 19.2px）
 * で dev は 15px / 16px（行 25.6px）だが、**20 ページの本文全体に効く**ので別の Bug
 * （#4846）で扱う（裁定 690）.
 * ============================================================== */

@media (max-width: 749px) {
	/* 🚨 **本文の左右を移行元の携帯版と同じ 6.25% にする（Bug #6204）。**
	 * 共通の器の規則（このファイルの `.single-content` ほか）が幅の制限なしに
	 * `padding: 0 var(--pa-inner-gutter)`（15px）を当てている。移行元の携帯版は
	 * 本文の左右を **6.25%**（375px で 23.4375px）に取るので、**幅 375px で
	 * 中身が 345 対 328.125 の 16.87px ぶん広かった**（実測 2026-09-14 14:10 JST）。
	 *
	 * 🚨 **足すのではなく置き換える。**すでに在る 15px へ 6.25% を足すと 38.44px に
	 * なり、本文が逆に狭くなる（Bug #6132 で踏んだ型）。
	 *
	 * 🚨 **共通のトークン `--pa-inner-gutter` は動かさない。**テーマ全体で使う値で、
	 * 触ると全ページへ波及する。
	 *
	 * 🚨 **画面いっぱいに抜ける区画は自動で追従する。**お客様の声の月の一覧
	 * （`.entry-content .voice_list`）は `width: 100vw; margin-inline: calc(50% - 50vw)`
	 * で外へ抜けており、`calc()` は親の幅から計算するので 15px → 23.44px へ
	 * ひとりでに合う（-15px の直書きではない）。その中の `.list_inner` は
	 * `width: 87.5%` ＝ 375 × 87.5% ＝ **328.125px** で、移行元と既に一致している.
	 *
	 * 当たり先は `single-story.php` が描く 222 ページ（成婚ストーリー 111・
	 * お客様の声 100・しあわせレポート 11）。入口の 3 ページも投稿である. */
	.single-content--story {
		padding-right: 6.25%;
		padding-left: 6.25%;
	}

	/* 1. 題の上の並びを隠す（移行元スマホ版には無い）.

	   🚨 **カテゴリトップの器も当たり先に足す（Bug #7566）。**月ごとのページは
	   `single-story.php` が描くので `.single-content--story` を持つが、
	   **カテゴリトップ（`/introduce/voice/`）は投稿タイプの書庫**で、
	   `archive-pa_voice.php` が `.archive-content--voice` を出す。だから
	   `.single-content--story` の絞りでは先頭で外れ、**帯が携帯幅でも出ていた**。

	   実測（2026-09-19 13:54・台本 `cd77093a21cdacbc`・dev の 218 本）。

	   | 器 | 群 | 本数 | この規則が当たるか |
	   |---|---|---:|---|
	   | `.single-content--story` | `/introduce/voice/<年月>/` | 99 | 当たる（出ない） |
	   | `.archive-content--voice` | `/introduce/voice/` | 1 | **当たっていなかった** |
	   | `.page-content--service` | `/visitor/` ほか 3 本 | 3 | 当てない（下を読む） |

	   🚨 **`.archive-content--voice` に `:has(#voice)` は要らない。**この類名は
	   `archive-pa_voice.php` 42 行だけが出すので、ほかのページに当たらない。
	   `.single-content--story` のほうは成婚ストーリーと共有なので絞りが要る（裁定 690）。

	   🚨 **「はじめての方へ」（`/visitor/` の 3 本）に当ててはいけない。**あちらの帯は
	   移行元にも在る**本物の導線**で、器は `.page-content--service` である。
	   絞らずに隠すとそのページの導線が消える（裁定 690 の理由。上の実測で 3 本と分かった）. */
	.single-content--story:has(#voice) .local_nav,
	.archive-content--voice .local_nav {
		display: none;
	}

	/* 2. 声を並べる器の内余白と背景の絵を外す（移行元は器そのものを持たない）。
	   下の余白は移行元スマホ版の `#voice` の下の内余白（25px）へそろえる.

	   🚨 **上は 0 にする（Bug #6210・2026-09-15）。**移行元は器（`#voice`）の
	   内余白 25px の中に一覧を置き、**この位置には余白を作らない**（移行元
	   `.main_read` の下端 290.8 → `.inner_ttl` の上端 308.8）。dev は `#voice` の
	   内余白を親へ移したうえでここに 25px を残しており、小見出しと月を選ぶ選択欄を
	   25px ぶん余分に押し下げていた。実測は
	   `pa-verify-assets/d3-6210-0915/出力-0915/お客様の声-上の区画-6210.tsv`
	   （幅 375px・2026-09-15 03:46 JST。小見出しの上端 移行元 308.8 対 dev 425.3）。

	   🚨 **直しをここに書く理由。**この規則は `.voice_list` に当たる規則の中で
	   いちばん詳しい（詳細度 (1,3,0)）。ページ側の CSS（`voice.css`）へ
	   `#voice .voice_list { padding-top: 0 }` と書いても (1,1,0) で**負けて効かない**
	   （PR #6377 のセルフレビューで見つけた）。一括指定の `padding` なので、
	   上だけを別の規則で打ち消すこともできない.

	   🚨 **2〜4 もカテゴリトップの器へ当てる（Bug #10034）。**Bug #7566 は 1 の帯だけに
	   `.archive-content--voice` を足し、2〜4 は `.single-content--story:has(#voice)` のままだった。
	   カテゴリトップ（`/introduce/voice/`）の携帯幅では、声の一覧が灰色の格子の地
	   （`bg_list.gif`）と内余白 20px の白い箱の組みで出ていた（2026-10-10 04:57 の実測・
	   `pa-verify-assets/A2/10034-声の一覧の携帯幅-1010/`）。カテゴリトップの側は
	   `#voice` を持たない詳細度 (0,3,0) だが、当たる規則の中ではいちばん詳しい
	   （この節より前の携帯幅の規則
	   `:is(.entry-content, .page-content__body) .voice_list` は (0,2,0)）. */
	.single-content--story:has(#voice) :is(.entry-content, .page-content__body) .voice_list,
	.archive-content--voice :is(.entry-content, .page-content__body) .voice_list {
		padding: 0 0 25px;
		background: none;
	}

	/* 2b. カテゴリトップだけ、一覧の下の内余白と外余白を 0 にする（Bug #10034）。
	   月ごとのページは一覧が `#voice` の最後の子なので、上の 25px が移行元の `#voice` の
	   下の内余白に当たる。カテゴリトップは一覧の後ろに「公開する理由」の区画
	   （`.box_reason`）が続き、移行元の携帯版は最後の声の下の外余白 15px のすぐ下から
	   その区画を始める。dev は 25px と外余白 30px が足され、55px 広かった
	   （2026-10-10 04:59 の実測・最後の声の下端から区画の上端まで 移行元 15 対 dev 70）. */
	.archive-content--voice :is(.entry-content, .page-content__body) .voice_list {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	/* 3. 声の器の左右の入りを 6.25% にする（上の注釈のとおり幅で作る）. */
	.single-content--story:has(#voice) :is(.entry-content, .page-content__body) .voice_list .list_inner,
	.archive-content--voice :is(.entry-content, .page-content__body) .voice_list .list_inner {
		width: 87.5%;
	}

	/* 4. 声 1 件の器の内余白を外す（移行元は 0。白地と下の外余白 15px は移行元と同じ）. */
	.single-content--story:has(#voice) :is(.entry-content, .page-content__body) .voice_body dl,
	.archive-content--voice :is(.entry-content, .page-content__body) .voice_body dl {
		padding: 0;
	}
}

/* ==============================================================
 * 一覧・詳細の導線（Issue #1551）
 *
 * 次の 4 つの部品の見た目である。
 *   .pa-button              押しボタン（下の 3 つが共通で使う）
 *   .pa-inline-cta          本文の流れの中に置く 1 本の導線
 *   .pa-story-categories    成婚ストーリー一覧の「成婚のポイントで選ぶ」5 枚
 *   .pa-archive-bottom      一覧共通の下部（関連コンテンツ・来店の案内・店舗の案内）
 *   .pa-word-cta            集客記事の記事下の導線
 *
 * 寸法・色の写し元は次のとおりである。
 *   ボタン        public/css/style.css の .txtBtn_red01 a（幅 352px・高さ 48px・
 *                 明朝・中央寄せ）と、移行元 assets/css/style.css の .btn-a
 *                 （改装版デザインの角丸のボタン）
 *   5 枚のカード  public/introduce/css/page_introduce.css の .box_point
 *                 （3 列・下地 #f9f9f9・題名は金の明朝・説明文 14px）
 *   下部の 3 区画 public/assets/css/style.css の .content__item / .banner /
 *                 #branch-list（改装版デザイン。写真は出さない）
 *
 * トップページの .pa-more-button は使えない。あちらは .front-page の中でだけ
 * 定義されていて、一覧・詳細のページでは値が解決しないためである（.pa-side-cta が
 * ヘッダーの色トークンを使えないのと同じ事情である）。
 * ============================================================== */

/* --- 押しボタン --- */

.pa-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	/* 移行元 .txtBtn_red01 a の 352px を上限に、狭い幅では縮める. */
	min-width: 240px;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid var(--pa-color-button-bg);
	border-radius: 24px;
	background-color: var(--pa-color-button-bg);
	color: var(--pa-color-button-text);
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.pa-button:hover,
.pa-button:focus-visible {
	background-color: var(--pa-color-bg);
	color: var(--pa-color-button-bg);
}

/* 副のボタン（資料請求など、主のボタンと並べる側）。塗りを抜いて枠線だけにする. */
.pa-button--outline {
	background-color: var(--pa-color-bg);
	color: var(--pa-color-button-bg);
}

.pa-button--outline:hover,
.pa-button--outline:focus-visible {
	background-color: var(--pa-color-button-bg);
	color: var(--pa-color-button-text);
}

/* 1 本で置くときの大きさ（移行元 .btn-a.-lg）. */
.pa-button--lg {
	min-width: 352px;
	min-height: 56px;
	font-size: 18px;
}

@media (max-width: 749px) {
	.pa-button,
	.pa-button--lg {
		min-width: 100%;
		font-size: 16px;
	}
}

/* --- 本文の流れの中に置く 1 本の導線 --- */

/* 🚨 **この囲みに枠線は無い。**以前ここには「移行元の div.btnWire は枠線で囲んで
   いた」と書いてあったが、移行元を数え直すと **`.btnWire` を当たり先にする規則は
   1 つも無い**（2026-09-18 に、この入口が読む 5 本の CSS
   〔`css/common.css`・`css/style.css`・`css/page_top.css`・`css/page_introduce.css`・
   `introduce/story/css/style_introduce_story.css`〕を注釈を外して全数で数えた。
   `.btnWire` を含む規則は `#story .btnWire .txtBtn_red01` と同 `a` の 2 つだけで、
   どちらも中のボタンに当たる）。枠線・下地・内側の余白は写し元に無いので外した
   （Bug #6924 の 2 番）.

   この囲みを出すのは `template-parts/story-archive-links.php` だけで、それを呼ぶのは
   `archive-story.php`（成婚ストーリーの投稿タイプアーカイブ）だけである. */
.pa-inline-cta {
	margin: 0;
	padding: 0;
	border: 0;
	text-align: center;
}

/* 写し元は移行元の `<p class="serif fs20 mb10">`（`css/style.css` の `.fs20` が
   20px、`.mb10` が下余白 10px、`css/common.css` の `.serif` が明朝）。
   色の指定は移行元に無く、土台の色（黒）で描かれる. */
.pa-inline-cta__lead {
	margin: 0 0 10px;
	color: var(--pa-palette-ink-legacy);
	font-family: var(--pa-font-family-serif);
	font-size: 20px;
	line-height: 1.4;
}

/* 押しボタンの見た目を、移行元の赤い角ばったボタンへ戻す（Bug #6924 の 2 番）。

   写し元は `css/style.css` の `.txtBtn_red01 a`（下地 #e1200f・白文字・下線なし・
   内側 15px 50px・字間 0.04em・右端 10px に矢印の絵）と、`css/page_introduce.css` の
   `#story .btnWire .txtBtn_red01 a`（字 26px・外余白 0）である。

   🚨 **共通の押しボタン（`.pa-button` / `.pa-button--lg`）そのものは変えない。**
   同じ組み合わせを一覧共通の下部（`template-parts/archive-bottom.php`）も使って
   おり、そちらは移行元が改装版デザインの金色の丸いボタンである。**この囲みの中だけ**
   を当たり先にして、角丸・枠線・最小の幅と高さを打ち消す.

   移行元は `.txtBtn_red01` を幅 50% の flex にして中央へ寄せるが、中のボタンは
   内容の幅のままである。dev は囲みの `text-align: center` と
   `display: inline-block` で同じ幅・同じ位置にする. */
.pa-inline-cta .pa-button {
	display: inline-block;
	box-sizing: content-box;
	min-width: 0;
	min-height: 0;
	padding: 15px 50px;
	border: 0;
	border-radius: 0;
	background-color: #e1200f;
	background-image: url(../images/btn_arrow_m.png?ver=bfb3b03390c9);
	background-repeat: no-repeat;
	background-position: right 10px center;
	color: #fff;
	font-family: var(--pa-font-family-serif);
	font-size: 26px;
	letter-spacing: 0.04em;
	line-height: normal;
	text-decoration: none;
}

/* 移行元の `:hover` は `opacity: 0.6` だけで、色は変わらない. */
.pa-inline-cta .pa-button:hover,
.pa-inline-cta .pa-button:focus-visible {
	background-color: #e1200f;
	color: #fff;
	opacity: 0.6;
}

@media (max-width: 749px) {
	/* 携帯幅の写し元は別のミラーである。移行元
	   `sp/introduce/story/include/cv.shtml` は、`<p class="tac fs15 serif mb10">` の
	   下に絵の押しボタン `sp/images/btn_reservation2.png`（500 × 100）を置く。
	   絵は `sp/css/common.css` の `img { width: 100% }` で柱いっぱいに伸びるので、
	   幅 375px では 328.13 × 65.63 になる。

	   🚨 **dev は絵ではなく字で出す**（全体原則「絵に焼き込まれた文言は字で出す」）。
	   絵の中の色を数えると 47,065 画素が #e1200f・1,050 画素が白で、パソコン版と
	   同じ赤である（2026-09-18 に PNG を展開して数えた）。そこで**同じ赤の帯に
	   白い字**を置き、箱の寸法だけ絵に合わせる。

	   `.fs15` は `sp/css/style.css` で `font-size: 116%` であり、土台の
	   `sp/css/basic.css` が全要素を 13px にしているので 15.08px になる. */
	.pa-inline-cta__lead {
		margin-bottom: 10px;
		font-size: 15.08px;
	}

	.pa-inline-cta .pa-button {
		display: block;
		box-sizing: border-box;
		width: 100%;
		min-height: 65.63px;
		padding: 15px 20px;
		background-image: none;
		font-size: 18px;
	}
}

/* --- 成婚ストーリー一覧の、札を並べる器の幅 --- */

/* 移行元の成婚ストーリー一覧は、幅 1,100px の柱に札 3 枚（1 枚 352px）と札の間
   22px を置き、合計がちょうど 1,100px になる作りである。写し元は移行元
   legacy/www.p-a.jp/public/css/page_introduce.css の `#story .story_inner`
   （width: 1100px）と、同ファイルの `#story .list_box li a`（width: 352px・
   margin-right: 22px）である。

   一覧共通の器（.archive-content）は最も近い幅のトークン（--pa-inner-ex ＝
   1,120px）に寄せてあるが、移行元の実寸より 20px 広い。器を格子で 3 等分する作りの
   ため、この 20px が札 1 枚あたり 6.66px の広がりになり、札の左端が最大 10px 左へ
   ずれる（1440px 幅での実測。Bug #1841）。受入の目安 ±2px を超えるので、トークンでは
   なく実寸を書く。**これは PR #1832 が `.list_inner` で採った直し方と同じ型である。**

   トークン --pa-inner-ex の値そのものは変えない。同じトークンは 12 か所で使われて
   おり、店舗一覧・トップページの区画・記事本文の柱などがまとめて 20px 縮む。この
   一覧だけに効かせるため、修飾クラス .archive-content--story の側で上書きする。
   このクラスを持つのは archive-story.php（成婚ストーリー一覧の 1 ページ）だけである。

   器の幅は移行元より 22px 狭くなる（移行元 ul.list_box は 1,122px）。移行元は札 1 枚
   ごとに右の余白 22px を持ち、3 枚目の余白だけが柱の外へはみ出すためである。器には
   下地も枠線も無く、はみ出した 22px は何も描かない。合否の対象は札の幅と左端である
   （Bug #1841 の受入基準）。

   狭い幅では効かない。器の幅は width: var(--pa-inner-ratio)（90%）で決まり、
   max-width はその上限にしか働かないためである. */
/* 🚨 **パソコン幅では下の外余白を持たない**（Task #7422）。

   共通の `.archive-content` は下に `var(--pa-space-lg)`（パソコン幅で 80px）を持つ。
   この入口だけは、その下に `footer.php` が「先頭へ戻る」を出すため、**移行元より
   ちょうど 80px 空いていた**。

   幅 1440px の実測（2026-09-18 23:2x・`pa-verify-assets/D3/story-撮り直し-0918/`）:

     関連リンクの帯の下端 → 押しボタンの上端
       移行元 71px ／ dev 151px（＝ 30 ＋ **80** ＋ 40）

   内訳は `.pa-story-archive__related` の下外余白 30px ＋ この 80px ＋
   `.pa-page-top` の上内余白 40px である。**80px を外すと 70px になり、移行元の
   71px と 1px の差に収まる。**

   🚨 **携帯幅では外さない。**あちらのトークンは 40px で、同じ実測の携帯幅の空きは
   移行元 67px 対 dev 77px と 10px しか違わない。外すと逆に詰まりすぎる。
   だから `@media (min-width: 750px)` の中だけで効かせる. */
@media (min-width: 750px) {
	.archive-content--story {
		margin-bottom: 0;
	}
}

/* 結婚相談所のすゝめの一覧（/word/・/word/all/・年別）の下端から「先頭へ戻る」と
   下のパンくずまでを、移行元にそろえる（Task #8878）。

   この一覧は `footer.php` が「先頭へ戻る」（印 `--archive`）を下のパンくずの直前に
   出す（`inc/page-top.php` の `pa_is_word_archive()` の枝）。印 `--archive` は
   店舗一覧・体験談の一覧・成婚ストーリーの一覧と共用なので、`body:has()` で
   この一覧だけに絞る。

   実測（2026-09-29・`pa-verify-assets/B/8878-直す前-0929/`・`B/8878-下見-0929/`。
   3 画面とも同じ値）:

     幅 1440  移行元  申し込みの導線の下端 → 先頭へ戻る 109（上の内余白 40 ＋ 中身 69）
                      → 30 → 下のパンくず 72 → フッター（計 211）
              dev     導線の下端 → 器の下の外余白 80 → パンくず 72 → フッター（計 152）
                      先頭へ戻るを出すだけだと、先頭へ戻る 110.39 → 0 → パンくず（計 182.39）
     幅 375   移行元  導線の下端 → 62 → 先頭へ戻る（絵 44.53 × 50.39・下の外余白 30）
              dev     導線の下端 → 器の下の外余白 40 → 先頭へ戻る

   - パソコン幅: 器の下の外余白 80 を 0 にし（上の成婚ストーリーの一覧と同じ）、
     先頭へ戻るの下に 30、中身の高さを移行元の 69 にする。中身は押しボタン（行内
     ブロック）が乗る行の下がりで 70.39 になっていた
   - 携帯幅: 器の下の外余白を 40 → 62 にする。移行元の 62 は、導線を包む囲み
     （`div.box`）の下の内余白 32 と、その下から先頭へ戻るまでの 30 の和である
     （実測の値。移行元の先頭へ戻る自身は上の外余白を持たない） */
@media (min-width: 750px) {
	.archive-content--word {
		margin-bottom: 0;
	}

	body:has(.archive-content--word) .pa-page-top--archive {
		margin-bottom: 30px;
	}

	body:has(.archive-content--word) .pa-page-top--archive .pa-page-top__item {
		height: 69px;
	}
}

@media (max-width: 749px) {
	.archive-content--word {
		margin-bottom: 62px;
	}
}

/* --- ご成婚報告の一覧（/report/）の器の外余白（Bug #8266） --- */

/* 🚨 **上の外余白は幅を問わず 0 にする。**共通の `.archive-content` は
   `margin: var(--pa-space-md) auto var(--pa-space-lg)` を持つ（このファイル
   44355 行）。移行元 `public/report/index.html` ・`public/sp/report/index.html`
   はどちらもパンくず（またはヘッダー）のすぐ下に本文を置き、上の外余白を持たない。

   実測（2026-09-24・`pa-verify-assets/B/8266-走査-0924/走査.log`）:

     パンくず → 本文の空き
       幅 1440px  dev 60px（＝ --pa-space-md のパソコン幅の値）／ 移行元 0px
       幅  375px  dev 40px（main の上 30px ＋ #seo の上内余白 10px）／ 移行元 10px
                  （dev の 30px が --pa-space-md の携帯幅の値と一致する）

   どちらの幅も差の全量が `.archive-content` の上の外余白そのものなので、
   `.archive-content--story`（Bug #7719）と同じく上書きで消す.

   🚨 **当て先は一覧のトップ（`/report/`）だけに絞る。**型紙 `archive-pa_report.php` は
   年・年月のアーカイブ（`/report/<年>/` など）にも `.archive-content--report` を付けるが、
   `pa-page--report` は一覧のトップにだけ付ける（同ファイル 66 行）。測ったのは一覧の
   トップだけなので、年・年月のアーカイブの余白は変えない. */
.archive-content--report.pa-page--report {
	margin-top: 0;
}

/* 🚨 **下の外余白はパソコン幅だけ 0 にする。**移行元パソコン版は「先頭へ戻る」の
   すぐ下に下のパンくずを置き、外余白を持たない。

   実測（同上）:

     先頭へ戻る → 下のパンくず／フッターの空き
       幅 1440px  dev 80px（＝ --pa-space-lg のパソコン幅の値）／ 移行元 0px
       幅  375px  dev 60px ／ 移行元 80px（dev のほうが既に 20px 狭い）

   幅 375px は外すとさらに詰まって移行元から遠ざかるため触らない。**携帯幅の
   この差は共通フッターの高さ差（Issue #8266 の走査で別枠にした +42px）が主因で、
   この器の外余白ではない。**`.archive-content--story` の先例（Task #7422・
   PR #7742）と同じく `@media (min-width: 750px)` の中だけで効かせる. */
@media (min-width: 750px) {
	.archive-content--report.pa-page--report {
		margin-bottom: 0;
	}
}

/* 前半の「先頭へ戻る」の幅（Task #7422）。

   共通の `.pa-page-top` は `width: var(--pa-inner-ratio)`（90%）・`max-width: 1100px`
   である。画面の直下に置く末尾の 1 個は、幅 1440px で 90% が 1296px になり上限の
   1100px で止まるので柱の右端に来る。**ところが前半の 1 個は柱（`.archive-content--story`・
   1100px）の中に入る**ので、90% が 990px にしかならず、押しボタンが 55px 内側へ寄る。

   移行元は `css/page_introduce.css` の `#story .page_top { width: 1100px; margin: 0 auto;
   padding: 40px 0 0; text-align: right }` で、**柱の幅そのもの**である。だから中に
   入った側は `100%` にして柱いっぱいに広げ、末尾の 1 個と右端をそろえる。

   🚨 **共通の `.pa-page-top` は触らない。**あれは 6 画面が使い、画面の直下に置く
   使い方では 90% が正しい. */
.archive-content--story .pa-page-top {
	width: 100%;

	/* 🚨 **格子の行間のぶんを上の内余白から差し引く**（Bug #7517）。

	   囲み `.archive-content` は `display: grid` で `gap: var(--pa-archive-gap)`
	   （22px）を持つ。中に入れた「先頭へ戻る」は格子の 1 マスなので、**上に必ず
	   22px が入る**。共通の `.pa-page-top` の `padding: 40px 0 0` をそのまま使うと
	   22 ＋ 40 = 62px になり、移行元の 40px より 22px 広い。

	   実測（2026-09-19 09:05・幅 1440px）では、直前の区画の下端から押しボタンの
	   上端までが移行元 0px（`div.btnWire` 1659 → `p.page_top` 1659）に対し
	   dev は 22px（`div.pa-inline-cta` 1762 → `div.pa-page-top` 1784）だった。
	   **格子の行間の値とちょうど同じである。**

	   同じ囲みの「すべての記事を見る」（`.pa-story-archive__all`）が、下の余白で
	   同じ差し引きをしている。それにそろえる。

	   🚨 **末尾の 1 個には効かない。**あちらは囲みの外に置かれており、この当たり先
	   （囲みの子孫）に入らない. */
	padding-top: calc(40px - var(--pa-archive-gap));
}

/* お客様の声のカテゴリトップの器の上の外余白（Bug #7846）。

   共通の器 `.archive-content` は `margin: var(--pa-space-md) auto var(--pa-space-lg)`
   を持ち、`--pa-space-md` は幅 750px 以上で 60px である。移行元の同じ位置の器
   （`section#introduce_top`）は上の外余白を持たない。

   実測（2026-09-19 23:5x・幅 1440・移行元リポジトリ www.p-a.jp の `main`・
   固定コミット 25cf8dcdd）:

   | 区画 | dev の上端 | 移行元の上端 | 差 |
   |---|---|---|---|
   | `section#introduce_top` | 252.00 | 192.00 | **+60.00** |
   | パンくず（下） | 5103.23 | 5016.16 | +87.07 |

   下の外余白（`--pa-space-lg` ＝ 80px）も移行元には無い。移行元は末尾の区画
   （`div.page_topArea`）の下端にパンくずが続く（どちらも 5016.16）。dev は
   80px の空きが入る。**上と同じ理由なので同じ節で 0 にする。**

   両方を 0 にしたあとの残りは `section#introduce_top` の高さだけである
   （dev 167.08 対 移行元 220 ＝ −52.92）。原因が別なので別の Issue で扱う。

   🚨 **共通の `.archive-content` を書き換えない。**店舗一覧・ワード解説・
   会員のホンネ体験談ほかの一覧を巻き込む（この CSS の `.archive-content--branch`
   の節にも同じ注意書きがある）。**修飾クラスの側で上書きする。**
   直し方は成婚ストーリーの一覧（Bug #7719・`.archive-content--story`）と同じ形である。

   🚨 **携帯幅は触らない。**移行元には `/sp/introduce/voice/` という別の版が在り、
   dev の本文がどちらの版を写すかは**ユーザー決定 D495 の一覧待ち**である
   （2026-09-19 23:0x）。いまの幅 375 の値（ページ全体の高さ 7360・`main` の上端 91）を
   動かさないため、この節を `@media (min-width: 750px)` に閉じてある。**外へ出さない。**

   🚨 **月ごとのページ（`/introduce/voice/<年月>/`・99 本）には当たらない。**
   あちらの器は `.single-content--story` である。この類名は
   `archive-pa_voice.php` 42 行だけが出す. */
@media (min-width: 750px) {
	.archive-content--voice {
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* お客様の声のカテゴリトップの先頭の区画を、移行元と同じ幅へ戻す（Bug #7851）。

   区画 `section#introduce_top` は**見出しの絵とナビだけ**を持ち、文章を持たない。
   ユーザー裁定（Bug #2309・2026-08-28）は「**文章の 800px は維持し、見出し・ナビ・
   画像だけ移行元の幅へ戻す**」と決めているので、この区画は移行元の幅へ戻す側である。

   実測（幅 1440・移行元リポジトリ www.p-a.jp の `main`・固定コミット 25cf8dcdd）:

   | 部品 | 直す前の dev | 移行元 |
   |---|---|---|
   | 器 `section#introduce_top` | 800 × 167.08 | **1270 × 220** |
   | `h2.main_ttl` | 800 × 117.08 | **1268 × 170** |
   | `img`（`main_ttl.jpg`） | 800 × 107.08 | **1268 × 170** |
   | `div.local_nav` | 800 × 50 | 1270 × 50 |
   | `ul.category_menu` | **1268 × 50** | **1268 × 50** |

   `ul.category_menu` は共通の規則（`:is(.entry-content, .page-content__body)
   .category_menu` の `@media (min-width: 1285px)`）で**すでに 1268px になっている**。
   取り残されていたのは `main_ttl` だけである。

   🚨 **境目は 1285px である。**台帳 148 行（裁定・Bug #2380）が「画面内のナビの帯は
   幅 1,285px 以上で 1268px・**幅 1,280px は柱の幅どまりで承認済み**」と決めており、
   `category_menu` の共通の規則も同じ境目を使う。**そろえる。**

   🚨 **区画ごと広げる。見出しだけ広げてはいけない。**`main_ttl` にだけ
   `margin-inline: calc((100% - 1268px) / 2)` を当てると、負の外余白が親の幅の計算に
   影響して**器が 713.05px に縮む**（差し込みで実測）。器に幅を与えてから中身を置く。

   🚨 **行の箱を 0 にする。**移行元の `h2.main_ttl` は行の箱が 0px で、絵の高さが
   そのまま見出しの高さになる。dev は 42px（字 28px）なので、行内要素の絵の下に
   10px の空きが残る。先例は `.pa-company-band .main_ttl { line-height: 0 }` である。

   🚨 **本文の柱（`section#voice` ほかの 800px）は触らない。**#2309 のユーザー裁定で
   維持と決まっている. */
@media (min-width: 1285px) {
	/* 🚨 **柱に幅を与えてから、中の区画を広げる**（Bug #7972）。下の
	   `margin-inline: calc((100% - 1268px) / 2)` の `100%` は**自分の親の幅**を指す。
	   `.entry-content` は幅が中身で決まる器なので、幅を与えないと割合が自分自身を
	   参照し、`1268 − 2 × 277.469 = 713.05px` に落ち着く（実測）。そうなると
	   `section#voice` と `div.page_topArea` も 713.05px へ引きずられ、**Bug #2309 の
	   ユーザー裁定で維持と決まっている本文の柱 800px が壊れる**。

	   🚨 **これは Bug #7851 で一度踏んだ穴が 1 階層外へ移ったものである。**あのときは
	   `h2.main_ttl` にだけ当てて `section#introduce_top` が 713.05px に縮んだ。
	   「器に幅を与えてから中身を置く」は、**割合の外余白を当てる要素の親に幅が要る**
	   という意味である。

	   🚨 **`--pa-inner-xs`（800px）は本文の柱の値そのものである**（Bug #2309）。
	   ここで広げてはいけない. */
	.archive-content--voice .entry-content {
		width: var(--pa-inner-xs);
	}

	.archive-content--voice .entry-content #introduce_top {
		width: 1268px;
		margin-inline: calc((100% - 1268px) / 2);
	}

	.archive-content--voice .entry-content #introduce_top .main_ttl {
		height: 170px;
		margin-bottom: 0;
		line-height: 0;
	}
}

.archive-content--story {
	max-width: 1100px;

	/* 🚨 **器の上の外余白を 0 にする**（Bug #7719 / Bug #7391 の 8 点目）。

	   共通の器 `.archive-content` は `margin: var(--pa-space-md) auto
	   var(--pa-space-lg)` を持ち、`--pa-space-md` は幅 750px 以上で 60px・
	   幅 749px 以下で 30px である。移行元の同じ位置の器（`section#introduce_top`）は
	   上の外余白を持たない。

	   実測（2026-09-19 19:04・祖先の鎖をブラウザに聞いた値）:

	   | 幅 | 移行元 | dev | 差 |
	   |---|---|---|---|
	   | 1440 | パンくずの下端 167.00 → 見出しの器の上端 167.00 | 192.00 → 252.00 | +60.00 |
	   | 375 | 同上 0 | 同上 30 | +30.00 |

	   `.pa-introduce-top` の `padding-top: 20px` は移行元の 20.00px と一致しており、
	   差の出どころではない。宣言は 1 つなので、幅 1440 の 60px と幅 375 の 30px は
	   これ 1 か所で両方そろう。

	   🚨 **共通の `.archive-content` を書き換えない。**店舗一覧・エリア一覧ほかの
	   一覧ページを巻き込む（この CSS の `.archive-content--branch` の節にも同じ
	   注意書きがある）。**修飾クラスの側で上書きする。**

	   🚨 **記事の詳細には当たらない。**あちらの器は `.single-content--story` で、
	   dev の HTML を数えると一覧 3 画面は `archive-content--story` が 1 件・
	   `single-content--story` が 0 件、記事の詳細はその逆である. */
	margin-top: 0;

	/* サムネイルの縦横比を移行元へそろえる（Task #6683）。
	   移行元の一覧 7 枚は `<img … width="352" height="218">` を 173 枚すべてで
	   宣言しており（パソコン版 138 枚・携帯版 35 枚。2026-09-17 に実測）、比は
	   352 / 218 である。共通の既定（3 / 2 = 352 × 235px）だと**絵が 17px 縦へ
	   伸びる**（実ブラウザで実測: 移行元 218px 対 枝 235px）。
	   詳細ページの関連記事（`.pa-story-related__list`）が既に同じ値へそろえてある
	   ので、それに倣う。トークンの既定値は変えない（ほかの一覧が全部動く）. */
	--pa-archive-thumb-ratio: 352 / 218;
}

/* パソコン幅の札の中の空き 3 か所（Bug #7720・ユーザーの目視 2026-09-19）。

   移行元のカテゴリトップ（`introduce/story/index.html` の `ul.list_box`）と並べると、
   dev の札は 3 か所とも空きが足りず、積み上がって **34.53px 低い**（幅 1440 の実測・
   2026-09-19 20:56。記録は `pa-verify-assets/D3/7720-測定-0919/記録.md`）。

   | # | 場所 | dev | 移行元 | 差 |
   |---|---|---|---|---|
   | 1 | サムネイルの下 | 0 | 6 | −6 |
   | 2 | 題名 → 抜粋 | 10 | 20 | −10 |
   | 3 | 抜粋 → タグ | 0 | 21 | −21 |

   1 の出どころは、移行元の包み（`p`）の中の `img` が**行内要素**で、行の下に字の
   下ばみのぶんが 6px 残ることである。dev は `.pa-archive-card__thumb img` を
   `display: block` にしているのでその 6px が出ない。**`display: block` は戻さない**
   （戻すと絵の下に隙間ができるだけでなく、`aspect-ratio` の効き方も変わる）。
   包みの下外余白で同じ 6px を作る。

   🚨 **サムネイルそのものは直さない。**絵は両側とも 352 × 218 で一致しており、
   角丸・枠・影も同じである（実測）。直すのは空きだけである。

   🚨 **携帯幅は触らない。**幅 375 では札の中の空きが両側で一致している
   （実測。下へ伝わる差はサムネイルの高さの +3.05 だけ）。この節を
   `@media (min-width: 750px)` に閉じてあるのはそのためで、**外へ出さない。**

   🚨 **共通の `.pa-archive-card` を書き換えない。**あれは店舗・ワード解説・
   体験談ほかの一覧が使う。**器の修飾クラスの側で上書きする。**

   🚨 **タグの空きは抜粋の下外余白で作る。**`.pa-archive-card__themes` は
   `margin: auto 0 0` でタグを札のいちばん下へ寄せており、この `auto` を数値へ
   変えると**同じ行の札どうしでタグの高さがそろわなくなる**。移行元は
   `heightLine` で札の高さをそろえているので、`auto` の側を残す。*/
@media (min-width: 750px) {
	.archive-content--story .pa-archive-card__thumb {
		margin-bottom: 6px;
	}

	.archive-content--story .pa-archive-card__title {
		margin-bottom: 20px;
	}

	.archive-content--story .pa-archive-card__excerpt {
		margin-bottom: 21px;
	}

	/* 🚨 **タグの札の行の高さ（Bug #7720）。**移行元の `span.tag_label` は
	   **行内要素**なので、地色の塗られる高さが「字の高さ ＋ 内余白」の
	   11 ＋ 3 × 2 = **17px** になる。dev の `.pa-archive-card__theme` は
	   格子の升目（`li`）なので行の箱がそのまま高さになり、テーマ既定の
	   `line-height: 1.4` だと 11 × 1.4 ＋ 6 = **21.39px** で 4.39px 高い。

	   `line-height: normal` では**直らない**。dev の書体の `normal` は
	   11px に対して 17px の行の箱を作るので、**23px になってかえって広がる**
	   （差し込みで実測・2026-09-19 21:39）。字の高さと同じ 1 にして 17px へそろえる。

	   🚨 **折り返しは増えない。**差し込みで 3 画面の先頭 8 枚ぶん（タグ 6 個と
	   16 個 × 2）を数え、**2 行になった札は 0 個**だった（2026-09-19 21:40）。*/
	.archive-content--story .pa-archive-card__theme {
		line-height: 1;
	}

	/* 🚨 **札の下の内余白（Bug #7720）。**移行元は上 20px・下 22px で**上下が違う**
	   （実測: サムネイルの下端 224 → 巻数の上端 244 が 20、タグの下端 478 →
	   札の下端 500 が 22）。dev の `--pa-archive-card-padding` は四辺に効くので、
	   **あれを 22 にすると上まで動いて札が 2px 余計に伸びる**（差し込みで実測）。
	   下だけを足す。*/
	.archive-content--story .pa-archive-card__body {
		padding-bottom: 22px;
	}
}

/* 携帯幅の成婚ストーリーの一覧は、移行元が別のミラー
   （legacy/www.p-a.jp/public/sp/introduce/story/）で作っている。そちらの値へ寄せる
   （Task #6683・ユーザー決定 D329 の実ブラウザの確認で見つけた 3 点）。

   🚨 **テーマ既定の携帯幅の値は移行元のワード解説のスマホ版から採ったもの**
   （`sp/word/css/style.css` の `.list_box`）で、成婚ストーリーのスマホ版とは違う。
   一覧の器の修飾クラスの側で上書きし、ほかの一覧は動かさない. */
@media (max-width: 749px) {
	.archive-content--story {
		/* 柱の左右は 6.25%。写し元は `sp/introduce/story/css/style.css` の
		   `#story .box`（`padding: 25px 6.25% 32px`）で、サイト共通の
		   `sp/css/style.css` の `#main_contents`（`padding: 0 6.25%`）と同じ値である。
		   テーマ既定の 15px だと**カードが 17px 広く、左端が 8px 外へ出る**
		   （実ブラウザで実測: 枝 345px / 左 15px 対 移行元 328px / 左 23px）. */
		padding: 0 6.25%;

		/* 題名 14px・要約 12px。写し元は同ファイルの
		   `.list_box li .list_detail span.ttl`（14px・700・145%）と
		   `span.text`（12px・166%）である。行の高さはテーマの既定
		   （1.45 / 1.66）が同値なので書かない. */
		--pa-archive-title-size: 14px;
		--pa-archive-text-size: 12px;
	}

	/* カードの内余白は移行元が `15px 3.125%` である（同ファイルの
	   `.list_box li .list_detail`）. */
	.archive-content--story .pa-archive-card__body {
		padding: 15px 3.125%;
	}

	/* 🚨 **移行元スマホ版は絵の実寸の比を使う。**サイト共通の
	   `sp/css/common.css` に `img { width: 100%; height: auto; }` が在るため、
	   `<img>` の属性（352 × 218）は効かない。実測でも絵の高さが **203px と 206px の
	   2 通り**出る（サムネイルの実寸が 630 × 396 の 101 件と 704 × 436 の 2 件で、
	   前者が 206px・後者が 203px になる）。パソコン版は属性どおり 218px の 1 通りで、
	   そちらは上の `--pa-archive-thumb-ratio: 352 / 218` で合う。

	   **実寸の比が使えるのは `aspect-ratio: auto` だが、それは採らない。**
	   一覧の 4 枚目から後ろは WordPress が `loading="lazy"` を付けるため、比の指定を
	   外すと**絵の箱が 1,500px まで伸びてページが 4 倍の高さになる**（実ブラウザで
	   実測: `kodawari` の携帯幅が 16,016px から 53,629px へ）。

	   そこで**多数派の実寸の比**（630 / 396 = 101 件）を書く。これで 101 件が 206px で
	   移行元と一致し、残る 2 件だけが 3px 高くなる（`object-fit: cover` が余りを
	   切り落とす）。比の指定を外していたときは**逆に 101 件が 3px 食い違っていた**. */
	.archive-content--story {
		--pa-archive-thumb-ratio: 630 / 396;
	}

	/* 🚨 **話数は移行元スマホ版では地色も地の絵も持たない金色の文字である**
	   （同ファイルの `span.num`。色 #a3762b・14px・下の余白 8px）。パソコン版だけが
	   白抜きの金のバッジである。詳細ページの関連記事が同じ直しを採っている。

	   `background` のまとめ書きで消す。素の節は地色だけを持つので `background-color`
	   でも足りるが、あとで地の絵を足したときに消え残るのを防ぐ（Bug #5020 の型）. */
	.archive-content--story .pa-archive-card__volume {
		margin-bottom: 8px;
		padding: 0;
		background: none;
		color: var(--pa-palette-gold);
		font-size: 14px;
	}

	/* 🚨 **要約の下に 10px の外余白が要る**（Bug #7309）。写し元は移行元スマホ版
	   `sp/introduce/story/css/style.css` の `.list_box li .list_detail span.text`
	   （`margin-bottom: 10px`）である。テーマの素の `.pa-archive-card__excerpt` は
	   外余白を持たないため、**まとまりの札が 10px ぶん上に詰まっていた**。

	   実測（2026-09-19 09:35・幅 375px）では、札 6 枚の本文の器が移行元 180.06px に対し
	   dev 163.41px で、差の 16.65px の内訳がこの 10.05px と、下の札の 6.61px だった. */
	.archive-content--story .pa-archive-card__excerpt {
		margin-bottom: 10px;
	}

	/* 🚨 **まとまりの札は行送りを既定に戻し、下に 5px の外余白を置く**（Bug #7309）。
	   写し元は同ファイルの `#story .tag_label`（`margin: 0 5px 5px 0`・行送りの指定なし）
	   である。テーマの素の `.pa-archive-card__theme` は `line-height: 1.4` を持つので、
	   11px の札が **23px ではなく 21.4px** になっていた（差 1.61px）。

	   🚨 **`gap` では最後の行の下に空きが出ない。**移行元は札 1 枚ずつが下外余白を持つ
	   ので、札が 1 行でも下に 5px 残る。ここは札の側へ外余白を置き、器の `gap` は
	   横の間隔（5px）だけを受け持たせる。**縦の間隔が二重にならないよう、器の `gap` を
	   横だけの指定へ絞る**（`gap: 5px` は縦横の両方に効くため）. */
	.archive-content--story .pa-archive-card__themes {
		gap: 0 5px;
	}

	.archive-content--story .pa-archive-card__theme {
		margin-bottom: 5px;
		line-height: normal;
	}

	/* 🚨 **移行元スマホ版のタブ帯は下の内余白を持たない。**実測（2026-09-17・幅 375px）で
	   移行元の帯は 328.1 × 201.8px、枝は 233.8px だった。差の 32px は共有の規則
	   （`assets/introduce-voice-story/css/story.css`）の `padding: 0 6.25vw 32px` で、
	   あれは**投入本文の器（`#story`）の下の内余白を写した値**である。一覧の器
	   （`.archive-content--story`）は自分の下外余白を持つので、そのままでは二重になる。

	   🚨 **共有の規則の値は触らない**（統括判断・当たり先を足すだけ）。ここで打ち消す。
	   当たり先を一覧の器で絞ってあるので、投入本文の帯には当たらない. */
	.archive-content--story .pa-story-theme-tabs {
		padding-bottom: 0;
	}

	/* ==========================================================
	   会員紹介の帯と、その下の「会員紹介MENU」（Bug #7391）

	   一覧 7 ページの先頭は、投入した本文ではなく型紙の部品
	   （`template-parts/story-archive-intro.php`）が `.pa-introduce-top` で出す。
	   **この当たり先は携帯幅の規則を 1 本も持っていなかった**（`main.css` の
	   `pa-introduce-top` は 26 本あり、`@media (max-width: 749px)` の中は 0 本）。

	   写し元は移行元スマホ版の組みで、値はすでに
	   `assets/introduce-voice-story/css/story.css` の
	   `.single-content--story .entry-content #introduce_top …` に写してある。
	   **あちらは触らない。**あの規則は投入本文の器（`#story`）を名指ししており、
	   一覧の新しい markup には当たらないためである（当たり先を足すだけ）.
	   ========================================================== */

	/* 🚨 **帯は画面の端まで伸ばす。**囲み `.archive-content--story` が上で
	   `padding: 0 6.25%` を持つので、そのままだと幅 375 のとき
	   375 − 375 × 0.0625 × 2 = 328.125px になる（2026-09-18 19:31 の実測で
	   「幅約 327」と出た値）。移行元スマホ版の帯は 375px の全幅である。

	   逃がし方は story.css の `#introduce_top h2` と同じ式にそろえる.  */
	.archive-content--story .pa-introduce-top__band {
		width: min(1100px, 100vw);
		margin-inline: calc(50% - min(550px, 50vw));
		margin-bottom: 25px;
	}

	/* 🚨 **絵を携帯版のものへ差し替える。**移行元は版で別のファイルを出しており、
	   パソコン版が `images/ttl_introduce.jpg`（1100 × 180）、
	   スマホ版が `sp/images/ttl_introduce.png` である。パソコン版の絵を 328px へ
	   縮めると高さが約 54px にしかならない（移行元スマホ版は約 120px）。

	   差し替えは `content` で行う。写し元の story.css が同じ書き方をしており、
	   `<img>` の `src` を型紙で出し分けると**パソコン幅でも携帯版の絵になる**. */
	.archive-content--story .pa-introduce-top__band img {
		content: url("../images/ttl_introduce_sp.png?ver=1ec066429c1a");
		display: block;
		width: 100%;
		height: auto;
	}

	/* 「会員紹介MENU」の枠線の箱。移行元スマホ版は画面の左右 6.25% の内側に
	   箱を置く。囲みの内余白をいったん打ち消してから、箱の側で 6.25% を取り直す。
	   式は story.css の `#introduce_top:has(.introduce_nav--open)` と同じである
	   （`-100% / 14` は 6.25% を内余白の入った幅から逆算した値）. */
	.archive-content--story .pa-introduce-top:has(.introduce_nav--open) {
		width: auto;
		margin-inline: calc(-100% / 14);
		padding-top: 0;
		/* 🚨 **下の外余白を移行元の空きにそろえる**（Bug #8367）。移行元スマホ版は MENU の
		   すぐ下の `#story` が上の内余白 25px を持ち、その下に題名の器が来る。dev は共通の
		   `.pa-introduce-top { margin: 0 auto 80px }` が残り、一覧の器の行の間隔 18px と足して
		   MENU の下が 98px 空いていた（移行元 25px）。行の間隔を引いた形で書く. */
		margin-bottom: calc(25px - var(--pa-archive-gap));
	}

	.archive-content--story .pa-introduce-top .introduce_nav--open {
		width: auto;
		margin-top: 0;
		margin-inline: 6.25%;
	}

	.archive-content--story .pa-introduce-top .introduce_nav.introduce_nav--open {
		box-sizing: content-box;
		width: 87.5%;
	}
}

/* --- 成婚ストーリー一覧の、カードの並びの上に出す見出し --- */

/* 写し元は移行元 legacy/www.p-a.jp/public/css/page_introduce.css の 233〜239 行
   `#story .story_inner .archive_ttl` である。金の明朝 30px・左寄せで、行の高さは
   文字の大きさと同じ（移行元の line-height: 100% を 1 と書き直している）。
   色の #a3762b は --pa-palette-gold と同値なので、実値ではなくトークンで書く。
   太さは 700 にする。移行元の CSS は font-weight を書いていないが、この見出しは h3 なので
   閲覧環境の既定で太字になる。稼働中の /introduce/story/ を測ると実際に 700 だった。
   狭い幅の指定は、移行元がスマートフォンを別のミラー（sp/introduce/story/）で
   作っているため、そちらから別に写す。下の max-width: 749px の区画を参照。

   下の余白は移行元の 30px をそのまま書かない。この見出しは格子（.archive-content）の
   要素なので、次のカードとの間には格子の行間（--pa-archive-gap・広い幅 22px）が
   必ず入る。格子の要素どうしの余白は重ならないため、30px と書くと実際は 52px 空く。
   そこで格子の行間を差し引いた値を書き、合計が移行元と同じ 30px になるようにする. */
.pa-story-archive__title {
	margin: 0 0 calc(30px - var(--pa-archive-gap));
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	text-align: left;
}

/* 「すべての記事を見る」の押しボタン。移行元 page_introduce.css の 259 行
   `#story .btn_all_story { margin: 20px 0 60px; }` を写す。

   稼働中の /introduce/story/ を 1440px で測った値を土台にしている（2026-08-12）。
     - 札の下端 → 押しボタンの上端: 42px（内訳 = 札の下余白 22px + 上の 20px）
     - 押しボタンの下端 → 次の導線（.btnWire）の上端: 60px
     - 画像 352x48 は囲み 1100px の中央（左端 x=544。囲みの左端 170 + 374）

   **上の余白は差し引かない。** 移行元も札の下に 22px を持っており、dev では
   その 22px を格子の行間（--pa-archive-gap）が肩代わりしている。合計は
   22 + 20 = 42px で移行元と一致する。

   **下の余白だけ差し引く。** 移行元は押しボタンと次の導線の間に 60px しか無いが、
   dev では格子の行間が必ず入るため、そのまま 60px と書くと 82px になる。

   移行元は画像を中央に置く（計算後の text-align が center。実測で確かめた）。

   狭い幅について: 移行元はスマートフォンを別のミラー（sp/introduce/story/）で
   作っており、そちらは別の画像（images/btn_all_list.jpg・560x80）を使う。
   画像の差し替えは Bug #1755 の受入基準（広い幅 1440px での位置）の外なので
   ここでは行わず、画像が囲みからはみ出さないようにだけしてある. */
.pa-story-archive__all {
	margin: 20px 0 calc(60px - var(--pa-archive-gap));
	text-align: center;
}

.pa-story-archive__all img {
	max-width: 100%;
	height: auto;
}

/* --- 携帯幅でだけ見せる 4〜6 枚目の札（Bug #7283）--- */

/* 🚨 **移行元は幅で枚数が違う。パソコン版は 3 枚、スマホ版は 6 枚である。**
   PHP は画面の幅を知らないので、`inc/story-archive-query.php` が 6 件を取ってきて
   4 枚目から後ろに `pa-story-card--sp-only` を付ける。**この節が無いとパソコン幅でも
   6 枚に見える。**

   写し元は `assets/introduce-voice-story/css/story.css` の同じ名前の節（Task #3144）
   だが、**あちらの規則はこのページに当たらない。**前置きが
   `.single-content--story .entry-content #story .list_box > …` で、投入した本文を
   そのまま出す画面のためのものである。この投稿タイプアーカイブは
   [Pull Request #6778](https://github.com/mationinc/wp-platform/pull/6778) 以後
   `archive-story.php` が投稿のループから札を組み立てており、器も札も類名が違う
   （器 `.archive-content--story`・札 `article.pa-archive-card`）。
   そのうえ `story.css` はこのページで読み込まれない（`inc/introduce-voice-story.php`
   の門を通り抜ける）ので、**規則は `main.css` の側に要る。**

   🚨 **`display: none` で隠す。**高さや透明度で隠すと、格子の行間
   （`--pa-archive-gap`）が残って下の「すべての記事を見る」の位置がずれる. */
@media (min-width: 750px) {
	.archive-content--story .pa-story-card--sp-only {
		display: none;
	}
}

/* --- 成婚ストーリー一覧の「成婚のポイントで選ぶ」--- */

/* 🚨 **移行元は画面いっぱいの帯である。**写し元は `css/style.css` の `.grid_box`
   （下地に `images/research/bg_list.gif` を敷き詰め・内側 55px 0 70px・上に境界線）と
   `css/page_introduce.css` の `#story .grid_box`（下の内側 10px・境界線なし）である。
   移行元の `#story` は幅 100% なので、この帯は柱（1,100px）の外へ広がる。

   dev では囲みが柱の中の格子の 1 マスなので、左右の外余白を負にして画面幅まで
   広げ、同じだけ内側の余白を足して中身を柱の幅へ戻す。**一括指定の `margin` /
   `padding` は使わない**（全幅の指定を打ち消して右へはみ出すため）。

   `%` は親（＝柱、幅 1,100px）を基準に解ける。`50% - 50vw` は幅 1440px の画面で
   550 - 720 = -170px になり、柱の左端（170px）をちょうど画面の左端へ戻す. */
.pa-story-categories {
	margin-block: 0;
	margin-inline: calc(50% - 50vw);
	padding-block: 55px 10px;
	padding-inline: calc(50vw - 50%);
	background-image: url(../images/research/bg_list.gif?ver=882b13c3e39e);
	background-repeat: repeat;
}

/* 移行元の `.grid_box .detail_body` は幅 1,100px・中央寄せ・下外余白 25px で、
   行内の `style="background:none;"` が下地を消している（帯の下地が透ける）。
   dev はこの囲みの中身（見出しと 5 枚）へ同じ幅と下余白を与える. */
.pa-story-categories__title,
.pa-story-categories__list {
	max-width: 1100px;
	margin-inline: auto;
}

@media (max-width: 749px) {
	/* 🚨 **携帯幅にも画面いっぱいの帯が在る。**写し元は
	   `sp/introduce/story/css/style.css` の `#story .box.grid`
	   （下地に `images/bg_grid.jpg` を敷き詰め・内側 25px 6.25% 8px）である。
	   すぐ上の `#story .box`（内側 25px 6.25% 32px）には下地の指定が無いが、
	   この区画に当たるのは後ろの `.box.grid` のほうで、そちらが下地と下内余白を
	   上書きする。**`#story .box` だけを読んで「帯は無い」と書いたのが
	   [PR #7141](https://github.com/mationinc/wp-platform/pull/7141) の誤りで、
	   ここはその訂正である**（Bug #6924 の 3 番の残り）。

	   実測（2026-09-18・幅 375px）では移行元の囲みが x 0・幅 375・下地 `bg_grid.jpg`、
	   dev が x 23.44・幅 328.13・下地なしだった。

	   全幅へ広げる書き方はパソコン幅と同じでよい。`%` は親の内容の幅（＝ 328.13px）を
	   基準に解けるので、`50% - 50vw` は 164.06 - 187.5 = -23.44px となり、ちょうど
	   画面の左端へ戻る。戻した内側の余白 23.44px は移行元の 6.25%（375 × 0.0625）と
	   同じ値である。上下の内余白だけを移行元の 25px / 8px へ差し替える. */
	.pa-story-categories {
		padding-block: 25px 8px;
		background-image: url(../images/introduce/story/sp/bg_grid.jpg?ver=84c99b27c9bc);
	}
}

/* 写し元は移行元 css/page_introduce.css の 274〜278 行
   `#story .detail_body .archive_ttl`。同じ .archive_ttl が同じページに 2 つあり、
   上の一覧見出しは金、この下部見出しは黒で、当たる規則が違う（詳細は Issue #1757）。
   line-height は 100% のまま書く。1 に直すと span へ倍率で伝わり箱が 3px 縮む. */
.pa-story-categories__title {
	margin: 0 0 30px;
	color: var(--pa-palette-ink-legacy);
	font-family: var(--pa-font-family-serif);
	font-size: 30px;
	font-weight: 700;
	line-height: 100%;
	text-align: left;
}

.pa-story-categories__title span {
	font-size: 20px;
}

/* 移行元は 3 列固定である。写し元は `css/page_introduce.css` の
   `#story .box_point`（幅 352px・外余白 0 22px 22px 0）で、柱 1,100px に
   352 × 3 + 22 × 2 = 1,100 でちょうど収まる。以前は狭い幅で折り返す
   `auto-fill` にしていたが、移行元と列の数が変わるので実寸の 3 列へ戻した
   （Bug #6924 の 3 番）。携帯幅は下の節が 1 列へ落とす. */
/* 🚨 **`gap` だけでは末尾の 22px が出ない。**移行元の `#story .box_point` は
   `margin: 0 22px 22px 0` で、**1 枚ずつの箱が下外余白を持つ**。だから最後の行にも
   22px が残る。`gap` は行と行のあいだにしか入らないので、そのぶんを下の内余白で
   足す。**箱そのものには足さない**（箱の高さは 168px で移行元と一致しており、
   動かしてはいけない）。

   実測（2026-09-18 11:54・幅 1440px）では、箱の並びが移行元 380（168 ＋ 22 ＋ 168 ＋ 22）・
   dev 358（168 ＋ 22 ＋ 168）で、帯の高さが 533 対 511 だった。見出しは両側 33px で
   1px も違わない（Bug #7241）. */
.pa-story-categories__list {
	display: grid;
	grid-template-columns: repeat(3, 352px);
	gap: 22px;
	margin-block: 0 25px;
	padding-block: 0 22px;
	padding-inline: 0;
	list-style: none;
}

/* 🚨 **移行元の 5 枚は白い箱ではない。**写し元は `css/page_introduce.css` の
   `#story .box_point`（下地に `images/introduce/story/bg_dot.jpg` を敷き詰め）と
   `#story .box_point_inner`（右端中央に `arrow.png`・内側 20px・幅 312px）である。
   移行元は箱（`.box_point`）と中身（`.box_point_inner`）の 2 枚組みだが、dev の
   markup は `li > a` の 2 枚なので、外側の `li` に敷き詰めの下地を、内側の `a` に
   矢印と内側の余白を持たせる。352 = 312 + 20 × 2 で幅が一致する. */
.pa-story-categories__item {
	margin: 0;
	background-image: url(../images/introduce/story/bg_dot.jpg?ver=30df7dd5dd26);
	background-repeat: repeat;
}

.pa-story-categories__link {
	display: block;
	height: 100%;
	box-sizing: border-box;
	padding: 20px;
	background-image: url(../images/introduce/story/arrow.png?ver=17cb037a5b54);
	background-repeat: no-repeat;
	background-position: right center;
	color: #fff;
	text-decoration: none;
}

/* 移行元の `:hover` は `#story .box_point a:hover` の `opacity: 0.5` だけで、
   下地の色は変わらない. */
.pa-story-categories__link:hover,
.pa-story-categories__link:focus-visible {
	opacity: 0.5;
}

/* 移行元の `#story .box_point_inner dl` は幅 267px・白文字である。312 - 267 = 45px
   が右端の矢印のための余白になる。dev は `a` の中に見出しと説明文を直に置くので、
   同じ余白を右の内側の余白として持たせる. */
.pa-story-categories__heading,
.pa-story-categories__text {
	box-sizing: border-box;
	width: 267px;
	color: #fff;
}

/* 写し元は `#story .box_point_inner dt`（下端に `line.png`・下外余白 10px・
   下内余白 12px・字 22px・行の高さ 100%）と `dt h4`（太さは並）である. */
.pa-story-categories__heading {
	margin: 0 0 10px;
	padding: 0 0 12px;
	background-image: url(../images/introduce/story/line.png?ver=ad7c0186917d);
	background-repeat: no-repeat;
	background-position: left bottom;
	font-family: var(--pa-font-family-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 100%;
}

/* 写し元は `#story .box_point_inner dd`（外余白 0・内余白 0・字 14px）。
   🚨 **行の高さを書かない。**移行元のこの `dd` には `line-height` の宣言が無く、
   祖先（`.box_point_inner` / `.box_point` / `#story` / `body`）にも無いので、
   閲覧環境の既定（`normal`）で描かれる。テーマの土台は `--pa-line-height-text`
   （1.8）を与えるため、そのままだと箱が縦に伸びる。実測（2026-09-18・幅 1440px）
   では移行元の箱が 168px、dev が 184.75px で、5 枚とも +16.75px だった。内訳は
   内余白 20 × 2 ＋ 見出し 34 ＋ 見出しの下外余白 10 を引いた説明文の 84 対 100.75 で、
   100.75 ≒ 14 × 1.8 × 4 行、84 ＝ 14 × 1.5 × 4 行である（Bug #6924 の 3 番の残り）. */
.pa-story-categories__text {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: normal;
}

@media (max-width: 749px) {
	/* 携帯幅の写し元は `sp/introduce/story/css/style.css` である。
	   `.point_box` は 1 列に積み（下外余白 15px）、下地は `bg_num.jpg`、内側は
	   10px と左右 3.571%。矢印は `dl` の側に 9 × 14px で右端中央へ置き、
	   右の内側の余白 10% を空ける。見出しは 18px で下線の絵を幅いっぱいに伸ばし、
	   説明文は 9px である. */
	/* 🚨 **携帯幅も同じ形である。**移行元の `#story .box.grid .point_box` は
	   `margin: 0 0 15px` で、**最後の 1 枚にも下外余白 15px を残す**。実測
	   （2026-09-18 11:54・幅 375px）では、箱の並びが移行元 497.95・dev 482.97 で
	   15px 足りなかった（Bug #7241）. */
	.pa-story-categories__list {
		grid-template-columns: 1fr;
		gap: 15px;
		margin-bottom: 0;
		padding-bottom: 15px;
	}

	.pa-story-categories__item {
		background-image: url(../images/introduce/story/sp/bg_num.jpg?ver=b5626b7e822b);
	}

	/* 矢印は移行元では `dl`（見出しと説明文をまとめた囲み）の右端中央に在る。
	   dev の `a` は左右に 3.571% の内側の余白を持つので、`background-origin` を
	   内側の箱にして、移行元の `dl` と同じ右端へ置く. */
	.pa-story-categories__link {
		padding: 10px 3.571%;
		background-image: url(../images/introduce/story/sp/arrow.png?ver=10ed3c26b17f);
		background-position: right center;
		background-size: 9px 14px;
		background-origin: content-box;
	}

	/* 移行元の `dl` は右側に 10% の内側の余白を空けて矢印の場所を作る。dev は
	   見出しと説明文へ同じだけの外余白を与える（下線の絵の幅を 10% 分だけ
	   縮めるため、内側の余白ではなく外余白にする）. */
	.pa-story-categories__heading,
	.pa-story-categories__text {
		width: auto;
		margin-right: 10%;
	}

	/* 🚨 **ここでも行の高さを既定へ戻す。**写し元の
	   `#story .box.grid .point_box dt` にも `line-height` の宣言が無い。パソコン幅の
	   `.pa-story-categories__heading` が書く `line-height: 100%` は携帯幅でも効くので、
	   打ち消さないと見出しが縮む。実測（2026-09-18・幅 375px）では移行元の見出しが
	   35px（18 × 1.5 ＋ 下内余白 8）、dev が 26px（18 × 1 ＋ 8）だった. */
	.pa-story-categories__heading {
		margin-bottom: 8px;
		padding: 0 0 8px;
		background-image: url(../images/introduce/story/sp/line.png?ver=ca39a9250a8a);
		background-size: 100% auto;
		font-size: 18px;
		line-height: normal;
	}

	/*
	 * 🚨 **行の高さは `120%` である。**移行元の携帯版は、点の箱の道すじに当たる規則を
	 * 11 本持つ。そのうち総称の `#story dd`（`float:right; margin:0;
	 * padding:0 4.642% 0 0; width:58.928%; line-height:120%`）の `line-height` だけが、
	 * 詳しいほうの `#story .box.grid .point_box dd` に上書きされず残る。9 × 1.2 =
	 * 10.8px になる。
	 *
	 * パソコン幅の `.pa-story-categories__text` が書く `line-height: normal`（9px の
	 * 字で約 14px）は携帯幅でも効くので、ここで打ち消さないと 2 行ぶんで 6.41px
	 * 伸びる。実測（2026-09-18 10:34・幅 375px）では移行元の箱が 84.59px、dev が
	 * 91px だった（Bug #7239 の 1 番）.
	 */
	.pa-story-categories__text {
		margin-bottom: 0;
		font-size: 9px;
		line-height: 120%;
	}
}

/* 成婚ストーリーの入口 `/introduce/story/` の下の関連リンク 3 本（Task #7399）。

   写し元は移行元 `css/style.css` の `.txtBtn_gray01`（横並び・中央寄せ・上下の外余白
   30px）と `.txtBtn_gray01 a`（下地 #bbb・白字・内側 5px 30px・字 13px・左外余白 5px）、
   `.txtBtn_gray01 a:before`（1 辺 5px の正方形の右と下を白 1px で引き -45 度回す）で
   ある。移行元は 3 本とも左外余白 5px を持つので、1 本目も同じにそろえる。

   🚨 **この区画は入口 1 ページだけに出る。**話のまとまりの一覧 5 枚と「すべての記事」は
   移行元も持たない。出す・出さないの決まりは型紙の側（`archive-story.php` からだけ
   `template-parts/story-archive-related.php` を呼ぶ）が持つ. */
.pa-story-archive__related {
	display: flex;
	justify-content: center;
	margin: 30px auto;
	text-align: center;
}

.pa-story-archive__related-link {
	position: relative;
	margin-left: 5px;
	padding: 5px 30px;
	background-color: #bbb;
	color: var(--pa-palette-white);
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.pa-story-archive__related-link::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 12px;
	width: 5px;
	height: 5px;
	border: solid var(--pa-palette-white);
	border-width: 0 1px 1px 0;
	transform: rotate(-45deg);
}

@media (max-width: 749px) {
	/* 携帯幅は移行元が別のミラーで作っており、**横並びではなく縦積みである**。
	   写し元は `sp/css/style.css` の `.txtBtn_gray01 a`（塊で出す・左そろえ・
	   内側 5px 20px 5px 10px・字 11px・下外余白 4px）と `.txtBtn_gray01 a:before`
	   （位置だけ上 10px・右 10px へ変わる）、囲みの側は
	   `sp/introduce/story/css/style.css` の `#story .box`（内側 25px 6.25% 32px）である。
	   パソコン幅で足した横並びと中央そろえ・左外余白を打ち消す。

	   🚨 **左右の内余白（6.25%）はここでは足さない。**移行元の帯は画面幅 375px の
	   中身が 328.13px で、dev の一覧の器（`.archive-content`）の中身も同じ 328.13px
	   である（`.pa-story-categories` の携帯幅の節の実測）。足すと二重にかかる。
	   上下の 25px / 32px だけを写す。

	   🚨 **字間と行の高さを素へ戻す。**移行元スマホ版のこのリンクは
	   `letter-spacing` も `line-height` も持たない。テーマ共通の `0.04em` が当たると
	   同じ文言が横に広がり、行の高さが当たると 27px の箱が伸びる。詳細ページ側の
	   同じ区画（`assets/introduce-voice-story/css/story.css`）が Issue #3095 の実測で
	   先に同じ 2 つを戻しており、その値をそのまま写した. */
	.pa-story-archive__related {
		display: block;
		margin: 0;
		padding-block: 25px 32px;
		text-align: left;
	}

	.pa-story-archive__related-link {
		display: block;
		margin: 0 0 4px;
		padding: 5px 20px 5px 10px;
		font-size: 11px;
		letter-spacing: normal;
		line-height: normal;
		text-align: left;
	}

	.pa-story-archive__related-link::before {
		top: 10px;
		right: 10px;
	}
}


@media (max-width: 749px) {
	/* 一覧の見出しの、狭い幅の見え方。移行元はスマートフォンを別のミラーで作って
	   おり、写し元は sp/introduce/story/css/style.css の 41〜45 行
	   `#story .corner_ttl` である（下余白 25px・文字 20px・行の高さは文字と同じ）。
	   ミラーはこの見出しに色を指定しておらず、土台の css/basic.css にも html と body
	   への色の指定が無いため、閲覧環境の既定の文字色である黒で描かれる。稼働中の
	   /sp/introduce/story/ を携帯電話の閲覧環境で測ると rgb(0, 0, 0) だった
	   （2026-08-17 実測）。

	   【本文の色トークンを継がせないこと】--pa-color-text の実体は --pa-palette-ink
	   （#474747）で、黒ではない。この見出しは一覧の格子（.archive-content）の中に
	   あり、--pa-color-text を #000 へ上書きしている .entry-content とも
	   .page-content__body とも別の場所なので、トークンのままだと #474747 で描かれる。
	   そこで移行元の黒に当たる --pa-palette-ink-legacy を直に指す。すぐ下の
	   .pa-story-categories__title（移行元も黒）と同じ書き方である（Bug #1872）。

	   金（--pa-palette-gold）のままにしない理由も残しておく。20px の細字では下地の
	   白との明暗の差が 4.05 対 1 にとどまり、読みやすさの目安 4.5 対 1 を下回る
	   （main.css の 1810 行付近に、金は小さい文字には足りないと既に書いてある）。
	   移行元の黒へ揃えれば、この目安も満たす。

	   文字は広い画面用の「成婚ストーリー一覧」のままにする。ミラーの見出しも同じ
	   「成婚ストーリー一覧」である（sp/introduce/story/index.html の 52 行目。
	   「新着リスト」と書いてあるのは同じ場所の使われていない控え -index.html の方で、
	   稼働中のミラーには出ない）。
	   下の余白も、広い幅と同じ理由で格子の行間（狭い幅は 18px）を差し引く。

	   太さは 400（細字）にする。この見出しは h2 なので閲覧環境の既定では太字になるが、
	   移行元のスマートフォン用ミラーが読む土台 sp/css/basic.css の 3〜23 行が
	   h1〜h6 へ font-weight: normal を当てており、区画側の #story .corner_ttl
	   （sp/introduce/story/css/style.css の 41〜45 行）は太さを指定し直していない。
	   打ち消す規則が他に無いため、移行元の実効値は 400 になる（Bug #1907）。
	   広い幅の 700（main.css 18684 行の基準規則）はこの中で変えない.

	   行送りは `100%` にする（Bug #7391 の #5・#6 の高さ）。移行元の
	   `#story .corner_ttl` / `.corner_ttl2`（sp/introduce/story/css/style.css の 41〜56 行）は
	   `line-height: 100%` で、計算済みの 20px が中の字へ受け継がれる。まとまり 5 枚では
	   中の「の記事一覧」（17px の span）も 20px の行送りでベースラインにそろうので、
	   行の箱が 20px ではなく 22px（2 行なら 44px）になる。基準規則の `line-height: 1`
	   （数値）のままだと、span は自分の字の大きさ × 1 の 17px で組まれ、2px ずつ低くなる. */
	.pa-story-archive__title {
		margin-bottom: calc(25px - var(--pa-archive-gap));
		color: var(--pa-palette-ink-legacy);
		font-size: 20px;
		font-weight: 400;
		line-height: 100%;
	}

	/* 🚨 **まとまり 5 枚と「すべての記事」の見出しは金茶色である**（Bug #7391 の #5・#6）。
	   移行元スマホ版は見出しの類名を 2 つに分けている
	   （`legacy/www.p-a.jp/public/sp/introduce/story/css/style.css` の 41〜56 行）。

	     `#story .corner_ttl`   … 一覧ページの「成婚ストーリー一覧」。**色を持たない**（黒）
	     `#story .corner_ttl2`  … まとまりと「すべての記事」。**`color: #a3762b`**

	   dev は 3 ページとも同じ類名（`.pa-story-archive__title`）で出しているので、
	   囲みの修飾クラスで分ける。`--pa-palette-gold` は #a3762b と同値である。
	   **一覧ページは上の黒のままで正しい**（移行元も色を持たない）. */
	:is(.archive-content--story-theme, .archive-content--story-all) .pa-story-archive__title {
		color: var(--pa-palette-gold);
	}

	/* 「の記事一覧」の部分だけ黒 17px（同ファイルの `#story .corner_ttl2 span`）。

	   🚨 **「すべての記事」には当てない。**あちらは携帯版の字そのものが
	   `.pa-legacy-sp-only` の中に在り（`template-parts/story-list-heading.php` の 40 行）、
	   移行元では見出し全体が金茶色である。当てると金茶色が黒に戻る. */
	.archive-content--story-theme .pa-story-archive__title .pa-legacy-sp-only {
		color: var(--pa-palette-ink-legacy);
		font-size: 17px;
	}

	/* 写し元は sp/introduce/story/css/style.css の 41〜45 行
	   `#story .corner_ttl { margin-bottom:25px; font-size:20px; line-height:100% }`。
	   広い幅の 30px を継がせないために別に書く。

	   🚨 **携帯幅の移行元にこの見出しの `span` は無い。**移行元はパソコン版だけ
	   `<h3 class="archive_ttl serif">成婚のポイント<span>で選ぶ</span></h3>` と組み、
	   携帯版は `<h3 class="corner_ttl serif">成婚のポイントで選ぶ</h3>` で**丸ごと
	   20px** である。dev の組みは 1 つなので `span` は残るが、大きさを継がせて
	   区別を消す。実測（2026-09-18 11:54・幅 375px）では移行元の見出しが 20px・
	   高さ 20、dev が 22px・高さ 24 だった（Bug #7241）. */
	.pa-story-categories__title {
		margin-bottom: 25px;
		font-size: 20px;
	}

	.pa-story-categories__title span {
		font-size: inherit;
	}
}

/* --- 一覧共通の下部 --- */

.pa-archive-bottom {
	display: grid;
	gap: var(--pa-space-md);
	width: var(--pa-inner-ratio);
	max-width: var(--pa-inner-ex);
	margin: 0 auto var(--pa-space-lg);
}

.pa-archive-bottom__section {
	margin: 0;
}

.pa-archive-bottom__heading {
	margin: 0 0 16px;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: var(--pa-font-size-heading);
	font-weight: 400;
	line-height: var(--pa-line-height-heading);
	text-align: center;
}

/* 関連コンテンツ. */

.pa-related-content__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-related-content__item {
	margin: 0;
}

.pa-related-content__link {
	display: block;
	height: 100%;
	box-sizing: border-box;
	padding: 20px;
	background-color: var(--pa-color-surface-muted);
	color: var(--pa-color-text);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.pa-related-content__link:hover,
.pa-related-content__link:focus-visible {
	background-color: var(--pa-color-notice-bg);
}

.pa-related-content__heading {
	margin: 0 0 8px;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
}

.pa-related-content__text {
	margin: 0;
	font-size: 14px;
	line-height: var(--pa-line-height-text);
}

/* 来店の案内と店舗の案内。移行元の .banner / #branch-list は、どちらも中身を
   中央へ寄せて下地で囲む組み方である. */

.pa-visit-banner,
.pa-branch-guide {
	padding: var(--pa-space-sm) 20px;
	background-color: var(--pa-color-surface-muted);
	text-align: center;
}

.pa-visit-banner__text,
.pa-branch-guide__text {
	margin: 0 0 24px;
	font-size: var(--pa-font-size-base);
	line-height: var(--pa-line-height-text);
}

.pa-visit-banner__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

/* --- 集客記事の記事下の導線 --- */

.pa-word-cta {
	width: var(--pa-inner-ratio);
	max-width: var(--pa-inner-xs);
	margin: 0 auto var(--pa-space-lg);
	padding: var(--pa-space-sm) 20px;
	background-color: var(--pa-color-notice-bg);
	text-align: center;
}

.pa-word-cta__heading {
	margin: 0 0 16px;
	color: var(--pa-color-heading);
	font-family: var(--pa-font-family-serif);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.4;
}

.pa-word-cta__text {
	margin: 0 0 24px;
	font-size: var(--pa-font-size-base);
	line-height: var(--pa-line-height-text);
	text-align: left;
}

.pa-word-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-word-cta__button {
	margin: 0;
}

@media (max-width: 749px) {
	.pa-word-cta__heading {
		font-size: 20px;
	}

	.pa-visit-banner__buttons,
	.pa-word-cta__buttons {
		flex-direction: column;
	}
}

/* ==============================================================
 * 移行してきた本文が使う小道具のクラス（Issue #1622）
 *
 * 移行元は「余白だけを付けるクラス」「文字の大きさだけを変えるクラス」を
 * 共通 CSS に持っていて、記事の本文がそれを直接書いている。移行してきた
 * 本文にもクラス名がそのまま残っているのに、テーマ側に定義が無いので効かず、
 * 移行元と間隔がずれていた（2026-08-06 の計測で、下外余白が 116 件・
 * 下内余白が 39 件・上内余白が 24 件ずれていた。たとえば li.mB30 は移行元の
 * 30px に対して dev では 8px だった）。
 *
 * 写し元は 2 つある。
 *   public/word/css/style.css の 147〜381 行
 *     大文字の系列（.mT / .mB / .pT / .pB / .pA）と .fwB / .fs20 / .borG。
 *     ワード解説と調査レポートのページが読む。
 *   public/css/style.css の 63〜415 行
 *     小文字の系列（.mb / .mt）と .fs12〜.fs30、.st / .sn、.tac / .tal / .tar、
 *     .vam。全ページが読む共通 CSS である。
 *
 * 個々の要素を 1 つずつ直すのではなく、移行元と同じ小道具のクラスを揃えて
 * 移植する。移行してきた本文は 4,800 ページ以上あり、どのページがどの
 * クラスを書いているかを数え上げるより、クラスの定義を戻すほうが確実で
 * ある。
 *
 * 効く範囲は本文の中（.entry-content と .page-content__body）だけに限る。
 * .mb15 のような短い名前は、テーマ側の部品と名前がぶつかりうるためである。
 * ============================================================== */

/* --- 太字と標準（.fwB / .st / .sn）--- */

:is(.entry-content, .page-content__body) .fwB,
:is(.entry-content, .page-content__body) .st {
	font-weight: bold;
}

:is(.entry-content, .page-content__body) .sn {
	font-weight: normal;
}

/* --- 揃え（.tal / .tar）---
   中央寄せの .tac は、上の「婚活コラム /word/ 系」の区画に既にある. */

:is(.entry-content, .page-content__body) .tal {
	text-align: left;
}

:is(.entry-content, .page-content__body) .tar {
	text-align: right;
}

/* --- 縦の位置（.vam）--- */

:is(.entry-content, .page-content__body) .vam {
	vertical-align: middle;
}

/* --- 薄い枠付きの囲み（.borG）---
   移行元 public/word/css/style.css の 156〜159 行。用語の定義リストを囲む. */

:is(.entry-content, .page-content__body) .borG {
	border: 1px solid #ccc;
	background: #fafafa;
}

/* --- 上外余白（.mT5〜.mT100）--- */

:is(.entry-content, .page-content__body) .mT5 {
	margin-top: 5px;
}

:is(.entry-content, .page-content__body) .mT10 {
	margin-top: 10px;
}

:is(.entry-content, .page-content__body) .mT20 {
	margin-top: 20px;
}

:is(.entry-content, .page-content__body) .mT30 {
	margin-top: 30px;
}

:is(.entry-content, .page-content__body) .mT40 {
	margin-top: 40px;
}

:is(.entry-content, .page-content__body) .mT50 {
	margin-top: 50px;
}

:is(.entry-content, .page-content__body) .mT60 {
	margin-top: 60px;
}

:is(.entry-content, .page-content__body) .mT70 {
	margin-top: 70px;
}

:is(.entry-content, .page-content__body) .mT80 {
	margin-top: 80px;
}

:is(.entry-content, .page-content__body) .mT90 {
	margin-top: 90px;
}

:is(.entry-content, .page-content__body) .mT100 {
	margin-top: 100px;
}

/* --- 下外余白（.mB5〜.mB100）--- */

:is(.entry-content, .page-content__body) .mB5 {
	margin-bottom: 5px;
}

:is(.entry-content, .page-content__body) .mB10 {
	margin-bottom: 10px;
}

:is(.entry-content, .page-content__body) .mB20 {
	margin-bottom: 20px;
}

:is(.entry-content, .page-content__body) .mB30 {
	margin-bottom: 30px;
}

:is(.entry-content, .page-content__body) .mB40 {
	margin-bottom: 40px;
}

:is(.entry-content, .page-content__body) .mB50 {
	margin-bottom: 50px;
}

:is(.entry-content, .page-content__body) .mB60 {
	margin-bottom: 60px;
}

:is(.entry-content, .page-content__body) .mB70 {
	margin-bottom: 70px;
}

:is(.entry-content, .page-content__body) .mB80 {
	margin-bottom: 80px;
}

:is(.entry-content, .page-content__body) .mB90 {
	margin-bottom: 90px;
}

:is(.entry-content, .page-content__body) .mB100 {
	margin-bottom: 100px;
}

/* --- 上内余白（.pT5〜.pT100）--- */

:is(.entry-content, .page-content__body) .pT5 {
	padding-top: 5px;
}

:is(.entry-content, .page-content__body) .pT10 {
	padding-top: 10px;
}

:is(.entry-content, .page-content__body) .pT20 {
	padding-top: 20px;
}

:is(.entry-content, .page-content__body) .pT30 {
	padding-top: 30px;
}

:is(.entry-content, .page-content__body) .pT40 {
	padding-top: 40px;
}

:is(.entry-content, .page-content__body) .pT50 {
	padding-top: 50px;
}

:is(.entry-content, .page-content__body) .pT60 {
	padding-top: 60px;
}

:is(.entry-content, .page-content__body) .pT70 {
	padding-top: 70px;
}

:is(.entry-content, .page-content__body) .pT80 {
	padding-top: 80px;
}

:is(.entry-content, .page-content__body) .pT90 {
	padding-top: 90px;
}

:is(.entry-content, .page-content__body) .pT100 {
	padding-top: 100px;
}

/* --- 下内余白（.pB5〜.pB100）--- */

:is(.entry-content, .page-content__body) .pB5 {
	padding-bottom: 5px;
}

:is(.entry-content, .page-content__body) .pB10 {
	padding-bottom: 10px;
}

:is(.entry-content, .page-content__body) .pB20 {
	padding-bottom: 20px;
}

:is(.entry-content, .page-content__body) .pB30 {
	padding-bottom: 30px;
}

:is(.entry-content, .page-content__body) .pB40 {
	padding-bottom: 40px;
}

:is(.entry-content, .page-content__body) .pB50 {
	padding-bottom: 50px;
}

:is(.entry-content, .page-content__body) .pB60 {
	padding-bottom: 60px;
}

:is(.entry-content, .page-content__body) .pB70 {
	padding-bottom: 70px;
}

:is(.entry-content, .page-content__body) .pB80 {
	padding-bottom: 80px;
}

:is(.entry-content, .page-content__body) .pB90 {
	padding-bottom: 90px;
}

:is(.entry-content, .page-content__body) .pB100 {
	padding-bottom: 100px;
}

/* --- 四辺の内余白（.pA5〜.pA100）--- */

:is(.entry-content, .page-content__body) .pA5 {
	padding: 5px;
}

:is(.entry-content, .page-content__body) .pA10 {
	padding: 10px;
}

:is(.entry-content, .page-content__body) .pA20 {
	padding: 20px;
}

:is(.entry-content, .page-content__body) .pA30 {
	padding: 30px;
}

:is(.entry-content, .page-content__body) .pA40 {
	padding: 40px;
}

:is(.entry-content, .page-content__body) .pA50 {
	padding: 50px;
}

:is(.entry-content, .page-content__body) .pA60 {
	padding: 60px;
}

:is(.entry-content, .page-content__body) .pA70 {
	padding: 70px;
}

:is(.entry-content, .page-content__body) .pA80 {
	padding: 80px;
}

:is(.entry-content, .page-content__body) .pA90 {
	padding: 90px;
}

:is(.entry-content, .page-content__body) .pA100 {
	padding: 100px;
}

/* --- 下外余白の小文字版（.mb5〜.mb85）と上外余白（.mt30〜.mt50）---
   写し元: 移行元 public/css/style.css の 258〜337 行。上の大文字版とは
   別の系列で、刻みも 5px ごとと細かい。移行してきた本文では .mb15 が
   419 ページ、.mb20 や .mb30 も多くのページで使われている. */

:is(.entry-content, .page-content__body) .mb5 {
	margin-bottom: 5px;
}

:is(.entry-content, .page-content__body) .mb10 {
	margin-bottom: 10px;
}

:is(.entry-content, .page-content__body) .mb15 {
	margin-bottom: 15px;
}

:is(.entry-content, .page-content__body) .mb20 {
	margin-bottom: 20px;
}

:is(.entry-content, .page-content__body) .mb25 {
	margin-bottom: 25px;
}

:is(.entry-content, .page-content__body) .mb30 {
	margin-bottom: 30px;
}

:is(.entry-content, .page-content__body) .mb35 {
	margin-bottom: 35px;
}

:is(.entry-content, .page-content__body) .mb40 {
	margin-bottom: 40px;
}

:is(.entry-content, .page-content__body) .mb45 {
	margin-bottom: 45px;
}

:is(.entry-content, .page-content__body) .mb50 {
	margin-bottom: 50px;
}

:is(.entry-content, .page-content__body) .mb55 {
	margin-bottom: 55px;
}

:is(.entry-content, .page-content__body) .mb60 {
	margin-bottom: 60px;
}

:is(.entry-content, .page-content__body) .mb65 {
	margin-bottom: 65px;
}

:is(.entry-content, .page-content__body) .mb70 {
	margin-bottom: 70px;
}

:is(.entry-content, .page-content__body) .mb75 {
	margin-bottom: 75px;
}

:is(.entry-content, .page-content__body) .mb80 {
	margin-bottom: 80px;
}

:is(.entry-content, .page-content__body) .mb85 {
	margin-bottom: 85px;
}

:is(.entry-content, .page-content__body) .mt30 {
	margin-top: 30px;
}

:is(.entry-content, .page-content__body) .mt40 {
	margin-top: 40px;
}

:is(.entry-content, .page-content__body) .mt50 {
	margin-top: 50px;
}

/* --- 文字の大きさ（.fs12〜.fs30）--- */

:is(.entry-content, .page-content__body) .fs12 {
	font-size: 12px;
}

:is(.entry-content, .page-content__body) .fs13 {
	font-size: 13px;
}

:is(.entry-content, .page-content__body) .fs14 {
	font-size: 14px;
}

:is(.entry-content, .page-content__body) .fs15 {
	font-size: 15px;
}

:is(.entry-content, .page-content__body) .fs16 {
	font-size: 16px;
}

:is(.entry-content, .page-content__body) .fs17 {
	font-size: 17px;
}

:is(.entry-content, .page-content__body) .fs18 {
	font-size: 18px;
}

:is(.entry-content, .page-content__body) .fs19 {
	font-size: 19px;
}

:is(.entry-content, .page-content__body) .fs20 {
	font-size: 20px;
}

:is(.entry-content, .page-content__body) .fs21 {
	font-size: 21px;
}

:is(.entry-content, .page-content__body) .fs22 {
	font-size: 22px;
}

:is(.entry-content, .page-content__body) .fs23 {
	font-size: 23px;
}

:is(.entry-content, .page-content__body) .fs24 {
	font-size: 24px;
}

:is(.entry-content, .page-content__body) .fs25 {
	font-size: 25px;
}

:is(.entry-content, .page-content__body) .fs26 {
	font-size: 26px;
}

:is(.entry-content, .page-content__body) .fs27 {
	font-size: 27px;
}

:is(.entry-content, .page-content__body) .fs28 {
	font-size: 28px;
}

:is(.entry-content, .page-content__body) .fs29 {
	font-size: 29px;
}

:is(.entry-content, .page-content__body) .fs30 {
	font-size: 30px;
}

/* ==============================================================
 * 移行してきた本文の要素ごとの文字組みを移行元へ戻す（Issue #1622）
 *
 * 移行してきた本文は、移行元のマークアップ（section#story / #voice、
 * div.detail_inner、p.main_copy 等）をそのまま抱えている。ところが、その
 * マークアップに効いていたページ別の CSS はテーマへ写されていなかったため、
 * 文字の色・大きさ・行間・太さ・揃え・書体が移行元と食い違っていた。
 *
 * ここでは 2026-08-06 の計測（PC 1440px・記事と一覧の 9 ページ）でずれた
 * 要素について、移行元の CSS の値をそのまま写す。写すのは文字組みに関わる
 * 指定（色 / 大きさ / 行間 / 太さ / 揃え / 書体）と、同じ規則が併せて書いて
 * いる下外余白だけである。枠線・下地・箱の内余白は別の Issue の担当なので
 * 触らない。ただし白抜きの文字（.stfc01 / .stfc02）だけは、下地を写さないと
 * 白地に白い文字が出て読めなくなるため、対で写す。
 *
 * 写し元:
 *   public/css/page_introduce.css   お客様の声（10〜141 行）と
 *                                   成婚ストーリー・ワード解説（169〜563 行）
 *   public/css/style.css            全ページ共通（1410〜1817 行）
 *   public/css/page_company.css     ニュース（121〜126 行）
 *   public/word/css/style.css       ワード解説（3〜6 行、388〜430 行）
 *   public/introduce/story/css/style_introduce_story.css
 *                                   成婚ストーリー詳細（145〜173 行）
 *   public/introduce/css/style_introduce_experience.css
 *                                   体験談（479〜506 行、993〜1015 行）
 * ============================================================== */

/* --------------------------------------------------------------
 * 1. 揃え
 *
 * 移行元は区画の入れ物（#story / #voice / #news）で中央寄せにし、文章を
 * 載せる枠（.detail_body / .detail_inner / .voice_list 等）で左寄せへ
 * 戻していた。この 2 段構えごと写す。片方だけ写すと、見出しの絵や導入文が
 * 左へ寄ったまま、あるいは本文まで中央へ寄ってしまう。
 * -------------------------------------------------------------- */

:is(.entry-content, .page-content__body) :is(#story, #voice, #news) {
	text-align: center;
}

/* 文章を載せる枠は左寄せへ戻す。箇条書き（ol / ul）が入っているのは、移行元
   public/css/common.css の 266〜269 行が「ol, ul は左寄せ」と決めているためで
   ある。中央寄せの区画に置かれた一覧（ページ送りの .pager_menu、用語の一覧の
   .list_box 等）が左寄せのままなのは、この 1 行が効いているからだった。
   稼働中の www.p-a.jp/word/ を実際に開いて、ul.list_box が親の中央寄せを
   受け継がず左寄せになることを確かめてある. */
:is(.entry-content, .page-content__body) :is(
	ol,
	ul,
	.detail_body,
	.detail_inner,
	.voice_list,
	.reason_text,
	.box_relation,
	.introduction,
	.heading-cont,
	.box,
	.story_inner .archive_ttl
) {
	text-align: left;
}

/* 移行元のサイト共通の補助メニュー（.text_menu）。移行元 css/style.css の
   1380〜1408 行を写す。この部品が出るのは 3 系統である。
     QOM総研の一覧（/research/list01/ ほか 13 ページ）
     婚活川柳（/senryu/backnumber/ ほか）
     ニュース・メディア掲載の一覧の年別絞り込み（inc/news-list-year.php・Issue #1619）

   【組みを flex にしない】以前は flex + justify-content で中央寄せしていたが、
   移行元と同じ block + inline-block + 字送りの 2 段構えへ戻した。flex では
   1 行の高さが項目の高さ（14px）そのままになり、移行元の 20px にならない。
   QOM総研は 1 行あたり 6px 低く、2 行で 12px ずれていた（Bug #2544）。
   ニュース一覧だけは #news 側に 6px を足す補正で辻褄を合わせていたが、
   block へ戻したことで補正は不要になり撤去した（後ろの #news の節）。

   【字送りは親で詰めて子で戻す】移行元の letter-spacing: -.40em は inline-block の
   間に空く隙間を消す古い手法である。親だけ写すと項目が重なるので、必ず子の
   letter-spacing: normal と対にする（婚活川柳の暫定でも同じ事故があった）。

   【移行元が受け継いでいた値 2 つを明示する】移行元の帯は本文から 13px と
   行送り normal を受け継いでいる。このテーマは本文が 16px、狭い画面では行送りが
   1.8 なので、書かないと帯の高さが移行元と合わない（QOM総研で 1 行 23.4px になる）。

   🔴【クラス名を 2 回書いている理由】選択子の .text_menu.text_menu は書き間違いでは
   ない。詳細度を 1 段上げるために意図して重ねている。打ち消したい相手が 2 つある。

     1. すぐ上の :is(ol, ul, .detail_body, …) が本文の ul を左寄せへ戻す。この
        :is() の中に .story_inner .archive_ttl（クラス 2 つ）が入っているため、
        :is() は中の最大値を取り、規則全体がクラス 3 つ相当になる。素直に
        .text_menu と書くとクラス 2 つで負け、中央寄せが効かない
     2. 婚活川柳の assets/senryu/css/bridge.css にある
        body .pa-page--senryu .page-content__body li { line-height: inherit } が
        項目の行送りを奪う。素直に書くと負けて 1 行が 14px から 21px に伸びる

   どちらも dev の実機で確認した。**後ろに置くだけでは勝てない。詳細度の問題である。**
   important は使わず、こちらのクラスを重ねるだけで済ませている。相手側の広く
   使われている規則には手を入れていないので、ほかのページへ波及しない。

   なお #news の上書き（この後ろの節）は id を含むので、重ねたこちらにも勝つ。

   色は移行元のままにする。選んでいる年と「～」は赤、ほかの年のリンクは薄い灰色、
   区切りの「/」はほぼ黒である。リンクの薄い灰色は移行元でも読みにくいが、
   「移行元のまま CMS 化する」方針に従い、見やすさの改善は別フェーズで扱う。
   選んでいる年の赤は、デザインの新旧によらず移行元が同じ赤だったため、
   プロファイル変数ではなく --pa-palette-red-legacy を直接指す. */
:is(.entry-content, .page-content__body) .text_menu.text_menu {
	display: block;
	font-size: 13px;
	line-height: normal;
	text-align: center;
	letter-spacing: -.40em;
	/* 移行元の margin-bottom: 40px に合う変数を使う（狭い画面では 20px に縮む）. */
	margin: 0 auto var(--pa-space-sm);
	padding: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .text_menu.text_menu li {
	display: inline-block;
	margin: 0;
	color: var(--pa-palette-red-legacy);
	font-size: 14px;
	line-height: 100%;
	letter-spacing: normal;
}

:is(.entry-content, .page-content__body) .text_menu.text_menu li a {
	color: #ccc;
	font-size: 14px;
	text-decoration: none;
}

:is(.entry-content, .page-content__body) .text_menu.text_menu li a:hover {
	color: var(--pa-palette-red-legacy);
}

/* 区切りの「/」。移行元は左右に 14px の余白を取り、色を #111111 にする. */
:is(.entry-content, .page-content__body) .text_menu.text_menu li span {
	display: inline-block;
	padding: 0 14px;
	color: #111;
}

/* --------------------------------------------------------------
 * 2. 成婚ストーリーとワード解説の詳細（#story）
 * -------------------------------------------------------------- */

/* 話の題名。移行元 .grid_box .grid_ttl（public/css/style.css 1723〜1727 行）。
   移行元は行間を書いていないので、ブラウザ既定（normal）で描かれる。稼働中の
   ページで実測しても normal だった。本文の行間（1.5）を継がせると 28px の
   題名が 42px 行送りになり、移行元より 8px 空く. */
:is(.entry-content, .page-content__body) .grid_ttl {
	margin-bottom: 15px;
	font-size: 28px;
	letter-spacing: 0.05em;
	line-height: normal;
}

/* 記事の冒頭に置くリード文。移行元
   introduce/story/css/style_introduce_story.css の 164〜170 行. */
:is(.entry-content, .page-content__body) .title_txt {
	margin-bottom: 25px;
	color: #322422;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
}

/* 記事の大見出し。移行元は明朝の太字である（同 157〜163 行）。飾り（金色の
   下線）は見出しの様式なので触らない（Issue #1624 の担当）. */
:is(.entry-content, .page-content__body) .heading h2 {
	font-family: var(--pa-font-family-serif);
}

/* 節の見出し。移行元 .text_title（public/css/style.css 1410〜1416 行）は
   行間 100%、#story .text_title（page_introduce.css 347〜350 行）が
   下の間隔 25px を足す。ワード解説だけは行間 130% である
   （public/word/css/style.css 14〜20 行）。下の 3. で上書きする. */
:is(.entry-content, .page-content__body) .text_title {
	margin-bottom: 25px;
	line-height: 1;
}

/* 相談員の紹介。移行元 page_introduce.css の 509〜558 行。囲みの枠線と内余白は
   触らず、文字だけを戻す。役職（.concierge_prof_post）の 14px は、外側の
   .concierge_prof（540〜546 行）が決めている値である. */
:is(.entry-content, .page-content__body) .concierge_ttl {
	/* 🚨 **上の外余白を 0 に戻す（Bug #3510）。**この見出しは `h6` なので、本文の
	   見出しの既定（このファイルの「見出し（h2〜h6）」の節・
	   `margin: var(--pa-article-block-gap) 0 20px`）から上の 50px を受け取る。
	   下の 30px はここで上書きしていたが、**上は書いていなかったので残っていた**。
	   移行元は上に余白を持たない（`page_introduce.css` の 509〜558 行・
	   スマホ版の `sp/introduce/story/css/style.css` の 317〜323 行のどちらにも
	   `margin-top` が無い）。パソコン 1440px で囲みが 50px 高くなっていた.

	   携帯幅は Bug #3440 の直しが先に 0 にしていたので、ここは実質パソコン幅の直しである. */
	margin-top: 0;
	margin-bottom: 30px;
	color: var(--pa-color-heading);
	font-size: 28px;
	line-height: 1;
}

:is(.entry-content, .page-content__body) .concierge_ttl span {
	color: var(--pa-color-text);
	font-size: 14px;
}

:is(.entry-content, .page-content__body) .concierge_copy {
	margin-bottom: 20px;
	font-size: 23px;
	line-height: 1.3;
}

:is(.entry-content, .page-content__body) .concierge_prof_post {
	margin-bottom: 5px;
	color: var(--pa-color-heading);
	font-size: 14px;
	line-height: 1;
}

:is(.entry-content, .page-content__body) .concierge_prof_name {
	margin-bottom: 10px;
	font-size: 20px;
	line-height: 1;
}

/* --------------------------------------------------------------
 * 3. ワード解説だけの上書き
 *
 * ワード解説（移行元 /word/）は専用の投稿型 word なので、body に single-word が
 * 付く（Task #6656・決定 D301）。成婚ストーリー（single-story）や調査レポート
 * （page）と同じクラス名を使いながら値だけ違う指定を、ここで分ける。
 *
 * 🚨 **もとは `body.single-post` で分けていた。**ワード解説は post_type: post として
 * 投入されていたためである。投稿型を移したので、この 5 つの当たり先も一緒に移した。
 * 移し忘れると、節の見出しと記事の題名の値が移行元からずれる（当たり先が消えるだけ
 * なので、画面は出るが値が違う。検査も照合データが single-post を持ったままだと緑になる）。
 * WordPress 6.9.4 の post-template.php:698 が `'single-' . $post->post_type` を出す.
 * -------------------------------------------------------------- */

/* 節の見出し。移行元 public/word/css/style.css の 3〜6 行は 18px・行間 120%
   である。成婚ストーリー側の 24px（page_introduce.css 448〜456 行）とは
   別の値なので、ワード解説だけを上書きする. */
body.single-word :is(.entry-content, .page-content__body) .story_copy {
	font-size: 18px;
	line-height: 1.2;
}

/* 節の見出しの行間。移行元 public/word/css/style.css の 14〜20 行. */
body.single-word :is(.entry-content, .page-content__body) .text_title {
	line-height: 1.3;
}

/* --------------------------------------------------------------
 * 4. お客様の声の一覧（#voice）
 *
 * 写し元: public/css/page_introduce.css の 10〜141 行。
 * -------------------------------------------------------------- */

:is(.entry-content, .page-content__body) #voice .main_copy {
	margin-bottom: 15px;
	font-size: 24px;
	line-height: 1;
}

:is(.entry-content, .page-content__body) #voice .main_read {
	margin-bottom: 60px;
	font-size: 16px;
	line-height: 1.6;
}

/* ==============================================================
 * 成婚ストーリー一覧の冒頭（帯画像・会員紹介メニュー・導入区画）
 *
 * 対応する組みは template-parts/story-archive-intro.php にある。
 * 写し元は移行元サイト legacy/www.p-a.jp/public の次の 2 ファイルである。
 *   introduce/story/css/style_introduce_story.css の #introduce_top と
 *   .introduce_nav（成婚ストーリーのページが実際に読み込む版）
 *   introduce/css/style_introduce_story.css の #story .heading
 *
 * 移行元は基準の文字を 10px（html に font-size: 62.5%）にしているので、
 * rem で書かれた値は 10 倍して px に直してある（1.2rem = 12px）。
 *
 * 診断ページ（/introduce/）も同じ .introduce_nav を使うが、あちらは自前の
 * style_introduce.css を後から読み込む。ここの指定が診断ページへ及ばないよう、
 * すべて .pa-introduce-top を前に付けて絞ってある。
 * ============================================================== */

/* 移行元の #introduce_top は幅 1100px で、記事を並べる枠（.story_inner）と左右が
   そろう。ここでは囲みの .archive-content--story が既に幅を決めている（90%・上限
   1100px。上限は Bug #1841 で 1120px から移行元の実寸へ直した）ので、その幅を
   そのまま受け取る。重ねて 90% を掛けると、帯画像と導入区画だけがカードの列より
   左右 56px ずつ内側に入る（1440px 幅で実測した）. */
.pa-introduce-top {
	width: 100%;
	margin: 0 auto 80px;
	padding-top: 20px;
}

/* 帯画像。移行元は h2 の中の画像だけで、行送りぶんの隙間が出ないよう
   line-height を 0 にしている（#introduce_top h2）。dev 側の入れ物は div である
   （見出しにしない理由は template-parts/story-archive-intro.php に書いた）. */
.pa-introduce-top__band {
	margin: 0;
	line-height: 0;
}

.pa-introduce-top__band img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.pa-introduce-top .introduce_nav {
	width: 100%;
	/* 移行元 .introduce_nav--open の margin-top: 25px. */
	margin: 25px auto 0;
}

/* 🚨 **開閉の押しボタンを、パソコン幅では出さない**（Bug #7133）。

   `template-parts/introduce/nav.php` は `button.article-title.min`（会員紹介MENU）を
   幅に関係なく必ず出し、隠す指定は `assets/introduce/css/style_introduce.css` の
   `.accordion-container .article-title { display: none }` が持つ。その CSS を
   読み込むのは診断ページの型紙（`page-templates/introduce-diagnosis.php` が
   `pa_introduce_enqueue_assets()` を呼ぶ 1 か所だけ）なので、**この器には届かない**
   （2026-09-18 に呼び出し元を全数で数えた）。届かない結果、押しボタンが**閲覧ソフトの
   既定の見た目（枠線つき）**のまま画面に出ていた。

   実測（2026-09-18 01:21・幅 1440px）:
   移行元 `https://www.p-a.jp/introduce/story/` … この押しボタンは **markup に無い**
   dev   `/introduce/story/` … **108.58 × 27px**・地 #efefef・枠線 2px outset

   🚨 **携帯幅では隠さない。移行元スマホ版はこの押しボタンを持つ。**
   実測（同じ走行・幅 375px）:
   移行元 `https://www.p-a.jp/sp/introduce/story/` … **328.13 × 54px**・地 白・
     文字 #463d3c・字 16.25px・枠線なし
   dev … 108.58 × 27px・地 #efefef・枠線 2px outset
   つまり携帯幅の食い違いは「出る／出ない」ではなく**見た目が素のまま**である。
   そこを移行元へ寄せるのは Bug #7133（題名がパソコン幅を指す）の範囲外なので、
   ここでは**パソコン幅だけ**を直す。

   🚨 **`template-parts/introduce/nav.php` からこの押しボタンを消してはいけない。**
   同じ部品を診断ページ（`/introduce/`）と体験談の詳細も使っており、そちらは
   携帯幅で開閉の押しボタンを出す。消す場所はこの器の CSS である.

   この器（`.pa-introduce-top`）を出すのは `template-parts/story-archive-intro.php`
   だけで、それを呼ぶ型紙は 3 本（`archive-story.php`・`archive-story-all.php`・
   `taxonomy-pa_story_theme.php`）である。画面の数では**投稿タイプアーカイブ 1 枚＋
   話のまとまりのタームの一覧 5 枚＋「すべての記事」1 枚 = 7 枚**にこの直しが効く. */
@media (min-width: 750px) {
	.pa-introduce-top .accordion-container .article-title {
		display: none;
	}
}

.pa-introduce-top .nav_menu {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 移行元はこの並びを明朝で組む。組みに付いている .min が移行元の共通 CSS で
   明朝を指す約束になっており（style_introduce_story.css の html > body .min）、
   このテーマにはその約束が無い。範囲をこの並びに限って写す.

   書体は `.min` 用のほう（先頭が「游明朝体」）を使う（Issue #3095 の A-6）。
   写し元が同じ `html > body .min` なので、下の投入した本文向けの規則と
   **同じ書体でなければならない**。片方だけ直すと、同じ `.min` の約束に 2 つの
   書体が残る。なお、この器（`.pa-introduce-top`）を出すのは
   `archive-story.php` で、入口 `/introduce/story/` は書き換え規則により
   `single-story.php` で描かれるため、そちらには当たらない（実測は入口のみ）. */
.pa-introduce-top .nav_menu.min {
	font-family: var(--pa-font-family-serif-min);
	font-weight: 600;
}

.pa-introduce-top .nav_menu > li {
	position: relative;
	flex: 1;
	margin-right: 20px;
	font-size: 12px;
	line-height: 1.3;
	text-align: center;
}

.pa-introduce-top .nav_menu > li:last-child {
	margin-right: 0;
}

/* 項目の下に引く線。移行元はマウスを載せると左から右へ伸びる動きを付けている
   （transform の scale を 0 から 1 へ）. */
.pa-introduce-top .nav_menu > li::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #392a28;
	content: "";
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s;
}

.pa-introduce-top .nav_menu > li > a {
	display: block;
	padding-bottom: 15px;
	color: #392a28;
	opacity: 0.6;
	text-decoration: none;
}

/* 移行元は :hover だけを見ているが、キーボードで辿る人にも同じ印が出るよう
   :focus-within を足した。見え方は :hover と同じである. */
.pa-introduce-top .nav_menu > li:hover > a,
.pa-introduce-top .nav_menu > li:focus-within > a {
	opacity: 1;
}

.pa-introduce-top .nav_menu > li:hover::after,
.pa-introduce-top .nav_menu > li:focus-within::after {
	transform: scale(1, 1);
	transform-origin: left top;
}

/* 今いる項目。線は最初から引いたままにする. */
.pa-introduce-top .nav_menu > li.current::after {
	transform: none;
	transform-origin: auto;
	transition: none;
}

.pa-introduce-top .nav_menu > li.current > a {
	opacity: 1;
}

/* この 2 つは段落（p）のまま組まれており、全体規則 p { line-height: 1.8 } が
   段落へ直接当たってしまう（親の .nav_menu > li に line-height: 1.3 を置いても、
   子の p 自身への規則の方が勝つ）。本文向けの節（.introduce_nav--open の
   .nav_menu__sub / .nav_menu__main）と同じ 1.3 を明示して打ち消す（Bug #1906）. */
.pa-introduce-top .nav_menu__sub {
	margin: 0;
	line-height: 1.3;
}

.pa-introduce-top .nav_menu__main {
	margin: 8px 0 0;
	font-size: 16px;
	line-height: 1.3;
}

/* --- スマートフォン幅（749px 以下） ---
   🚨 **ここに規則を置かない。**以前はこの節で 5 項目を 2 列に折り返していた
   （`flex-wrap: wrap` ＋ `flex: 0 0 calc(50% - 6px)` ＋ 字 14px）。移行元の
   スマートフォン版のミラー（`/sp/introduce/story/`）は**縦積みの 1 列**なので、
   これは移行元に無い組みだった。

   **ユーザー決定 D403（2026-09-18）で「携帯幅は 1 列（移行元どおり・完全再現）」
   に決まった**ため、この節を外した（Bug #7133）。携帯幅の組みは、上の
   畳める案内メニューの節（`.pa-collapsible-nav.is-collapsible` の中）が
   まとめて持つ。前置きに `.pa-introduce-top` を足したので、この一覧 7 枚にも
   その縦積みが届く. */

/* ==============================================================
 * 本文に埋め込まれたタブ（.introduce_nav--open）の装飾（Issue #1881）
 *
 * 成婚ストーリーと HAPPY REPORT の記事（dev で 120 件）は、移行元の会員紹介
 * メニューを**本文の中に**抱えている。移行元はそれぞれ
 * public/introduce/include/story_menu.shtml と
 * public/introduce/include/happyreport_head.shtml を読み込んでおり、どちらも
 * 同じ 5 項目・同じ introduce_nav--open である。
 *
 * この組みを装飾する指定は、このファイルにも
 * assets/introduce/css/style_introduce.css にもあるが、どちらも届かない。
 * 前者は成婚ストーリー**一覧**にしか付かない .pa-introduce-top で絞ってあり、
 * 後者は診断ページ（/introduce/）を描くときだけ読み込む登録になっている
 * （inc/introduce-diagnosis.php の pa_introduce_register_assets()）。そこで、
 * 本文向けの指定をここに書き足す。上の一覧向けの節は 1 行も変えていない。
 *
 * **絞りは .entry-content / .page-content__body の内側に限る。** 診断ページの
 * テンプレート（page-templates/introduce-diagnosis.php）は本文を出さず、この
 * 2 つの入れ物をどちらも書かないため、ここの指定は診断ページへ届かない。
 * さらに --open まで絞ってあるのは、体験談の結果のページが同じ入れ物の中に
 * 別種の --experience を持っているからである（そちらの見た目は変えない）。
 *
 * 写し元は移行元サイト legacy/www.p-a.jp/public の
 * introduce/story/css/style_introduce_story.css である。基底の .introduce_nav
 * （31〜107 行）へ .introduce_nav--open（109〜119 行）が上書きを重ねる作りで、
 * **下線の高さは基底の 1px ではなく、上書きした 2px が効く。** 前半だけ写すと
 * 実物と食い違う。移行元は基準の文字を 10px にしている（html に
 * font-size: 62.5%）ので、rem で書かれた値は 10 倍して px に直してある。
 *
 * ------------------------------------------------------------------
 * 2 種類の規則で、当たる範囲を変えてある（意図した違いである）
 * ------------------------------------------------------------------
 * この節の規則は役割が 2 つに分かれており、絞り方もそれぞれ違う。
 *
 *   - **装飾**（明朝・横並び・下線・1 項目 20%）は、クラスだけで当てる。移行元も
 *     同じ書き方だからである。移行元 introduce/css/style_introduce.css の
 *     155〜164 行は .introduce_nav--open とだけ書き、区画の id では絞っていない。
 *   - **幅を 1,100px へ戻す指定と、横あふれを抑える指定**は、区画
 *     （#introduce_top:has(.introduce_nav--open)）で限定する。こちらは移行元の
 *     写しではなく、記事の柱が 800px というこのテーマ固有の事情への対処なので、
 *     関係のないページを巻き添えにしないよう範囲を絞る必要がある（絞る前は
 *     181 ページを巻き添えにしていた）。
 *
 * **範囲が違っても壊れない。** 装飾の側が広いため、区画の外にタブが現れると装飾だけが
 * 当たることになる。それでも .introduce_nav--open の max-width: 100% により、タブは
 * 親の幅を超えられない。画面の幅 1440px で、成婚ストーリーの記事の区画の id を変えて
 * 「タブが区画の外」を再現し、実測した結果である。
 *
 *   | タブの位置          | 区画の幅 | タブの幅 | 1 項目 | タブの高さ | 横スクロール |
 *   | 区画の内側（120 件）| 1100px   | 1095px   | 203px  | 80.19px    | 0 |
 *   | 区画の外側          |  800px   |  800px   | 144px  | 95.78px    | 0 |
 *
 * **どちらも横スクロールは 0 である。** 外側では説明文が 2 行に折り返し、高さが
 * 15.59px 増えるだけである。画面の幅 375px では内側と外側がまったく同じ値になる
 * （幅を戻す式が何もしなくなるため）。
 *
 * **装飾の側を区画で絞ってはいけない。** 絞ると、区画の外にタブが現れたときに装飾が
 * 丸ごと外れ、黒丸の付いた縦積み（高さ 392px）に戻る。いまの「少し詰まった横並び
 * （95.78px）」より悪くなる。
 *
 * なお dev の実データでは、タブを持つ 121 ページのうち 120 ページが区画の内側にある。
 * 外側にあるのは /introduce/result/（移行で実体化してしまった固定ページ）1 件だけで、
 * このページは /introduce/ へ 301 で転送されるため描画されない
 * （inc/introduce-diagnosis.php の pa_introduce_handle_request()。Issue #1612）。
 * ============================================================== */

/* --- ここから 3 つの規則が、区画の幅を移行元の 1,100px へ戻す担当である ---
 *
 * 移行元の #introduce_top は幅 1,100px で、記事の柱と左右がそろう。このテーマの
 * 記事の柱は読みやすさのために 800px にしてある（このファイルの「本文の横幅を
 * 800px の 1 段にした理由」）。そのまま柱に収めると 1 項目 144px になり、上段の
 * 説明文が全項目で 2 行に折り返す。移行元は 1 行なので見た目が変わってしまう。
 *
 * そこで、テーマにすでにある「本文の柱から外へ出す」書き方（このファイルの
 * 「移行してきた一覧を、本文の 800px の柱から外へ出す（Bug #1816）」）に揃えて、
 * この区画だけを 1,100px へ戻す。**柱そのものは広げない。**
 *
 * 幅から 30px を引くのは、外側の器（.single-content）の左右の内余白と同じ量を
 * 残すためである。画面が狭いときはこの式が何もしなくなり（幅も位置も柱と同じ値に
 * なる）、画面の端まで広がることはない。1440px で測ると x=170・幅 1,100px となり、
 * 移行元と同じ値になる。
 *
 * **区画の id だけで絞ってはいけない。** #introduce_top は、このタブを持たない
 * ページでも冒頭の案内の器として使われている。dev の実データを数えると、
 * id="introduce_top" を持つのは 301 ページ（固定ページ 79・成婚ストーリー 222）で、
 * そのうちタブ（.introduce_nav--open）を持つのは 120 ページだけである。残る
 * 181 ページ（お客様の声の記事など）は、id だけで絞ると柱の 800px から 1,100px へ
 * 巻き添えで広がってしまう。そこで :has() で**タブを含む区画だけ**に限定する. */
:is(.entry-content, .page-content__body) #introduce_top:has(.introduce_nav--open) {
	/* 🚨 **この 2 行は携帯幅（749px 以下）のために残してある。**750px 以上では
	   すぐ下の囲みが移行元と同じ固定 1,100px へ上書きする（Task #4262）。
	   素の規則を直に固定幅にすると、携帯幅でも 1,100px になってしまう。 */
	width: min(1100px, calc(100vw - 30px));
	margin-inline: calc(50% - min(550px, 50vw - 15px));

	/* 上の内余白 20px は移行元の写しである（Issue #3062）。しあわせレポートの
	   一覧と詳細 11 ページが読む introduce/happyreport/css/style_happyreport.css の
	   24〜28 行目と、成婚ストーリーが読む
	   introduce/story/css/style_introduce_story.css の 24〜27 行目が、どちらも
	   `#introduce_top { padding-top: 20px }` を持つ。タブを持つページは移行元では
	   例外なく 20px を持つので、この規則（= タブを含む区画だけ）へ写す。

	   この 1 行には、中身を 20px 下げる働きのほかに、**子の上外余白 25px が区画の
	   外へ抜けるのを止める**働きもある。内余白も罫線も無い区画は子の上外余白が
	   そのまま外へ出るため（外余白の相殺）、隙間の見え方は同じでも区画の高さが
	   25px 足りなくなる。20px を入れると相殺が起きなくなり、高さが移行元と一致
	   する。幅 1440px での実測は次のとおりである（移行元は記録版 19f499fe3 を
	   手元の HTTP で配信して同じ手順で測った）。

	     | 区画の高さ       | 直す前  | 直したあと | 移行元   |
	     | しあわせレポートの一覧 | 80.19px | 147.19px   | 147.19px |
	     | しあわせレポートの詳細 | 80.19px | 125.19px   | 125.19px |

	   一覧の 147.19px は、この内余白と、下の `.pa-happyreport-list-band` の節が
	   足す行送り 1.8 の両方が要る。内余白だけでは 125.19px にしかならない. */
	padding-top: 20px;
}

/* 🚨 **ここに在った横方向の切り落としは外した（Task #4262・裁定 332 改）。**
 *
 * もとは
 * `body:has(:is(.entry-content, .page-content__body) #introduce_top .introduce_nav--open)
 * { overflow-x: clip }` で、**タブを持つ 120 ページ**の塗り出しを抑えていた。
 * 理由は上の器の規則が柱より広くなること（Bug #2826 と同じ筋）である。
 *
 * **移行元は固定幅の器を紙面からはみ出させ、横送りで届かせる作りなので、切り落とすと
 * 移行元で読める右側が dev では読めない**（裁定 320）。器の幅を移行元と同じ固定
 * 1,100px に戻したので、こちらも外す。
 *
 * 🚨 **ここに `#introduce_top:has(...)` と書いてはいけない。**`:has()` の中に
 * `:has()` を入れることは仕様で認められておらず、書くと選択子全体が無効になる
 * （エラーは出ず、規則が静かに効かなくなる）。もとの規則は同じ条件を子孫のたどり方
 * 1 本で表していた。**戻すときはその形を使う。**
 *
 * 🚨 **戻すときは器の幅も一緒に戻すこと。**器が固定 1,100px で切り落としだけを
 * 復活させると、移行元で読める右側が読めない状態に戻る. */

/* 🚨 **タブを含む区画の固定幅は 750px 以上だけに絞る（Task #4262・裁定 332 改）。**
 *
 * 移行元の `#introduce_top` は**固定 1,100px**である。上の素の規則は
 * `min(1100px, calc(100vw - 30px))` で画面の幅に追従していたので、ここで戻す。
 * **`- 30px` の引き算も外す。**あれは外側の器の左右の内余白と同じ量を残すための
 * 引き算で、移行元には無い。移行元は器を紙面の左端（左 0）から出す。
 *
 * 🚨 **携帯幅（749px 以下）は素の規則のまま残す。**幅の条件の外に在る規則を直に
 * 固定幅にすると、幅 375px でも 1,100px になってしまう。
 *
 * 🚨 **選択子を短くしてはいけない。**素の規則は `:has(.introduce_nav--open)` を
 * 持つぶん詳しいので、`#introduce_top` だけで書くと負けて静かに効かなくなる。
 *
 * 🚨 **タブ自身（`.introduce_nav--open` の `width: 1095px; max-width: 100%`）は
 * 触らない。**`max-width: 100%` は狭い画面と区画の外に置かれた場合のための 1 行で、
 * すぐ下の注釈が理由を書いている。器が 1,100px になればタブは 1,095px に解かれ、
 * 移行元と同じ値になる. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) #introduce_top:has(.introduce_nav--open) {
		width: 1100px;
		margin-inline: calc(50% - min(550px, 50vw));
	}
}

/* 移行元 .introduce_nav--open は幅 1,095px で、上の余白 25px だけを持つ
   （margin-top: 25px !important が、後から書かれた margin: 0 auto の上下を
   打ち消して残る）。

   **max-width: 100% を外してはいけない。** 移行元にこの 1 行は無い。移行元サイトは
   全体が #contents の min-width: 1280px で固定幅のため、1,095px が親に入らない場面が
   無かったからである。このテーマでは、狭い画面と、区画（#introduce_top）の外に
   タブが置かれた場合の両方で、タブを親の幅に収める役目を持つ。この 1 行があるので、
   装飾を区画で絞らなくても横あふれは出ない（上の「2 種類の規則で、当たる範囲を
   変えてある」の実測を参照）. */
:is(.entry-content, .page-content__body) .introduce_nav--open {
	width: 1095px;
	max-width: 100%;
	margin: 25px auto 0;
}

/* --- ここまでが幅を戻す担当。以下はタブそのものの装飾である --- */

:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 移行元はこの並びを明朝で組む。組みに付いている .min が移行元の共通 CSS で明朝を
   指す約束になっており（style_introduce_story.css の html > body .min）、この
   テーマにはその約束が無い。範囲をこの並びに限って写す. */
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu.min {
	font-family: var(--pa-font-family-serif-min);
	font-weight: 600;
}

/* 移行元は width: 20% と右の余白 20px を併せて指定する（style_introduce_story.css の
   90〜91 行目と 44 行目）。5 項目だと基準の幅の合計 1,095px に余白 4 つ分 80px が
   加わって器からあふれるので、flex の縮みが働いて 1 項目 203px に落ち着く。

   **flex: 1 で置き換えてはいけない。** flex: 1 と width: 20% が同じ値になるのは
   項目がちょうど 5 つのときだけである。項目が減ると、移行元は 20%（219px）のまま
   両端に寄せる（justify-content: space-between）が、flex: 1 は残りの幅まで
   伸びてしまい、ラベルと下線の幅・位置が移行元と食い違う。移行元の宣言をそのまま
   写しておけば、項目数が変わっても移行元と同じ組みになる。

   なお dev の実データは 121 ページすべてが 5 項目で、移行元の共通部品
   （introduce/include/story_menu.shtml と happyreport_head.shtml）も 5 項目である。
   今この場で見た目が変わるページは無いが、本文は管理画面から編集できるため、
   項目数に依存しない書き方にしておく. */
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li {
	position: relative;
	width: 20%;
	margin: 0 20px 0 0;
	font-size: 12px;
	line-height: 1.3;
	list-style: none;
	text-align: center;
}

:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li:last-child {
	margin-right: 0;
}

/* 項目の下に引く線。移行元はマウスを載せると左から右へ伸びる動きを付けている
   （transform の scale を 0 から 1 へ）. */
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #392a28;
	content: "";
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s;
}

:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li > a {
	display: block;
	padding-bottom: 15px;
	color: #392a28;
	opacity: 0.6;
	text-decoration: none;
}

/* 移行元は :hover だけを見ているが、キーボードで辿る人にも同じ印が出るよう
   :focus-within を足した。見え方は :hover と同じである. */
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li:hover > a,
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li:focus-within > a {
	opacity: 1;
}

:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li:hover::after,
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li:focus-within::after {
	transform: scale(1, 1);
	transform-origin: left top;
}

/* 今いる項目。線を最初から引いたままにし、文字を濃く出す。移行元は 5 項目とも
   同じ色（#392a28）と同じ太さ（600）で、今いる項目はこの 2 点だけで目立つ. */
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li.current::after {
	transform: none;
	transform-origin: auto;
	transition: none;
}

:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li.current > a {
	opacity: 1;
}

/* 移行元は 2 行を段落（p）2 つで組んでいるが、投入した本文では段落がインライン要素と
   改行に置き換わっている（リンクの中に段落を入れる並びを WordPress が壊すため、
   投入時に変換している）。そのままだとリンクの先頭に空の行が 1 つ入り、下段の上余白
   8px も効かない。改行を隠し、2 つの span をブロックへ戻して移行元の 2 行組みに
   そろえる。段落のまま投入し直された場合も同じ見た目になる書き方である. */
:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu a br {
	display: none;
}

:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu__sub {
	display: block;
	margin: 0;
	font-size: 12px;
	line-height: 1.3;
}

:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu__main {
	display: block;
	margin: 8px 0 0;
	font-size: 16px;
	line-height: 1.3;
}

/* しあわせレポートの一覧だけ、2 行の行送りを 1.8 にする（Issue #3062）。
 *
 * 移行元でこの値を作っているのは
 * introduce/happyreport/assets/css/happyreport.css の 140〜142 行目
 * `p { line-height: 1.8 }` である。移行元は 2 行を段落（p）で組むので、親の
 * `li { line-height: 1.3 }` より、段落へ直接当たるこの規則が勝つ。
 *
 * 🚨 **この 1 枚を読むのは一覧だけである。**移行元の一覧
 * introduce/happyreport/index.html は CSS を 7 枚読み込み、その 1 枚がこれである。
 * 詳細 introduce/happyreport/report_01.html は 5 枚で、この 1 枚を読まない。
 * そのため移行元でも一覧と詳細で行送りが違う（説明文 21.6px 対 15.6px・項目名
 * 28.8px 対 20.8px）。dev の帯は移行元の詳細と 1 か所も違わないので、直すのは
 * 一覧だけでよい。
 *
 * 印の `.pa-happyreport-list-band` は型紙
 * template-parts/introduce/happyreport-list-band.php が出す。詳細 11 ページの帯は
 * 投入した本文から出るのでこの印を持たず、この規則は当たらない。
 *
 * 🚨 **上の `line-height: 1.3` を消すだけでは 1.8 にならない。**このファイルの
 * `body:not(.pa-profile-new) .entry-content` が --pa-line-height-text を 1.5 へ
 * 落としており、消すとその 1.5 が下りてくる（2026-09-03 に、宣言だけを外した
 * 状態を実測して確認した）。1.8 を明示する必要がある.
 *
 * 狭い画面でも 1.8 のままにする。移行元のこの規則はメディアクエリの外にあり、
 * 幅で値を変えないためである. */
:is(.entry-content, .page-content__body) .pa-happyreport-list-band .introduce_nav--open .nav_menu__sub,
:is(.entry-content, .page-content__body) .pa-happyreport-list-band .introduce_nav--open .nav_menu__main {
	line-height: 1.8;
}

/* --- スマートフォン幅（749px 以下） ---
   移行元はスマートフォンに別のミラー（/sp/introduce/story/）を配信しており、
   そちらのメニューは縦積みである。5 項目を横に並べたままでは 1 項目 66px ほどに
   なって読めないので、上の一覧向けの節と同じ値で 2 列に折り返す. */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu {
		flex-wrap: wrap;
		gap: 16px 12px;
	}

	:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu > li {
		flex: 0 0 calc(50% - 6px);
		margin-right: 0;
	}

	:is(.entry-content, .page-content__body) .introduce_nav--open .nav_menu__main {
		font-size: 14px;
	}
}

/* --------------------------------------------------------------
 * 携帯幅で畳める案内メニュー（.pa-collapsible-nav）— 共通の部品
 *
 * 組みは template-parts/introduce/collapsible-nav.php、動きは
 * assets/js/collapsible-nav.js が持つ。会員紹介には同じ形の帯を持つ画面が 6 つ
 * あり（会員のホンネ体験談・成婚ストーリー・会員プロフィールと活動実績・
 * あなたの婚活予想図Ⅲ・お客様の声・しあわせレポート）、どの画面からも使える。
 * **画面ごとの名前（.pa-happyreport-list-band など）には結び付けない。**
 *
 * 写し元は移行元のスマートフォン版
 * legacy/www.p-a.jp/public/sp/introduce/css/sp_style.css の 66〜172 行目である。
 * 同じ写しが assets/introduce/css/style_introduce.css にもあるが、あちらは
 * 診断ページ（/introduce/）を描くときしか読み込まれず、移行元の class 名
 * （.accordion-container / .article-title）のままである。ここは全ページへ配れる
 * 1 枚（main.css）に、この基盤の名前で置く。
 *
 * 🚨 **畳むかどうかは `@media` ではなく JavaScript が付ける印
 * （`is-collapsible`）で切り替える。**移行元の JavaScript の境目は「幅 750px
 * 以下」で、このテーマの CSS の決まり（749px 以下）と 1px 食い違うためである。
 * 印が付いていない間（広い画面・JavaScript が動かない環境）は、押しボタンが
 * 隠れて一覧が開いたまま出る。**広い画面の見た目は 1px も変わらない。**
 *
 * 🚨 **一覧の中の項目を組み替える規則には `:is(.entry-content, …)` を前置する。**
 * 打ち消す相手（上の `.introduce_nav--open .nav_menu > li` など）が
 * その前置きを持っており、前置き無しでは詳細度で負けて携帯幅の縦積みが効かない。
 *
 * 🚨 **前置きには `.pa-introduce-top` も並べる（ユーザー決定 D403）。**成婚ストーリーの
 * 一覧 7 枚は、本文ではなく型紙（`template-parts/story-archive-intro.php`）が
 * `div.pa-introduce-top` の中へ帯を出すため、本文の 2 つだけでは届かない。
 * 届かないあいだ、この 7 枚は携帯幅で 5 項目を 2 列に折り返して出していた
 * （下の「2 列に折り返す」節）。D403 で**移行元どおりの 1 列**に決まったので、
 * 前置きを広げてこの縦積みの組みを届かせ、2 列の節は外した（Bug #7133）。
 *
 * この前置きを持つ画面は、いずれも帯を本文か `.pa-introduce-top` の中に出すので、
 * 前置きを広げても使える画面は減らない。
 * -------------------------------------------------------------- */

/* 押しボタンは、畳める状態のときだけ見せる。移行元のスマートフォン版にしか
   無いもので、広い画面には出さない. */
.pa-collapsible-nav__toggle {
	display: none;
}

/* 器の枠線（移行元 .accordion-container の border）。畳める状態のときだけ出す。

   🚨 **移行元は同じ名前の CSS を区画ごとに持つ。**`.accordion-container` に枠線を
   書いているのは `sp/introduce/css/sp_style.css` のほうで、これを読むのは
   しあわせレポートなどである。**成婚ストーリーの携帯版
   （`/sp/introduce/story/`）が読むのは区画の中の
   `sp/introduce/story/css/sp_style.css` で、そちらは `.accordion-container` の
   規則を持たない**（そのページの `<link>` を数えて確かめた）。そのため成婚
   ストーリーだけは枠線を外す（下の節・Bug #7264）. */
.pa-collapsible-nav.is-collapsible {
	position: relative;
	border: 2px solid #463d3c;
	color: #fff;
	text-align: center;
}

/* 🚨 **成婚ストーリーの一覧 7 枚からも枠線を外さない（Bug #7424 で取り下げた）。**

   ここには [Bug #7264](https://github.com/mationinc/wp-platform/issues/7264) が足した
   `.pa-introduce-top .pa-collapsible-nav.is-collapsible { border: 0 }` が在った。
   理由は「移行元のこの区画の携帯版は `.accordion-container` の規則を持たない」
   だったが、**移行元は規則も要素も持っている。**

     写し元の規則 … `sp/introduce/story/css/sp_style.css` の
                    `.accordion-container { width: 100%; border: 2px solid #463d3c }`
     読み込み ……… 一覧 7 枚とも `<link rel="stylesheet" href="css/sp_style.css">` を持つ
     要素 ………… 7 枚とも `/introduce/include/story_menu_sp.shtml` を `include_once` で
                    取り込み、その中に `div#accordion.accordion-container` が在る

   🚨 **7 枚の HTML の字を数えると `accordion-container` は 0 件である。**取り込みを
   広げないと見えないので、字だけを数えて「移行元に無い」と読んではいけない。

   #7264 が測った 4px（移行元 328.13 × 78 対 dev 324.13 × 77.5）は、枠線の有無では
   なく**枠線の太さを幅に含めるかどうか**の差だった。移行元は `content-box` で外形が
   332.13px・押しボタンが 328.13px、dev は `border-box` で押しボタンが 324.13px に
   なる。**その数え方は [PR #7394](https://github.com/mationinc/wp-platform/pull/7394)
   が直してある**（上の `.archive-content--story .pa-introduce-top
   .introduce_nav.introduce_nav--open { box-sizing: content-box; width: 87.5% }`）ので、
   枠線を戻しても押しボタンは 328.13px のままである。

   波及はこの 7 枚だけである。`is-collapsible` は `assets/js/collapsible-nav.js` が
   幅 750px 以下でだけ付けるのでパソコン幅には効かず、`.pa-introduce-top` を出す型紙は
   `template-parts/story-archive-intro.php` の 1 つだけである. */

/*
 * 押しボタンの見た目（Task #3232）。
 *
 * **書体と字の大きさは、この部品を使う 3 か所が実際に必要とする値を既定にしてある。**
 * 以前の既定は 12px・書体の指定なしで、**その値をそのまま使う画面は 1 つも無かった**
 * （成婚ストーリー詳細・しあわせレポート詳細・しあわせレポート一覧の帯の 3 か所が、
 * どれも 16.25px の明朝へ上書きしていた）。使われない値を既定に置くと、次に使う人が
 * 「既定のまま置けばよい」と読み違える。
 *
 * 🚨 **書体は `button` へ直接当てる。**テーマの初期化に `button { font-family: inherit }`
 * が無いため、指定しないと押しボタン用の既定（Arial・日本語はゴシック）が残る。
 * 移行元は見出し要素（h4）で組んでおり明朝で出る。
 *
 * 【16.25px の由来】移行元 `happyreport.css` の 2025〜2027 行が
 * `.accordion-container .article-title { padding: 15px; font-size: 1.25em;
 * font-weight: bold }`、2088〜2093 行が `.article-title { font-family: 游明朝, serif }`
 * である。親の `.accordion-container` はサイト共通の初期化（`sp/css/basic.css`）で
 * 13px なので、`1.25em` は **16.25px** になる。行の高さは 16.25 × 1.5 = 24.375px で、
 * 内余白 30px と枠線 4px を足すと移行元の器 58.375px にそろう.
 */
.pa-collapsible-nav.is-collapsible .pa-collapsible-nav__toggle {
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 15px;
	border: 0;
	background: #fff;
	color: #463d3c;
	font-family: "游明朝", "YuMincho", serif;
	font-size: 16.25px;
	font-weight: bold;
	cursor: pointer;
}

/* 開くと地と文字の色が入れ替わる（移行元 .article-title.open）. */
.pa-collapsible-nav.is-collapsible.is-open .pa-collapsible-nav__toggle {
	background: #463d3c;
	color: #fff;
}

/* キーボードでたどったときだけ輪郭を出す。テーマの初期化が `button` の輪郭を
   消しているため、この押しボタンにだけ戻す。移行元は見出し要素（h4）で組んで
   いてフォーカスを受けないため、対応する指定は移行元に無い。`outline` は寸法と
   位置を動かさない。色は開閉で入れ替わる 2 色をそのまま使う. */
.pa-collapsible-nav.is-collapsible .pa-collapsible-nav__toggle:focus-visible {
	outline: 2px solid #463d3c;
	outline-offset: -5px;
}

.pa-collapsible-nav.is-collapsible.is-open .pa-collapsible-nav__toggle:focus-visible {
	outline-color: #fff;
}

/*
 * 押しボタンの中の文字（Task #3232 で既定を寄せた）。
 *
 * 以前の既定は 13px だった。移行元のスマートフォン版はサイト共通の初期化
 * （`/sp/css/basic.css`）が `span` へ 13px を与えるため、**その値そのものは移行元に
 * 実在する**。ただし**この部品を使う画面はどれもその 13px を必要としていない**
 * （3 か所とも 16.25px へ上書きしていた）ので、押しボタンと同じ 16.25px を既定にする。
 *
 * 🚨 **太さはここに書かない。**成婚ストーリーは押しボタンの太字を受け継ぐ形で
 * 太字にしている。ここに太さを宣言すると、宣言していない画面が太字を失う
 * （Task #3232 のスコープ外として明記されている）.
 */
.pa-collapsible-nav.is-collapsible .pa-collapsible-nav__label {
	position: relative;
	font-size: 16.25px;
}

/* 矢印。文字の右 30px の位置に、辺 6px の角を回して出す（移行元
   .article-title span:after）。**閉じているとき 135°・開くと −45°**である. */
.pa-collapsible-nav.is-collapsible .pa-collapsible-nav__label::after {
	display: block;
	position: absolute;
	top: 20%;
	right: -30px;
	width: 6px;
	height: 6px;
	border-top: solid 1px #463d3c;
	border-right: solid 1px #463d3c;
	content: "";
	transform: rotate(135deg);
	transition: all 0.2s ease-in-out;
}

.pa-collapsible-nav.is-collapsible.is-open .pa-collapsible-nav__label::after {
	top: 40%;
	border-top-color: #fff;
	border-right-color: #fff;
	transform: rotate(-45deg);
}

/* 動きを控える設定のときは、矢印も瞬時に向きを変える. */
@media (prefers-reduced-motion: reduce) {
	.pa-collapsible-nav.is-collapsible .pa-collapsible-nav__label::after {
		transition: none;
	}
}

/* 開閉する一覧。高さは JavaScript が px で書き込む（開閉の 200ms のあいだ）。
   ここでは下地だけを持つ。**`display: none` は書かない。**書くと JavaScript が
   動かない環境で開けなくなる（畳んだ状態は JavaScript が付ける印の側で作る）. */
.pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel {
	background: #f7f7f7;
}

/* --- 一覧の中の項目を縦積みにする（移行元のスマートフォン版の組み） ---
   前置きの `:is(.entry-content, …)` は詳細度のためである（節の冒頭の 🚨 を参照）. */
:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel {
	display: block;
	margin: 0;
	padding: 0;
}

:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel > li {
	position: relative;
	width: auto;
	margin: 0;
	border-bottom: 1px solid #e5e5e5;
	font-size: 13px;
	line-height: normal;
	text-align: center;
}

:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel > li:last-child {
	border-bottom: none;
}

:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel > li > a {
	display: block;
	padding: 15px;
	color: #392a28;
	font-weight: bold;
	opacity: 1;
	text-decoration: none;
}

/* 項目の中の 2 行。この基盤は広い画面に合わせて `p` を 2 つ置くため、テーマ共通の
   段落の余白と行送りが乗る。移行元の一覧はどちらも持たない。

   🚨 **行送りは `normal` ではなく 1.5 を明示する。**移行元のスマートフォン版は
   `* { line-height: 1.5 }`（introduce/happyreport/assets/css/happyreport.css の
   126〜128 行目）で全要素の行送りを 1.5 にしている。`normal` は書体が内部に持つ
   数値で決まるため、いま測ると 1.5 と同じ高さになるが、書体が変わると崩れる。

   🚨 **1 行目の字の大きさをここで 13px に戻す。**移行元のスマートフォン版は
   サイト共通の初期化（legacy/www.p-a.jp/public/sp/css/basic.css）が `span` へ
   13px を与えており、会員紹介の 6 画面すべてで同じ 13px になる。dev は、この
   ファイルの `:is(…) .introduce_nav--open .nav_menu__sub { font-size: 12px }`
   （広い画面の 2 列組み向けの値）が携帯幅へも漏れて 12px になっていた。1 行目の
   高さが 13 × 1.5 = 19.5px ではなく 12 × 1.5 = 18px になり、項目 1 つあたり
   1.5px・5 項目で 7.5px 低くなる（2026-09-03 の実測で確認した）. */
:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel .nav_menu__sub,
:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel .nav_menu__main {
	margin: 0;
	line-height: 1.5;
}

:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel .nav_menu__sub {
	font-size: 13px;
}

:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel .nav_menu__main {
	font-size: 18px;
}

/* 項目の右端に出す右向きの矢印（移行元 .accordion-content li:after）。広い画面の
   下線の飾りは同じ `li::after` を使っているので、その値を打ち消しながら書く. */
:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel > li::after,
:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel > li:hover::after,
:is(.entry-content, .page-content__body, .pa-introduce-top) .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel > li.current::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 5%;
	bottom: auto;
	left: auto;
	width: 4px;
	height: 4px;
	border-top: solid 1px #463d3c;
	border-right: solid 1px #463d3c;
	background: none;
	content: "";
	transform: rotate(45deg);
	transform-origin: 50% 50%;
	transition: all 0.2s ease-in-out;
}

/* --------------------------------------------------------------
 * しあわせレポートの一覧だけに効く帯の上書き（.pa-happyreport-list-band）
 *
 * 🚨 **移行元のスマートフォン版は CSS を 7 枚読み、7 枚目がパソコン版と共通の
 * introduce/happyreport/assets/css/happyreport.css である。**一覧のページだけが
 * この 1 枚を最後に読むので、同じ詳細度なら会員紹介共通の
 * sp/introduce/css/sp_style.css に勝つ。上の共通の部品は sp_style.css の写しで
 * あり、**この 7 枚目のページ専用の上書きを写していなかった**。ここで足す
 * （2026-09-03 の実測で、畳んだ器が移行元 58.375px 対 dev 53.5px と 4.875px
 * 低いことの原因だった）。
 *
 * 詳細 11 ページはこの印を持たない（帯が投入した本文から出るため）。
 *
 * 🚨🚨 **以前ここに「移行元でも詳細は happyreport.css を読まないので、当てないのが
 * 正しい」と書いていたが、これは誤りだった（2026-09-04 に訂正）。**詳細が
 * `happyreport.css` を読まないことは正しい。しかし**詳細は専用の 1 枚
 * `sp/introduce/happyreport/css/sp_style.css` から、同じ `1.25em`（= 16.25px。
 * 19〜28 行）と `font-family: 游明朝, serif`（78〜79 行）を受けている**。
 * 記録版 19f499fe3 の `public/sp/introduce/happyreport/report_01.html` の
 * `link` タグを全数で読んで確かめた（5 本 = `../../css/basic.css` /
 * `../../css/common.css` / `../../css/style.css` / `css/sp_style.css` /
 * `css/style.css`）。
 *
 * **教訓: 「このページはあの CSS を読まないから当たらない」とファイル名だけで
 * 判断してはいけない。**同じ値を別のファイルが与えていることがある。値で確かめる
 * （実測するか、そのページが読む CSS を全数で読む）。
 *
 * 実害: 1 班（HAPPY REPORT 担当）の実測で、詳細の押しボタンが移行元 54px 対
 * dev 50px（幅 375px・移行元は本番 www.p-a.jp を携帯の名乗りで開いた転送先
 * `/sp/introduce/happyreport/report_01.html` を 2026-09-04 00:32 JST に取得）、
 * 畳んだ区画が移行元 83px 対 dev 99px になっていた。押しボタンの 4.375px は
 * この誤りが原因である（内余白 15 × 2 ＋ 行の高さ 16.25 × 1.5 = 54.375px）。
 *
 * 移行元の詳細の実測（1 班・同じ転送先を 2026-09-04 01:15 JST に取得）:
 *
 *   押しボタン `h4.article-title` … **中の要素 0 個・文字を直接持つ**。
 *     328.125 × 54px・内余白 15px 四方・字 16.25px・太さ 700・游明朝・中央そろえ・
 *     色 rgb(70,61,60)・左端 25.4375px
 *   枠つきの器 `.accordion-container` … 332.125 × 58px・左端 23.4375px・枠線 2px 四方
 *   器 `.box` … 375 × 83px・内余白 上 25px / 左右 23.4375px（= 6.25%）
 *
 * 🚨 **一覧と詳細で押しボタンの組みが違う。**体験談では移行元の `h4` の中に
 * `span` があり、サイト共通の初期化（`sp/css/basic.css`）が `span` を 13px・
 * 太さ normal に戻すので**見える字は 13px** になる。しあわせレポートの詳細は
 * `span` を持たず文字を直接置くので、**見える字は 16.25px のまま**である。
 * **押しボタンの高さ 54.375px はどちらでも同じ**（`h4` 自身の 16.25px が行の高さを
 * 決めるため）なので、**高さでは見分けられない。**中の要素の有無を必ず確かめる。
 *
 * **詳細への値の実装は 1 班が詳細専用の CSS で行う**（司令塔の切り分け・
 * 2026-09-04）。下の 2 つの規則は一覧の印のままにしてある。
 * -------------------------------------------------------------- */

/* 🚨 **押しボタンの書体と字の大きさはここに書かない（Task #3232）。**共通部品の
   既定が 16.25px の明朝になったので、同じ値をこの画面で繰り返さない。値の由来は
   共通部品の側の注釈に書いた. */

/* 一覧の上の隙間 10px。移行元 happyreport.css の 2051〜2056 行目が
   `.accordion-content { padding: 10px 0 0px }` を持つ。共通の部品は下地だけを
   持ち隙間が 0 だったため、開いた一覧が 10px 低かった。

   🚨 **一覧そのものの内余白では作らない。**内余白で持たせると、畳むときに
   高さを 0 にしても `box-sizing: border-box` のため内余白が下限として残り、
   **畳んだ器が 10px 高くなる**（移行元は jQuery が `display: none` にするので
   内余白が効かない。2026-09-03 の実測で、内余白の案は器が 58.375px ではなく
   68.375px になった）。`:not(.is-open)` で内余白を消す案も試したが、閉じ始めに
   一覧と 1 件目が同時に 10px 跳ぶ（`is-open` を外した直後に閉じる動きが走る）。

   そこで**1 件目の上外余白**で隙間を作る。畳んだときは一覧の側で外へのはみ出しを
   隠しているため外余白が効かず、器は 58.375px になる。開いたときは外余白が
   一覧の外へ相殺されて出るので、器は 4 + 54.375 + 10 + 386.5 = 454.875px と
   移行元に一致する。1 件目の縦位置（66.375px）も変わらず、跳びも 0 だった. */
.pa-happyreport-list-band .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__panel > li:first-child {
	margin-top: 10px;
}

/* 矢印。移行元 happyreport.css の 2094〜2106 行目は **見出し自身の `::after`**
   （`.article-title:after`）で、辺 **8px**・`right: 25%`・`top: 38%`（開くと
   45%）である。共通の部品が写した sp_style.css の `.article-title span:after` は、
   **移行元の h4 が span を持たないため当たっていない**（見た目に出るのは
   happyreport.css の側だけである）。共通の部品の側は span を持つ他の画面のために
   残し、この画面では文字の側を消してボタンの側へ描く. */
.pa-happyreport-list-band .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__label::after {
	content: none;
}

.pa-happyreport-list-band .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__toggle::after {
	display: block;
	position: absolute;
	top: 38%;
	right: 25%;
	width: 8px;
	height: 8px;
	border-top: solid 1px #463d3c;
	border-right: solid 1px #463d3c;
	content: "";
	transform: rotate(135deg);
	transition: all 0.2s ease-in-out;
}

.pa-happyreport-list-band .pa-collapsible-nav.is-collapsible.is-open .pa-collapsible-nav__toggle::after {
	top: 45%;
	border-top-color: #fff;
	border-right-color: #fff;
	transform: rotate(-45deg);
}

/* 動きを控える設定のときは、矢印も瞬時に向きを変える（共通の部品と同じ扱い）. */
@media (prefers-reduced-motion: reduce) {
	.pa-happyreport-list-band .pa-collapsible-nav.is-collapsible .pa-collapsible-nav__toggle::after {
		transition: none;
	}
}

/* --- 携帯幅（749px 以下）の区画の余白と器の幅 ---

   移行元のスマートフォン版は、区画 `#introduce_top` の中に `.box` を置き、
   `#introduce_top .box { padding: 25px 6.25% 0px }`（`screen and (max-width: 749px)`）
   で「上に 25px・左右に画面幅の 6.25%」を作っている。dev には `.box` に当たる器が
   無いので、区画と案内メニューの 2 つで同じ形を作る。

   🚨 **上の内余白 20px は広い画面では正しい値である。**このファイルの
   `#introduce_top:has(.introduce_nav--open)` の `padding-top: 20px` は、移行元の
   パソコン版 `introduce/happyreport/css/style_happyreport.css` の写しで、幅 1440px の
   区画の高さ 147.19px がこれに依っている（そちらのコメントに実測が残っている）。
   **移行元のスマートフォン版のミラーはその 1 枚を読み込まない**ので、狭い画面だけ
   25px へ置き換える。店舗一覧の 70px と同じ型の見落としだった。

   🚨 **案内メニューの上外余白 25px は 0 にする。**上の 20px には「子の上外余白が
   区画の外へ抜けるのを止める」働きもあるため、内余白を 0 にする案（区画の内余白を
   消して外余白 25px だけを残す形）では外余白が外へ抜け、区画が 25px 足りなくなる
   （実測で 68.375px になった）。内余白 25px + 外余白 0 の形だけが移行元と一致する。

   🚨 **左右は「内余白の百分率」では合わない。**内余白の百分率は自分の幅ではなく
   親の内容の幅（このテーマでは画面幅 − 30px）を基準にするため、区画へ
   `padding-inline: 6.25%` と書くと 4 つの画面幅すべてで 3.750px ずれる。移行元と
   同じく「全幅の器 + 子を 6.25% 内側へ」の形にする。`vw` は使わない（仕様上
   縦スクロールバーの幅を含み、バーが出る環境で移行元とずれる）。

   実測（移行元は本番 www.p-a.jp のスマートフォン版・4 つの画面幅すべてで差 0）:

     | 画面幅 | 器の幅   | 器の左端 |
     | 320px  | 280.000  | 20.000   |
     | 375px  | 328.125  | 23.438   |
     | 414px  | 362.250  | 25.875   |
     | 749px  | 655.375  | 46.813   |

   器の幅を直すと、矢印の `right: 25%` の基準も一緒に動いて 81.031px に合う
   （帯の中で百分率を使う指定は矢印の左右だけで、`top` は押しボタンの高さを
   基準にするため変わらない）。横のはみ出しは 0 だった. */
@media (max-width: 749px) {
	/* 🚨 溝の打ち消しは割合で書く（Bug #7062）。15px の直書きでは 6.25% の溝に
	   追従せず、**全幅のはずが 358.125px になり左右に 8.4px の白が残る**
	   （2026-09-17 21:48 の実測）。`-100% / 14` は溝 ÷ 中身 = 6.25 ÷ 87.5 の比である. */
	:is(.entry-content, .page-content__body) .pa-happyreport-list-band#introduce_top:has(.introduce_nav--open) {
		width: auto;
		margin-inline: calc(-100% / 14);
		padding-top: 25px;
	}

	:is(.entry-content, .page-content__body) .pa-happyreport-list-band .introduce_nav--open {
		width: auto;
		margin-top: 0;
		margin-inline: 6.25%;
	}
}

/* --------------------------------------------------------------
 * 挿絵つきの導入区画（.pa-story-intro）
 *
 * 写し元は移行元 introduce/css/style_introduce_story.css の #story .heading
 * 以下である。挿絵を絶対位置で左に置き、文章を右の 65% に寄せる。挿絵は区画の
 * 下辺からはみ出す（bottom: -15%）ので、区画の下に 100px の余白を取る。
 * -------------------------------------------------------------- */

/* 幅は上の .pa-introduce-top と同じ考え方で、囲みの幅をそのまま受け取る. */
.pa-story-intro {
	position: relative;
	width: 100%;
	margin: 0 auto 100px;
}

.pa-story-intro__illust {
	position: absolute;
	bottom: -15%;
	left: 15%;
	width: 156px;
	height: auto;
}

.pa-story-intro__body {
	margin-left: 35%;
	text-align: left;
}

/* 題名。移行元は文字の背後に飾りの絵（parts.png）を敷き、高さ 80px を確保して
   いる。絵は飾りなので読み上げの対象にしない（背景画像で出す）. */
.pa-story-intro__title {
	height: 80px;
	margin: 0;
	background-image: url("../introduce/images/story/parts.png?ver=81d8810c2d3d");
	background-repeat: no-repeat;
	color: inherit;
	font-family: var(--pa-font-family-serif);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
}

.pa-story-intro__catch {
	width: 100%;
	margin: 0 0 25px;
	color: #322422;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
}

.pa-story-intro__text {
	width: 82%;
	margin: 0;
	font-size: 16px;
	line-height: var(--pa-line-height-text);
}

/* --- スマートフォン幅（749px 以下） ---
   挿絵を絶対位置のまま置くと文章に重なるので、流れの中へ戻して縦に積む。

   🚨 **並びは移行元スマホ版にそろえる**（Bug #7391）。あちらは
   題名 → 挿絵 → キャッチ → 説明文の順である（写しは
   `assets/introduce-voice-story/css/story.css` の
   `#story .heading > .heading-cont > h2` ほかで、`display: contents` と
   `order` で並べ替えている）。dev の markup は挿絵が先に来るので、同じ手で戻す. */
@media (max-width: 749px) {
	/* 🚨 **題名の器の内余白と外余白を移行元スマホ版にそろえる**（Bug #8367）。
	   移行元は `#story .box { padding: 25px 6.25% 32px }`（`sp/introduce/story/css/style.css`
	   33〜35 行）と `.heading { margin-bottom: 12% }`（同 436〜438 行・幅 375 で 45px）で、
	   その下の一覧の器 `#story .box` がまた上の内余白 25px を持つ。dev の器は内余白 0・
	   下の外余白 20px で、題名が 48px 下に、一覧の見出しが 25.61px 上に出ていた
	   （2026-09-25 の実測。`pa-verify-assets/B/8367-実測-0925/`）。

	   左右の 6.25% は足さない（dev の器はすでに柱の中に在る。題名の注釈と同じ理由）。
	   下の外余白は「12% ＋ 次の器の上の内余白 25px」から一覧の器の行の間隔を引く.

	   🚨 **12% は画面の幅に対する割合のまま写す。**移行元の 12% の基準は `#story` の幅
	   （画面いっぱい）で、dev の器の外余白の % の基準は柱の幅（画面の 87.5%）である。
	   `12% / 0.875` にすると、どの幅でも移行元と同じ値になる（幅 375 で 45px）。
	   45px で決め打ちすると、幅 320 で 6.6px 広く、幅 749 で 44.88px 狭くなる
	   （セルフレビューの指摘）. */
	.pa-story-intro {
		display: flex;
		flex-direction: column;
		margin-bottom: calc(12% / 0.875 + 25px - var(--pa-archive-gap));
		padding: 25px 0 32px;
	}

	/* 挿絵の上下の外余白は移行元の `img.mv_cont`（上 15px・下 30px）の実測に合わせる（Bug #8367）. */
	.pa-story-intro__illust {
		order: 2;
		position: static;
		display: block;
		margin: 15px auto 30px;
	}

	/* 中の器をほどいて、題名・キャッチ・説明文を挿絵と同じ並びへ載せる. */
	.pa-story-intro__body {
		display: contents;
		margin-left: 0;
	}

	/* 🚨 **刷毛の絵を消さない**（Bug #7391）。ここは以前 `background-image: none` で
	   消していたが、**移行元スマホ版は刷毛の絵を持つ。**写しは story.css の
	   `#story .heading > .heading-cont > h2` で、`parts.png` を中央に敷き、
	   字は 28px、箱の最低の高さは 70px、左右の余白は 6.25% である。
	   2026-09-18 19:31 の実測でも移行元に刷毛が在り、dev に無かった. */
	/* 🚨 **左右の余白を題名に足さない**（Bug #7879）。移行元の 6.25% は
	   **器（`#story .heading.box` の `padding: 25px 6.25% 0`）**に付いており、
	   題名そのものは器いっぱい（328.13px）である。dev の `.pa-story-intro` は
	   すでに柱の中（幅 328.13・左 23.44）に在るので、題名にも 6.25% を足すと
	   余白が二重になり、**題名が 41px 狭くなる**（287.13・左 43.94 になっていた）。
	   飾りの絵（`parts.png`）の中心は幅を戻しても画面の 187.5 で変わらない. */
	.pa-story-intro__title {
		order: 1;
		height: auto;
		min-height: 70px;
		background-position: 50% 50%;
		font-size: 28px;
		text-align: center;
	}

	/* キャッチの下の外余白は移行元の `p.title_txt` の 20px（Bug #8367）. */
	.pa-story-intro__catch {
		order: 3;
		margin-bottom: 20px;
	}

	/* 説明文の行送りは移行元と同じ `normal`（Bug #8367）。移行元スマホ版の説明文は行送りを
	   持たず、3 行で 72px になる。dev は本文の既定（1.8・28.8px）で 86.39px だった. */
	.pa-story-intro__text {
		order: 4;
		width: 100%;
		line-height: normal;
	}
}

/* ==============================================================
 * 移行してきた本文が使うクラス（成婚ストーリー詳細の導入区画と話数）
 *
 * 成婚ストーリーの詳細（/introduce/story/story_98.html 等）は、本文の先頭に
 * 一覧と同じ導入区画（div.heading）を持ち、その下に話数（p.grid_num）と
 * サブタイトル（p.grid_ttl）を置く。移行元でもこの 3 つは詳細ページに出る。
 * dev では当てる CSS が無く、素の段落として左寄せで並んでいた（Issue #1628 の
 * C3-09）。
 *
 * 写し元は移行元サイト legacy/www.p-a.jp/public の次の 3 か所である。
 *   introduce/css/style_introduce_story.css の #story .heading
 *   css/style.css の .grid_box .grid_num / .grid_ttl（1715 行目から）
 *   css/page_introduce.css の #story .grid_box .grid_num（343 行目）
 *
 * 導入区画は .heading だけだと診断ページの部品（template-parts/introduce/ 配下）と
 * 名前がぶつかる。移行してきた本文にしか無い .heading-cont を子に持つことを
 * 条件にして絞る。
 * ============================================================== */

:is(.entry-content, .page-content__body) .heading:has(> .heading-cont) {
	position: relative;
	margin: 0 auto var(--pa-space-md);
}

:is(.entry-content, .page-content__body) .heading:has(> .heading-cont) .mv_cont {
	position: absolute;
	bottom: -15%;
	left: 15%;
	width: 156px;
	max-width: none;
	height: auto;
}

:is(.entry-content, .page-content__body) .heading-cont {
	margin-left: 35%;
	text-align: left;
}

:is(.entry-content, .page-content__body) .heading-cont h2 {
	height: 80px;
	margin: 0;
	padding: 0;
	border: 0;
	background-image: url("../introduce/images/story/parts.png?ver=81d8810c2d3d");
	background-repeat: no-repeat;
	font-family: var(--pa-font-family-serif);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
}

:is(.entry-content, .page-content__body) .heading-cont .title_txt {
	width: 100%;
	margin: 0 0 25px;
	color: #322422;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
}

:is(.entry-content, .page-content__body) .heading-cont p {
	width: 82%;
	margin: 0;
	font-size: 16px;
}

/* 話数とサブタイトル。移行元は #story を中央寄せにしているため、この 2 つも
   中央に出る。id ではなくクラスへ直接書くのは、#story が /word/ や /event/ の
   移行ページにも残っていて、そちらの本文まで中央寄せになってしまうためである. */
:is(.entry-content, .page-content__body) .grid_num {
	margin: 0 0 15px;
	/* 金色を直に書かず、役割の色を使う。既定は同じ金色（#a3762b）に解決されるが、
	   新デザインのページ（body.pa-profile-new）では墨色へ切り替わる。直に書くと
	   新デザインの側だけ色が取り残される. */
	color: var(--pa-color-heading);
	font-size: 26px;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
}

/* 成婚ストーリーの詳細だけは話数を 18px にする（移行元 page_introduce.css の
   #story .grid_box .grid_num）。この節の id は本文にそのまま残っている。
   id を :where() で包み、詳細度をクラス 2 つぶんに留める。包まないと id の重みで
   狭い画面用の 14px（下の @media の .grid_num）に勝ってしまい、スマートフォンで
   移行元とずれる. */
:is(.entry-content, .page-content__body) :where(#story) .grid_num {
	font-size: 18px;
}

@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .heading:has(> .heading-cont) .mv_cont {
		position: static;
		display: block;
		margin: 0 auto 16px;
	}

	:is(.entry-content, .page-content__body) .heading-cont {
		margin-left: 0;
	}

	:is(.entry-content, .page-content__body) .heading-cont h2 {
		height: auto;
		background-image: none;
		font-size: 22px;
	}

	:is(.entry-content, .page-content__body) .heading-cont p {
		width: 100%;
	}
}

/* ==============================================================
 * 移行してきた本文が使うクラス（お客様の声 /introduce/voice/）
 *
 * お客様の声のページは、寄せられた声を 1 件ずつ白い枠に収め、満足度を赤地
 * （満足・やや満足）と灰地（やや不満）の白抜きで出す。dev では枠も塗りも無く、
 * 平文が続けて出ていた（Issue #1628 の C3-13 と C3-14）。
 *
 * 写し元は移行元サイト legacy/www.p-a.jp/public/css/page_introduce.css の
 * 「VOICE」節（10 行目から）である。
 *
 * 年度で絞り込む脇のメニュー（#side_menu）と、それに合わせた 2 段組みの
 * 配置はここでは扱わない。絞り込みの UI は Issue #1620 の担当で、dev では
 * まだ空の入れ物だけが出ている。声のカードは今の 1 段のままでも移行元と同じ
 * 見え方になるため、幅と回り込みの指定は #1620 の側へ委ねる。
 * ============================================================== */

/* 柱の幅は移行元の 1,100px をそのまま書く（移行元 _page_introduce.css の 45〜50 行
   `#voice .voice_list .list_inner { margin: 0 auto; width: 1100px; }`）。

   もとは最も近い幅のトークン（--pa-inner-ex ＝ 1,120px）に寄せていたが、**20px 広い**。
   札の器（.voice_body）は 71.5% で組んであるため、この 20px がそのまま
   0.715 倍で効き、札が移行元より 13.8px 広くなる（1440px 幅の実測で 800.8px 対
   移行元 787.0px）。**受入の目安 ±2px を超えるので、トークンではなく実寸を書く**
   （Bug #1816）。

   width の 90%（--pa-inner-ratio）は、柱より狭い画面で左右に余白を残すための
   指定なので残す. */
:is(.entry-content, .page-content__body) .voice_list .list_inner {
	width: var(--pa-inner-ratio);
	max-width: 1100px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.6;
}

:is(.entry-content, .page-content__body) .inner_ttl {
	margin-bottom: 30px;
	color: var(--pa-color-heading);
	font-size: 30px;
	letter-spacing: 0.1em;
	line-height: 1;
}

/* 声 1 件ぶんの白い枠. */
:is(.entry-content, .page-content__body) .voice_body dl {
	margin: 0 0 15px;
	padding: 20px;
	background: var(--pa-palette-white);
}

/* 枠の頭。伏せ字の記号と属性を並べ、下に区切り線を引く。
   太字にしないのは移行元に合わせるためである。本文の定義リストの既定は dt を
   太字にするので、その分をここで戻している（Issue #1622 の実測）. */
:is(.entry-content, .page-content__body) .voice_body dt {
	margin: 0 0 15px;
	padding: 0 0 15px;
	border-bottom: 1px solid #ccc;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}

:is(.entry-content, .page-content__body) .voice_body dt span {
	display: inline-block;
	width: 38px;
	color: var(--pa-palette-red-legacy);
	font-size: 30px;
	line-height: 1;
}

/* 本体。既定の定義リストは左に字下げが入るので、移行元に合わせて外す. */
:is(.entry-content, .page-content__body) .voice_body dd {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
}

/* 答えの頭に付く区分の札。白抜きの文字なので、下地の色も対で写さないと
   白地に白い文字が出て読めなくなる. */

/* 満足度の名札。移行元は白抜きの太字で、満足度によって地の色を変える. */
:is(.entry-content, .page-content__body) .voice_body dd span {
	display: inline-block;
	margin-bottom: 5px;
	padding: 7px 10px;
	color: var(--pa-palette-white);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

:is(.entry-content, .page-content__body) .voice_body dd span.stfc01 {
	background: var(--pa-palette-red-legacy);
}

:is(.entry-content, .page-content__body) .voice_body dd span.stfc02 {
	background: #888;
}

/* --------------------------------------------------------------
 * お客様の声の区分の札を、携帯幅だけ問（dt）の側へ出す（Bug #4881）
 *
 * 移行元はパソコン版と携帯版で HTML が違い、札の置き場所が変わる（パソコン版は答の頭・
 * 携帯版は問の末尾）。投入はパソコン版を写すので、携帯幅では札が答に残って 1 件が
 * 38.85px 高くなっていた。表示のときに問へ写しを 1 つ足し（`inc/voice-sp-badge.php`）、
 * ここで幅ごとに出し分ける。
 *
 * 🚨 **750px 以上の見た目は 1px も変えない。**問の写しは既定で隠し、携帯幅だけ出す。
 * 🚨 隠すのは `display: none` なので、読み上げの木からも外れる（二重に読まれない）。
 * -------------------------------------------------------------- */

/* 既定（750px 以上）では、問へ足した写しを出さない. */
:is(.entry-content, .page-content__body) .voice_body dt span.pa-voice-sp-badge {
	display: none;
}

@media (max-width: 749px) {
	/* 答の頭の札と、その直後の改行を消す（改行が残ると空の行が 1 行できる）. */
	:is(.entry-content, .page-content__body) .voice_body dd > span.stfc01,
	:is(.entry-content, .page-content__body) .voice_body dd > span.stfc02,
	:is(.entry-content, .page-content__body) .voice_body dd > span.stfc01 + br,
	:is(.entry-content, .page-content__body) .voice_body dd > span.stfc02 + br {
		display: none;
	}

	/*
	 * 問へ足した写しを、移行元の携帯版と同じ姿で出す。値は移行元の
	 * `public/sp/introduce/voice/css/style.css` の `#voice dt span` から写した。
	 *
	 * 🚨 **上の `.voice_body dt span`（幅 38px・30px・赤字。伏せ字の記号のための指定）を
	 * 打ち消す。**打ち消さないと札が 42 x 20px から 20 x 36px へ崩れる（11 班の実測）。
	 * 当たり先に class を足して強さで勝たせているので、**共通の規則には手を触れない**。
	 */
	:is(.entry-content, .page-content__body) .voice_body dt span.pa-voice-sp-badge {
		display: inline-block;
		width: auto;
		margin: 0 0 5px 10px;
		padding: 5px 10px 4px;
		color: var(--pa-palette-white);
		font-size: 11px;
		font-weight: 700;
		line-height: 100%;
	}

	:is(.entry-content, .page-content__body) .voice_body dt span.pa-voice-sp-badge.stfc01 {
		background: var(--pa-palette-red-legacy);
	}

	:is(.entry-content, .page-content__body) .voice_body dt span.pa-voice-sp-badge.stfc02 {
		background: #888;
	}
}

:is(.entry-content, .page-content__body) .reason_copy {
	margin-bottom: 20px;
	font-size: 30px;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

:is(.entry-content, .page-content__body) .reason_text {
	font-size: 16px;
	line-height: 1.6;
}

/* --------------------------------------------------------------
 * 5. ワード解説と成婚ストーリーの一覧（#story）
 *
 * 写し元: public/css/page_introduce.css の 169〜257 行と、
 * public/css/style.css の 1635〜1650 行。
 * -------------------------------------------------------------- */

:is(.entry-content, .page-content__body) #story .main_copy {
	margin-bottom: 15px;
	font-size: 30px;
	line-height: 1;
}

:is(.entry-content, .page-content__body) #story .main_read {
	margin-bottom: 60px;
	font-size: 20px;
	line-height: 1.6;
}

:is(.entry-content, .page-content__body) .archive_ttl {
	margin-bottom: 30px;
	color: var(--pa-color-heading);
	font-size: 30px;
	line-height: 1;
}

/* 題名に添える小さな語（「で選ぶ」等）は黒に戻す. */
:is(.entry-content, .page-content__body) .archive_ttl span {
	color: var(--pa-color-text);
	font-size: 18px;
}

/* 🚨 **幅で出し分けるためだけの「包み」は、上の小さな語の見た目を拾わない**
   （Task #5788・Bug #5776 #5778）。

   移行元はパソコン版と携帯版で見出しの字面を変えている。`word/all.html` と
   `introduce/story/all.html` は**副題だけでなくかぎ括弧も携帯版に無い**ので、
   投入側でかぎ括弧まで `span` で包む。

       <span class="pa-legacy-pc-only pa-legacy-plain">「すべての記事」<span>記事一覧</span></span>
       <span class="pa-legacy-sp-only pa-legacy-plain">すべての記事</span>

   **その包みも `span` なので、上の規則が当たって 30px が 18px へ縮む。**

   🚨 **印（`pa-legacy-pc-only` / `-sp-only`）そのもので絞ってはいけない。**あの印は
   **副題の `span` 自体**にも付く（ワード解説の年別 7 ページ）。印だけで絞ると、
   その副題が 18px を失って 30px になる。**だから包み専用の印を分ける。**

   🚨 **`:has(span)` では絞れない（D3 の指摘・2026-09-11）。**携帯版の包みは
   `すべての記事` という**素の字だけで、中に `span` を持たない。**`:has(span)` だと
   当たらず、携帯幅で副題の見た目（17px）が付いたままになる。

   🚨 **`display` は打ち消しに入れない。**`display: inline` を書くと、隠す指定
   （`.pa-legacy-pc-only { display: none }`）とぶつかって**隠れなくなる**。

   🚨 **`display: contents` も採らない。**包みの箱は消えるが `font-size` と `color` は
   中の字に伝わったままで、結局名指しで戻す必要がある。

   🚨 **`font: inherit` の一括では書かない。**`font-weight` と字面まで巻き込む
   （見出しは `.serif` を持つ）。**要る 4 つを名指しで戻す**。

   🚨 **詳細度で上の規則に勝たせる。**上の規則は
   `:is(.entry-content, .page-content__body) .archive_ttl span` で **(0,2,1)**、この規則は
   **(0,3,0)** である（`:is()` は引数のうち最も強いものの詳細度を採るので (0,1,0)）。
   **類の数が 3 対 2 で勝つので、置く順番には依らない**。素の `.pa-legacy-plain` だけだと
   (0,1,0) で負けるので、当たり先から `.archive_ttl` を外してはいけない. */
:is(.entry-content, .page-content__body) .archive_ttl .pa-legacy-plain {
	margin: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* 一覧のカードの題名と抜粋。題名は移行元 public/css/style.css の 1635〜1640 行。
   抜粋は移行元が 2 系統に分けており、テーマは長らく片方だけを全一覧へ当てていた
   （Bug #4809）。

   移行元の 2 系統:

     すべての一覧（共通）    public/css/style.css 1646〜1650 行
                             span.text { margin-bottom: 20px; font-size: 12px;
                                         line-height: 166% }
     #story を持つ一覧だけ   public/css/page_introduce.css 253〜257 行
                             #story ... span.text { margin-bottom: 20px;
                                         font-size: 16px; line-height: 166% }

   🚨 **`#story` を持つ 2 区画は、下の間隔がさらに分かれている。**実測（幅 1440px・
   移行元の本番・2026-09-08 21:47:52 JST）:

     ワード解説 /word/                字 16px ・下の間隔 0px
                                      （public/word/css/style.css 470〜472 行が 0 に戻す）
     成婚ストーリー /introduce/story/  字 16px ・下の間隔 20px

   **直す前のテーマは、ワード解説の値（0px）を全一覧へ当てていた。**そのため
   `#story` を持たない調査レポートの一覧 13 ページで、字が 16px（移行元 12px）・
   下の間隔が 0px（移行元 20px）になっていた。

   そこで**共通の系統は移行元の共通 CSS どおりに戻し**、`#story` の系統だけを
   `.story_inner` で絞って上書きする。成婚ストーリーの 20px は区画別 CSS
   （assets/introduce-voice-story/css/story.css の
   `#story .story_inner .list_box li a .list_detail span.text`）が当てており、
   **ID を持つので下の `.story_inner` の 0 より強い**。両区画とも移行元と同じ値に残る. */
:is(.entry-content, .page-content__body) .list_box .ttl {
	margin-bottom: 20px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
}

:is(.entry-content, .page-content__body) .list_box .text {
	margin-bottom: 20px;
	font-size: 12px;
	line-height: 1.66;
}

/* 抜粋の `#story` の系統（ワード解説・成婚ストーリー）。移行元の
   page_introduce.css 253〜257 行の 16px を、その 2 区画だけへ当てる。

   🚨 **パソコン幅に閉じる。**携帯幅は下の `@media (max-width: 749px)` の塊が
   共通の抜粋へ 14px / 10px を当てており（移行元の携帯版から写した値）、この帯を
   外すとワード解説の携帯幅がその値から外れる。**移行元は携帯の名乗りに別ページ
   （/sp/word/）を返すので、携帯幅の正はそちらである**（Bug #4809 のスコープ外）.

   🚨 **下の間隔を 0 にするのはワード解説のためである。**成婚ストーリーは区画別 CSS
   が 20px を当てて勝つ（上の説明のとおり）. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) .story_inner .list_box .text {
		margin-bottom: 0;
		font-size: 16px;
	}
}

/* --------------------------------------------------------------
 * 灰色の札の高さを移行元にそろえる（Bug #2870）
 *
 * **両側は同じ 20px を別の場所に持っていた。**
 *
 *   移行元 … 説明文（`.text`）の下に 20px。これは**灰色の箱の中**なので、箱は
 *            中身なり（294）になる。箱の下の 22px（`a` の外余白）は**灰色の外**に
 *            出て段の間隔を作る
 *   dev    … 説明文の下は 0。代わりに `li` の下に 20px、`a` に `height: 100%` と
 *            下の外余白 22px。**`a` の 22px が `li` の高さに入り、`height: 100%` が
 *            灰色をそこまで広げる**（274 ＋ 22 ＝ 296）
 *
 * だから**移行元と同じ場所へ 20px を戻し、`a` の 22px は `li` へ移す**。
 * `li` の高さが中身のまま（294）になり、`height: 100%` も 294 で止まる。
 * 段の送りは 294 ＋ 22 ＝ 316 で変わらない。
 *
 * 🚨 **「説明文へ 20px を戻して `li` の 20px を外す」だけでは直らない**（候補 A）。
 * `a` の 22px が `li` に残るので、灰色が **316** になり移行元より 22px 高くなる。
 * 机上では `height: 100%` の解決が循環して確定しないので、**当てて測って決めた**。
 *
 * 実測（幅 1440px・移行元は本番 www.p-a.jp から取得・2026-09-11）:
 *
 * | 婚活アンケート | 灰色の札 | 中身 | 段の送り | 器 |
 * |---|---:|---:|---:|---:|
 * | 移行元 | **294** | **294** | 316 | 1264 |
 * | dev 直す前 | 296 | 274 | 316 | 1264 |
 * | 候補 A | **316** | 294 | 316 | 1264 |
 * | **この直し** | **294** | **294** | 316 | 1264 |
 *
 * 婚活スポット（`/introduce/spot/`）も同じ形である（移行元 203・直す前 205・
 * この直しで **203**。段の送り 225・器 450 とも不動）。
 *
 * 🚨 **当たり先は器（`.page-content__body`）で絞る。**同じ当たり先をワード解説
 * （投稿型 `post`）と成婚ストーリー（`.single-content--story`）も使う。上の帯が
 * 説明文の下を 0 にしているのはワード解説のためである。実測でもその 2 つは
 * 当てる前と後で不動だった（ワード解説 5860.84・成婚ストーリー 500 / 276 / 1977.3）。
 *
 * 🚨 **携帯幅には当てない。**携帯幅は下の `@media (max-width: 749px)` の帯が
 * `li` を縦並びにして別の値を当てており、移行元も別ページである.
 * -------------------------------------------------------------- */
@media (min-width: 750px) {

	.page-content__body .story_inner .list_box .text {
		margin-bottom: 20px;
	}

	.page-content__body .story_inner .list_box li a {
		margin-bottom: 0;
	}

	.page-content__body .story_inner .list_box > li {
		margin-bottom: 22px;
	}
}

/* --------------------------------------------------------------
 * 6. 体験談一覧のカードに出る会員の数値
 *
 * ここだけは移行してきた本文ではなく、テーマが組み直した部品である。
 * 移行元 public/introduce/css/style_introduce_experience.css の
 * .number-list（993〜1015 行）から、文字組みだけを写す。色は上の
 * 「本文の文字色と行間を移行元へ戻す」の区画で当てている。
 *
 * 個別ページ側（.pa-experience__number*）の大きさには触らない。あちらは
 * 移行元と同じ 25px の太字で組んである。狭い画面もこの 25px のままである
 * （かつては 20px へ小さくする上書きがあったが、移行元のミラーが狭い画面
 * でも 25px で組んでいるため Issue #1671 で外した）。
 *
 * 体験談の検索タブ（.pa-experience-search__tab-*）も触らない。移行元は
 * 画面幅いっぱいの 4 分割のタブ帯で、このテーマは丸みのある押しボタンに
 * 組み替えてある。文字の大きさや太さだけを移行元へ戻しても形が合わず、
 * かえって崩れる。形ごと戻すかどうかは別に決める必要がある。
 * -------------------------------------------------------------- */

.pa-archive-card--experience .pa-archive-card__numbers {
	font-weight: bold;
}

.pa-archive-card--experience .pa-archive-card__number {
	text-align: center;
}

/* 移行元 .number-list__cont .lg の 25px。カードの既定は題名と同じ 22px なので、
   体験談のカードだけ上書きする. */
.pa-archive-card--experience .pa-archive-card__number-value {
	font-size: 25px;
}

/* 題名の画像。移行元 #voice .title は中央寄せの区画の中に置かれている. */
:is(.entry-content, .page-content__body) #voice > .title {
	margin: 0 0 35px;
	text-align: center;
}

/* ==============================================================
 * 移行してきた本文が使うクラス（しあわせレポート /introduce/happyreport/）
 *
 * しあわせレポートの一覧は、ご夫婦ごとの写真カードを 3 列に並べ、写真の下に
 * vol 番号と夫婦名を 1 行で置く。dev では当てる CSS が無く、黒丸つきの箇条書きに
 * なってページの高さが 2.5 倍に伸びていた（Issue #1628 の C3-15 と C3-16）。
 *
 * 写し元は移行元サイト legacy/www.p-a.jp/public/introduce/happyreport/assets/css/
 * happyreport.css の .report 以下（1827 行目から）と .hero 以下（1134 行目から）
 * である。移行元は基準の文字を 10px にしているので、rem の値は 10 倍して px に
 * 直してある（1.8rem = 18px）。
 *
 * このページだけは欧文が IBM Plex Sans で、vol 番号が Rubik である（移行元
 * happyreport.css の body と .report__number）。他のページへ波及させないよう、
 * 写真カードの並び（.report__list）を持つ本文だけに書体を当てる（C3-17）。
 * ============================================================== */

/* 【物差し --pa-hr-u】移行元は基準の文字（html の font-size）を、750px 以上で
   10px、749px 以下で 2.5445292621vw に切り替える（happyreport.css の 144〜153 行）。
   つまり移行元の rem の値は、狭い画面では画面の幅に比例して縮む。テーマの基準
   （16px）は全ページに関わるので変えられない。そこでこのページの中だけで使う
   物差しをカスタムプロパティで持ち、`calc(<移行元の rem の数> * var(--pa-hr-u))`
   の形で書く。1 本の宣言で広い画面と狭い画面の両方が移行元と同じ値になる。

       1rem → calc(1 * var(--pa-hr-u))   750px 以上 = 10px / 749px 以下 = 2.5445292621vw

   同じ道具を、このページの下部 3 区画（.pa-hr-bottom）が既に使っている。

   🚨 **移行元の値をすべて比例させてはいけない。**移行元には比例させる指定
   （rem）と固定の指定（px・%）の 2 つがあり、区画ごとに使い分けている。写すときは
   移行元の該当行を読んで、rem のものだけ calc() へ直す。px のものは px のまま残す
   （例: 写真の角丸 20px・札の上限幅 285px・枠線 2px）。

   🚨 **画面の幅で「rem の数そのもの」が変わるところは、この物差しでは吸収でき
   ない。**移行元が 750px 以上と 749px 以下で別の rem を書いている箇所は、
   ここでもメディアクエリで 2 度書く（例: 大見出しは 5rem と 3.2rem）。 */
.entry-content:has(.report__list),
.entry-content:has(.experience__slider) {
	--pa-hr-u: 10px;
}

@media (max-width: 749px) {
	.entry-content:has(.report__list),
	.entry-content:has(.experience__slider) {
		--pa-hr-u: 2.5445292621vw;
	}
}

/* 本文の書体と幅。書体は移行元 happyreport.css の body と同じ並びである。
   幅は移行元がこのページに使う .l-inner-ex（90%・上限 1120px）に合わせる。
   記事本文の既定（800px）のままだと 3 列にしたときの 1 列が 254px まで縮み、
   夫婦名が 2 行に折り返して移行元と違う見え方になる.

   🚨 **`body` そのものへは当てない。**移行元はページ 1 枚の CSS で
   `body { font-family: … !important }` と書いているが、そのまま写すとサイト共通の
   ヘッダーとフッターまで書体が変わる。ここで本文の器へ当て、中の文字に継がせる。
   実測（幅 1440px・2026-09-03）: この器の下の文字 1,081 か所がすべて
   IBM Plex Sans になり、移行元と同じ内訳（vol 番号の Rubik・区画の見出しの
   Noto Sans JP・READ の Spinnaker・入口の帯の游明朝体）に一致する. */
.entry-content:has(.report__list) {
	max-width: var(--pa-inner-ex);
	font-family: "IBM Plex Sans", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

/* 冒頭の題名まわり。移行元は会員データのページから流用した組みである。
   写し元は happyreport.css の 1151〜1213 行（.hero__title__en / .hero__title /
   .hero__title span / .hero__text）. */
.entry-content:has(.report__list) .hero__title__en {
	margin: 0;
	color: #d7000f;
	font-size: calc(1.4 * var(--pa-hr-u));
	font-weight: 700;
}

.entry-content:has(.report__list) .hero__title {
	margin: calc(2 * var(--pa-hr-u)) 0 calc(3 * var(--pa-hr-u));
	font-size: calc(5 * var(--pa-hr-u));
	line-height: 1.44;
}

.entry-content:has(.report__list) .hero__title span {
	display: block;
	font-size: calc(2.4 * var(--pa-hr-u));
	line-height: 1.7;
}

/* リード文。移行元の `.hero__text` は外余白を持たない（移行元は文書全体の初期化で
   段落の外余白を 0 にしている）。テーマは記事本文の段落へ一律に下の余白
   （--pa-article-paragraph-gap）を与えるため、ここで打ち消す。
   実測（幅 1440px・2026-09-03）: 移行元 0px に対し dev は 0px 0px 25px で、
   冒頭の区画の高さが 341.98px 対 366.98px と 25px 高かった. */
.entry-content:has(.report__list) .hero__text {
	margin: 0;
	font-size: calc(1.6 * var(--pa-hr-u));
	line-height: 2;
}

/* 写真カードを 3 列に並べる。移行元 .report__list は 1 列あたり
   「3 分の 1 から 13px 引いた幅」で、余りを均等に空ける. */
.entry-content:has(.report__list) .report__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

.entry-content:has(.report__list) .report__list__item {
	width: calc(33.33% - 13px);
	margin: 0;
}

.entry-content:has(.report__list) .report__list__item a {
	display: block;
	text-decoration: none;
}

.entry-content:has(.report__list) .report__list__item a:hover {
	color: var(--pa-palette-coral);
	opacity: 0.8;
}

.entry-content:has(.report__list) .report__list__img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

/* 縮小絵を包む `<p>` の外余白を落とす（Bug #7552 の項目 1）。

   この `<p class="report__list__img">` には本文の段落の決まり
   `.entry-content p { margin: 0 0 var(--pa-article-paragraph-gap) }`（25px）が
   当たる。すぐ下の `.report__list__text` は上の外余白が 6px なので、隣り合う
   外余白どうしが相殺して**大きいほうの 25px** になる。移行元は `common.css` の
   初期化が `p` の外余白を 0 にしているので 6px のままである。

   2026-09-19 14:36〜14:40 に幅 1440 で測った差はちょうど 25 − 6 = 19.00px で、
   札 1 枚の高さが dev 330.59px・移行元 311.59px だった。絵・文の行・vol 番号・
   夫婦名・その `span` はいずれも差 0 なので、余っていたのはこの外余白だけである
   （記録 `pa-verify-assets/D3/7581-7552-測定-0919/記録.md`）。

   すぐ下の `.report__number` と `.report__name` にも同じ理由で `margin: 0` を
   当ててある. */
.entry-content:has(.report__list) .report__list__img {
	margin: 0;
}

/* vol 番号と夫婦名を 1 行に並べる。移行元は横並びの中央揃えである. */
.entry-content:has(.report__list) .report__list__text {
	display: flex;
	align-items: center;
	margin: calc(0.6 * var(--pa-hr-u)) 0 calc(3 * var(--pa-hr-u));
	font-size: calc(1.8 * var(--pa-hr-u));
}

/* vol 番号の大きさ。移行元は広い画面で
   `clamp(2.5rem, 1.333rem + 2.49vw, 3.2rem)` と書いているが、この式は 750px の
   時点で既に上限へ届く（750px で 13.33 + 18.675 = 32.005px > 32px）。つまり
   750px 以上ではどの幅でも 3.2rem になるので、ここでは上限の値だけを書く. */
.entry-content:has(.report__list) .report__number {
	margin: 0;
	padding-right: calc(1.5 * var(--pa-hr-u));
	color: #ffe9e9;
	font-family: "Rubik", sans-serif;
	font-size: calc(3.2 * var(--pa-hr-u));
	font-weight: 600;
	-webkit-text-stroke: 1px var(--pa-palette-coral);
}

/* 夫婦名。移行元の行送りは倍率ではなく実寸（`line-height: 2rem`）である。
   実測（2026-09-03）: 移行元 20px / 幅 375px で 19.084px に対し、dev は倍率 1.2 の
   まま 21.6px だった. */
.entry-content:has(.report__list) .report__name {
	margin: 0;
	font-size: calc(1.8 * var(--pa-hr-u));
	font-weight: 700;
	line-height: calc(2 * var(--pa-hr-u));
}

.entry-content:has(.report__list) .report__name span {
	display: block;
	font-size: calc(1.4 * var(--pa-hr-u));
	font-weight: 400;
}

/* --- スマートフォン幅（749px 以下） ---
   移行元はここで写真カードを横送り（slick）に切り替えるが、その仕掛けは
   移行してきていない。横送りの代わりに 1 列で縦に積む。

   ここに並ぶのは「移行元が 750px 以上と別の値を書いている」ぶんだけである。
   同じ rem を使う指定は、上の物差し（--pa-hr-u）が画面幅に比例させるので
   ここへ書き足さなくてよい. */
@media (max-width: 749px) {
	/* 移行元 happyreport.css の 1177〜1181 行（3.2rem / 上 0.7rem）. */
	.entry-content:has(.report__list) .hero__title {
		margin: calc(0.7 * var(--pa-hr-u)) 0 calc(3 * var(--pa-hr-u));
		font-size: calc(3.2 * var(--pa-hr-u));
		font-weight: 700;
	}

	/* 同 1193〜1197 行（1.8rem）. */
	.entry-content:has(.report__list) .hero__title span {
		font-size: calc(1.8 * var(--pa-hr-u));
		font-weight: 700;
	}

	/* 同 1156〜1164 行。冒頭の英字だけは狭い画面で 1.4rem → 1rem と
	   rem の数そのものが変わる. */
	.entry-content:has(.report__list) .hero__title__en {
		font-size: calc(1 * var(--pa-hr-u));
	}

	/* 同 1208〜1212 行. */
	.entry-content:has(.report__list) .hero__text {
		line-height: 1.72;
	}

	.entry-content:has(.report__list) .report__list__item {
		width: 100%;
	}

	/* 移行元 `.report__list__text` の下の外余白 3rem は 750px 以上にしか
	   書かれていない（同 1899〜1903 行）。狭い画面では 0 に戻す. */
	.entry-content:has(.report__list) .report__list__text {
		margin-bottom: 0;
	}

	/* 同 1916〜1920 行（3rem。広い画面の 3.2rem とは別の値である）. */
	.entry-content:has(.report__list) .report__number {
		font-size: calc(3 * var(--pa-hr-u));
	}
}

/* --------------------------------------------------------------
 * 体験談の一覧 6 本の横送りと、写真カードの「もっと見る」（Task #1700）
 *
 * 移行元はしあわせレポートの一覧で、体験談の一覧 6 本（年齢別の 20 代・30 代・
 * 40 代・50 代と、男性視点・女性視点）を slick の横送りに畳み、写真カードを
 * 先頭 6 件だけ見せていた。その仕掛けが移行してきておらず、dev ではどちらも
 * 全件が縦に伸びたまま並んでページの高さが移行元の約 2.5 倍になっていた。
 *
 * 写し元は移行元サイト legacy/www.p-a.jp/public/introduce/happyreport/ の
 * assets/js/happyreport.js（横送りの設定値と moreNum）と、同じディレクトリの
 * assets/css/happyreport.css の 1855〜1882 行（.is-hidden と .is-btn-hidden）。
 * 札の寸法は移行元の稼働中ページの実測値（パソコン幅 1440px）である。
 *
 *   札の幅 340px / 札と札の間 60px（移行元の左右 margin 30px ずつ）
 *   器の左右の余白 50px（移行元 slick の centerPadding の既定値）
 *   札の下の帯 30px（移行元の下 margin。ここへドットを重ねる）
 *
 * 畳む指定はすべて assets/js/happyreport-list.js が付ける is-enhanced と
 * is-hidden に掛けてある。JavaScript が動かない環境では、体験談は 3 列で
 * 折り返す並びのまま全件が読め、写真カードも 10 件すべてが出る.
 * -------------------------------------------------------------- */

/* ドットを札の下の帯へ重ねるための位置の基準。囲みは
   assets/js/happyreport-list.js が一覧の外側へ差し込む. */
:is(.entry-content, .page-content__body) .pa-happyreport-slider {
	position: relative;
}

/*
 * 3 列で折り返す並び（.flexBox--3col）を、1 行の横スクロールへ組み替える。
 * 中央寄せは CSS の scroll-snap が仕上げる。
 *
 * 横スクロールバーは隠す。移行元は overflow: hidden の器で送るためバーが
 * 見えないが、dev は overflow-x: auto で送るのでバーが出ていた。
 * 🚨 はみ出しの扱い（overflow-x: auto）は変えない。変えると指・ホイール・
 * 矢印キーで送る手段が消える。隠すのはバーの表示だけである。
 * 隠し方はトップページの横送り（.front-page .pa-slider__track）と同じ 3 つ
 * （overflow-y: hidden / -ms-overflow-style: none / scrollbar-width: none）と、
 * WebKit 向けの ::-webkit-scrollbar である.
 */
:is(.entry-content, .page-content__body) .experience__slider.is-enhanced {
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	gap: 60px;
	padding: 0 50px 30px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	/* 🚨 **横の指の払いはブラウザに任せない**（ユーザー決定 D650・Bug #8403）。
	   `assets/js/happyreport-list.js` の startDrag が、移行元の slick と同じく
	   1 回の払いで 1 枚だけ送る。任せると、速く弾いたときに慣性で札を何枚も
	   通り越す。縦の払い（ページのスクロール）はブラウザのまま. */
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

:is(.entry-content, .page-content__body) .experience__slider.is-enhanced::-webkit-scrollbar {
	display: none;
}

:is(.entry-content, .page-content__body) .experience__slider.is-enhanced:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 4px;
}

:is(.entry-content, .page-content__body) .experience__slider.is-enhanced > .stories-list__item {
	flex: 0 0 auto;
	width: 340px;
	max-width: 100%;
	scroll-snap-align: center;
	/* 1 回の送りで札を通り越さない（ユーザー決定 D650・Bug #8403）。
	   🚨 **これだけでは速い指の弾きは止まらない。**headless の Chromium の下見で、
	   幅 375 の写真カードは 1 回の弾きで 2 枚流れた（-315 → -985・670px）。
	   指の払いは器の `touch-action: pan-y` と `happyreport-list.js` の startDrag が
	   1 枚ずつにする。ここは横のホイール（dev だけの操作・意図的変更の台帳）で
	   札を通り越さないための控えである. */
	scroll-snap-stop: always;
}

/*
 * 現在位置を示すドット。中のボタンは assets/js/happyreport-list.js が札の
 * 枚数ぶん組み立てる。
 *
 * 見せ方は移行元へ合わせる。移行元は slick というライブラリの既定の見た目
 * （plugin/slick/slick-theme.css の .slick-dots）をそのまま使っており、
 * 幅 1440px の実測は次のとおりである。
 *
 *   器 …… 札の下の帯より 25px 下（bottom: -25px）・幅いっぱい・中央そろえ
 *   点 …… 1 つの箱が 20 × 20px。隣の点との左端の差は 30px
 *          （箱 20px + 左右の外余白 5px ずつ）
 *   印 …… 「•」の文字を 6px で描く。黒。不透明度は非選択 0.25 / 選択中 0.75
 *
 * 以前はトップページの横送り（.pa-slider__dot）にそろえて 10px の真円を
 * border-radius で描いていたが、移行元は真円の図形ではなく文字のグリフで
 * あり、角丸は 0px だった（実測）。移行元へ寄せ直した.
 */

/* 🚨 **器の高さは 24px である（20px ではない）。**移行元は器を
   `display: block` + `text-align: center` にして、20px の `inline-block` を
   並べる組み方である。点は文字の基準線に載るので、**基準線より下に付く余白
   （下ぞろえの伸び）のぶんだけ器が 4px 高くなり 24px になる**。以前ここは
   `display: flex` で組んでおり、器はちょうど 20px だった。

   器と点は `bottom: -25px` で器の下端から測るので、**この 4px の差がそのまま
   縦位置の差になっていた**（実測・幅 1440px・2026-09-03 08:17 UTC:
   札の下端 → 点の器の上端が移行元 31px 対 dev 35px。器の下端 → 点の器の上端が
   移行元 1px 対 dev 5px）。

   組み方は移行元と同じにしたうえで、**高さ 24px を数値でも書いてある**。
   基準線より下に付く余白の大きさは書体の寸法で決まり、移行元の書体
   （`font-family: 'slick'` ほか）を移してきていないため、組み方だけに任せると
   4px にならない恐れがある。`line-height: 0` で文字の高さの影響を消し、点を
   `vertical-align: top` で器の上端へそろえると、移行元と同じ「点 20px + 下に
   4px の余白」になる。

   🚨 **点と点の間隔 30px は保つ**（箱 20px + 左右の外余白 5px ずつ）。点は
   assets/js/happyreport-list.js が `appendChild` で並べるので、点と点の間に
   空白の文字が入らない。`inline-block` で組んでも余分な隙間は出ない. */
:is(.entry-content, .page-content__body) .pa-happyreport-slider__dots {
	display: block;
	position: absolute;
	right: 0;
	bottom: -25px;
	left: 0;
	height: 24px;
	line-height: 0;
	text-align: center;
}

:is(.entry-content, .page-content__body) .pa-happyreport-slider__dot {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	border: 0;
	background: none;
	color: transparent;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
}

/* 印の丸。20 × 20px の箱の中に、直径 5px の丸を置く。

   🚨 **文字の「•」で描いてはいけない。**移行元は `font-family: 'slick'` の
   専用書体で「•」を出しており、その書体ファイルは移行してきていない。ここは
   以前「6px の『•』は書体が変わっても小さな丸に見える」として書体の指定を
   写さなかったが、**その前提は実測で覆った**。書体の指定が無いと `button` の
   既定（Arial）を受け継ぎ、同じ 6px でも「•」の送り幅が **slick 6.000px 対
   Arial 2.109px**（`sans-serif` は 2.875px）と大きく変わる。実際の丸は
   **移行元 5.11px 対 dev 1.54px** で、面積で 9 分の 1 になっていた
   （幅 1440px・拡大 4 倍の画素実測・2026-09-03）。ユーザーが「スライドショーの
   ボタンが移行元より小さい」と目視で見つけた差である。

   そこで文字をやめ、丸そのものを CSS で描く。値は移行元の墨の乗る範囲に
   合わせた（面積換算の直径 5.11px・重心は箱の上端から 10.12px）。
   `5px` と `margin: 7.5px auto` で重心 10.0px になり、差は 0.12px である
   （拡大 4 倍でも 0.5 画素で見分けられない）。

   色と不透明度は直す前から一致していた（両側とも黒・0.25 / 現在地 0.75 /
   指を乗せた 1）ので触らない. */
:is(.entry-content, .page-content__body) .pa-happyreport-slider__dot::before {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	margin: 7.5px auto;
	border-radius: 50%;
	background: #000;
	opacity: 0.25;
}

:is(.entry-content, .page-content__body) .pa-happyreport-slider__dot.is-current::before {
	opacity: 0.75;
}

/* 指を乗せた・キーボードの焦点が当たったときは濃くする（移行元の
   :hover / :focus を写す）. */
:is(.entry-content, .page-content__body) .pa-happyreport-slider__dot:hover::before,
:is(.entry-content, .page-content__body) .pa-happyreport-slider__dot:focus::before {
	opacity: 1;
}

/* 🚨 **移行元より良くする 1 点。**キーボードの焦点が当たったときに輪郭を出す。
   移行元は輪郭を持たず、焦点の合図は 6px の「•」の濃さが変わるだけである
   （不透明度 0.25 → 1）。6px の点の濃さの変化は小さく、Tab で移動しても
   **いまどの点に居るかがほとんど見えない**。器そのものの焦点表示
   （.experience__slider.is-enhanced:focus-visible）と同じ 2px の輪郭を出す。
   :focus-visible なので、マウスで押したときには出ない（移行元の見た目を
   マウス操作では変えない）. */
:is(.entry-content, .page-content__body) .pa-happyreport-slider__dot:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 2px;
}

@media (min-width: 750px) {
	/* 隠している写真カード。移行元は opacity: 0 と height: 0 で畳んでいるが、
	   その形だと中身が畳んだ枠からはみ出したまま「もっと見る」の上へ重なり、
	   押しボタンを覆ってしまう。見え方は同じで押しボタンを覆わない
	   display: none を使う. */
	.entry-content:has(.report__list) .report__list__item.is-hidden {
		display: none;
	}

	.entry-content:has(.report__list) .report__list__btn.is-btn-hidden {
		display: none;
	}
}

@media (max-width: 749px) {
	/* 狭い画面では写真カードを 10 件とも出すため、押しボタンは行き先を持たない。
	   移行元も同じ幅で押しボタンを隠している（移行元のクラス名 .onlyPc）. */
	.entry-content:has(.report__list) .report__list__btn.onlyPc {
		display: none;
	}

	/* 移行元のスマートフォン版は、この一覧だけを画面の全幅（375px）で見せている
	   （実測: 一覧の器 375px・左右の余白 0px）。dev の本文の器は左右に 15px の
	   余白を持つため、そのままでは一覧が 345px しか取れず、札を移行元と同じ
	   324px にできない（324px は器からはみ出して縮む）。器の余白を打ち消して
	   画面の全幅へ広げる。打ち消す幅を数値で書かず 100vw との差で出すので、
	   本文の器の余白が変わっても追従する。囲みは
	   assets/js/happyreport-list.js が差し込むため、JavaScript が動かない
	   環境ではこの広げ方も効かない（本文の器の中に収まったまま）. */
	:is(.entry-content, .page-content__body) .pa-happyreport-slider {
		width: 100vw;
		margin-inline: calc(50% - 50vw);
	}

	/* 札の寸法は移行元のスマートフォン版のミラーの実測値に合わせる
	   （https://www.p-a.jp/sp/introduce/happyreport/ を幅 375px で計測。
	   札 324px・札と札の間 57px・左右の余白 25px）. */
	:is(.entry-content, .page-content__body) .experience__slider.is-enhanced {
		gap: 57px;
		padding: 0 25px 30px;
	}

	:is(.entry-content, .page-content__body) .experience__slider.is-enhanced > .stories-list__item {
		width: 324px;
	}
}

/* --------------------------------------------------------------
 * 写真カードの一覧を、狭い画面で 1 枚ずつの横送りにする（Bug #3083）
 *
 * 移行元は幅 750px 以下でこの一覧も slick の横送りにしており、札を 1 枚ずつ
 * 中央に置いて左右の隣を 20px ずつのぞかせる。dev は横送りの仕掛けを移して
 * いなかったため、10 枚が縦に積まれていた（区画の高さは移行元 253.45px に対し
 * dev 2,599.95px。移行元は本番 www.p-a.jp を 2026-09-03 07:48 UTC に幅 375px で実測）。
 *
 * 🚨 **この節は @media を使わない。**組み立てる境目は移行元と同じ「幅 750px 以下」
 * だが、テーマの CSS の狭い画面の節は「749px 以下」で固定されている
 * （scripts/pa-cms/tests/test_viewport_switch_by_width.py が見張っている）。1px
 * 食い違うので、見た目の切り替えは assets/js/happyreport-list.js が付ける
 * is-report-slider に掛ける。JavaScript が動かない環境では横送りにならず、10 枚が
 * 縦に積まれる（「もっと見る」も同じく JavaScript が要るので、見え方はそろっている）。
 *
 * ドットの見た目（20 × 20px の箱・6px の「•」・不透明度 0.25 / 0.75）は上の
 * .pa-happyreport-slider__dot の節を使い回す。移行元でも体験談と写真カードで
 * 同じ見た目なので、CSS を二重に持たない。分けてあるのは囲みの名前だけである。
 *
 * 送りボタン（左右の矢印）は作らない。移行元も要素は組み立てるが、当たる CSS が
 * 1 本も無く高さ 0px で見えない（移行元での実測）。
 * -------------------------------------------------------------- */

/* ドットを重ねるための位置の基準。囲みは assets/js/happyreport-list.js が
   一覧の外側へ差し込む。

   移行元のスマートフォン版は、この一覧を画面の全幅で見せている（実測: 器 375px・
   左右の余白 0px）。dev の本文の器は左右に 15px の余白を持つため、器の余白を
   打ち消して画面の全幅へ広げる。打ち消す幅を数値で書かず 100vw との差で出すので、
   本文の器の余白が変わっても追従する（体験談の側と同じ書き方である）. */
:is(.entry-content, .page-content__body) .pa-report-slider {
	position: relative;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}

/*
 * 3 列で折り返す並び（.report__list）を、1 行の横スクロールへ組み替える。
 * 中央寄せは CSS の scroll-snap が仕上げる。
 *
 * 左右の内側余白 20px は、両隣の札を 20px ずつのぞかせるための幅である
 * （移行元 slick の centerPadding に当たる）。札と札の間は空けない（gap: 0）。
 *
 * 🚨 **下に帯を作らない。**体験談の側は札の下に 30px の帯を持つが、写真カードの
 * 側は持たない（移行元の実測で、区画の高さ 253.45px は札の高さ 252.9px と
 * ほぼ同じだった）。ドットは `bottom: -25px` で器の外へ出るため、帯が無くても
 * 置ける（高さにも足されない）。
 *
 * バーの隠し方は体験談の横送り（.experience__slider.is-enhanced）と同じ 3 つ +
 * WebKit 向けの ::-webkit-scrollbar である。🚨 はみ出しの扱い（overflow-x: auto）は
 * 変えない。変えると指・ホイール・矢印キーで送る手段が消える.
 */
:is(.entry-content, .page-content__body) .report__list.is-report-slider {
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	gap: 0;
	justify-content: flex-start;
	padding: 0 20px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	/* 横の指の払いはブラウザに任せない（D650・Bug #8403）。理由は体験談の器の規則と同じ. */
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

:is(.entry-content, .page-content__body) .report__list.is-report-slider::-webkit-scrollbar {
	display: none;
}

:is(.entry-content, .page-content__body) .report__list.is-report-slider:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 4px;
}

/* 札の幅は「器の幅 − 40px」である（幅 375px のとき 335px。移行元の実測値）。
   器は上で 100vw まで広げてあるので、100vw から左右の内側余白 20px ずつを
   引いた値になる。
   🚨 `width: 100%` と書き換えない。flex の中の百分率は器の内側の幅を指すので
   同じ値になるが、**移行元の「器の幅 − 40px」がどこから来た値かが読めなくなる**. */
:is(.entry-content, .page-content__body) .report__list.is-report-slider > .report__list__item {
	flex: 0 0 auto;
	width: calc(100vw - 40px);
	scroll-snap-align: center;
	/* 1 回の払いで 1 枚だけ送る（D650・Bug #8403）。理由は体験談の札の規則と同じ. */
	scroll-snap-stop: always;
}

/* 横送りにしているあいだは「もっと見る」を出さない（移行元も出さない）。
   幅 749px 以下は上の .report__list__btn.onlyPc が隠すが、幅ちょうど 750px は
   その節に入らない（CSS の狭い画面の節は 749px 以下だから）。JavaScript が
   差し込む囲みを相手にした規則で、その 1px も塞ぐ。囲みは押しボタンと同じ親の
   中で、押しボタンより前に入る. */
:is(.entry-content, .page-content__body) .pa-report-slider ~ .report__list__btn {
	display: none;
}

/* --------------------------------------------------------------
 * 体験談の区画の高さを移行元へ揃える（Task #1660）
 *
 * 札 1 枚（340 × 489.88px）と枚数は移行元と一致しているのに、区画 1 本
 * （#age20s 等）の高さが移行元 886.88px に対し dev は 596.88px で 290px 低かった。
 * 原因は、移行してきた本文が持つ移行元のクラス 4 つが、テーマにまったく
 * 定義されていなかったことである（2026-08-14 に配信中の CSS を照合して確認）。
 * 差 290px はこの 4 つの内訳で全部説明できる。
 *
 *   .experience__inner   上 90px・下 70px の内側余白 …………… 160px
 *   .experience__btnWrap 札の列との間 60px ………………………… 60px
 *   .btn-a               「もっと読む」の押しボタンの高さ 80px … 56px
 *   .sec__head / .heading-a  見出しの器と見出しの組み方 ……… 14px
 *
 * 写し元は移行元サイトの
 * legacy/www.p-a.jp/public/introduce/happyreport/assets/css/happyreport.css の
 * 1232〜1340 行と、共通の legacy/www.p-a.jp/public/assets/css/style.css の .btn-a
 * である。移行元は基準の文字を 10px にしているので、rem の値は 10 倍して px へ
 * 直してある（9rem = 90px）。
 *
 * 【当てる範囲】.experience と .btn-a は移行元では店舗ページ（静岡・岡山の
 * 新デザイン）やトップページ、そのほか 30 ページでも使われている。そのため
 * クラス名だけでは絞れない。しあわせレポートの一覧にしか無い横送りの印
 * （.experience__slider）を :has() で条件にして、この 1 ページだけに当てる。
 *
 * 【残る差】.btn-a がテーマに無いのはこのページに限らず、移行元で .btn-a を
 * 使う 30 ページすべてで同じである。ここではしあわせレポートの一覧の中だけを
 * 直し、ほかのページの見た目は動かさない。全ページ分の .btn-a を組むかどうかは
 * 別に決める必要がある.
 * -------------------------------------------------------------- */

/* 灰色の帯と区画の上の間隔（移行元 .experience.bg-gray）. */
.entry-content:has(.experience__slider) .experience.bg-gray {
	margin-top: calc(10 * var(--pa-hr-u));
	background: #f3f7f9;
}

/* 区画 1 本の内側余白（移行元 .experience__inner）。移行元は最大幅の指定を
   コメントで外しているので、上限を持たない全幅の器である. */
.entry-content:has(.experience__slider) .experience__inner {
	position: relative;
	margin: 0 auto;
	padding: calc(9 * var(--pa-hr-u)) 0 calc(7 * var(--pa-hr-u));
	text-align: center;
}

/* 年齢別の 4 区画の見出しの器。移行元は器の上辺に黒い罫線を引き、見出しを
   その罫線へ重ねて灰色の下地で罫線を切り抜いている（.sec__head の border-top と
   .heading-a の絶対配置）。年齢別の外側の見出し（h2「年齢別の結婚相談所の体験談」）は
   この組み方ではないので、id を持つ 4 区画だけに当てる. */
.entry-content:has(.experience__slider) :is(#age20s, #age30s, #age40s, #age50s) .sec__head {
	position: relative;
	width: 83.3333%;
	max-width: 1200px;
	margin: 0 auto;
	padding: calc(2 * var(--pa-hr-u)) 0;
	border-top: 1px solid #000;
}

/* 🚨 ここで外余白を 0 にしない。移行元はこの見出しにも `.heading-a` の下外余白
   （750px 以上 = 5rem / 749px 以下 = 3rem）を残しており、dev だけが 0px だった
   （実測・幅 1440px・2026-09-03: 移行元 0px 0px 50px 対 dev 0px）。この見出しは
   絶対配置なので、外余白を戻しても区画の高さは動かない。値は下の
   `.experience .sec__head .heading-a` が与える. */
.entry-content:has(.experience__slider) :is(#age20s, #age30s, #age40s, #age50s) .sec__head .heading-a {
	position: absolute;
	top: calc(-2.8 * var(--pa-hr-u));
	left: 50%;
	padding: calc(1 * var(--pa-hr-u));
	transform: translateX(-50%);
	background: #f3f7f9;
	font-size: calc(2.6 * var(--pa-hr-u));
	font-weight: bold;
}

/* 年齢別の 4 区画ではない見出し（h2「年齢別の結婚相談所の体験談」「男性視点での
   結婚相談所体験談」「女性視点での結婚相談所体験談」）。移行元の .heading-a は
   32px、.heading-a.lg は 36px で、下外余白 50px を持つ（移行元
   assets/css/style.css の .heading-a）。年齢別の 4 区画の見出しには、上の絶対配置の
   指定が id を持つぶん詳細度で勝つため、ここは当たらない。

   直す前は本文の既定の見出し（.entry-content h2 の 28px・上 50px / 下 20px）が
   当たっていた。上の 50px が区画の内側余白へ足し込まれ、男性視点と女性視点の
   区画が移行元より 22px 高くなっていた. */
.entry-content:has(.experience__slider) .experience .sec__head .heading-a {
	margin: 0 0 calc(5 * var(--pa-hr-u));
	padding: 0;
	/* 本文の既定の h2 は下に 2px の罫線と 0.05em の字間を持つ。移行元のこの見出しは
	   どちらも持たないので外す。罫線の 2px は区画の高さにそのまま乗る. */
	border: 0;
	font-size: calc(3.2 * var(--pa-hr-u));
	line-height: 1.5;
	letter-spacing: normal;
}

.entry-content:has(.experience__slider) .experience .sec__head .heading-a.lg {
	font-size: calc(3.6 * var(--pa-hr-u));
}

/* 札の並びを載せる器（移行元 .experience__body）. */
.entry-content:has(.experience__slider) .experience__body {
	position: relative;
	width: auto;
	margin: 0 auto;
}

/* 見出しの器と札の並びの間（移行元 .experience .stories-list の上外余白 26px）と、
   札の並びの下の間隔（同じ並びの下外余白 30px）。囲み（.pa-happyreport-slider）は
   JavaScript が差し込むため、動かない環境でも同じ間隔になるよう両方へ当てる。
   囲みは内側余白も枠線も持たないので、外余白は入れ子で重ならず 1 つに畳まれる。

   下の 30px は「もっと読む」を持たない区画（50 代）でだけ高さに出る。持つ区画
   （20〜40 代）では、次に来る .experience__btnWrap の上外余白 60px と畳まれて
   60px になる。移行元も同じ畳まれ方をしている. */
.entry-content:has(.experience__slider) :is(.pa-happyreport-slider, .experience__slider) {
	/* 移行元 `.experience .stories-list { margin-top: 2.6rem }`（happyreport.css の
	   1363 行）。画面幅に比例させる. */
	margin-top: calc(2.6 * var(--pa-hr-u));
	/* 🚨 下の 30px は比例させない。移行元にこの値を直接書いた行は無く、札 1 枚の
	   下外余白（広い画面 5rem / 狭い画面 1.5rem）から導いた実測合わせの値である。
	   rem の数が幅で変わるため、1 つの倍率へは畳めない. */
	margin-bottom: 30px;
}

/* 札の列と「もっと読む」の間（移行元 .experience__btnWrap の上外余白 6rem）。
   移行元は文字を左に寄せ、押しボタン側の margin: 0 auto で中央へ戻している. */
.entry-content:has(.experience__slider) .experience__btnWrap {
	margin: calc(6 * var(--pa-hr-u)) 0 0;
	text-align: left;
}

/* 「もっと読む」の押しボタン（移行元 .btn-a と .btn-a.-lg / .-orange）。
   高さは枠線 2px を含めて 80px になり、移行元の実測値と一致する。

   左の内余白だけが右より広い（4rem 対 2rem）のは、右端に矢印の絵
   （.btn-a:after の 4rem 角）が重なるためである。矢印はページ専用の CSS
   （assets/introduce-happyreport-list/css/style.css）が出しており、dev でも
   描画されている（実測・幅 1440px・2026-09-03: 40 × 40px を右から 20px の位置）。
   以前ここは左右とも 20px で、移行元の 40px 対 20px と食い違っていた. */
/* 🚨 **文字の並びを書かない。**すぐ上の囲み `.experience__btnWrap` の
   `text-align: left` を受け継ぐのが移行元の組みである（移行元の `.btn-a` 自身は
   `text-align` を持たない）。ここに `text-align: center` を書いていたため、
   受け継ぐ `left` が打ち消され、**箱の中の文字が右へ 43.30px ずれていた**
   （幅 1440px の実測・2026-09-03。移行元は内側の左端から 0px・dev は 43.30px。
   箱の寸法・4 辺の内余白・枠線・角丸・矢印はすべて一致していた）。
   ユーザーが目視で見つけた差である。

   当て先の `:has(.experience__slider)` はしあわせレポートの一覧だけに当たる
   （dev の体験談の一覧 /introduce/experience/ には `.experience__slider` も
   `.experience__btnWrap` も 0 個で、移行元の写しでも `experience__btnWrap` を
   持つ HTML はしあわせレポートの一覧だけだった。2026-09-03 に実測で確認）. */
.entry-content:has(.experience__slider) .experience__btnWrap .btn-a {
	display: block;
	position: relative;
	margin: 0 auto;
	padding: calc(2.15 * var(--pa-hr-u)) calc(2 * var(--pa-hr-u)) calc(2.15 * var(--pa-hr-u)) calc(4 * var(--pa-hr-u));
	border-radius: calc(4 * var(--pa-hr-u));
	font-size: calc(2.2 * var(--pa-hr-u));
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

.entry-content:has(.experience__slider) .experience__btnWrap .btn-a.-lg {
	width: 419px;
	max-width: 100%;
}

/* タブレットの幅だけ字を小さくする（移行元の共通 CSS
   legacy/www.p-a.jp/public/assets/css/style.css が持つ
   `@media (min-width: 750px) and (max-width: 1023px) { .btn-a { font-size: 1.8rem } }`）。
   dev は幅の切り替えを持たず、この幅でも広い画面と同じ 2.2rem 相当（22px）で
   出ていた。物差し（--pa-hr-u）はこの幅では 10px なので、1.8rem は 18px になる.
   🚨 上の素のボタンの規則と詳細度が同じ (0,4,0) なので、**後ろに書くこと**で
   この幅だけ勝たせている。前へ動かすと効かなくなる. */
@media (min-width: 750px) and (max-width: 1023px) {
	.entry-content:has(.experience__slider) .experience__btnWrap .btn-a {
		font-size: calc(1.8 * var(--pa-hr-u));
	}
}

/* 「もっと読む」の橙。移行元 `.btn-a.-orange`（happyreport.css の 467〜478 行）は
   枠線・下地・指を乗せたときの文字がすべて #FFB660 である。

   【ユーザー裁定 31（2026-09-03）で移行元の色へ戻した】以前ここは #C88501 を
   塗り、「白文字とのコントラスト比が 3.08:1 で基準を満たすので移行元のまま塗って
   いる」と書いていた。**この説明は 2 か所とも誤りだった。**#C88501 は移行元の
   この押しボタンの色ではなく、移行元の別部品（携帯の下部に固定される帯の
   「資料請求」）の色である。読みやすさの合否は「移行元の同じページより悪化させ
   ない」という相対の基準で見るため（docs/pa-cms/adr/2026-08-05-compat-a11y-criteria.md）、
   移行元と同じ色に戻すことは違反にならない。

   実測（幅 375px・2026-09-03）: 移行元 rgb(255,182,96) 対 dev rgb(200,133,1)。
   ページ専用の CSS は既に #FFB660 を持っていたが、この規則（クラス 5 個相当）が
   詳細度で勝って上書きしていた. */
.entry-content:has(.experience__slider) .experience__btnWrap .btn-a.-orange {
	border: 2px solid #ffb660;
	background: #ffb660;
	color: #fff;
}

.entry-content:has(.experience__slider) .experience__btnWrap .btn-a.-orange:hover {
	background: #fff;
	color: #ffb660;
}

/* 男性視点の水色（移行元 .experience .btn-a.-blue）と女性視点の桃色
   （移行元の共通 .btn-a.-wh）。枠線 2px を含めて高さ 80px になり、移行元の実測値と
   一致する。

   【文字の色をここでは当てていない】移行元は枠線と同じ色を文字にも当てている。
   ここでは枠線と下地だけを移行元に合わせ、文字の色は当てていない。**2 色とも
   ページ専用の CSS（assets/introduce-happyreport-list/css/style.css）が、ユーザー
   裁定 31（2026-09-03）に沿って移行元どおりに戻している**。桃色（-wh）の
   文字色 #FD7B7D と、水色（-blue）の文字色 #58D2D6（同ファイルの
   `.experience .btn-a.-blue` の規則。指を乗せたときの色も写してある）である。

   🚨 以前ここには「橙（-orange）は白文字で 3.08:1 と基準を満たすので移行元の
   まま塗っている」と書いてあったが、**塗っていた #C88501 は移行元のこの押し
   ボタンの色ではなかった**（移行元は #FFB660）。裁定 31 に沿って上の -orange の
   規則を移行元の色へ直してある. */
.entry-content:has(.experience__slider) .experience__btnWrap .btn-a.-blue {
	border: 2px solid var(--pa-palette-mint);
	background: #fff;
}

.entry-content:has(.experience__slider) .experience__btnWrap .btn-a.-wh {
	border: 2px solid var(--pa-palette-coral);
	background: #fff;
}

@media (max-width: 749px) {
	/* 狭い画面の値も移行元のスマートフォン向けの写しに合わせる
	   （happyreport.css の 1243〜1247 行と 1341〜1345 行）。

	   ここに並ぶのは「移行元が 750px 以上と別の rem を書いている」ぶんだけである。
	   同じ rem を使う指定は、物差し（--pa-hr-u）が画面幅に比例させる. */
	.entry-content:has(.experience__slider) .experience.bg-gray {
		margin-top: calc(8 * var(--pa-hr-u));
	}

	.entry-content:has(.experience__slider) .experience__inner {
		padding: calc(5 * var(--pa-hr-u)) 0;
	}

	.entry-content:has(.experience__slider) :is(#age20s, #age30s, #age40s, #age50s) .sec__head {
		width: 90%;
		padding: calc(1 * var(--pa-hr-u)) 0;
	}

	.entry-content:has(.experience__slider) :is(#age20s, #age30s, #age40s, #age50s) .sec__head .heading-a {
		top: calc(-2.1 * var(--pa-hr-u));
		min-width: calc(23 * var(--pa-hr-u));
		font-size: calc(1.8 * var(--pa-hr-u));
		font-weight: 600;
	}

	/* 見出しの大きさと下外余白。移行元の `.heading-a` は狭い画面で 2.2rem・
	   下 3rem・太さ 600 になる（happyreport.css の 526〜531 行）。広い画面の
	   3.2rem / 5rem とは rem の数そのものが違うのでここで上書きする。
	   `.heading-a.lg` は狭い画面用の指定を持たないので、この値をそのまま使う. */
	.entry-content:has(.experience__slider) .experience .sec__head .heading-a {
		margin: 0 0 calc(3 * var(--pa-hr-u));
		font-size: calc(2.2 * var(--pa-hr-u));
		font-weight: 600;
	}

	.entry-content:has(.experience__slider) .experience .sec__head .heading-a.lg {
		font-size: calc(2.2 * var(--pa-hr-u));
	}

	.entry-content:has(.experience__slider) .experience__btnWrap {
		margin: calc(5 * var(--pa-hr-u)) 0 0;
	}

	.entry-content:has(.experience__slider) .experience__btnWrap .btn-a {
		padding: calc(2 * var(--pa-hr-u)) calc(2 * var(--pa-hr-u)) calc(2 * var(--pa-hr-u)) calc(4 * var(--pa-hr-u));
		font-size: calc(1.4 * var(--pa-hr-u));
	}

	/* 移行元 `.btn-a.-lg` の狭い画面の値（happyreport.css の 386〜391 行）。
	   上限 285px は移行元も px で書いており、比例させない. */
	.entry-content:has(.experience__slider) .experience__btnWrap .btn-a.-lg {
		width: 80%;
		max-width: 285px;
	}
}

/* --------------------------------------------------------------
 * 体験談の札の中身を移行元へ揃える（Task #1745）
 *
 * しあわせレポートの一覧には、体験談の札（.stories-list__item）が 1 枚 340px の
 * 幅で並ぶ。移行元は札の中身に専用の文字組みを当てているが、その CSS がテーマへ
 * 写されておらず、dev では本文の既定の文字組み（16px・段落の下に 25px の余白・
 * 箇条書きに丸い印）がそのまま出ていた。札 1 枚の高さは、移行元 490px に対して
 * dev は 1,049px あった。
 *
 * 写し元は、しあわせレポートのページ専用の CSS である
 * legacy/www.p-a.jp/public/introduce/happyreport/assets/css/happyreport.css の
 * .experience 配下（1216〜1745 行）である。体験談一覧のページが使う
 * introduce/css/style_introduce_experience.css には同じクラス名の指定があるが、
 * しあわせレポートのページはそちらを読み込んでいない。値がずれる箇所（婚活タイプの
 * 名札の大きさ・下の余白、在住地などの並びの折り返し）は、読み込まれている
 * happyreport.css の側が正しい。移行元は基準の文字を 10px にしているので、rem の値は
 * 10 倍して px へ直してある（1.6rem = 16px）。
 *
 * 移行元は札の中の段落（p）の行送りだけを 1.8 にし、その中の span を 1.5 に戻して
 * いる。この 2 段の指定は共通の土台の CSS が持っており、写し元には書かれていない。
 * 稼働中のページで採った実測値（パソコン幅 1440px・2026-08-10 に採取）に合わせて、
 * ここでは要素ごとに行送りを書き下してある。
 *
 * ここは移行してきた本文が持つ移行元のクラス名に当てる指定である。体験談一覧
 * （/introduce/experience/）に並ぶテーマ製のカード（.pa-archive-card--experience。
 * このファイルの上のほうにある）とはクラス名が別なので、あちらには届かない。
 *
 * 【2 色を移行元へ戻した（Bug #2822）】以前はここで移行元の桃 #E17777 と青
 * #208ABB を、白地に対するコントラスト比が AA 基準（4.5:1）に届かないという理由で
 * 明度を下げた値（#D54040 と #1D7DA9）へ置き換えていた。**ユーザー裁定で移行元の
 * 値へ戻した**（2026-09-02。原文「何が Dev の方が良いのかわかりません。そもそも
 * 移行元のコンテンツを移行できていないので、まず移行元との差を埋めて下さい」）。
 *
 * 戻す範囲を確かめてある。**移行元は一覧の CSS（happyreport.css）と店舗の CSS
 * （/branch/assets/css/style.css）の両方で #E17777 / #208ABB を使っている**ので、
 * ここを戻すと一覧と店舗ページの両方が移行元へ近づく（2026-09-02 に両ファイルを
 * 取得して確認）。
 *
 * 🚨 **体験談側の同じ 2 色はここでは触っていない。**テーマ製のカード
 * （.pa-archive-card--experience）と体験談の個別ページ（.pa-experience）は
 * 共有の CSS 変数（--pa-experience-accent ほか 3 つ）で同じ置き換えを持っており、
 * 変えると 2 画面に同時に効く。担当が別なので Bug #2960 へ切り出した。
 *
 * 【狭い画面の文字の上限も外した（Bug #2822）】以前は狭い画面の文字の大きさに
 * `min( … , Xpx)` の上限を付けていた。**移行元は一覧の CSS も店舗の CSS も
 * `min(` を 1 つも持たない**ため（同日に実測）、上限を外して移行元と同じ
 * 「画面幅に比例する」振る舞いへ戻した。
 *
 * 【写した飾り 2 種】婚活タイプの名札の下地（.txt-area .type の :before）と、
 * 活動結果の 3 項目のアイコン（.number-list .list_item--* の :before）は、
 * 移行元にあるので写す。画像はテーマ資産
 * （assets/introduce-happyreport-list/img/）へ取り込み、一覧に配る 1 枚
 * （同ディレクトリの css/style.css）が指している。**以前は「素の太字で足りる」
 * 「絵を足すと 3 列の幅が足りなくなる」として意図的に写していなかったが、
 * 移行元の再現を優先する方針に合わせて写す側へ改めた**（Bug #2822）。
 *
 * 札の外側の間隔（移行元 .stories-list__item の外余白 0 30px 30px）は、ここでは
 * 当てない。すぐ上の横送りの区画（Task #1700）が、札と札の間 60px と札の下の帯
 * 30px として既に作っているためである。両方を当てると間隔が二重になる。
 * -------------------------------------------------------------- */

/* 札の全体を包むリンク。移行元 .experience .stories-list a は札の面をそのまま覆う
   高さ 100% の箱で、下線を持たない。本文の既定（.entry-content a の下線）を外す。
   移行元が指定する幅 34rem（340px）は、すぐ上の横送りの区画が札の側へ当てている. */
:is(.entry-content, .page-content__body) .stories-list a {
	display: block;
	height: 100%;
	overflow: visible;
	text-decoration: none;
}

/* マウスを載せたときの薄まり。移行元は「.experience .stories-list a :hover」と
   子孫の指定になっており、指した要素とその先祖が重なって薄まる。ここは札の全体へ
   1 回だけ当てて、同じ「薄くなって色が変わる」振る舞いにする. */
:is(.entry-content, .page-content__body) .stories-list a:hover {
	color: #463d3c;
	opacity: 0.8;
}

/* 札の中身の器。移行元 .stories-list__inner は白地・枠線 #A29E9D・角丸 10px の箱で、
   中身を縦に積む。活動結果の帯を札の下端へ寄せる指定（下の margin-top: auto）が
   効くようにするための土台でもある. */
:is(.entry-content, .page-content__body) .stories-list__inner {
	display: flex;
	position: relative;
	flex-direction: column;
	height: 100%;
	border: 1px solid #a29e9d;
	border-radius: 10px;
	background-color: var(--pa-color-bg);
}

/* 札の左上に重ねる目印（Pick Up の絵）。移行元 .stories-list .tag-list は
   font-size: 0 を置いており、目印の並びに紛れ込んでいる数字（投稿日時を表す
   通し番号。移行元の本文にもそのまま残っている）はこれで見えなくなる. */
:is(.entry-content, .page-content__body) .stories-list .tag-list {
	position: absolute;
	z-index: 2;
	margin: -1px 0 0 10px;
	padding: 0;
	font-size: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .stories-list .tag-list__item {
	display: inline-block;
	margin: 0;
	vertical-align: top;
}

:is(.entry-content, .page-content__body) .stories-list .tag-list__item:nth-child(2) {
	margin-left: 6px;
}

:is(.entry-content, .page-content__body) .stories-list .tag-list__item img {
	height: auto;
}

/* 投稿日。移行元 .stories-list .post-date は札の右上へ絶対配置した 11px である. */
:is(.entry-content, .page-content__body) .stories-list .post-date {
	position: absolute;
	top: 8px;
	right: 8px;
	margin: 0;
	color: #463d3c;
	font-size: 11px;
	line-height: 1.8;
	text-align: right;
}

/* 会員のプロフィールの区画。移行元 .profile は左右と下に 20px の内余白を持ち、
   下の境目を破線で区切る. */
:is(.entry-content, .page-content__body) .stories-list .profile {
	padding: 0 20px 20px;
	border-bottom: 1px dashed #a29e9d;
}

/* イラストと文字を横に並べる。移行元 .profile-info は font-size: 0 を置いて、
   2 つの inline-block の間に出る隙間（HTML の改行が空白として描かれる分）を
   消している。最低の高さ 121px は、札を横に並べたときにリード文の始まる位置が
   そろうように移行元が置いているものである（写し元 1626〜1631 行）. */
:is(.entry-content, .page-content__body) .stories-list .profile-info {
	min-height: 121px;
	margin-top: 23px;
	font-size: 0;
}

:is(.entry-content, .page-content__body) .stories-list .img-area {
	display: inline-block;
	width: 71px;
	margin: 0 20px 0 0;
}

/* 移行元はイラストを塊（block）として置く。本文の既定（.entry-content img の
   vertical-align: middle）のままだと、イラストが行の基準線をまたいで下へずれる. */
:is(.entry-content, .page-content__body) .stories-list .img-area img {
	display: block;
	width: 100%;
	height: auto;
}

:is(.entry-content, .page-content__body) .stories-list .txt-area {
	display: inline-block;
	width: calc(100% - 100px);
	margin-top: 3px;
	font-size: 16px;
	vertical-align: top;
}

/* 婚活タイプの名札。移行元 .txt-area .type は太さと色だけを指定し、大きさは
   .txt-area の 16px をそのまま受け継ぐ。下の余白は持たない. */
:is(.entry-content, .page-content__body) .stories-list .type {
	margin: 0;
	color: #463d3c;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
}

/* 名前と年齢は 1 行に並べる（移行元 .profile-info__name と .profile-info__age の
   display: inline-block）. */
:is(.entry-content, .page-content__body) .stories-list :is(.profile-info__name, .profile-info__age) {
	display: inline-block;
	margin: 0;
	color: #463d3c;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.8;
}

/* 名前と年齢の数字だけを大きくする。行送りは 1.5 に戻す（稼働中の移行元は、
   段落に 1.8・その中の span に 1.5 を当てている）. */
:is(.entry-content, .page-content__body) .stories-list .profile-info__name span {
	font-size: 23px;
	line-height: 1.5;
}

:is(.entry-content, .page-content__body) .stories-list .profile-info__age span {
	font-size: 18px;
	line-height: 1.5;
}

/* 在住地・学歴・職業の並び。移行元 .profile-info__other は印を出さずに 3 項目とも
   横へ並べ、font-size: 0 で項目の間の空白を消している. */
:is(.entry-content, .page-content__body) .stories-list .profile-info__other {
	margin: 14px 0 0;
	padding: 0;
	font-size: 0;
	list-style: none;
}

:is(.entry-content, .page-content__body) .stories-list .profile-info__other li {
	display: inline-block;
	margin: 0 10px 0 0;
	color: #463d3c;
	font-size: 12px;
	line-height: 1.5;
}

/* リード文。移行元 .stories-list .copy は内側に 24px の余白を持つ。太さと色は
   会員の性別で決まる（この区画の最後の 4 つの規則）. */
:is(.entry-content, .page-content__body) .stories-list .copy {
	padding: 24px;
}

:is(.entry-content, .page-content__body) .stories-list .copy p {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
}

/* 移行元 .copy strong と .copy span に引く蛍光ペン（文字の下半分だけを塗る）. */
:is(.entry-content, .page-content__body) .stories-list .copy :is(strong, span) {
	background-image: linear-gradient(transparent 50%, #fff2cf 50%);
}

/* 活動結果の 3 項目の帯。移行元 .stories-list .number-list は札の下端へ寄せ
   （margin-top: auto）、幅を 3 等分して破線で区切る。下地の色は会員の性別で
   変わる（この区画の最後の 4 つの規則）. */
:is(.entry-content, .page-content__body) .stories-list .number-list {
	display: flex;
	margin: auto 0 0;
	padding: 20px 0;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5;
	list-style: none;
}

:is(.entry-content, .page-content__body) .stories-list .number-list .list_item {
	width: 33.33%;
	margin: 0;
	border-left: 1px dashed #463d3c;
	text-align: center;
}

:is(.entry-content, .page-content__body) .stories-list .number-list .list_item:first-child {
	border-left: 0;
}

:is(.entry-content, .page-content__body) .stories-list .number-list__ttl {
	margin: 0 0 2px;
	line-height: 1.8;
}

:is(.entry-content, .page-content__body) .stories-list .number-list__cont {
	display: inline-block;
	position: relative;
	margin: 0;
	color: #463d3c;
	font-size: 14px;
	line-height: 1.8;
}

/* 移行元 .number-list__cont .lg の 25px。行送りは 1.5 に戻す（上の名前と年齢と
   同じで、稼働中の移行元は段落に 1.8・その中の span に 1.5 を当てている）. */
:is(.entry-content, .page-content__body) .stories-list .number-list__cont .lg {
	font-size: 25px;
	line-height: 1.5;
}

/* 活動結果の 3 項目のアイコン（Bug #5396・ユーザーの目視 W20）。
 *
 * 移行元は数値の器（`.number-list__cont`）を行の中の箱にして右へ寄せ、空いた左側へ
 * 擬似要素で小さな絵を置く。**寄せる幅と絵の大きさは項目ごとに違う**
 * （写し元は移行元の `branch/assets/css/style.css`。11 班が 2026-09-09 19:29 に
 * 本番から 1 回だけ取った写しで読んだ）。
 *
 *   紹介数         寄せ 30px / 絵 23 × 19px
 *   コンタクト率    寄せ 27px / 絵 22 × 17px
 *   成婚までの期間  寄せ 28px / 絵 21 × 21px
 *
 * 🚨 **dev はこの 3 本を、テーマ独自の札（`.pa-archive-card--experience`）にしか
 * 書いていなかった。**店舗ページは移行元の HTML をそのまま出すので、`.stories-list`
 * 側にも要る。**絵のファイル 3 枚はテーマに入っていた**（当たり先が無いだけだった）。
 *
 * 実測（幅 1440px・銀座店・2026-09-09 19:46）: 移行元は 3 つとも絵が出て、
 * dev は `content: none` / `background-image: none` だった。帯の地・字・3 列の幅・
 * 破線は両側で一致していたので触らない。
 *
 * 🚨 **`background-size: 100%` を書く（移行元と同じ）。**`background-repeat` は
 * 移行元が書いていない。箱の大きさが絵の実寸と同じなので繰り返しは起きない.
 */
:is(.entry-content, .page-content__body) .stories-list .number-list__cont::before {
	position: absolute;
	top: 9px;
	background-size: 100%;
	content: "";
}

:is(.entry-content, .page-content__body) .stories-list .list_item--number .number-list__cont {
	margin-left: 30px;
}

:is(.entry-content, .page-content__body) .stories-list .list_item--number .number-list__cont::before {
	left: -30px;
	width: 23px;
	height: 19px;
	background-image: url("../introduce/images/experience/stories-list_icon_number01.png?ver=c928071e848b");
}

:is(.entry-content, .page-content__body) .stories-list .list_item--contact .number-list__cont {
	margin-left: 27px;
}

:is(.entry-content, .page-content__body) .stories-list .list_item--contact .number-list__cont::before {
	left: -27px;
	width: 22px;
	height: 17px;
	background-image: url("../introduce/images/experience/stories-list_icon_contact01.png?ver=50703ea6de64");
}

:is(.entry-content, .page-content__body) .stories-list .list_item--period .number-list__cont {
	margin-left: 28px;
}

:is(.entry-content, .page-content__body) .stories-list .list_item--period .number-list__cont::before {
	left: -28px;
	width: 21px;
	height: 21px;
	background-image: url("../introduce/images/experience/stories-list_icon_period01.png?ver=397494ceef8d");
}

/* 札の下端の READ の帯。移行元 .read-btn の濃い茶で、下だけ角丸 9px である。
   移行元が当てている欧文書体 Spinnaker は Issue #1628 でテーマへ取り込んである. */
:is(.entry-content, .page-content__body) .stories-list .read-btn {
	margin: 0;
	padding: 4px 0;
	border: 1px solid #463d3c;
	border-radius: 0 0 9px 9px;
	background-color: #463d3c;
	color: #fff;
	font-family: "Spinnaker", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: 10px;
	line-height: 1.8;
	text-align: center;
}

/* 会員が女性の札。移行元 .stories-list__item--woman はリード文を桃色の太字にし、
   活動結果の帯の下地を薄桃（#FCECEE）にする。**色は移行元のままである**
   （Bug #2822 で戻した。経緯はすぐ上の説明）. */
:is(.entry-content, .page-content__body) .stories-list__item--woman .copy {
	color: #e17777;
	font-weight: bold;
}

:is(.entry-content, .page-content__body) .stories-list__item--woman .number-list {
	background-color: #fcecee;
}

/* 会員が男性の札。移行元 .stories-list__item--man の青系と下地 #ECF5FC である. */
:is(.entry-content, .page-content__body) .stories-list__item--man .copy {
	color: #208abb;
	font-weight: bold;
}

:is(.entry-content, .page-content__body) .stories-list__item--man .number-list {
	background-color: #ecf5fc;
}

/* --- スマートフォン幅（749px 以下） ---
   移行元はスマートフォンを別のミラー（/sp/introduce/happyreport/）へ転送する。
   そのミラーも上と同じ happyreport.css を読み込むので、狭い画面の写し元も同じ
   ファイルで、その max-width: 749px の指定（1422〜1745 行に散在）が正本である。
   触れていない値（枠線・角丸・READ の帯の下地など）は、上の広い画面向けの値を
   そのまま使う。札の幅と札の間隔は、すぐ上の横送りの区画が当てている。

   【文字と余白を画面幅に連動させる理由】移行元は狭い画面で根の文字を画面幅に
   連動させている（happyreport.css 149〜153 行の
   `@media screen and (max-width: 749px) { html { font-size: 2.5445292621vw } }`）。
   幅 375px のとき 9.54198px になり、写し元が rem で書いた値はすべてこの大きさを
   基準に決まる。このテーマの根の文字は 16px 固定で、他のページすべてに関わるため
   変えられない。そこで、写し元の rem の値を画面幅を基準にする単位（vw）へ
   その場で換算して書く。換算式は次のとおりである。

       1rem = 2.5445292621vw

   下の calc() は「写し元の rem の値 × 2.5445292621vw」の形で残してある。たとえば
   写し元が `font-size: 1.4rem` なら `calc(1.4 * 2.5445292621vw)` である。

   【上限（min()）を外した経緯・Bug #2822】以前はここに `min( …, Xpx )` を置き、
   375px のときの値で止めていた。**移行元は一覧の CSS も店舗の CSS も `min(` を
   1 つも持たない**ことを実測で確かめたため、上限を外して移行元と同じ「画面幅に
   ずっと連動する」振る舞いへそろえた。

   🚨 **上限を外した以上、幅が広がるほど文字は大きくなり続ける。**すぐ上の横送りの
   区画が札の幅を 324px に固定しているので（Task #1700）、376〜749px では札の幅は
   変わらないまま文字だけが大きくなる（幅 749px で名前が約 43.8px になる）。
   **これは移行元と同じ振る舞いであり、直すべき欠陥ではない。**上限を戻したく
   なったときは、まず移行元の同じ幅を測って食い違いがあるかを確かめること.

   これで幅ごとの振る舞いは次のようになる。
     - 375px 以下 … 画面幅に連動して縮み、移行元のミラーと一致する
     - 376〜749px … **そのまま画面幅に連動して大きくなる**（札の幅は 324px のまま）
     - 750px 以上 … 上の広い画面向けの指定へ切り替わる

   写し元が px で書いている値（内余白 15px・12px、目印の絵の 30x28px など）は、
   移行元でも画面幅に連動しないので px のまま写す。上限も要らない。

   【13px の 2 か所】リード文（.copy p）と活動結果の項目名（.number-list__ttl）は、
   写し元が大きさを指定していない。移行元のミラーでは、ミラー専用の土台の CSS
   （sp/css/basic.css の 10〜23 行。div・p・li などを一律 13px にする初期化）が
   効いて 13px になる。これは画面幅に連動しない固定値なので px で写す. */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .stories-list .profile {
		padding: 0 calc(1.5 * 2.5445292621vw) calc(1.5 * 2.5445292621vw);
	}

	/* 狭い画面では最低の高さを外す。移行元は最低の高さ 121px を広い画面だけに
	   置いており、狭い画面では中身の高さのままである. */
	:is(.entry-content, .page-content__body) .stories-list .profile-info {
		min-height: 0;
		margin-top: calc(2 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .img-area {
		margin-right: 12px;
	}

	:is(.entry-content, .page-content__body) .stories-list .txt-area {
		margin-top: 0;
		font-size: calc(1.4 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .type {
		font-size: calc(1.2 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list :is(.profile-info__name, .profile-info__age) {
		font-size: calc(1.4 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .profile-info__name span {
		font-size: calc(2.3 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .profile-info__age span {
		font-size: calc(1.8 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .profile-info__other {
		margin-top: 8px;
	}

	:is(.entry-content, .page-content__body) .stories-list .profile-info__other li {
		font-size: calc(1.4 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .tag-list__item img {
		width: 30px;
		height: 28px;
	}

	:is(.entry-content, .page-content__body) .stories-list .post-date {
		font-size: calc(1.1 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .copy {
		padding: 15px;
	}

	:is(.entry-content, .page-content__body) .stories-list .copy p {
		font-size: 13px;
	}

	:is(.entry-content, .page-content__body) .stories-list .number-list {
		padding: 13px 0 10px;
		font-size: calc(1.2 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .number-list__ttl {
		font-size: 13px;
	}

	:is(.entry-content, .page-content__body) .stories-list .number-list__cont {
		font-size: calc(1.2 * 2.5445292621vw);
	}

	:is(.entry-content, .page-content__body) .stories-list .number-list__cont .lg {
		font-size: calc(2 * 2.5445292621vw);
	}

	/* 携帯幅のアイコン（Bug #5396）。移行元は寄せも絵もおよそ半分にする
	   （紹介数 15px / 11.5 × 9.5px、コンタクト率 14px / 11 × 8.5px、
	   成婚までの期間 14px / 10.5 × 10.5px）。**小数のまま書く**（移行元と同じ値）. */
	:is(.entry-content, .page-content__body) .stories-list .list_item--number .number-list__cont {
		margin-left: 15px;
	}

	:is(.entry-content, .page-content__body) .stories-list .list_item--number .number-list__cont::before {
		left: -15px;
		width: 11.5px;
		height: 9.5px;
	}

	:is(.entry-content, .page-content__body) .stories-list .list_item--contact .number-list__cont {
		margin-left: 14px;
	}

	:is(.entry-content, .page-content__body) .stories-list .list_item--contact .number-list__cont::before {
		left: -14px;
		width: 11px;
		height: 8.5px;
	}

	:is(.entry-content, .page-content__body) .stories-list .list_item--period .number-list__cont {
		margin-left: 14px;
	}

	:is(.entry-content, .page-content__body) .stories-list .list_item--period .number-list__cont::before {
		left: -14px;
		width: 10.5px;
		height: 10.5px;
	}

	:is(.entry-content, .page-content__body) .stories-list .read-btn {
		font-size: calc(1 * 2.5445292621vw);
	}
}

/* ==============================================================
 * しあわせレポートの一覧の下の 3 区画（Issue #2624）
 *
 * 移行元の一覧（legacy/www.p-a.jp/public/introduce/happyreport/index.html の
 * 3301〜3382 行）は、`<main>` の**外**の `<aside>` に 3 つの区画を置いている。
 * 投入の道具は本文を `<main>` → `#contents` → `body` の順で切り出すため、
 * この 3 区画は移行先の本文へ入らなかった。組みはテーマの側から
 * template-parts/introduce/happyreport-list-bottom.php で出す。ここはその
 * 見た目である。
 *
 *   1. .pa-hr-bottom__flow    「結婚相談所での出会いから成婚までの流れ」＋ 札 4 枚
 *   2. .pa-hr-bottom__visit   「婚活でお悩みなら一度ご来店ください」の桃色の帯
 *   3. .pa-hr-bottom__branch  「店舗一覧」＋「お近くの支店を探す」
 *
 * 【写し元】2 枚ある。
 *   introduce/happyreport/assets/css/happyreport.css
 *     …… 素の指定（`*` / `p` / `img` / `a`）・.btn-a・.heading-a・.content・
 *        .contentWrap・.content__*・.banner・.l-inner-sm・.l-inner-xs
 *   introduce/css/style_introduce.css の 215〜216 行と 945〜952 行
 *     …… .contents-wrapper と #branch-list（幅 900px・見出しの器の下 70px）
 *
 * 【物差し --pa-hr-u】移行元は基準の文字（html の font-size）を、750px 以上で
 * 10px、749px 以下で 2.5445292621vw に切り替える。つまり移行元の rem の値は、
 * 狭い画面では画面の幅に比例して縮む。テーマの基準（16px）を変えずに同じ寸法を
 * 出すため、この区画の中だけで使う物差しをカスタムプロパティで持ち、
 * `calc(<移行元の rem の数> * var(--pa-hr-u))` の形で書く。1 本の宣言で広い画面と
 * 狭い画面の両方が移行元と同じになるので、同じ値をメディアクエリで 2 度書かずに
 * 済む。画面の幅で**値そのものが変わる**ところ（区画 1 の内余白・札の並び方など）
 * だけ、メディアクエリで上書きする。
 *
 * 【クラス名を移行元から変えた理由】移行元の `.content` `.banner` `.btn-a`
 * `.heading-a` `#branch-list` `.contents-wrapper` は、この基盤では既に別の意味で
 * 使われている。投入した本文の側（すぐ上の `.entry-content:has(.experience__slider)`
 * の節）と、診断ページの側（template-parts/introduce/branch-list.php と
 * assets/introduce/css/style_introduce.css）である。そのまま持ち込むと当てる
 * つもりのない規則が当たるため、`pa-hr-bottom` で始まる名前へ置き換えた。
 *
 * 【移行元から意図して変えた 1 点】区画 3 の器の幅である。移行元は
 * `#branch-list .contents-wrapper { width: 900px }` をメディアクエリの外に置いて
 * おり、狭い画面でも 900px のままになる（`body { overflow-x: hidden }` で切り取ら
 * れ、中身のボタンが画面の外へ出る）。ここでは 750px 以上でだけ 900px を当て、
 * 749px 以下は画面の幅に収める。移行元の携帯幅の見え方は再現しない。
 * ============================================================== */

.pa-hr-bottom {
	/* 移行元の rem を実寸へ直すための物差し（上の説明を参照）. */
	--pa-hr-u: 10px;

	color: #474747;
	font-family: "IBM Plex Sans", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: calc(1.5 * var(--pa-hr-u));
	font-weight: 400;
	line-height: 1.5;
}

@media (max-width: 749px) {
	.pa-hr-bottom {
		--pa-hr-u: 2.5445292621vw;
	}
}

/* 移行元の素の指定（happyreport.css の `p` `img` `a`）を、この区画の中だけへ
   置き直す。テーマの素の指定（`p` の行送り・`a` の色・`img` の縦揃え）は要素
   そのものへ当たっているため、器へ書いた継承では勝てない.

   🚨 **要素の名前を含む形（`.pa-hr-bottom h2` など）で余白や色を書かないこと。**
   詳細度が (0,1,1) になり、部品ごとの規則（`.pa-hr-bottom__heading` などの
   (0,1,0)）に勝ってしまう。実際に一度これで、見出しの下 50px・帯の見出しの下
   10px・帯の説明文の下 20px・札の説明文の上 10px と、ボタンの桃色の文字色が
   すべて打ち消され、区画 1 が 50px、区画 2 が 30px、区画 3 が 50px 低くなった。
   余白は部品ごとの規則の側で `margin` を書き切る。`a` の色は `:where()` で
   詳細度を (0,0,1) へ落とし、部品ごとの色が必ず勝つようにする. */
.pa-hr-bottom p {
	line-height: 1.8;
}

.pa-hr-bottom img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

:where(.pa-hr-bottom) a {
	color: inherit;
	text-decoration: none;
}

/* 画面の幅で出し分ける改行（移行元 .visible-lg / .visible-md / .visible-sm）。
   境目も移行元と同じ 1024px と 750px である. */
@media (min-width: 1024px) {
	.pa-hr-bottom__br--md,
	.pa-hr-bottom__br--sm {
		display: none;
	}

	.pa-hr-bottom__br--lg {
		display: inherit;
	}
}

@media (min-width: 750px) and (max-width: 1023px) {
	.pa-hr-bottom__br--lg,
	.pa-hr-bottom__br--sm {
		display: none;
	}

	.pa-hr-bottom__br--md {
		display: inherit;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__br--lg,
	.pa-hr-bottom__br--md {
		display: none;
	}

	.pa-hr-bottom__br--sm {
		display: inherit;
	}
}

/* 画面の幅で出し分ける句点。

   🚨 **移行元は店舗一覧の説明文の文言を画面の幅で変えている。**パソコン版は
   `全国どこからでもパートナーエージェントをご利用いただけます。`（**句点あり・
   改行なしの 1 行**。写しの `public/introduce/happyreport/index.html` の 3411 行）、
   スマートフォン版は `…パートナーエージェントを<br>ご利用いただけます`（**句点
   なし・改行で 2 行**。写しの `public/sp/introduce/happyreport/index.html` の
   3390 行）である。

   一度スマートフォン版だけを見て全幅へ当ててしまい、**パソコン幅で区画が約 31px
   高くなっていた**（幅 1440px の実測で区画 282px 対 312.781px）。改行は上の
   `--sm` で出し分けているので、句点も同じ境目（750px）で出し分ける。

   `display: inline` へ戻すのは、`inherit` だと親の `p` の `block` を継いで
   句点だけが次の行へ落ちるためである. */
@media (max-width: 749px) {
	.pa-hr-bottom__period--lgmd {
		display: none;
	}
}

@media (min-width: 750px) {
	.pa-hr-bottom__period--lgmd {
		display: inline;
	}
}

/* --- 押しボタン（移行元 .btn-a と .btn-a.-wh） ---
   白地に桃色の文字・桃色の枠 2px・角丸 40px で、右端に桃色の矢印を置く。
   指を乗せると地と文字が反転し、矢印が白へ変わる. */

.pa-hr-bottom__button {
	position: relative;
	display: block;
	margin: 0 auto;
	border: 2px solid #fd7b7d;
	border-radius: calc(4 * var(--pa-hr-u));
	background: #fff;
	color: #fd7b7d;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

.pa-hr-bottom__button::after {
	position: absolute;
	top: 50%;
	background: url(../images/top/arrow_pink.png?ver=f536dff9744e) center/contain no-repeat;
	content: "";
	transform: translateY(-50%);
}

.pa-hr-bottom__button:hover {
	background: #fd7b7d;
	color: #fff;
}

.pa-hr-bottom__button:hover::after {
	background: url(../images/top/arrow_white.png?ver=1cc19d2b156f) center/contain no-repeat;
}

@media (min-width: 750px) {
	.pa-hr-bottom__button {
		padding: 21.5px 20px 21.5px 40px;
		font-size: 22px;
	}

	.pa-hr-bottom__button::after {
		right: 20px;
		width: 40px;
		height: 40px;
		transition: 0.3s all;
	}
}

@media (min-width: 750px) and (max-width: 1023px) {
	.pa-hr-bottom__button {
		font-size: 18px;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__button {
		padding: calc(2 * var(--pa-hr-u)) calc(2 * var(--pa-hr-u)) calc(2 * var(--pa-hr-u)) calc(4 * var(--pa-hr-u));
		font-size: calc(1.4 * var(--pa-hr-u));
	}

	.pa-hr-bottom__button::after {
		right: calc(2 * var(--pa-hr-u));
		width: calc(2.4 * var(--pa-hr-u));
		height: calc(2.4 * var(--pa-hr-u));
	}
}

/* 1 本で置く大きいボタン（移行元 .btn-a.-lg）. */
@media (min-width: 750px) {
	.pa-hr-bottom__button--lg {
		width: 419px;
		min-width: 419px;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__button--lg {
		width: 80%;
		max-width: 285px;
	}
}

/* 来店の案内に 2 本並べる小さいボタン（移行元 .btn-a.-sm と
   .banner__btnWarp .btn-a.-sm）。**この 3 つの規則は、上の素のボタンの規則より
   後ろに置くこと。**詳細度が同じなので、並び順で勝ち負けが決まる. */

.pa-hr-bottom__button--sm {
	border: 1px solid transparent;
	font-size: calc(1.8 * var(--pa-hr-u));
	text-align: center;
}

.pa-hr-bottom__button--sm::after {
	width: calc(2.4 * var(--pa-hr-u));
	height: calc(2.4 * var(--pa-hr-u));
}

.pa-hr-bottom__button--sm:hover {
	border: 1px solid #fff;
}

@media (min-width: 750px) {
	.pa-hr-bottom__button--sm {
		width: 256px;
		min-width: 260px;
		margin-right: 20px;
		padding: 15.5px 20px;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__button--sm {
		width: 90%;
		max-width: 285px;
		margin: 0 auto calc(2 * var(--pa-hr-u));
		padding-right: calc(3 * var(--pa-hr-u));
	}
}

/* --- 区画 1: 成婚までの流れ（移行元 section.content.sec） ---
   白地で、画面いっぱいの幅に上下 120px の内余白を持つ。移行元の .sec は
   `padding: 8rem 0 0` を書くが、あとに来る .content の `padding: 12rem 0` が
   同じ詳細度で勝つため、実際に効くのは 120px のほうである. */

.pa-hr-bottom__flow {
	background: #fff;
}

@media (min-width: 750px) {
	.pa-hr-bottom__flow {
		padding: 120px 0;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__flow {
		padding: calc(4 * var(--pa-hr-u)) calc(1.5 * var(--pa-hr-u));
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__head {
		padding: 0 calc(1 * var(--pa-hr-u)) calc(2 * var(--pa-hr-u));
	}
}

/* 節の見出し（移行元 .heading-a）。区画 1 と区画 3 が共有する. */
.pa-hr-bottom__heading {
	margin: 0;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

@media (min-width: 750px) {
	.pa-hr-bottom__heading {
		margin-bottom: 50px;
		font-size: 32px;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__heading {
		margin-bottom: calc(3 * var(--pa-hr-u));
		font-size: calc(2.2 * var(--pa-hr-u));
		font-weight: 600;
	}
}

/* 見出しの下の絵（移行元 .content__head__img）。中央へ寄せるだけである. */
.pa-hr-bottom__head-image {
	text-align: center;
}

/* リード文（移行元 .content__lead）。移行元は広い画面にだけ指定を持ち、狭い画面は
   本文の既定（太さ 400・左そろえ）のままである. */
.pa-hr-bottom__lead {
	margin: 0;
}

@media (min-width: 750px) {
	.pa-hr-bottom__lead {
		font-size: 18px;
		font-weight: 500;
		text-align: center;
	}
}

/* 狭い画面の字の大きさと並びを移行元へそろえる。

   🚨 **字の大きさは画面の幅に比例する。**移行元のスマートフォン版は
   `.content__lead` に狭い画面の指定を持たず、`body { font-size: 1.5rem }`
   （happyreport.css の 155〜161 行目）を受け継ぐ。移行元の根の字は
   `2.5445292621vw` なので、この文字は画面の幅に比例する（幅 375px で 14.31px）。
   テーマの既定は 15px の固定値で、幅 375px では 0.7px 大きく、2 行で 3.8px 高く
   なっていた（2026-09-03 の実測）。

   🚨 **並びは左そろえである。**移行元のスマートフォン版は `.content__lead` に
   `text-align` を持たず、`.heading-a { text-align: center }` は見出しにだけ当たる。
   🚨 **並びは中央そろえのままが正しい。**移行元のスマートフォン版も中央である
   （`sp/introduce/css/sp_style.css` の 1713〜1716 行目
   `#branch-list .contents-wrapper .heading { text-align: center; margin: 0 auto }`
   を受け継ぐ。同じ規則の `margin: 0 auto` が「見出しの器の下の余白 0」の根拠でも
   ある）。ここは一度「左そろえへ戻す」と書いて退行させたので、記録を残す。

   🚨 **上の「幅 375px で 14.31px」は、区画 3（店舗一覧）にだけ当てはまる話だった。**
   2026-09-05 に区画 1（成婚までの流れ）を実測して分かった（Bug #3861）。**移行元の
   スマートフォン版は `p` の字の大きさを 13px に固定している。**出どころは
   `legacy/www.p-a.jp/public/sp/css/basic.css` の 3〜23 行で、`html, body, div, span,
   …, p, …` を並べた打ち消しの塊が `font-size: 13px` を **`p` へ直に**当てる。
   **要素への直接の指定なので、`happyreport.css` の `body { font-size: 1.5rem }`
   （幅 375px で 14.31px）の受け継ぎより強い。**移行元のパソコン版はこの `/sp/css/*`
   を読まないため、あちらは `body` の 1.5rem（`html { font-size: 10px }` で 15px）が効く。

   実測（幅 375px・2026-09-05）: 区画 1 の説明文が移行元 **13px / 6 行 / 箱 94px** に対し
   dev は **14.3px / 7 行 / 箱 129px** で、**35px 高かった**。区画 3 は下の規則で 13px を
   当てていたため一致していた。

   🚨 **前の版はここを「店舗一覧の区画だけへ絞る」としていた。**そのときは区画 1 を
   測っていなかったからである（この注釈にもそう書いてあった）。**区画 1 を測った結果、
   両方に当てるのが正しいと分かった**ので、当て先を `.pa-hr-bottom__lead` へ広げる。
   区画 2（来店予約の広告の枠）は説明文をこの class で持たないため動かない
   （実測でも区画 2 の高さは両側 535.72 で一致）. */
@media (max-width: 749px) {
	.pa-hr-bottom__lead {
		font-size: 13px;
	}
}

/* ボタンの器（移行元 .content__btnWrap）. */
@media (min-width: 750px) {
	.pa-hr-bottom__button-wrap {
		margin-top: 30px;
	}
}

/* 🚨 **狭い画面の上の余白 10px は、移行元では骨組みに直接書かれている。**
   legacy/www.p-a.jp/public/sp/introduce/happyreport/index.html の 3393 行目が
   `<div class="content__btnWrap" style="margin-top:10px">` を持つ。CSS 側の
   `margin-top: 3rem` は `min-width: 750px` の中にしか無い。dev は狭い画面の指定を
   持たず 0px だったため、区画が 10px 低かった（2026-09-03 の実測）。

   🚨 **その直書きが在るのは区画 3（店舗一覧）の 1 か所だけである。**区画 1
   （成婚までの流れ）の同じ器は `style` を持たず、移行元の上の外余白は **0px** である
   （実測・幅 375px・2026-09-05・Bug #3861）。前の版は素の class へ当てていたため、
   **区画 1 にも 10px が付いて 10px 高くなっていた。**当て先を区画 3 の中だけへ絞る. */
@media (max-width: 749px) {
	.pa-hr-bottom__branch .pa-hr-bottom__button-wrap {
		margin-top: 10px;
	}
}

/* 札の器（移行元 .l-inner-sm と .content .l-inner-sm）. */
@media (min-width: 750px) {
	.pa-hr-bottom__inner {
		width: 90%;
		max-width: 1000px;
		margin: 100px auto 0;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__inner {
		margin-top: calc(6 * var(--pa-hr-u));
		padding: 0 calc(1.5 * var(--pa-hr-u));
	}
}

/* 札の並び（移行元 .content__list）。広い画面は 2 列 × 2 行、狭い画面は縦積みである. */
@media (min-width: 750px) {
	.pa-hr-bottom__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

/* 札 1 枚（移行元 .contentWrap と .content__item を 1 つにまとめたもの）。
   白地・枠線 1px #c8c8c8・角丸 5px で、右下に緑の矢印を置く. */
.pa-hr-bottom__card {
	position: relative;
	display: flex;
	justify-content: space-between;
	border: 1px solid #c8c8c8;
	border-radius: 5px;
	background: #fff;
}

.pa-hr-bottom__card::after {
	position: absolute;
	background: url(../images/top/arrow-right-green.svg?ver=ddcd47b31f52) center/contain no-repeat;
	content: "";
	transition: all 0.3s;
}

.pa-hr-bottom__card:hover {
	background: rgba(88, 210, 214, 0.1725490196);
	color: #474747;
}

.pa-hr-bottom__card:hover::after {
	transform: scale(1.1);
}

@media (min-width: 750px) {
	.pa-hr-bottom__card {
		align-items: center;
		width: 48.5%;
		padding: 20px;
	}

	/* 3 枚目と 4 枚目（＝ 2 行目）だけ上へ間を空ける. */
	.pa-hr-bottom__card:not(:nth-child(-n + 2)) {
		margin-top: 20px;
	}

	.pa-hr-bottom__card::after {
		right: 20px;
		bottom: 30px;
		width: 26px;
		height: 26px;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__card {
		margin-top: calc(2 * var(--pa-hr-u));
		padding: calc(1 * var(--pa-hr-u));
	}

	.pa-hr-bottom__card:not(:last-child) {
		margin-bottom: calc(1 * var(--pa-hr-u));
	}

	.pa-hr-bottom__card::after {
		right: calc(1 * var(--pa-hr-u));
		bottom: calc(1 * var(--pa-hr-u));
		width: calc(2.4 * var(--pa-hr-u));
		height: calc(2.4 * var(--pa-hr-u));
	}
}

/* 札の中の写真と本文の取り分（移行元 .content__img と .content__body）。
   広い画面では 485px の札から枠線 2px と内余白 40px を引いた 443px を分け合い、
   写真がちょうど 200px になる. */
@media (min-width: 750px) {
	.pa-hr-bottom__card-image {
		width: 45.1467268623%;
	}

	.pa-hr-bottom__card-image img {
		transition: 0.3s all;
	}

	.pa-hr-bottom__card-body {
		width: 50.7900677201%;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__card-image {
		width: 38.8888888889%;
	}

	.pa-hr-bottom__card-body {
		width: 52.7777777778%;
	}
}

/* 札の小見出し（移行元 .content__item__heading）。水色・行送り 1.2 である. */
.pa-hr-bottom__card-heading {
	margin: 0;
	color: #58d2d6;
	line-height: 1.2;
}

@media (min-width: 1024px) {
	.pa-hr-bottom__card-heading {
		font-size: 20px;
	}
}

@media (max-width: 1023px) {
	.pa-hr-bottom__card-heading {
		font-size: calc(1.5 * var(--pa-hr-u));
	}
}

/* 札の説明文（移行元 .content__text）. */
.pa-hr-bottom__card-text {
	margin: calc(1 * var(--pa-hr-u)) 0 0;
	font-weight: 500;
}

@media (min-width: 1024px) {
	.pa-hr-bottom__card-text {
		font-size: 14px;
	}
}

@media (max-width: 1023px) {
	.pa-hr-bottom__card-text {
		font-size: calc(1.3 * var(--pa-hr-u));
	}
}

/* --- 区画 2: 来店の案内（移行元 section.l-inner-xs > div.banner） ---
   幅 800px の柱の中に、桃色・角丸 30px の帯を置く。夫婦の絵は帯の右下に
   絶対配置で置き、下へ 20px はみ出す. */

@media (min-width: 750px) {
	.pa-hr-bottom__visit {
		width: 90%;
		max-width: 800px;
		margin: 0 auto;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__visit {
		padding: 0 calc(1.5 * var(--pa-hr-u));
	}
}

.pa-hr-bottom__banner {
	border-radius: calc(3 * var(--pa-hr-u));
	background: #fd7b7d;
	color: #fff;
}

@media (min-width: 750px) {
	.pa-hr-bottom__banner {
		margin-bottom: 80px;
		padding: 20px 30px;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__banner {
		margin-top: calc(4 * var(--pa-hr-u));
		margin-bottom: calc(5 * var(--pa-hr-u));
		padding: calc(2 * var(--pa-hr-u));
	}
}

/* 帯の中身（移行元 .banner__content）。絵の絶対配置の基準になる。狭い画面では
   絵の場所を下に空ける. */
.pa-hr-bottom__banner-body {
	position: relative;
	z-index: 1;
}

@media (max-width: 749px) {
	.pa-hr-bottom__banner-body {
		padding-bottom: calc(17 * var(--pa-hr-u));
	}
}

/* 帯の見出し（移行元 .banner .heading-a）。節の見出しと違い、19px・太さ 600・
   左そろえである（狭い画面だけ中央そろえ）. */
.pa-hr-bottom__banner-heading {
	margin: 0 0 calc(1 * var(--pa-hr-u));
	font-size: calc(1.9 * var(--pa-hr-u));
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
}

@media (max-width: 749px) {
	.pa-hr-bottom__banner-heading {
		text-align: center;
	}
}

.pa-hr-bottom__banner-text {
	margin: 0 0 calc(2 * var(--pa-hr-u));
	font-size: calc(1.6 * var(--pa-hr-u));
	font-weight: 400;
}

@media (max-width: 749px) {
	.pa-hr-bottom__banner-text {
		text-align: center;
	}
}

/* ボタン 2 本の並び（移行元 .banner__btnWarp）。移行元のつづりの誤り（Warp）は
   写さず、Wrap の意味の名前にしてある. */
@media (min-width: 750px) {
	.pa-hr-bottom__banner-buttons {
		display: flex;
		width: 90%;
		max-width: 542px;
	}
}

/* 夫婦の絵（移行元 .banner__img）。帯の中身より奥へ置く. */
.pa-hr-bottom__banner-image {
	position: absolute;
	bottom: calc(-2 * var(--pa-hr-u));
	z-index: -1;
}

@media (min-width: 750px) {
	.pa-hr-bottom__banner-image {
		right: 30px;
		width: 33.661971831%;
	}
}

@media (max-width: 749px) {
	.pa-hr-bottom__banner-image {
		left: 50%;
		width: 229px;
		transform: translateX(-50%);
	}
}

/* --- 区画 3: 店舗一覧（移行元 section#branch-list） ---
   下地も内余白も持たず、幅 900px の柱に見出し・説明文・ボタンを縦に置く。
   見出しの器の下に 70px 空ける（移行元 #branch-list .contents-wrapper .heading）。
   ボタンの器の上余白 30px はこの 70px と相殺するので、間は 70px のままである. */

.pa-hr-bottom__branch {
	position: relative;
}

/* 🚨 **店舗一覧の区画の下に 35px 空けるのは、狭い画面だけである。**
   移行元は会員紹介のスマートフォン版の 1 枚
   legacy/www.p-a.jp/public/sp/introduce/css/sp_style.css の 1706〜1707 行が
   `#branch-list { margin-bottom: 35px }` を持つ。**パソコン専用の 1 枚
   legacy/www.p-a.jp/public/introduce/css/style_introduce.css の 945〜946 行は
   `position: relative` だけで、この外余白を持たない**。全幅へ当てると、
   パソコン幅では「先頭へ戻る」の器が持つ上の内余白 40px と足されて 75px になり、
   検収の済んだ幅 1440px の組みを壊す。

   この 35px が無いために、**携帯幅で「お近くの支店を探す」のボタンの下端と
   「先頭へ戻る」の絵の上端が接していた**（ユーザー目視 2026-09-03 23:3x JST・
   幅 375 × 667）。幅 375px の実測（移行元 = 本番 www.p-a.jp を 2026-09-03
   23:41 JST に携帯の名乗りで取得。転送先 /sp/introduce/happyreport/ を測った値。
   dev は同 23:40 に取得）:

     ボタンの下端 → 絵の上端の間 … 移行元 35.0px / 直す前の dev 0.0px
     店舗一覧の区画の高さ（陰性対照）… 両側とも 179.0938px

   間に入る要素は両側とも 0 件で、「先頭へ戻る」の器の上の外余白・上の内余白・
   段落の上の外余白も両側すべて 0px だった。**この間を作っているのは店舗一覧の
   区画の下の外余白ひとつだけ**である。よって移行元と同じ持ち主・同じ値を当てる。

   この外余白は、内余白も罫線も持たない親（`aside.pa-hr-bottom`）を通り抜けて
   働く。移行元も同じ組み（`#branch-list` の親が内余白を持たない）で同じ働き方を
   している. */
@media (max-width: 749px) {
	.pa-hr-bottom__branch {
		margin-bottom: 35px;
	}
}

.pa-hr-bottom__branch-inner {
	position: relative;
	margin: 0 auto;
}

/* 🚨 幅 900px は広い画面だけへ当てる。移行元はメディアクエリの外に置いており、
   狭い画面でも 900px のままボタンが画面の外へ出る（節の冒頭の説明を参照）. */
@media (min-width: 750px) {
	.pa-hr-bottom__branch-inner {
		width: 900px;
	}
}

/* 🚨 **左右の内余白は 15px の固定値である（`--pa-hr-u` に比例させない）。**
   移行元のスマートフォン版 /sp/introduce/happyreport/ を幅 375px で測ると、
   見出し「店舗一覧」と説明文はどちらも x=15・幅 345px（= 画面幅 − 左右 15px）で、
   「お近くの支店を探す」のボタンは x=49.5・幅 276px（= 345 × 0.8）だった。
   移行元のスマートフォン版はこの余白を px で書いており、画面の幅に比例させない。
   比例させると（1.5 × 9.542px = 14.31px）器が 346.4px になり、ボタンが 277.1px と
   1.1px 太くなる. */
@media (max-width: 749px) {
	.pa-hr-bottom__branch-inner {
		width: auto;
		padding: 0 15px;
	}
}

/* 🚨 **見出しの器の下の 70px は広い画面だけへ当てる。**移行元でこの値を持つのは
   パソコン専用の 1 枚 legacy/www.p-a.jp/public/introduce/css/style_introduce.css
   （`#branch-list .contents-wrapper .heading`）で、**スマートフォン版のミラー
   /sp/introduce/happyreport/ はこの 1 枚を読み込まない**。よって狭い画面では
   0px で、見出しの器とボタンの間はボタン側の 10px だけになる。
   画面幅で分けずに 70px を当てていたため、狭い画面で区画が 70px 高かった
   （移行元 179.09px 対 dev 243.8px の差 64.7px のうち 70px 分。2026-09-03 の実測）.

   `text-align: center` は見出しにだけ効かせる。移行元のスマートフォン版は説明文
   （`.content__lead`）に並びの指定を持たず左そろえのままなので、下の
   `.pa-hr-bottom__lead` の側で狭い画面の並びを戻している. */
.pa-hr-bottom__branch-head {
	margin-bottom: 0;
	text-align: center;
}

@media (min-width: 750px) {
	.pa-hr-bottom__branch-head {
		margin-bottom: 70px;
	}
}

/* ==============================================================
 * ワード解説の一覧の導入の帯に、背景の絵と白い文字を戻す（Issue #1657）
 *
 * 移行元 /word/ の導入の帯（div.main_box）は、横長の絵を背景に敷き、その上へ
 * 白い文字で題（p.main_copy）と説明（p.main_read）を載せていた。この絵と白い
 * 文字がテーマへ写されておらず、dev では白地に黒い文字が出ていた。
 *
 * すぐ上の「移行してきた本文の要素ごとの文字組みを移行元へ戻す（Issue #1622）」は、
 * 下地・枠線・箱の内余白を範囲の外と決めていた。帯の中の文字の大きさと行間は
 * あちらの 5.（#story .main_copy と #story .main_read）が既に写してあるので、
 * ここでは残った下地と箱の指定だけを足す。
 *
 * 写し元: legacy/www.p-a.jp/public/css/page_introduce.css の 180〜189 行。
 *
 * 分類の札（#story .tag_label と、その下地の images/introduce/story/bg_tag.jpg）
 * はこの Issue の対象から外した。移行元の該当ページ（word/all.html と
 * word/category2017.html）で tag_label を探すと 6 か所すべてが HTML コメントの
 * 中に入っており、移行元でも札は描かれていない。dev の相当ページ
 * （/word-all/ と /word-category2017/）にも札は 0 件で、移行元との差が無い。
 * ============================================================== */

/* #story を :where() で包んで、詳細度をクラス相当に留める。包むと id の重みが
   乗らないので、あとから足す狭い画面用の指定が同じ書き方で勝てる。
   background-size は書かない。移行元も書いておらず、絵は幅 1400px のまま中央上へ
   1 回だけ置かれる。

   帯は本文の器から出して画面の幅いっぱいに広げる。移行元の帯は本文の段組みの
   外側にあり、画面の幅にそのまま追従する（稼働中の /word/ を画面幅 1440px と
   1800px で測ると、帯の幅も 1440px と 1800px で左端は 0 だった）。いっぽう
   このテーマの本文の器（.entry-content）は上限 800px なので、幅 100% のままだと
   帯が 800px で止まり、幅 1400px の絵は中央の 800px だけを残して切り落とされる。
   広げ方はテーマにある全幅表示と同じ書き方（幅 100vw と左右の負の余白）に揃えた。
   同じ書き方の先例は .pa-branch__content .mainvisual.is-slider-ready である。

   box-sizing を content-box へ戻すのは、このテーマが「ベーススタイル」の * 指定で
   全要素へ border-box を効かせているためである。移行元は全体への box-sizing を
   持たないので、.main_box は中身の高さ 220px に上の内余白 55px が積まれて、箱の
   高さが 275px になる。border-box のままだと箱が 220px になり 55px 低くなる. */
:is(.entry-content, .page-content__body) :where(#story) .main_box {
	box-sizing: content-box;
	height: 220px;
	margin-block: 0;
	padding: 55px 0 0;
	background-image: url("../images/introduce/story/bg_copy.jpg?ver=cb62191cd491");
	background-repeat: no-repeat;
	background-position: center top;
	color: var(--pa-palette-white);
}

/* 100vw は縦スクロールバーの幅を含むため、帯を広げたままだと画面の右に横スクロールが
   1 本出る。帯を持つページの本文の外枠だけで横方向を切り落として抑える。
   hidden ではなく clip を使うのは、hidden がスクロールの器を作ってしまい、ヘッダーの
   貼り付き（position: sticky）が効かなくなるためである（テーマの他の全幅表示と同じ
   判断）。:has() で帯を持つページに絞るのは、他のページの横方向のはみ出し（広い表
   など）を巻き添えで切り落とさないためである. */
.site-main:has(:is(.entry-content, .page-content__body) #story .main_box) {
	overflow-x: clip;
}

/* ==============================================================
 * 17. ページの骨格を移行元へ戻す（Issue #1623）
 *
 * ここから下の 3 区画は、ページの骨格にあたる 3 つの値を移行元へ戻す。
 *
 *   17-1. トップページの節の縦の余白（移行元は 120px / 168px 級、dev は 60px 級）
 *   17-2. ページの基調となる背景色（移行元は薄いグレーに白い区画が浮く）
 *   17-3. 記事と固定ページの本文の器の幅（移行元 1,100px・左端 x=170）
 *
 * 共通のトークン（--pa-space-lg / --pa-space-md / --pa-space-sm と --pa-inner-ex）
 * の値は変えていない。この 4 つはフッター・店舗 37 ページ・記事の本文・一覧が
 * 共有しており、値を動かすと新デザインの店舗 4 件（銀座 / 新宿 / 静岡 / 岡山）まで
 * 巻き込む。代わりに、器のクラスに閉じた個別の指定で戻している。
 *
 * 値の写し元と単位の換算:
 *   トップページは移行元の新デザイン（legacy/www.p-a.jp/public/assets/css/style.css
 *   と public/index.html）から写した。移行元は html の基準の文字を 10px にして
 *   いるので 1rem = 10px である（12rem = 120px）。em は入れ物の .contents が
 *   font-size: 14px を持つため 1em = 14px になる（12em = 168px、1em = 14px）。
 *
 * 実測の裏づけは C1 トップページのギャップ抽出（Task #1592、道具は
 * ~/work/mationinc/wp-platform-wt/_c1-top-gap-tools/、計測日 2026-08-06、
 * パソコン幅 1440px・スマートフォン幅 375px）の差分表 out/diff-pc.md と
 * out/diff-sp.md である。下の各指定に「移行元 → dev」の実測値を添えてある。
 *
 * スマートフォン幅の端数について: 移行元は狭い画面で html の基準の文字を画面幅に
 * 連動させる（375px のとき 9.54px）ため、4rem の実測が 38.17px のような端数に
 * なる。このテーマは 16px 固定なので、ここでは 1rem = 10px 換算の丸い値
 * （40px）で写している。差は 2px 弱に収まる。
 * ============================================================== */

/* --------------------------------------------------------------
 * 17-1. トップページの節の縦の余白
 *
 * 移行元の節はほとんどが上下 12rem（= 120px、狭い画面は 4rem = 40px）で、
 * このテーマは一律 --pa-space-md（60px / 30px）になっていた。左右の余白
 * （--pa-inner-gutter の 15px）はそのまま残す。移行元は左右 0 だが、内側の器
 * （*__inner）が中央に寄る作りなので、パソコン幅では見た目に差が出ない。狭い画面
 * では、この 15px が無いと文字が画面の端に付く。
 * -------------------------------------------------------------- */

/* バナー枠。移行元 .banner-area は上の外余白を素で 3em = 42px 持ち、749px 以下だけ
   1.75em = 24.5px へ下げる。以前ここには「移行元は上の余白を持たない」と書いてあったが、
   2026-09-11 に移行元の本番を測ると 42px を持っていた。実測（1440px）:
   メインビジュアルの下端からバナー枠の上端まで 移行元 146px / dev 104px（差 42px）。
   狭い画面の 24.5px は下の 749px 以下の節が持つ.
   実測: 上の内余白 0px → 40px、上の外余白 42px → 0px.

   🚨 左右も 0 にする。移行元 .banner-area は左右 0 で、絵がほぼ画面幅いっぱいに出る。
   2026-09-10 に移行元の本番と dev を突き合わせた実測（375px）:
   絵の幅 345px → 317px、区画の高さ 279.98px → 262.73px。この 28px はこの節が持つ
   左右 15px がそのまま出たものである。

   この節は他の節と違い**内側の器（*__inner）を持たず、ul が直に入る**ため、区画の
   左右がそのまま絵の幅になる。同じ形は選ばれる理由の節でも起きており、区画と器の
   両方に --pa-inner-gutter を置いて中身が 30px 狭くなっていたものを Issue #2835 で
   区画の側だけ 0 にした（上の 3 節の注釈）。**ここはその同じ直しである。**
   17-1 の但し書き「狭い画面では、この 15px が無いと文字が画面の端に付く」も、
   文字を持たないこの節には当たらない. */
.front-banners {
	margin-top: 42px;
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
}

/* 2 本のあいだの空き。移行元 .banner-area は 1.75em = 24.5px を空ける。
   実測（1440px）: 区画の高さ 219.50px → 223.00px（差は空きの 3.5px だけ）. */
.front-banners__list {
	gap: 24.5px;
}

/* 選ばれる理由の導入。移行元 .reason は上の内余白を持たない。
   実測: 上の内余白 0px → 60px. */
.front-reason {
	padding-top: 0;
}

/* 4 つのポイントの囲み。移行元 .point-box の外余白は 12em = 168px、下の内余白は
   3em = 42px である。実測: 上の外余白 168px → 120px、下の内余白 42px → 40px. */
.front-point {
	padding-bottom: 42px;
}

/* 活動実績。移行元 .activity は外余白を持たず、上下の内余白は 1em = 14px である。
   実測: 上の外余白 0px → 60px、上下の内余白 14px → 40px。

   🚨 **ここを「画面の幅に比例させる」直しをしてはいけない**（Bug #4239 で一度
   誤って直しかけた）。移行元は `padding: 1em 0`（`assets/css/style.css:3385`・
   囲みなし）と書いているが、**`em` は根の文字ではなく自身の文字の大きさを
   基準にする。**移行元の器（`.contents`）は文字を 14px 固定で持つので、
   **`1em` は狭い画面でも 14px のままである。**

   実測で確かめた（移行元・2026-09-07 13:03 JST）:

     幅 375px: 移行元の区画の内余白 14px 0px
     幅 749px: 移行元の区画の内余白 14px 0px   ← **変わらない**

   同じファイルの `.front-activity__main` は `6rem` などで書かれており、
   **`rem` は根の文字を基準にするので狭い画面では画面の幅に比例する。**
   `em` と `rem` で振る舞いが違う点に注意する. */
.front-activity {
	margin-top: 0;
	padding-top: 14px;
	padding-bottom: 14px;
}

/* 申し込みの帯。移行元 .cta は上下の内余白が 6em = 84px、左右が 1.5em = 21px で
   ある。実測: 上下の内余白 84px → 60px. */
.front-cta {
	padding-top: 84px;
	padding-bottom: 84px;
}

/* ページの末尾に置く 2 つ目の申し込みの帯だけ、移行元の内余白が上 100px・下 120px
   と厚い。この帯だけに付く修飾クラス（front-cta--footer）で見分ける。付けるのは
   部品側（template-parts/front/cta.php）で、呼び出し元が渡す position が footer の
   ときだけ出る。実測: 上 100px → 60px、下 120px → 60px. */
.front-cta--footer {
	padding-top: 100px;
	padding-bottom: 120px;
}

/* 料金プラン。移行元 .plan は上下 12rem = 120px。実測: 120px → 60px. */
.front-plan {
	padding-top: 120px;
	padding-bottom: 120px;
}

/* その他のプランと割引。移行元は節そのものに内余白が無く、内側の器
   .otherPlan__main が 6rem = 60px を持つ。実測: 節の上下の内余白 0px → 60px. */
.front-discount {
	padding-top: 0;
	padding-bottom: 0;
}

.front-discount__inner {
	padding-top: 60px;
	padding-bottom: 60px;
}

/* PAC のバナー。移行元 .banner-pac は内余白を持たず、上下の外余白が 4em = 56px。
   実測: 上下の内余白 0px → 40px、上下の外余白 56px → 0px. */
.front-pac {
	margin-top: 56px;
	margin-bottom: 56px;
	padding-top: 0;
	padding-bottom: 0;
}

/* 結婚相談所の比較。移行元 .comparisn は前の節との間を 30rem = 300px 空ける
   （1200px 未満では 20rem = 200px）。下の内余白は持たない。
   実測: 上の外余白 300px → 0px、下の内余白 0px → 60px. */
.front-comparison {
	padding-bottom: 0;
}

/* 結婚相談所の選び方。移行元 .choose は上下 12rem = 120px。実測: 120px → 60px. */
.front-choose {
	padding-top: 120px;
	padding-bottom: 120px;
}

/* よくある質問。移行元 .faq は上下 12rem = 120px。実測: 120px → 60px. */
.front-faq {
	padding-top: 120px;
	padding-bottom: 120px;
}

/* 注目コンテンツ。移行元 .content は上下 12rem = 120px。実測: 120px → 60px. */
.front-highlights {
	padding-top: 120px;
	padding-bottom: 120px;
}

/* 店舗一覧。移行元は節そのものに内余白が無く、内側の水色の器 .store__main が
   8rem 0 6rem（= 上 80px・下 60px）を持つ。内側の器は 750px 以上の指定で既に
   同じ値になっているため、ここでは節の側だけを 0 へ戻す。狭い画面の器の値は
   下のスマートフォン幅の区画で移行元の 4rem = 40px へ揃える。
   実測: 節の上下の内余白 0px → 60px. */
.front-store {
	padding-top: 0;
	padding-bottom: 0;
}

/* お知らせ。移行元 .news は上の内余白が 12rem = 120px で、下は 0 である
   （padding: 12rem 0 のあとに padding-bottom: 0 で打ち消している）。
   実測: 節の上の内余白 120px → 0px. */
.front-news {
	padding-top: 120px;
}

.front-news__inner {
	padding-top: 0;
	padding-bottom: 0;
}

@media (min-width: 750px) {
	/* 移行元 .point-box の外余白 12em = 168px。写真を持たない 3 番目だけは
	   10em = 140px である。実測: 168px → 120px、140px → 100px. */
	.front-point {
		margin-top: 168px;
	}

	.front-point--no-image {
		margin-top: 140px;
	}
}

/* 移行元 .comparisn の上の外余白は、画面幅 1200px 以上で 30rem = 300px、
   750〜1199px で 20rem = 200px である（移行元を幅ごとに描いて実測: 750 / 1000 /
   1100 / 1199px はいずれも 200px、1200 / 1440 / 1920px はいずれも 300px）。

   Issue #1652（トップページ固有の差）が先に main へ入れた指定は、750px 以上を
   一律 300px にしている。下の 2 つはその境目を移行元どおりに分ける（同じ強さで
   後ろに置くため、750〜1199px はこちらが効く）. */
@media (min-width: 750px) {
	.front-comparison {
		margin-top: 200px;
	}
}

@media (min-width: 1200px) {
	.front-comparison {
		margin-top: 300px;
	}
}

/* 移行元 .comparisn__img のせり上がりも、上の外余白と同じ境目で 2 段に分かれる。
   画面幅 1200px 以上で `top: -23rem` = −230px、750〜1199px で `top: -15rem` =
   −150px である（移行元 `top.css`）。

   Issue #1652 が先に入れた指定は 750px 以上を一律 −230px にしているため、
   **750〜1199px で絵が 80px 高く浮いていた**（Bug #4325）。上の 2 つと同じ形で
   境目を分ける. */
@media (min-width: 750px) {
	.front-comparison__image {
		top: -150px;
	}
}

@media (min-width: 1200px) {
	.front-comparison__image {
		top: -230px;
	}
}

@media (max-width: 749px) {
	/* 移行元 .banner-area の外余白 1.75em = 24.5px. */
	.front-banners {
		margin-top: 24.5px;
	}

	/* 移行元の携帯版は絵を 345px（パソコン幅 690px の半分）で止め、器いっぱいには
	   広げない。実測（375px）: 絵の幅 345px → 317px. */
	.front-banners__item {
		max-width: 345px;
	}

	/* 移行元 .point-box の外余白 2.5em = 35px。写真を持たない 3 番目は
	   4em = 56px の外余白と 3.5em = 49px の上の内余白を持つ。 */
	.front-point {
		margin-top: 35px;
	}

	.front-point--no-image {
		margin-top: 56px;
		padding-top: 49px;
	}

	/* 写真を持たない POINT03 の丸い印。移行元は枠を基準に 35px 上へ出し、印の下端は
	   見出しの 14px（= 1em）上で止まる（実測: 移行元の幅 375 / 800 / 1024px で同値・
	   印 70×70px）。

	   テーマの印の親は `.front-point__inner` で、枠の上の内余白 49px の**内側**から
	   始まる。素の `-1em` では基準が 49px 下にずれ、印の下端が見出しへ 56px
	   食い込んでいた（Bug #2747）。印の高さ 5em を足した `-6em` にすると、
	   移行元と同じく見出しの 1em 上で止まる。

	   🚨 **この帯だけに効かせる。**750px 以上は枠の上の内余白が 0 になり、代わりに
	   `.front-point__body` が上下 40px を持つ組みなので、同じ値を当てると印が枠から
	   84px 出てしまう（移行元は 35px）。その帯の差は Bug #2753 が扱う. */
	.front-point--no-image .pa-point-circle {
		top: -6em;
	}

	/* 移行元 .cta は狭い画面で 3em = 42px。末尾の帯だけ上 64px・下 80px. */
	.front-cta {
		padding-top: 42px;
		padding-bottom: 42px;
	}

	.front-cta--footer {
		padding-top: 64px;
		padding-bottom: 80px;
	}

	/* 移行元の狭い画面はどの節も 4rem = 40px である。 */
	.front-plan,
	.front-choose,
	.front-faq,
	.front-highlights {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	/* 🚨 **ここに在った 40px の固定値の規則は消した**（Bug #4324・Bug #4328）。
	 *
	 * 直す前は `.front-discount__inner, .front-store__inner` が 40px を**共有**して
	 * いた。移行元はどちらも `4rem` で、749px 以下では画面幅に比例するため、
	 * 40px の固定値では 375px で上下 3.66px ずつ広かった。
	 *
	 * 2 つの区画を別々の Issue が直したので、**あとから入る側（Bug #4324）が規則を
	 * 1 本へまとめる**取り決めにした（2026-09-07・10 班と 13 班の合意）。
	 *   ・お得な割引プランの器 → 下の「お得な割引プランを移行元の横幅と比例値へ
	 *     そろえる」の帯で `calc(4 * var(--pa-sp-rem))` にした
	 *   ・店舗一覧の器 → この節のあとにある「店舗一覧の水色の器の上下の内余白」で
	 *     同じ比例値にしてある（Bug #4328・13 班の PR #4442）
	 *
	 * **どちらも比例値になったので、40px の固定値を残す意味が無くなった。**残すと
	 * 「店舗一覧の正しい値は 40px」と読み違える元になる. */

	/* お得な割引プランを移行元の横幅と比例値へそろえる（Bug #4324）。
	 *
	 * 【幅の話】移行元 `@media screen and (max-width: 749px) { .otherPlan__main {
	 * width: 90%; margin: 0 auto; padding: 4rem 0 } }`。**節は横の余白を持たず、
	 * 器が 90% で中央に寄る**（375px で器 337.5px・左右の空き 18.75px ずつ）。
	 * dev は節に共通の 15px（`--pa-inner-gutter`）を持ったままだったので器が
	 * 345px と 7.5px 広く、**写真がその分だけ横へ広がって縦にも伸びていた**
	 * （1 枚 +3.44px × 3 枚 = +10.32px）。
	 * 🚨 `--pa-inner-gutter` の値そのものは動かさない。トップ関係の 12 か所と
	 * 全ページの外枠が共有しているためである。
	 * 750px 以上は同じ形が既に入っている（節の横を 0 にして器を 83.3333%）。
	 *
	 * 【比例値の話】移行元は 749px 以下で `html { font-size: 2.5445292621vw }` を
	 * 使うため、`rem` の指定が画面幅に比例する。`--pa-sp-rem` がその 1 単位である
	 * （ファイル冒頭の説明を参照）。固定 px で置くと 375px 以外でずれる。
	 *
	 *   実測（移行元 = 本番 www.p-a.jp と dev を同じ測り方で・2026-09-07・幅 375px）:
	 *     区画の高さ  移行元 1364.23 / 直す前 1394.56（+30.33）
	 *   内訳: 写真 +10.32 / 料金の行 +1.41 / 器の内余白 +3.66 /
	 *         札の隙間 +9.83 / 注記 +5.07 = +30.29 . */
	.front-discount {
		padding-inline: 0;
	}

	.front-discount__inner {
		width: 90%;
		/* 移行元 `padding: 4rem 0`（375px で 38.1679px）. */
		padding-top: calc(4 * var(--pa-sp-rem));
		padding-bottom: calc(4 * var(--pa-sp-rem));
	}

	/* 移行元 `.otherPlan__item:not(:last-child) { margin-bottom: 2rem }`
	 * （375px で 19.084px）。24px の固定値は 2 か所で 9.83px 広かった。
	 * 750px 以上は `gap: 0` の上書きがあるので触らない. */
	.front-discount__list {
		gap: calc(2 * var(--pa-sp-rem));
	}

	/* 移行元 `.meet__list__note { margin-top: 5rem }` と
	 * `@media screen and (max-width: 749px) { .meet__list__note { font-size: 1.2rem } }`
	 * （375px で 47.7099px / 11.4504px）。50px / 13px の固定値は上外余白 +2.29px・
	 * 高さ +2.78px 広かった。750px 以上の `1.3rem` = 13px は素の規則の直値と
	 * 一致しているので触らない. */
	.front-discount__note {
		margin-top: calc(5 * var(--pa-sp-rem));
		font-size: calc(1.2 * var(--pa-sp-rem));
	}

	/* 料金の 2 行のあいだ。移行元
	 * `.otherPlan__feeItem + .otherPlan__feeItem { margin-top: 1rem }`
	 * （移行元の写し `legacy/www.p-a.jp/public/assets/css/style.css` の原文）。
	 * 375px で 9.54198px・320px で 8.14249px になる。10px の固定値は
	 * **札 1 枚あたり 375px で +0.46px・320px で +1.86px** 広く、3 枚で積むと
	 * 区画の高さが 375px で +1.41px・320px で +5.58px 高くなっていた。
	 *
	 * 🚨 この 1 か所が、他の 5 か所を直したあとに残っていた最後の差である。
	 * 料金の行そのものの高さ（375px で 26.91px・320px で 22.8px）は両側で一致して
	 * いたので、**行の高さではなく行のあいだを見ること**. */
	.front-discount__fee + .front-discount__fee {
		margin-top: calc(1 * var(--pa-sp-rem));
	}

	/* 金額の左の空き。移行元 `.otherPlan__feeItem .amount { margin-left: 1rem }`
	 * （同じ原文）。375px で 9.54198px・320px で 8.14249px。10px の固定値では
	 * 320px で 1.86px 右へずれる。高さには効かないが、同じ規則の中の
	 * 比例化し忘れなので一緒に直す. */
	.front-discount__amount {
		margin-left: calc(1 * var(--pa-sp-rem));
	}

	/* 移行元 .activity__main は狭い画面で padding: 6rem 2rem 4rem
	   （実測 57.25px / 38.17px）。共通トークンの --pa-space-md（携帯幅で
	   30px）を素通しで使うと移行元より狭くなるため、ここで個別に上書きしていた
	   （Issue #2083）。内余白の持ち主が .front-activity__inner から
	   .front-activity__main へ移ったため、セレクタもここへ移した（Issue #2600）。

	   🚨 **ここに在った固定 px（上 57px・下 38px）は Bug #4239 で撤去した。**
	   749px 以下の 1rem は画面の幅の 2.5445292621% なので、固定 px は 375px で
	   しか合わない（幅 749px では移行元 上 114.35 / 下 76.23 に対して
	   57 / 38 で、上が 57.35px・下が 38.23px 足りなかった）。
	   **値はこのファイルの `@media (max-width: 749px)` の
	   `.front-activity__main` へ、`calc(6 * var(--pa-sp-rem))` の形で移した。**
	   ここへ px で書き戻さないこと（Bug #2889 と同じ型の退行になる）. */

	/* 移行元 .experience__main は狭い画面で
	   `padding: 4rem 1.5rem` / `border-radius: 3rem 0 0 3rem` である
	   （生きている移行元の style.css の `@media screen and (max-width:749px)`）。

	   🚨 **この 3 つは px で写せない。**749px 以下の 1rem は
	   `2.5445292621vw`（画面幅に比例）なので、4rem は 375px で 38.17px、
	   700px で 71.25px、749px で 76.23px になる。以前ここは 375px で測った
	   38px を固定で置いていたため、**画面が広がるほど移行元から離れていた**
	   （区画の高さが 650px で +21.73px、700px で +40.97px、749px で
	   +63.76px。Bug #2889）。

	   左右の内余白も同じ理由で固定 px（--pa-inner-gutter の 15px）だった。
	   左右が狭いと中身の器が広くなり、貼り絵の写真が縦横比のぶん高くなるため、
	   上下の内余白だけを直すと差がかえって広がる。**3 つまとめて画面幅に
	   比例させる。**

	   単位は共通変数 --pa-sp-rem（.front-page が持つ 2.5445292621vw）で、
	   移行元の rem 値がそのまま読み取れる形にしてある（Issue #2606）. */
	.front-experience__inner {
		padding-block: calc(4 * var(--pa-sp-rem));
		padding-inline: calc(1.5 * var(--pa-sp-rem));
		border-radius: calc(3 * var(--pa-sp-rem)) 0 0 calc(3 * var(--pa-sp-rem));
	}

	/* 結婚相談所の比較（.front-comparison）は、狭い画面では何も足さない。
	   移行元 .comparisn は狭い画面で padding: 4rem 0 0（実測 38.17px）であり、
	   節と節の間を空ける外余白は付かない。この上の内余白は Issue #1652
	   （トップページ固有の差）が 38px で先に main へ入れている。ここで 40px を
	   重ねると、より近い値を上書きしてしまう。上の外余白も初期値の 0 のままでよい
	   （この節の外余白を足しているのは 750px 以上の区画だけである）. */

	/* 移行元 .news は狭い画面で上の内余白 8rem = 80px・上の外余白 10rem = 100px. */
	.front-news {
		margin-top: 100px;
		padding-top: 80px;
	}
}

/* --------------------------------------------------------------
 * 17-2. トップページの基調となる背景色と、白い区画
 *
 * 移行元のトップページは、ページ全体を薄いグレー #F6F6F6 で敷き、その上に節を
 * 白いカードとして浮かせる作りである（public/index.html 118 行の main.contents に
 * background-color: #f6f6f6）。dev は逆に白を基調にしていたため、実測では 8 つの節で
 * 背景色が食い違っていた（移行元 rgb(246,246,246) → dev rgb(255,255,255)）。
 *
 * 白いままにする節は、移行元が background: #fff を明記している 6 つだけである。
 *   .activity / .cta / .comparisn / .content / .store / .news
 * これに、バナー枠と「選ばれる理由」を束ねる白い区画（移行元 .white-area）が加わる。
 *
 * body には敷かない。移行元のヘッダーとフッターは白のままだからである。敷き先は
 * トップページの器（.front-page）に限る。この器は共通ブロックの max-width を
 * 打ち消してあるので、背景は画面の端まで届く。
 * -------------------------------------------------------------- */

/* 移行元 main.contents の #f6f6f6。トップページの器だけに敷く.

   overflow: clip も移行元 main.contents から写している。下の白い区画は画面幅
   1050〜1165px で画面より広くなる作りで、切り落とさないと横スクロールが出る
   （実測: 1050px で 58px、1100px で 33px はみ出す）。移行元も同じ作りで、この
   1 行で抑えている。切り落とすのは面の外に出た部分だけで、トップページの中で
   意図的にはみ出させている絵や丸い印は、いずれもこの面の内側に収まっている
   （実測で確認済み）.

   font-size は移行元 main.contents の 2rem である。750px 以上は root が
   10px 固定なので 20px、749px 以下は root が画面幅に比例するため 1.2rem
   も同じ比率で縮む。トップページの器（.front-page）だけに当てているので、
   他カテゴリー（店舗・記事・体験談・フォーム）の 15px 前提には影響しない。

   🚨 **`position: relative` と `z-index: 0` も移行元 main.contents から写す**
   （Bug #3600）。この 2 行がこの器を「重ね順の入れ物」にする。主役の絵の背景は
   `z-index: -1` の擬似要素で敷いてあり、入れ物が無いと**この器の地色 #f6f6f6 の
   下へ潜って 1 度も描かれない**（重ね順は「入れ物の地色 → 地色より後ろの子 →
   流れの中の子の地色」の順に塗るため、器の地色があとから背景を覆う）。実測でも、
   この 2 行が無いと写真の左右 220px ぶんが #f6f6f6 の無地になり、移行元の
   ぼかした人物と赤い幕が出なかった。**CSS の寸法の回帰テストでは捕まえられない差である**
   （箱の位置と大きさは同じで、塗りだけが消える）. */
.front-page {
	position: relative;
	z-index: 0;
	background-color: #f6f6f6;
	font-size: 14px;
	overflow: clip;
}

/* Issue #2692: 移行元は 749px 以下で root の rem が画面幅に比例する。ここより
 * 前にあるトップ固有の値を、各帯の実際のカスケードに合わせてまとめて上書きする。 */
@media (max-width: 749px) {
	.front-activity__figure-lg {
		font-size: calc(5.1 * var(--pa-sp-rem));
	}

	.front-activity__figure-md {
		font-size: calc(3.1 * var(--pa-sp-rem));
	}

	.front-activity__figure-sm {
		font-size: calc(2.1 * var(--pa-sp-rem));
	}

	.front-activity__heading-lg,
	.front-activity__mark {
		font-size: calc(2.8 * var(--pa-sp-rem));
	}

	/* 🚨 **白い帯は、この帯では中身を中央にそろえ、上の空きも画面幅に比例する**
	 * （Bug #3909）。移行元は
	 *
	 *   @media screen and (max-width: 749px) {
	 *     .activity__btm { position: relative; padding: 2em; text-align: center }
	 *     .activity__btm__left { text-align: center; margin-bottom: 2rem }
	 *   }
	 *
	 * を持つ。写しは上の空きに `--pa-space-sm`（この帯では 20px）の固定値を当て、
	 * 文の段の下の空きを持たず、そろえも左のままだった。
	 *
	 * 実測（2026-09-05・幅 375px）: 帯の上の空き 移行元 28.63 対 写し 20px、
	 * 文の段の下の空き 移行元 19.08 対 写し 0px（帯の高さが 441 対 422px）。
	 * そろえは、2 つ目の帯の図（幅 250px）が器（258px）の中で
	 * **移行元は中央・写しは左端**になっていた. */
	.front-activity__panel {
		margin-top: calc(3 * var(--pa-sp-rem));
		text-align: center;
	}

	.front-activity__panel-text {
		margin-bottom: calc(2 * var(--pa-sp-rem));
	}

	.front-activity__note {
		margin-top: 2.001em;
		font-size: calc(1 * var(--pa-sp-rem));
	}

	.front-comparison__heading {
		margin-top: calc(4 * var(--pa-sp-rem));
		margin-bottom: calc(3 * var(--pa-sp-rem));
		font-size: calc(2.2 * var(--pa-sp-rem));
	}

	/* 🚨 **本文の負の上外余白と上の内余白も画面の幅に比例する**（Bug #4325）。
	   移行元は `.comparisn__body { padding: 8rem 1em 1em; margin-top: -9rem }`
	   で、749px 以下は 1rem が画面の幅に連動する。テーマは 375px のときの値
	   （76px と −86px）を直値で持っていたため、**375px でだけ合い、他の幅で
	   大きく外れていた**。749px では移行元の上の内余白が 152.5px・負の上外余白が
	   −171.5px になるのに対し、直値は 76px と −86px のままだった。

	   横と下の内余白は `1em`（この区画の字 14px に連動）で、幅では変わらない。
	   素の規則が持っているのでここには書かない. */
	.front-comparison__body {
		margin-top: calc(-9 * var(--pa-sp-rem));
		padding-top: calc(8 * var(--pa-sp-rem));
	}

	/* 札の中身の内余白と角丸。移行元 .otherPlan__item__content は
	   `padding: 2rem` と、この幅だけ `border-top-*-radius: 3rem` を持つ。
	   どちらもこの幅では画面幅に比例するので、375px で 19.08 / 28.63px・
	   320px で 16.29 / 24.43px になる。テーマは 20px / 30px の固定値
	   （750px 以上の 1rem = 10px で計算した値）を全幅で使っていたため、
	   **札の中の見出しと説明文の幅が移行元より広かった**（Issue #2834。
	   375px で 305 対 299.3px・320px で 250 対 255.4px と向きまで変わる）. */
	.front-discount__body {
		padding: calc(2 * var(--pa-sp-rem));
		border-radius: calc(3 * var(--pa-sp-rem)) calc(3 * var(--pa-sp-rem)) 0 0;
	}

	.front-discount__fee-label {
		/* 移行元 `@media(max-width:749px){ .otherPlan__feeItem .title{min-width:8.7rem} }`。
		   750px 以上の 9.5rem（= 95px）とは別の値で、**この幅だけ 8.7rem に縮む**。
		   テーマは 87px（8.7rem を 10px 基準で計算した値）を固定で持っていたため、
		   375px で 83.0px・320px で 70.8px の移行元より広かった。同じ規則の
		   内余白・角丸・字の大きさは既に比例化されており、min-width だけが
		   漏れていた（Issue #2834）. */
		min-width: calc(8.7 * var(--pa-sp-rem));
		padding: calc(0.5 * var(--pa-sp-rem));
		border-radius: calc(1.5 * var(--pa-sp-rem));
		font-size: calc(1.2 * var(--pa-sp-rem));
	}

	.front-discount__lead {
		font-size: calc(1.3 * var(--pa-sp-rem));
	}

	.front-discount__name {
		font-size: calc(2 * var(--pa-sp-rem));
	}

	.front-discount__off {
		font-size: calc(2.4 * var(--pa-sp-rem));
	}

	/* 移行元の札は 4 つの値がすべて root の文字を基準にしている。幅 320 / 375px の
	 * 実測（span.otehrPlan__title）で確かめた:
	 *   320px  内余白 8.14 / 文字 13.03 / 行の高さ 19.54（1rem = 8.1425px）
	 *   375px  内余白 9.54 / 文字 15.27 / 行の高さ 22.9 （1rem = 9.5420px）
	 * どちらの幅でも 1 / 1.6 / 2.4rem に一致する。top も 375px の -17.18px が
	 * -1.8rem に当たるため、4 つとも比例させる。 */
	.front-discount__title {
		top: calc(-1.8 * var(--pa-sp-rem));
		padding: calc(1 * var(--pa-sp-rem));
		font-size: calc(1.6 * var(--pa-sp-rem));
		line-height: calc(2.4 * var(--pa-sp-rem));
	}

	.front-faq__toggle {
		font-size: calc(1.3 * var(--pa-sp-rem));
	}

	/* 答えの文言も、質問と同じく画面幅に比例させる（Bug #6004）。

	   移行元 `.faq__ans` は 750px 以上で 1.5rem、749px 以下で **1.3rem** の
	   2 通りを持つ。テーマは素の側で 15px（＝750px 以上の 1.5rem）だけを写して
	   おり、**この帯の 1.3rem が漏れていた**。幅 375px で移行元 12.40px に対し
	   dev は 15px だった（2026-09-13 にユーザーの目視で発見・W67）。

	   🚨 **質問（.front-faq__toggle）と「A」の印（.front-faq__text::before）は
	   既に比例している。**漏れていたのは答えの文言だけである. */
	.front-faq__text {
		font-size: calc(1.3 * var(--pa-sp-rem));
		/* 移行元 `.faq__ans` の内余白は、この帯では 4rem（Bug #6011）。
		   dev は 38px の固定で、375px では 38.17 対 38 とほぼ合うが、
		   **749px では 76.23 対 38 と倍違っていた**（2026-09-13 の実測）. */
		--pa-faq-answer-pt: calc(4 * var(--pa-sp-rem));
	}

	/* 親が持つ上の外余白も、この帯では移行元と同じく画面幅に比例させる
	   （Bug #6011）。閉じた状態と開いた状態の両方がこの変数を読む. */
	.front-faq__answer {
		--pa-faq-answer-mt: calc(2 * var(--pa-sp-rem));
	}

	.front-highlights__title {
		margin-top: calc(3 * var(--pa-sp-rem));
		font-size: calc(1.5 * var(--pa-sp-rem));
	}

	.front-highlights__text {
		margin-top: calc(1 * var(--pa-sp-rem));
		font-size: calc(1.3 * var(--pa-sp-rem));
	}

	.front-plan__name {
		margin-bottom: calc(0.5 * var(--pa-sp-rem));
		font-size: calc(1.8 * var(--pa-sp-rem));
	}

	.front-plan__note {
		margin-top: calc(1.5 * var(--pa-sp-rem));
		font-size: calc(1.2 * var(--pa-sp-rem));
	}

	/* 「選べるコースとプラン」の 3 つの空きを移行元の比例値にそろえる（Bug #4455）。
	 *
	 * 【題の塊との空き】移行元は `.plan__body { margin-top: 5rem }` と
	 * `.sec__head { margin-bottom: 3rem }` が**隣どうしで相殺し、大きい 5rem が
	 * 効く**。dev は題の塊の 3rem しか持たず、**ちょうど 2rem 足りなかった**
	 * （375px で 19.08・320px で 16.28・749px で 38.12px。実測）。
	 * つまみの器の上外余白は白い面をまたがずに相殺するので、ここへ 5rem を置くと
	 * 題の塊の 3rem と相殺して 5rem になる。
	 *
	 * 【注記までの空き】素の規則の 50px を、この帯では比例値にする
	 * （移行元 `.plan__main { margin-bottom: 5rem }`）。
	 *
	 * 【点のための場所】移行元 `.plan__main { padding-bottom: 3rem }`。
	 * 絶対配置の点を置くための空きで、コースの札の帯の高さに含まれる。
	 *
	 * 🚨 **750px 以上は触らない。**題の塊との空きは両側 60px でそろっており、
	 * 点のための場所も移行元が持たない（点は帯の下 40px にはみ出す）. */
	.front-plan__selector {
		margin-top: calc(5 * var(--pa-sp-rem));
		margin-bottom: calc(5 * var(--pa-sp-rem));
		padding-bottom: calc(3 * var(--pa-sp-rem));
	}

	/* 携帯幅の点は器の下端が帯の下端とそろい、丸はそこから 5px 上にある
	 * （移行元 `.plan__main .slick-dots { bottom: 0 }` ＋ 行の余り 5px。
	 * 上の「点を流れの外へ出す」の注釈を参照）. */
	.front-page .front-plan__selector.is-enhanced .front-plan__dots {
		bottom: 5px;
	}

	.front-plan__thumb-fit {
		font-size: calc(1.2 * var(--pa-sp-rem));
	}

	.front-page .pa-heading {
		margin-bottom: calc(3 * var(--pa-sp-rem));
		font-size: calc(2.2 * var(--pa-sp-rem));
	}

	/* コースとプランの節だけは、移行元が見出しの下外余白を打ち消している
	 * （.plan .heading-a）。見出しのすぐ下に注記の 1 行が続くためである。
	 * 上の .front-page .pa-heading と詳細度が同じなので、打ち消しを保つには
	 * 後段へ置く必要がある。幅 320 / 375px の実測でも移行元の下外余白は 0 だった。 */
	.front-plan .pa-heading {
		margin-bottom: 0;
	}

	.front-discount__amount .pa-num {
		font-size: calc(2.8 * var(--pa-sp-rem));
	}

	/* 移行元 .storeNav__link は 1199px 以下で padding: 1rem .7em / font-size: 1.2rem。
	 * 縦は root 基準なので比例させる。**横の .7em は基の規則が既に持っており、
	 * 文字サイズを比例にすれば自動で追随するので上書きしない。** */
	.front-page .front-store__tabs .pa-tabs__tab {
		padding-block: calc(1 * var(--pa-sp-rem));
		font-size: calc(1.2 * var(--pa-sp-rem));
	}

	.front-plan,
	.front-choose,
	.front-faq,
	.front-highlights {
		padding-top: calc(4 * var(--pa-sp-rem));
		padding-bottom: calc(4 * var(--pa-sp-rem));
	}

	/* 注目コンテンツの札の余白（Bug #4327）。
	 *
	 * 🚨 **札の高さを決めるのが、移行元は「絵」・dev は「本文」になっていた。**
	 * dev の素の宣言（`@media` の外・14654 行）が本文へ `padding-bottom: 28px` を
	 * 置いており、移行元はこの内余白を持たない。そのため携帯幅で本文が絵より高くなり、
	 * 札 4 枚の高さが揃わなくなっていた。
	 *
	 *   移行元（3 行の札）  本文 122.33 / 絵 126.81 → **絵**が決める → 147.88
	 *   dev（同じ札）        本文 150.33 / 絵 126.81 → **本文**が決める
	 *   移行元（2 行の札）  本文 100.00 / 絵 126.81 → **絵**が決める → 147.88
	 *   dev（同じ札）        本文 128.00 / 絵 126.81 → **本文**が決める
	 *
	 * 移行元は 4 枚とも絵が決めるので **147.88 で揃う**（4 × 147.88 ＋ 3 × 19.08 =
	 * 648.76。実測 648.73）。
	 *
	 * 🚨 **札の間と札の内余白も固定 px だった**（`@media` の外の 14620 / 14631 行）。
	 * 移行元は 2rem / 1rem で画面幅に比例する。
	 *
	 *   札の間      dev 24px 対 移行元 19.08（2rem）… 3 か所で 14.75px
	 *   札の内余白  dev 10px 対 移行元 9.54（1rem）… 4 枚 × 上下で 3.66px
	 *
	 * 🚨 **パソコン幅は触らない。**750px 以上の値は移行元と一致している（区画の高さ
	 * 849.00 対 848.53）。素の宣言を直すとパソコン幅まで動くので、この帯で上書きする。
	 *
	 * 矢印（`.pa-arrow`）は絶対配置で高さに関わらないため、この Issue では触らない. */
	.front-highlights__list {
		gap: calc(2 * var(--pa-sp-rem));
	}

	/* 🚨 **携帯幅では移行元が縦中央そろえをやめる。**移行元 `.content__item` の
	 * `align-items` は、750px 以上が `center`・**749px 以下が `normal`** である
	 * （実測。`normal` は伸ばす＝ `stretch` と同じ振る舞いになる）。dev は全幅で
	 * `center` のままだったため、絵と本文が札の中で下へ動いていた
	 * （実測・幅 749px: 絵の上端が移行元 20.05 対 dev 41.95 で **21.90px 下**・
	 * 幅 375px: 題の上端が 137.44 対 139.70 で **2.26px 下**。
	 * [Bug #4774](https://github.com/mationinc/wp-platform/issues/4774)）. */
	.front-highlights__link {
		align-items: normal;
		padding: calc(1 * var(--pa-sp-rem));
	}

	/* 素の宣言が下の内余白を持たなくなったので（Bug #4774）、ここは
	 * **将来また置かれたときの歯止め**として残している. */
	.front-highlights__body {
		padding-bottom: 0;
	}

	/* 注目コンテンツの絵の上限（Bug #4503）。
	 *
	 * 🚨 **移行元の絵は 200px 幅で止まる。**dev は器いっぱいに引き伸ばし続けていた。
	 * 絵のファイルは両側とも同じ 400 × 401 で、**違うのは出し方だけ**である
	 * （移行元は `img { max-width: 100%; height: auto }` に絵自身の 200px が乗る形・
	 * dev は 14939 行あたりの素の宣言が `width: 100%`）。
	 *
	 * **器の幅が 200px に達する画面幅は 592px である**（実測）。そこから上で開く。
	 *
	 *   幅     移行元の絵      dev（直す前）
	 *   540    182.5 x 182.95  182.56 x 183.02   一致
	 *   580    196.09 x 196.58 196.14 x 196.63   一致
	 *   592    **200 で止まる** 200.2  x 200.7    境目
	 *   600    200 x 200.5     202.92 x 203.42   開く
	 *   749    200 x 200.5     253.52 x 254.14   開く
	 *
	 * 札の高さの式は両側同じ（`max(絵, 本文) + 内余白 1rem × 2 + 枠 1px × 2`）で、
	 * **入る「絵の高さ」が違うだけ**である。移行元は絵が 200.50 で止まるので
	 * **本文の量で 4 枚がばらつく**（749px で 284.41 / 284.41 / 240.59 / 274.13）。
	 * dev は絵の 254.14 が全部の本文を超えるので **4 枚が同じ高さ**になっていた
	 * （294.23 ×4）。区画の高さは 749px で 移行元 1470.34 対 dev 1563.75（+93.41）。
	 *
	 * 🚨 **パソコン幅は動かない。**750px 以上の器の幅は最大 199.78px で
	 * （幅 1440px の実測・`.front-highlights__inner` の上限で決まる）、
	 * **200px の上限には掛からない**。区画の高さは 1440px で 848.53 のまま。
	 *
	 * 受け皿（`.front-placeholder`）も同じ当たり先に並べる。絵が入らないときに
	 * 器いっぱいへ広がると、絵が入ったときと高さが変わってしまう. */
	.front-highlights__image img,
	.front-highlights__image .front-placeholder {
		max-width: 200px;
	}

	/* 店舗一覧の水色の器の上下の内余白（Bug #4328）。
	 *
	 * 移行元 `.store__main` は 749px 以下で `padding: 4rem 1.5rem`。この帯の 1rem は
	 * 画面幅に比例するので、**375px では 38.1679px** になる（実測）。直す前の dev は
	 * **40px の固定値**だったので、375px で上下 1.83px ずつ・**合わせて 3.66px 高い**。
	 *
	 * 🚨 **この 40px は、もとは割引プランの器と共有した規則だった**
	 * （`.front-discount__inner, .front-store__inner`）。2 つの区画を別々の Issue が
	 * 直したので、**あとから入る側（Bug #4324・10 班）が共有の規則を 1 本へまとめて
	 * 消す**取り決めにした（2026-09-07・10 班と 13 班の合意）。まとめたあとは、
	 * この宣言が店舗一覧の器の唯一の指定である（打ち消しではない）。
	 * 経緯は上の「ここに在った 40px の固定値の規則は消した」の注釈に書いてある。
	 *
	 * 左右の内余白（1.5rem）は上の 14812 行が既に比例値にしてあるので触らない. */
	.front-store__inner {
		padding-top: calc(4 * var(--pa-sp-rem));
		padding-bottom: calc(4 * var(--pa-sp-rem));
	}

	/* 店舗一覧のタブの中身の上の空き（Bug #4328 の 2 つめ）。
	 *
	 * 移行元 `.store__listWrap` は 749px 以下で上の外余白 2rem。この帯の 1rem は
	 * 画面幅に比例するので、**375px で 19.084px・320px で 16.285px** になる（実測）。
	 * dev は 14908 行の素の宣言が **20px の固定値**である。
	 *
	 *   375px  移行元 19.084 対 dev 20     → **0.92px 高い**
	 *   320px  移行元 16.285 対 dev 20     → **3.72px 高い**
	 *
	 * 🚨 **上の内余白の直しだけでは 320px で合わない。**内余白（4rem）を比例にすると
	 * 375px は残り 0.95px で許容差の内に入るが、**320px は 3.73px 残って許容差を
	 * 超える**。幅を 375px だけで見ると見落とす（台帳 151 行・裁定 208）。
	 *
	 * 内訳（区画の高さ・実測）:
	 *
	 *   375px  移行元 1159.11  dev 1163.72  差 +4.61 = 内余白 3.66 ＋ この空き 0.92
	 *   320px  移行元 1085.19  dev 1103.78  差 +18.59 = 内余白 14.86 ＋ この空き 3.72
	 *
	 * タブの札の帯（`.pa-tabs__list`）と中身（`.pa-tabs__panels`）そのものの高さは
	 * 両側で一致している（375px で 81.23 / 760.34・320px で 106.89 / 694.42）。
	 *
	 * 🚨 **パソコン幅は触らない。**750px 以上は 15018 行が 50px を当てており、
	 * 区画の高さは 1440px で移行元とぴったり一致している（755.80 対 755.80）。
	 *
	 * 当たり先は `.front-store__tabs` で絞ってあるので、タブの部品を使う他のページ
	 * には及ばない（`.pa-tabs__panels` を単独で名指ししない）. */
	.front-store__tabs .pa-tabs__panels {
		margin-top: calc(2 * var(--pa-sp-rem));
	}

	/* 移行元 .news は 749px 以下で上の外余白 10rem・上の内余白 8rem。
	 * 内余白は Issue #2692 で比例にしたが、外余白は 100px の固定値が残っていた
	 * （Issue #2727。移行元は 320px で 81.42 / 375px で 95.42 / 749px で 190.59）。 */
	.front-news {
		margin-top: calc(10 * var(--pa-sp-rem));
		padding-top: calc(8 * var(--pa-sp-rem));
	}

	/* コース札の料金の数字。移行元 `.plan__item__table .lg` は 749px 以下で
	 * 1.8rem（750px 以上は 2.2rem）。行送りは持たず初期化の 1.5 を受ける。
	 * 実測（移行元・幅 375px）: 文字 17.1756px / 行の高さ 25.7634px。
	 * 750px 以上の上書きはこの帯に効かないため、ここでも移行元の値を写す
	 * （Issue #2744）。
	 * 行の高さは共通の数字（`.front-page .pa-num`）が 1.5 を持つので指定しない. */
	.front-plan__table .pa-num {
		font-size: calc(1.8 * var(--pa-sp-rem));
	}

	/* コース札の料金の単位「名」。移行元 `.plan__item__table .md` は 749px 以下で
	 * 1.5rem（750px 以上は 1.8rem）。実測（移行元・幅 375px）: 14.313px。
	 * 750px 以上の上書きはこの帯に効かないため、ここでも移行元の値を写す
	 * （Bug #3705）. */
	.front-page .front-plan__table .pa-unit {
		font-size: calc(1.5 * var(--pa-sp-rem));
	}

	/* コース札の中の 4 か所を、移行元の比例値へそろえる（Bug #4455）。
	 *
	 * 移行元は札の中を `rem`（画面幅に比例）で書くのに、写しは固定 px だった。
	 * **幅を狭めたときの動きが逆向きになる**（実測・幅 375px → 320px）:
	 *
	 *     移行元  縮む （コミットメントコース 535 → 459・−76px）
	 *     写し    伸びる（521 → 533・+12px）  ← 字が縮まないので折り返しが増える
	 *
	 * 札の枚数（3 種 ＋ 環にするための写し 2 枚）と組みの幅（幅 320px で 261px）は
	 * 両側で一致しており、**題と絵も完全に同じ**（絵のファイルも同じ）。差は字と余白だけ
	 * である。
	 *
	 * 内訳（幅 320px・出ている札・足し算が札の差 +103.66 と合う）:
	 *
	 *     題の側の内余白    移行元 3rem 2rem   写し 30px 20px   縦 +11.15
	 *     説明文の字        移行元 1.4rem      写し 14px        高さ 41.06 → 75.56（+34.50）
	 *     中身の側の内余白  移行元 1rem 2rem   写し 10px 20px   縦  +3.72
	 *     費用の表          移行元 314.61      写し 368.87      +54.28
	 *
	 * 🚨 **費用の表の差の 8 割は 2 行の折り返しである**（長い見出しの行）。
	 * 字が大きいことに加え、**写しだけが横に 8px の内余白を持つ**ため中身の幅が狭まる。
	 * 移行元は横 0 なので、縦だけ直しても折り返しは直らない。
	 *
	 *     成婚コンシェルジュによる紹介  移行元 46.88  写し 75.78（+28.90）
	 *     AI マッチング紹介            移行元 39.27  写し 56.19（+16.92）
	 *
	 * 移行元の原文（写し `legacy/www.p-a.jp/public/assets/css/top.css`）:
	 *
	 *     749px 以下  .plan__item__head { padding: 3rem 2rem }
	 *     749px 以下  .plan__item__txt  { font-size: 1.4rem }
	 *     749px 以下  .plan__item__foot { padding: 1rem 2rem }
	 *     帯の外      .plan__item__table th, td { padding: 1rem 0 }
	 *     749px 以下  .plan__item__table th, td { font-size: 1.3rem }
	 *
	 * 🚨 **750px 以上は触らない。**表の内余白は 750px 以上で既に `10px 0`（横 0）に
	 * なっており、移行元と一致している。写しの素の規則の `padding: 8px` が携帯幅にだけ
	 * 残っていた。
	 *
	 * 🚨 **行送りは指定しない。**説明文は比率 1.8 を、表の見出しは 1.4 を受けており、
	 * どちらも字に比例して縮む（実測で確かめた）。
	 *
	 * 🚨 **題（`.front-plan__name`）と料金の数字（`.pa-num` / `.pa-unit`）は直し済み**
	 * である（それぞれ 1.8rem・1.8rem・1.5rem。上の 2 つの規則と別の Issue）. */
	.front-plan__head {
		padding: calc(3 * var(--pa-sp-rem)) calc(2 * var(--pa-sp-rem));
	}

	.front-plan__lead {
		font-size: calc(1.4 * var(--pa-sp-rem));
	}

	.front-plan__foot {
		padding: calc(1 * var(--pa-sp-rem)) calc(2 * var(--pa-sp-rem));
	}

	.front-plan__table th,
	.front-plan__table td {
		padding: calc(1 * var(--pa-sp-rem)) 0;
		font-size: calc(1.3 * var(--pa-sp-rem));
	}

	.front-comparison {
		padding-top: calc(4 * var(--pa-sp-rem));
		padding-bottom: 0;
	}
}

@media (min-width: 750px) {
	/* 移行元はこの 3 つを**画面幅に追従**させ、下限と上限で頭打ちにする。
	   テーマは上限の値を固定していたため、1439px 以下では大きすぎた
	   （Issue #2620 の P3・C の 3 件）。

	   移行元の実測（幅 750 / 1050 / 1100 / 1199 / 1200 / 1300 / 1440 / 1600 / 1920px）:

	   | 字 | 下限 | 追従の率 | 上限 | 上限に届く幅 |
	   |---|---:|---:|---:|---:|
	   | 大 | 35px | 3.75vw | 54px | 1440px |
	   | 中 | 20px | 2.0138889vw | 29px | 1440px |
	   | 小 | 20px | 1.6666667vw | 24px | 1440px |

	   1600 / 1920px でも 54 / 29 / 24px のままで、上限で止まることを確かめている. */
	.front-activity__figure-lg {
		font-size: clamp(35px, 3.75vw, 54px);
	}

	.front-activity__figure-md {
		font-size: clamp(20px, 2.0138889vw, 29px);
	}

	.front-activity__figure-sm {
		font-size: clamp(20px, 1.6666667vw, 24px);
	}

	/* 移行元は 1023px までが 40px、1024px から 39px である（実測: 750 / 800 /
	   900 / 1000 / 1023px はいずれも 40px、1024px から 39px）。テーマは 750px から
	   一律 39px にしていたため、750〜1023px の帯だけ 1px 小さかった
	   （Issue #2620 の P3・2 件）。1024px 以上は下の帯で 39px へ戻す. */
	.front-activity__heading-lg,
	.front-activity__mark {
		font-size: 40px;
	}

	.front-activity__note {
		margin-top: 2.001em;
		font-size: 10px;
	}

	/* 移行元は 1023px までが 13px、1024px から 14px である（実測）。テーマは
	   750px から一律 14px にしていたため、750〜1023px の帯だけ 1px 大きかった
	   （Issue #2620 の P3・2 件）。1024px 以上は下の帯で 14px へ戻す. */
	.front-highlights__text {
		margin-top: 10px;
		font-size: 13px;
	}

	.front-highlights__title {
		margin-top: 50px;
	}

	.front-plan__name {
		margin-bottom: 15px;
		font-size: 32px;
	}

	.front-plan__note {
		margin-top: 15px;
		font-size: 13px;
	}

	.front-plan__thumb-fit {
		font-size: 20px;
	}

}

/* 移行元が 1024px に持つ境目。上の 750px の帯で移行元の 1023px までの値を敷き、
   ここで 1024px 以上の値へ戻す（Issue #2620 の P3・計 4 件）. */
@media (min-width: 1024px) {
	.front-activity__heading-lg,
	.front-activity__mark {
		font-size: 39px;
	}

	.front-highlights__text {
		font-size: 14px;
	}
}

/* バナー枠と「選ばれる理由」を束ねる白い区画。移行元 .white-area に当たる。
   囲いそのものは front-page.php が出している.

   移行元の指定（em は入れ物 .contents の font-size: 14px 基準なので 1em = 14px）:
     .white-area                     padding: 1em（= 14px）/ background: #fff / overflow: clip
     @media (min-width: 1050px)      padding: 5em 0（= 70px）
                                     padding-right: calc((100% - 1166px) / 2)
                                     border-radius: 5em 0 0（= 左上だけ 70px）
                                     width: calc(1166px + (100% - 1166px) / 2)
                                     margin-left: auto

   幅と外余白の意味: 画面幅 1440px なら幅が 1166 + (1440 - 1166) / 2 = 1303px に
   なり、margin-left: auto で右端へ寄る。左端は x=137、右の内余白も 137px なので、
   中身の柱は 1,166px になる。白い面は画面の右端まで届き、左上の角だけが丸い。

   広げ始める幅は移行元と同じ 1050px にしてある。このテーマは普段 750px の 1 本で
   組むが、上の式は画面幅が 1166px を下回ると幅が画面より広くなる作りで、750px から
   当てると狭い画面で左へ大きくはみ出す。移行元自身が 1050px で止めているため、
   ここもその境目をそのまま写す. */
/* ==============================================================
 * 成婚率の調査注記と「続きを読む」の開閉（Task #3241）
 *
 * 移行元の `div.readmore` を写す。白い囲いの先頭に置き、閉じているときは
 * 高さ 60px で切り取って下に白いグラデーションをかける。
 *
 * 実測（移行元 = 本番を 2026-09-04 12:2x JST に取得）:
 *   幅 1440px  区画 x 137 / 幅 1166 / 内余白 10px 84px 20px / 高さ 90px
 *   幅 1049px  区画 x 14 / 幅 1021 / 内余白 10px 0 20px / 高さ 90px
 *   幅 800px   区画 x 14 / 幅 772 / 内余白 10px 0 20px / 高さ 90px
 *   幅 375px   区画 x 14 / 幅 362 / 内余白 10px 0 20px / 高さ 90px
 * 左右の 84px が付くのは 1050px 以上だけである（移行元の `6em` × 本文層 14px）。
 * ============================================================== */

.front-survey-note {
	position: relative;
	margin: 0 auto;
	padding: 10px 0 20px;
}

@media (min-width: 1050px) {
	.front-survey-note {
		padding-inline: 84px; /* 移行元 6em（本文層 14px 基準） */
	}
}

/* 閉じているときの高さ 60px は、下の JavaScript が開くときだけ書き換える。
 * 移行元は `transition: all 0.4s` を持つ。動きを控える設定のときは切る. */
/* 字・行送り・色は移行元と同じく**この器**に置く（移行元 `.readmore-content`）。
 *
 * 🚨 **ここに書いた行送り 1.3 は、中の段落には効かない。**移行元にもテーマにも
 * `p { line-height: 1.8 }` があり、段落そのものへは詳細度で `p` が勝つためである。
 * 段落の行送りは両側とも **18px**（= 10 × 1.8）になる（移行元の本番を
 * 2026-09-04 13:14 JST に取得して実測。器は 13px・段落は 18px）。
 * それでもここに 1.3 を残すのは、移行元と同じ書き方にそろえるためである。
 * **検査や型紙の期待値には、器ではなく段落の値（18px）を書くこと。** */
.front-survey-note__content {
	position: relative;
	height: 60px;
	padding: 0 0 30px;
	overflow: hidden;
	color: #b7b7b7;
	font-size: 10px;
	line-height: 1.3;
	transition: height 0.4s;
}

/* 開いたときの高さは JavaScript が中身の高さを直値で入れる（移行元と同じ）。
 * JavaScript が動かない環境では 60px のまま切り取られ、ボタンを押しても
 * 何も起きない。移行元も同じである。注記は景品表示法まわりの根拠であり、
 * 読めないままになるのは望ましくないので、切り取りを外して全文を出す
 * 逃げ道を置く。器に `is-enhanced` が付くのは JavaScript が組み立てた
 * ときだけで、付いていなければ切り取らない. */
.front-survey-note:not(.is-enhanced) .front-survey-note__content {
	height: auto;
	overflow: visible;
}

.front-survey-note:not(.is-enhanced) .front-survey-note__content::before,
.front-survey-note:not(.is-enhanced) .front-survey-note__button {
	display: none;
}

/* 下端の白いグラデーション。文字を下へ行くほど白へ溶かして「続きがある」と
 * 見せる。開くと消える。押せる要素を覆わないよう `pointer-events: none` を置く. */
.front-survey-note__content::before {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 60px;
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 30%, #fff 100%);
	content: "";
	opacity: 1;
	transition: opacity 0.4s;
	pointer-events: none;
}

.front-survey-note__content.is-open::before {
	opacity: 0;
}

/* 段落の既定の外余白だけを外す。字と色は上の器から受け継ぐ. */
.front-survey-note__text {
	margin: 0;
}

/* ボタンは区画の下端から 6% の位置に絶対配置する（実測: 高さ 90px のとき
 * 下から 5.39px）。移行元は `display: table` だが、中身を横に並べる用が
 * 無いので `display: block` で同じ見え方になる（幅 200px・字 10px の
 * 1 行）。実測でも高さは 35px（= 10 + 15 + 10）で一致する. */
.front-survey-note__button {
	position: absolute;
	bottom: 6%;
	left: 50%;
	z-index: 1;
	width: 200px;
	padding: 10px 0;
	border: none;
	background-color: transparent;
	box-shadow: none;
	color: #aaa;
	font-size: 10px;
	text-align: center;
	transform: translateX(-50%);
	cursor: pointer;
	transition: color 0.4s;
}

/* 焦点の輪郭は、テーマの他の押しボタンと同じ書き方にそろえる
 * （`--pa-color-focus` という変数はこのテーマに無い）. */
.front-survey-note__button:focus-visible {
	outline: 2px solid var(--pa-color-accent-strong);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.front-survey-note__content,
	.front-survey-note__content::before,
	.front-survey-note__button {
		transition: none;
	}
}

.front-white-area {
	padding: 14px;
	background-color: var(--pa-palette-white);
	/* 移行元と同じ。1300px 未満では、中の絵や丸い印をこの面の外へ出さない
	   （1300px 以上での扱いは下の指定を見る）. */
	overflow: clip;
}

@media (min-width: 1050px) {
	/* 🚨 **上下の内余白は同じ値ではない**（Task #3359）。移行元 `.white-area` は
	 * 上 14px・下 70px の非対称である。写しは下の 70px だけを写し、上にも同じ
	 * 70px を当てていたため、囲いの中身が 56px 下から始まっていた。
	 *
	 * 実測（両側とも 2026-09-04 13:3x JST に同じ道具で測った。囲いの内余白の 4 辺）:
	 *
	 *   幅      移行元                写し・直す前
	 *   375px   14 / 14 / 14 / 14     14 / 14 / 14 / 14   （一致）
	 *   800px   14 / 14 / 14 / 14     14 / 14 / 14 / 14   （一致）
	 *   1050px  14 / 0 / 70 / 0       70 / 0 / 70 / 0     （上だけ +56）
	 *   1440px  14 / 137 / 70 / 0     70 / 137 / 70 / 0   （上だけ +56）
	 *
	 * 差は 1050px 以上の上だけで、右・下・左と角丸・幅・外余白は 4 幅とも一致して
	 * いた。1049px 以下は基底の `padding: 14px` が当たり、こちらも一致している。
	 *
	 * 🚨 **リポジトリにある移行元の写しの CSS を根拠にしてはいけない。**
	 * `legacy/www.p-a.jp/public/assets/css/style.css` は
	 * `@media (min-width: 1050px) { .white-area { padding: 5em 0 } }`（上下とも
	 * 70px）と書いており、**本番の実測（上 14px）と食い違う**。この写しは本番より
	 * 古く、同じ囲いの先頭にある調査注記の区画（`div.readmore`・Task #3241）も
	 * 1 件も含んでいない。**値は使うときに本番を測って取る**（裁定 42）. */
	.front-white-area {
		width: calc(1166px + (100% - 1166px) / 2);
		margin-left: auto;
		padding: 14px 0 70px;
		padding-right: calc((100% - 1166px) / 2);
		border-radius: 70px 0 0;
	}
}

/* 画面が 1300px 以上まで広がると、移行元は切り落としをやめて中身を外へ出す
   （@media(min-width:1300px){ .white-area{ overflow:visible } }）。この幅では
   白い面の左端が画面から十分内側へ入るため、外へ出た飾りが画面の外まで届かない。
   はみ出しの受け止めはページの器（.front-page の overflow: clip）が担う. */
@media (min-width: 1300px) {
	.front-white-area {
		overflow: visible;
	}
}

/* 料金プランの帯。移行元 .plan は背景を持たず、ページの基調のグレーが透ける。
   dev はここへ独自のクリーム色 #FFF6EC を敷いていた。
   実測: 移行元 rgb(246,246,246) → dev rgb(255,246,236). */
.front-plan {
	background-color: transparent;
}

/* 結婚相談所の比較（.front-comparison）の背景は、ここでは指定しない。
   移行元 .comparisn の白は `@media screen and (min-width: 750px)` の中だけにあり、
   狭い画面では背景を持たずページの基調のグレーが透ける（移行元の実測: 375px で
   rgba(0,0,0,0)、750px 以上で rgb(255,255,255)）。dev が敷いていたクリーム色は
   Issue #1652（トップページ固有の差）が同じ形（750px 以上でだけ白）に直して先に
   main へ入っているため、ここで足すと狭い画面まで白くなって食い違う. */

/* 移行元が背景を持たない 3 つの節。ページの基調のグレーを透かす。
   実測: いずれも 移行元 rgb(246,246,246) → dev rgb(255,255,255).
   ヒーロー・PAC バナー・体験談・全幅の写真の 4 つも同じ状態だが、こちらは
   もともと背景の指定を持たないので、器をグレーにした時点で移行元と揃う. */
.front-discount,
.front-choose,
.front-faq {
	background-color: transparent;
}

/* クリーム色 #FFF6EC を残すのは、移行元がこの色（--base-color）を使っている
   ただ 1 箇所、4 つのポイントの囲み（移行元 .point-box）だけである。
   .front-point は var(--pa-color-surface-muted) 経由でこの色を受け取っており、
   トップページは body.pa-profile-new なのでクリーム色に解決される。ここは
   移行元どおりなので触らない. */

/* --------------------------------------------------------------
 * 17-3. 記事と固定ページの本文の器の幅
 *
 * 移行元の下層ページは、本文の柱を 1,100px に取り、画面幅 1440px では左端が
 * x=170 に揃う。dev は 800px（--pa-inner-xs）で組んでいたため、左端が x=320 まで
 * 内側へ寄っていた。実測（C4 機能ページのギャップ抽出・Task #1595、道具は
 * ~/work/pa-visual-compare/c4/）では、次の 2 種類の器で 20 要素がずれていた。
 *
 *   固定ページ    /sitemap/ と /introduce/search/       … .page-content
 *   採用の詳細    /company/recruit/company-recruit* 4 件 … .single-content--recruit
 *
 * 集客記事の詳細（/word/ /research/ 等。single.php が描く素の .single-content）は
 * 事情が違い、移行元は 3 枚重ねの入れ物になっている。
 *
 *   legacy/www.p-a.jp/public/css/style.css
 *     .grid_box（1708〜1713 行）            画面いっぱいの薄いグレーの地・内余白 55px 0 70px
 *     .grid_box .detail_body（1760〜1764 行）白いカード・幅 1,100px・下の外余白 25px
 *     .grid_box .detail_inner（1766〜1773 行）文章の柱・幅 800px・内余白 35px 0 60px
 *
 * この 3 枚を、テンプレートが既に持つ 3 つの入れ物へ順に対応づける。
 *   .single-content → article（post_class が付く要素） → .entry-content
 *
 * 移行元は記事の題名（.grid_ttl）を白いカードの外、グレーの地の上に置いている。
 * 🚨 **dev では、この題名は本文の側に入っている**（投入が移行元の .grid_box ごと
 * 取り込んでいる。2026-09-08 に実測）。型紙が足していた .entry-header は同じ字の
 * 2 回目だったので、Bug #2806 でコラムだけ出すのをやめた。
 * **ただし入れ子が 1 段深い。**移行元は .grid_box（幅いっぱい）> .detail_body（1,100px）
 * だが、dev は article（1,100px）> .entry-content（800px）> .grid_box となるため、
 * 題名の幅が 1,440px でなく 800px になる。ここは Bug #2806 の「本文の器の幅」として
 * 別に扱う。
 *
 * 店舗ページ（.single-content--branch）と、体験談・成婚ストーリー・レナルの詳細は
 * 対象から外す。いずれも別の Task が担当する独自の組み方を持っている。
 *
 * 共通トークン --pa-inner-ex（1120px）と --pa-inner-xs（800px）の値は変えていない。
 * どちらも複数の区画が共有しているためである。フッターと店舗ページの単独ページは
 * その後 Bug #1945 で、ここと同じ「外枠 1,130px・内寸 1,100px」の形へ移した
 * （トークンの参照をやめ、1130px を直接書いている）。いまトークンを共有しているのは
 * トップの 4 つの節・一覧・記事の外枠などである。
 * -------------------------------------------------------------- */

/* 固定ページと採用の詳細。内容の幅を 1,100px にしたいので、共通ブロックが置いて
   いる左右の内余白（--pa-inner-gutter の 15px ずつ）を足した 1,130px を外枠にする。
   画面幅 1440px では左端が (1440 - 1130) / 2 + 15 = 170px になり、移行元と揃う。
   .single-content.single-content--recruit と 2 つ重ねているのは、上の
   .single-content:not(.single-content--branch) より詳細度を高くするためである. */
.page-content,
.single-content.single-content--recruit {
	max-width: 1130px;
}

/* 本文の柱そのもの。移行元の実測は 1,100px・左端 x=170 で、dev は 800px・x=320
   だった. */
.page-content__header,
.page-content__body,
.single-content.single-content--recruit .entry-header,
.single-content.single-content--recruit .entry-content {
	max-width: 1100px;
}

/* --- 集客記事の詳細（素の .single-content と --pa-article）の 3 枚重ね --- */
/*
 * 🚨 **移行元はページの区分ごとに、この 3 段のうち出すものを変えている（Bug #2952）。**
 * 値の写し元は移行元の**調査レポート**（public/css/style.css 1708〜1713 行の
 * .grid_box 以下）だが、その 3 段をそのまま全ページへ当てると 2 通りの形でずれる。
 *
 * | 移行元の区分 | HTML | grid_box（灰の帯） | detail_body（白いカード） | 帯の上下の内余白 |
 * |---|---:|---:|---:|---|
 * | ワード解説 /word/ | 711 | 701 | **15**（2017-10〜2018-02 のみ） | 55 / **10** |
 * | 調査レポート /research/ | 383 | 160 | 160 | 55 / **70** |
 * | お見合い・結婚コラム /contents/ | 72 | **0** | 0 | — |
 * | 恋愛相談 /counseling/ | 78 | **0** | 0 | — |
 * | 婚活コラム /konkatsu-sp/ | 67 | **0** | 0 | — |
 *
 * よって**見た目（地色・内余白・罫線）は門で絞る**。門は body の目印 2 つで、
 * 投入した本文に移行元の囲みが残っているかを見る（inc/single-content-legacy-frame.php）。
 *
 *   - `pa-legacy-grid-box`     … 本文に grid_box が在る → 灰色の帯と上下の内余白
 *   - `pa-legacy-detail-body`  … 本文に detail_body が在る → 白いカードと柱の内余白
 *   - `pa-legacy-story-section` … 本文に id="story" が在る → 帯の下を 10px にし罫線を落とす
 *
 * 🚨 **幅の指定は門に掛けない。**コラム 3 区分（投稿型 pa_article・211 ページ）は
 * 灰色の帯を持たないが、本文の柱の**横位置と外形は移行元と完全に一致していた**
 * （幅 1,100px・左端 170px。Bug #2952 の 2026-09-02 の実測）。幅まで門に掛けると
 * その一致が崩れる。
 */

/* 1 枚目の骨組み（門の外）。地を画面の端まで届かせたいので、共通ブロックの
   max-width を打ち消す. */
.single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) {
	max-width: none;
}

/* 🚨 **灰色の帯はパソコン幅だけに出す（Bug #4728）。**移行元は携帯へ別サイト
   （`/sp/` 配下）を配っており、**その HTML は `grid_box` を 1 つも持たない**
   （ワード解説 692 本・調査レポート 214 本・コラム 3 区分 7 本を写しで全数
   数えた。2026-09-08）。パソコン版だけが `grid_box` を持つ。

   境目の 750px は、テーマがヘッダーとフッターの出し分けに使っている値と同じで
   ある（新しい値を持ち込まない）。

   🚨 **「携帯幅では 0 に戻す」を @media の外へ書き足す形は採らない。**同じ
   当たり先へ値を 2 回書くと、あとから片方だけ直したときに食い違う。門の規則
   そのものを囲みの中へ入れる。

   携帯幅では、土台の `.single-content { padding: 0 var(--pa-inner-gutter) }` が
   そのまま残るので、**左右の空きは 15px のままで上下だけが 0 になる**。これは
   コラム 3 区分（投稿型 pa_article・211 ページ）が Bug #2952 の後に出している
   姿と同じである. */
@media (min-width: 750px) {
	/* 🚨 **帯の 7 規則は、本文の器を 2 通り受ける（Bug #8259）。**`.single-content` と
	   `.page-content__body` である。どちらの器になるかは投稿タイプごとの型紙が決めており、
	   移行元が帯を出していたかとは関係が無い。**帯を出すかどうかは `body` の
	   `pa-legacy-grid-box` の印だけが決める**（`inc/single-content-legacy-frame.php` が
	   本文に `grid_box` が在るかで付ける）。器の名前で外すと、印が付いているのに帯が
	   出ないページが生まれる。

	   実際に QOM総研の詳細 159 ページがそうなっていた。印は付いているのに器が
	   `.page-content__body` で、7 規則が 1 本も当たらず、帯・内余白・上の罫線の
	   すべてを失っていた（幅 1440 の実測: dev 1100×6112.94・内余白 0・罫 0 に対し、
	   移行元 1440×6207.94・内余白 55/70・罫 1px solid #ccc）。

	   【当たり先の実数】移行元の写し 11,360 本を走査すると `grid_box` を持つのは 974 本で、
	   区画は 4 つである（結婚相談所のすゝめ 701・QOM総研 160・会員紹介 109・
	   シングルマザー 4）。dev の器を 1 ページずつ HTTP で確かめると、結婚相談所のすゝめと
	   会員紹介は `.single-content`（既に帯を持つ）、**QOM総研とシングルマザーが
	   `.page-content__body`** である。この 2 つが今回あらたに帯を持つ。

	   🚨 **`.single-content` の側にだけ在る `:not()` の 5 つは、`.page-content__body` の側に
	   写さない。**あれは `.single-content--branch` のような**修飾の類名**を外すためのもので、
	   `.page-content__body` にはその修飾が付かない（型紙が別）。写すと当たり先が 0 になる.  */
	/* 1 枚目の見た目（門 1）。移行元 .grid_box の薄いグレーの地と内余白 55px 0 70px。

	   🚨 **地は単色ではなく 2 色の市松である（Bug #8246）。**以前ここには
	   「その色は RGB(246,246,246) ＝ #F6F6F6 である」と書いていたが、**読み違いだった。**
	   移行元リポジトリの `public/images/research/bg_list.gif`（47 バイト・md5 `dba2d75f…`）を
	   画素まで読むと、2 色が 2×2 のブロックで半分ずつを占める市松である。

	       A A B B     A = RGB(246,246,246) = #F6F6F6
	       A A B B     B = RGB(237,237,237) = #EDEDED
	       B B A A
	       B B A A

	   単色 #F6F6F6 だけを敷くと、移行元より一様に明るくなる。

	   🚨 **`background-color` は残す。**この GIF は透過を持たない（Graphic Control
	   Extension の透過フラグが偽）ので、敷いたあとに地色は 1 画素も見えない。
	   絵が届かなかったときの控えとして残す。移行元の `.grid_box` は地色を持たない。

	   絵はテーマに在る（`assets/images/research/bg_list.gif`・移行元と md5 が一致）。
	   成婚ストーリーの一覧（`.pa-story-categories`）が既に同じ絵を使っている。

	   上の 1px の罫線は移行元 .grid_box の `border-top: 1px solid #CCCCCC`（同 1712 行）
	   である。**この 1 本は調査レポートだけが持つ**（下のワード解説の節で打ち消す）。
	   調査レポートは 2026-09-08 時点で dev に未投入（分類 research の投稿は 0 件）で
	   あるため、画面では確かめられない。値と当たり先は
	   tests-retired/pa-cms-single-content-legacy-frame/ が機械で固定する. */
	/* 題の見出しと帯の間の空き（Bug #4720）。

	   【移行元の値】`css/page_introduce.css` 176〜178 行 `#story .title { margin-bottom: 35px }`。
	   テーマは本文の見出しへ `margin: var(--pa-article-block-gap) 0 20px` を与えるので、
	   打ち消さないと帯の上端が移行元より 15px 上がる（受入基準の「帯の上端 307px」が合わない）。

	   【パソコン幅だけに当てる理由】移行元スマホ版は別の組みで、`sp/word/css/style.css` 5〜7 行の
	   `#story { padding: 25px 0 30px }` と `#story .category_ttl` を持ち、`#story .title` を
	   持たない（写しを読んだ。2026-09-10）。帯と同じくパソコン幅だけに写す. */
	body.pa-legacy-grid-box .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .entry-content > #story > .title,
	body.pa-legacy-grid-box .page-content__body .entry-content > #story > .title {
		margin-bottom: 35px;
	}

	/* 結婚相談所のすゝめの記事 682 ページの題の絵の見出しの高さ（Bug #8929）。

	   【移行元の値】見出しの中身は絵 1 枚（`word/img/title.gif`・330 × 74）で、箱は 80px
	   （絵 74 ＋ 絵の下に出る行の空き 6）。字は初期化から 13px・行送りの指定なし
	   （`public/css/common.css` の `h1〜h6 { font-size: 100% }` ＋ `body { font-size: 13px }`）。

	   上の規則（Bug #4720）は下の外余白だけを写し、字と行送りは dev の見出しの既定のまま
	   だった。絵はインラインの要素なので行の中に置かれ、絵の下の空きが字と行送りで
	   決まる。dev は 84px になり、題（`.grid_ttl`）が 6 本とも 4px 下にあった
	   （2026-09-30 04:56・幅 1440・`pa-verify-assets/B/8929-直す前-0930/`。`h2.title` の下端が
	   移行元 272 対 dev 276、`#story` の上端は両側 192）。

	   一覧 9 ページは Bug #6263 が同じ 13px・`normal` を当てている（`body:not(.pa-legacy-grid-box)`
	   の側）。こちらは本文に `grid_box` を持つ記事の側で、`.pa-post--word` に絞る
	   （`pa-legacy-grid-box` を持つほかの区分の題は、この Bug では測っていない）. */
	body.pa-legacy-grid-box .pa-post--word .entry-content > #story > .title {
		font-size: 13px;
		line-height: normal;
	}

	body.pa-legacy-grid-box .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box,
	body.pa-legacy-grid-box .page-content__body .grid_box {
		/* 帯は画面の端まで届く。移行元は `#contents` も `#story` も `width: 100%` なので、
		   帯を包む要素が全幅だった。dev は `> article` が 1,100px なので、テーマの型
		   （`width: 100vw` ＋ `margin-inline: calc(50% - 50vw)`）で抜け出す. */
		width: 100vw;
		margin-inline: calc(50% - 50vw);
		padding: 55px 0 70px;
		background-color: #f6f6f6;
		background-image: url("../images/research/bg_list.gif?ver=882b13c3e39e");
		border-top: 1px solid #ccc;
	}

	/* 🚨 **100vw は縦スクロールバーの幅を含む。**バーが場所を取る閲覧環境（Windows の
	   既定など）では帯が表示領域より広くなり、**ワード解説 701 ページに横スクロールが
	   1 本出る**（移行元の写し 711 本のうち `grid_box` を持つのは 701 本。2026-09-10 に
	   全数数えた）。ここで切り落として防ぐ。

	   🚨 **すでに在る同じ手当ては当たらない。**このファイルの
	   `.site-main:has(… #story .main_box)` は導入の帯を持つページを切っているが、
	   **`main_box` を持つ写しは 711 本のうち 1 本だけ**である。帯（`grid_box`）の側にも
	   同じ手当てが要る。

	   【置き場所】切り落としは**祖先**に置く必要がある（自分自身に置いた `overflow-x`
	   では自分の箱の幅が変わらない）。`body` や `html` へ置いても Chromium では止まらず、
	   止まるのは本文の外枠 `.site-main` である（このファイルの店舗ページの節に実測が
	   在る）。`hidden` でなく `clip` を使うのは、`hidden` がスクロールの器を作って
	   ヘッダーの貼り付き（`position: sticky`）を壊すためである。

	   【絞り方】`:has()` の中は帯の当たり先と同じ門（除外 5 つ）にそろえる。広く書くと、
	   横に長い表を持つ別のページを巻き添えで切り落とす. */
	body.pa-legacy-grid-box .site-main:has(.single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box),
	body.pa-legacy-grid-box .site-main:has(.page-content__body .grid_box) {
		overflow-x: clip;
	}

	/* ワード解説だけ、帯の下の内余白を 10px にして上の罫線を落とす（Bug #2952）。

	   🚨 **移行元は同じ .grid_box の値をページで変えている。**ワード解説は本文を
	   `<section id="story">` で包み、css/page_introduce.css の 262〜265 行が
	   `#story .grid_box { padding-bottom: 10px; border-top: 0 }` で上書きする。
	   ワード解説で page_introduce.css を読むのは 710 本、調査レポートは 0 本である
	   （2026-09-08 に手元の写しを全数で数えた）。

	   🚨 **投稿の分類（word）では絞れない。**body_class() は個別投稿の分類を
	   `category-word` として出さない（分類は article の側に付く）。そこで本文に
	   `id="story"` が残っているかを見て body へ目印を付けている
	   （inc/single-content-legacy-frame.php）。この目印は移行元の原因そのもので、
	   分類より 1 対 1 に対応する。

	   🚨 **投稿型 story（成婚ストーリー）とは無関係である。**あちらは
	   .single-content--story を使い、この節の当たり先からは :not() で除いてある. */
	body.pa-legacy-grid-box.pa-legacy-story-section .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box,
	body.pa-legacy-grid-box.pa-legacy-story-section .page-content__body .grid_box {
		padding-bottom: 10px;
		border-top: 0;
	}

	/* 帯を全幅にしたので、中身の幅は中身の側で決める（Bug #4720）。

	   これは白いカードの写しではなく、**帯を全幅にしたことの後始末**である。
	   いままで中身は外側の `> article { max-width: 1100px }` に抱えられていたが、
	   帯が `100vw` で抜け出すとその抱えが外れ、本文が画面いっぱいに広がる。

	   【移行元の値】`css/style.css` 1729〜1734 行 `.grid_box .menu_sns { margin: 0 auto 20px;
	   width: 1100px }`、`word/css/style.css` 383〜388 行 `.content-area { margin: 0 auto 25px;
	   width: 1100px }`、同 396〜402 行 `.content-area .box { width: 800px; margin: auto }`。

	   成婚ストーリーが同じ形を持っている（このファイルの
	   `.single-content--story .entry-content .grid_box .detail_body` の節）。書き方をそろえる. */
	body.pa-legacy-grid-box .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box :is(.menu_sns, .content-area),
	body.pa-legacy-grid-box .page-content__body .grid_box :is(.menu_sns, .content-area) {
		width: min(1100px, 100%);
		margin-inline: auto;
	}

	/* 白いカード（Bug #5537）。移行元 `word/css/style.css` 383〜388 行
	   `.content-area { background: #ffffff; margin: 0 auto 25px; width: 1100px }`。
	   幅と左右の中央寄せはすぐ上の規則が持つので、ここは地と下の外余白だけを足す。

	   🚨 **すぐ上の `:is(.menu_sns, .content-area)` へ足してはいけない。**移行元の
	   `.grid_box .menu_sns`（`css/style.css` 1729〜1734 行）は**地を持たず、下の外余白は
	   20px** である。同じ当たり先へ足すと、つまみの列まで白く塗り、20px を 25px に変える。
	   つまみの列の 20px はこのファイルの `:is(.entry-content, .page-content__body) .menu_sns`
	   が既に移行元と一致させている。

	   【パソコン幅だけに当てる理由】移行元スマホ版の CSS は **`.content-area` 単体の
	   当たり先を 1 本も持たない**（ページが読む 4 本 `../css/basic.css` `../css/common.css`
	   `../css/style.css` `css/style.css` を、注釈を落として当たり先ごとに数えた。2026-09-10）。
	   `sp/word/css/style.css` に在る 10 件はすべて子孫（`.content-area .box` など）である。
	   🚨 **Bug #5537 の受入基準の「移行元スマホ版は .content-area を持たない」は、要素の
	   話としては誤りである。**写しを全数走査すると `sp/word/*.html` 692 本のうち **683 本**が
	   `content-area` を持つ（陽性対照: パソコン版 711 本のうち 686 本）。持たないのは
	   `grid_box` の側で、それはこの節の上の注釈に書いてある。

	   【対象と巻き添えの無さ】移行元パソコン版 711 本のうち `content-area` を持つ **686 本**。
	   `detail_body` を持つ 15 本と重なりは 0 本で、合わせて 701 本＝`grid_box` を持つ本数と
	   一致する。`grid_box` の中に `content-area` を持つのはワード解説だけである
	   （調査レポート 227 本・コラム 3 区分 6 本を全数走査して 0 本。2026-09-10）. */
	body.pa-legacy-grid-box .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box .content-area,
	body.pa-legacy-grid-box .page-content__body .grid_box .content-area {
		margin-bottom: 25px;
		background-color: var(--pa-palette-white);
	}

	/* 🚨 **導入文も 800px である**（移行元 `word/css/style.css` 390〜394 行
	   `.introduction { width: 800px; margin: 50px auto 0 }`）。`.content-area` を
	   1,100px にすると、`.box` の外に在るこの 1 段落だけが 1,100px で描かれてしまう。
	   実ページ `/word-2018-03-1/` の `.content-area` の直下を数えて確かめた
	   （`h3` の絵 1・`p.introduction` 1・`div.box` 7・`ul.menu_sns02` 1・dev が足した
	   導線 2。2026-09-10）. */
	body.pa-legacy-grid-box .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box .content-area :is(.box, .introduction),
	body.pa-legacy-grid-box .page-content__body .grid_box .content-area :is(.box, .introduction) {
		width: min(800px, 100%);
		margin-inline: auto;
	}
}

/* 2 枚目の骨組み（門の外）。移行元 .grid_box .detail_body の幅 1,100px。
   画面幅 1440px では左端が (1440 - 1100) / 2 = 170px になる. */
.single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) > article {
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}

/* 2 枚目の見た目（門 2）。白いカードの地と下の外余白 25px。

   🚨 **当たり先を移行元と同じ `.grid_box .detail_body` へ移した（Bug #4720）。値は変えていない。**
   移行元は白いカードを**帯の中**に置いている（`css/style.css` 1760〜1764 行
   `.grid_box .detail_body { background: #ffffff; margin: 0 auto 25px; width: 1100px }`）。
   dev は帯を `.single-content`、カードを `> article` に付けていたので上下が逆だったが、
   外側が灰色・内側が白なので結果として正しく見えていた。**帯を `.grid_box` へ移すと
   この逆転が表に出て、白いカードが全幅の灰色に覆われて見えなくなる**（`pa-legacy-detail-body`
   を持つ 2017-10〜2018-02 のワード解説 15 ページ。dev の実ページで確かめた）。
   そのため当たり先の付け替えだけを一緒に行う（司令塔の裁定・2026-09-10）。

   幅 1,100px も移行元の値である。帯が全幅になったぶんの後始末でもある. */
body.pa-legacy-detail-body .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box .detail_body {
	width: min(1100px, 100%);
	margin-inline: auto;
	margin-bottom: 25px;
	background-color: var(--pa-palette-white);
}

/* 3 枚目（門 2）。移行元 .grid_box .detail_inner の文章の柱。幅 800px はいまの値
   （--pa-inner-xs）のままでよく、上下の内余白 35px / 60px だけを足す。

   白いカードと同じ門で絞るのは、移行元で .detail_body と .detail_inner が必ず
   一緒に現れるためである（ワード解説は 15 本と 15 本、調査レポートは 160 本と
   160 本）. */
body.pa-legacy-detail-body .single-content:not(.single-content--branch):not(.single-content--recruit):not(.single-content--renaru):not(.single-content--experience):not(.single-content--story) .grid_box .detail_inner {
	width: min(800px, 100%);
	margin-inline: auto;
	padding: 35px 0 60px;
}

/* 本文の文字の大きさ（Issue #2708）。移行元 public/css/style.css 1708 行
   `.grid_box { font-size: 15px }` が出どころで、婚活コラム（カテゴリ word）は
   div.grid_box が本文の DOM にそのまま残るためこの節で拾える（実測: dev の
   婚活コラム 710 件中 701 件が div.grid_box を持つ。残り 9 件は年別一覧など
   記事ではないページ）。詳細度は 2 クラス（.entry-content / .page-content__body
   と .grid_box）で、本文既定 `.entry-content { font-size: var(--pa-article-font-size) }`
   （1 クラス）に勝つ。rem は換算しない（本文の根の文字は移行元・dev とも
   16px）. */
:is(.entry-content, .page-content__body) .grid_box {
	font-size: 15px;
}

/* 上を置き直す。移行元 1766 行 `.grid_box .detail_inner { font-size: 16px }`。
   成婚ストーリー（story 投稿型）は div.grid_box と div.detail_inner が両方
   本文に残るため、この子孫セレクタに当たって 16px へ戻る（実測: dev の
   成婚ストーリー個別記事は grid_box・detail_inner とも同数）。この 2 行は
   セットで、上だけ入れると成婚ストーリーまで 15px になってしまう。調査
   レポート（.detail_inner だけが残り .grid_box は残らない）と、いま dev に
   ある集客ページ以外の固定ページ（.grid_box を持つものは必ず .detail_inner も
   持つ。実測で確認済み）は、この 2 行を通しても見た目が変わらない。

   共通の値 --pa-article-font-size（16px）そのものは変えない。調査レポートは
   移行元も 16px で、いまの dev が正しいため（受入基準）. */
:is(.entry-content, .page-content__body) .grid_box .detail_inner {
	font-size: 16px;
}

/* 狭い画面（749px 以下）では、上の 2 行を打ち消してテーマの既定へ戻す
   （Bug #2708 のレビュー指摘）。テーマは 749px 以下で --pa-article-font-size
   を 15px へ切り替える（上の「本文（.entry-content と .page-content__body）の
   文字組み」節）。上の 2 行はこの切り替えの外に書いてあるため、そのままだと
   狭い画面でも打ち消してしまう。

   移行元 word/css/style.css の 15px はパソコン版だけが読む値である。移行元は
   携帯へ別サイト（/sp/ 配下のミラー）を配るため、狭い画面の根拠にはならない。
   婚活コラムはテーマの既定（15px）がそのまま Issue #2708 の目的（15px にする）
   を満たすので、ここで既定へ戻してよい。

   この 1 本が無いと、陰性対照（成婚ストーリー・.grid_box を持つ固定ページ）が
   狭い画面で 15px → 16px に変わってしまう（上の 2 行目の .detail_inner の
   16px が --pa-article-font-size の 15px を上書きしたまま残るため）。 */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .grid_box,
	:is(.entry-content, .page-content__body) .grid_box .detail_inner {
		font-size: var(--pa-article-font-size);
	}
}

/* 本文の見出しの行送り（Bug #2779）。移行元 public/word/css/style.css の 399 行
   `.content-area .box { line-height: 150% }` が出どころである。

   ## 移行元がこの値を出す仕組み

   CSS の `line-height` は、**長さやパーセントで指定すると計算後の px がそのまま子へ
   継がれ、比（単位なしの数）で指定すると子が自分の字の大きさに掛け直す**。移行元は
   パーセント（`150%`）を器へ置くだけで、**見出しには 1 つも `line-height` を書いて
   いない**。だから器の 15px から計算した 22.5px を、18px の見出しがそのまま継ぐ。

   ## dev が 27px になっていた本当の理由

   🚨 **Issue #2779 の本文は「親の与え方が比だから子が掛け直している」と見立てて
   いたが、それだけではなかった。**このファイルの 648〜655 行が
   `h1, h2, h3, h4, h5, h6 { line-height: var(--pa-line-height-heading) }`（= **1.5**）を
   **見出しそのものへ直接**置いている。**親から継ぐ前に自分の値を持っているので、
   器の行送りを長さに変えても見出しは動かない**（実測で確かめた。器へ `150%` を置く
   だけの版では、見出しは 27px のままだった）。

   そこで**見出しの直接指定を `inherit` で外し、器の値を継がせる**。器の側も長さで
   置き直す必要がある（`inherit` は計算後の値を継ぐので、器が比のままだと子も比を
   継いでしまう）。**この 2 本はセットである。**

   ## 実測

   2026-09-09 11:10:14 JST・幅 1440px。移行元は手元の写しを `python3 -m http.server`
   で配って測った（**移行元の本番への取得は 0 回**）。左が移行元・右が直す前の dev::

     器 div.box    15px / 22.5px  対  15px / 22.5px（一致）
     見出し h4     18px / 22.5px  対  18px / 27px  （**8 個すべてで 4.5px 広い**）
     段落 p        15px / 22.5px  対  15px / 22.5px（一致）

   🚨 **`getComputedStyle().lineHeight` は px を返すので、比か長さかを見分けられない。**
   器はどちらの側も「22.5px」と出る。**子の値を測って初めて違いが分かる。**

   ## 当たり先を絞る理由

   🚨 **`.pa-post--word` で絞る。**`.grid_box` は成婚ストーリーや、`.grid_box` を持つ
   固定ページの本文にも残る（上の Issue #2708 の節を参照）。素の `.grid_box` へ置くと、
   それらの見出しの行送りまで動く。この印は `template-parts/content-single.php` の
   51 行が `in_category( 'word' )` のときだけ付ける。

   🚨 **狭い画面（749px 以下）ではテーマの既定へ戻す。**移行元はスマートフォンに別
   サイト（`/sp/` 配下のミラー）を配っており、`public/sp/word/css/style.css` の
   `.content-area p` が `line-height: 1.8` を置く。上の Issue #2708 の節と同じ理由で、
   狭い画面はテーマの既定に任せる（実測で見出し 17px / 25.5px・段落 15px / 27px）. */
.pa-post--word .entry-content .grid_box {
	line-height: 150%;
}

.pa-post--word .entry-content .grid_box :is(h1, h2, h3, h4, h5, h6) {
	line-height: inherit;
}

/* 🚨 **記事の題（`.grid_ttl`）は、上の「受け継ぐ」の対象から外す**（Bug #8868）。

   上の規則は `.grid_box` の `line-height: 150%` を見出しへ受け継がせる。`150%` は
   器の字 15px で 22.5px の長さに計算されてから受け継がれるので、28px の題が
   22.5px の行で組まれ、2 行以上の題で行が重なっていた。移行元は題
   （`public/css/style.css` の `.grid_box .grid_ttl`）に行の高さを書かず、`normal` で出る。

   上の外余白も移行元に合わせて 0 にする。共通の見出しの規則
   `.entry-content :is(h2, …, h6) { margin: var(--pa-article-block-gap) 0 20px }` の
   上の 50px が残り、題が移行元より 50px 下にあった（下の外余白 15px は
   `.grid_ttl` の規則が持つ）。

   幅 1440 の実測（2026-09-29・`pa-verify-assets/B/8868-直す前2-0929/`・記事 4 本）:
     題の行の高さ  移行元 normal（1 行 42px）／ dev 22.5px（2 行の題で 84 / 45・3 行で 126 / 67.5）
     題の上の外余白 移行元 0 ／ dev 50px
   移行元の記事 701 本のうち 700 本が題を `.grid_ttl` で持つ（h3 461・h4 239）。

   🚨 **携帯幅では動かさない。**下の携帯幅の節が見出しの行の高さをテーマの既定へ
   戻しており、移行元のスマホ版は題を `.grid_ttl` で持たない（別の組み）. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .grid_box .grid_ttl {
		margin-top: 0;
		line-height: normal;
	}
}

/* 🚨 **記事の節（`.content-area .box`）の中の小見出し `h5` の上と、段落 `p` の下の外余白を、
   パソコン幅では 0 にする**（Bug #8948）。

   dev は 2 つの共通の規則で外余白を足している。
     - 小見出し: `:is(.entry-content, .page-content__body) .content-area .box h5` の上
       `var(--pa-space-sm)`（パソコン幅 40px）。PR #1265（2026-07-31）が本文の見た目を作ったときに
       足したもので、移行元の根拠が無い
     - 段落: `.entry-content p` の下 `var(--pa-article-paragraph-gap)`（25px）
   移行元の `public/word/css/style.css` は `.content-area .box h5`（415 行）・`h5.serif`（420 行）に
   下の外余白だけを、`.content-area .box p`（428 行）に字寄せと行の高さだけを置き、どちらも上下は
   共通の `margin: 0` のままである。段落の間は本文の `<br><br>` が空ける。

   幅 1440 の実測（2026-09-30・記事 /word/2023/03-21/）:
     h5 の margin  移行元「0 0 20px」／ dev「40px 0 20px」（7 個すべて・`B/8948-読み2-0930/`）
     見出し「3.」から「5.」まで（h5 が 7 個）  移行元 2,287 ／ dev 2,567（+280 ＝ 7 × 40）
     h5 の上だけを 0 にした下見では 2,462（−105 ＝ 7 × 15）。段落の下 25 と h5 の上 40 が相殺して
     いたので、段落の 25 も外さないと 7 × 25 ＝ 175 が残る（`B/8948-下見-0930/`）

   🚨 **共通の規則は弱めない**（司令塔の裁定 222）。`.entry-content p` と小見出しの共通の規則は
   本文を持つ画面すべてに響くので、当たり先をすゝめの記事の節の中へ絞り、強さを上げて打ち消す。
   🚨 **`.pa-post--word` で絞る。**同じ形（`.content-area .box h5`）は投入の材料で店舗の投稿
   4 本にもある。
   🚨 **携帯幅では動かさない。**移行元のスマホ版は別の CSS（`public/sp/word/css/style.css`）で組む
   ので、パソコン版の値を写さない.
   🚨 **段落は類名の無いものだけを打ち消す**（PR #8983 の Greptile の指摘）。節の中の段落のうち
   類名を持つものは、移行元でもその類名の規則が外余白を決める。投入の材料で節の中の段落は
   類名なし 7,316・`img-bdr01` 575・`pa-quote-box` 55 で、類名付きの 2 つは下の外余白を持つ
   （画像の枠 `.content-area .box .img-bdr01` は 20px・移行元 style.css 433 行。囲み
   `p.pa-quote-box` は 10px・このファイルの `article.pa-post--word .entry-content p.pa-quote-box`）。
   類名で除外を並べると、類名が増えた回に黙って 0 になるので、類名の有無で絞る. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .content-area .box h5 {
		margin-top: 0;
	}

	.pa-post--word .entry-content .content-area .box p:not([class]) {
		margin-bottom: 0;
	}
}

/* 🚨 **記事の節（`.content-area .box`）の中の類名の無い箇条書き `ul` の下の外余白を、パソコン幅では 0 にする**（Bug #9043）。

   dev は本文の一覧の共通の規則で `ul` の下に `var(--pa-article-paragraph-gap)`（25px）を足している。
   移行元は共通のリセット（`public/css/common.css` 76 行・266 行 `ol, ul { margin: 0 }`）のままで、
   `public/word/css/style.css` に節の中の `ul` の外余白の規則を持たない。

   幅 1440 の実測（2026-09-30・`pa-verify-assets/B/9025残り-読み-0930/`）。節の中の類名の無い `ul` の外余白（上／下）は
   移行元 0 ／ 0・dev 0 ／ 25px で、高さは両側で同じ。本文の器の差のうち `ul` の分は
   /word/2020/08-11/ +75（3 個）・08-15 +75（3 個）・08-21 +347.5（13 個）。
   投入の材料で節の中に類名の無い `ul` を持つ記事は 34 本・`ul` は 121 個で、すべて 2020 年の記事である.

   🚨 **上の段落の規則と同じく、類名の無いものだけを打ち消す。**類名を持つ `ul` は、移行元でもその類名の
   規則が外余白を決める。
   🚨 **共通の規則は弱めない**（司令塔の裁定 222）。当たり先はすゝめの記事・パソコン幅・節の中に絞る。
   携帯幅は移行元のスマホ版が別の CSS で組むので動かさない. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .content-area .box ul:not([class]) {
		margin-bottom: 0;
	}
}

/* 🚨 **記事の節（`.content-area .box`）の中の小見出し `h3` の上下の外余白を、パソコン幅では 0 にする**（Bug #9003）。

   2020 年以降の記事の一部は、節の中の小見出しを `h5` でなく `h3` で持つ。dev では本文の見出しの
   共通の規則 `.entry-content :is(h2, h3, h4, h5, h6) { margin: var(--pa-article-block-gap) 0 20px }` が
   当たり、上に 50・下に 20 が付く。移行元は共通のリセット（`public/css/common.css` 74 行・257 行）で
   見出しの外余白を 0 にしたまま、`public/word/css/style.css` に `h3` の規則を持たない。

   幅 1440 の実測（2026-09-30・検証と台帳の追い測り `V/8979-追い測り-0930/走行/測った.json`）:
     /word/2020/08-11/ の最初の節（h3 が 4 つ）  移行元より +280（＝ 4 × 70）
     本文の塊の高さ  08-11 移行元 13,461.25 ／ dev 14,679.75（節の中の h3 は 15 個・15 × 70 ＝ 1,050）
                     08-15 移行元 11,803.77 ／ dev 13,006.77（16 個・16 × 70 ＝ 1,120）
   残りの 168.5・83 は別の差で、この規則の当たり先の外である。
   投入の材料で、節の中に類名の無い `h3` を持つ記事は 15 本・`h3` は 241 個
   （`pa-verify-assets/B/すゝめの空の導入文とh3-0930/節の中のh3.tsv`）。

   🚨 **類名の無い `h3` だけを打ち消す。**節の中の `h3` には、申し込みの帯の `h3.emphatic-title`（6 個）もある。
   上の段落の規則と同じく、類名の有無で絞る。
   🚨 **共通の規則は弱めない**（司令塔の裁定 222）。当たり先はすゝめの記事・パソコン幅・節の中に絞る。
   携帯幅は移行元のスマホ版が別の CSS で組むので動かさない. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .content-area .box h3:not([class]) {
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* 🚨 **記事に共通する 3 つの部品の高さを、パソコン幅で移行元にそろえる**（Bug #8948）。

   幅 1440 の実測（2026-09-30・`pa-verify-assets/B/8948-読み2-0930/`・新しい組みの 4 記事）。
   本文の差を直したあとも、4 記事ともページが移行元より 3〜4px 低く、差は次の 3 か所から来ていた:

   (ア) 本文の器の頭の絵だけの見出し（`.content-area` の直下の `h4` / `h3` の中に `img` だけ）
        移行元 15px・行の高さ normal ／ dev 18px（`h3` は 22px）・22.5px。絵の高さは両側で同じで、
        インラインの絵の下にできる隙間が移行元 6px ／ dev 3.5〜4.5px。見出しの箱が −1.5（`h3` は −2.5）
   (イ) 悩みの部品の強調の見出し（`h3.pa-cv-emphasis`）  移行元の絵 188 ／ dev 187（−1）。
        共通の規則が上下の行を 58px ずつにしている（説明文の「合計 187px」）。移行元の絵の内訳は
        1 行目の枠 56・吹き出し 71・3 行目の枠 61 ＝ 188 なので、3 行目だけ 59px にして 188 にする。
        「すべての記事」`/word/all/` も同じ部品を持ち（移行元 `public/word/all.html` も `word/include/cv.shtml` を読む）、
        同じく 188 になる（下見 `pa-verify-assets/B/8948-下見-0930/` でページの高さ +1。それ以外は動かない）
   (ウ) 共有ボタンの並び（本文の上の `ul.menu_sns` と下の `ul.menu_sns02`）  移行元 23・43 ／ dev 22.5・42.5。
        dev は項目の行の高さが 22.5px、移行元は normal

   🚨 **(ア) は子が `img` だけの見出しに絞る。**本文の器の直下には字の見出しを置く記事もあり、字の大きさを
   変えると本文の見た目が動く。`:has(> img)` で絵を持つものを取り、`:has(> :not(img))` で絵以外の子を持つものを
   外す（字だけの子は要素でないので外せないが、類名の無い見出しに絵と字を並べた記事は投入の材料に無い）。
   🚨 **共通の規則は弱めない**（司令塔の裁定 222）。当たり先はすゝめの記事・パソコン幅に絞る。
   携帯幅は移行元のスマホ版が別の CSS で組むので動かさない. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .content-area > :is(h3, h4):not([class]):has(> img):not(:has(> :not(img))) {
		font-size: 15px;
		line-height: normal;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-emphasis__line:last-child {
		line-height: 59px;
	}

	/* (ウ) の共有ボタンの並びは、Bug #9650 で li の組みごと移行元にそろえた（下の規則）。
	   高さ 23・43 はそのままで、高さの出どころを li の行から ul の行の支柱へ移す.

	   移行元（`/css/style.css` 1728〜1757 行・`/word/css/style.css` 534 行）:
	     .grid_box .menu_sns   { text-align: right;  letter-spacing: -.40em }
	     .grid_box .menu_sns02 { text-align: center; letter-spacing: -.40em }
	     .grid_box .menu_sns li   { display: inline-block; margin-left: 10px; letter-spacing: normal; line-height: 0; vertical-align: top }
	     .grid_box .menu_sns02 li { display: inline-block; margin: 0 5px;     letter-spacing: normal; line-height: 0; vertical-align: top }
	   li は行の高さ 0 なので高さ 0 になり、帯の高さは ul 自身の行の支柱（normal・23）で決まる。
	   dev は共通の規則（`display: flex; gap: 10px`）の flex の項目で、li の中の行（normal・23）が高さを決めていた。
	   同じ 23 に着くが、外部の部品（ツイートの iframe・Facebook の枠）が描かれると、dev だけ li の中身の
	   高さがそのまま帯に出る（事業部の指摘 W183・W184 の 10-02「帯の高さ +3」。SDK を動かした測りは未実施）。
	   共通の規則（成婚ストーリーほか）は弱めない（司令塔の裁定 222）。すゝめの記事とパソコン幅に絞る. */
	.pa-post--word .entry-content :is(.menu_sns, .menu_sns02) {
		display: block;
		letter-spacing: -.40em;
		line-height: normal;
	}

	.pa-post--word .entry-content .menu_sns {
		text-align: right;
	}

	.pa-post--word .entry-content .menu_sns02 {
		text-align: center;
	}

	.pa-post--word .entry-content :is(.menu_sns, .menu_sns02) > li {
		display: inline-block;
		letter-spacing: normal;
		line-height: 0;
		vertical-align: top;
	}

	.pa-post--word .entry-content .menu_sns > li {
		margin-left: 10px;
	}

	.pa-post--word .entry-content .menu_sns02 > li {
		margin: 0 5px;
	}
}

/* 🚨 **古い組みの記事（`div.storyTxt01 > div.storyTxt01inner` で本文を組む 15 本）の見出しと箇条書きの外余白を、
   パソコン幅で移行元の値にする**（Bug #8982）。

   古い組みは 2017-10〜2018-02 の 15 本で、`.content-area` も `div.box` も持たない（上の #8948 の規則は当たらない）。
   投入の材料で `storyTxt01inner` を持つすゝめの記事は、この 15 本だけである（新しい組みの 667 本は 0 本）。

   幅 1440 の実測（2026-09-30・`pa-verify-assets/B/8982-読み-0930/`）。外余白の計算値（上／下）:
     `h4`（類名なし）  移行元 0 ／ 0   dev 50 ／ 20（`h5` は 50 ／ 15）
     `h3.story_copy`   移行元 0 ／ 25  dev 50 ／ 25
     `h3.text_title`   移行元 0 ／ 25  dev 45 ／ 25
     `ul.ul-list`      移行元 0 ／ 0   dev 0 ／ 25
     `p.mt30`          移行元 30 ／ 0  dev 30 ／ 25
     `p`（類名なし）   両側とも 0 ／ 25（直さない）
   本文の区間（最初の `h3.text_title` から `ul.menu_sns02` まで）: /word/2017/10-03/ 移行元 14,851.34 ／ dev 15,915.34・
   /word/2017/12-01/ 7,064.63 ／ 7,434.88。dev の値は本文の見出しの共通の規則（上 `var(--pa-article-block-gap)`・下 20）・
   `.text_title` の規則（45 ／ 35）・`.entry-content p` と `ul` の下の外余白から来る。移行元は共通のリセット
   （`public/css/common.css` 74 行）で 0 にしたまま、`page_introduce.css` が `.story_copy`・`.text_title` の下 25 だけを置く。

   🚨 **古い組みには見出しの段の違う 2 つの型がある。**(A) 節の見出し `h3.story_copy`・小見出し `h4`
   （2017-10-3・2017-12〜2018-01 の 8 本）と、(B) 節の見出し `h4.story_copy`・小見出し `h5`（2017-10-1・10-2・
   2017-11・2018-02 の 7 本）。実測は (A) の 2 本で取った。(B) も同じ類名と同じリセットで組むので、段を問わず当てる
   （下見で (B) の記事も測る）。
   🚨 **類名の無い `h4`・`h5` は、`.storyTxt01inner` の中に限らず古い組みの本文の全部に当てる。**
   `.storyTxt01inner` の外（箇条書き `ul.ul-list-flex` の後ろや、`.storyTxt01` の中の類名の無い `div` の中）にも置かれて
   いる（下見 1 回目・`B/8982-下見-0930/`・2017-10-3 の 11 個と 2017-11-1 の 4 個）。移行元はどこに置かれても 0 ／ 0 である。
   🚨 **古い組みを `:has(.storyTxt01inner)` で見分ける。**新しい組みの記事も `h4`（234 本）と `p.mt30`（666 本）を
   持つので、類名だけで当てると新しい組みまで動く。
   🚨 **共通の規則は弱めない**（司令塔の裁定 222）。携帯幅は移行元のスマホ版が別の CSS で組むので動かさない.
   外余白を直した後に残る行の高さの差（`h4` の 24 ／ 22.5・`.storyTxt01` の中の字・`dl.dl-QAlist`）は、この規則の外. */
@media (min-width: 750px) {
	.pa-post--word .entry-content:has(.storyTxt01inner) :is(h4, h5):not([class]) {
		margin-top: 0;
		margin-bottom: 0;
	}

	.pa-post--word .entry-content:has(.storyTxt01inner) :is(h3, h4, h5):is(.story_copy, .text_title) {
		margin-top: 0;
	}

	.pa-post--word .entry-content:has(.storyTxt01inner) ul.ul-list,
	.pa-post--word .entry-content:has(.storyTxt01inner) p.mt30 {
		margin-bottom: 0;
	}
}

/* 🚨 **記事の最後の節の下の外余白を、移行元の `:last-of-type` の意味に戻す。節の中の絵だけの見出しも
   上の (ア) と同じ字の大きさにする**（Bug #9045）。パソコン幅だけ.

   (エ) 最後の節の下の外余白
        移行元 `public/word/css/style.css` 404 行の `.content-area .box:last-of-type { margin-bottom: 60px }` は
        「最後の div」を指す。すゝめの記事は最後の節の後ろに悩みの部品（`div.problem-area__inner`）が続くので、
        移行元では最後の節に当たらず 0 である。共通の規則（`.box:not(:has(~ .box))`・このファイルの
        「最後の節の下の間隔」）は「後ろに `.box` が続かない `.box`」へ書き換えてあり、すゝめの記事では最後の節に
        毎回 60px が付く。ふだんは悩みの部品の上の 60px と相殺して見えないが、間に別の要素が挟まると相殺が切れる。
        幅 1440 の実測（2026-09-30・`pa-verify-assets/B/9045-読み-0930/`・/word/2020/08-11/）: 最後の節の下の
        外余白 移行元 0 ／ dev 60px。最後の節の下端から悩みの部品の上端まで 移行元 83 ／ dev 142.5（+59.5）。
        後ろに `div` が続く最後の節だけを 0 にする（悩みの部品の無い記事は、移行元でも最後の `div` なので 60px のまま）
   (オ) 節の中の絵だけの見出し（`div.box` の直下の `h3` で子が `img` だけのもの）
        上の (ア) の規則は本文の器の直下だけに当たる。節の中の同じ形は、移行元 745.98 ／ dev 742.98（字 15px ／ 22px）。
        投入の材料で 4 本（2020-08-11〜08-14）・10 個。
        🚨 **行の高さは上書きしない。**器の直下の見出しと違い、移行元の節の中の `h3` は行の高さが 22.5px である
        （器の直下は normal）。dev も 22.5px なので字の大きさだけを 15px にする（normal にすると 0.5px 低い。
        下見 1 回目 `pa-verify-assets/B/9045-下見-0930/` で 745.48）.

   🚨 **共通の規則は弱めない**（司令塔の裁定 222）。当たり先はすゝめの記事・パソコン幅に絞る. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .content-area > .box:not(:last-of-type) {
		margin-bottom: 0;
	}

	.pa-post--word .entry-content .content-area .box > h3:not([class]):has(> img):not(:has(> :not(img))) {
		font-size: 15px;
	}
}

/* 🚨 **記事の導入文（`p.introduction`）の上の外余白と行の高さを、パソコン幅で移行元に合わせる。
   導入文の先頭の `<br>` は携帯幅で隠す**（Bug #8980）。

   幅 1440 の実測（2026-09-30・`pa-verify-assets/B/8948-読み2-0930/`）:
     上の外余白  移行元 50（`public/word/css/style.css` 390 行 `.introduction { margin: 50px auto 0 }`）
                 ／ dev 40（本文の共通の規則 `:is(.entry-content, .page-content__body) .introduction` の
                 `var(--pa-space-sm)`。PR #1265 が足した値）
     行の高さ    移行元 normal（字 15px で 1 行 23）／ dev 22.5（記事の器 `.grid_box` の 150% を受け継ぐ）
     高さ        /word/2023/03-21/ 移行元 115 ／ dev 112.5（5 行）、/word/2019/11-04/ 移行元 115 ／ dev 90

   /word/2019/11-04/ の 25 の残りは、本体の自動整形（`wpautop()`）が導入文の先頭の `<br>` を
   落としていたためである。`inc/migrated-line-breaks.php` の
   `pa_migrated_mark_intro_lead_br()` がこの `<br>` を守り、類名 `pa-word-intro-lead-br` を付けて返す。
   投入の材料で、導入文を持つすゝめの記事 667 本のうち 340 本が `<br>` で始まる。

   🚨 **携帯幅ではこの `<br>` を隠す。**移行元の携帯版（`public/sp/word/2019-11-4.html`）の
   導入文は先頭に `<br>` を持たない（パソコン版だけが持つ）。携帯幅の外余白と行の高さは
   別の節（携帯幅の `.pa-post--word .entry-content .introduction`）が受け持つので、ここでは触らない.
   🚨 共通の規則は弱めない（司令塔の裁定 222）. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .introduction {
		margin-top: 50px;
		line-height: normal;
	}
}

@media (max-width: 749px) {
	.pa-post--word .entry-content .introduction .pa-word-intro-lead-br {
		display: none;
	}
}

/* 🚨 **記事の下の共有ボタンの並び（`ul.menu_sns02`）と前後の記事の導線（`ul.pager_menu`）を、
   パソコン幅で移行元の組みにする**（Bug #8981）。

   幅 1440 の実測（2026-09-30・`pa-verify-assets/B/8948-読み2-0930/`・/word/2023/03-21/ と /word/2019/11-04/）:
     `ul.menu_sns02`  内余白 移行元 0 0 20px ／ dev 35px 0 0。高さ 43 ／ 57.5（+14.5・2 本とも）
     `ul.pager_menu`  外余白 移行元 0（節の下 25 が上の空き）／ dev 上 50（共通の規則
                       `:is(.entry-content, .page-content__body) .pager_menu` の `var(--pa-article-block-gap)`
                       が節の下 25 と相殺して勝つ）
                      高さ 移行元 76（3 分の 1 幅の浮かせの 2 行 46 ＋ 下の内余白 30）／
                       dev 23 か 46（3 等分の flex・内余白 0。字の長さで行の数が変わる）
   移行元の値:
     - `public/word/css/style.css` 534 行 `.grid_box .menu_sns02 { background: #e4d7ce; padding: 0 0 20px }`
       （`public/css/style.css` 1744 行の `padding: 35px 0 0` を上書きする。背景は上の申し込みの帯と
       同じ色で、帯が共有ボタンの下まで続いて見える）
     - `public/word/css/style.css` 443 行 `.pager_menu { padding-bottom: 30px }`
     - `public/css/style.css` 1680〜1706 行 `.pager_menu { margin: 0 auto; width: 1100px; position: relative }`
       `li { float: left; width: 33.3333% }`・`li.m-right { float: right; text-align: right }`・
       `li.m-center { text-align: center; margin: auto; position: absolute; left: 0; right: 0 }`
   行の高さは移行元の `normal`（字 15px で 1 行 23）にそろえる（dev は器の 150% を受け継ぐ）。

   🚨 **幅 1100 の中央寄せを写す。**dev の `ul.pager_menu` は本文の器いっぱい（幅 1440 で 1440）に
   広がるので、3 分の 1 幅が 480 になり、移行元（366.67）より 1 行に入る字が増える。題が 3 行の記事
   （/word/2021/04-01/ など）で高さが 99 から 76 に縮んでいた（下見 1 回目・`B/8981-下見-0930/`）。
   `width` でなく `max-width` で書く。移行元は固定幅で横にはみ出すが、dev は 750〜1099 の幅で
   はみ出させない。

   🚨 **浮かせの閉じ込めは `display: flow-root` で行う。**移行元は `.clearfix:after` で閉じ込めるが、
   このテーマには汎用の `.clearfix` の規則が無い。
   🚨 **共通の規則は弱めない**（司令塔の裁定 222）。前後の記事の導線はほかの区画にもあるので、
   `.pa-post--word` とパソコン幅に絞る。携帯幅は別の節（Bug #8460）が移行元の携帯版の組みにしている. */
@media (min-width: 750px) {
	.pa-post--word .entry-content .menu_sns02 {
		padding: 0 0 20px;
		background: #e4d7ce;
		line-height: normal;
	}

	.pa-post--word .entry-content .pager_menu {
		display: flow-root;
		position: relative;
		max-width: 1100px;
		margin: 0 auto;
		padding-bottom: 30px;
	}

	.pa-post--word .entry-content .pager_menu > li {
		float: left;
		width: 33.3333%;
	}

	.pa-post--word .entry-content .pager_menu > li.m-right {
		float: right;
	}

	.pa-post--word .entry-content .pager_menu > li.m-center {
		position: absolute;
		right: 0;
		left: 0;
		margin: auto;
	}
}

/* 🚨 **パソコン幅では固定の「TOP」ボタンを出さない。**移行元の `div.gotop` は携帯版
 * だけの部品で、パソコン版は `div.page_topArea` の中の押しボタンだけを出す。テーマが
 * 出す markup は幅を見ずに描かれるので、既定を `display: none` にして、下の携帯幅の
 * 節でだけ出す（記憶 added-markup-needs-pc-hiding-rule）。
 *
 * 🚨 **この既定は携帯幅の節より前に置く。**`@media` は詳細度を上げないので、後ろへ
 * 置くと同じ詳細度の後勝ちで携帯幅でも消える（記憶 css-text-test-must-read-the-last-value）。
 * Bug #6202.
 */
.pa-word-gotop {
	display: none;
}

/* 🚨 **パソコン幅では一覧ナビを出さない。**移行元の `ul.article_menu` は携帯版だけの
 * 部品で、パソコン版は押しボタンの帯（`ul.flow_story`）を記事の並びの上に置く。テーマが
 * 出す markup は幅を見ずに描かれるので、**この規則が無いとパソコン幅で帯と絵のナビが
 * 二重に出る**（記憶 added-markup-needs-pc-hiding-rule。レビューの指摘で気づいた）。
 *
 * 🚨 **体の印は `pa-has-sp-list-nav` で、この囲みの類名とは別である。**同じ名前にすると
 * この規則が `body` にも当たり、ページ全体が消える。
 *
 * 🚨 **携帯幅の 2 列組みと、パソコン版の帯を隠すのは Bug #6330 が持つ。**ここは
 * 「パソコン幅で出さない」だけを置く（取り込みの間にパソコン幅が壊れないようにするため）。
 * Task #6338.
 */
.pa-sp-list-nav {
	display: none;
}

/* 🚨 **パソコン幅では人気記事を出さない。**移行元の `aside.word-aside` は携帯版だけの
 * 区画で、パソコン版は持たない。テーマが出す markup は幅を見ずに描かれるので、既定を
 * `display: none` にして、下の携帯幅の節でだけ出す（記憶 added-markup-needs-pc-hiding-rule）。
 *
 * 🚨 **この既定は携帯幅の節より前に置く。**`@media` は詳細度を上げないので、後ろへ
 * 置くと同じ詳細度の後勝ちで携帯幅でも消える。Bug #6334.
 */
.pa-word-aside {
	display: none;
}

@media (max-width: 749px) {

	/* 移行元の携帯版と同じ 2 列組みで、一覧ナビを出す（Bug #6330）。
	 *
	 * 写し元は `public/sp/word/css/style.css` である。
	 * **当たるのはワード解説の一覧 8 ページだけ**で、成婚ストーリーの 6 ページは
	 * Bug #3850 が `assets/introduce-voice-story/css/story.css` で別に組んでいる
	 * （表から外してあるので、そもそもこの囲みが出ない）。
	 *
	 *     #story .article_menu li                   { float: left; margin-bottom: 0.5%; width: 49.821%; }
	 *     #story .article_menu li:nth-child(2n + 0) { float: right; }
	 *
	 * 囲みは両群とも `class="article_menu mb40 clearfix"` で、`mb40` は `margin-bottom: 40px`
	 * （`sp/css/style.css`）。
	 *
	 * 🚨 **`clearfix` に頼らない。**移行元は `clearfix` の指定を自分の CSS で持つが、dev の
	 * 同じ類名が同じ中身とは限らない。**器を `flow-root` にして、浮かせた子を自分で含める**
	 * （記憶 margin-escapes-container-without-flow-root）。
	 *
	 * 🚨 **この節は上の既定（`display: none`）より後ろに置く。**`@media` は詳細度を
	 * 上げないので、前に置くと後勝ちで携帯幅でも消える. */
	.pa-sp-list-nav {
		display: flow-root;
		margin-bottom: 40px;
		padding-left: 0;
		list-style: none;
	}

	.pa-sp-list-nav > li {
		float: left;
		width: 49.821%;
		margin-bottom: 0.5%;
	}

	.pa-sp-list-nav > li:nth-child(2n) {
		float: right;
	}

	.pa-sp-list-nav img {
		display: block;
		width: 100%;
	}

	/* 🚨 **パソコン版のボタンの帯を、絵のナビを出したページでだけ隠す（Bug #6330）。**
	 *
	 * `inc/sp-list-nav.php` が**出した／出さなかったと同じ値**で体へ印を付けるので、
	 * **隠す範囲と出す範囲が必ず一致する。**条件を 2 か所に書かないための作りである。
	 *
	 * 🚨 **当たるのはワード解説の一覧 8 ページだけである（2026-09-15 に絞った）。**
	 * 成婚ストーリーの一覧 6 ページは **Bug #3850（裁定 143 の案 A）が先に決着させて
	 * いる**。あちらは**同じ `ul.flow_story` をその場で**絵の 2 列組みへ作り替え、並び順も
	 * 「一覧 → 帯 → 先頭へ戻る」へ直している
	 * （`assets/introduce-voice-story/css/story.css` の `#story:has(.list_box_new)` の節）。
	 * **当たり先が重なるので、両方を効かせると先に在る手当てが黙って死ぬ。**
	 * あちらは `display` を書いていないので、ここの `display: none` に必ず負ける。
	 * 表（`inc/generated/legacy-sp-list-nav.php`）から成婚ストーリーの群ごと外したので、
	 * **体の印が付かず、この規則も当たらない**（条件は 1 か所しかない）。
	 *
	 * 🚨 **`li.btn_navi` を持つ枝だけを残す。**帯は 2 群が使い分けており、ワード解説は
	 * 文字の押しボタン（`li.btn_navi`）・成婚ストーリーは絵（印の無い `li`）である。
	 * 印の無いほうを消したのは、成婚ストーリーを対象から外したためである。
	 *
	 * 🚨 **当たり先を短く（`#story .flow_story` だけに）してはいけない。**既存の規則が
	 * `:has(> li.btn_navi)` を持つぶん詳しいので、短く書くと詳細度で負けて効かない.
	 *
	 * 🚨 **[#2276](https://github.com/mationinc/wp-platform/issues/2276) の「携帯幅は数値まで
	 * そろえない」の例外である**（ユーザー決定 D217・D218）。一覧ナビについては移行元の
	 * 携帯版を見に行く。ほかの区画では #2276 の前提が生きている. */
	body.pa-has-sp-list-nav :is(.entry-content, .page-content__body) #story .flow_story:has(> li.btn_navi) {
		display: none;
	}

	/* 🚨 **月別の一覧でも同じ帯を隠す（Bug #7587・ユーザー決定 D472）。**
	 *
	 * 月別（`/word/<年>/<月>/`）は上の 8 画面に入らない。**移行元に月別の画面が
	 * 1 枚も無い**ためで（写しの `word/` と `sp/word/` を全数で数えた。在るのは記事と
	 * `index.html`・`all.html`・`category2017`〜`2023.html` だけ）、絵のナビの表にも
	 * 行が無い。だから `pa-has-sp-list-nav` が付かず、**携帯幅で高さ 312px の縦積みが
	 * 出ていた**（2026-09-19 13:36 の実測）。
	 *
	 * 🚨 **絵のナビは月別に出さない。**選ばれている姿の絵を作る元が移行元に無い。
	 * だから「隠すだけ」で、兄弟の 8 画面と携帯幅の見え方をそろえる（D472）。
	 *
	 * 🚨 **上の規則と 1 つにまとめない。**印の意味が違う。上は「絵のナビを出したので
	 * 帯を隠す」、ここは「移行元に無い画面なので帯だけ隠す」である。まとめると、
	 * 片方を直したときにもう片方が黙って変わる.
	 *
	 * 🚨 **当たり先を短く書かない。**`:has(> li.btn_navi)` を外すと詳細度で
	 * `display: flex` を出している既存の規則に負けて効かない（[#7494](https://github.com/mationinc/wp-platform/pull/7494) で
	 * 実際に踏んだ。当たり先を短く書いた規則が一度も当たっていなかった）. */
	body.pa-word-month-archive :is(.entry-content, .page-content__body) #story .flow_story:has(> li.btn_navi) {
		display: none;
	}

	/* 本文の器 `#story` の上下の内余白を、携帯幅で移行元へ戻す（Bug #6313・Bug #6212 の一部）。
	 *
	 * 移行元の携帯版 `public/sp/word/css/style.css` は 2 通りの宣言を持つ。
	 *
	 *   一覧   `#story        { padding: 25px 0 30px }`
	 *   記事   `#story.detail { padding: 25px 6.25% 30px }`
	 *
	 * **上 25px と下 30px は両方に共通で、違うのは左右だけ**である。ここでは
	 * **共通の上下だけ**を写す。
	 *
	 * 🚨 **`.detail` は dev の markup に 1 つも無い。**投入はパソコン版を元にしており、
	 * `.detail` は移行元の**携帯版だけ**が持つ印である（投入の材料 691 巻を数えて
	 * `id="story"` に `detail` が付くものは 0 件）。
	 *
	 * ✅ **左右は記事だけに入れた（Task #6383・2026-09-16 に範囲を直した）。**
	 * 移行元の携帯版は**一覧に左右 0**（`#story { padding: 25px 0 30px }`）、
	 * **記事にだけ 6.25%**（`#story.detail { padding: 25px 6.25% 30px }`）と書いている。
	 * 記事と一覧を分けるのは `#story:has(> .grid_box)`（記事だけが `div.grid_box` を直下に持つ。
	 * ミラーで数えて記事 701 件が持ち、一覧 10 件は 0 件）。
	 *
	 * 🚨 **はじめは分けずに書いていた（2026-09-15）。**「実測で記事も一覧も左端が
	 * 移行元 23.44・dev 15 だった」と書いたが、**一覧の実測は成立していなかった。**
	 * 突き合わせていたのは移行元 `h3.corner_ttl2`（左 23.44）と dev `h3.title`（左 96.69）で、
	 * **別の要素**である（2026-09-16 のセルフレビューで判明）。
	 * 一覧の `#story` の子は画面幅を基準に自分で中央へ寄せる書き方
	 * （`margin-inline: calc(50% - min(550px, 50vw))` と `margin: 0 auto`）なので、
	 * **左右を足しても 1px も動かない。**動かないまま移行元と違う値を書いておくと、
	 * 全幅でない子が 1 つ足された日にずれる。**移行元が 0 と書いている場所には 0 を書く。**
	 *
	 * 🚨 **`padding` の一括指定を使わない。**一括で書くと左右を 0 に固定してしまい、
	 * 全幅へ戻す指定を打ち消す型でもある（#6139 #6132）。
	 *
	 * 実測（幅 375px・`/word/` 対 `/word-category2023/`・2026-09-14 13:33）:
	 * 器の上端は両側とも 61 で一致しているのに、**見出しの帯の上端が移行元 86 対 dev 61**
	 * だった。この 25px がその差である. */
	.pa-post--word .entry-content #story {
		padding-top: 25px;
		padding-bottom: 30px;
	}

	/* 🚨 **左右は記事だけ。**判別は `#story` が `div.grid_box` を直接の子に持つかで行う。
	 * 移行元の携帯版が一覧に左右 0 と書いているので、一覧はこの規則の外に置く。
	 *
	 * 移行元のミラーで数えた（2026-09-16）: 記事 701 件は `<section id="story">` の
	 * **直下**に `div.grid_box` を持ち、一覧 10 件は 1 件も持たない。
	 *
	 * 🚨 **`body.pa-legacy-grid-box` は使わない。**同じ印を使う灰色の帯の規則と
	 * 取り違えないよう、`tests-retired/pa-cms-single-content-legacy-frame/` が
	 * **携帯幅の中にその印を 1 つも書かせない**見張りを置いている（そちらの担当の決めごと）。 */
	.pa-post--word .entry-content #story:has(> .grid_box) {
		/* 🚨 **`6.25%` をそのまま転記すると 13px 行き過ぎる（Task #6383）。**
		 *
		 * 移行元は `#story.detail { padding: 25px 6.25% 30px }` と書くが、
		 * **パーセントは親要素の幅で解決される。**移行元の `#story` は**画面いっぱい（375）**で
		 * 6.25% = 23.4375px。**dev のコンテナ要素は既に 15px 内側（345）**なので
		 * 6.25% = 21.56px となり、本文の左端は 15 + 21.56 = **36.56px** になる
		 * （移行元は 23.44px）。
		 *
		 * **ビューポート幅から計算して、コンテナ要素が持つ内側の余白を引く。**375 で 8.4375px となり、
		 * 本文の左端が 15 + 8.4375 = **23.44px** で移行元と一致する。
		 *
		 * 🚨 **引く値は `--pa-inner-gutter` を参照する。`15px` と書き写さない。**
		 * このトークンが携帯幅の左右の余白の正本である（`main.css` 498 行）。
		 * 写すと二重管理になり、**トークンを小さくしたときにこの区画だけが広がって
		 * 下の共有ボタンのバー（幅 114%）が右へはみ出す**（2026-09-16 のセルフレビューで判明）。
		 * トークンを参照していれば、内容幅は常に `100vw - 12.5vw` のままで比が崩れない。
		 *
		 * 🚨 **`padding` のショートハンドを使わない。**上下（#6313 が入れた 25px / 30px）を
		 * 0 に固定して打ち消す（#6139 #6132 と同じ型）. */
		padding-inline: calc(6.25vw - var(--pa-inner-gutter));
	}

	/* 記事の下の共有ボタンのバーを、携帯幅で移行元へそろえる（Bug #6455）。
	 *
	 * 🚨 **移行元は同じ役割のバーに、PC 版と携帯版で別の class 名を付けている。**
	 * PC 版 `public/word/*.html`（701 件。`word/*.html` 711 件のうち）は `ul.menu_sns02`、携帯版
	 * `public/sp/word/*.html` は `ul.menu_sns.menu_sns_bgc`（`menu_sns02` は 0 件）。
	 * **dev は PC 版の本文をインポートしているので `ul.menu_sns02` が入る。**
	 * したがって携帯幅で見比べる相手は、移行元の**携帯版**のほうである。
	 *
	 * 移行元 `public/sp/word/css/style.css` 1066 行:
	 *
	 *   #story .menu_sns_bgc { background: #e4d7ce; width: 114%; margin: 0 -7% 20px;
	 *                          padding-bottom: 30px; text-align: center }
	 *
	 * パーセントは親要素の内容幅で解決される。幅 375 では親（`.content-area`）が
	 * 328.125px なので、114% = 374.06px・-7% = -22.97px となり、
	 * **画面いっぱいに近い帯**になる（実測でも左 0.47・幅 374.06）。
	 * Bug #6383 が `#story` へ左右の padding を戻したので、dev の親も 328.125px で同じになる。
	 *
	 * 🚨 **`margin` と `padding` のショートハンドを使わない。**共通パーツ側の
	 * `justify-content` や上下の値を巻き込む（#6139 #6132 と同じ型）。
	 * 上の padding を 0 に戻すのは、移行元の携帯版が上に余白を持たないためである
	 * （PC 版の `padding: 35px 0 0` がインポートした本文に効いている）。
	 *
	 * 🚨 **下の margin 20px をここで書き直している。**Bug #6444 が共通パーツの
	 * `.menu_sns02` を `margin: 0 auto 20px` から `0 auto` へ変えたが、
	 * **移行元の携帯版はワード解説で 20px を持つ**（実測）。ワード解説だけ戻す。
	 *
	 * 🚨 **`.pa-post--word` で絞る。**`.menu_sns02` は調査レポート・婚活のお悩み・
	 * お役立ちにも出る共通パーツである。絞りを外すとそれらへ波及する. */
	.pa-post--word .entry-content .menu_sns02 {
		width: 114%;
		margin-inline: -7%;
		margin-bottom: 20px;
		padding-block: 0 30px;
		background-color: #e4d7ce;
	}

	.pa-post--word .entry-content .grid_box {
		line-height: var(--pa-line-height-text);
	}

	.pa-post--word .entry-content .grid_box :is(h1, h2, h3, h4, h5, h6) {
		line-height: var(--pa-line-height-heading);
	}

	/* 区分の見出しの絵を移行元スマホ版の大きさへ戻す（Task #6170）。
	 *
	 * 投入本文は 691 本すべてが `#story > :is(h2, h3).title` の中に絵
	 * （`word/img/title.gif`・原寸 330x74）を持つ。携帯幅に幅の指定が無く、
	 * 原寸のまま出ていた（幅 375px で 330x74）。移行元のスマホ版は同じ絵を
	 * 181.6x40.7 で出している。
	 *
	 * 🚨 **`%` ではなく `vw` で書く。**移行元は器に対する百分率で書いているが、
	 * 器の幅が両側で違う（移行元 328.125px 対 dev 345px）ので、`%` を写すと
	 * ずれる。画面幅に対する比へ読み替える（`tests-retired/pa-cms-company-sp/` と同じ）。
	 *
	 * 移行元の書き方は 2 通りあるが、画面ではどちらも同じ 181.6px になる。
	 *
	 *   `#story.detail .category_ttl`  683 本  55.357% x 328.125px = 181.6px
	 *   `#story .category_ttl`           9 本  48.437% x 375px     = 181.6px
	 *
	 * 下外余白 20px も移行元の同じ宣言（`margin: 0 auto 20px`）から写した.
	 */
	/* 🚨 **一覧 8 画面はここから外した**（ユーザー決定 D488・Task #7434）。書庫 `/word/` と
	 * 年別 `/word/<年>/` の見出しは**絵をやめて文字で組む**ので、絵の寸法を決める
	 * この 2 本は当たらなくてよい。文字の規則はこの節の下に別に立ててある。
	 * **記事 682 ページは絵のままなので、`.pa-post--word` の側は 1 バイトも変えない**
	 * （あちらの絵は投入された本文が持っている）. */
	.pa-post--word .entry-content #story > :is(h2, h3).title {
		width: 48.437vw;
		margin: 0 auto 20px;
	}

	.pa-post--word .entry-content #story > :is(h2, h3).title img {
		display: block;
		width: 100%;
	}

	/* 区画の見出しを文字で組む・携帯幅（ユーザー決定 D488・Task #7434）。
	 *
	 * 移行元の携帯版の絵（`sp/word/images/main_ttl.jpg`）は 330 × 74 を
	 * `#story .category_ttl { width: 48.437% }` で縮めて出す。**その絵の中身を
	 * 画素で数え、同じ比で文字と線に置き換える。**絵 330px が 48.437vw に当たるので、
	 * 絵の中の n px は `n / 330 * 48.437vw` である。
	 *
	 *   文言 幅 321 × 高さ 33  → 字の大きさ 36px 相当 = 5.284vw
	 *   赤い線 幅 36 × 高さ 2   → 5.284vw × 0.294vw
	 *   線の上端 y72            → 10.568vw（行の高さ 5.284vw ＋ 線の上の外余白 5.284vw）
	 *
	 * 🚨 **箱の高さは下の内余白で作らなくてよい。**携帯幅の絵は `display: block` で
	 * 出していたので箱の高さ＝絵の高さ（幅 375 で 40.72px）だった。文字で組むと
	 * 行 19.82 ＋ 外余白 19.81 ＋ 線 1.09 ＝ 40.72px で**同じ値になる**。
	 * 下の外余白 20px も絵のときと同じ. */
	.archive-content--word .entry-content #story > :is(h2, h3).title {
		/* 🚨 **横の `auto` は書かない。**絵のときは箱そのものが 48.437vw だったので
		   `0 auto` で中央へ寄せていたが、文字で組む箱は親の幅いっぱいである。
		   横を中央にするのは `text-align: center` の仕事になった. */
		margin: 0 0 20px;
		color: #000;
		font-family: var(--pa-font-family-serif);
		font-size: 5.284vw;
		font-weight: normal;
		/* 🚨 **字間を素へ戻す。**共通の `.entry-content :is(h2, h3, h4, h5, h6)` が
		   `letter-spacing: 0.05em` を当てており、そのままだと 36px で 9 文字ぶん
		   14px ほど広がって絵の 321px を超える. */
		letter-spacing: normal;
		line-height: 1;
		text-align: center;
	}

	.archive-content--word .entry-content #story > :is(h2, h3).title::after {
		display: block;
		width: 5.284vw;
		height: 0.294vw;
		margin: 5.284vw auto 0;
		background-color: #f10000;
		content: "";
	}

	/* 「新着リスト」の見出しを携帯幅で移行元へ戻す（Bug #8398）。
	 *
	 * 移行元は `/word/`（新着リスト）と `/sp/word/`（同じ新着リスト）で見た目が違う。
	 * パソコン版は `#story .story_inner .archive_ttl`（`public/css/page_introduce.css`
	 * 233〜239 行）で 30px・金茶 `#a3762b`。携帯版は別の型紙（`sp/word/css/style.css`
	 * 41〜45 行）の `#story .corner_ttl` で、色を持たず（ブラウザ既定の黒）・20px。
	 * dev はテーマ側が携帯幅を分けず、素の `:is(.entry-content, .page-content__body)
	 * .archive_ttl`（この節の上・30px・`var(--pa-color-heading)` の金茶）がそのまま
	 * 携帯幅にも及んでいた（2026-09-25 実測・幅 375 で legacy 20px/rgb(0,0,0)・
	 * dev 30px/rgb(163,118,43)）。
	 *
	 * 🚨 **「新着リスト」だけに絞る。**`/word/all/` と年別 `/word/<年>/` の見出しは
	 * `「すべての記事」<span>記事一覧</span>` のように必ず `span` を伴う（D442・
	 * `archive-word.php` 92〜111 行）。新着リストだけが素の文字なので、
	 * `:not(:has(span))` で絞れば他の見出しへ広がらない（陰性対照として `/word/all/`
	 * を実測し、この直しの前後で 30px・金茶のまま動かないことを確かめた）。
	 *
	 * 🚨 **`/word/all/` 自身も携帯幅で移行元（20px・金茶 `#story .corner_ttl2`）と
	 * 食い違っている**（2026-09-25 実測）。この Issue の対象は「新着リスト」だけ
	 * （Issue #8398 本文）なので、ここでは直さない。直しはすぐ下の Bug #8432 の規則にある。
	 *
	 * 色は `--pa-color-text` ではなく `--pa-color-body-text` を使う。前者は本文色
	 * （新デザインの #474747 も含む）で、後者が旧デザインの黒 `--pa-palette-ink-legacy`
	 * を持つ（main.css 336〜391 行）。ワード解説は旧デザインなので、移行元の
	 * ブラウザ既定の黒と同じ実値になる。
	 *
	 * 太さと字間も戻す。移行元の携帯版は `sp/css/basic.css` の初期化で見出しを
	 * `font-weight: normal` にしていて、字間の指定は無い（実測 400・normal）。dev は
	 * 見出しの共通規則から太字と字間 1.5px を受け継ぐ（実測 700・1.5px）. */
	.archive-content--word .entry-content #story .story_inner .archive_ttl:not(:has(span)) {
		margin-bottom: 25px;
		color: var(--pa-color-body-text);
		font-size: 20px;
		font-weight: normal;
		letter-spacing: normal;
		line-height: 1;
	}

	/* 「すべての記事」と年別の一覧の見出しを携帯幅で移行元へ戻す（Bug #8432）。
	 *
	 * 移行元の携帯版は `sp/word/css/style.css` 46〜55 行の `#story .corner_ttl2`
	 * （20px・金茶 `#a3762b`・行送り 100%・下 25px）と、その `span`（17px・黒）である。
	 * 太さと字間は上の「新着リスト」と同じく初期化で素に戻っている（実測 400・normal）。
	 * dev は素の `.archive_ttl`（30px）と見出しの共通規則（700・字間 1.5px）を
	 * そのまま継いでいた（2026-09-29 実測・`pa-verify-assets/B/8432-前-0929/`）。
	 *
	 * 🚨 **行送りは `1` でなく `100%` にする。**移行元は `line-height: 100%` で、
	 * 百分率は親で 20px に決まってから `span` へ継がれる。`1` だと `span` が
	 * 自分の 17px で行を組み、見出しの高さが移行元の 22px（年別）と合わない.
	 *
	 * 字面の出し分けは `archive-word.php` が持つ。「すべての記事」は `span` の包み
	 * （`pa-legacy-plain`）の中に在るので、`:has(span)` で当たる。色は素の
	 * `.archive_ttl` の金茶をそのまま使う. */
	.archive-content--word .entry-content #story .story_inner .archive_ttl:has(span) {
		margin-bottom: 25px;
		font-size: 20px;
		font-weight: normal;
		letter-spacing: normal;
		line-height: 100%;
	}

	/* 副題「の記事一覧」は 17px（黒は素の `.archive_ttl span` のまま）. */
	.archive-content--word .entry-content #story .story_inner .archive_ttl span:not(.pa-legacy-plain) {
		font-size: 17px;
	}

	/* 🚨 **年のボタンの帯を携帯幅で隠すのは、この規則ではない**（Bug #7544）。
	   Task #7433 でここへ `.archive-content--word .entry-content #story > .flow_story
	   { display: none }` を足したが、**1 度も当たっていなかった**。素の規則
	   `:is(.entry-content, .page-content__body) #story .flow_story:has(> li.btn_navi)`
	   のほうが型 1 つぶん詳細度が高く（`:has()` の中の `li.btn_navi`）、**`@media` は
	   詳細度を上げない**ので後ろに書いても勝てない。2026-09-19 に配信中の dev の 375px で
	   `display: flex`・高さ 312px のまま出ていることを実測した。

	   隠すのは `body.pa-has-sp-list-nav …` の既存の規則である。その印は、移行元の
	   携帯版が出す絵の一覧ナビを組めたときに付く。Bug #7544 でナビの行き先を直したので、
	   印が付き、帯はその規則で隠れる。**当たらない規則をここへ残さない。** */


	/* 移行元の携帯版だけが持つ固定の「TOP」ボタンを出す（Bug #6202）。
	 *
	 * 移行元の `sp/word/css/style.css` の `.gotop` を写したものである。値は
	 * そのファイルの宣言をそのまま使っている。**画像は使わない**（文字「TOP」と
	 * `::before` で描いた矢印だけでできている）。
	 *
	 * 🚨 **字の大きさは `80%` ではなく px で書く。**移行元は初期化（`sp/css/basic.css`）
	 * で `html` に 13px を当てており、`80%` は 10.4px になる。dev は器の字の大きさが
	 * 違うので、`%` を写すと別の大きさになる（見出しの絵で `%` を `vw` へ読み替えた
	 * Task #6170 と同じ理由）。
	 *
	 * 出す対象のページは `inc/word-sp-parts.php` が表（`inc/generated/
	 * legacy-sp-word-parts.php`）で決める。477 ページだけで、2022 年以降の記事と
	 * 一覧は移行元も持たない.
	 */
	.pa-word-gotop {
		display: block;
		position: fixed;
		right: -1px;
		bottom: 25vh;
	}

	.pa-word-gotop a {
		display: block;
		box-sizing: border-box;
		width: 30px;
		height: 44px;
		padding-top: 22px;
		position: relative;
		background: #e4d7ce;
		color: #a3762b;
		font-size: 10.4px;
		letter-spacing: -0.05em;
		text-align: center;
		text-decoration: none;
		opacity: 0.5;
	}

	.pa-word-gotop a::before {
		content: "";
		display: block;
		position: absolute;
		top: 25%;
		right: 0;
		left: 0;
		width: 8px;
		height: 8px;
		margin: auto;
		border-top: 1px solid #a3762b;
		border-right: 1px solid #a3762b;
		transform: rotate(-45deg);
	}

	/* 移行元の携帯版だけが持つ人気記事の区画（Bug #6334）。写し元は
	 * `public/sp/word/css/style.css` の `.aside_box` 系と `aside.word-aside` である。
	 *
	 * 🚨 **字の大きさは `1.2rem` ではなく px で書く。**移行元は初期化
	 * （`sp/css/basic.css`）で `html` に 13px を当てており、`1.2rem` は 15.6px になる。
	 * dev は根の字の大きさが違うので、`rem` を写すと別の大きさになる
	 * （固定の「TOP」ボタンの 10.4px と同じ理由）。
	 *
	 * 🚨 **番号の名前を `number` のままにしない。**移行元は `counter-reset` を
	 * どこにも書いておらず、根の暗黙の番号から 1・2・3 と振られている。dev で別の
	 * 区画が同じ名前を使うと番号が続いてしまうので、名前を分けて器で初期化する.
	 */
	/* 🚨 **左右の内余白は 6.25% ではなく `calc(6.25vw - var(--pa-inner-gutter))`。**
	 * `.single-content` が `padding: 0 var(--pa-inner-gutter)`（15px・媒体条件なし）を
	 * 持つので、本文の器は幅 375 で 345 になっている。移行元の `aside.word-aside` は
	 * 375 の器に 6.25%（23.4375px）を当てて中身を 328.13 にしているので、345 に 6.25%
	 * （21.5625px）を当てると 301.88 まで縮む。本編 `.pa-post--word .entry-content #story`
	 * は同じ理由で `calc(6.25vw - var(--pa-inner-gutter))` を当てて 328.13 に戻しており、
	 * この区画はその打ち消しから漏れていた。式をそろえると 345 - 16.875 = 328.13 で
	 * 移行元と一致する。Bug #8145.
	 */
	.pa-word-aside {
		display: block;
		padding-block: 0 20px;
		padding-inline: calc(6.25vw - var(--pa-inner-gutter));
	}

	.pa-word-aside .aside_ttl {
		margin-bottom: 15px;
		padding: 15px 0 3px;
		border-bottom: 2px solid #a3762b;
		color: #a3762b;
		font-size: 15.6px;
		font-weight: bold;
	}

	.pa-word-aside .aside_box.popular ul {
		counter-reset: pa-word-popular;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	/* 🚨 **番号と位置の基準は人気記事だけに当てる**（Bug #8102）。移行元も
	 * `.aside_box li { margin: 0 0 10px 0; }` を 2 つの区画に共通で当て、
	 * `counter-increment` と `position: relative` は
	 * `.aside_box.popular li` にだけ当てている（`sp/word/css/style.css`）。
	 * 関連記事（`.aside_box.connection`）に番号は付かない. */
	.pa-word-aside .aside_box li {
		margin: 0 0 10px;
	}

	.pa-word-aside .aside_box.popular li {
		counter-increment: pa-word-popular;
		position: relative;
	}

	.pa-word-aside .aside_box li a {
		display: flex;
	}

	/* 🚨 **写真だけ content-box に戻す（Bug #9242）。**移行元 `sp/word/css/style.css` の
	 * 968〜971 行と同じ `width: 40%; padding-right: 3%;` でも、移行元の img は既定の
	 * content-box なので内余白を幅の外に足し、外形は器の 43% になる。テーマは全体に
	 * `*, *::before, *::after { box-sizing: border-box; }` を当てているので、内余白が
	 * 幅の内側に入って 40% になり、写真が約 10px 狭く低くなっていた
	 * （2026-10-01 の実測・幅 375: 移行元 141.1・dev 131.3、器 328.1。関連記事と人気記事の 9 枚とも）. */
	.pa-word-aside .aside_box li a img {
		box-sizing: content-box;
		width: 40%;
		height: auto;
		padding-right: 3%;
	}

	/* --------------------------------------------------------------
	   # お知らせ `/release/` の題名の文言をテキストで出す（Task #8091・1 ページ）

	   移行元は同じ題名をパソコン版とスマホ版で**別の絵**にしている。dev はパソコン版の
	   絵をそのまま携帯幅でも出していた。全体原則（画像に焼き込まれた文言は「背景を画像
	   または CSS で描き、文言はテキストで置く」）に沿ってテキストにする。
	   **この絵は白地に明朝の 3 行と赤い短い罫線だけなので、背景の絵を使わず CSS だけで描ける。**

	   文言を足すのは `inc/release-sp-title-text.php` である。先例は Task #5301
	   （`assets/visitor/css/sp.css` の「3b. 題名の帯の文言をテキストで出す」）。

	   ## 値の出どころ

	   移行元スマホ版の絵 `sp/images/release/main_ttl.gif`（280x150）を画素で測り、
	   幅 375 での実描画 235.06 x 125.92 へ直した。dev 側は同じ大きさの帯に組んで
	   **画面を撮り、同じ方法で墨を測って**合わせ込んだ（5 巡）。
	   🚨 **両側を同じ方法で測る。**箱の座標や書体の指標から計算すると、行送りの半端の
	   扱いで両側の定義がずれる（#5301 の注記）。

	       目標（画面 px）        左      上      幅      高
	       1 行目 成婚          80.59    0.00   72.20   35.26
	       2 行目 コンシェルジュ  8.39   40.30  215.75   30.22
	       3 行目 診断について    5.04   77.23  218.27   34.42
	       赤い罫線            102.42  124.25   33.58    1.68

	   合わせ込みののちの残差は**すべて 1.25px 以内**である。記録は
	   `pa-verify-assets/D7/8091-release-0920/`。

	   ## 🚨 2 行目だけ `palt`（詰め組み）を当てる

	   絵は 3 行とも同じ大きさだが、**2 行目「コンシェルジュ」の字送りだけが狭い**
	   （1・3 行目は 1 字あたり 36.3px、2 行目は 30.8px）。仮名を詰めて組む
	   `font-feature-settings: "palt" 1` がこれにあたる。

	   🚨 **大きさを下げて幅を合わせてはいけない。**37px のまま `palt` を当てると
	   字の高さの残差が 0.22px に収まるが、`palt` なしで 33px まで下げて幅を合わせると
	   **字の高さが 4.22px 足りなくなる**（実測。第 2 巡で両方を測って比べた）。

	   ## 🚨 字の塊は帯の中心より左、赤い罫線は右

	   絵は字の塊が帯の中心より 2.32px 左に寄っており、**赤い罫線は逆に右へ寄っている**。
	   絵の側の作りなのでそのまま写す。だから罫線は `margin-left` を実測値で置き、
	   `auto` にしない（#5301 と同じ注記）。字の塊だけを `left` でずらす。

	   ## 🚨 帯の高さは絵の比で持つ

	   絵を隠すと高さが潰れ、**下に続く中身がまるごと上へ動く。**絵は
	   `width: 100%; height: auto` で描かれていたので、`aspect-ratio` に原寸の比
	   （280 / 150）を置いて同じ高さにする。`box-sizing: content-box` が要る
	   （テーマは全体を `border-box` にしており、そのままだと内余白のぶん帯が痩せる）。

	   ## 🚨 書体は明朝を名指しする

	   題名の器（`h2.main_ttl`）が受け継ぐのはテーマのゴシック
	   （`游ゴシック, YuGothic, ＭＳ Ｐゴシック`）で、実測で確かめた。名指ししないと
	   絵と別の書体になる。**実際に描かれるのは `--pa-font-family-serif` の並びの
	   4 番目 `Hiragino Mincho ProN` である**（#5301 の実測）。

	   ## 🚨 パソコン版の絵は消さない

	   `<img>` はパソコン幅では題名そのものである。隠す規則は
	   `:has(.pa-release-sp-title)` で**テキストを持つ題名だけ**に絞る。
	   **パソコン幅は 1px も変わらない**（この節はすべて 749px 以下に閉じている）。
	   -------------------------------------------------------------- */

	.main_ttl:has(.pa-release-sp-title) {
		box-sizing: content-box;
		width: 62.6827vw;
		height: auto;
		margin-inline: auto;
		aspect-ratio: 280 / 150;
	}

	.main_ttl:has(.pa-release-sp-title) img {
		display: none;
	}

	.main_ttl .pa-release-sp-title {
		display: flow-root;
		color: #221815;
		font-family: var(--pa-font-family-serif);
		font-size: 9.8667vw;
		font-weight: normal;
		font-style: normal;
		line-height: 1;
		text-align: center;
	}

	.main_ttl .pa-release-sp-title__line {
		display: block;
		position: relative;
		left: -0.6187vw;
		white-space: nowrap;
	}

	.main_ttl .pa-release-sp-title__line--1 {
		margin-top: -0.2667vw;
		margin-right: -0.0162em;
		letter-spacing: 0.0162em;
	}

	.main_ttl .pa-release-sp-title__line--2 {
		margin-top: 0.5067vw;
		margin-right: 0.0106em;
		font-feature-settings: "palt" 1;
		letter-spacing: -0.0106em;
	}

	.main_ttl .pa-release-sp-title__line--3 {
		margin-top: -0.056vw;
		margin-right: -0.0099em;
		letter-spacing: 0.0099em;
	}

	.main_ttl .pa-release-sp-title__rule {
		display: block;
		width: 8.9973vw;
		height: 0.544vw;
		margin-top: 2.9493vw;
		margin-left: 27.0027vw;
		background-color: #e11714;
	}

	.pa-word-aside .aside_box.popular li::before {
		content: counter(pa-word-popular);
		display: flex;
		position: absolute;
		top: 4px;
		left: -6px;
		align-items: center;
		justify-content: center;
		width: 1.4em;
		height: 1.4em;
		transform: translateY(-50%);
		border-radius: 50%;
		background: #a3762b;
		color: #fff;
	}
}

/* 「すべての記事」と年別の一覧の副題「記事一覧」を、パソコン幅で移行元と同じく
 * 20px 右へ離す（Bug #8432）。
 *
 * 移行元は `public/css/page_introduce.css` の `#story .story_inner .archive_ttl span`
 * （`display: inline-block; margin-left: 20px`）。dev の素の `.archive_ttl span` は
 * 色と大きさしか持たず、字が見出しの対象に詰まっていた（2026-09-29 実測・幅 1440・
 * 移行元 20px・dev 0px）。
 *
 * 当たり先はパソコン版の副題だけにする。年別は `span.pa-legacy-pc-only`、
 * 「すべての記事」は包み `.pa-legacy-pc-only` の中の `span` である。携帯版の副題
 * （`.pa-legacy-sp-only`）には当てない。移行元の携帯版は左の外余白を持たない（実測 0px）.
 *
 * 字間と行送りは、すぐ下の Bug #8745 の規則が移行元へ戻す. */
.archive-content--word .entry-content #story .story_inner .archive_ttl :is(span.pa-legacy-pc-only:not(.pa-legacy-plain), .pa-legacy-pc-only > span) {
	display: inline-block;
	margin-left: 20px;
}

/* 「すべての記事」と年別の一覧の見出しの字間と行送りを、パソコン幅で移行元へ戻す（Bug #8745）。
 *
 * 移行元は `public/css/page_introduce.css` の `#story .story_inner .archive_ttl`
 * （`line-height: 100%`・字間の指定なし）。dev は見出しの共通規則
 * `.entry-content :is(h2, h3, h4, h5, h6)` から字間 0.05em（30px で 1.5px）を継ぎ、
 * 素の `.archive_ttl` は `line-height: 1` だった（2026-09-29 の #8432 の受け入れ・
 * 幅 1440・移行元 字間 normal・高さ 34・副題 72 × 30、dev 字間 1.5px・高さ 30・副題 78 × 18）。
 *
 * 🚨 **行送りは `1` でなく `100%` にする。**百分率は見出しの 30px で 30px に決まってから
 * 副題へ継がれるので、`inline-block` の副題も 30px の行を持つ。移行元の高さ 34px は
 * この 30px の副題が並びの下端へ 4px はみ出した分である。`1` だと副題が自分の 18px で
 * 行を組み、見出しは 30px のままになる。
 *
 * 字間を素に戻すと、副題の幅（4 字 × 18px ＋ 字間 4 つ分）も 78px から 72px に戻る.
 *
 * 当たり先は `span` を伴う見出し（すべての記事と年別）だけにする。「新着リスト」
 * （`/word/`・`span` 無し）はパソコン幅で字間 1.5px のままで、この Issue の範囲の外である。
 * 携帯幅は上の `@media (max-width: 749px)` の節の Bug #8432 の規則が同じ値を持つ. */
.archive-content--word .entry-content #story .story_inner .archive_ttl:has(span) {
	letter-spacing: normal;
	line-height: 100%;
}

/* 結婚相談所のすゝめの一覧（トップ・すべての記事・年別）を移行元へそろえる（Task #8044・
 * 事業部の管理表 No.116）。値は 2026-09-29 の読み（`pa-verify-assets/B/8044-読み-0929/`）で
 * 移行元とそろえた.
 *
 * 1. 札に指を置いたときの字の色。移行元パソコン版は `public/css/style.css` の
 *    `.list_box li a:hover .list_detail span.ttl` と `span.text`（`color: #4C4C4C`）で題と
 *    本文を灰にする。dev は共通の `a:hover`（赤 #e1200f）を継いで題と本文が赤になっていた.
 *    絵の透明 0.5 と札の地 #fbfbfb は、すでに移行元と同じである.
 * 2. 携帯版は字の色を変えず、絵だけを 0.8 に薄くする。移行元は `sp/css/basic.css` の
 *    `a img:hover { opacity: 0.75 }` の後に読む `sp/css/style.css` の `a:hover img { opacity: 0.8 }`
 *    が勝つ（読みでは 800ms 後も 1000ms 後も 0.8）. dev は赤と 0.5 だった.
 * 3. 携帯版の札の左右の空き。移行元は 3 枚とも札を `div.box`（`sp/word/css/style.css` の
 *    `#story .box { padding: 25px 6.25% 32px }`）で包み、幅 375 で左右 23.44px を空ける.
 *    dev は札が幅 375 いっぱいに出ていた. 🚨 **`%` でなく `vw` で書く。**dev の
 *    `.story_inner` は負の外余白で画面幅へ広げてあり、包みの `section#story` は幅 178px しか
 *    ない。`%` は包みの幅で決まるので 11px になる. 移行元の 6.25% は画面幅 375 に対する値である.
 * 4. パソコン版の見出し「新着リスト」の字間。Bug #8745 は副題を持つ見出しだけを直した.
 *    移行元 `page_introduce.css` の `.archive_ttl` は字間を持たない（normal）. */
@media (min-width: 750px) {
	.archive-content--word .entry-content #story .story_inner .list_box li a:hover .list_detail span:is(.ttl, .text) {
		color: #4c4c4c;
	}

	.archive-content--word .entry-content #story .story_inner .archive_ttl:not(:has(span)) {
		letter-spacing: normal;
	}
}

@media (max-width: 749px) {
	.archive-content--word .entry-content #story .story_inner {
		padding-right: 6.25vw;
		padding-left: 6.25vw;
	}

	.archive-content--word .entry-content #story .story_inner .list_box li a:hover,
	.archive-content--word .entry-content #story .story_inner .list_box li a:hover .list_detail span:is(.ttl, .text) {
		color: #000;
	}

	.archive-content--word .entry-content #story .story_inner .list_box li a:hover img {
		opacity: 0.8;
	}
}

/* 新着リストの「すべての記事を見る」の押しボタン（Task #8044・ユーザー決定 D517）。
 *
 * 🚨 **絵は敷かない。文字と枠で組む**（D488 と同じ扱い）。移行元の絵 2 枚の中身は、白地・
 * 枠線・明朝の文言・右端の「>」だけである（2026-09-29 に画素を数えた）.
 *
 *   パソコン版 `/images/introduce/story/btn_all_story.jpg` 352 × 48
 *     枠 1px #333・地 #fff・字は黒・字の高さ 15（16px）・字の中心は左へ 6.5px 寄る
 *     「>」 8 × 15・右端から 20px・上下の中央
 *   携帯版 `/sp/word/images/btn_all_list.jpg` 560 × 80（幅 328.13 = 87.5vw へ縮めて出る）
 *     枠 2px #000・字の高さ 26（28px）・字の中心は左へ 7.5px 寄る
 *     「>」 15 × 24・右端から 27px
 *
 * 🚨 **「>」の位置は枠の内側から数える。**背景は枠の内側（padding-box）を起点に置かれるので、
 * 右端からの空きは枠の太さを引いた値を書く（パソコン版 20 − 1 = 19px・携帯版 15.82 − 1.17 = 3.86vw）.
 *
 * 囲みの外余白は移行元のまま。パソコン版は `page_introduce.css` の
 * `#story .btn_all_story { margin: 20px 0 60px }` で、押しボタンは囲みの中央に出る.
 * 携帯版は `sp/css/style.css` の `.mb40 { margin-bottom: 40px }`.
 *
 * 指を置いたときは、移行元の絵と同じく全体を薄くする（パソコン版 `a:hover img { opacity: 0.5 }`・
 * 携帯版 `sp/css/style.css` の `a:hover img { opacity: 0.8 }`）。字の色は変えない（絵の字は色が変わらない）.
 *
 * 🚨 **札の並びの下の外余白を消す。**移行元は並びの中に最後の札の下の空き（パソコン版 42・
 * 携帯版 18）を持ち、押しボタンはその直下に 20px（パソコン版）・0（携帯版）空けて出る.
 * dev の並びは同じ空きを中に持ったうえで、外にも下の外余白（25px・18px）を持つので、
 * 押しボタンが 5px・18px 下がっていた（2026-09-29 の下見）. 押しボタンが続くときだけ消す.
 *
 * 成婚ストーリーのトップ（`archive-story.php`・Bug #1755）は同じ絵を `<img>` で置いている。
 * 全体原則（2026-08-31）より前の作りで、この Task の範囲の外に残す. */
.archive-content--word .entry-content #story .story_inner .list_box:has(+ .pa-word-all-button) {
	margin-bottom: 0;
}

.archive-content--word .entry-content #story .story_inner .pa-word-all-button {
	margin: 20px 0 60px;
	text-align: center;
}

.archive-content--word .entry-content #story .story_inner .pa-word-all-button a {
	display: inline-block;
	box-sizing: border-box;
	width: 352px;
	height: 48px;
	padding: 0 13px 0 0;
	border: 1px solid #333;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'%3E%3Cpolyline points='0.5,0.5 7.5,7.5 0.5,14.5' fill='none' stroke='%23333' stroke-width='1'/%3E%3C/svg%3E") no-repeat right 19px center / 8px 15px;
	color: #000;
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
	font-weight: normal;
	letter-spacing: normal;
	line-height: 46px;
	text-decoration: none;
}

.archive-content--word .entry-content #story .story_inner .pa-word-all-button a:hover {
	color: #000;
	opacity: 0.5;
}

@media (max-width: 749px) {
	.archive-content--word .entry-content #story .story_inner .pa-word-all-button {
		margin: 0 0 40px;
	}

	.archive-content--word .entry-content #story .story_inner .pa-word-all-button a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: auto;
		aspect-ratio: 560 / 80;
		padding: 0 2.34vw 0 0;
		border-width: 0.3125vw;
		border-color: #000;
		background-position: right 3.86vw center;
		background-size: 2.34vw 3.75vw;
		font-size: 4.375vw;
		line-height: 1;
	}

	.archive-content--word .entry-content #story .story_inner .pa-word-all-button a:hover {
		opacity: 0.8;
	}
}

/* 結婚相談所のすゝめの一覧の上端・主視覚の帯・見出しの上の空きを移行元にそろえる（Task #8044 の残り）。
 *
 * 値は 2026-09-29 の読み（`pa-verify-assets/B/8044-読み2-0929/`・移行元は手元の `php -S`）で
 * 数えた。移行元はパソコン版 `public/word/index.html`・`all.html`・`category2019.html`、
 * 携帯版は `/sp/word/` の同じ 3 画面である.
 *
 * 1. パソコン版の上端。区画の題「結婚相談所のすゝめ」の上端が、移行元は 3 画面とも 192、
 *    dev は 252 だった。差の 60 は `.archive-content` の上の外余白（`var(--pa-space-md)`）で、
 *    移行元の `#contents` は外余白を持たない. 🚨 **下の 80（`var(--pa-space-lg)`）は
 *    ここでは触らない。**申し込みの導線（Bug #8802）が並びの下に入ってから測る.
 * 2. パソコン版の見出し「新着リスト」の上。移行元は主視覚の帯の下端にそのまま付く（空き 0）、
 *    dev は 50 空いていた. 🚨 **新着リストだけに絞る。**すべての記事と年別は、年のボタンの
 *    帯の下から見出しまでの空きが移行元・dev とも 55 で合っている。主視覚の帯
 *    （`.main_box`）を持つのは新着リストだけなので、`.main_box ~ .story_inner` で絞る.
 * 3. 携帯版の主視覚の帯の上下の内余白。移行元は `sp/word/css/style.css` の
 *    `#story .main_read_box { padding: 4% 0 5% }` で、幅 375 で 15 と 18.75 になる。
 *    dev は同じ `4% 0 5%` を書いていたが、包みの `section#story` が幅 178px しかないので
 *    7.13 と 8.91 になり、帯の高さが 120.55 から 102.83 へ縮んでいた. 🚨 **`%` でなく `vw` で
 *    書く**（すぐ上の札の左右の空きと同じ理由）.
 * 4. 携帯版の見出し「新着リスト」の上。移行元は帯の下端から 25、dev は 30 だった. */
@media (min-width: 750px) {
	/* 🚨 **`#story` を持つ器だけに絞る。**`category-word.php`（投稿のカテゴリ「word」の骨格）も
	   同じ `archive-content--word` を出すが、移行元の型紙（`#story`）を持たない. */
	.archive-content.archive-content--word:has(> .entry-content #story) {
		margin-top: 0;
	}

	.archive-content--word .entry-content #story > .main_box ~ .story_inner > .archive_ttl {
		margin-top: 0;
	}
}

@media (max-width: 749px) {
	.archive-content--word .entry-content #story .main_box {
		padding: 4vw 0 5vw;
	}

	.archive-content--word .entry-content #story > .main_box ~ .story_inner > .archive_ttl {
		margin-top: 25px;
	}
}

/* 結婚相談所のすゝめの一覧 3 種の携帯幅で、区画の題の上端と、すべての記事・年別の見出しの位置を
   移行元へ戻す（Bug #8805・事業部の指摘の行 W87）。

   【移行元の値】`sp/word/css/style.css`:
     #story { padding: 25px 0 30px }
     #story .category_ttl { margin: 0 auto 20px }
     #story .box { padding: 25px 6.25% 32px }   ← 見出しと記事の並びを包む器

   幅 375 の実測（2026-09-30 05:18・`pa-verify-assets/B/8805-直す前-0930/`・PR #8737 と #8810 の取り込み後。値はヘッダーの下端から）:

     | 位置 | 移行元 | dev（直す前） |
     |---|---:|---:|
     | 区画の題の上端（3 画面とも） | 25 | 30 |
     | すべての記事・年別の見出しの上端 | 110.72 | 100.72 |

   1. 題の上の 30 は、共通の器 `.archive-content` の上の外余白（`var(--pa-space-md)`）である。
      パソコン幅は上の Bug #8810 の節で 0 にしてある。携帯幅は、`#story` の上の外余白で差を
      打ち消して、題の上端を移行元と同じ 25 にする（`:has()` を使わない理由は規則の注記）
   2. すべての記事と年別は、題のすぐ後に見出しの器 `.story_inner` が来る。題の下の外余白 20 と
      見出しの上の外余白 30 が重なり、大きいほうの 30 だけが残っていた。移行元は `.box` の上の
      内余白 25 が外余白と重ならないので、45 になる。器に上の内余白 25 を写し、見出しの上の
      外余白を 0 にする
      🚨 **新着リスト（`/word/`）は当てない。**題と見出しの器の間に主視覚の帯（`.main_box`）が入り、
      見出しの位置は上の Bug #8808 の規則（帯の下端から 25）で合っている。すべての記事と年別だけが
      年のボタンの帯（`ul.flow_story`・携帯幅では隠れる）を持つので、`> .flow_story + .story_inner` で
      その 2 種に絞る。
      🚨 **`> .title + .story_inner` では当たらない。**年のボタンの帯は携帯幅で `display: none` でも
      要素としては題と器の間に残るので、隣り合う兄弟にならない（下見 1 回目
      `pa-verify-assets/B/8805-下見-0930/` で、見出しが 95.72 のまま動かなかった）.
   見出しから記事の並びの先頭までの 25 は、3 画面とも移行元と同じなので触らない. */
@media (max-width: 749px) {
	/* 題の上の空きを 25 にする。器 `.archive-content` の上の外余白（`var(--pa-space-md)`・携帯幅で 30）は
	   そのままにし、`#story` の上の外余白で差（25 − 30 ＝ −5）を打ち消す。
	   🚨 **`:has()` を使わない**（PR #8944 の外部レビューの指摘 2 件）。最初の版は器を
	   `:has(> .entry-content #story)` で絞って外余白を 0 にしていたが、`:has()` を解さない
	   ブラウザ（iOS Safari 15.0〜15.3 など）ではその規則だけが無視され、題が合わないまま残る。
	   `#story` の側で書けば、`#story` を持たない一覧（`category-word.php`）には最初から当たらない。
	   器の外余白と重なっても（30 ＋ −5）重ならなくても（器の中で −5）、題の上端は同じ 25 になる. */
	.archive-content--word .entry-content #story {
		margin-top: calc(25px - var(--pa-space-md));
	}

	.archive-content--word .entry-content #story > .flow_story + .story_inner {
		padding-top: 25px;
	}

	.archive-content--word .entry-content #story > .flow_story + .story_inner > .archive_ttl {
		margin-top: 0;
	}
}

/* お知らせ `/release/` の題名に足した文言を、パソコン幅では隠す（Bug #8167）。

   🚨 **携帯幅のために足した札は、パソコン幅で隠す指定も要る。**上の
   `@media (max-width: 749px)` の節は携帯幅の見た目しか書いていないので、
   パソコン幅では `<span>` が既定の `display: inline` のまま描かれ、**移行元
   パソコン版の絵の下に同じ文言がもう一度出る**。実測では題名の器が
   158.22 → 200.22（+42）に伸びた（2026-09-20 17:30・幅 1440・dev の `/release/`）。

   先例 [Task #5301](https://github.com/mationinc/wp-platform/issues/5301) は
   `assets/visitor/css/sp.css` の末尾で `@media (min-width: 750px)` を立てて
   `.pa-visitor-sp-title` を隠している。同じ形にそろえる。

   🚨 **`@media` を使わない素の既定にしない。**`@media` は詳細度を上げないので、
   素の `display: none` を携帯幅の節より後ろに置くと、同じ詳細度の後勝ちで
   携帯幅でも消える（`.pa-word-aside` の既定に同じ注意書きがある）。
   幅で分ければこの順番の罠に当たらない。 */

@media (min-width: 750px) {

	.main_ttl .pa-release-sp-title {
		display: none;
	}

	/* 🚨 **`<span>` を足すと `<img>` が `:only-child` でなくなる。**
	   テーマは `.page-content__body :is(h2, …):has(> :is(img, picture):only-child)` で
	   絵だけの見出しに `margin: 0 0 var(--pa-article-paragraph-gap); padding: 0; border: 0;
	   background: none;` を当てている。[PR #8153](https://github.com/mationinc/wp-platform/pull/8153)
	   が `<span>` を足したことでこの規則が外れ、素の見出しの `margin: … 0 20px` に落ちて、
	   **パソコン幅の下の外余白が 25px から 20px へ動いた**（実測 2026-09-20 18:12・
	   題名より下の中身がまるごと 5px 上がる）。

	   コースと料金が同じ問題を踏んでおり（`pa-guide-sp-heading`）、**足した `<span>` を含む
	   並びにも同じ宣言を当てる**形で解いている。その型をそのまま使う。

	   🚨 **パソコン幅に閉じる。**`margin: 0 0 …` の一括指定は左右を 0 にするので、携帯幅へ
	   持ち込むと題名の器の `margin-inline: auto`（中央寄せ）を打ち消し、左端が 69.97 から
	   15 へずれる（実測）。携帯幅の下の外余白は 20px で移行元と一致しているので触らない。 */
	.page-content__body :is(h2, h3, h4, h5, h6):has(> :is(img, picture) + span.pa-release-sp-title:last-child) {
		margin: 0 0 var(--pa-article-paragraph-gap);
		padding: 0;
		border: 0;
		background: none;
	}
}

/* 区分の見出しの下の空きを、パソコン幅の**一覧 9 ページ**で移行元へ戻す（Bug #6263）。

 * 🚨 **記事 682 ページは既に直っている。**#5556 が
 * `body.pa-legacy-grid-box … .entry-content > #story > .title { margin-bottom: 35px }`
 * を `@media (min-width: 750px)` の中に持っている。
 *
 * 🚨 **当たらないのは一覧 9 ページだけである**（`/word/` `all` `category2017`〜`2023`）。
 * `pa-legacy-grid-box` は本文に `grid_box` が在るときだけ付く印で
 * （`inc/single-content-legacy-frame.php` の 69 行）、**投入の材料 691 巻を数えると
 * 682 巻が `grid_box` を持ち、一覧 9 巻は持たない。**その 9 ページで #5556 の規則が外れ、
 * 絵 1 枚だけの見出しに共通の `margin: 0 0 var(--pa-article-paragraph-gap)`（25px）が残る。
 *
 * 実測（幅 1440px・`/word/category2023.html` 対 `/word-category2023/`）:
 *
 *   移行元  箱 80px = 絵 74px + 6px      下の外余白 35px
 *   dev     箱 83px = 絵 74px + 9px      下の外余白 25px
 *
 * 2 つの差が合わさって、下の金色のボタンの帯が 7px 上がっていた（帯の上端 307 対 300）。
 * **帯そのものは両側とも 70px で同じである。**
 *
 * 🚨 **中身が絵 1 枚でも、字の大きさと行送りは箱の高さに効く。**絵はインラインの要素なので
 * 行の中に置かれ、絵の下の空きがそれで決まる。移行元は初期化から 13px ／ 行送りの指定なし
 * （`public/css/common.css` の `h1〜h6 { font-size: 100% }` ＋ `body { font-size: 13px }`）。
 * dev は `--pa-article-h3-size`（22px）／`--pa-line-height-heading`（1.5）である。
 *
 * 🚨 **共通の変数は触らない。**`--pa-article-paragraph-gap` は絵 1 枚の見出しを持つ
 * 23 か所すべてに当たる。
 *
 * 🚨 **`@media (min-width: 750px)` で囲う。**囲わないと、上の携帯幅の節（Task #6170）より
 * 後ろに在るぶん、同じ当たり先の後勝ちで携帯幅でも効いてしまう.
 *
 * 🚨 **当たり先の書き方を携帯幅の節とそろえない。**`tests-retired/pa-cms-word-sp-title/` の 7 番が
 * 「`#story > :is(h2, h3).title` の規則は携帯幅の外に 1 つも無い」を見張っている（#6172）。
 * ここは #5556 と同じ `#story > .title` の形で書く（役割が同じ規則どうしで形をそろえる）. */
@media (min-width: 750px) {
	/* 🚨 **一覧 8 画面はここから外した**（ユーザー決定 D488・Task #7434）。この節は
	 * 「中身が絵 1 枚のときに箱の高さと下の外余白を移行元へそろえる」ためのもので、
	 * 字の大きさ 13px も**絵の下に出る行の空きを 6px にするため**の値である。
	 * 一覧 8 画面は見出しを**文字で組む**ので、この値をそのまま当てると字が 13px に
	 * なってしまう。文字の規則はこの節の下に別に立ててある。
	 * **記事 682 ページは絵のままなので、`.pa-post--word` の側は 1 バイトも変えない**. */
	body:not(.pa-legacy-grid-box) .pa-post--word .entry-content #story > .title {
		margin: 0 0 35px;
		font-size: 13px;
		line-height: normal;
	}

	/* 区画の見出しを文字で組む・パソコン幅（ユーザー決定 D488・Task #7434）。
	 *
	 * 移行元の絵（`word/img/title.gif`・330 × 74・原寸で出る）の中身を画素で数え、
	 * 同じ位置に文字と線を置く。
	 *
	 *   文言 幅 321 × 高さ 33（絵の左上 x5, y0 から）
	 *   赤い線 幅 36 × 高さ 2・色 #f10000・横は中央・文言の下端から 40px 下
	 *   箱の高さ 80px（絵 74px ＋ 絵の下に出る行の空き 6px）・下の外余白 35px
	 *
	 * 🚨 **字の大きさ 36px は実測で決めた。**`--pa-font-family-serif` の先頭（游明朝）で
	 * 「結婚相談所のすゝめ」を 33〜38px で描き、墨の外接を画素で数えた値である。
	 *
	 *   33px→幅 292 / 34px→301 / 35px→310 / **36px→319** / 37px→328 / 38px→337
	 *
	 * 絵の 321 に最も近いのが 36px である（差 2px）。高さは 34px（絵は 33px）。
	 *
	 * 🚨 **合わせるのは「箱の上端から数えた位置」である。**絵の中の相対の並び
	 * （文言の下端から線まで 40px）ではない。画面で見えるのは箱の上端からの距離だからである。
	 *
	 *   行の高さ 36px（`line-height: 1`）＋ 線の上の外余白 36px ＝ 線の上端 y72 ✅
	 *   線 2px ＋ 下の内余白 6px ＝ 箱の高さ 80px ✅（絵のときの「絵 74 ＋ 行の空き 6」と同じ）
	 *
	 * こうすると**下の区画の位置が 1px も動かない**。文言の墨は y1〜34 に出る
	 * （絵は y0〜32）。1px は行の中の位置、2px は字が 1px 大きいことによる。
	 *
	 * 🚨 **下の内余白で高さを作る。**下の外余白（35px）で作ると、次の区画
	 * `.story_inner` の上の外余白 50px と折りたたまれて数字が消え、箱の高さの差が
	 * そのまま下の区画のずれになる. */
	.archive-content--word .entry-content #story > .title {
		margin: 0 0 35px;
		padding-bottom: 6px;
		color: #000;
		font-family: var(--pa-font-family-serif);
		font-size: 36px;
		font-weight: normal;
		/* 🚨 **字間を素へ戻す。**共通の `.entry-content :is(h2, h3, h4, h5, h6)` が
		   `letter-spacing: 0.05em` を当てており、そのままだと 36px で 9 文字ぶん
		   14px ほど広がって絵の 321px を超える. */
		letter-spacing: normal;
		line-height: 1;
		text-align: center;
	}

	.archive-content--word .entry-content #story > .title::after {
		display: block;
		width: 36px;
		height: 2px;
		margin: 36px auto 0;
		background-color: #f10000;
		content: "";
	}

	/* 🚨 **本文のコンテナ要素の padding-bottom を、PC 幅で移行元へ戻す（Task #6383）。**
	 *
	 * 移行元の PC 版 `css/page_introduce.css` は
	 * `#story { margin: 0 auto; padding: 0 0 30px; width: 100% }` を持つ。
	 * **dev は下が 0 だった**（幅 1440 で実測）。
	 *
	 * 🚨 **`@media (min-width: 750px)` の中へ閉じる。**携帯幅の padding-bottom は 30px で同じ値だが、
	 * あちらは #6313 が別の `@media` ブロックで入れている。**ブロックの外に書くと携帯幅の
	 * ブロックより後ろに来て、同じセレクタの後勝ちで携帯幅の上下まで巻き込む。**
	 *
	 * 🚨 **`padding` のショートハンドを使わない。**左右（携帯幅の `padding-inline`）と
	 * 上（25px）を 0 に固定して打ち消す. */
	.pa-post--word .entry-content #story {
		padding-bottom: 30px;
	}
}

/* --------------------------------------------------------------
 * 7. 狭い画面での上書き（Issue #1671）
 *
 * 上の 1.〜6. が写したのは、移行元のパソコン版の CSS である。移行元は狭い
 * 画面ではスマートフォン専用の別サイト（`/sp/` 配下のミラー）を配信して
 * おり、同じマークアップを一回り小さい値で組んでいる。ところが 1.〜6. は
 * 画面幅の条件を持たないため、375px でもパソコン版の値がそのまま当たって
 * いた。2026-08-07 の計測では、これに直接当たる要素が 193 件あった。
 *
 * ここでは、その要素の値をミラーの CSS から写す。写すのは 1.〜6. と同じく
 * 文字の大きさ・行間・太さと、同じ規則が併せて書いている下外余白だけである。
 *
 * 太さについて。ミラーの土台 css/basic.css の 3〜23 行は、見出し（h1〜h6）を
 * 含む主なタグの font-weight を normal へ倒している。移行してきた本文の見出し
 * はブラウザ既定の太字（700）のままなので、ミラーが 400 で描いている見出しは
 * ここで 400 へ戻す。ワード解説の詳細だけはミラー側にも太字の指定があるため、
 * body.single-word の側で 700 に戻す。ユーザー裁定 2026-08-07（Issue #1671）。
 * 当たり先は Task #6656 で single-post から移した.
 *
 * 写し元（いずれも legacy/www.p-a.jp/public/sp/ 配下）:
 *   introduce/story/css/style.css          成婚ストーリーの一覧と詳細
 *   introduce/story/css/sp_style.css       成婚ストーリーの見出し帯
 *   introduce/voice/css/style.css          お客様の声の一覧
 *   word/css/style.css                     ワード解説の一覧と詳細
 *   introduce/css/sp_style_experience.css  体験談の一覧
 *
 * ミラーはほとんどの値を px で書いているので、そのまま写せる。rem で書いて
 * いるのは 2 か所だけで、いずれも実測値へ換算して写した。
 *   ワード解説 詳細の節の見出し（1.5rem）— ミラーの土台 css/basic.css の
 *     3〜23 行が html 自身に 13px を敷いており 1rem = 13px になる。よって
 *     19.5px である。稼働中のミラーを 375px の携帯として開いた実測
 *     （19.5px / 行送り 35.1px）と一致する。
 *   体験談 一覧の数値（1.8rem）— こちらは 1rem = 10px で 18px、行送りは
 *     1.53 である。実測（18px / 27.54px）と一致する。
 * -------------------------------------------------------------- */

@media (max-width: 749px) {
	/* 成婚ストーリーとワード解説の詳細（#story）。
	   写し元は introduce/story/css/style.css の 163〜175 行（話数と話の題名）、
	   199〜209 行（節の見出し）、288〜302 行（話の題名と節の見出し）、
	   317〜334 行と 347〜357 行（相談員の紹介）である。記事冒頭のリード文
	   だけは introduce/story/css/sp_style.css の 132〜138 行に書いてある。
	   ミラーは話数と話の題名を .article_num / .article_ttl と呼ぶ。移行して
	   きた本文はパソコン版のマークアップなので .grid_num / .grid_ttl だが、
	   ページの同じ位置に出る同じ部品である. */
	:is(.entry-content, .page-content__body) .title_txt {
		margin-bottom: 20px;
	}

	/* 節の見出しは成婚ストーリーだけの部品ではなく、調査レポート（/research/）の
	   節の見出しにも 760 か所使われている。そこで移行元のミラーを両方あたった
	   ところ、どちらも同じ 17px・行送り 123%・下の間隔 20px だった
	   （introduce/story/css/style.css 199〜209 行と research/css/style.css
	   160〜169 行）。太字でないのは、ミラーの土台 css/basic.css が見出しの
	   font-weight を normal へ倒しているためである。よってページを絞らずに
	   当てる。稼働中のミラーの調査レポート（/sp/research/report_99.html）を
	   375px で実測しても 17px / 20.91px / 20px / 400 で一致した. */
	:is(.entry-content, .page-content__body) .text_title {
		margin-bottom: 20px;
		font-weight: normal;
		line-height: 1.23;
	}

	:is(.entry-content, .page-content__body) .grid_num {
		margin-bottom: 4px;
		font-size: 14px;
	}

	:is(.entry-content, .page-content__body) .grid_ttl {
		margin-bottom: 22px;
		font-size: 18px;
		line-height: 1.1;
	}

	:is(.entry-content, .page-content__body) .story_title {
		font-size: 16px;
		line-height: 1;
	}

	:is(.entry-content, .page-content__body) .story_copy {
		margin-bottom: 12px;
		font-size: 12px;
		font-weight: normal;
		line-height: 1;
	}

	:is(.entry-content, .page-content__body) .concierge_ttl {
		margin-bottom: 15px;
		font-size: 20px;
		font-weight: normal;
		line-height: 1;
	}

	:is(.entry-content, .page-content__body) .concierge_ttl span {
		font-size: 12px;
	}

	:is(.entry-content, .page-content__body) .concierge_copy {
		margin-bottom: 10px;
		font-size: 14px;
		line-height: 1.5;
	}

	:is(.entry-content, .page-content__body) .concierge_prof_post {
		font-size: 11px;
	}

	:is(.entry-content, .page-content__body) .concierge_prof_name {
		font-size: 14px;
	}

	/* ワード解説の詳細だけの上書き。上の成婚ストーリーとはクラス名が同じで値が
	   違うので、3. と同じように body.single-word で分ける（Task #6656 で single-post から移した）。
	   記事の題名はミラーの #story .article_ttl（word/css/style.css 170〜176 行）
	   の 1.7rem・行送り 150% である（1rem = 13px なので 22.1px）。
	   節の見出しはミラーの .content-area .box h4.serif（同 464〜471 行）の
	   1.5rem で、行送りは .content-area .box（同 751〜755 行）の 1.8 を継ぐ. */
	body.single-word :is(.entry-content, .page-content__body) .grid_ttl {
		margin-bottom: 22px;
		font-size: 22.1px;
		line-height: 1.5;
	}

	body.single-word :is(.entry-content, .page-content__body) .story_copy {
		margin-bottom: 20px;
		font-size: 19.5px;
		font-weight: bold;
		line-height: 1.8;
	}

	/* ワード解説だけは、ミラーの側も節の見出しを太字で組んでいる
	   （.content-area .box h4 は同 456〜462 行、.content-area .box h3 は
	   同 764〜773 行が font-weight: bold を置く）。上で 400 へ倒した分を、
	   このページだけ 700 へ戻す。
	   行送りは、この幅でもパソコン版の 1.3 が残る（3. の
	   body.single-word .text_title は詳細度で上の共通側に勝つため、共通側の
	   1.23 は届かない）。ワード解説のミラーは節の見出しに .article_box では
	   なく .content-area の組み方を使っており、対応する部品を計測ハーネスが
	   対にできていない。値を決める根拠が無いので、ここでは動かさない. */
	body.single-word :is(.entry-content, .page-content__body) .text_title {
		font-weight: bold;
	}

	/* お客様の声の一覧（#voice）。写し元は sp/introduce/voice/css/style.css の
	   13〜32 行（見出しと導入文と区画の題名）、44〜51 行・62〜70 行・
	   80〜85 行（質問と答えと札）、91〜97 行（選ばれる理由の見出し）である。
	   区画の題名は、お客様の声の 2 段組み（.voice_list）の中に既に狭い画面
	   用の指定があり、そちらのほうが詳細度で勝つ。同じ値を両方へ当てる. */
	:is(.entry-content, .page-content__body) #voice .main_copy {
		margin-bottom: 10px;
		font-size: 16px;
		line-height: 1.3;
	}

	:is(.entry-content, .page-content__body) #voice .main_read {
		margin-bottom: 18px;
		font-size: 10px;
		line-height: 1.4;
	}

	:is(.entry-content, .page-content__body) .inner_ttl,
	:is(.entry-content, .page-content__body) .voice_list .inner_ttl {
		margin-bottom: 28px;
		font-size: 20px;
		font-weight: normal;
		line-height: 1;
	}

	/*
	 * 枠の頭（Bug #4846）。移行元スマホ版（`sp/introduce/voice/css/style.css` の
	 * 44〜60 行）は次の 3 つを持つ。字の大きさ 12px はもとから写してあったが、
	 * 下の内余白と伏せ字の記号の大きさが写っていなかった。
	 *
	 * | 相手 | 移行元スマホ版 | 直す前の dev |
	 * |---|---|---|
	 * | 枠の頭の下の内余白 | `0 0 10px` | `0 0 15px`（パソコン幅の値） |
	 * | 伏せ字の記号の字 | 18px | 30px（パソコン幅の値） |
	 * | 伏せ字の記号の幅 | 20px | 38px（パソコン幅の値） |
	 *
	 * 🚨 **幅も一緒に直さないとそろわない。**記号は `display: inline-block` で幅を
	 * 決め打ちしているので、字だけ 18px にすると記号と「女性」の間に 18px の空きが
	 * 残る（移行元は記号の幅 20px のすぐ右に「女性」が続く）.
	 */
	:is(.entry-content, .page-content__body) .voice_body dt {
		padding-bottom: 10px;
		font-size: 12px;
	}

	/*
	 * 🚨 **区分の札（`.stfc01` / `.stfc02`）を除く。**移行元スマホ版は伏せ字の
	 * 記号に `class="red"` を付けて区別するが、**移行元パソコン版と、それを写した
	 * 本文の記号はクラスを持たない**ため、ここでは `span` を素で拾うしかない。
	 * **区分の札も `span` なので、除かないと札まで 20px 幅・18px の字になる。**
	 * いまは札が答え（dd）の側にあるので当たらないが、投入の側で札を質問（dt）へ
	 * 足したときに壊れる（Bug #4881）。紙の上で札を質問へ移して測り、この除外が
	 * 要ることを確かめた（幅 375px で札が 42 × 20px から 20 × 36px へ崩れた）.
	 */
	:is(.entry-content, .page-content__body) .voice_body dt span:not(.stfc01):not(.stfc02) {
		width: 20px;
		font-size: 18px;
	}

	:is(.entry-content, .page-content__body) .voice_body dd {
		font-size: 12px;
	}

	/*
	 * 答えの頭に付く区分の札。**移行元はパソコン版と携帯版で別の HTML を持ち、
	 * 札の置き場所が違う**（パソコン版は答え dd の中・携帯版は質問 dt の中）。
	 * 投入はパソコン版を写しているので、本文の札は答えの側にある。大きさは
	 * どちらも 11px なので、こちらのマークアップに合わせて写す。
	 *
	 * 内余白も移行元スマホ版（`sp/introduce/voice/css/style.css` の 62〜70 行）へ
	 * そろえる（Bug #4846）。上下がパソコン幅の 7px のままだったため、札が
	 * 25px の高さで描かれていた（移行元スマホ版は 20px）.
	 *
	 * 🚨 **移行元スマホ版の左の外余白 10px は写さない。**スマホ版はこの札を質問
	 * （dt）の中の「女性」の右へ続けて置くので、その 10px は**字と札を離すための
	 * 空き**である。本文では札が答え（dd）の行頭に来るため、同じ 10px を写すと
	 * **札そのものが 10px 右へずれる**（移行元では起きない見え方になる）。
	 * **値ではなく役割で判断する。**札の置き場所の差は Bug #4881（投入の側）で
	 * 扱う。
	 *
	 * 🚨 **Bug #4881 で札を質問（dt）へ足すときは、この規則も一緒に移すこと。**
	 * 札の見た目（下地・白抜き・太字・内余白）は答え（dd）の側の当たり先が
	 * 決めているので、置き場所だけを変えると札が素の字になる.
	 */
	:is(.entry-content, .page-content__body) .voice_body dd span {
		padding: 5px 10px 4px;
		font-size: 11px;
	}

	:is(.entry-content, .page-content__body) .reason_copy {
		font-size: 18px;
	}

	/* ワード解説と成婚ストーリーの一覧（#story）。写し元は
	   word/css/style.css の 21〜32 行（導入の題と説明）と 85〜95 行
	   （カードの題名と抜粋）である. */
	:is(.entry-content, .page-content__body) #story .main_copy {
		margin-bottom: 10px;
		font-size: 16px;
		line-height: 1.3;
	}

	:is(.entry-content, .page-content__body) #story .main_read {
		margin-bottom: 28px;
		font-size: 10px;
		line-height: 1.4;
	}

	:is(.entry-content, .page-content__body) .list_box .ttl {
		margin-bottom: 10px;
		font-size: 18px;
	}

	:is(.entry-content, .page-content__body) .list_box .text {
		margin-bottom: 10px;
		font-size: 14px;
	}

	/* Bug #2703: カードの固定幅 352px は、狭い画面では外して 1 列に落とす。
	   本文の器は `min(1100px, 100vw)` から左右 15px を引いた幅なので、画面が
	   382px より狭いと 352px のカードが器からはみ出す（幅 360px の端末では
	   器 330px に対してカード 352px で、右へ 22px はみ出す。外部レビューの指摘）。
	   下の `.story_inner` の規則が同じことをワード解説の一覧へ行っており、
	   `.story_inner` を持たない調査の一覧には当たらなかった. */
	:is(.entry-content, .page-content__body) .list_box > li {
		flex: 1 1 100%;
	}

	/* ワード解説の一覧のカードは、狭い画面では 1 列に落とす（Bug #1839）。
	   写し元は移行元のスマートフォン版 public/sp/word/css/style.css の
	   64〜75 行で、1 列・下外余白 18px・下地は li の側・本文の内側余白
	   15px と横 3.125% である。パソコン幅で当てた固定幅 352px をここで
	   外さないと、画面より広いカードが残って横へはみ出す. */
	:is(.entry-content, .page-content__body) .story_inner .list_box {
		margin-right: 0;
	}

	:is(.entry-content, .page-content__body) .story_inner .list_box > li {
		flex: 1 1 100%;
		margin-bottom: 18px;
		background: #f9f9f9;
	}

	:is(.entry-content, .page-content__body) .story_inner .list_box li a {
		width: auto;
		margin: 0;
		background: none;
	}

	:is(.entry-content, .page-content__body) .story_inner .list_box li a .list_detail {
		padding: 15px 3.125%;
	}

	/* Bug #2706 追補（レビュー指摘）: 狭い画面ではワード解説の題名の最小の高さ
	   95px を解く。写し元 public/word/css/style.css の min-height はメディア
	   クエリの外にあり（このファイル自体にメディアクエリが無い）、移行元の
	   パソコン版だけが読む。移行元は携帯へ別サイト（`/sp/word/` 配下）を配って
	   いるため、この下限は狭い画面に出会わない。テーマは 1 つのサイトを全幅へ
	   配るので、狭い画面ではここで解かないと、1〜2 行しかない題名にも移行元に
	   無い空白が残る。同じ理由（移行元は携帯へ別サイトを配るのでこの写し元に
	   出会わない）の手当てを PR #2735（Issue #2705）の `.word-cta` 幅の上限でも
	   行っている。選択子は 19713 行の `min-height: 95px` と同じにし、詳細度を
	   揃えたうえでメディアクエリの中に置くことで後勝ちさせる。**年別の一覧
	   （`.archive-content--word`）も同じ理由で解く**（Bug #7248）. */
	.single-content:not(.single-content--story) .entry-content #story .story_inner .list_box li a .list_detail span.ttl,
	.archive-content--word .entry-content #story .story_inner .list_box li a .list_detail span.ttl {
		min-height: 0;
	}

	/* 体験談一覧のカードに出る会員の数値。写し元は
	   introduce/css/sp_style_experience.css の 713〜715 行（.lg の 1.8rem）と
	   616〜621 行（.stories-list__item の行送り 1.53）である。
	   一覧のカードは 18px、個別ページ（.pa-experience__number-value）は 25px と、
	   移行元の側で値が違う。個別ページはここで触らず、宣言元の 25px のままに
	   する（狭い画面で 20px へ小さくしていた上書きは、体験談 個別ページの狭い
	   画面用の区画から外した）. */
	.pa-archive-card--experience .pa-archive-card__number-value {
		font-size: 18px;
		line-height: 1.53;
	}

	/* --- 携帯幅のカードの字を移行元へそろえる（#3086 の L25） ---
	 *
	 * 移行元の携帯版はカードの中の字を軒並み小さくする（写し元は
	 * legacy/www.p-a.jp/public/sp/introduce/css/sp_style_experience.css の
	 * 575〜715 行。移行元は html に `font-size: 62.5%` を置くので 1rem = 10px）。
	 * dev はパソコン幅の値がそのまま残っていた。移行元を本番 www.p-a.jp から
	 * 2026-09-03 15:37 JST に携帯の名乗りで取得して測った値と、dev の実測は次のとおり。
	 *
	 *   分類の札        移行元 12px            対 dev 15px
	 *   抜粋            移行元 13px・内余白 15px 対 dev 14px・内余白 24px
	 *   属性の 1 件     移行元 13px            対 dev 12px
	 *   属性の器の上余白 移行元 8px             対 dev 14px
	 *   数値の帯        移行元 12px・内余白 13/10px 対 dev 13px・内余白 16px
	 *   数値の見出し     移行元 12px（行送り 1） 対 dev 13px（行送り 20.8px）
	 *   数値の単位の器   移行元 12px            対 dev 13px
	 *
	 * この積み上がりでカードの高さが 337.06 対 403.08px（+66px）になっていた。
	 *
	 * 🚨 **この節に置く理由。**カードの見た目の節（19700 行台・23300 行台）の中の
	 * 携帯幅の塊に書くと、**その節より後ろにある体験談のカードの規則に同じ重みで
	 * 負けて効かない**（`.pa-archive-card--experience .pa-archive-card__excerpt` は
	 * 23400 行台、`… __numbers` は 30100 行台にある）。実測で 4 件が効いていない
	 * ことを確かめたうえで、体験談のカードの規則すべてより後ろのこの節へ移した. */
	.pa-archive-card__type {
		/* 移行元 .profile-info .txt-area .type（同 CSS の 581〜584 行）. */
		margin-bottom: 5px;
		font-size: 12px;
	}

	/* 分類の札の地模様も携帯版の値へ（同 CSS の 585〜591 行）。
	   パソコン幅の 134 × 50px から 80 × 30px へ縮み、寄せも変わる. */
	.pa-archive-card__type::before {
		top: -7px;
		left: -10px;
		width: 80px;
		height: 30px;
		background-size: 80px 30px;
	}

	/* 移行元 .profile-info__other（同 CSS の 604〜607 行）の上余白は 8px である
	   （パソコン幅は 14px）. */
	.pa-archive-card__attributes {
		margin-top: 8px;
	}

	/* 🚨 移行元は器の `li` を 12px にしたうえで、**中の `<span>` が携帯用の共通の
	   初期化で 13px になる**（`public/sp/css/basic.css` の 21 行が全要素へ
	   `font-size: 13px` を当てている。本番の携帯幅で、目印を持たない `<span>` 85 件が
	   13px だったことと一致する。2026-09-03 にセルフレビューの指摘で出どころを特定した）。
	   見えている字は 13px なので、`<span>` を持たない dev では項目そのものを 13px にする. */
	.pa-archive-card__attribute {
		font-size: 13px;
	}

	/* 移行元 .stories-list .copy（同 CSS の 685〜689 行）は内余白 15px。
	   **字の 13px はこの規則ではなく、携帯用の共通の初期化が出どころである**
	   （移行元 `public/sp/css/basic.css` の 21 行が全要素へ `font-size: 13px`。
	   2026-09-03 にセルフレビューの指摘で引用先を訂正した。値は実測と一致している）. */
	.pa-archive-card--experience .pa-archive-card__excerpt {
		padding: 15px;
		font-size: 13px;
	}

	/* 🚨 **プロフィールの器は携帯幅では内余白 20px / 15px / 15px（同 ⑥）。**
	   移行元のスマホ版は `.profile { padding: 0 15px 15px }` と
	   `.profile-info { margin-top: 20px; align-items: center }` である（本番から
	   2026-09-03 23:2x JST に取得した `/sp/introduce/css/sp_style_experience.css` の
	   564〜575 行）。パソコン幅の 23px / 20px / 20px から左右と下が 5px 狭くなり、
	   絵と文字は縦の中央でそろう。左右が 15px になることで文字の欄も
	   `calc(100% - 100px)` = 223px（移行元と同じ）になる. */
	.pa-archive-card--experience .pa-archive-card__profile {
		align-items: center;
		padding: 20px 15px 15px;
	}

	/* 移行元のスマホ版は文字の欄の上の外余白を 0 に戻す（同 CSS の 576〜580 行の
	   `.profile-info .txt-area { margin-top: 0 }`）。パソコン幅の 3px を打ち消す. */
	.pa-archive-card--experience .pa-archive-card__profile-body {
		margin-top: 0;
	}

	/* 🚨 **携帯幅では本文と蛍光ペンの字を太字にしない（Issue #3086 の目視 ⑥）。**
	   移行元のスマホ版は共通の初期化が `p` と `strong` を含む全要素へ
	   `font-weight: normal` を当てる（本番 www.p-a.jp から 2026-09-03 23:2x JST に
	   取得した `/sp/css/basic.css` の 3〜23 行）。器（`.copy`）だけは会員の性別ごとの
	   規則で太字になるが、**中の段落と強調は初期化のほうが後に来て普通の太さに戻る**。
	   本番を同時刻に携帯の名乗り・幅 375px で取得して測った値は次のとおりだった。

	     本文の段落  移行元 400 対 dev 700
	     強調        移行元 400 対 dev 900

	   パソコン幅の移行元は逆に段落 700・強調 700 なので、**この打ち消しは携帯幅
	   だけに置く**（パソコン幅の 700 は上の節が持つ）。

	   🚨 **`<span>` は 700 のまま残す（2026-09-04 に訂正）。**移行元は初期化で全要素を
	   400 へ戻したうえで、**`<span>` だけを別の規則で太字に戻している**
	   （本番から取得した `/sp/introduce/css/sp_style_experience.css` の 686〜687 行の
	   `.stories-list .copy span { font-weight: bold }`。詳細度 (0,2,1) が初期化の
	   (0,0,1) に勝つ）。つまり移行元の携帯幅は **`strong` = 400・`span` = 700** である。
	   はじめは `:is(strong, span)` でまとめて 400 にしていたが、`span` の値が移行元と
	   食い違う。いまの投入データに `.copy` の中の `<span>` は 0 件（両側の実測で
	   当たるのは `strong` 12 件だけ）なので見た目には出ていないが、値としては誤り. */
	.pa-archive-card--experience .pa-archive-card__excerpt p,
	.pa-archive-card--experience .pa-archive-card__excerpt strong {
		font-weight: normal;
	}

	/* 移行元 .stories-list .number-list（同 CSS の 691〜696 行）. */
	.pa-archive-card--experience .pa-archive-card__numbers {
		padding: 13px 0 10px;
		font-size: 12px;
	}

	.pa-archive-card--experience .pa-archive-card__number {
		font-size: 13px;
	}

	/* 移行元 .number-list__ttl（同 CSS の 697〜701 行）は行送りを 1 にして
	   高さを字の大きさと同じ 12px にそろえる（dev は 20.8px あった）. */
	.pa-archive-card--experience .pa-archive-card__number-label {
		margin-bottom: 2px;
		font-size: 12px;
		line-height: 1;
	}

	.pa-archive-card--experience .pa-archive-card__number-cont {
		font-size: 12px;
	}

	/* ==============================================================
	 * 携帯幅のカードに残っていた差（Issue #3086・2026-09-04）
	 * ==============================================================
	 *
	 * 目視 ⑥ の続き。移行元が**明示している値**のうち、dev が共通のカード部品から
	 * 受け継いでいたものを揃える。移行元は本番 www.p-a.jp を 2026-09-03 23:18 JST に
	 * 携帯の名乗り・幅 375px で取得して測った（カード 15 枚・数値の帯 45 件とも同じ値）。
	 * 写し元は本番から同時刻に取得した `/sp/introduce/css/sp_style_experience.css`。
	 */

	/* 移行元 .profile-info__name, .profile-info__age の色 #463d3c（同 CSS の 592〜595 行）。
	   dev は器の既定の色（#474747）を受け継いでいた. */
	.pa-archive-card--experience .pa-archive-card__identity {
		color: var(--pa-palette-ink-experience);
	}

	/* 🚨 **名前と年齢の間は 5px（同 CSS の 596〜597 行の `.profile-info__name`）。**
	   移行元は名前の側に右の外余白 5px を置く形で、要素間の空白と合わせて 8.42px に
	   なる。dev は年齢の側に左の外余白 `1em`（14px）を置いていて 18.00px あった. */
	.pa-archive-card--experience .pa-archive-card__identity-group + .pa-archive-card__identity-group {
		margin-left: 0;
	}

	.pa-archive-card--experience .pa-archive-card__name {
		margin-right: 5px;
	}

	/* 移行元 .profile-info__other li の色 #463d3c（同 CSS の 608〜612 行）. */
	.pa-archive-card--experience .pa-archive-card__attribute {
		color: var(--pa-palette-ink-experience);
	}

	/* 🚨 **投稿日は「ラベル 11px・日付 13px」の二段構えである。**移行元は
	   `.stories-list .post-date { font-size: 1.1rem }`（同 CSS の 675〜681 行）で
	   ラベルを 11px にし、中の日付は携帯用の共通の初期化（`/sp/css/basic.css` の
	   全要素 13px）で 13px になる。dev はラベルの 11px を中の日付まで受け継がせて
	   いた（幅 64.47px 対 60.05px）。

	   字間も移行元には無い。dev は `letter-spacing: 0.05em` を持っており、
	   10 字の日付で 5.50px 広がっていた. */
	.pa-archive-card--experience .pa-archive-card__meta {
		letter-spacing: normal;
	}

	.pa-archive-card--experience .pa-archive-card__meta time {
		font-size: 13px;
	}

	/* 🚨 **数値の帯は「見出しと数字だけ 700・他は 400」である。**移行元は
	   `.number-list`（同 CSS の 689〜696 行）と `.number-list__ttl`（697〜701 行）と
	   `.lg`（714〜716 行）に太字を書き、**項目・数値の器・単位には書いていない**。
	   携帯用の共通の初期化が全要素を 400 へ戻すので、書いていない 3 か所は 400 に
	   なる（実測でも移行元 400 対 dev 700）。見出しと数字は移行元も 700 なので触らない。

	   🚨 単位を包む目印（`__number-unit`）は Issue #3513 の項目 3 で外した。単位は
	   素の文字になったので、**器（`__number-cont`）の 400 をそのまま受け継ぐ**。
	   この並びから目印を 1 つ削っても、単位の太さは変わらない. */
	.pa-archive-card--experience .pa-archive-card__number,
	.pa-archive-card--experience .pa-archive-card__number-cont {
		font-weight: normal;
	}

	/* 移行元 .number-list .list_item（同 CSS の 702〜705 行）は左右の内余白を持たない。
	   dev の 4px で見出しの使える幅が 117px から 109px へ狭くなっていた。

	   🚨 パソコン幅の側も Issue #3513 の項目 2 で内余白を外したので、この 1 行はいま
	   同じ値の重ね書きである。**携帯幅を 2026-09-04 に測って直した記録として残す**
	   （値が同じなので重ねても動かない）. */
	.pa-archive-card--experience .pa-archive-card__number {
		padding-inline: 0;
	}

	/* 🚨 移行元は数字と単位のあいだに間を置かない（実測で器の幅 42.95px = 数字 30.95px +
	   単位 12.00px）。dev の `margin-left: 2px` は、Issue #3513 の項目 3 で**単位の包み
	   そのものを外した**ことで両方の幅から消えたので、ここでの打ち消しは要らなくなった. */

	/* 🚨 **数値の 3 つの絵は携帯幅で半分の大きさになる（同 CSS の 717〜737 行）。**
	   移行元は幅と高さを `calc(23px / 2)` のように半分で書き、左への逃がしも
	   15 / 14 / 14px にする。**dev は携帯幅でもパソコン幅の値（23×19 / 22×17 /
	   21×21px・逃がし 30 / 27 / 28px）のままで、絵が 2 倍の大きさだった**。

	   🚨 採取の道具は擬似要素の背景画像を読まないので、この 3 件は**移行元の CSS の
	   宣言による判定**である（実測では確かめていない。memory
	   reference_legacy_php_run_dont_read_and_generated_css_override の注意点）. */
	.pa-archive-card--experience .pa-archive-card__number--number .pa-archive-card__number-cont {
		margin-left: 15px;
	}

	.pa-archive-card--experience .pa-archive-card__number--number .pa-archive-card__number-cont::before {
		left: -15px;
		width: calc(23px / 2);
		height: calc(19px / 2);
	}

	.pa-archive-card--experience .pa-archive-card__number--contact .pa-archive-card__number-cont {
		margin-left: 14px;
	}

	.pa-archive-card--experience .pa-archive-card__number--contact .pa-archive-card__number-cont::before {
		left: -14px;
		width: calc(22px / 2);
		height: calc(17px / 2);
	}

	.pa-archive-card--experience .pa-archive-card__number--period .pa-archive-card__number-cont {
		margin-left: 14px;
	}

	.pa-archive-card--experience .pa-archive-card__number--period .pa-archive-card__number-cont::before {
		left: -14px;
		width: calc(21px / 2);
		height: calc(21px / 2);
	}

	/* ワード解説の一覧の導入の帯を、移行元のスマートフォン用の絵へ差し替える
	   （Issue #1657）。移行元はスマートフォンを別のミラー（/sp/word/）で
	   作っており、囲みのクラス名（.main_read_box）も絵（sp/word/images/
	   bg_read.jpg・640x220）も広い画面用とは別である。絵は写真なので、この
	   1 枚だけテーマへ持ち込み、置き場は移行元のドキュメントルート相対の
	   パスをそのまま写して assets/sp/word/images/ に置いた（Issue #1620 で
	   決めた規則）。

	   写し元: legacy/www.p-a.jp/public/sp/word/css/style.css の 13〜20 行
	   （#story .main_read_box）。background-size: 100% / color: #ffffff /
	   padding: 4% 0 5% である。文字の色は広い画面用の指定が既に白なので、
	   ここでは書かない。

	   高さの 220px は外す。移行元のスマートフォン版は上下の内余白を割合で
	   決めており、高さを固定していないためである。高さを残すと、絵を幅に
	   合わせて縮めたときに箱だけが 220px のまま余る。

	   選択子は広い画面用と同じ書き方にする。#story を :where() で包むと id の
	   重みが乗らないので、詳細度が (0,2,0) どうしで並び、あとに書いた
	   こちらが勝つ. */
	:is(.entry-content, .page-content__body) :where(#story) .main_box {
		height: auto;
		padding: 4% 0 5%;
		background-image: url("../sp/word/images/bg_read.jpg?ver=dc0ab6a1f043");
		background-size: 100%;
	}

	/* 誘導のボタンの文字は、狭い画面では 13px である（Issue #1657）。移行元の
	   スマートフォン側 legacy/www.p-a.jp/public/sp/word/css/style.css の 561 行から
	   の .txtBtn a は font-size を持たず、土台の sp/css/basic.css が 3〜23 行で
	   a を含む全要素へ font-size: 13px を直接当てているためである（継承ではなく
	   要素そのものへの指定なので、囲みの文字の大きさに関わらず 13px になる）。
	   広い画面用の 20px をそのまま当てると、狭い画面で移行元の 1.54 倍になり、
	   長い誘導文が移行元の 2 行から 3 行へ増える。
	   共通トークンを使わず実値で書くのは、トークンがデザインの系統によって
	   13px と 15px に分かれており、移行元の実効値と必ずしも一致しないためである. */
	:is(.entry-content, .page-content__body) :is(.txtBtn, .txtBtn_black01) a {
		font-size: 13px;
	}
}

/* ==============================================================
 * 18. サイトマップページ（/sitemap/）の体裁（Task #1704）
 *
 * 移行元 https://www.p-a.jp/sitemap/ の見た目を写す。写し元は
 * legacy/www.p-a.jp/public/css/page_sitemap.css（全 44 行）と、狭い画面向けの
 * ミラー legacy/www.p-a.jp/public/sp/css/style.css の #sitemap 一式である。
 * 値は 2026-08-08 に稼働中の移行元を実際にブラウザで開き、適用中の規則と
 * 箱の寸法を採って確かめた（パソコン幅 1440px / 携帯幅 390px）。
 *
 * 移行元との違いが 3 つある。いずれも意図したものである。
 *
 *   1. ページの見出し「サイトマップ」を、移行元の画像（images/sitemap/title.gif、
 *      197x74px）ではなく文字で描く（2026-08-08 のユーザー裁定）。画像の中の
 *      文字は明朝で、画素を数えると字面が 32x193px、その 41px 下に赤い横線
 *      （36x2px・#f10000）が入っている。文字の大きさは 34px にした。稼働中の
 *      移行元と、この CSS を当てた画面を同じ条件で撮って字面を数えると、
 *      高さは 30px 対 29px（1px 差）、幅は 193px 対 209px（16px 差）である。
 *      画像の書体は明朝の中でも字面が縦長で、閲覧環境にある游明朝・ヒラギノ
 *      明朝より横幅が狭い。高さと幅の両方は合わせられないので、見た目の
 *      大きさを決める高さの側を合わせた。
 *   2. 節の見出しの左に付く赤い縦棒と、狭い画面で項目の右に付く矢印は、移行元は
 *      画像（images/sitemap/icon_copy.gif の 8x29px、sp/images/sitemap/arrow.gif
 *      の 9x14px）である。ここでは同じ形を CSS で描く。画像を 2 つ増やさずに
 *      済み、拡大表示でも輪郭がぼやけないためである。赤い縦棒は画像の画素を
 *      読み取ったとおり「幅 4px の棒・間 2px・幅 2px の棒」で、色は #f10000
 *      である。
 *   3. 文字色は移行元が黒（#000）だが、ここではテーマ共通の文字色
 *      （--pa-color-text の #474747）のままにする。この色は全ページ共通の
 *      決めごとで、このページだけ変えると他の下層ページと食い違うためである。
 *
 * 罫線の #ccc と赤の #f10000 は、テーマのトークンに同じ値が無い。移行元の値を
 * そのまま書く（店舗一覧の --pa-branch-hairline と同じ扱い）。
 * -------------------------------------------------------------- */

/* --- ページの見出し「サイトマップ」 --- */

/* 移行元は #sitemap の上内余白 65px の直後に見出しの画像を置き、画像の下端
   （＝赤い横線の下端）から 6px 空けて最初の節が始まる。dev もこの位置に
   揃える。内余白 63px ＋ 字面が行の箱の上端から 2px 下がる分で、字面の上端が
   移行元と同じ 65px になる. */
.page-content--sitemap .page-content__header {
	margin-bottom: 6px;
	padding-top: 63px;
	text-align: center;
}

.page-content--sitemap .page-content__title {
	position: relative;
	padding-bottom: 42px;
	font-size: 34px;
	letter-spacing: 0.05em;
	line-height: 1;
}

/* 見出しの下の赤い短い横線。移行元は見出しの画像の中に描かれている
   （画像の上端から 72px の位置に 36x2px・#f10000）. */
.page-content--sitemap .page-content__title::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 36px;
	height: 2px;
	margin: 0 auto;
	background-color: #f10000;
	content: "";
}

/* --- 節の見出し --- */

/* 写し元は page_sitemap.css の h4.title（10〜19 行）。
   28px・行の高さ 100%・字間 0.05em・太さ 600・明朝・左寄せ、左内余白 18px、
   下外余白 30px である. */
.page-content--sitemap .sitemap__section {
	margin: 0 0 60px;
}

.page-content--sitemap .sitemap__heading {
	position: relative;
	margin: 0 0 30px;
	padding-left: 18px;
	font-family: var(--pa-font-family-serif);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1;
}

/* 見出しの左の赤い縦棒。移行元の画像 icon_copy.gif（8x29px）と同じく、
   幅 4px の棒・間 2px・幅 2px の棒を並べる。
   移行元は画像を背景に敷いており、背景は見出しの箱（高さ 28px）で切り取られる。
   画像の方が 1px 高いため、画面に出るのは 28px 分である（稼働中の移行元を
   撮って数えても 8x28px だった）。棒は縦に一様なので、箱の高さいっぱいに
   伸ばせば同じ見た目になる. */
.page-content--sitemap .sitemap__heading::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 8px;
	background-image: linear-gradient(to right, #f10000 0 4px, transparent 4px 6px, #f10000 6px 8px);
	content: "";
}

/* --- 項目（左右 2 列組み） --- */

/* 写し元は page_sitemap.css の #sitemap section ul li a（30〜41 行）。移行元は
   幅 524px の箱を左へ回り込ませ、右へ 52px 空け、2 つ目の箱だけ右の余白を
   0 にして 2 列を作っている。ここでは同じ寸法になる 2 列の格子で組む。
   1,100px の柱で 524 + 52 + 524 = 1,100 と一致する。並ぶ順（左→右→次の行）も
   回り込みと同じである. */
.page-content--sitemap .sitemap__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 52px;
}

.page-content--sitemap .sitemap__list li {
	margin: 0;
}

/* 項目の見た目。15px・太さ 600・下線なし・下内余白 10px・薄い罫線・
   下外余白 20px。行の高さは移行元と同じ normal に戻す（テーマは本文へ
   19.5px を敷いており、そのままだと箱が 34px より低くなる）. */
.page-content--sitemap .sitemap__item a {
	display: block;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
	font-size: 15px;
	font-weight: 600;
	line-height: normal;
	text-decoration: none;
}

.page-content--sitemap .sitemap__item a:hover,
.page-content--sitemap .sitemap__item a:focus {
	text-decoration: underline;
}

/* --- 狭い画面（移行元のミラー /sp/sitemap/ に合わせる） --- */

@media (max-width: 749px) {
	/* ミラーの見出しは画像 main_ttl.gif（247x89px）を、器の幅の 51.687% へ
	   縮めて中央に置く。幅 390px の携帯で実測すると、字面の高さ 28.6px・
	   赤い横線 28.6x1.4px・字面の下端から横線の上端まで 29.3px だった。
	   文字の大きさはパソコン幅と同じ 34px で字面の高さが 29px になり、ミラーと
	   ほぼ一致する。位置だけをミラーへ合わせる。
	   ミラーは器の上内余白 25px の直後に見出しを置き、見出しの下に 40px
	   空けて最初の節が始まる（sp/css/style.css の #sitemap と .category_ttl）. */
	.page-content--sitemap .page-content__header {
		margin-bottom: 40px;
		padding-top: 27px;
	}

	.page-content--sitemap .page-content__title {
		padding-bottom: 28px;
	}

	.page-content--sitemap .page-content__title::after {
		width: 29px;
	}

	/* ミラーの節の見出しは、赤い縦棒を上端へ寄せ、見出しの下に薄い罫線を引く。
	   下外余白は 0 で、罫線のすぐ下から項目が始まる
	   （sp/css/style.css の #sitemap h3.title）. */
	.page-content--sitemap .sitemap__heading {
		margin-bottom: 0;
		padding-bottom: 14px;
		border-bottom: 1px solid #ccc;
	}

	/* ミラーの見出しの箱は 43px（文字 28px ＋ 下内余白 14px ＋ 罫線 1px）で、
	   赤い縦棒の画像（29px）より高い。切り取られないので、棒は上端から 29px
	   だけ伸ばす（パソコン幅のように箱いっぱいには伸ばさない）. */
	.page-content--sitemap .sitemap__heading::before {
		bottom: auto;
		height: 29px;
	}

	/* ミラーの項目は 1 列で、上下の内余白が器の幅の 6%、下に薄い罫線、
	   太字にしない（sp/css/style.css の #sitemap section ul li a）. */
	.page-content--sitemap .sitemap__list {
		display: block;
	}

	.page-content--sitemap .sitemap__item a {
		position: relative;
		margin-bottom: 0;
		padding: 6% 0;
		font-size: var(--pa-font-size-base);
		font-weight: normal;
	}

	/* 項目の右端の矢印。移行元は画像 arrow.gif（9x14px の「＞」）を右端の
	   上下中央に敷いている。同じ形を 2 本の線で描く。10px の正方形を 45 度
	   回すと、線の作る「＞」の高さが 10 x √2 ＝ 約 14px になり、移行元と揃う
	   （このテーマは box-sizing: border-box なので、10px は線を含む外形）. */
	.page-content--sitemap .sitemap__item a::after {
		position: absolute;
		top: 50%;
		right: 2px;
		width: 10px;
		height: 10px;
		border-top: 2px solid currentcolor;
		border-right: 2px solid currentcolor;
		margin-top: -5px;
		transform: rotate(45deg);
		content: "";
	}
}

/* --------------------------------------------------------------
 * 成婚 MOVIE 一覧の SP 専用コメント 6 本（Bug #2009）
 * 写し元: 移行元携帯版 https://www.p-a.jp/sp/introduce/movie/
 *
 * 移行元の携帯版だけが持つ 3 組のご夫婦の紹介コメント（実コンテンツ）を、
 * `inc/movie-sp-comments.php` が the_content フィルタで本文へ差し込む。移行元 PC 版に
 * このコメントは無いため、PC 幅の表示は移行元 PC のまま変えない（既定で非表示）。
 * 携帯幅（max-width: 749px）でだけ表示に切り替える。
 * -------------------------------------------------------------- */
.pa-movie-sp-comments {
	display: none;
}

@media (max-width: 749px) {
	.pa-movie-sp-comments {
		display: block;
		margin-top: 20px;
	}

	.pa-movie-sp-comments .message {
		margin-bottom: 20px;
	}

	.pa-movie-sp-comments .message:last-child {
		margin-bottom: 0;
	}

	.pa-movie-sp-comments .message dl {
		margin-bottom: 10px;
	}

	.pa-movie-sp-comments .message dl:last-child {
		margin-bottom: 0;
	}

	/* コメントと名乗りの字組みを移行元携帯版へそろえる（Bug #4755）。

	   実測（幅 375px・移行元は手元の写しを PHP で配って測った・2026-09-08）:

	     当たり先        移行元                        直す前の dev
	     コメント        20px / 行送り 30px / 左寄せ / 太さ 600   13px / normal / 中央寄せ / 400
	     名乗り          20px / 行送り 30px / 右寄せ / 太さ 600   13px / normal / 右寄せ / 700
	     名乗りの「さん」 15px / 行送り 30px / 太さ 400            13px / normal / 太さ 700

	   コメント 1 本の高さが移行元 120px に対し 40px で、6 本ぶんで 480px 縮んでいた。

	   🚨 **左端はそろえない（ユーザー決定 2026-09-08 13:0x・確認事項 12 の回答 B）。**
	   移行元の左端 89.66px は、コメントごとの丸い写真（50.36 × 50.36・親の `dt` が
	   `float: left`）をよけた位置である。**dev にその写真は無い**（写真は「中身」なので
	   決定 B では dev のまま）。左端を寄せると写真の無い空白ができるため、
	   `13px` のままにする。**したがって箱の幅が違うので、折り返しの数と高さは
	   移行元と一致しない。**そろえるのは字組みの 4 つだけである。

	   🚨 **コメントの規則から名乗りを除く理由。**名乗りにも `.serif` が付いており、
	   除かないと字揃えが左へ倒れる。除外を使うと規則の全宣言に掛かるので、名乗りは
	   すぐ下の専用の規則で受け持つ（`:not()` の除外は狭く取る）。 */
	.pa-movie-sp-comments .message p.serif:not(.name) {
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		text-align: left;
	}

	/* 名前の色は移行元スマホ版が金（`rgb(163, 118, 43)` = `#a3762b`）で、dev は黒だった
	   （Bug #4788。6 件すべて同じ値・7 班の第三者測定を 5 班が実測で裏取り）。
	   テーマの旧デザインの金と同じ値なので、変数で当てる。
	   **後ろに付く「さん」の `span` は親の色を受け継ぐ**ので、専用の指定は要らない. */
	.pa-movie-sp-comments .message p.name {
		color: var(--pa-palette-gold);
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		text-align: right;
	}

	/* 名乗りの後ろに付く「さん」だけは、移行元では小さく細い（15px・太さ 400）. */
	.pa-movie-sp-comments .message p.name span {
		font-size: 15px;
		font-weight: normal;
	}
}

/* ==================================================================
 * S3 レーン・Task #1946
 * 改装版の店舗詳細の「お客様の声」の区画を移行元へ揃える
 * ==================================================================
 * 出どころは移行元 style_renew.css の 1206〜1414 行（パソコン版）と、
 * sp/branch/css/style_renew.css の 971〜1169 行（携帯版）である。
 * この区画は改装版 5 ページのうち仙台店を除く 4 ページ（広島・札幌・
 * 高崎・福岡）にだけ在る。voice-list / voice-main-area などの区画の
 * クラスは、dev の店舗系ページの棚卸し（Feature #1794 のコメント）で
 * 旧デザイン 27 ページと新デザイン 4 店舗には 0 件だった。それでも
 * 節の取り決めどおり .pa-profile-legacy-compat を前置して二重に防ぐ。
 * サイト全体の「お客様の声」の一覧（/introduce/voice/）は .voice_list
 * （アンダースコア）で別のクラスであり、ここへは当たらない。
 *
 * ------------------------------------------------------------------
 * 画像 5 枚の置き場（assets/README.md の規則）
 * ------------------------------------------------------------------
 *   voice_bg.png / icon_star.png / sapporo_voice_icon03.png
 *     … テーマの assets/branch/images/ に在る（移行元とバイト一致）。
 *       main.css からの相対（../branch/images/）で指す
 *   voice_icon01.png / voice_icon02.png
 *     … メディア側に在る（/wp-content/uploads/pa-cms/ 配下が 200）。
 *       README の二重置き禁止に従い、メディアのパスで指す
 * sapporo_ の名が付く吹き出しの顔絵は、移行元 CSS が 4 ページ共通で
 * この 1 枚を使っている（店舗ごとの差し替えは無い）。
 *
 * ------------------------------------------------------------------
 * 写さない値と、テーマ既定の打ち消し
 * ------------------------------------------------------------------
 *   .voice の margin-top: -80px と透明な上の罫線 … Task #1798 が
 *     節の余白の組としてまとめて持っている（このファイルの上の方）。
 *     ここでは繰り返さない
 *   display: block / width: 100%（移行元 1208・1210 行）… section は
 *     既に block で、幅は下の 100vw で置き換わる
 *   見出し h2（.content-headline）の字の大きさ・太さ … テーマが明朝体の
 *     見出しとして選んだ値を保つ（Task #1798 の「写さなかったもの」の記録）
 *   -webkit-box / -ms-flexbox の旧接頭辞 … display: flex だけを書く
 * テーマの本文既定の打ち消しは次のとおり（「お知らせ」の帯の h3/h4 と
 * 同じ扱い）。
 *   ul（.voice-list）… 左の内余白と点の印を消す
 *   li / p / h3 / h4 … 上下の外余白を 0 へ戻す
 *   h3 / h4 … 左の縦罫線・左の内余白・金茶・字間 0.05em を打ち消す
 *
 * ------------------------------------------------------------------
 * 文字の基準サイズ
 * ------------------------------------------------------------------
 * テーマは店舗ページの本文を 16px にしている（Task #1549。旧デザインの
 * .page-branch の 16px に合わせた値）。しかし改装版の移行元はこの区画の
 * 文字を共通の土台（css/common.css）の 13px のまま使っており、白い札の
 * 中の属性行（.status-base / .valuation）と吹き出しの見出し（h4）は
 * 13px で出る。区画の中だけ基準を 13px へ戻す。
 * ================================================================== */

/* 区画の帯（移行元 1206 行）。背景写真を敷き、画面の幅いっぱいに広げる。
   広げ方はテーマにある 3 つ組（「Close up!」の灰色の帯・「お知らせ」の帯と
   同じ書き方）である。文字の基準サイズは 13px へ戻すが、行の高さはテーマの
   本文既定（PC 19.5px）を継いだままだと移行元の normal（属性行は携帯幅で
   +6.8px 高くなる）とずれるため、ここで normal に戻す（レビュー指摘）。 */
.pa-profile-legacy-compat .pa-branch__content .content.voice {
	background-image: url("../branch/images/voice_bg.png?ver=6b88fbe42a6d");
	background-repeat: no-repeat;
	background-size: cover;
	font-size: 13px;
	line-height: normal;
}

/* 帯を広げると祖先の切り落としが左右を削るので、この帯を持つページだけ外す。
   横方向のはみ出しを抑える役目は、すぐ下の body 側の overflow-x: clip が
   引き継ぐ。 */
.pa-profile-legacy-compat .pa-branch__content .page-branch:has(.content.voice) {
	overflow-x: visible;
}

body.pa-profile-legacy-compat:has(.pa-branch__content .content.voice) {
	overflow-x: clip;
}

/* 中の器（移行元 1217 行）。帯を器の外へ出したぶん、器の幅は元へ戻す。
   パソコン幅 1,100px・携帯幅は左右 20px ずつの余白。min() の書き方と値は
   「Close up!」と「お知らせ」の札と同じである。 */
.pa-profile-legacy-compat .pa-branch__content .content.voice .content-wrap {
	width: min(1100px, 100% - 40px);
	margin-inline: auto;
	padding: 70px 0 40px;
}

/* 白い札の一覧（移行元 1222 行）。左へ 40px はみ出させ、札側の左余白と
   打ち消し合わせて 2 列を器の幅に収める移行元の組み方をそのまま写す。 */
.pa-profile-legacy-compat .pa-branch__content .voice-list {
	margin: 0 0 0 -40px;
	padding: 26px 0 0;
	overflow: hidden;
	list-style: none;
}

/* line-height: normal はテーマの .page-content__body li { line-height: var(...) }
   が li 要素に直接効かせる値を打ち消すために足す（section 側の .content.voice の
   line-height は継承されず、li 直指定のテーマ規則の方が勝つ・レビュー指摘）。 */
.pa-profile-legacy-compat .pa-branch__content .voice-list li {
	float: left;
	width: 530px;
	margin: 0 0 40px 40px;
	background: #fff;
	line-height: normal;
}

/* 札の見出しの帯（移行元 1235 行）。青地に白文字。途中退会の札（.midstream）
   だけ下の規則で淡緑になる。 */
.pa-profile-legacy-compat .pa-branch__content .voice-list li h3 {
	position: relative;
	margin: 0;
	padding: 17px 0;
	border-left: 0;
	background: #486d94;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: normal;
	line-height: normal;
	text-align: center;
}

/* 見出しの帯の左に置く男女の顔絵（移行元 1245 行）。 */
.pa-profile-legacy-compat .pa-branch__content .voice-list li h3::before {
	position: absolute;
	content: "";
	display: block;
	left: 25px;
	top: 10px;
	width: 36px;
	height: 36px;
}

.pa-profile-legacy-compat .pa-branch__content .voice-list li h3.man::before {
	background: url("/wp-content/uploads/pa-cms/branch/images/voice_icon02.png") no-repeat 0 0;
	background-size: cover;
}

.pa-profile-legacy-compat .pa-branch__content .voice-list li h3.woman::before {
	background: url("/wp-content/uploads/pa-cms/branch/images/voice_icon01.png") no-repeat 0 0;
	background-size: cover;
}

.pa-profile-legacy-compat .pa-branch__content .voice-list li .midstream {
	background-color: #8e8e62;
}

/* 札の中身（移行元 1268 行）。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area {
	padding: 23px 24px 32px;
}

/* テーマの本文既定が p に足す下の外余白を 0 へ戻す（移行元の共通 reset 相当）。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area p {
	margin: 0;
}

/* 属性行（移行元 1272 行）。左に年齢・活動期間、右に満足度の星。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area {
	overflow: hidden;
}

/* line-height: normal はテーマの素の `p { line-height: var(--pa-line-height-text) }`
   が p 要素（.status-base 自体が p タグ）に直接効かせる値を打ち消すために足す
   （li・h4 と同じ理由。この 1 行が無いと属性行が 1.8 倍角の行間で 2 行に折り返し、
   高さが SP 375 で 40px の想定に対し 46.78px に膨らむ・レビュー指摘）。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .status-base {
	float: left;
	font-weight: bold;
	line-height: normal;
}

/* line-height: normal は .status-base と同じ理由（.valuation も p タグ）。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .valuation {
	float: right;
	line-height: normal;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .valuation .star {
	position: relative;
	font-weight: bold;
}

/* 満足度の星（移行元 1290 行）。5 つ星の絵を敷き、4 つ星・3 つ星は
   絵の位置をずらして欠けさせる。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .valuation .star::after {
	position: static;
	content: "";
	display: inline-block;
	width: 70px;
	height: 12px;
	background: url("../branch/images/icon_star.png?ver=d04bdbe1332d") no-repeat 0 0;
	background-size: cover;
	overflow: hidden;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .valuation .star.four::after {
	background-position: -14px 0;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .valuation .star.three::after {
	background-position: -28px 0;
}

/* 本文（移行元 1310 行）。高さを 6.3em に固定して札の高さを揃える移行元の
   組み方をそのまま写す。この .txt は白い札の本文だけでなく、下のコンシェルジュの
   吹き出し（.comment-area .txt / .comment-area2 .txt）にも同じ子孫セレクタで
   当たる（移行元 CSS も同じ構造・Codex 指摘）。移行元は box-sizing が既定
   （content-box）で 6.3em は中身だけの高さだが、このテーマは box-sizing:
   border-box を全体に効かせているため、そのまま写すと同じ 6.3em が内側の
   padding 分だけ狭い箱になり、実データ（4 店舗・吹き出し計 18 件、100〜124 文字）
   で 12px 分あふれることを実測で確認した（移行元本番は同じ実データで 0px、
   あふれる札は無い）。この 1 行は移行元の箱の広さを取り戻すための技術対応
   であり、移行元 CSS 自体には無い値である。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .txt {
	margin-top: 16px;
	box-sizing: content-box;
	height: 6.3em;
	font-size: 14px;
	line-height: 1.6;
}

/* 札幌店だけに在る、白い札の本文の区切り線と下余白（Bug #2046）。

   移行元は札幌店のページの HTML に直接この指定を書いている。

     <p class="txt" style="border-bottom:1px solid #E0E0E0;padding-bottom:35px;">

   同じ改装版でも広島・高崎・福岡には付いていない（移行元の店舗系 148 ページを
   全数検索し、この指定を持つのは札幌店の 1 ページと、その控え 2 ファイルだけで
   あることを確認した）。したがって改装版の全ページへ当てると、移行元に無い線を
   3 店舗へ足すことになる。ページ 1 枚に絞るため、single-branch.php が投稿名から
   付ける目印（.pa-branch--<投稿名>）で前置きする。

   取り込みは style 属性を落とす決まりなので（scripts/pa-cms/sanitize-allowlist.json
   の注記「移行元のインラインスタイルはテーマ側の CSS で再現する」）、ここで写す。
   投入し直しは要らない。

   当てる相手を「> .txt」に限るのは、下のコンシェルジュの吹き出し
   （.comment-area .txt）に同じ子孫セレクタで当たってしまうのを避けるためである。
   移行元も白い札の本文 6 件だけに書いている。

   上の .txt が height: 6.3em を content-box で固定しているため、35px の下余白は
   箱の外へ足される。移行元の実測は 124px（本文 88.1875px + 下余白 35px + 線 1px）で、
   この規則を当てた dev も同じ 124px になる. */
.pa-branch--branch-hokkaido-sapporo .pa-branch__content .voice-main-area > .txt {
	padding-bottom: 35px;
	border-bottom: 1px solid #e0e0e0;
}

/* コンシェルジュの一言（移行元 1317 行）。左下に顔絵を敷き、吹き出しを
   右へ寄せる。顔絵は移行元 CSS が 4 ページ共通で同じ 1 枚を使う。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area {
	margin-top: 23px;
	background: url("../branch/images/sapporo_voice_icon03.png?ver=364c83a9e4a5") no-repeat 1px 34px;
	background-size: 40px 40px;
}

/* line-height: normal はテーマの :is(h2, h3, h4, h5, h6) { line-height: var(...) }
   が h4 要素に直接効かせる値を打ち消すために足す（li と同じ理由・レビュー指摘）。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area h4 {
	position: relative;
	margin: 0;
	padding-left: 0;
	border-left: 0;
	color: #8e8e62;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: normal;
	line-height: normal;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area h4::after {
	position: absolute;
	content: "";
	display: block;
	right: 0;
	top: 9px;
	width: 385px;
	height: 1px;
	background: #e0e0e0;
}

/* 吹き出し（移行元 1341 行）。淡緑の角丸に、左向きの三角を付ける。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area .txt {
	position: relative;
	margin-left: 55px;
	background: #f0f0e9;
	border-radius: 10px;
	padding: 6px 16px 14px;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area .txt::before {
	position: absolute;
	top: 20px;
	left: -12px;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 12px 12px 0;
	border-color: transparent #f0f0e9 transparent transparent;
}

/* 顔絵を本文の <img> で持つ型（移行元 1363 行）。背景の顔絵を消し、
   絵と吹き出しを横並びにする。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 {
	background: none;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 h4 {
	margin-bottom: 15px;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 h4 span {
	position: relative;
	z-index: 1;
	padding-right: 1.5em;
	background: #fff;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 h4::after {
	width: 100%;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .wrapper {
	position: relative;
	display: flex;
}

/* flex-shrink: 0 は移行元 CSS に無い値である。実測で見つけた差分の是正。
   顔絵と本文は長い体験談の文字数によって合計の望ましい幅が器を超える組が
   あり、その場合 flex の既定（縮小可）のままでは顔絵側まで一緒に縮んで
   ほぼ潰れる（実測で 40px → 12px 程度まで縮む）。移行元の実機（この区画は
   移行元の別の CSS が同じ縮小条件を避けている作り）は顔絵の幅を保ったまま
   出しており、ここで揃えるにはこの 1 行が要る。 */
.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .img {
	position: relative;
	flex-shrink: 0;
	padding-right: 15px;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .img::after {
	position: absolute;
	content: "";
	top: 20px;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 12px 12px 0;
	border-color: transparent #f0f0e9 transparent transparent;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .img img {
	width: 40px;
	height: auto;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .txt {
	margin-left: 0;
	margin-top: 0;
	padding: 10px 16px;
}

.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .txt::before {
	content: none;
}

@media (max-width: 749px) {

	/* 器の上下の内余白は携帯版の値へ（移行元 sp 版 980 行）。 */
	.pa-profile-legacy-compat .pa-branch__content .content.voice .content-wrap {
		padding: 50px 0 30px;
	}

	/* 携帯幅は 1 列。左へのはみ出しと回り込みを戻す（移行元 sp 版 984 行）。 */
	.pa-profile-legacy-compat .pa-branch__content .voice-list {
		margin-left: 0;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-list li {
		float: none;
		width: auto;
		margin: 0 0 20px;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-list li h3 {
		padding: 11px 0;
	}

	/* 顔絵は 30px に縮む（移行元 sp 版 1002 行）。携帯版の CSS も画像は
	   パソコン版と同じ /branch/images/ を指す（assets/README.md の注意）。 */
	.pa-profile-legacy-compat .pa-branch__content .voice-list li h3::before {
		left: 20px;
		top: 8px;
		width: 30px;
		height: 30px;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-list li h3.man::before {
		background: url("/wp-content/uploads/pa-cms/branch/images/voice_icon02.png") no-repeat 0 0;
		background-size: 30px auto;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-list li h3.woman::before {
		background: url("/wp-content/uploads/pa-cms/branch/images/voice_icon01.png") no-repeat 0 0;
		background-size: 30px auto;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area {
		padding: 20px;
	}

	/* 属性行は縦に積む（移行元 sp 版 1029 行）。太字は行の側（.valuation）へ
	   移り、星の入れ物は素の太さへ戻る（星は絵なので見た目には出ないが、
	   計算値を移行元と揃える）。 */
	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .status-base {
		float: none;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .valuation {
		float: none;
		font-weight: bold;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .status-area .valuation .star {
		font-weight: normal;
	}

	/* 本文の高さの固定は外れる（移行元 sp 版 1062 行に height が無い）。 */
	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .txt {
		margin-top: 10px;
		height: auto;
	}

	/* 札幌店の区切り線は、携帯版だけ下余白が 10px 狭い（Bug #2046）。移行元は
	   パソコン版が 35px、携帯版（/sp/branch/hokkaido/sapporo.html）が 25px を
	   HTML に直接書いている。

	   携帯版のページは携帯の利用者にだけ配られる。パソコンの名乗り（User-Agent）で
	   同じ URL を開くと 302 でパソコン版へ戻されるため、**携帯の名乗りで開かないと
	   存在しないように見える**。実測では、携帯の名乗りで 200 が返り、
	   padding-bottom:25px 付きの本文が 4 件ある。

	   375px の実測: 移行元は本文 138px（中身 112px + 下余白 25px + 線 1px）。
	   ここで 35px のままにすると 148px になり、10px 高くなる. */
	.pa-branch--branch-hokkaido-sapporo .pa-branch__content .voice-main-area > .txt {
		padding-bottom: 25px;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area h4 {
		font-size: 12px;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area h4::after {
		width: calc(100% - 8em);
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area .txt {
		padding: 8px 12px;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .img {
		flex-basis: 56px;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .img img {
		max-width: none;
	}

	.pa-profile-legacy-compat .pa-branch__content .voice-main-area .comment-area.comment-area2 .txt {
		flex-shrink: 3;
		padding: 10px 16px;
	}
}

/* ==============================================================
 * S2: 店舗系ページの Facebook の埋め込み（Bug #2006・Bug #10057）
 *
 * 移行元は Facebook の SDK（connect.facebook.net の sdk.js）が .fb-page を
 * 書き換え、予備表示（埋め込みが動かないときに出るリンク）を消す。差し込まれる
 * iframe は 0×0 で、画面には何も出ない（2026-10-09 の実測・
 * pa-verify-assets/A/d865-Facebookの埋め込み-1009/）。dev も SDK を配るが
 * （inc/story-social-widgets.php・Bug #4796）、SDK が動かないと予備表示が残り、
 * 灰色の箱（.entry-content blockquote の装飾）にリンクが見えてしまう.
 *
 * 1. 改装版の店舗詳細の「What’s New」の区画（.facebook-area）の .fb-page は、
 *    見えない空の箱にする（Bug #10057）。移行元は、書き換わった .fb-page が
 *    1 行の行の箱を作り、区画がパソコン幅 30px・携帯幅 20px の高さを持つ
 *    （移行元に .facebook-area と .fb-page を当たり先にした CSS は無い）。
 *    SDK が動いても動かなくても高さが同じになるよう、高さを決めて中身を隠す。
 *    visibility: hidden なので、予備表示のリンクは見えず、Tab でも止まらない.
 * 2. それ以外の店舗系の .fb-page は、今までどおり出さない（Bug #2006）.
 *
 * 数え（2026-10-10）: 移行元（移行元リポジトリ mationinc/www.p-a.jp の
 * コミット 8b8c142bc）で、注釈の外に .facebook-area を持つのは仙台店だけ
 * （パソコン版と携帯版の 2 本）。ほかの店舗は .fb-page を注釈の中に残すだけで、
 * 大阪店と新宿店の試験ページは移行元から消えている（同じリポジトリの 2d84b43ee）。
 * dev で本文に fb-page を持つ公開中の店舗は仙台店の 1 件だけで、試験ページ 2 件は
 * ゴミ箱にある（pa-verify-assets/A/10057-fb-pageの数え-1010/）.
 * ============================================================== */

.single-content--branch .fb-page {
	display: none;
}

.single-content--branch .facebook-area .fb-page {
	display: block;
	height: 30px;
	overflow: hidden;
	visibility: hidden;
}

@media (max-width: 749px) {
	.single-content--branch .facebook-area .fb-page {
		height: 20px;
	}
}

/* ==============================================================
 * S1 #1991 #1992: 店舗詳細とデートスポットの本文の器の幅
 *
 * ここで使う 2 つの修飾クラス（single-content--branch-store と
 * single-content--branch-spot）は single-branch.php が投稿名から付ける。
 * 店舗詳細 = 「branch-地域-店舗」の 3 節、デートスポット = 店舗系でない投稿。
 * 都道府県別・地域の一覧と地図ページはどちらの印も付かない。
 *
 * 🚨 **一覧の携帯幅は body.pa-branch-area-list で別に当てている（Bug #5915）。**
 * ここにはもと「一覧と地図は移行元が携帯版を持たないため、テーマ共通の余白の
 * ままにする」と書いてあったが、**一覧と地図をまとめたのが誤りだった。**実測で
 * 分かれる（2026-09-12 01:16〜01:2x・本番へ携帯の名乗りで当てた値）。
 *
 *   - 一覧 56 本は**携帯版を持つ**。転送の向きは注釈の逆で、**パソコン版の URL が
 *     /sp/ へ転送される**（/branch/kanto/ も /branch/shikoku/index_ehime.html も
 *     302 → /sp/…）。/sp/ 側は 200 で携帯版を返す。写しにも sp/branch/ 配下に
 *     一覧が 56 本ある（submodule 1fbfa9dda）。
 *   - 地図 34 本は**携帯版を持たない**。ただし**転送も起きず**、同じ URL が
 *     パソコン版をそのまま返す（携帯の名乗りでも 200・転送 0）。写しの sp/branch/
 *     配下に地図のページは 1 本も無い（画像と include だけ）。
 *
 * この誤った前提のせいで、一覧 56 ページだけ本文が移行元より 30px 狭いままだった。
 * 直しはこのファイルの「@media (max-width: 749px)」の節（Bug #5915）にある。
 *
 * 🚨 **店舗詳細の「/sp/ はパソコン版へ転送」はこれとは別で、正しい。**あちらは
 * 世代で分かれ、新デザイン 7 店は /sp/ が 301 でパソコン版へ戻る（旧 13 店と
 * 改装版 4 店は /sp/ が 200）。この節の中の Bug #1992 と Bug #5266 の注釈が
 * 書いているのはその話なので、一緒に直さない。
 * ============================================================== */

/* デートスポットのページ（3,326 件 + 入口 1 件）の本文（Bug #1991）。
   記事・固定ページと共通の本文の上限（.entry-content の 800px）を外し、外側の器
   .single-content--branch（外枠 1,130px ＝ 内寸 1,100px・Bug #1945）まで広がらせる。
   移行元の器は 1,100px である（spot/css/style.css 2〜6 行の .wd_1100 と
   8〜13 行の #seo）。店舗詳細の側は既に「.single-content--branch
   .pa-branch__content { max-width: none }」（このファイルの上の方・Bug #1947）が
   同じことをしており、この宣言が店舗詳細に重なっても値は変わらない. */
.single-content--branch .entry-content {
	max-width: none;
}

/* 🚨 **丸の内プレミアムラウンジのご利用方法だけ、器を移行元と同じ幅にする
   （Bug #4019・裁定 194）。**

   移行元はこのページに器を持たず、`#howtouse` が**パソコン幅 1,280px・携帯幅は
   画面いっぱい 375px** で置かれる。移行先はテーマの共通の骨格
   （`.single-content--branch` の外枠 1,130px ＝ 内寸 1,100px と、携帯幅の左右
   20px）に従うため、**パソコン幅で 180px・携帯幅で 40px 狭い**。そのぶん字の
   折り返しが増え（段落 16 → 17 行・携帯幅 30 → 33 行）、携帯幅では**注意点の
   囲みが画面いっぱいに広がらない**（実測・2026-09-06）。

   🚨 **骨格そのものは変えない。**店舗ページ 14 本は携帯幅で移行元と 1px も
   違わず一致している（字の位置 20px・使える幅 335px。移行元は器 375px ＋ 内余白
   20px、こちらは器 335px ＋ 内余白 0 と作り方は違うが結果は同じ）。骨格を触ると、
   いま合っているページを動かす危険を負って直る画面は 1 つだけになる。

   当たり先の `pa-branch--branch-tokyo-info` は single-branch.php が投稿名から
   付ける印である（投稿名は移行元の URL から機械的に決まって変わらない。
   `postid-NNN` は投入し直すたびに変わるので使えない）. */
.single-content--branch.pa-branch--branch-tokyo-info {
	max-width: 1280px;
	padding-right: 0;
	padding-left: 0;
}

/* デートスポットの情報の箱（Bug #1991）。移行元は spot/css/style.css 209〜214 行で、
   外形 1,100px・内側 1,088px（border 1px + padding 5px の分だけ内側が狭い）。
   dev には枠線も内余白も無く、内側の幅が移行元とずれていたので写す。
   携帯版（sp/spot/css/style.css 74〜76 行）も同じ値である. */
/* ------------------------------------------------------------------
   🚨 デートスポットの意匠は、書庫（入口 1 ・県別 47）にも当てる（Bug #8003）
   ------------------------------------------------------------------
   下の 50 本は、もともと `.single-content--branch-spot` で始まっていた。この印は
   **投稿 1 件のページ（single）にしか付かない**ので、テーマが組む書庫
   （デートスポットの入口 `/spot/` と県別 47 本）には 1 本も届いていなかった。
   書庫の器は `.single-content--spot-archive` である。

   **広げたのは、書庫の `#seo` の中で実際に使われている類名に当たる規則だけ**である
   （統括の判断 2026-09-20 16:36・案 ②）。配信中の HTML から類名を拾って数えた。

   | 画面 | `#seo` の中の類名 | 当たりうる規則 |
   |---|---|---|
   | 入口 `/spot/` | copy ・ minH4 ・ read ・ title_style05 ・ paddingb10 ・ paddingb30 ・ txt ・ serif ・ margint30 | 14 / 109 本 |
   | 県別（東京・北海道で確認） | infobox 系 ・ otherarea 系 ・ pager ・ color-N ・ fc-gold ・ fs16 ・ mb40 ・ box-leadTxt ・ box-ttl-lv2 ・ copy ・ minH4 ・ title_style05 ・ paddingb10 ・ serif | 46 / 109 本 |

   重なりを除いて **50 本**。残る 59 本は書庫が使わない類名（`googleMap` の 2 段組みの
   一部・`map_box` の座標など）なので**広げない**。
   🚨 **`sec-ideal` の 14 本は Bug #8844 で広げた。**県別の一覧の 1 ページ目に、移行元と同じ区画
   「Ｏｕｒ Ｐｒｉｄｅ」「Ｐｉｃｋｕｐ Ｃｏｎｔｅｎｔｓ」を出すようにしたため（`template-parts/spot-sec-ideal.php`）。
   携帯幅の値と、版ごとに違う余白は、「Bug #8844」の節に別に書いた。

   🚨 **器そのものへの指定（`.single-content--branch-spot { padding-right: 6.25% }` など）は
   広げていない。**書庫は自前の左右の余白を持つ。

   🚨 `:is()` の詳細度は**中で一番強い物**と同じなので、印 1 つぶんのまま変わらない
   （当たり先の強さを変えずに範囲だけ広げている）。
   ------------------------------------------------------------------ */
:is(.single-content--branch-spot, .single-content--spot-archive) .infobox {
	margin: 10px 0;
	padding: 5px;
	border: 1px solid #ccc;
	/* 移行元の `spot/detail/css/style.css` の 201 行目が持つ `overflow: auto` を写す
	   （Task #4990）。

	   🚨 **この宣言は、移行元でも dev でも見た目を変えない。**移行元の 6 ページを幅
	   1440px で測ると、箱の送り座（`scrollWidth - clientWidth`）は**全件 0px** である。
	   いちばん長い値の字の右端は 964px で、箱の右端 1270px の内側に収まる。**送る余地が
	   生まれないため、`auto` は働かない。**

	   それでも写すのは、**値がもっと長い投稿が入ったときの振る舞いを移行元とそろえる**
	   ためである。移行元は箱の中で横に送る形になり、dev もそうなる。 */
	overflow: auto;
}

/* デートスポットの「所在地」の箱の 2 段組み（Bug #2098）。移行元は左に店舗情報・
   右に地図を置く 2 段組みで、その根拠は HTML に直接書かれた指定
   （<div style="float:left; width: 49%;"> と float:right の対）だけである。移行元 CSS
   （spot/css/style.css・spot/detail/css/style.css）には .infobox を 2 段組みにする
   規則が 1 本も無い（全数検索で確認）。取り込みは style 属性を落とす決まりなので
   （scripts/pa-cms/sanitize-allowlist.json の注記「移行元のインラインスタイルは
   テーマ側の CSS で再現する」）、ここで再現する。

   当てる相手を「地図を含む箱」に限るのが要点である。.infobox は同じページの
   「料金」等（子が 1 つ）にも、デートスポット一覧の 322 ページ（子が 3 つ・
   1 ページに 10 個）にも使われており、どちらも移行元では 2 段組みではない。
   子の数で見分けると一覧側を巻き込むため、地図の入れ物（.googleMap）の有無で
   見分ける。管理画面で地図を消せばこの規則は当たらなくなり、縦積みで読める形へ
   戻るだけなので、中身が変わっても壊れない.

   浮動ではなく flex で組むのは、移行元と同じ位置に並べつつ、箱の高さが子を
   含む形（浮動だと親がつぶれる）を素直に得るためである。space-between は
   移行元の float:left / float:right と同じ左右の寄せになる（内寸 1,088px に対し
   49% = 533.1px、右の子の左端は 1,088 - 533.1 = 554.9px で移行元の実測と一致）。
   flex-start にしないと 2 つの子の高さが揃ってしまい、移行元（289px と 329px）と
   ずれる. */
:is(.single-content--branch-spot, .single-content--spot-archive) .infobox:has(.googleMap) {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

:is(.single-content--branch-spot, .single-content--spot-archive) .infobox:has(.googleMap) > div {
	width: 49%;
}

/* デートスポットの「所在地」の見出しと値の横並び（Bug #2098）。移行元
   spot/detail/css/style.css は .infobox_txt3（見出し）を position: absolute で
   流れから外し、.infobox_txt4（値）に margin-left: 80px を与えて右隣へ並べている。
   クラス名は取り込み後の本文にも残っているので、CSS を足すだけで直る。

   移行元の 2 本をそのまま写さず、見出しと値を包む段を格子（grid）に組む。
   移行元の 80px は固定値で、テーマの本文の文字が移行元より約 2 割大きいため、
   最長の見出し「公式サイト」（太字 5 文字・実測 約 92px）が値に重なる。
   実際に写して撮ったところ「公式サイ|ト」と重なった。格子なら見出しの段の幅が
   いちばん長い見出しに合わせて伸びるので、重なりが起きない。

   minmax(80px, max-content) の 80px は移行元の値の左端（箱の内側から 80px）で、
   見出しがそれより短いときは移行元と同じ位置に値が来る。長い見出しを管理画面で
   入れたときだけ段が広がる。移行元の見出しは 6 種類（住所・アクセス・駐車場・
   公式サイト・定休日・営業時間。3,004 ページ全数で確認）だが、CMS では増えうる.

   格子にするのは見出しと値の対を包む段だけで、箱そのものではない。箱の側は
   上の 2 段組み（.infobox:has(.googleMap)）が使う. */
:is(.single-content--branch-spot, .single-content--spot-archive) .infobox > div:has(> .infobox_txt3) {
	display: grid;
	/* 🚨 **値の段の下限は 0 にする**（`1fr` ではなく `minmax(0, 1fr)`）。Task #4990。

	   `1fr` の自動の下限は「中身が必ず要る幅」である。値に折り返せない長い URL が
	   1 つあると、**その URL の幅が段の幅になり、同じ格子のほかの 5 行の折り返し位置まで
	   変わる**（dev は 6 組を 1 つの格子に入れているため段の幅が 6 行で共有される）。

	   移行元は行ごとに独立した `float` なので、この共有が起きない。実測（幅 1440px・
	   2026-09-09）:

	     `spot/detail/27_114.html` の「アクセス」（137 文字）
	       移行元 段 453px → 8 行・字の右端 707px（親の箱の中）
	       dev    段 639px → 7 行・字の右端 740px（親の箱の外へ 31px）

	   下限を 0 にすると段が 453px になり、**行数も字の右端も移行元と一致する。**

	   🚨 **これは折り返しを足す直しではない。**語の途中で折る `overflow-wrap` は
	   携帯幅だけに閉じてある（下の `@media`）。移行元はパソコン幅で語の途中では折らず、
	   長い URL は箱の外へ字がはみ出す。**下限を 0 にしてもその姿は変わらない**
	   （実測で字の右端は両側とも 964px）. */
	grid-template-columns: minmax(80px, max-content) minmax(0, 1fr);
	align-items: start;
}

.single-content--branch-spot .infobox_txt3 {
	margin-bottom: 15px;
	text-indent: 5px;
}

.single-content--branch-spot .infobox_txt4 {
	margin-bottom: 15px;
}

/* 携帯の幅で「所在地」の値が画面を押し広げるのを止める（Bug #2733・388 ページ）。

   値に折り返せない長い URL が入ると、上の格子の値の段（`1fr`）の自動の下限が
   「中身が必ず要る幅」＝ URL 全体の幅に固定される。見出しの段（最低 80px）と足すと
   画面の幅を超え、そのぶん画面が横に動く（1px から 443px）。

   直しは 2 つの組で、片方だけでは直らない。

     1. 値の段の下限を外す      `1fr` → `minmax(0, 1fr)`
     2. 値を語の途中でも折り返す `overflow-wrap: anywhere`

   🚨 **`break-word` ではなく `anywhere` を使う。**両者は見た目の折り返しは同じだが、
   `anywhere` だけが「中身が必ず要る幅」も縮める。2 つが互いの備えになり、どちらか一方が
   将来外れても横に動かない。

   値は「公式サイト」だけでなく「アクセス」にも長い URL が入る（`spot-detail-26_119` は
   アクセスに 147 文字の地図の URL を持ち、388 ページで最大の 443px を出していた）。
   よって当たり先は項目を絞らず `.infobox_txt4` 全体にする。

   🚨 **携帯の幅だけに閉じるのは `overflow-wrap` である。**移行元の CSS
   （`spot/detail/css/style.css` の 277 行目）の `.infobox_txt4` は `margin-left` と
   `margin-bottom` だけを持ち、`overflow-wrap` も `word-break` も無い。**移行元は
   パソコン幅で語の途中では折らず、長い URL は箱の外へ字がはみ出す**（実測で字の右端は
   両側とも 964px）。よって `overflow-wrap: anywhere` は `@media` で閉じる
   （司令塔の裁定・2026-09-09）。

   🚨 **段の下限（`minmax(0, 1fr)`）のほうは、全幅の側にも要る。**この注釈は当初
   「全幅に当てるとパソコン幅で移行元と食い違う」と書いていたが、**2 つを 1 つの組と
   見たのが誤りだった。**下限を外さないと、長い URL を持つ 1 行が同じ格子のほかの行の
   折り返し位置まで変える。Task #4990 で全幅の側にも入れた（上の注釈を参照）.

   **携帯の幅には比べる相手が無い。**移行元は携帯の幅では `/sp/` 配下の別サイトを配る
   ため、375px の見た目を移行元と突き合わせられない。よってここは「横に動くこと自体を
   直すべき崩れ」として扱う. */
@media (max-width: 749px) {
	/* 🚨 **この段の指定は、上の全幅の側と同じ値である**（Task #4990 で全幅の側にも
	   `minmax(0, 1fr)` を入れたため）。**わざと残している。**全幅の側の値を将来
	   `1fr` へ戻す変更が入っても、携帯幅がここで守られて画面が横に動かない。
	   `overflow-wrap` と合わせて、互いの備えが 2 枚のままになる. */
	:is(.single-content--branch-spot, .single-content--spot-archive) .infobox > div:has(> .infobox_txt3) {
		grid-template-columns: minmax(80px, max-content) minmax(0, 1fr);
	}

	.single-content--branch-spot .infobox_txt4 {
		overflow-wrap: anywhere;
	}
}

/* デートスポットの節の見出し（Bug #2327・3,327 ページ）。

   対象の内訳は詳細 3,004 ページ（`/spot/detail/*.html`）・エリア別の一覧 322 ページ
   （`/spot/area_*.html`）・入口 1 ページ（`/spot/index.html`）である。`/spot/detail/`
   のファイルは 3,005 件あるが、`47_55.html` だけ別の古い作りで `#seo` も
   `.title_style05` も持たず、dev にも投入されていない（404）。

   写し元は spot/detail/css/style.css（詳細）と spot/css/style.css（エリア別の一覧と
   入口）の `#seo .minH4` と `#seo .title_style05` で、**2 ファイルのこの 2 本は値が
   完全に同じ**である（全数比較で確認）。

   **前置に `#seo` を含めるのが要点である。**デートスポット紹介の 6 ページ（Bug #2279）は
   同じ `.title_style05` をベージュの帯（#E3D6BF・24px）で飾るが、移行元 CSS
   （introduce/spot/css/style.css）の側が `#seo` を伴わないクラスで書いており、ページの
   HTML にも `section#seo` が無い（移行元 7 ファイル・dev の実 HTML の双方で 0 件）。
   加えてあちらは投稿型が page なので `single-content--branch-spot` も付かない。
   **二重に守られている。**

   金色の縦棒の画像は記事の側と同じファイルを使い回す。移行元の
   `spot/images/event/icon_copy.gif` と `images/event/icon_copy.gif` は、記事の写し元
   （`images/event/icon_copy.gif`）と指紋（sha256）が一致する 4x16px の GIF である. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .minH4 {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .title_style05 {
	background: url("../images/article/icon_copy.gif?ver=cdb5bb0c6f2a") no-repeat left center;
	margin-bottom: 15px;
	padding: 0 0 0 9px;
	font-size: 20px;
	line-height: 100%;
	letter-spacing: 0.05em;
}

/* h3 として使われる `.title_style05` に、テーマの本文の既定（`.entry-content :is(h2〜h6)`
   の上の外余白 50px と `.entry-content h3` の金色の文字・左のボーダー 4px）が乗る分を
   打ち消す。移行元 CSS に色・ボーダー・上の外余白の指定は無い。

   **左のボーダー 4px は、上の背景画像の縦棒とは別物である。**打ち消さないと棒が
   二重に出る。

   移行元の `/spot/` 配下でこのクラスを持つ要素は 12,308 件すべてが h3 だが、管理画面で
   h2 に変えられても効くよう `:is(h2, h3)` で受ける。記事の側と同じ作法である. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo :is(h2, h3).title_style05 {
	margin-top: 0;
	padding-bottom: 0;
	border: 0;
	color: inherit;
}

/* デートスポットの本文の基準の文字と行の高さ（Bug #2357）。移行元は共通 CSS
   （`css/common.css` 28〜30 行）の `body { font-size: 13px }` を継承し、区画の側
   （`spot/css/style.css` と `spot/detail/css/style.css` の 8〜14 行 `#seo`）が
   `line-height: 1.7` と `padding: 0 0 30px` と `text-align: left` を足している。
   **写しを作る変換スクリプトは根の要素（`html` / `body` / `*`）への指定を落とす**
   （テーマのヘッダー・フッターへ波及させないための設計）ので、13px がテーマ側へ
   渡っていない。テーマの本文既定（16px / 1.5 倍）のままだと器が最大 2.4 倍の高さに
   なるため、ここで明示する。記事の区画（`.single-content--pa-article .pa-article #seo`）
   と同じ作法である。

   **写し元 2 ファイルのこの区画は値が完全に同じ**である（全数比較で確認）. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo {
	padding: 0 0 30px;
	font-size: 13px;
	line-height: 1.7;
	text-align: left;
}

@media (max-width: 749px) {
	/* 携帯の幅の行送りを移行元スマホ版にそろえる（Bug #5031・3,004 ページ）。

	   全幅の側の `#seo` は `line-height: 1.7` を**単位なし**で持つ。単位なしの行送りは
	   「比」のまま子へ受け継がれるので、本文のすべての文字が 1.7 倍になる。移行元
	   スマホ版はそこが 1.5 で、1 行あたり 2.6px 狭い。

	   移行元スマホ版の写し（`sp/spot/css/style.css`）の値:

	     77 行    `.infobox { line-height: 1.5em }`          → 13px × 1.5 = 19.5px
	     18〜19 行 `#sp_wrap p.main_read { 24px / 140% }`     → 33.6px
	     9 行     `#sp_wrap p { line-height: 2 }`            → 地図のリンクが 13px × 2 = 26px

	   実測（幅 375px・携帯の名乗り・2026-09-09。移行元は写しを `php -S` で配って測った）:

	     `spot-detail-01_01`  突き合わせ 32 文言 / 行送りだけ違う 17 件
	     `spot-detail-26_119` 突き合わせ 33 文言 / 行送りだけ違う 18 件
	     どちらも内訳は同じ 3 通り（題名 1.4・箱の中と注記 1.5・地図のリンク 2.0）

	   🚨 **上の全幅の側の注記「携帯の幅には比べる相手が無い」は誤りだった。**移行元は
	   `/sp/spot/detail/*.html` に同じ内容の携帯版を持ち、文言で対にして比べられる。
	   ただし **`serve-legacy.py` では測れない**（PHP を実行しないため区画が落ちる）。
	   `php -S` で配ること。

	   🚨 **字の大きさが違う 4 件はこの直しの対象外である**（周辺のスポットの見出しが
	   13px 対 24px・近くのスポットのリンクが 13px 対 12.35px）。別に切り出す。

	   🚨 **この括りは、上の全幅の `#seo` の規則より後ろに置かなければならない。**
	   当たり先が同じ `:is(.single-content--branch-spot, .single-content--spot-archive) #seo` で重みも同じなので、
	   **後に書かれた側が勝つ**。括り（media query）は重みを増やさない。
	   2026-09-09 の反映後の実測でこの取り違えが出た。携帯幅の 3 行を全幅の規則より
	   前に置いていたため、括りなしの `line-height: 1.7` が後勝ちして直しが死んでいた
	   （配信中のページで `#seo` の算出値が 22.1px = 13px × 1.7 のままだった）。
	   確かめる時に `addStyleTag` でページの末尾へ差し込むと**必ず後勝ちする**ので、
	   ファイル内の並びは検証できない。`tests-retired/pa-cms-branch-spot-sp` に並びを見る
	   検査を足してある */
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo {
		line-height: 1.5;
	}

	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .copy.serif {
		line-height: 1.4;
	}

	.single-content--branch-spot #seo .mapLink {
		line-height: 2;
	}

	/* 段落を 2 倍にする（Bug #5333 の ③・2026-09-15 の実測）。

	   🚨 **2026-09-09 の直しは箱の中（`.infobox`）と地図のリンクだけを見ていた。**
	   移行元スマホ版の `#sp_wrap p { line-height: 2 }`（`sp/spot/css/style.css` 7 行）は
	   **段落ぜんぶ**に当たる。上の `#seo { line-height: 1.5 }` は箱の中には合っているが、
	   段落は下の `#seo :is(p, li) { line-height: inherit }` を通って 1.5 を受け継ぐため、
	   移行元の 2 に届いていなかった。

	   実測（幅 375px・携帯の名乗り・2026-09-15 18:37 と 18:49・抜き取り 5 ページ）:
	   移行元は題を除く段落が**全部 比 2**、dev は**全部 比 1.5**。一覧・詳細の両方で、
	   説明文を持たないページでも同じだった。控えは
	   `pa-verify-assets/D2/5333-抜き取りの選び方-0915.md`。

	   当たり先を段落の種類で挙げているのは、**dev に `<p>` で在るが移行元スマホ版では
	   `<div>` の区画が 1 つある**ためである（下の「触らないもの」を見よ）。
	   3 本とも重みは (1,2,1) で、下の `#seo :is(p, li) { line-height: inherit }`
	   （(1,1,1)）に**並びによらず勝つ**。`:is()` でまとめず 3 本を並べているのは、
	   検査が当たり先を 1 本ずつ名指しで確かめられるようにするためである
	   （どれか 1 本だけ外す変更を取り逃さない）。

	   ## 触らないもの 3 つ

	   1. **題（`.copy.serif`）** … すぐ上の規則が 1.4 を当てる。移行元スマホ版も
	      `#sp_wrap p.main_read` で 140% にしており、両側とも 33.6px で一致している
	   2. **地図のリンク（`.mapLink`）** … すぐ上の規則が既に 2 を当てており、実測でも
	      両側 26px で一致している。重ねて当てない
	   3. 🚨 **「※情報は変更等が…」の注記** … **移行元スマホ版ではこれが `<div>` で、
	      `#sp_wrap p` に当たらない。**dev は移行元パソコン版の本文を投入しており、
	      そちらでは `<p>` なので `#seo` の直下の段落として在る。**移行元スマホ版での
	      描かれ方を測っていない**ので、この回では触らない。測ってから決める

	   なお画面の幅いっぱいの側（750px 以上）は移行元パソコン版と同じ 1.7 のままにする。
	   この括りの外には書かない. */
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .pager p,
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo p.fs16,
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo p.txt-lead {
		line-height: 2;
	}

	/* 説明文の字を移行元スマホ版の 13px に戻す（Bug #5333 の ③）。

	   🚨 **行送りだけ直すと、いまより差が広がる。**投入した本文は移行元パソコン版の
	   `class="fs16"` を持ち、テーマの `:is(.entry-content, .page-content__body) .fs16`
	   が 16px を当てる。移行元スマホ版の同じ段落は `p.txt-left` で 13px である。

	     いま          16px × 1.5 = 24px   （移行元 26px との差 −2）
	     行送りだけ 2  16px × 2   = 32px   （差 +6・いまより遠のく）
	     この直し      13px × 2   = 26px   （一致）

	   🚨 **パソコン幅では直さない。**移行元パソコン版は `css/style.css` 355 行に
	   `.fs16 { font-size: 16px }` を持つので、750px 以上の 16px は正しい。
	   だからこの宣言は携帯幅の括りの中だけに置く. */
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .fs16 {
		font-size: 13px;
	}
}

/* 段落と箇条書きの項目の基底。移行元は上の共通 CSS の初期化
   （`blockquote, dd, div, ..., li, ol, p, ..., ul { margin: 0; padding: 0 }`）で
   外余白を持たず、行の高さは親から継承する。テーマの既定（`p` の下外余白 25px と
   行の高さ 1.5 倍、`li` の下外余白 7.5px と行の高さ 22.5px）が乗る分を打ち消す. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo :is(p, li) {
	margin: 0;
	line-height: inherit;
}

/* 箇条書きの入れ物の基底。移行元は共通 CSS の 100〜102 行（`list-style: none`）と
   266〜269 行（`margin: 0; text-align: left`）で初期化しており、内余白も 0 である。
   テーマはこれを持たず、本文の一覧に下外余白 25px・字下げ 25.6px・行頭記号（●）を
   与える。記事の区画（Bug #2246）・用語集とコラムの区画（Bug #2219）に入れたものと
   同じ初期化である. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo :is(ul, ol) {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

/* 下の外余白の道具クラスを、上の初期化より強く言い直す。移行元は共通 CSS で段落と
   項目の外余白を 0 にしたうえで、`css/style.css` の `.mb30`（下 30px）・`.mb40`
   （下 40px）で必要な余白を足している。**上の初期化だけを写すと、この足し算の
   ほうが消える。**実際に写して測ったところ、エリア別の一覧の導入文
   （`p.txt-lead.mb30`）の下余白が 30px から 0 に落ちた。

   テーマにも道具クラスの規則はあるが `:is(.entry-content, .page-content__body)`
   の前置（クラス 2 つ）で、上の初期化（`#seo` を含む）に詳細度で負ける。ここで
   `#seo` を含む前置で言い直し、移行元と同じ順序（初期化 → 道具クラス）に戻す。

   **上の外余白の道具クラス（`.margint30`）は写さない。**移行元の本文にこのクラスは
   付いているが、定義は `css/common_old.css` にあり、デートスポットの 3 ページは
   この CSS を読み込んでいない（`/spot/index.html` が読むのは `css/import.css`
   → `common.css` + `style.css` + `colorbox.css` と `page_top.css`・
   `page_company.css`・`spot/css/style.css` の 6 本で、`common_old.css` は無い）。
   移行元で実測しても上の外余白は 0 だった。**写すと逆に 30px の差が出る。**

   デートスポットの 3 ページが使う下の外余白の道具クラスは、この 2 つである
   （移行元と dev の実 DOM の双方で全数確認）. */
.single-content--branch-spot #seo .mb30 {
	margin-bottom: 30px;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .mb40 {
	margin-bottom: 40px;
}

/* 冒頭の一文（`#seo .copy`）。移行元は 24px で、**テーマの既定 16px より逆に大きい**
   （写し元 18〜23 行）。行の高さは `#seo` の 1.7 倍を継承して 40.8px になる. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .copy {
	margin-bottom: 15px;
	font-size: 24px;
	letter-spacing: 0.05em;
	text-align: center;
}

/* 冒頭の一文に続く導入文（`#seo .read`）。移行元は 16px・行の高さ 160%（写し元
   25〜31 行）。入口ページ（`/spot/index.html`）だけが持つ. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .read {
	margin-bottom: 35px;
	font-size: 16px;
	line-height: 160%;
	letter-spacing: 0.1em;
	text-align: center;
}

/* 「理想の相手」の帯（`ul.list-ideal`）。エリア別の一覧 322 ページが持つ、金色
   （`.bgc-gold` #a3762b）と赤（`.bgc-red` #C61F10）の帯である。移行元は写し元の
   321〜330 行（色）と 455〜488 行（帯と項目と区切り線）で組んでおり、テーマには
   1 本も無い（全数検索で確認）。**帯が無いと項目の上下の内余白 14px も落ちるため、
   帯 1 本あたり 35px 低くなる。**エリア別の一覧は帯を 6 本持つので、器の高さの
   受入基準（上下 2% 以内）を満たすにはこの写しが要る。

   区切り線は移行元が `.list-ideal :before`（子孫すべての `::before`）で書いており、
   項目 2 つぶんが同じ位置に重なって 1 本に見える。**位置の基準は帯**（`position:
   relative`）である. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .list-ideal {
	position: relative;
	margin: 0;
	padding: 0;
	text-align: center;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .list-ideal .item {
	padding: 14px 0;
	line-height: 100%;
	letter-spacing: 0.35em;
	list-style: none;
	text-align: center;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .list-ideal *::before {
	content: "";
	position: absolute;
	top: 48%;
	left: calc(50% - 15px);
	width: 30px;
	height: 1px;
	background-color: #fff;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .fc-white {
	color: #fff;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .fc-gold {
	color: #a3762b;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .bgc-gold {
	background: #a3762b;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .bgc-red {
	background: #c61f10;
}

/* --- ここから Bug #2383: デートスポットの版組みを移行元から写す --- */

/* 情報の箱（`.infobox`）の 2 段組み（Bug #2383）。移行元は**種別の札を左に浮かせ、
   右に本文を置く**組みで、写し元は `spot/css/style.css` 213〜275 行と
   `spot/detail/css/style.css` の同じ区画である。テーマにはこの組みが無く、札が
   1 行を占めて箱 1 つあたり 113〜152px 高くなっていた（実測）。

   移行元は札の幅を 70pt（= 93.33px）にし、本文側は `text-indent: 100px` で
   札を避ける。**札は `position: absolute` なので本文の行送りを押し広げない。**
   `float: left` も併記されているが、絶対配置が勝つため効かない。移行元のまま
   両方を写す（値を減らすと移行元と食い違う）. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .infobox_head {
	position: absolute;
	float: left;
	width: 70pt;
	margin-right: 10px;
	text-align: center;
}

/* 施設名の見出し。移行元は本文と同じ大きさに近い 95%（12.35px）で、色は黒・
   下線なしである。テーマの本文の既定（`.entry-content h2` の大きな文字と金色の
   罫、`h3` の金色の文字と左のボーダー 4px）が乗ると、札の右に収まらず段が崩れる。
   `text-indent: 100px` で札を避けるのも移行元と同じである。

   移行元の `/spot/` 配下でこの見出しは `h2` だが、管理画面で `h3` に変えられても
   効くよう `:is(h2, h3)` で受ける。節見出し（`.title_style05`）と同じ作法である. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .infobox :is(h2, h3) {
	margin: 0;
	padding: 0;
	border: 0;
	color: #000;
	font-size: 95%;
	line-height: inherit;
	text-indent: 100px;
	text-decoration: none;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .infobox a {
	color: #000;
}

/* 施設名のリンクの字の大きさ（Bug #5139 の②）。**携帯幅だけ 13px にする。**

   すぐ上の見出しの規則が `font-size: 95%`（12.35px）で、その中のリンクは既定では
   受け継ぐ。移行元パソコン版も同じで、**パソコン幅は両側とも 12.35px で一致している。**

   🚨 **移行元スマホ版だけリンクが 13px である。**初期化 CSS（`sp/css/basic.css`）が
   `html, body, div, … a, …` の長い並びへ `font-size: 13px` を直に当てており、
   **要素に直に当たる規則は親からの受け継ぎに勝つ**ためである。見出しは 12.35px の
   まま、その中のリンクだけが 13px になる。

   実測（2026-09-10 02:2x・移行元の写しを `php -S` で配信・dev は `?cb=` 付き・
   どちらも応答 200。当たり先は**見出しとその中のリンクを持つ `.infobox`**）:

   | 側 | 幅 | 見出し | リンク | リンクの送り |
   |---|---:|---:|---:|---:|
   | 移行元パソコン版 | 1440 | 12.35px | 12.35px | 20.995px |
   | dev パソコン幅 | 1440 | 12.35px | 12.35px | 20.995px |
   | 移行元スマホ版 | 375 | 12.35px | **13px** | **19.5px** |
   | dev 携帯幅（直す前） | 375 | 12.35px | 12.35px | 18.525px |

   🚨 **見出しの 95% は触らない。**4 通りとも 12.35px で一致しており、打ち消すと
   合っているほうがずれる。

   🚨 **行送りは書かない。**両側とも字の 1.5 倍なので、字を 13px にすれば 19.5px へ
   追随する（18.525 = 12.35 × 1.5 ／ 19.5 = 13 × 1.5）。書くと二重に持つことになる。

   🚨 **パソコン幅へ漏らさない。**漏らすと、いま一致している 12.35px が 13px になる. */
@media (max-width: 749px) {
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .infobox a {
		font-size: 13px;
	}
}

/* 施設名の見出しの寄せ（Bug #9195）。**携帯幅の詳細ページだけ中央寄せにする。**
   移行元スマホ版は区切りの器（`.sp_wrap_body section`）が `text-align: center` で、
   見出しはそれを受け継ぐ（実測 2026-10-01・幅 375: 移行元 center／dev left）。箱の本文
   （`.infobox_txt`）は移行元でも左寄せなので触らない。県別の一覧は対象外. */
@media (max-width: 749px) {
	.single-content--branch-spot #seo .infobox :is(h2, h3) {
		text-align: center;
	}
}

/* 本体の情報の箱の頭の札と施設名（型紙 `inc/spot-detail-sp-head.php` が足す・Bug #9195）。
   移行元スマホ版だけが持つ部品なので、**パソコン幅では隠し、携帯幅だけ出す.** */
.pa-spot-sp-head {
	display: none;
}

@media (max-width: 749px) {
	.pa-spot-sp-head {
		display: block;
	}
}

/* 箱の本文。1 段目は札を避けて右へ、2 段目は札の下へ回り込む（移行元 262〜275 行）。
   `.infobox_txt3` と `.infobox_txt4`（詳細ページだけが持つ）は、このファイルの
   上の方に Bug #2098 で写してある. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .infobox_txt {
	float: left;
	margin-right: 30px;
	text-indent: 100px;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .infobox_txt2 {
	clear: both;
	margin-left: 100px;
}

/* 種別の札の地色 30 種（移行元 224〜253 行）。移行元は 30 色すべてを定義しており、
   デートスポットの 3 ページで実際に使われるのは 6 種だが、**投入し直しで別の種別が
   出てもよいよう 30 種すべてを写す。**移行元の値をそのまま並べる. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-1 { background-color: #33ccff; }
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-2 { background-color: #cccc99; }
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-3 { background-color: #ffcc33; }
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-4 { background-color: #666666; }
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-5 { background-color: #ff9900; }
.single-content--branch-spot #seo .color-6 { background-color: #ffff66; }
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-7 { background-color: #66cc33; }
.single-content--branch-spot #seo .color-8 { background-color: #cc9999; }
.single-content--branch-spot #seo .color-9 { background-color: #ffcc99; }
.single-content--branch-spot #seo .color-10 { background-color: #cc33ff; }
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-11 { background-color: #006633; }
.single-content--branch-spot #seo .color-12 { background-color: #00ccff; }
.single-content--branch-spot #seo .color-13 { background-color: #99ffff; }
.single-content--branch-spot #seo .color-14 { background-color: #99ff33; }
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .color-15 { background-color: #99cc99; }
.single-content--branch-spot #seo .color-16 { background-color: #c0c0c0; }
.single-content--branch-spot #seo .color-17 { background-color: #cc9999; }
.single-content--branch-spot #seo .color-18 { background-color: #993333; }
.single-content--branch-spot #seo .color-19 { background-color: #99ffcc; }
.single-content--branch-spot #seo .color-20 { background-color: #66ffff; }
.single-content--branch-spot #seo .color-21 { background-color: #0099ff; }
.single-content--branch-spot #seo .color-22 { background-color: #993333; }
.single-content--branch-spot #seo .color-23 { background-color: #009933; }
.single-content--branch-spot #seo .color-24 { background-color: #ffff66; }
.single-content--branch-spot #seo .color-25 { background-color: #cc6666; }
.single-content--branch-spot #seo .color-26 { background-color: #3399cc; }
.single-content--branch-spot #seo .color-27 { background-color: #9999ff; }
.single-content--branch-spot #seo .color-28 { background-color: #ccffcc; }
.single-content--branch-spot #seo .color-29 { background-color: #666633; }
.single-content--branch-spot #seo .color-30 { background-color: #996633; }

/* ページ送り（移行元 277〜287 行）。上下の外余白 30px と中央寄せを写す。
   エリア別の一覧が本文の先頭と末尾に 1 つずつ持つ. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .pager {
	margin: 30px 0;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .pager p {
	text-align: center;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .pager a {
	color: #000;
}

/* 「その他のエリアを見る」の 2 段組み（移行元 289〜299 行）。地方名を左に絶対配置し、
   都道府県の並びを右へ 200px 字下げして避ける. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .otherarea {
	position: absolute;
	float: left;
	text-indent: 20px;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .otherarea2 {
	text-indent: 200px;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .otherarea2 a {
	color: #000;
}

/* デートスポットの詳細の「その他のエリアを見る」を、携帯幅で移行元スマホ版の姿へ戻す
   （Bug #4749。移行元は 749px 以下で `/sp/spot/detail/*.html` を返すため、携帯幅の
   正解はスマホ版である。裁定 46）。

   【移行元スマホ版の実測（幅 375px・手元に配った写し）】
   区分（`dt`）字 15px・行送り 30px・下外 5px・字下げなし。
   並び（`dd`）行送り 30px・下外 10px・左外 20px。
   リンク 字 13px・隣との隙 4.28px。
   日本地図 器の幅なり（328.13 × 217.88px。素の寸法 500 × 332px・比 1.506）。

   【dev の直す前】区分が `position: absolute`・並びが `text-indent: 200px` の 2 段組み
   （移行元パソコン版の作り）。幅 320px ではリンクの開始位置が 220px になり、隣との隙が
   **−239px** になって折り返しが壊れていた（実測）。

   🚨 **区切りの記号「|」は投入された本文の中の素の字である。**要素で囲われていないので
   `display: none` では消せない。**器の字の大きさを 0 にし、リンクだけ 13px に戻す**
   （移行元スマホ版は記号を出さず、空白 1 つで区切る）。行送りは字の大きさに連れて 0 に
   なるため、器とリンクの両方へ実寸で書く。

   🚨 **日本地図は移行元スマホ版だけが持つ**（パソコン版には無い）。移行元の `alt` は
   空で、飾りの絵である。そのため要素を足さず、並びの最後の器の後ろへ CSS で描く。 */
@media (max-width: 749px) {
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .otherarea {
		position: static;
		float: none;
		text-indent: 0;
		font-size: 15px;
		line-height: 30px;
		margin-bottom: 5px;
	}

	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .otherarea2 {
		text-indent: 0;
		margin: 0 0 10px 20px;
		font-size: 0;
		line-height: 30px;
	}

	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .otherarea2 a {
		font-size: 13px;
		line-height: 26px;
		margin-right: 4.28px;
	}

	/* 🚨 **地図は並びの左外余白 20px の外へ出す。**移行元スマホ版の地図は灰色の器の
	   直下にあり、並び（`dd`）の 20px の字下げを受けない（実測: 地図の左端 23.44px・
	   幅 328.13px。器の内側いっぱい）。ここでは最後の並びの後ろへ描くので、負の外余白で
	   20px 押し戻す. */
	:is(.single-content--branch-spot, .single-content--spot-archive) #seo .otherarea2:last-child::after {
		content: "";
		display: block;
		width: calc(100% + 20px);
		margin-left: -20px;
		aspect-ratio: 500 / 332;
		margin-top: 10px;
		background: url("../branch/images/spot-allmap.png?ver=f40474df8bd2") no-repeat center / 100% auto;
	}

	/* 題「その他のエリアを見る」の字組みを、移行元スマホ版へそろえる。

	   【移行元スマホ版の実測（幅 375px）】字 24px・行送り 33.6px（字の 1.4 倍）・
	   太さ 400・中央寄せ・左の内余白なし・下の外余白 20px・題の上の隙 50px。

	   【dev の直す前】字 20px・行送り 20px・太さ 700・左寄せ・左の内余白 9px・
	   下の外余白 15px・題の上の隙 32.09px（テーマ共通の見出しの意匠）。

	   🚨 **上の隙 50px は、移行元の器（`.bg_gray`）の外余白 30px と内余白 20px の
	   合計である。**dev にこの器は無いので、題の上の外余白で作る。

	   🚨 **`50px` と書いてよい（差し引かない）。**dev の題の直前は同じ層の段落
	   （`p.copy.serif`）で、その下の外余白は 15px である（実ページと手元の紙で実測。
	   題の上の外余白は 0・親の上の内余白も 0）。**隣り合う外余白はまとまって
	   `max()` になる**ので、`50px` と書くと隙はちょうど 50px になる。
	   はじめ「dev には内余白由来の 32.09px の隙がある」と見立てて 50 − 32.09 =
	   17.91px と書いたが、**実測すると隙は 15px で、その見立ては誤りだった**
	   （17.91px では 32.09px 足りない）.

	   🚨 **器（`.bg_gray`）の地色は透明である**（名前に反して灰色ではない。実測:
	   `rgba(0, 0, 0, 0)`）。そのため地色は写さない. */
	/* 🚨 **詳細ページでは「その他のエリアを見る」の題だけに当てる**（Bug #9195）。詳細には
	   同じ類名の h3 が 4 本あり（所在地・料金・周辺のデートスポット・その他のエリアを見る）、
	   絞る前は区切りの 3 本まで 24px になっていた（移行元スマホ版は 13px）。
	   `:has(+ div > .otherarea)` で絞るのは、移行元パソコン版 3,004 本のうち 3,003 本で
	   この題の直後が `div > .otherarea` だからである。`:last-of-type` は使わない。
	   題を持たない `47_55.html` で「周辺のデートスポット」に当たってしまう。
	   県別の一覧（`.single-content--spot-archive`）は絞る前のまま. */
	.single-content--spot-archive #seo h3.title_style05.minH4,
	.single-content--branch-spot #seo h3.title_style05.minH4:has(+ div > .otherarea) {
		font-size: 24px;
		line-height: 33.6px;
		font-weight: 400;
		text-align: center;
		padding-left: 0;
		margin-top: 50px;
		margin-bottom: 20px;
	}

	/* 詳細ページの区切りの見出し 3 本（所在地・料金・周辺のデートスポット）を、移行元
	   スマホ版の字組みにそろえる（Bug #9195）。移行元スマホ版は
	   `<p class="serif"><u>所在地</u></p>` で、字 13px・行送り 26px（`#sp_wrap p` の
	   `line-height: 2`）・中央寄せ・下線（`<u>`）。パソコン版の金色の縦棒の絵は無い。

	   【実測 2026-10-01 15:4x・幅 375・26_106】移行元: 見出しの下端から本体の箱の
	   中身まで 16px。dev（直す前）: 26px（下の外余白 20px）。

	   【区画の上の罫線（Bug #10027・事業部の指摘 W109）】移行元スマホ版は 3 つの区画を
	   `section.bd_top` で包み、`.sp_wrap_body section { padding: 30px 0 }` と
	   `section.bd_top { border-top: 1px solid #ccc }`（`sp/spot/css/style.css`）で、
	   **見出しの上に横線を引いて 30px 空ける**。題の下の外余白は 30px
	   （`#sp_wrap p.main_read { margin-bottom: 30px }`）。

	   【実測 2026-10-09 18:05・幅 375・26_106（T 席）】移行元: 題の下端 119.6 → 線 149.6
	   （30px）→ 見出し 180.6（線 1px ＋ 30px）。dev（直す前）: 題の下端 94.6 → 見出し
	   144.6（上の外余白 50px）・線なし。

	   dev に区画の器は無いので、見出しそのものに上の線と上の内余白 30px を持たせ、上の
	   外余白を 50px から 30px にする。題（`p.copy.serif`）の下の外余白 15px とはまとまって
	   30px になり、題 → 線 30px・線 → 見出し 31px で移行元と同じ間になる.

	   🚨 **線は 3 本とも引く**（所在地・料金・周辺のデートスポット。移行元の
	   `section.bd_top` は 3 つ）。「その他のエリアを見る」（上の規則）は区画の外で線を持たない.
	   移行元の区画の下の線（`border-bottom`）は、次の区画の上の線と重なって 1 本に見えるので
	   写さない。最後の区画（周辺のデートスポット）の下の線も写していない（Bug #10027 の AC の外）. */
	.single-content--branch-spot #seo h3.title_style05.minH4:not(:has(+ div > .otherarea)) {
		background: none;
		font-size: 13px;
		line-height: 26px;
		font-weight: 400;
		text-align: center;
		text-decoration: underline;
		letter-spacing: normal;
		border-top: 1px solid #ccc;
		padding-top: 30px;
		padding-left: 0;
		margin-top: 30px;
		margin-bottom: 10px;
	}

	/* 「デートスポット一覧へ戻る」はテーマが足した押しボタンで、移行元はパソコン版も
	   スマホ版も持たない（実測: どちらの HTML にも「一覧へ戻る」の字が 0 件）。
	   **携帯幅だけ隠す**（パソコン幅の扱いは別途判断する）. */
	.single-content--branch-spot .pa-branch__back {
		display: none;
	}
}

/* 下の内余白の道具クラス（移行元 37〜56 行）。記事の区画には Bug #2246 で
   写してあるが、デートスポットの区画には無かった。移行元は `!important` 付きだが、
   ここでは `#seo` を含む前置で詳細度が足りるため付けない. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .paddingb10 {
	padding-bottom: 10px;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .paddingb30 {
	padding-bottom: 30px;
}

.single-content--branch-spot #seo .paddingb50 {
	padding-bottom: 50px;
}

.single-content--branch-spot #seo .paddingb100 {
	padding-bottom: 100px;
}

/* 導入文の箱（移行元 334〜352 行）。見出しを 20px の細字・中央寄せにし、
   その下に金茶の横線 50px を引く。線は `:before` を見出しの下 150% に置く。

   **下の外余白は `margin` で一括指定しない。**移行元の見出しは下余白を道具クラス
   `.mb40`（40px）から受けており、ここで `margin: 0` と書くと詳細度で勝って
   40px を消してしまう（実測で 183px → 143px に落ちた）。テーマの見出しの既定が
   与える上の外余白 50px だけを打ち消す. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .box-leadTxt .box-ttl-lv2 {
	position: relative;
	margin-top: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font-weight: 200;
	font-size: 20px;
	line-height: inherit;
	text-align: center;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .box-leadTxt .box-ttl-lv2::before {
	content: "";
	position: absolute;
	top: 150%;
	left: calc(50% - 25px);
	width: 50px;
	height: 1px;
	background-color: #a3762b;
}

/* 「理想の相手」の区画（移行元 400〜452 行）。見出しは 23px・行送り 5rem・
   字間 0.25em で、上下に負の外余白を持たせて行送りの余りを詰める。下に金茶の
   横線 50px を `:after` で引く。

   **テーマの見出しの既定を打ち消すのが要点である。**`.entry-content :is(h2〜h6)` の
   上の外余白 50px と、`h2` の金色の罫・`h3` の左のボーダー 4px が乗ると、
   移行元の負の外余白と喧嘩して区画が 2〜3 倍に伸びる（実測で 378px → 1,116px）. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .sec-ideal a {
	text-decoration: none;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .sec-ideal .ttl-lv2 {
	position: relative;
	margin: -11px 0 -8px;
	padding: 0;
	border: 0;
	color: inherit;
	font-weight: normal;
	font-size: 23px;
	line-height: 5rem;
	letter-spacing: 0.25em;
	text-align: center;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .sec-ideal .ttl-lv2::after {
	content: "";
	position: absolute;
	bottom: 15px;
	left: 50%;
	display: block;
	width: 50px;
	height: 1px;
	margin-left: -25px;
	background-color: #a18046;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .sec-ideal .txt-lead {
	text-align: center;
}

/* 3 枚の札を横に並べる器（移行元 454〜457 行）。両端揃えの横並びである. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .f-continer {
	display: flex;
	justify-content: space-between;
}

/* 札 1 枚（移行元 460〜468 行）。幅 340px の固定で、灰色の枠と 7px の内余白を持つ. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .box-ideal {
	box-sizing: border-box;
	display: block;
	width: 340px;
	padding: 7px;
	border: 1px solid #808080;
	overflow: hidden;
}

/* 札の写真（移行元 470〜477 行）。行送りを 0 にして画像の下の余りを消す. */
:is(.single-content--branch-spot, .single-content--spot-archive) #seo .img-main {
	margin: 0;
	padding: 0;
	line-height: 0;
}

:is(.single-content--branch-spot, .single-content--spot-archive) #seo .img-main img {
	width: 100%;
}

/* ------------------------------------------------------------------
   県別の一覧の区画「Ｏｕｒ Ｐｒｉｄｅ」「Ｐｉｃｋｕｐ Ｃｏｎｔｅｎｔｓ」の、版ごとに違う値（Bug #8844）
   ------------------------------------------------------------------
   上の規則（移行元パソコン版 `spot/css/style.css` 400〜495 行の写し）は、デートスポットの詳細と
   県別の一覧（`template-parts/spot-sec-ideal.php`）の両方に当たる。ここでは県別の一覧だけに、
   次の 3 つを書く。

   1. 下の外余白。移行元は版ごとに違う道具クラス（パソコン版 `txt-lead mb30`・`f-continer mb40`、
      携帯版 `txt-lead mb10`・`f-continer mb20`／`mb30`・`box-ideal mb10`）で持つ。部品は 1 つの
      組みを両幅で出すので、道具クラスは写さず、要素ごとに幅別の値を書く
   2. 携帯幅の組み（移行元携帯版 `sp/spot/css/style.css` 194〜295 行）。見出し 16px・行送り 4.2rem
      （移行元の根の字 13px で 54.6px）・字間 0.2em、札は幅 90% の縦積み、区切り線は上から 40px
   3. パソコン版がこの区画を持たない 6 県（岩手県〜茨城県）を、パソコン幅だけで隠す
      （`.pa-spot-sec-ideal--sp-only`。携帯版は 47 県とも持つ）
   4. 携帯幅の区画の幅（移行元の `#seo` の左右 6.25%）と、紹介文の下の外余白 20（携帯版の値）

   幅 1440 と 375 の実測は `pa-verify-assets/B/8844-直す前-0930/`. */
/* 札の字の大きさ。移行元は道具クラス `.fs13`・`.fs16` で持つが、テーマの同じ名前の規則は
   `:is(.entry-content, .page-content__body)` の下でしか効かず、県別の一覧の器はどちらでもない.
   携帯幅の大きいほうは下の携帯幅の節で 16.12px に言い直す. */
.single-content--spot-archive #seo .sec-ideal .list-ideal .fs13 {
	font-size: 13px;
}

.single-content--spot-archive #seo .sec-ideal .list-ideal .fs16 {
	font-size: 16px;
}

/* 紹介文の見出しの金色（Bug #9201）。移行元はパソコン版・携帯版とも `h2.box-ttl-lv2.fc-gold` で、
   `.fc-gold { color: #a3762b }` が効く（見出しの規則 `.box-leadTxt .box-ttl-lv2` は色を持たない）。dev は
   見出しの規則 `:is(…) #seo .box-leadTxt .box-ttl-lv2 { color: inherit }`（詳細度 1,3,0）が
   `:is(…) #seo .fc-gold`（1,2,0）に勝ち、黒になっていた。見出しの規則の側は詳細と共用なので触らず、
   県別の一覧の金色の見出しだけを、詳細度を 1 つ上げて金色に戻す. */
.single-content--spot-archive #seo .box-leadTxt .box-ttl-lv2.fc-gold {
	color: #a3762b;
}

@media (min-width: 750px) {
	/* 区画の幅（Bug #9183）。移行元パソコン版は `#seo { width: 1100px; margin: 0 auto }`（`spot/css/style.css`
	   8〜14 行）の中で、札 3 枚（幅 340・`box-sizing: border-box`）を `space-between` で並べる。幅 1440 で
	   左の札は 170、右の札は 930 から始まる。dev の `#seo` は幅を持たず本文の器の左右 15 の内側（1410）に
	   広がるので、左右の札が 155 ずつ外へ出ていた（W136・`/spot/hokkaido/`・検証と台帳の実測）。
	   本文の器 `.single-content` の上限 1200px は、幅の条件を持たない
	   `.single-content:not(.single-content--branch):not(…)` の `max-width: none` で外れる。同じ組みの
	   `> article` の 1100 も、`article` の外に在る `#seo` には当たらない（下見の実測で `#seo` は左 15・幅 1410）。
	   `#seo` 全体ではなくこの区画だけを 1100 の中央寄せにする（ほかの子はそれぞれの幅で合わせてある）. */
	/* 🚨 **上の「ほかの子はそれぞれの幅で合わせてある」は誤りだった（Bug #9207）。**区画より下のスポットの箱
	   `.infobox`・下のページ送り・「その他のエリアを見る」の見出しと表、上の題字とページ送りは、どれも
	   左 15・幅 1410 に広がっていた（移行元は左 170・幅 1100。`pa-verify-assets/A/W136-区画より下の並べ-1001/`）.
	   そこで移行元の `#seo { width: 1100px; margin: 0 auto }`（`spot/css/style.css` 8〜14 行）と同じく、`#seo` 自体を
	   1100 の中央寄せにする。`#seo` は左右の内余白を持たないので、中身の幅も 1100 になる。区画と紹介文の箱の
	   個別の規則（Bug #9183・#9201）は、値が同じなので残しても見た目は変わらない. */
	.single-content--spot-archive #seo {
		max-width: 1100px;
		margin-right: auto;
		margin-left: auto;
	}

	.single-content--spot-archive #seo .sec-ideal {
		max-width: 1100px;
		margin-right: auto;
		margin-left: auto;
	}

	.single-content--spot-archive #seo .sec-ideal .txt-lead {
		margin-bottom: 30px;
	}

	.single-content--spot-archive #seo .sec-ideal .f-continer {
		margin-bottom: 40px;
	}

	.single-content--spot-archive #seo .sec-ideal.pa-spot-sec-ideal--sp-only {
		display: none;
	}

	/* 紹介文の段落の字（Bug #9201）。移行元パソコン版は `css/style.css` の `.fs16 { font-size: 16px }` で 16px・
	   行送り 27.2（1.7）にする。テーマで `.fs16` に 16px を当てる規則は `:is(.entry-content, .page-content__body)` の
	   下でしか効かず、県別の一覧の器はどちらでもないので 13px のままだった（W136・`/spot/hokkaido/` の幅 1440 で
	   段落 3 つが計 176.7 低く、区画から下がその分上へずれていた）。携帯幅の 13px（Bug #5333）はそのままにする.
	   移行元 47 県の `#seo` で区画より前に在る `fs16` は 78 個で、すべて `div.box-leadTxt` の中の `p` である.
	   区画の中の `li.fs16` は `.box-leadTxt` の外に在り、この規則に当たらない（上の `.list-ideal .fs16` が持つ）. */
	.single-content--spot-archive #seo .box-leadTxt .fs16 {
		font-size: 16px;
	}

	/* 紹介文の箱の幅（Bug #9201）。移行元パソコン版は `#seo` の幅 1100 の中に箱を置く（幅 1440 で左 170・幅 1100）.
	   dev の `#seo` は 1410 に広がるので、字を 16px にしても段落の行が移行元より 1 行ずつ少なくなっていた
	   （下見 1 回目: 北海道の区画の上端が −81.5）。上の区画と同じく、`#seo` 全体ではなく箱だけを 1100 の中央寄せにする. */
	.single-content--spot-archive #seo .box-leadTxt {
		max-width: 1100px;
		margin-right: auto;
		margin-left: auto;
	}
}

@media (max-width: 749px) {
	/* 区画の幅。移行元携帯版は `#seo` の左右 6.25% の内側（幅 375 で 328.13）に区画を置き、札は
	   その 90%（295.31）になる。dev の `#seo` は本文の器の左右 `--pa-inner-gutter`（15）の内側（345）
	   なので、そのままだと札が 310.5 に広がって絵が高くなり、区画が 21 ずつ高かった（下見 1 回目
	   `pa-verify-assets/B/8844-下見-0930/`）。差だけ外へ広げる（お出かけスポットの入口の Bug #8242 と同じ形）. */
	.single-content--spot-archive #seo .sec-ideal {
		margin-right: calc(6.25vw - var(--pa-inner-gutter));
		margin-left: calc(6.25vw - var(--pa-inner-gutter));
	}

	/* 紹介文の下の外余白。移行元携帯版は `sp/spot/css/style.css` の `.box-leadTxt { margin-bottom: 20px }`。
	   dev の本文は移行元パソコン版から作るので、紹介文は `mb40`（40）を持ち、紹介文から区画までが
	   移行元の 20 に対して 40 だった（下見 1 回目）. */
	.single-content--spot-archive #seo .box-leadTxt.mb40 {
		margin-bottom: 20px;
	}

	.single-content--spot-archive #seo .sec-ideal .ttl-lv2 {
		margin: 0;
		font-size: 16px;
		letter-spacing: 0.2em;
		line-height: 54.6px;
	}

	.single-content--spot-archive #seo .sec-ideal .ttl-lv2::after {
		bottom: 6px;
	}

	.single-content--spot-archive #seo .sec-ideal .txt-lead {
		margin-bottom: 10px;
	}

	.single-content--spot-archive #seo .sec-ideal .f-continer {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
	}

	.single-content--spot-archive #seo .sec-ideal--pride .f-continer {
		margin-bottom: 20px;
	}

	.single-content--spot-archive #seo .sec-ideal--pickup .f-continer {
		margin-bottom: 30px;
	}

	.single-content--spot-archive #seo .sec-ideal .box-ideal {
		width: 90%;
	}

	.single-content--spot-archive #seo .sec-ideal .box-ideal:not(:last-child) {
		margin-bottom: 10px;
	}

	.single-content--spot-archive #seo .sec-ideal .list-ideal *::before {
		top: 40px;
	}

	/* 🚨 **大きいほうの字は 16.12px。**移行元携帯版の `.fs16` は `1.24rem`（根の字 13px）である。
	   テーマの携帯幅の節は、デートスポットの段落の `.fs16` を 13px にしている（Bug #5333）ので、
	   ここで名指しで言い直す. */
	.single-content--spot-archive #seo .sec-ideal .list-ideal .fs16 {
		font-size: 16.12px;
	}
}

/* 全国の地図（移行元 163〜199 行）。**入口ページ（`/spot/index.html`）だけが持つ**
   （移行元 `/spot/` 配下を全数検索して 1 ファイルのみ）。地図の絵の上に地方名を
   絶対配置する組みで、テーマにはこの組みが無く、7 つの地方名が縦に積まれて
   箱が 727px → 2,196px になっていた（実測）。

   座標は写し元 `spot/css/style.css` の値を使う。`spot/detail/css/style.css` にも
   同名の規則があり座標が違うが、**詳細ページに地図は 1 つも無い**ので使わない
   （移行元の全数検索で確認）。

   テーマには店舗一覧向けの `.map_box` の規則が別にあるが、あちらは
   `.pa-branch__content` で前置されており、デートスポットの入口ページ
   （祖先は `.entry-content`）には掛からない（dev の実 DOM で確認）. */
.single-content--branch-spot #seo .map_box {
	container-type: inline-size;
	position: relative;
	margin-bottom: 60px;
}

/* 地方名の絶対配置は、**地図の絵が実寸（1,100px）で並ぶ幅のときだけ**当てる。
   移行元の座標は 1,100px の絵に合わせた固定値なので、絵が縮む幅で当てると
   地方名が箱の外へ出る。**一度、幅の条件なしで当てて測ったところ、携帯幅 375px で
   横スクロールが 485px・箱からのはみ出しが 49 件になった。**

   条件は画面幅ではなく**箱の幅**（コンテナクエリ）で見る。器 `#seo` は
   `.single-content--branch`（内寸 1,100px）の中にあり、画面幅と器の幅の関係は
   左右の余白の設定で変わるため、画面幅で書くと境目がずれる。

   移行元は携帯幅では別の HTML（`/sp/spot/`）を配っており、パソコン版の地図の
   組みを携帯幅で再現する必要はない。条件を満たさない幅では、地方名が縦に
   並ぶ（この写しを入れる前の dev と同じ見え方）. */
@container (min-width: 1100px) {
	.single-content--branch-spot #seo .map_box .area {
		position: absolute;
		font-size: 15px;
		text-align: left;
	}

	.single-content--branch-spot #seo .map_box .hokaido { top: 254px; left: 799px; }
	.single-content--branch-spot #seo .map_box .kanto { top: 455px; left: 715px; }
	.single-content--branch-spot #seo .map_box .chubu { top: 225px; left: 465px; }
	.single-content--branch-spot #seo .map_box .kinki { top: 575px; left: 535px; }
	.single-content--branch-spot #seo .map_box .chugoku { top: 340px; left: 285px; }
	.single-content--branch-spot #seo .map_box .shikoku { top: 605px; left: 355px; }
	.single-content--branch-spot #seo .map_box .kyushu { top: 545px; left: 100px; }

	.single-content--branch-spot #seo .maph3 {
		position: absolute;
	}

	.single-content--branch-spot #seo .maph3 p {
		width: 50%;
	}
}

/* 地方名の見出し（移行元 178〜190 行）。18px・太字・行送り 1 倍で、
   見出しそのものは黒・中のリンクだけ金茶にする（カーソルを乗せても変わらない）. */
.single-content--branch-spot #seo .map_box .area h3 {
	margin: 0 0 7px;
	padding: 0;
	border: 0;
	color: inherit;
	font-weight: bold;
	font-size: 18px;
	line-height: 1;
}

.single-content--branch-spot #seo .map_box .area h3 a,
.single-content--branch-spot #seo .map_box .area h3 a:hover {
	color: #a3762b;
	text-decoration: none;
}

/* 新着の印（移行元 192〜198 行）. */
.single-content--branch-spot #seo .map_box .i_new {
	margin: 0 4px;
	padding: 2px 4px;
	background-color: #e1200f;
	color: #fff;
	font-size: 10px;
}

/* 地図の上に重ねる見出しの器（移行元 201〜207 行）は、上の `@container` の中で
   地方名と一緒に当てる（入口ページだけが持ち、絵の実寸に依存するため）. */

/* --- ここまで Bug #2383 --- */

@media (max-width: 749px) {
	/* 店舗詳細の携帯幅（Bug #1992）。移行元は左右 20px ずつで中身 335px
	   （旧デザインは sp/branch/css/style_area1.css 145〜149 行の .l-container、
	   改装版は sp/branch/css/style_renew.css 157〜160 行の .content-wrap）。
	   テーマ共通の 15px のままだと 345px で、移行元より 10px 広い。
	   新デザインの 4 店（銀座・新宿・静岡・岡山）は移行元に携帯版が無く
	   （/sp/ の同名ページは PC 版へ 301）、画面幅いっぱいの応答型の見え方を
	   維持するため、.pa-profile-legacy-compat の前置で対象から外す。

	   🚨 **Bug #6555（2026-09-16）以降、この 20px は当たらない。**同じページの器を
	   `body.pa-profile-legacy-compat .single-content--branch-store`（クラス 3 つ）で
	   `padding: 0` にしたため、クラス 2 つのこちらが負ける。移行元と同じ左右 20px は、
	   いまは**内側の器**（`.l-container` / `.content-wrap` の携帯幅の規則）が受け持つ。
	   実測でも幅 375px で中身 335px・左端 20px のまま変わっていない
	   （`pa-verify-assets/D2/out-6555-pagetop-0916/`）。規則を残してあるのは、
	   Bug #1992 の判断（移行元は 20px・テーマ共通の 15px では 10px 広い）を
	   この場所に留めておくためである. */
	.pa-profile-legacy-compat .single-content--branch-store {
		padding-right: 20px;
		padding-left: 20px;
	}
	/* 新デザインの 6 店（銀座・新宿・名古屋・静岡・横浜・岡山）の携帯幅は、柱を
	   画面いっぱいにする（Bug #5266）。

	   上の規則は移行元の携帯版に合わせて 335px にするもので、**この 6 店を意図して
	   外している**。ところが外した先はテーマ共通の 15px（345px）で、移行元の
	   「画面いっぱい」ではなかった。2026-09-09 14:41 JST・幅 375px の実測（11 班）:

	     移行元 www.p-a.jp/branch/tokyo/ginza.html  main.contents 375px @0
	     dev    /branch/branch-tokyo-ginza/         .pa-branch__article 345px @15

	   この 6 店は移行元に携帯版が無く（`/sp/` の同名ページはパソコン版へ転送）、
	   パソコン版の応答型がそのまま携帯幅で画面いっぱいに開く作りである。

	   🚨 **共通の 1 本は触らない。**15px はヘッダー・フッター・トップと同じ
	   `.site-header__inner, …, .single-content, … { padding: 0 var(--pa-inner-gutter) }`
	   から来る（このファイルの上の方「共通の骨格」）。あれを外すと全ページに及ぶので、
	   上の 20px の規則と同じ形で、店舗詳細の側だけを打ち消す（司令塔の裁定・2026-09-09）。

	   🚨 **`.page-branch` の負の外余白に頼らない。**本文の中の `.page-branch` は
	   `width: 100vw; margin-inline: calc(50% - 50vw)` で既に画面いっぱいへ戻している
	   （このファイルの Task #3228 の節）。器が 375px になると `50% - 50vw` は 0 に
	   なるので、区画の幅も左端も 1px も動かない。打ち消しに頼っていたのは
	   `.page-branch` の中だけで、その外に出る箱（店舗情報・ページ内の飛び先・
	   一覧へ戻る）は 345px のまま取り残されていた。ここを直すとその 3 つも揃う。

	   当たり先を `.pa-profile-new` で絞ってあるのは、この印が付く店舗詳細が
	   上の 6 店だけだからである（`inc/design-profile.php` の
	   `pa_design_profile_new_branch_slugs()`）。トップと固定ページ 2 枚にも同じ印が
	   付くが、`.single-content--branch-store` を重ねているので届かない. */
	.pa-profile-new .single-content--branch-store {
		padding-right: 0;
		padding-left: 0;
	}

	/* 🚨 丸の内ラウンジのご利用方法は携帯幅で画面いっぱいにする（Bug #4019・
	   裁定 194）。移行元は器を持たず `#howtouse` が 375px（画面いっぱい）で、
	   **注意点の囲みが左右の端まで届く**。上の店舗詳細の規則は当たり先が
	   `--branch-store` なのでこのページには届かないが、テーマ共通の内余白
	   （左右 20px）が残るため、ここで 0 に戻す。

	   中の字は器でなく**子の内余白 25px** で移行元と同じ位置に置いている
	   （Task #3924）。器を広げても字の位置は変わらず、囲みだけが端まで届く. */
	.single-content--branch.pa-branch--branch-tokyo-info {
		padding-right: 0;
		padding-left: 0;
	}

	/* デートスポットの携帯幅（Bug #1991）。移行元の携帯版は器が画面幅の 87.5%
	   （sp/spot/css/style.css 24〜27 行の .sp_wrap_body。幅 375px で中身
	   328.1px・左端 23.4px）。左右 6.25% ずつの内余白で同じ値にする。
	   フッターの携帯幅（.site-footer__inner の 6.25%）とも揃う. */
	.single-content--branch-spot {
		padding-right: 6.25%;
		padding-left: 6.25%;
	}

	/* 県とエリアの一覧 56 ページの携帯幅は、本文の器を画面いっぱいにする（Bug #5915）。

	   移行元の携帯版は器を持たない。`#other_contents`（padding: 0 0 20px）も
	   `#report`（padding: 25px 0）も左右 0 で、本文は画面幅 375px のまま置かれる
	   （sp/css/style.css と sp/branch/css/style.css）。中を絞るのは区画の側である。
	   dev はテーマ共通の 15px が残り、本文が 345px・左端 15px だった。
	   幅 375px の実測（2026-09-12 01:21）:

	     移行元 www.p-a.jp/sp/branch/kanto/index_ibaraki.html  #report 375px @0
	     dev    /branch/branch-kanto-index_ibaraki/            .pa-branch__article 345px @15

	   🚨 **一覧にも移行元の携帯版が在る。**この節の見出し（「S1 #1991 #1992」）と
	   `single-branch.php` は「一覧と地図は移行元が携帯版を持たない」と書いていたが、
	   実測は逆だった。携帯の名乗りで当てると `/branch/kanto/` も
	   `/branch/shikoku/index_ehime.html` も 302 で `/sp/…` へ行き、`/sp/` 側は 200 で
	   ある（本番・2026-09-12 01:16 取得）。写しにも `sp/branch/` の一覧が 56 本ある
	   （submodule 1fbfa9dda）。この誤った前提が 15px を残していた。注釈は両方訂正した。

	   🚨 **共通の 1 本は触らない。**15px はヘッダー・フッター・トップと同じ規則
	   （`.site-header__inner, …, .single-content, … { padding: 0 var(--pa-inner-gutter) }`）
	   から来る。外すと全ページに及ぶので、上の店舗詳細の 2 本と同じ形で、一覧の側
	   だけを打ち消す。

	   当たり先の `pa-branch-area-list` は地方を `inc/branch-area-entry.php`・県別を
	   `inc/branch-prefecture-entry.php` が付ける印で、
	   顔ぶれはエリアの一覧 8 本と都道府県の一覧 48 本の計 56 ページである
	   （`pa_branch_is_area_list_slug()`）。地図のページ 34 本（`branch-map_*link_s`）は
	   移行元では店舗ページに埋める地図の中身で、noindex・`body { margin: 0 }` の素の枠
	   である。移行先はテーマの外枠ごと 1 ページとして描くため比べる土台が無く、
	   対象に入れない（統括の判断・2026-09-12）。

	   デートスポットと店舗の詳細には届かない。あちらはこの節の中で自分の左右の値を
	   持ち（6.25% / 20px / 0）、`pa-branch-area-list` も付かない. */
	body.pa-branch-area-list .single-content--branch {
		padding-right: 0;
		padding-left: 0;
	}

	/* 器を画面いっぱいへ戻すと中の区画も端に着くので、移行元が区画の側へ置いている
	   幅をここで写す（Bug #5915）。移行元の携帯版は本文の区画を
	   `.report_body { margin: auto; width: 87.5% }` の中へ入れている
	   （sp/branch/css/style.css）。幅 375px の実測（2026-09-12 01:21）:

	     移行元 .report_body（店舗のご案内） 328.13px @23.44
	     dev    .shop_area                   345px @15 → この規則で 328.13px @23.44

	   🚨 **`.voice_area`（お客様の声）はここで扱わない。**下の規則が携帯幅で隠す
	   （Bug #6187）。当たり先をコンマで並べ足さないこと。

	   説明文（`.areaseoTxt`）はここで触らない。Bug #5866 の規則が同じ 87.5% を
	   当てている（この節の上）. */
	body.pa-branch-area-list .pa-branch__content .shop_area {
		width: 87.5%;
		margin-right: auto;
		margin-left: auto;
	}

	/* お客様の声（`.voice_area`）は携帯幅では出さない（Bug #6187）。

	   🚨 **移行元の携帯版には区画そのものが無い。**移行元のミラーの
	   `include_once` を 3 段まで展開して数えた（2026-09-14）:

	     移行元のパソコン版の県ページ 47 本 … `voice_area` を持つ 47 本
	     移行元の携帯版の県ページ   47 本 … `voice_area` を持つ  0 本
	     地域の入口 8 本            … 両方とも 0 本（この規則は当たっても何もしない）

	   移行先はパソコン版の本文から 1 枚を作るので、携帯幅にも出ていた。

	   🚨 **2026-09-12 の統括の判断（消さずに幅だけ 87.5% へ揃える）を
	   ユーザー決定 D191（2026-09-14）が上書きした。**携帯幅では移行元の携帯版どおり
	   出さない。上の 87.5% の規則から当たり先を外したのはこのためである。

	   🚨 **パソコン幅では出す。**移行元のパソコン版は 47 本すべてが持っており、
	   この節（`max-width: 749px`）の外には隠す指定を置かない。

	   本文そのものは書き換えない。表示のときに隠すので、投入をやり直しても効き続ける
	   （`inc/branch-voice-pc-only.php` と同じ考え方。あちらは店舗詳細の
	   `ul.voice-list` の `li` を扱う別物である）. */
	body.pa-branch-area-list .pa-branch__content .voice_area {
		display: none;
	}

	/* 見出しの絵の大きさ（Bug #6109 の① と Bug #6124）。

	   移行元の携帯版は `#report .category_ttl { margin: 0 auto 20px; width: 34.8% }`
	   （`sp/branch/css/style.css`・本番と写しの md5 が一致・`24250d93fcb1`）で、
	   絵の器を画面幅の 34.8%（幅 375px なら 130.5px）にして中央へ寄せる。幅の条件の
	   外に在る `.pa-branch__content #event_top .title` はパソコン版の値
	   （下外余白 30px・幅の指定なし）なので、ここで携帯版の値へ上書きする。

	   絵そのものは `inc/sp-image-swap.php` の表が携帯幅だけ移行元の携帯版へ
	   差し替える（地域の入口は 290 × 108・県の一覧は 232 × 108）。
	   **この幅の指定と対で効く。**片方だけだと、差し替えた絵が実寸のまま器いっぱいに
	   出る。実測（幅 375px・2026-09-14 03:4x）は次のとおりだった。

	     地域の入口  dev 130.5 × 48.59  移行元 130.5 × 48.59   ← Bug #6109 で直した
	     県の一覧    dev 232 × 108      移行元 130.5 × 60.75   ← 横 1.78 倍（Bug #6124）

	   🚨 **当たり先は `pa-branch-area-list`（地域の入口 8 本 ＋ 県の一覧 48 本）である。**
	   移行元はどちらのページも同じ `sp/branch/css/style.css` を読み、値も同じ 34.8% で
	   ある。**Bug #6109 では細かいほうの `pa-branch-area-index` で絞っていたが、
	   県の一覧を実測するまで値を確かめていなかったため**であり、実測が済んだ
	   Bug #6124 で 1 本にまとめた。**同じ値を 2 本に分けて書かない。**

	   🚨 **店舗の詳細とデートスポットには届かない。**`pa-branch-area-list` は
	   `inc/branch-area-entry.php`（地方 8 本）と `inc/branch-prefecture-entry.php`
	   （県別 48 本）が一覧の 56 ページにだけ付ける印である. */
	body.pa-branch-area-list .pa-branch__content #event_top .title {
		width: 34.8%;
		margin: 0 auto 20px;
	}

	/* 一覧 56 ページ（地域の入口 8 ＋ 県の一覧 48）の店舗の囲みを、移行元の携帯版と
	   同じ 84 対 16 に割る（Bug #6109 の⑤で地域の入口へ入れ、Task #6116 で県の一覧
	   まで広げた）。

	   移行元の携帯版は `.sd_l { float: left; width: 84% }` と
	   `.sd_r { float: right; width: 16% }` で、左に店舗名と住所・右に「>」の絵を置く。
	   dev の本文は**パソコン版**なので器の名前が違い、左が `.fl_box`・右が
	   `.sd_arrow` である。役割は 1 対 1 に対応する。

	   | 移行元の携帯版 | dev の本文 | 幅 |
	   |---|---|---|
	   | `div.sd_l` | `div.fl_box` | 84% |
	   | `div.sd_r` | `div.sd_arrow` | 16% |

	   高さを `auto` へ戻すのは、幅の条件の外に在る `.pa-branch__content .sd_arrow`
	   が `height: 100%` を持つためである。あれはパソコン幅で移行元の
	   `branch/<地域>/css/style.css` を写した値で、携帯版には無い。

	   Task #6116 の実測（2026-09-14 10:49・実ブラウザ・幅 375px・千葉県 3 枚と
	   北海道 1 枚で同値）で、**県の一覧も同じ差**であることを確かめた。

	     左の器  dev 328.13（囲みの全幅）対 移行元 275.63（84%）
	     右の器  dev 65 対 移行元 52.5（16%）

	   🚨 **裏づけの無い県 30 本へは、絞りではなく本文の側で当たらない。**あの 30 本は
	   移行元の携帯版が店舗カードを 1 枚も持たず、dev の本文にも囲みが無い（Bug #6119）。

	   🚨 **パソコン幅（1440px）は両側とも 459 / 65 / 190 で 1px も違わない。**
	   この節は携帯幅だけなので、パソコン幅には届かない. */
	body.pa-branch-area-list .pa-branch__content .shop_detail .fl_box {
		float: left;
		width: 84%;
	}

	body.pa-branch-area-list .pa-branch__content .shop_detail .sd_arrow {
		width: 16%;
		height: auto;
	}

	body.pa-branch-area-list .pa-branch__content .shop_detail .sd_arrow a {
		height: auto;
	}

	/* 店舗の囲みの高さを移行元のスマートフォン版へそろえる（Bug #6123）。

	   実測（幅 375px・実ブラウザ・2026-09-14 03:4x・**地域の入口 8 ページとも同値**。
	   県の一覧は同日 10:49 に測り、囲みが dev 216 対 移行元 202.42 で同じ型と分かった）:

	     囲み `div.shop_detail`  dev 212.42px 対 移行元 202.42px（+10.0）
	     左の器               dev 275.63 × 172.59 対 移行元 275.63 × 160.59（幅は一致）
	     右の器               dev 52.5 × 186.42 対 移行元 52.5 × 180.42（幅は一致）
	     矢印の絵そのもの       両側とも 52.5 × 180.42（**一致**）
	     囲みどうしの間         両側とも 20.01px（**一致**）

	   🚨 **囲みどうしの間は一致しているので、「手前の要素の下端から後ろの要素の上端まで」
	   で測っても差は残る。**器の高さだけを見て直しているのではない。

	   ------------------------------------------------------------------
	   10px の内訳（算数が合う）
	   ------------------------------------------------------------------
	   **4px** … 囲みの内余白が dev 12px・移行元 10px（上下で 2px ずつ）。
	   **6px** … 矢印の絵の下に付く行の余り。移行元は `sp/css/common.css` の
	   `img { width: 100%; height: auto; display: block }` で絵をブロックにするため
	   余りが 0 になる。dev のテーマは絵を行の中に置くので 6px 付く（`vertical-align` を
	   移行元へ戻す規則はパソコン幅にしか無い）。

	     dev    : 12 + 186.42 + 12 + 2（罫線）= 212.42   ← 実測と一致
	     移行元 : 10 + 180.42 + 10 + 2（罫線）= 202.42   ← 実測と一致

	   🚨 **絵をブロックにする指定は店舗の囲みの矢印に絞る。**`img { display: block }` を
	   広く当てると、行の中に絵を置いている他のページの高さが動く。

	   🚨 **当たり先は一覧 56 ページである（Task #6116 で広げた）。**Bug #6123 の時点では
	   県の一覧を測っていなかったので地域の入口 8 本に絞っていた。2026-09-14 10:49 の実測
	   （幅 375px・千葉県と北海道で同値）で、県の一覧も囲みが dev 216 対 移行元 202.42 と
	   同じ差であることを確かめたので広げた。内訳も同じ（内余白 4 ＋ 絵の高さ 3.58 ＋
	   行の余り 6）。

	   🚨 **細かいほうの印へ戻さない。**戻すと県の一覧 16 ページで絵だけが大きくなる
	   （差し替えと幅は同じ 1 本が受け持つため、片方だけ残すと今より悪くなる）. */
	body.pa-branch-area-list .pa-branch__content .shop_detail {
		padding: 10px 0;
	}

	body.pa-branch-area-list .pa-branch__content .shop_detail .sd_arrow img {
		display: block;
	}

	/* デートスポットの「所在地」の箱は携帯幅で 2 段組みにしない（Bug #2098）。
	   2 段組みの根拠になっている移行元のパソコン版は幅 1,100px 固定で、携帯では
	   別の HTML（sp/spot/detail/）を配っており、そちらの情報の箱は縦に積む作りで
	   ある。375px で 49% ずつに割ると 1 列 155px まで細り、箱の高さが実測で
	   1,344px（縦積みなら 570px 台）まで伸びたため、この幅では解除する. */
	:is(.single-content--branch-spot, .single-content--spot-archive) .infobox:has(.googleMap) {
		display: block;
	}

	:is(.single-content--branch-spot, .single-content--spot-archive) .infobox:has(.googleMap) > div {
		width: auto;
	}
}

/* ==============================================================
   C1 #1100: 記事コンテンツ（pa_article）の単一ページ
   対象 = 移行元の 3 セクション（/contents/ お見合いコラム・/counseling/
   恋愛相談・/konkatsu-sp/ 婚活で見つける幸せな結婚への道）。
   移行元 counseling/css/style.css（sentence/column と同一の 149 行）を
   共通の土台として写し、contents/css/style.css・konkatsu-sp/css/style.css
   だけにある差分を、テンプレート（single-pa_article.php）が URL の先頭
   ディレクトリから付ける修飾クラス（.pa-article--contents /
   .pa-article--konkatsu-sp）で上書きする。
   アイコン 2 つ（見出しの金色の縦棒・関連記事のハート）は移行元の実ファイルを
   assets/images/article/ へ写して参照する（移行元 images/event/icon_copy.gif・
   counseling/images/icon_hearts.png）。
   ============================================================== */

/* 本文の柱。移行元 #seo は幅 1100px 固定。
   祖先 .entry-content には本文を読みやすくするための意図した柱（max-width:
   800px。上の「移行してきた一覧を、本文の 800px の柱から外へ出す（Bug #1816）」
   のコメント参照）があり、max-width だけを #seo 側に置いても 800px に押し込ま
   れて 1100px にならない（静的確認で実測。1440px 幅で #seo の実測が 800px に
   留まっていた）。ワード解説の一覧（.entry-content .story_inner）と同じ
   「柱の外へ出す」技法で、#seo 自身を viewport 基準の幅に置き直す。
   対象を .single-content--pa-article に絞ってあるため、他の記事の 800px の柱
   （文章の読みやすさの方針）は変えない. */
.single-content--pa-article .pa-article #seo {
	/* 🚨 **この 2 行は携帯幅（749px 以下）のために残してある。**750px 以上では
	   このファイルの下の囲みが移行元と同じ固定 1,100px へ上書きする（Task #4266）。
	   素の規則を直に固定幅にすると、携帯幅でも 1,100px になってしまう。 */
	width: min(1100px, 100vw);
	margin-inline: calc(50% - min(550px, 50vw));
	padding: 0 0 30px;
	text-align: left;
	/* 本文の基準サイズ。移行元 counseling は共通 CSS（-common.css）の 13px を
	   継承しており、この節では書いていない。テーマの本文既定（16px）のままだと
	   記事全体が 24% 高くなるため、ここで明示する（contents 15px・konkatsu-sp
	   16px の上書きは下の節がそのまま行う）. */
	font-size: 13px;
	line-height: 1.7;
}

/* 上の柱を外へ出したことで祖先より広くなるため、横スクロールが出ないように
   抑える（Bug #1816 と同じ理由・同じやり方）. */
/* 🚨 **ここに在った横方向の切り落としは外した（Task #4266）。**
 *
 * もとは `body:has(.single-content--pa-article .pa-article #seo) { overflow-x: clip }`
 * で、上の器が柱より広くなるぶんの塗り出しを抑えていた（Bug #2826 と同じ筋。
 * `100vw` が縦スクロールバーの幅を含むため、バーが場所を取る環境で画面幅 1,280px
 * 未満にページ全体の横スクロールが出る、という理由だった）。
 *
 * **移行元は固定幅の器を紙面からはみ出させ、横送りで届かせる作りなので、切り落とすと
 * 移行元で読める右側が dev では読めない**（裁定 320）。器の幅を移行元と同じ固定
 * 1,100px に戻したので、こちらも外す。
 *
 * 🚨 **戻すときは器の幅も一緒に戻すこと。**器が固定 1,100px で切り落としだけを
 * 復活させると、移行元で読める右側が読めない状態に戻る. */

/* 🚨 **記事の柱の固定幅は 750px 以上だけに絞る（Task #4266）。**
 *
 * 移行元の `#seo` は**固定 1,100px** である（`contents/css/style.css` 16 行）。
 * 上の素の規則は `min(1100px, 100vw)` で画面の幅に追従していたので、ここで戻す。
 * 「750px 以上で横スクロールを出さない」という古い方針に沿った書き方だったが、
 * **裁定 265（750px 以上は移行元と同じく横スクロールを許容する）で覆った。**
 *
 * 🚨 **携帯幅（749px 以下）は素の規則のまま残す。**移行元はこの区画のページに
 * スマートフォン版を持っており（写しの `/sp/contents/` `/sp/counseling/`）、
 * **携帯幅の正解は移行元スマホ版である**（裁定 46）。
 *
 * 🚨 **選択子を短くしてはいけない。**`#seo` は支店紹介のデートスポットにも出るので、
 * `.single-content--pa-article .pa-article` の前置きを落とすと巻き添えになる。
 *
 * 🚨 **中央寄せの式（`margin-inline: calc(50% - min(550px, 50vw))`）はここに書かない。**
 * 上の素の規則が持っている式が、移行元の `margin: 0 auto` と同じ振る舞い（器が親より
 * 広いときは左端 0 で止まる）と、柱の外へ出す役目の両方を担っている. */
@media (min-width: 750px) {
	.single-content--pa-article .pa-article #seo {
		width: 1100px;
	}
}

/* 先頭へ戻るの帯を、移行元と同じ 1,100px へ戻す
 * （恋愛相談 `/counseling/`・Bug #4632／婚活で見つける道 `/konkatsu-sp/`・Bug #4694）。
 *
 * 【移行元の値】`.page_topArea` は幅 **1,100px**。左端は紙面に対して中央に置かれる
 * ので、幅 1440px で **170px**・幅 1200px で **50px** になる（実測。両群とも同じ値で、
 * 高さも 109px でそろう）。幅 1200px では移行元側にも横のはみ出しが 80px 出る.
 *
 * 【dev の値】**800px**。この帯は `#seo` の兄弟で、`#seo` だけが上の規則で柱
 * （`.entry-content` の 800px）の外へ出ているため、帯は柱の中に残っていた。
 * 一般の規則（このファイルの `:is(.entry-content, .page-content__body) .page_topArea`）は
 * `max-width: 1100px` を持つが、**上限は親より広くはなれない**ので 800px どまりになる。
 *
 * 🚨 **`width` で書く（`max-width` では効かない）。**同じ形の手当てが会社情報
 * （`#company .page_topArea`）と成婚ストーリー（`.single-content--story`）に既にある。
 *
 * 🚨 **中央寄せの式（`margin-inline`）も書く。**実測で分かったことだが、
 * `width` だけでは**左端が直らない**。一般の規則の `margin: 0 auto` は、箱が親より
 * 広いときの自動の余白を 0 に解くので、帯は親の左端（幅 1440px の画面で 320px）から
 * 始まったままになる。移行元の左端は幅 1440px で **170px**・幅 1200px で **50px**
 * である（`#contents` が全幅で、`margin: 0 auto` が (紙面 − 1100) / 2 を作る）。
 *
 * さらに、式が無いと**横のはみ出しが増える**。実測（幅 1200px・手元の紙）:
 * 式なしだと帯の右端が 200 + 1100 = 1300px になり、はみ出しが 80 → **100px** へ
 * 増えていた（80px は台帳 93 行・裁定 346 の承認済みの値）。式を足すと左端が 50px に
 * なり、右端 1150px で紙面に収まるので、はみ出しは 80px のまま変わらない。
 *
 * 式はすぐ上の `#seo` の素の規則と同じものである（`#seo` の左端は両側とも 170px で
 * 一致している）。**この帯も同じ器の外へ出す必要がある。**
 *
 * 🚨 **帯を持つ 2 つの群だけに絞る。**`.pa-article--counseling` と
 * `.pa-article--konkatsu-sp` は、型紙（`single-pa_article.php`）が移行元の道すじの
 * 先頭階層から付ける目印である。**恋愛相談（`/counseling/`・77 ページ）と
 * 婚活で見つける幸せな結婚への道（`/konkatsu-sp/`）は、移行元でどちらも
 * この帯を 1,100px で持つ**（実測。幅 1440px で左端 170px・幅 1200px で左端 50px・
 * 高さは両群とも 109px）。**同じ投稿型のお見合いコラム（`/contents/`）は移行元に
 * この帯を持たない**ので、当たり先へ足さない。
 *
 * 婚活で見つける道は Bug #4694 で足した。**症状・原因・値がすべて恋愛相談と同じ**
 * （dev は幅 800px・左端 320px。勝っている値が `width: 800px` で `max-width: 1100px`
 * が負ける）ため、宣言を写さず当たり先を並べ書きにしている。
 *
 * 🚨 **750px 以上に閉じる。**移行元は 749px 以下で別のページ（`/sp/counseling/`）を
 * 返すので、携帯幅の正解はそちらである（裁定 46）。すぐ上の `#seo` の囲みと同じ境目.
 */
@media (min-width: 750px) {
	/* 🚨 **ワード解説（`.pa-post--word`）もここへ入れる**（Bug #6206）。移行元は
	   `public/css/style.css` の `.page_topArea { width: 1100px; margin: 0 auto }` で
	   幅を**固定値**で持つが、テーマの既定は `max-width: 1100px` なので**親の幅に
	   合ってしまう**。ワード解説の親は本文の柱 `.entry-content`（`--pa-inner-xs`
	   = 800px）なので、囲みが 800px になり、右へ寄せた押しボタンが **150px 左**へ
	   動く（幅 1440px の実測: 移行元の押しボタン 1220〜1270px 対 dev 1070〜1120px。
	   押しボタンの寸法は両側 50 × 109px で一致）。
	   🚨 **ワード解説は `post_type: post` なので `.pa-article--*` は付かない。**
	   当たり先は `template-parts/content-single.php` が付ける `.pa-post--word` である.
	   実測は 2017・2019・2022 年版の 3 ページ（`pa-verify-assets/S2/6206-measure/`）. */
	.single-content--pa-article .pa-article--counseling .entry-content > .page_topArea,
	.single-content--pa-article .pa-article--konkatsu-sp .entry-content > .page_topArea,
	.pa-post--word .entry-content > .page_topArea {
		width: 1100px;
		margin-inline: calc(50% - min(550px, 50vw));
	}
}

.single-content--pa-article .pa-article a.seo,
:is(.pa-page--sentence, .pa-page--column) a.seo {
	text-decoration: none;
}

/* 記事本文の画像。縦の位置合わせを文字の下端（baseline）へ戻す。テーマが
   画像に `vertical-align: middle` を当てており、画像を含む行の下の余白
   （ディセンダ分）が消えて詰まってしまうため（移行元は baseline 既定）. */
.single-content--pa-article .pa-article #seo img,
:is(.pa-page--sentence, .pa-page--column) #seo img {
	vertical-align: baseline;
}

/* 段落の基底。移行元は margin 0・line-height は親から継承。テーマの p 既定
   （margin-bottom: 25px; line-height: 1.5）が乗る分を打ち消す. */
.single-content--pa-article .pa-article #seo p,
:is(.pa-page--sentence, .pa-page--column) #seo p {
	margin: 0;
	line-height: inherit;
}

/* リストの基底。p と同じ理由（移行元は li margin 0・line-height は親から
   継承）。テーマの li 既定（.entry-content li, .page-content__body li の
   margin-bottom: 7.5px; line-height: 22.5px）が乗る分を打ち消す。画像の
   vertical-align を baseline に戻したことで、button-wrap の li 高が
   偶然の一致から外れて顕在化した. */
.single-content--pa-article .pa-article #seo li,
:is(.pa-page--sentence, .pa-page--column) #seo li {
	margin: 0;
	line-height: inherit;
}

/* 一覧の入れ物の基底。移行元は共通 CSS で `ul` / `ol` を初期化している
   （`css/common.css` の 100〜102 行 `list-style: none`、266〜269 行
   `margin: 0; text-align: left`、内余白も 0）。テーマはこれを持たず、本文の一覧に
   下余白 25px・字下げ 24px・行頭記号（●）を与える。

   用語集とコラムの 2 区画には Bug #2219 で同じ初期化を入れてある（27034 行あたり）。
   **記事の節にも同じものが要る。**記事の関連記事の囲みが `dl` で書かれていて
   上の `#seo dl` の初期化で足りていたため、これまで表面化していなかった。

   掛かるのは 2 種類ある。

   | 一覧 | 何ページ | 移行元との差（実測・幅 1440px） |
   |---|---:|---|
   | `ul.paddingb10` | 2（`/contents/divorced/female/` と `/male/`） | 下余白 +25px × 2 個で本文の柱が +50px |
   | `ul.button-wrap` | 133（お見合いコラム 66・婚活で見つける道 67） | 字下げ 24px で中の 3 つの釦が右へ 4〜20px ずれる |

   **釦の並びのずれは Bug #2246 の報告に無かった。**この初期化を書く前に、移行元と
   dev の両方で `ul` の値を全数で採って見つけた（移行元は釦の並びも字下げ 0・記号
   なし。dev は 24px・disc）。原因は同じなので併せて直す. */
.single-content--pa-article .pa-article #seo :is(ul, ol) {
	padding: 0;
	list-style: none;
	text-align: left;
}

/* 外余白は釦の並びを外して打ち消す。**移行元でも釦の並びだけは上 60px を持つ**
   （移行元の専用 CSS が共通の初期化のあとに足している）。テーマも
   `.button-wrap { margin: 60px auto 0 }` で写してあるが、その規則は class だけで
   組み立てられており、id を含むこの規則に負ける。ここで巻き込むと 60px が消える. */
.single-content--pa-article .pa-article #seo :is(ul, ol):not(.button-wrap) {
	margin: 0;
}

/* 定義リストの基底。移行元 common.css の dl（margin: 1em = 本文サイズ基準。
   contents 節は 15px）・dl dd（margin-bottom: 0）を復元する。テーマの dl/dd
   既定（dl margin-bottom: 25px・dd margin: 0 0 16px 25.6px）が乗る分を打ち消す。

   四方に効かせる（`1em 0` ではない）。移行元 common.css の 271 行は
   `dl { margin: 1em }` で、**左右にも 1em を持つ**。ここを縦だけにしていたため、
   関連記事の一覧（.hearts）の中の dl が移行元より 30px 広くなっていた
   （実測: 移行元 738px / dev 768px。Bug #2121）。
   この一覧の項目は `display: inline` で横に流れるため、器の幅が変わると
   折り返しの位置がずれ、**項目数が同じでも行数が増減する**。そのため
   「移行元より 1 行少ない」ページと「3 行多い」ページが同時に現れていた. */
.single-content--pa-article .pa-article #seo dl,
:is(.pa-page--sentence, .pa-page--column) #seo dl {
	margin: 1em;
}

.single-content--pa-article .pa-article #seo dd,
:is(.pa-page--sentence, .pa-page--column) #seo dd {
	margin: 0;
}

/* 移行元は回り込み（float）で画像とテキストを並べる箇所が多い。回り込みを
   解除する要素が移行の過程で失われても崩れないよう、清算を付けておく
   （.pa-branch__content .clearfix::after と同じ理由・同じやり方）。
   本文の柱（section#seo）自身と、記事下の「先頭へ戻る」の囲み（.page_topArea）も
   clearfix を持つため、#seo の「中」だけでなく本文全体を対象にする。移行元の
   .clearfix はサイト全体に効く共通の規則で、同じ範囲である（Bug #2055 で、右へ
   回り込ませた .page_top の高さが囲みの高さに入らない件を直すときに広げた）. */
.single-content--pa-article .pa-article .clearfix::after,
:is(.pa-page--sentence, .pa-page--column) .clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* p の基底を margin: 0 にしたことで、テーマのユーティリティ .mt30 / .mb20 / .mb50
   （:is(.entry-content, .page-content__body) 配下・詳細度が id を含む
   基底より低い）が打ち負かされてしまう分を復元する（marginl20 と同じ作法）。

   記事の本文に現れる余白のユーティリティは全数を数えた（Bug #2120）。移行元の
   3 セクション（/contents/ /konkatsu-sp/ /counseling/）の section#seo の中で
   使われているのは 11 種で、そのうち移行元が読み込む CSS に宣言があるのは
   .mb20（271 箇所）・.mb50（35 箇所）・.paddingb10（450）・.paddingb30（395）・
   .paddingb70（245）・.marginl20（145）・.marginb16（145）の 7 種だけである。
   残る 4 種（.margint30 が 210 箇所・.margint10 が 6・.margint05 が 3・
   .paddingb20 が 1）は、移行元が読み込む CSS のどこにも宣言が無く、移行元でも
   何の効き目も持たない。よって復元しない（復元すると移行元より余白が増える）. */
.single-content--pa-article .pa-article #seo .mt30 {
	margin-top: 30px;
}

.single-content--pa-article .pa-article #seo .mb20 {
	margin-bottom: 20px;
}

.single-content--pa-article .pa-article #seo .mb50 {
	margin-bottom: 50px;
}

.single-content--pa-article .pa-article #seo .paddingb70 {
	padding-bottom: 70px;
}

/* タイトル（本文の先頭の p.copy。difference は h1.copy）。移行元 #seo .copy。
   h1 で使われる記事では、UA既定の見出しマージンとテーマの見出し line-height
   （h1〜h6 共通規則）が乗る分を、ここで明示的に打ち消す. */
.single-content--pa-article .pa-article #seo .copy,
:is(.pa-page--sentence, .pa-page--column) #seo .copy {
	margin-top: 0;
	margin-bottom: 15px;
	font-size: 24px;
	line-height: inherit;
	letter-spacing: 0.05em;
	text-align: center;
}

/* リード文。移行元 #seo .read. */
.single-content--pa-article .pa-article #seo .read,
:is(.pa-page--sentence, .pa-page--column) #seo .read {
	margin-bottom: 35px;
	font-size: 16px;
	line-height: 160%;
	letter-spacing: 0.1em;
	text-align: center;
}

.single-content--pa-article .pa-article #seo .text_alignR,
:is(.pa-page--sentence, .pa-page--column) #seo .text_alignR {
	text-align: right;
}

.single-content--pa-article .pa-article #seo .paddingb10,
:is(.pa-page--sentence, .pa-page--column) #seo .paddingb10 {
	padding-bottom: 10px;
}

.single-content--pa-article .pa-article #seo .marginl20,
:is(.pa-page--sentence, .pa-page--column) #seo .marginl20 {
	margin-left: 20px;
}

.single-content--pa-article .pa-article #seo .marginb16,
:is(.pa-page--sentence, .pa-page--column) #seo .marginb16 {
	margin-bottom: 16px;
}

.single-content--pa-article .pa-article #seo .paddingb30,
:is(.pa-page--sentence, .pa-page--column) #seo .paddingb30 {
	padding-bottom: 30px !important;
}

/* 節の見出しの明朝体。移行元 #seo .minH4. */
.single-content--pa-article .pa-article #seo .minH4,
:is(.pa-page--sentence, .pa-page--column) #seo .minH4 {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.single-content--pa-article .pa-article #seo .yearIndex,
.single-content--pa-article .pa-article #seo .txt,
:is(.pa-page--sentence, .pa-page--column) #seo .txt {
	text-align: left;
}

.single-content--pa-article .pa-article #seo .float_r,
:is(.pa-page--sentence, .pa-page--column) #seo .float_r {
	float: right;
}

/* 節の見出しの左に付く金色の縦棒（4x16px の画像）。移行元 #seo .title_style05. */
.single-content--pa-article .pa-article #seo .title_style05,
:is(.pa-page--sentence, .pa-page--column) #seo .title_style05 {
	background: url("../images/article/icon_copy.gif?ver=cdb5bb0c6f2a") no-repeat left center;
	margin-bottom: 15px;
	padding: 0 0 0 9px;
	font-size: 20px;
	line-height: 100%;
	letter-spacing: 0.05em;
}

/* h2/h3 として使われる .title_style05 に、テーマの見出し規則（金色・上マージン・
   左ボーダー）が乗ってしまう分を打ち消す。移行元 CSS に色・ボーダー指定は無い。

   用語集とコラムの側は h4 も見る。移行元でこのクラスが付く段位を全数で数えると、
   記事は h2（お見合いコラム 179）と h3（恋愛相談 172・婚活で見つける道 82）だけだが、
   用語集とコラムは h3 が 236 箇所・**h4 が 31 箇所**ある（差し込みを展開して実測）。
   h4 は「Story Lists」の見出しで、打ち消さないとテーマの見出しの上余白 50px が残る
   （実測: /sentence/lovestory/ の一覧の箱が移行元 251.8px に対し 301.8px）. */
.single-content--pa-article .pa-article #seo :is(h2, h3).title_style05,
:is(.pa-page--sentence, .pa-page--column) #seo :is(h2, h3, h4).title_style05 {
	margin-top: 0;
	padding-bottom: 0;
	border: 0;
	color: inherit;
}

/* 本文の末尾に置かれた「ページの先頭へ戻る」（移行元 .page_top。Bug #2055）。
   写し元は移行元 public/css/style.css の
   `.page_top { float: right; padding: 40px 0 0; clear: both; }` である。上の内余白 40px が
   画像（50x63px）と合わさって高さ 110.5px を作る。
   テーマは本文中の .page_top へ全ページ共通の規則（上の外余白 var(--pa-space-sm)・
   右寄せ）を当てており、記事では高さ 70.5px・内余白 0・右寄せになって移行元と食い違う
   （2026-08-25 の検収の実測）。ここで記事の本文の中だけを移行元の値へ戻す。
   #seo の中だけに絞らないのは、置き場所が記事の作りで 2 通りあるためである（実測:
   /contents/ の記事は section#seo の直下、/konkatsu-sp/ の記事は差し込みの囲み
   div.page_topArea の中）。回り込みの清算は、この区画の上のほうにある
   `.single-content--pa-article .pa-article .clearfix::after` が両方の囲みに効く
   （移行元も同じく囲みへ clearfix を付けている）. */
.single-content--pa-article .pa-article .page_top,
:is(.entry-content, .page-content__body) :is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo) .page_top {
	float: right;
	clear: both;
	margin: 0;
	padding: 40px 0 0;
	text-align: left;
}

/* 「先頭へ戻る」が差し込みの囲み（div.page_topArea）の中にある記事で、高さが
   移行元より 6px 低い（移行元 109px / dev 103px。Bug #2110）。
   この囲みは本文の柱（section#seo）の外にあり、文字組みをページの土台から
   受け継ぐ。移行元の土台は文字 13px・行の高さ normal（移行元
   public/css/common.css の body・28〜35 行）だが、テーマの土台は 16px・24px
   である。中身は 50x63px の画像 1 枚で、画像は行の中に置かれるため、
   **行の器の高さが変わると囲みの高さも変わる**。
   画像の縦位置も違う（移行元は baseline、テーマは写真へ middle を当てている。
   同じ理由で戻している例が、この区画の上のほうにある移行元の写真の指定）。
   3 つを移行元の値へ戻すと 109px で一致する（実測: /konkatsu-sp/action/couple/・
   /konkatsu-sp/trend/・/counseling/present/no_lover/no_like/type/ の 3 本）。
   .page_top 自身にも行の高さを書くのは、テーマが段落へ別の行の高さ（1.5 =
   13px なら 19.5px）を当てており、囲みだけに書くと 0.5px 残るためである
   （実測で 108.5px。ここまで絞り込んだ）。
   section#seo の直下に置かれる型（/contents/ の記事）は、この囲みを持たないため
   対象外である。そちらは 110.5px で移行元と一致している（Bug #2055 で是正済み）. */
.single-content--pa-article .pa-article .page_topArea,
.single-content--pa-article .pa-article .page_topArea .page_top {
	font-size: 13px;
	line-height: normal;
}

.single-content--pa-article .pa-article .page_topArea .page_top img,
:is(.entry-content, .page-content__body) :is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo) .page_topArea .page_top img {
	vertical-align: baseline;
}

/* 関連記事の一覧の囲み（本文へ差し込まれる include の中身）。移行元の
   .hearts 系。dt の左にハートのアイコンが付く. */
.single-content--pa-article .pa-article .b_bnrarea dt,
.single-content--pa-article .pa-article .nearbranchs dt,
.single-content--pa-article .pa-article .stations dt,
.single-content--pa-article .pa-article .hearts .heartsMain dt,
:is(.pa-page--sentence, .pa-page--column) .hearts .heartsMain dt {
	font-weight: bold;
	font-size: 108%;
	padding: 0 0 8px 25px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 8px;
}

.single-content--pa-article .pa-article .b_bnrarea,
.single-content--pa-article .pa-article .nearbranchs,
.single-content--pa-article .pa-article .stations,
.single-content--pa-article .pa-article .hearts,
:is(.pa-page--sentence, .pa-page--column) .hearts {
	border: 1px solid #cccccc;
	margin-top: 30px;
	padding: 10px 15px;
}

.single-content--pa-article .pa-article .hearts .heartsMain dt,
:is(.pa-page--sentence, .pa-page--column) .hearts .heartsMain dt {
	font-weight: bold;
	background: url("../images/article/icon_hearts.png?ver=fe74ba0253f4") scroll no-repeat left 2px;
	background-size: 22px 22px;
	font-size: 110%;
}

.single-content--pa-article .pa-article .nearbranchs dd,
.single-content--pa-article .pa-article .stations dd,
.single-content--pa-article .pa-article .hearts dd,
.single-content--pa-article .pa-article .hearts li,
:is(.pa-page--sentence, .pa-page--column) .hearts dd,
:is(.pa-page--sentence, .pa-page--column) .hearts li {
	display: inline;
	padding: 0 10px 0 7px;
}

/* 一覧の項目のリンクの文字色（Bug #2955）。移行元
   public/contents/css/style.css の 179 行が
   `.nearbranchs dd a, .stations dd a, .hearts dd a, .hearts li a { color: #666 }`
   と 1 つの規則で 4 つの当たり先へ当てている。**この節の他の 5 規則は 4 つの
   当たり先とも写されているのに、この色だけが写されていなかった。**
   移行元と同じ 1 規則のまま写す（3 つに割ると「なぜここだけ別か」を後から追うことになる）。

   【当たる要素の実数（移行元の写しを 2026-09-09 に走査）】
   - `.hearts` … HTML 136 件（投入した本文の中では 3 件。残りはテーマが差し込む）
   - `.stations` … HTML 12 件（**デートスポットの入口** `introduce/spot/spot01-06.html`。
     パソコン版 6 ＋ スマホ版 6。9 班が全数で数えた。**支店紹介ではない。**`/branch/` 配下は 0 件）
   - `.nearbranchs` … **HTML 0 件。**移行元の CSS ファイル 19 本の中にだけ在る、
     **当たり先が存在しない死んだ指定**である（9 班が全数で確かめた）。
     写しても当たる要素は無いが、移行元の規則をそのままの形で保つために残す。
     🚨 **この 1 本については「効いている」と言えない。**検査でもそう扱う

   🚨 **鍵を緩めないと 0 件と誤る。**`class="hearts"` で探すと 0 件に見えるが、
   `class="[^"]*\bhearts\b` で数え直すと 136 件ある（`class="hearts clearfix"` の形）。

   【強さ】素の `a { color: var(--pa-color-link) }`（詳細度 (0,0,1)）に対し、
   ここは (0,1,2) 以上なので勝つ。共通側は弱めない. */
.single-content--pa-article .pa-article .nearbranchs dd a,
.single-content--pa-article .pa-article .stations dd a,
.single-content--pa-article .pa-article .hearts dd a,
.single-content--pa-article .pa-article .hearts li a,
:is(.pa-page--sentence, .pa-page--column) .nearbranchs dd a,
:is(.pa-page--sentence, .pa-page--column) .stations dd a,
:is(.pa-page--sentence, .pa-page--column) .hearts dd a,
:is(.pa-page--sentence, .pa-page--column) .hearts li a {
	color: #666;
}

.single-content--pa-article .pa-article .hearts .heartsMain .heartsSub dt,
:is(.pa-page--sentence, .pa-page--column) .hearts .heartsMain .heartsSub dt {
	font-weight: bold;
	font-size: 108%;
	padding: 0;
	border-bottom: none;
	margin: 0;
	background-image: none;
}

.single-content--pa-article .pa-article .hearts .heartsMainDd,
:is(.pa-page--sentence, .pa-page--column) .hearts .heartsMainDd {
	background-image: none;
	padding: 0;
}

/* お見合い・結婚コラムの関連記事の囲みを、携帯幅で移行元スマホ版の字へそろえる（Bug #5332）。

   【移行元スマホ版が 375px で描く値】`sp/contents/` を iPhone の名乗りで開いて実測した。
   - `.heartsMain > dt` の器 … 14.3px（`sp/contents/css/style.css` 60 行の `font-size: 110%`
     × 根の 13px）。dev はこの器が 16.5px だった（親が 15px なので 110% が 16.5px になる）
   - **実際に読む字はすべて `a` の中にあり、移行元では 13px** である。囲みの中の `dt` も `dd`
     も、中身は `<a>` 1 個だけで、直に字を持たない
   - dev の `a` は器から受け継いで `dt` の中が 16.5px、`dd` の中が 15px だった（差 +3.5 / +2）

   🚨 **器の宣言と、画面に出る字は別である。**移行元の `dd` は 15px と宣言していて dev と
   同じだが、その中の `a` は 13px で描かれる。`sp/css/basic.css` の 3〜23 行の初期化が
   `a` を含む全要素へ `font-size: 13px` を**直に**宣言するので、親の `dd` が 15px でも
   `a` には受け継がれない。器どうしを比べると「差なし」に見えるので、字の出る場所で測る。

   【なぜ `.pa-article--contents` で絞るか】`heartsMain` は移行元で 137 ページが使い、
   区画をまたぐ（`contents` / `column` / `counseling` / `report` / `sentence` / `spot` ほか）。
   素で `dl.heartsMain` と書くと、デートスポットの 3,327 ページと `report` の 154 ページまで
   動く。テーマの `pa-article--` の印は 4 種類（`konkatsu-sp` / `contents` / `counseling` /
   素）だけで、前方一致で他を巻き込む組は無い（5 班が全数で確かめた）。

   【強さ】上の 2 本（`(0,4,1)` と `(0,5,1)`）に勝つため、器の側は `.single-content--pa-article`
   から書いて同じ強さにし、後ろに置いて順で勝たせる。字の側（`a`）は、`a` の大きさを
   宣言する規則が他に無いので、この 1 本だけで決まる. */
@media (max-width: 749px) {
	.single-content--pa-article .pa-article--contents .hearts .heartsMain dt,
	.single-content--pa-article .pa-article--contents .hearts .heartsMain .heartsSub dt {
		font-size: 14.3px;
	}

	.single-content--pa-article .pa-article--contents .hearts :is(dt, dd, li) a {
		font-size: 13px;
	}

	/* 行送り（Bug #5522）。**移行元は宣言を 1 本も持たず初期値 `normal` である**
	   （`/sp/contents/` が読む CSS 4 本すべてから注釈を落として走査し 0 件。
	   祖先の `body` / `html` / `*` / `#seo` / `#contents` / `#wrapper` も 0 件）。
	   dev はテーマの `.single-content--pa-article .pa-article #seo` の **1.7** を
	   受け継ぐため、`dt` の行の箱が 22px → 24.31px に広がる（実測 31 対 33.3）. */
	.single-content--pa-article .pa-article--contents .hearts {
		line-height: normal;
	}

	/* 中のリンクを塊にする（移行元 `sp/contents/css/style.css` の 72〜74 行）。

	   🚨 **移行元はカンマ列の `dd a` / `li a` の側へ `display: block` を置く。**
	   dev は同じ列を写しているのに宣言だけを落とし、素の側で `dd` / `li` 自身へ
	   付けている。**`dd` は既定で塊なのでそれは何も変えず、`a` が行内のまま残る。**

	   【なぜこれで移行元と同じ 40px になるか】**両側とも `dd` 自身の字は 15px で、
	   中の `a` は 13px である。**

	     移行元 … `sp/css/style.css` の **1616 行**の**素の** `dd { padding: 10px 6.25%;
	              font-size: 15px }` が初期化（`sp/css/basic.css` 3〜23 行の 13px）を
	              上書きする。`a` は初期化が**直に** 13px を宣言するので 13px のまま
	     dev  … `dd` はテーマの `#seo` から 15px を受け継ぐ。`a` は上の 62281 行の
	              規則で 13px（Bug #5509）

	   🚨 **つまり字は両側で同じで、違うのは `a` が塊かどうかだけである。**
	   `a` が塊なら `dd` に行内の中身が無くなり、行の箱は `a` の 13px で決まる
	   （13 × normal = 20px → 箱 40px）。`a` が行内だと `dd` 自身の 15px が
	   行の箱を決める（15 × 1.7 = 25.5px → 箱 45.5px）。**移行元の 40px は、
	   この `display: block` が作っている。**

	   🚨 **字の大きさは 1 つも動かさない。**`#seo` の 15px は移行元パソコン版
	   `#contents { font-size: 15px }` の写しで、携帯幅だけ動かすと記事の本文
	   3,000 ページ超に及ぶ（この Issue の対象外）。

	   🚨 **`/report/` と `spot` へ広げない。**あちらは移行元と一致している
	   （両側 40px / 31px・D5 の実測 2026-09-11 00:21）. */
	.single-content--pa-article .pa-article--contents .hearts :is(dd, li) a {
		display: block;
	}
}

/* 恋愛相談の関連の囲みで、小分類の見出しにも携帯幅だけハートの印を出す（Task #9180）。

   【移行元】パソコン版は `counseling/css/style.css` の 125〜132 行で、小分類の `dt` の
   印を消す（`background-image: none`・`padding: 0`）。スマホ版の `sp/counseling/css/style.css`
   にはこの規則が無い。そのため親の `.hearts .heartsMain dt`（60〜67 行・ハートの絵と
   左の余白 25px）が、入れ子の `.heartsSub dt` にもそのまま効く。dev は上のパソコン版の
   規則を写しているので、携帯幅で印が 2〜3 個足りなかった（#9180 の表・幅 375 の実測）。

   ユーザー決定 **D504**（移行元のスマホ版だけが持つ部品は携帯幅で出す）に当てる。

   🚨 **戻すのは絵と左の余白 25px だけである。**下の余白 8px・下線・字の大きさなど
   `dt` の寸法の差は、D495 ② の組み立ての差としてパソコン版のまま残す（#9180 の範囲）。
   絵の位置・繰り返し・大きさは、親の一括指定（`background: … left 2px`・22px 角）が
   この `dt` にも当たっているので、`background-image` を戻すだけで親と同じに描かれる。

   🚨 **`.pa-article--counseling` で絞る。**同じ規則を共有するお見合い・結婚コラム
   （`--contents`）と `konkatsu-sp` は、移行元スマホ版の規則を数えていないので動かさない。

   【強さ】パソコン版の規則 `.single-content--pa-article .pa-article .hearts .heartsMain
   .heartsSub dt`（`(0,5,1)`）と同じ強さで、後ろに置いて順で勝たせる. */
@media (max-width: 749px) {
	.single-content--pa-article .pa-article--counseling .hearts .heartsMain .heartsSub dt {
		background-image: url("../images/article/icon_hearts.png?ver=fe74ba0253f4");
		padding-left: 25px;
	}
}

/* 灰色の下地の囲み。移行元 .konkatsuBox / .boxStyle01. */
.single-content--pa-article .pa-article .konkatsuBox,
:is(.pa-page--sentence, .pa-page--column) .konkatsuBox {
	background-color: #f5f5f5;
	padding: 20px;
}

.single-content--pa-article .pa-article .konkatsuBox .researchList li,
:is(.pa-page--sentence, .pa-page--column) .konkatsuBox .researchList li {
	float: left;
	width: 352px;
}

.single-content--pa-article .pa-article .boxStyle01,
:is(.pa-page--sentence, .pa-page--column) .boxStyle01 {
	background-color: #f5f5f5;
	padding: 20px;
	margin: 15px 0;
}

/* --- お見合いコラム（/contents/）だけの差分。移行元 contents/css/style.css --- */

/* 移行元 #contents { font-size: 15px; } に当たる。本文全体の基準を 15px にする. */
.single-content--pa-article .pa-article--contents #seo {
	font-size: 15px;
}

.single-content--pa-article .pa-article--contents #seo .copy {
	font-size: 28px;
}

.single-content--pa-article .pa-article--contents #seo .box {
	max-width: 800px;
	margin: 40px auto 0;
}

.single-content--pa-article .pa-article--contents #seo .txtBtn_black01 {
	margin: 10px auto 40px;
}

.single-content--pa-article .pa-article--contents #seo .txtBtn_black01 a {
	margin: 0;
	padding: 15px 100px;
}

/* 本文の中の h3 を、移行元と同じ見た目へ戻す（Bug #2506）。

   テーマは本文の見出しへ独自の装飾を当てている（`.entry-content h3` の文字サイズ・
   左の縦線・字下げ・色と、見出し規則の上下の外余白）。**移行元の用語記事に、この
   装飾は無い。**h3 は本文と同じ 15px で、色は黒、左の縦線も字下げも外余白も持たない
   （移行元と dev を並べて計算後の値を測った。2026-08-31）。

   | 見るもの | 移行元 | 直す前の dev |
   |---|---|---|
   | 文字サイズ | 15px | 22px |
   | 行の高さ | 25.5px | 33px |
   | 色 | rgb(0,0,0) | rgb(163,118,43) |
   | 外余白 | 0 | 上 50px / 下 20px |
   | 内余白 | 0 | 左 12px |
   | 左の縦線 | 無し | 4px |

   **高さの差の大半は外余白である**（h3 1 つにつき 70px。文字サイズの分は 7.5px）。
   実測では 2 ページで +232px と +590px ずれていた。

   **当てる範囲を用語記事の区画に閉じている。**`.entry-content h3` そのものを直すと
   本文を持つ全ページに効き、ほかのカテゴリーで移行元と一致している箇所まで動かす
   恐れがある。共通指定の是正は Spike #2513 で全数を調べてから判断する。

   **h3 は 3 種類あり、扱いを分ける**（移行元と dev を並べて全数で測った）。
   最初は一律に戻す規則を書いたが、dev へ実ファイルを差し替えて測ったところ、
   すでに一致していたページまで 70px 動いた。**外余白まで一律に 0 にしたのが誤り**
   だった。

   | h3 の種類 | 移行元 | 直す前の dev | 扱い |
   |---|---|---|---|
   | クラス無し | 15px・外余白 0・縦線無し | 22px・外余白 50/20・縦線 4px | 装飾と外余白を戻す |
   | `.emphatic-title` | 器と同じ文字・外余白 60/40・縦線無し | 22px・外余白 60/40・縦線 4px | **外余白は触らない**（すでに一致） |
   | `.title_style05` | 20px・外余白 15/15・縦線無し | 同じ | **触らない**（すでに一致） |  */
.single-content--pa-article
	:is(.pa-article--contents, .pa-article--konkatsu-sp)
	.entry-content h3:not(.title_style05) {
	padding-left: 0;
	border-left: 0;
	color: inherit;
	line-height: inherit;
	font-size: inherit;
}

/* 申し込み欄の強調の見出し（`h3.emphatic-title.pa-cv-emphasis`）は、パソコン幅では本文の大きさへ戻さない（Bug #6308）。

   移行元の強調の見出しは大きな字の絵（`problem-title02_pc.png`・564 × 188・絵の中の字は 37〜38px）で、
   dev は `inc/word-cv-text.php` が字の見出しに置き換え、共通の規則
   `:is(.entry-content, .page-content__body) .pa-cv-emphasis { font-size: 40px }` で大きく出す。
   上の規則の `font-size: inherit` が詳細度で 40px を打ち消し、コラム 15px・PDCA 16px の
   本文の大きさで出ていた（直す前の読み `pa-verify-assets/B/CV12-直す前の読み-1007/走行1/`）。

   🚨 **上の規則の当て先からは外さない。**外すと縦線・内余白・色の打ち消しも外れ、テーマの h3 の装飾が戻る。
   🚨 **パソコン幅に閉じる。**携帯幅は共通の規則が 24px を当てるが、この 6 ページの携帯幅の申し込み欄は
   組みごと移行元と違い、別の Bug（#9652）で扱う。ここで携帯幅まで動かさない.
   詳細度は上の規則より `.pa-cv-emphasis` の分だけ高いので、上の `inherit` に勝つ。値は共通の規則と同じ 40px.

   🚨 **行の高さも、すゝめの記事と同じ 22.5px（器の 15px × 150%）にする。**中央の吹き出し
   （`.pa-cv-emphasis__mark`）は見出しの行の中に置いた inline-block なので、字を 40px にすると
   見出しの行の高さ（上の規則の `inherit`）の支柱がその行を押し広げる。PDCA の 3 ページは器から
   30.4px を受け継ぎ、見出しが 187 → 192 になった（下見 走行 1 `pa-verify-assets/B/6308-下見-1007/走行1/`）。
   すゝめの記事は 22.5px で、押し広げが起きない（188）. */
@media (min-width: 750px) {
	.single-content--pa-article
		:is(.pa-article--contents, .pa-article--konkatsu-sp)
		.entry-content h3.pa-cv-emphasis:not(.title_style05) {
		font-size: 40px;
		line-height: 22.5px;
	}
}

/* 外余白を戻すのはクラスを持たない h3 だけである（上の表を参照）. */
.single-content--pa-article
	:is(.pa-article--contents, .pa-article--konkatsu-sp)
	.entry-content h3:not(.title_style05):not(.emphatic-title) {
	margin-top: 0;
	margin-bottom: 0;
}

/* 携帯の幅で、本文の器へ移行元の携帯版と同じ左右の余白を持たせる（Bug #2508）。

   ## 何が起きていたか

   本文の器（`#seo`）は左右の外余白を負の値（-15px）にして画面幅いっぱいに広がる。
   左右の余白が無いため、`「` で始まる引用文の行末にぶら下がる約物が**画面の外へ
   出て、文書全体が横へ 7px 動いていた**（幅 375px で実測。実際にスクロールできる
   ことも確かめた）。はみ出していたのは**読める文字**（全角の閉じ括弧・6.6px）である。

   ## 移行元の携帯版に写すべき見え方がある

   移行元の携帯版（`/sp/contents/divorced/female/`）に同じ引用文が在り、**横スクロールは
   0** である。移行元も約物を箱から 3px ぶら下げているが、**箱の左右に余白があるので
   画面に収まる**。

   | | 移行元の携帯版 | 直す前の dev |
   |---|---|---|
   | 文字の箱の幅 | **328.1px** | 375px（全幅） |
   | 左右の余白 | **23.4px** | 0 |
   | 横スクロール | **0px** | 7px |

   余白の根拠は共通の 1 規則である（`/sp/contents/css/style.css` と
   `/sp/konkatsu-sp/css/style.css` の 4 行目 `#sentence { padding: 10px 6.25% 20px; }`）。
   ページごとの違いは無い。**画面幅の 6.25%** なので `6.25vw`（375px で 23.4375px）で
   写す。`6.25%` は親の幅（`.entry-content` の 345px）に対して解決され 21.56px になり、
   移行元と一致しない。

   ## 🚨 直す相手は、下の携帯幅の節が当てている左右 0 である

   このファイルの下方（「スマートフォン幅（749px 以下）」の節）に、すでに次の指定がある。

       .single-content--pa-article .pa-article #seo { padding: 10px 0 20px; }

   **移行元の携帯版の `padding: 10px 6.25% 20px` を写したものだが、左右の 6.25% が
   0 に落ちている。**これが本件の元である。ここを直せば足りる。

   その節はこの規則より後ろにあり、詳細度も同じ（ID 1 + クラス 2）ため、順番で負ける。
   そこで **`.pa-article` を重ねて詳細度を 1 段上げ**、位置に依らず勝つようにしている
   （`:is()` の詳細度は中で最も強いものになるため、`.pa-article:is(…)` はクラス 2 つ分。
   前置の `.single-content--pa-article` と合わせてクラス 3 つ + ID 1 になる）。

   **当てる範囲はカテゴリーごとに閉じている。**上の共通指定（`.pa-article #seo`）を
   直すと本文を持つ全ページに及ぶので、移行元の携帯版の値を確かめたカテゴリーだけを
   `:is()` に足していく。

   🚨 **恋愛相談（`/counseling/`）を 2026-09-20 に足した（Bug #4748）。**
   移行元スマホ版の `sp/counseling/css/style.css` 3〜5 行が
   `#sentence { padding: 10px 6.25% 20px; }` を持つことを字読みで確かめ、
   実ブラウザでも次のとおり測った（移行元リポジトリ www.p-a.jp の `main`・
   固定コミット 25cf8dcdd）。

   | 幅 | dev 恋愛相談 | dev お見合いコラム（物差し） |
   |---|---|---|
   | 375 | **0px / 0px** | 23.4375px / 23.4375px |
   | 320 | **0px / 0px** | 20px / 20px |

   🚨 **移行元スマホ版に `#seo` は無い。**本文の器は `div#sentence` である。
   だから「移行元の `#seo` と比べる」形では測れず、**同じ投稿型で移行元と一致済みの
   お見合いコラムを物差しにした。**

   🚨 **幅 1440 は触らない。**両側とも `#seo` は幅 1100・左端 170 で一致している。

   ## 折り返しの指定では直らない

   `word-break: break-all` / `line-break: anywhere` / `overflow-wrap: anywhere` は
   いずれも 1px も動かさなかった。約物のぶら下がりは仕様どおりの挙動で、止める対象では
   ない（移行元の携帯版も同じようにぶら下げている）。`overflow-x: clip` は横スクロールを
   消すが、**その約物を隠してしまう**ので採らない.  */
@media (max-width: 749px) {
	.single-content--pa-article
		.pa-article:is(
			.pa-article--contents,
			.pa-article--konkatsu-sp,
			.pa-article--counseling
		)
		#seo {
		padding-left: 6.25vw;
		padding-right: 6.25vw;
	}
}

/* 🚨 **恋愛相談（`/counseling/`）のリードの一文（`#seo .read`）を、携帯幅では行頭寄せにする**（Bug #8401）。

   事業部の指摘（「行頭寄せ → 左寄せ」12 か所）を移行元のスマホ版と突き合わせると、見た目が違うのは
   1 ページ 1 か所のこの一文だけだった（幅 375・2026-09-30・`pa-verify-assets/B/8401-SP読み-0930/`）。
     移行元スマホ版 `p.main_copy`: `text-align: start`（左端 23.44・幅 328.13）
     dev `p.read`: `text-align: center`（上の `.single-content--pa-article .pa-article #seo .read`）
   移行元の `sp/counseling/css/style.css` と `sp/css/style.css` は、恋愛相談の `.main_copy` に寄せを
   書いていない（既定の `start`）。
   残りの 10〜13 か所は、計算値が `start`（移行元）と `left`（dev）で違うだけで、横書きでは同じ位置になる。
   左端も両側 23.44 で一致するので直さない。行の間隔は実測で再現しなかったので、ユーザーの目視へ回した
   （ユーザー決定 D612・目視一覧 W178）。

   🚨 **恋愛相談と携帯幅に絞る**（司令塔の裁定 222）。リード文の中央寄せは、お見合いコラム・婚活で見つける道の
   本文と、パソコン幅の恋愛相談（移行元のパソコン版 `#seo .read` も中央寄せ）では正しい.
   値は移行元と同じ `start` にする（`left` と見た目は同じ）. */
@media (max-width: 749px) {
	.single-content--pa-article .pa-article.pa-article--counseling #seo .read {
		text-align: start;
	}
}

/* --- 婚活で見つける幸せな結婚への道（/konkatsu-sp/）だけの差分。
   移行元 konkatsu-sp/css/style.css --- */

.single-content--pa-article .pa-article--konkatsu-sp #seo {
	line-height: 1.9;
	font-size: 16px;
}

/* 節の見出し（.title_style05）の上の外余白。この区画だけ移行元が 15px を持つ
   （移行元 konkatsu-sp/css/style.css の #seo .title_style05 に margin-top: 15px が
   あり、contents/css/style.css と counseling/css/style.css には無い。Bug #2120）。
   共通の区画には、テーマの見出し規則の上余白を打ち消すため
   `:is(h2, h3).title_style05 { margin-top: 0 }` を置いている。その規則と
   詳細度が並ぶため、打ち勝つように `.pa-article` を重ねて 1 段上げる. */
.single-content--pa-article .pa-article.pa-article--konkatsu-sp #seo :is(h2, h3).title_style05 {
	margin-top: 15px;
}

/* 金色の大見出しと、その下の「―――」の飾り。移行元 #seo .copy._gold. */
.single-content--pa-article .pa-article--konkatsu-sp #seo .copy._gold {
	color: #a3762b;
	line-height: 110%;
	font-size: 170%;
}

.single-content--pa-article .pa-article--konkatsu-sp #seo .copy._gold::after {
	display: block;
	content: "―――";
	color: #aa8546;
	letter-spacing: -0.15em;
	margin-bottom: 1rem;
}

.single-content--pa-article .pa-article--konkatsu-sp .report_inner {
	max-width: 950px;
	margin: 3rem auto;
}

/* 関連記事の一覧の項目の文字。この区画だけ移行元が 90% を持つ（移行元
   konkatsu-sp/css/style.css の 133〜138 行 `.hearts dd { font-size: 90% }`。
   contents/css/style.css と counseling/css/style.css には無い。Bug #2121）。
   共通の区画の規則（この区画の上のほうにある `.hearts dd` の
   `display: inline` と内余白）は残したまま、文字の大きさだけを足す。
   項目は横に流れるため、文字が大きいと折り返しの位置がずれる
   （実測: 移行元 14.4px / dev 16px）. */
.single-content--pa-article .pa-article--konkatsu-sp .hearts dd,
.single-content--pa-article .pa-article--konkatsu-sp .hearts li {
	font-size: 90%;
}

/* 入れ子の小見出しの下の余白。この区画だけ移行元が 5px を持つ（移行元
   konkatsu-sp/css/style.css の 139〜146 行 `.heartsSub dt { margin: 0 0 5px 0 }`。
   contents と counseling は `margin: 0`。Bug #2121）。
   区画のトップ（/konkatsu-sp/）の一覧は小見出しを 4 つ持ち、5px × 4 = 20px が
   そのまま囲みの高さの差になっていた（実測: 移行元 430.2px / 余白なし 410.2px）. */
.single-content--pa-article .pa-article--konkatsu-sp .hearts .heartsMain .heartsSub dt {
	margin-bottom: 5px;
}

/* 記事下の申し込みへの導線（本文へ差し込まれる word/include/cta.shtml の中身）。
   移行元 konkatsu-sp/css/style.css の「追記 include部分」. */
.single-content--pa-article .pa-article .word-cta {
	background: #e3d6bf;
	margin: 50px auto 0;
	text-align: left;
}

.single-content--pa-article .pa-article .word-cta-inner {
	padding: 1.5rem 5rem;
}

/* #seo を付けて詳細度を上げる。#seo .word-cta p（margin-bottom: 1rem）に
   打ち負かされて中央寄せの余白（0 auto 2rem）が失われるのを防ぐ. */
.single-content--pa-article .pa-article #seo .word-cta-inner .tac {
	max-width: 600px;
	margin: 0 auto 2rem;
}

.single-content--pa-article .pa-article .word-cta-title {
	font-weight: bold;
	font-size: 1.2rem;
	padding-bottom: 1rem;
	text-align: center;
}

.single-content--pa-article .pa-article .word-cta-title span {
	color: #d8251d;
}

.single-content--pa-article .pa-article .word-cta-subtitle {
	font-weight: bold;
	font-size: 1.2rem;
	border-left: 3px solid #9f792e;
	padding-left: 10px;
	margin-bottom: 1rem;
}

.single-content--pa-article .pa-article #seo .word-cta p {
	margin-bottom: 1rem;
}

.single-content--pa-article .pa-article .word-cta p span {
	font-weight: bold;
	font-size: 1rem;
	display: block;
}

.single-content--pa-article .pa-article .word-cta sup {
	font-size: 0.3rem;
}

.single-content--pa-article .pa-article .word-cta-btn-wrap {
	display: flex;
	justify-content: center;
	padding-top: 0.5rem;
}

.single-content--pa-article .pa-article .word-cta-btn-wrap span {
	font-weight: bold;
}

.single-content--pa-article .pa-article .word-cta-btn {
	width: 350px;
	margin: 0 10px;
	text-align: center;
}

.single-content--pa-article .pa-article .word-cta-btn a {
	background: #d8251d;
	display: block;
	color: #fff;
	padding: 1rem 1.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	text-decoration: none;
}

/* --------------------------------------------------------------
 * 集客記事「結婚相談所のすゝめ」（カテゴリ word）の記事下の申し込みへの導線
 *
 * 本文へ差し込まれる word/include/cta.shtml の中身。上の節（konkatsu-sp）と
 * クラス名は同じ .word-cta 系だが、写し元が別で 5 か所ちがう（width の有無・
 * padding・.tac の中央寄せの有無・見出しの text-align・ボタンの並びの
 * justify-content・ボタンの margin。Bug #2705）。上の節を書き換えると
 * 恋愛相談の記事に婚活用語側の値が当たってしまうため、写しを分けて
 * .pa-post--word（content-single.php の post_class）でだけ当てる。
 *
 * 写し元 legacy/www.p-a.jp/public/word/css/style.css 546〜562 行
 * （版 19f499fe3。移行元・いまの移行元・手元の旧チェックアウトの 3 者が
 * 同一であることを確認済み）。rem は換算しない（本文の根の文字は移行元・
 * dev とも 16px。Issue #2705 の実測で確かめてある）。
 *
 * 見出し（.word-cta-title）に text-align は無い＝.word-cta の text-align: left を
 * そのまま受け継ぐ。Issue #2705 の受入基準にある「中央揃え」は実測と食い違う
 * ため、ここでは中央寄せを足さない。
 *
 * 幅 800px は上限として写す（min()）。移行元は携帯へ別サイト（/sp/ 配下）を
 * 配るためこの固定幅が狭い画面に出会わないが、テーマは 1 つのサイトを全幅へ
 * 配るので、固定値のままだと携帯幅で器から横にはみ出す（#company 等と同じ扱い）。
 * -------------------------------------------------------------- */
.pa-post--word .entry-content .word-cta {
	background: #e3d6bf;
	width: min(800px, 100%);
	margin: 50px auto 0;
	text-align: left;

	/* 🚨 **行送りだけは写し元に無い値を足す**（Bug #7048）。移行元の
	   `word/css/style.css` はこの部品に `line-height` を 1 つも書いておらず、
	   移行元のページの根にも指定が無いので、**移行元の計算値は全要素 `normal`**
	   である。dev は `.entry-content { line-height: var(--pa-line-height-text) }`
	   （(0,1,0)・パソコン幅で 1.5）を受け継ぐため、**同じ字の大きさなのに行が高い**。

	   実測（2026-09-17 22:24・`/word/2017-10-1/`・幅 1440px）。**字の大きさは
	   24 要素すべて一致し、行送りだけが移行元 `normal` 対 dev 22.5px と違った。**
	   高さの差は 5 か所で合計 −13.61px（見出し −5.11・小見出し −6.50・段落 3 つで −2.50・
	   絵の段落 +0.50）。

	   🚨 **携帯幅では何も変わらない。**幅 375px の dev はこの部品の計算値が
	   既に `normal` だった（同じ走行で実測）。明示しても値は動かない.

	   🚨 **子孫は単位の無い 1.5 を受け継いで自分の字の大きさで計算し直す**ので
	   （15px→22.5・16px→24・4.8px→7.2）、根の 1 か所を `normal` にすれば
	   子孫もすべて `normal` になる。1 要素ずつ打ち消す必要は無い. */
	line-height: normal;
}

.pa-post--word .entry-content .word-cta-inner {
	padding: 1.5rem;
}

.pa-post--word .entry-content .word-cta-title {
	font-weight: bold;
	font-size: 1.2rem;
	padding-bottom: 1rem;
}

.pa-post--word .entry-content .word-cta-title span {
	color: #d8251d;
}

.pa-post--word .entry-content .word-cta-subtitle {
	font-weight: bold;
	font-size: 1.2rem;
	border-left: 3px solid #9f792e;
	padding-left: 10px;
	margin-bottom: 1rem;
}

.pa-post--word .entry-content .word-cta p {
	margin-bottom: 1rem;

	/* 🚨 **段落にはもう一度書く。**上の `.word-cta` の `line-height: normal` は
	   受け継ぎでしか届かないが、このテーマは `p { line-height: var(--pa-line-height-text) }`
	   （691 行・詳細度 (0,0,1)）で**段落そのもの**に値を当てている。**要素に直に
	   当たった値は、祖先からの受け継ぎに必ず勝つ**（詳細度の勝ち負け以前の話である）。
	   ここに書かないと段落 4 つ（絵の段落 1 つと地の文 3 つ）だけ 22.5px のまま残り、
	   合計で約 2px ずれる。

	   🚨 **段落の中の `span` と `sup` には書かなくてよい。**要素の名前だけを当たり先に
	   した `line-height` はテーマ全体で `p` の 1 本だけである（2026-09-17 に全数を数えた）。
	   段落が `normal` になれば中身は受け継ぐ. */
	line-height: normal;
}

.pa-post--word .entry-content .word-cta p span {
	font-weight: bold;
	font-size: 1rem;
	display: block;
}

.pa-post--word .entry-content .word-cta sup {
	font-size: 0.3rem;
}

/* display の 4 つのベンダープレフィックス（-webkit-/-moz-/-ms-/-o-flex）は、いまの
   対象ブラウザに不要なので写さない。flex 1 本で同じ見た目になる。移行元は
   justify-content を持たないので、ボタンは左詰めのまま並ぶ. */
.pa-post--word .entry-content .word-cta-btn-wrap {
	display: flex;
	padding-top: 0.5rem;
}

.pa-post--word .entry-content .word-cta-btn-wrap span {
	font-weight: bold;
}

.pa-post--word .entry-content .word-cta-btn {
	width: 350px;
	margin: 0 auto;
	text-align: center;
}

.pa-post--word .entry-content .word-cta-btn a {
	background: #d8251d;
	display: block;
	color: #fff;
	padding: 1rem 1.5rem;
	font-size: 1.2rem;
	font-weight: bold;
	text-decoration: none;
}

/* 記事下の「こんなお悩みありませんか」区画（word/include/cv.shtml の中身）。
   移行元 konkatsu-sp/css/style.css の CV 節. */
.single-content--pa-article .pa-article .problem-area__inner {
	background: #e4d7ce;
	position: relative;
	color: #33322e;
	padding: 60px 0 35px;
	margin-top: 60px;
	text-align: center;
}

/* お見合いコラム（/contents/）だけ、区画の上マージンが 50px（移行元
   contents/css/style.css）。上の既定値（konkatsu-sp の 60px）を上書きする. */
.single-content--pa-article .pa-article--contents .problem-area__inner {
	margin-top: 50px;
}

.single-content--pa-article .pa-article .problem-area__inner__contents {
	max-width: 950px;
	margin: 0 auto;
}

.single-content--pa-article .pa-article #seo .problem-area__inner__contents p {
	font-size: 18px;
	line-height: 180%;
}

.single-content--pa-article .pa-article .contents-title {
	font-size: 45px;
	padding: 0;
	/* テーマの h2 既定の line-height が乗って行間が詰まる分を打ち消す
	   （移行元は font-size 依存の既定値のまま）. */
	line-height: inherit;
	font-weight: bold;
	/* テーマの見出し既定（.entry-content h2 の margin-bottom）が乗る分を
	   打ち消す（移行元に margin 指定は無い）. */
	margin-bottom: 0;
}

.single-content--pa-article .pa-article .emphatic-title {
	margin: 60px auto 40px;
}

.single-content--pa-article .pa-article .emphatic-title img {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.single-content--pa-article .pa-article .underlin {
	font-weight: bold;
	background: linear-gradient(transparent 50%, #ffff9d 50%);
	padding: 0 3px 3px 3px;
}

.single-content--pa-article .pa-article .button-wrap {
	display: flex;
	justify-content: space-around;
	width: 100%;
	margin: 60px auto 0;
}

/* 婚活 EQ 診断への導線（report/include/eq_cta.shtml の中身）。移行元
   konkatsu-sp/css/style.css の eq_cta 節. */
.single-content--pa-article .pa-article .eq-cta {
	border: 1px solid #ccc;
	padding: 3rem;
	margin: 3rem auto;
	line-height: 2rem;
}

.single-content--pa-article .pa-article .eq-cta-title {
	font-weight: bold;
	font-size: 1.2rem;
	padding-bottom: 1rem;
	text-align: center;
}

/* --- 画像と横あふれの防御 --- */

.single-content--pa-article .pa-article #seo img,
:is(.pa-page--sentence, .pa-page--column) #seo img {
	max-width: 100%;
	height: auto;
}

/* --- スマートフォン幅（749px 以下）。移行元のスマートフォン版
   （sp/counseling/css/style.css 等）の余白・回り込みに寄せる --- */
@media (max-width: 749px) {
	.single-content--pa-article .pa-article #seo {
		padding: 10px 0 20px;
	}

	.single-content--pa-article .pa-article #seo .float_r,
	:is(.pa-page--sentence, .pa-page--column) #seo .float_r {
		margin: 0 0 0.5em 0.5em;
		max-width: 45%;
	}

	/*
	 * 婚活で見つける幸せな結婚への道（`/konkatsu-sp/`）だけは、移行元の携帯版が
	 * 別の姿を配る（Bug #6310）。
	 *
	 * | 絵 | 左端 / 幅 / 高さ |
	 * |---|---|
	 * | 移行元の携帯版 | 23.44 / 328.13 / 182（**器いっぱい・回り込まない**） |
	 * | 直す前の dev | 203.94 / 147.63 / 81.94（**右へ小さく回り込む**） |
	 *
	 * （幅 375px・携帯の名乗り・2026-09-14 23:45 JST・両側 200・当たり件数 1 件。
	 * 控えは `pa-verify-assets/d3-remeasure-0914/出力-15本-2334/PDCA記事-375.tsv`）
	 *
	 * 🚨 **本文の器の左右は、すぐ上の節（`padding-left/right: 6.25vw`）が既に当てている。**
	 * ここでは触らない。実測で器が 15 / 345 に見えたのは、**dev 側を `.entry-content` で
	 * 測ったため**で、移行元の `#sentence` に当たるのは `#seo` である。器の差の有無は
	 * `#seo` で測り直してから別に扱う。
	 *
	 * 🚨 **絵の `max-width: 45%` は上の共通の規則が当てている。**移行元の携帯版は
	 * 幅を絞らず、絵が器いっぱいに広がって縦に積まれる。**当たり先を 1 つ重ねて
	 * （`.pa-article.pa-article--konkatsu-sp`）詳細度で勝たせる。**同じ強さにして
	 * 順番に頼ると、あとで規則が動いたときに黙って負ける（Bug #6276 で踏んだ型）。
	 *
	 * 🚨 **`float: none` は書かない。**`.float_r` は移行元の 685 ページが使う共用の
	 * 印で、テーマ全体の CSS で回り込みを外すと広く波及する（検査
	 * `pa-cms-spot-detail-float-sp` の陰性対照が止める）。**移行元自身も
	 * `float: right` を残したまま**で、絵が器いっぱいに広がるので回り込む余地が
	 * 無くなり、結果として縦に積まれる。**同じ作りにする.**
	 */
	.single-content--pa-article .pa-article.pa-article--konkatsu-sp #seo .float_r {
		max-width: 100%;
		margin: 0 0 0.5em;
	}

	/*
	 * 小見出しと出典の字（Bug #6368）。
	 *
	 * 移行元はこの記事群を**パソコン版と携帯版で別の markup・別の CSS** で配る。
	 * dev はパソコン向けの `.title_style05`（20px・行の高さ 100%）を携帯幅にも当てており、
	 * 移行元の携帯版（`h3.event_copy`・17px・行の高さ 125%）と食い違う。
	 *
	 * 実測（幅 375px・携帯の名乗り・iPhone SE のエミュレーション・2026-09-15 03:11 JST・
	 * 両側 200・当たり 4 件 / 4 件。控えは
	 * `pa-verify-assets/d3-asa-0915/出力-0915/PDCA記事-375-0915.tsv`）:
	 *
	 * | 見るもの | 移行元 `h3.event_copy` | 直す前の dev `h3.minH4.title_style05` |
	 * |---|---|---|
	 * | 字の大きさ・太さ | 17px・400 | **20px・700** |
	 * | 行の高さ | 21.25px（125%） | 20px（100%） |
	 * | 上 / 下の外余白 | 30px / 12px | 15px / 15px |
	 * | 左の内余白 | 10px | 9px |
	 *
	 * 🚨 **`body` を 1 つ重ねて詳細度で勝たせる。**すぐ上の素の規則
	 * （`.single-content--pa-article .pa-article.pa-article--konkatsu-sp #seo
	 * :is(h2, h3).title_style05 { margin-top: 15px }`）と**当たり先が同じ**なので、
	 * `@media` の中にあるだけでは強くならない（**`@media` は詳細度を上げない**・Bug #6276
	 * で踏んだ型）。順番に頼ると、あとで規則が動いたときに黙って負ける。
	 *
	 * 🚨 **字の色（移行元 `#333` 対 dev `#000`）と背景の絵は触らない。**どちらも記事の
	 * 本文全体に及ぶ話で、この直しの外である.
	 */
	body .single-content--pa-article .pa-article.pa-article--konkatsu-sp #seo :is(h2, h3).title_style05 {
		margin: 30px 0 12px;
		padding-left: 10px;
		font-size: 17px;
		font-weight: normal;
		line-height: 125%;
	}

	/*
	 * 恋愛相談（`/counseling/`）の節の見出しも、同じ形で移行元の携帯版へそろえる（Issue #10187・事業部の指摘 W178）。
	 *
	 * 移行元の携帯版は `h3.event_copy`（`sp/counseling/css/style.css`: 17px・行の高さ 125%・外余白 30 / 12・
	 * 左の内余白 10。`sp/css/basic.css` の初期化で太さ normal。字間の指定は無い）。dev は上の婚活の記事群と同じく
	 * パソコン向けの `.title_style05`（20px・行の高さ 100%・左の内余白 9・字間 0.05em）とテーマの h3 の太字が
	 * 携帯幅にも当たっていた。
	 *
	 * 下見（幅 375px・2026-10-10・この字を差し込んで読んだ）: 4 ページ（`/counseling/`・`past/`・`past/partner/`・
	 * `past/partner/former_lover/`）の見出し 9 個が、直す前の 20px・700・行の高さ 20・外余白 0 / 15・左の内余白 9・
	 * 字間 1px から、移行元と同じ 17px・400・21.25・30 / 12・10・normal になった。陰性対照（`/counseling/past/` の
	 * 1440・婚活の記事群とお見合い・結婚コラムの 375）は前と同じ.
	 */
	body .single-content--pa-article .pa-article.pa-article--counseling #seo :is(h2, h3).title_style05 {
		margin: 30px 0 12px;
		padding-left: 10px;
		font-size: 17px;
		font-weight: normal;
		line-height: 125%;
		letter-spacing: normal;
	}

	/*
	 * 出典の行の高さ（Bug #6368）。移行元は 20px（`normal`）、dev は **30.4px** だった。
	 *
	 * 🚨 **出どころは器である。**`.single-content--pa-article .pa-article--konkatsu-sp #seo`
	 * が `line-height: 1.9` と `font-size: 16px` を持ち、16 × 1.9 = **30.4px** を作る。
	 * 出典の段落はそれを受け継いでいるだけである。**器は触らない。**触ると記事の本文
	 * 全体に及ぶ。出典（`p.text_alignR`）だけに `normal` を書いて受け継ぎを止める.
	 */
	.single-content--pa-article .pa-article.pa-article--konkatsu-sp #seo p.text_alignR {
		line-height: normal;
	}

	.single-content--pa-article .pa-article .konkatsuBox .researchList li,
	:is(.pa-page--sentence, .pa-page--column) .konkatsuBox .researchList li {
		float: none;
		width: auto;
	}

	.single-content--pa-article .pa-article .nearbranchs dd,
	.single-content--pa-article .pa-article .stations dd,
	.single-content--pa-article .pa-article .hearts dd,
	.single-content--pa-article .pa-article .hearts li,
	:is(.pa-page--sentence, .pa-page--column) .hearts dd,
	:is(.pa-page--sentence, .pa-page--column) .hearts li {
		display: block;
		padding: 10px 0;
	}

	/* --------------------------------------------------------------
	 * 婚活のコラム（`/konkatsu-sp/`）の記事下の申し込みへの導線を、携帯幅で
	 * 移行元へそろえる（[Bug #8157](https://github.com/mationinc/wp-platform/issues/8157)）
	 *
	 * ## 🚨 同じ類名でも写し元の移行元 CSS が別である
	 *
	 * 本文へ差し込まれる markup は結婚相談所のすゝめと**同じ**
	 * （`sp/word/include/cta.shtml`）だが、**当たる CSS が別**である。
	 *
	 * | 区画 | 移行元の携帯版の CSS |
	 * |---|---|
	 * | 結婚相談所のすゝめ | `sp/word/css/style.css` 1075〜1137 行 |
	 * | **婚活のコラム** | **`sp/konkatsu-sp/css/style.css` 105〜115 行** |
	 *
	 * 違いは 3 か所ある。
	 *
	 * | 宣言 | すゝめ | 婚活のコラム |
	 * |---|---|---|
	 * | `.word-cta` の外余白 | `1.5rem auto 1.5rem` | **`0 0 1.5rem`** |
	 * | `.word-cta p` の字 | `1.1rem`（14.3px） | **宣言なし**（初期化の 13px） |
	 * | `.word-cta-title span` | `font-weight` と `font-size` を持つ | **`color` だけ** |
	 *
	 * 🚨 **すゝめ側の値を写すと段落の字が 14.3px になり、移行元の 13px と合わない。**
	 * 実際に写して測ったら高さが 202.53px 残った（2026-09-20 19:0x の実測）。
	 *
	 * ## 🚨 移行元は `rem` の基準が 16px ではない
	 *
	 * 移行元の携帯版は `sp/css/basic.css` の 21 行で、**html を含むほぼ全要素へ
	 * `font-size: 13px`** を当てている。だから `1.2rem` は 15.6px、`1rem` は 13px
	 * になる。このテーマの根は 16px で他の全ページに関わるため変えられないので、
	 * すゝめ側（`--pa-word-rem`）・ご成婚報告（`--pa-report-sp-rem`）・入会案内の
	 * コース（`--pa-course-rem`）と同じく独自プロパティへの掛け算に読み替える。
	 *
	 * ## 実測（幅 375px・実ブラウザ・携帯の User-Agent・2026-09-20 19:09 JST）
	 *
	 * | 要素 | 移行元 | 直す前の dev | 直したあと |
	 * |---|---|---|---|
	 * | `div.word-cta` | **375 × 826.36** | 328.13 × 1273.52 | **375 × 826.36** |
	 * | `.word-cta-title` | 336 × 61 | 296.13 × 125.45 | 336 × 61 |
	 * | `p.tac` | 336 × 244.86 | 296.13 × 225.19 | 336 × 244.86 |
	 * | `.word-cta-subtitle` | 336 × 24 | 296.13 × 36.48 | 336 × 24 |
	 * | `p` × 3 | 60 / 100 / 60 | 182.34 / 243.13 / 91.17 | 60 / 100 / 60 |
	 * | `.word-cta-btn-wrap` | 336 × 172.5 | 296.13 × 225.75 | 336 × 172.5 |
	 *
	 * **器と中身 7 つが 1 画素も違わずそろった。**
	 *
	 * 🚨 **幅 1440 は 1 画素も動かない**（同じ走行で実測・器は両側 1100 × 1029.61）。
	 * **だから直すのは `max-width: 749px` の中だけである。この節の外には 1 行も足さない。**
	 *
	 * 🚨 **陰性対照**: 結婚相談所のすゝめの記事 2 本（`/word/2017-10-1/`・`/word/2017-10-2/`）は
	 * 差し込む前と後で完全に同じだった。この節は `.single-content--pa-article` に
	 * 絞ってあり、すゝめ側は `.pa-post--word .entry-content` なので当たらない。
	 *
	 * ## 効く範囲は **67 ページ**（全数で数えた・2026-09-20 19:27〜19:35）
	 *
	 * 当たり先 `.single-content--pa-article .pa-article` は投稿型 `pa_article` の
	 * **211 ページ**すべてに届く。そのうち本文（`id="site-main"` の `<main>`）に
	 * `.word-cta` を持つのは **67 ページで、全部が `/konkatsu-sp/`**（婚活のコラム）だった。
	 *
	 * | 区分 | ページ数 | `.word-cta` を持つ |
	 * |---|---:|---:|
	 * | `/konkatsu-sp/` | 67 | **67** |
	 * | `/contents/` | 66 | 0 |
	 * | `/counseling/` | 78 | 0 |
	 *
	 * **67 ページとも `word-cta` が 7 回・`word-cta-btn` が 3 回**で、作りはそろっている。
	 * Issue の「4 ページ」は箱を測った**標本**の数であって、効く範囲ではない。
	 * 数えた検証スクリプトは `pa-verify-assets/D7/8157-wordcta-0920/全数を数える.py`。
	 * -------------------------------------------------------------- */
	.single-content--pa-article .pa-article .word-cta {
		--pa-konkatsu-sp-rem: 13px;

		/* 🚨 **移行元は親がもともと全幅**なので `.word-cta { width: auto }` で 375 に
		   なる。dev の親 `section.clearfix` は左右に 23.4375px の内余白を持つため
		   328.13 で止まっていた。同じ区画の `.problem-area__inner`（Bug #8105）と
		   同じ手で画面いっぱいへ広げる。
		   🚨 **外余白は一括指定 1 本に畳む。**`margin-inline` を別に書くと、あとから
		   来る `margin` の一括指定がそれを打ち消して帯が本文幅で止まる. */
		width: 100vw;
		margin: 0 calc(50% - 50vw) calc(var(--pa-konkatsu-sp-rem) * 1.5);

		/* 🚨 **行送りは写し元に無い値を足す。**移行元の携帯版はこの部品に
		   `line-height` を 1 つも書いておらず、根にも指定が無いので計算値は
		   全要素 `normal` である。dev は 1.9 を受け継ぐため、同じ字の大きさでも
		   行が高い。すゝめ側の Bug #7048 と同じ直し.
		   🚨 子孫は単位の無い 1.9 を自分の字の大きさで計算し直すので、根の 1 か所を
		   `normal` にすれば子孫もすべて `normal` になる. */
		line-height: normal;

		/* 🚨 **この部品の中だけ字の基準を 13px へそろえる。**移行元の初期化は
		   すべての要素へ直に 13px を当てるので、部品の中で字の大きさを書いていない
		   要素（押しボタンの札など）も 13px になる。dev のコラムの本文は 16px が
		   基準で、札が 36.25 対 40.25 と 4px 高くなっていた（実測）。
		   すゝめ側は親の `div.detail_body` が既に 13px なので、この 1 行が要らない. */
		font-size: var(--pa-konkatsu-sp-rem);
	}

	/* 移行元 `sp/konkatsu-sp/css/style.css` の `.word-cta-inner { padding: 1.5rem }`。
	   直す前は `1.5rem 1rem`（24px 16px）で、移行元に無い左右の詰めが入っていた. */
	.single-content--pa-article .pa-article .word-cta-inner {
		padding: calc(var(--pa-konkatsu-sp-rem) * 1.5);
	}

	/* 🚨 **題の寄せを左へ戻す。**移行元の携帯版に `text-align` は無く、
	   `.word-cta` の `left` を受け継ぐ。dev の既定 `center` は移行元パソコン版
	   （`css/page_senryu.css`）から写したものである. */
	.single-content--pa-article .pa-article .word-cta-title {
		font-size: calc(var(--pa-konkatsu-sp-rem) * 1.2);
		padding-bottom: calc(var(--pa-konkatsu-sp-rem) * 1);
		text-align: left;
	}

	.single-content--pa-article .pa-article .word-cta-subtitle {
		font-size: calc(var(--pa-konkatsu-sp-rem) * 1.2);
		margin-bottom: calc(var(--pa-konkatsu-sp-rem) * 1);
	}

	/* 🚨 **移行元の携帯版の `.word-cta p` は `font-size` を持たない。**初期化の
	   13px がそのまま効く。すゝめ側だけが `1.1rem`（14.3px）を持つ。
	   `#seo` を足した並びは、既定の `margin-bottom: 1rem`（16px）へ詳細度で
	   勝つために要る. */
	.single-content--pa-article .pa-article .word-cta p,
	.single-content--pa-article .pa-article #seo .word-cta p {
		font-size: var(--pa-konkatsu-sp-rem);
		margin-bottom: calc(var(--pa-konkatsu-sp-rem) * 1);
	}

	/* 🚨 **移行元パソコン版だけが持つ `.tac { margin: 0 auto 2rem }`（32px）を、
	   移行元の携帯版の 13px へ戻す。**中央寄せ（`margin-inline: auto`）は残す. */
	.single-content--pa-article .pa-article #seo .word-cta-inner .tac {
		margin-bottom: calc(var(--pa-konkatsu-sp-rem) * 1);
	}

	/* 🚨 **絵を `block` にする。**移行元の携帯版は初期化（`sp/css/common.css`
	   11〜15 行）で `img { width: 100%; height: auto; display: block }` を当てて
	   いる。`inline` のままだと行の下端にすき間が出て段落が高くなる（すゝめ側の
	   Bug #7266 と同じ。ここでは絵の段落が 6.00px 高かった・実測）. */
	.single-content--pa-article .pa-article .word-cta img {
		display: block;
	}

	.single-content--pa-article .pa-article .word-cta p span {
		font-size: calc(var(--pa-konkatsu-sp-rem) * 1);
	}

	/* 🚨 **上付きの ※ は移行元が `0.3rem` で 3.9px まで小さくする。**16px 基準だと
	   4.8px になる。上付きは行の高さを押し上げるので段落 1 つぶんの高さに効く. */
	.single-content--pa-article .pa-article .word-cta sup {
		font-size: calc(var(--pa-konkatsu-sp-rem) * 0.3);
	}

	/* 🚨 **上の内余白を落とす。**`padding-top: 0.5rem` は移行元パソコン版の宣言で、
	   移行元の携帯版には無い。携帯幅では移行元に無い 8px になる. */
	.single-content--pa-article .pa-article .word-cta-btn-wrap {
		flex-direction: column;
		align-items: center;
		padding-top: 0;
	}

	/* 🚨 **押しボタンの札は移行元の携帯版だけが `display: block` にする。**
	   dev の本文は移行元パソコン版から取り込んだので札のうしろに `<br>` を持つ。
	   札を `block` にすると空の行が 1 つ余分に出るので `<br>` を隠す
	   （すゝめ側・ご成婚報告側と同じ手）. */
	.single-content--pa-article .pa-article .word-cta-btn-wrap span {
		display: block;
		padding: calc(var(--pa-konkatsu-sp-rem) * 1) 0
			calc(var(--pa-konkatsu-sp-rem) * 0.25);
	}

	.single-content--pa-article .pa-article .word-cta-btn br {
		display: none;
	}

	/* 移行元の携帯版は `width: 100%; margin: 0 auto; text-align: center`。
	   `max-width: 350px` と `margin: 0 0 10px` は移行元に無い（2026-09-17 に
	   テーマの既存の作りへそろえて足したもの）ので、D406「原則は移行元に
	   合わせる」に従って戻す. */
	.single-content--pa-article .pa-article .word-cta-btn {
		width: 100%;
		margin: 0 auto;
	}

	.single-content--pa-article .pa-article .word-cta-btn a {
		padding: calc(var(--pa-konkatsu-sp-rem) * 1) calc(var(--pa-konkatsu-sp-rem) * 1.5);
		font-size: calc(var(--pa-konkatsu-sp-rem) * 1.2);
	}

	/* --------------------------------------------------------------
	 * ワード解説の記事下の CTA を、携帯幅で移行元へそろえる（Bug #7100・ユーザー決定 D406）
	 *
	 * ## 🚨 移行元は `rem` の基準が 16px ではない
	 *
	 * 移行元の携帯版は `sp/css/basic.css` の 21 行で **`html { font-size: 13px }`** を
	 * 持つ。だから移行元の `1.2rem` は **15.6px**、`1rem` は **13px** になる。
	 * このテーマの根は 16px で、他のすべてのページに関わるため変えられない。
	 *
	 * **ここまでの写しは `rem` の数値だけを写していた。**その結果、同じ `1.2rem` が
	 * 19.2px として効き、移行元より **16 / 13 倍**大きく出ていた。
	 *
	 * 直しは `rem` を独自プロパティ `--pa-word-rem`（13px）への掛け算へ読み替える。
	 * 同じ手をご成婚報告（`--pa-report-sp-rem`）と入会案内のコース（`--pa-course-rem`）で
	 * 使っている。
	 *
	 * ## 実測（幅 375px・実ブラウザ・携帯の名乗り・2026-09-18 10:0x JST）
	 *
	 * 移行元 `/sp/word/2017-10-1.html` と dev `/word/2017-10-1/` を並べて測った
	 * （記録は `pa-verify-assets/D7/測定15-記事下のCTA/`・生の値の sha256 は
	 * `ffaaad3892a7d40110183da1dab1e4b04e7aa418e540daf42c7b45ca78c2335f`）。
	 * `div.word-cta` の高さは移行元 972.22 対 dev 1,088.59 で **+116.37px** だった。
	 *
	 * | 当たり先 | 移行元 | 直す前の dev | ここで直す値 |
	 * |---|---:|---:|---:|
	 * | `.word-cta-title` | 15.6px | 19.2px | 15.6px |
	 * | `.word-cta-subtitle` | 15.6px | 19.2px | 15.6px |
	 * | `.word-cta p span` | 13px | 16px | 13px |
	 * | `.word-cta sup` | 3.9px | 4.8px | 3.9px |
	 * | `.word-cta-btn a` | 15.6px | 19.2px | 15.6px |
	 *
	 * ## 🚨 直さずに残すもの（この Issue の外）
	 *
	 * - **絵の `img` の字**（移行元 13px 対 dev 14.3px）。移行元の初期化
	 *   `sp/css/basic.css` は `img` を含む約 70 個の当たり先へ `font-size: 13px` を
	 *   **直に**当てている。`.word-cta` の規則ではなく初期化の副作用なので写さない。
	 * - **押しボタンの札（`.word-cta-btn-wrap span`）の並べ方**。移行元は `display: block`
	 *   と `padding: 1rem 0 0.25rem 0` を持つが、dev は #7048 で `br` を足した組みに
	 *   なっている。**並べ方は字の大きさでも余白でもない**ので、ここでは触らない。
	 * - 結婚相談所のすヽめ全体の他の退行は別の 1 本で埋める。
	 *
	 * ## 🚨 パソコン幅は 1px も動かさない
	 *
	 * 幅 1440px は 2026-09-17 22:24 の実測で **字の大きさが 24 要素すべて一致**して
	 * いる（すぐ上の `.word-cta` の `line-height` の注釈）。**だから直すのは
	 * `max-width: 749px` の中だけである。**この節の外には 1 行も足さない。
	 * -------------------------------------------------------------- */
	.pa-post--word .entry-content .word-cta {
		--pa-word-rem: 13px;
	}

	/* 移行元 `sp/word/css/style.css` の `.word-cta-inner { padding: 1.5rem }`。
	   直す前は `1.5rem 1rem`（24px 16px）で、移行元に無い左右の詰めが入っていた. */
	.pa-post--word .entry-content .word-cta-inner {
		padding: calc(var(--pa-word-rem) * 1.5);
	}

	.pa-post--word .entry-content .word-cta-title {
		font-size: calc(var(--pa-word-rem) * 1.2);
		padding-bottom: calc(var(--pa-word-rem) * 1);
	}

	/* 🚨 **題の中の赤い字にも書く。**移行元の携帯版だけが
	   `.word-cta-title span { font-size: 1.2rem }` を持つ（パソコン版は持たない）。
	   親と同じ値なので受け継ぎでも同じ結果になるが、**移行元が持つ宣言をそのまま
	   写しておく**ほうが、あとで親の値を動かしたときに取り残されない. */
	.pa-post--word .entry-content .word-cta-title span {
		font-size: calc(var(--pa-word-rem) * 1.2);
	}

	.pa-post--word .entry-content .word-cta-subtitle {
		font-size: calc(var(--pa-word-rem) * 1.2);
		margin-bottom: calc(var(--pa-word-rem) * 1);
	}

	.pa-post--word .entry-content .word-cta p span {
		font-size: calc(var(--pa-word-rem) * 1);
	}

	/* 🚨 **上付きの ※ は、直す前は移行元より大きかった。**移行元は `0.3rem` で
	   3.9px まで小さくするが、16px 基準だと 4.8px になる。上付きは行の高さを
	   押し上げるので、段落 1 つぶんの高さに効く（Bug #7099 で同じ形を確かめた）. */
	.pa-post--word .entry-content .word-cta sup {
		font-size: calc(var(--pa-word-rem) * 0.3);
	}

	.pa-post--word .entry-content .word-cta-btn a {
		padding: calc(var(--pa-word-rem) * 1) calc(var(--pa-word-rem) * 1.5);
		font-size: calc(var(--pa-word-rem) * 1.2);
	}

	/*
	 * 🚨 **押しボタンの札は、移行元の携帯版だけが `display: block` にしている。**
	 * 移行元は同じ部品をパソコン版と携帯版で別の組みにしている。
	 *
	 * | | 移行元パソコン版 | 移行元携帯版 |
	 * |---|---|---|
	 * | 読み込む中身 | `word/include/cta.shtml` | `sp/word/include/cta.shtml` |
	 * | 札とリンクの間 | **`<br>` がある** | `<br>` は無い |
	 * | 札の並べ方 | 素の `inline` | **`display: block`** |
	 * | 札の内余白 | 無し | **`1rem 0 0.25rem 0`** |
	 *
	 * **dev の本文はパソコン版から取り込んだので `<br>` を持つ。**携帯幅で札を
	 * `block` にすると、`<br>` と合わせて空の行が 1 つ余分に出る。そこで
	 * ご成婚報告の側（`report/css/report-sp.css` 309 行）と同じく、`<br>` を隠す。
	 *
	 * 実測（幅 375px・2026-09-18 10:0x JST）。
	 *
	 * | | 移行元 | 直す前の dev |
	 * |---|---|---|
	 * | 札（`span`） | block・289.12x36.25 | inline・103.48x13.00 |
	 * | 押しボタン全体 | 86.25 | 81.00 |
	 *
	 * **中身（HTML）は触らない決めなので、見た目の側で移行元の携帯版へそろえる。**
	 */
	.pa-post--word .entry-content .word-cta-btn-wrap span {
		display: block;
		padding: calc(var(--pa-word-rem) * 1) 0 calc(var(--pa-word-rem) * 0.25);
	}

	.pa-post--word .entry-content .word-cta-btn br {
		display: none;
	}

	/*
	 * 🚨 **絵を `block` にする**（Bug #7266）。移行元の携帯版は初期化
	 * （`sp/css/common.css` の 11〜15 行）で `img { width: 100%; height: auto;
	 * display: block }` を当てている。`inline` のままだと**行の下端にすき間が出て
	 * 段落が高くなる。絵そのものの大きさは変わらない。**
	 *
	 * 実測（幅 375px・2026-09-18 12:04 JST）: 絵の段落は移行元 210.69px 対
	 * dev 218.42px（**+7.73px**）。絵の寸法は両方 289.12 x 210.69 で同じで、
	 * 並べ方だけが `block` 対 `inline` だった。
	 *
	 * 🚨 **ご成婚報告の側はこれを写し済みである**
	 * （`assets/report/css/report-sp.css` の `.word-cta img`）。ここにだけ無かった.
	 */
	.pa-post--word .entry-content .word-cta img {
		display: block;
	}

	/*
	 * 🚨 **上の内余白を落とす**（Bug #7266・ユーザー決定 D406）。`padding-top: 0.5rem`
	 * は**移行元パソコン版**の `word/css/style.css` にある宣言で、**移行元の携帯版
	 * `sp/word/css/style.css` には無い。**携帯幅では移行元に無い 8px になる.
	 */
	.pa-post--word .entry-content .word-cta-btn-wrap {
		flex-direction: column;
		align-items: center;
		padding-top: 0;
	}

	/*
	 * 🚨 **押しボタンの外余白を移行元へ戻す**（Bug #7266・ユーザー決定 D406）。
	 *
	 * `margin: 0 0 10px` は 2026-09-17 に「テーマの既存の作り（恋愛相談側）へ
	 * そろえて足した」もので、**移行元には無い。**移行元の携帯版は
	 * `.word-cta-btn { width: 100%; margin: 0 auto; text-align: center }` である。
	 * D406「原則は移行元に合わせる」に従って戻す。**縦の間隔は移行元と同じだけ詰まる。**
	 *
	 * 実測（幅 375px・2026-09-18 12:04 JST）: 押しボタンの器は移行元 172.50px 対
	 * dev 200.50px（**+28.00px**）。**押しボタンの中身は 1 行も違わない**
	 * （札 36.25・リンク 50.00・押しボタン 86.25）ので、差はこの器の余白だけだった。
	 * 内訳は上の内余白 8px と、押しボタン 2 つの下の外余白 10px ずつで
	 * **8 + 10 × 2 = 28** となり、実測とぴったり合う.
	 */
	.pa-post--word .entry-content .word-cta-btn {
		width: 100%;
		max-width: 350px;
		margin: 0 auto;
	}

	/* --------------------------------------------------------------
	 * ワード解説の携帯幅の段落の寸法（Bug #6393・Task #6409・Bug #6395）
	 *
	 * 目視確認リストの W74（本文の字の大きさ）と W75（段落と段落の行の間）で
	 * NG が付いた 3 か所を、移行元の携帯版へそろえる。
	 *
	 * 幅 375px の実測（2026-09-15 13:11:51・移行元 /sp/word/2023-02-12.html と
	 * dev /word-2023-02-12/ を、本文の先頭 40 字の指紋で 12 段落突き合わせた。
	 * 控えは pa-verify-assets/D9/measure7b-0915/d9-measure7b-0915.json。
	 * 台本の sha256 は 4823cbe2c27562dc）。
	 *
	 * | 段落の居場所 | 移行元 | dev | 直す値 |
	 * |---|---|---|---|
	 * | 申し込み導線 .word-cta の中 | 字 14.3px・下 13px | 字 16.9px・下 16px | 14.3px / 13px |
	 * | 本文の囲み .box の中        | 下 12px            | 下 18px            | 12px |
	 * | 前置き .introduction        | 上 30px・下 45px   | 上 20px・下 18px   | 30px / 45px |
	 *
	 * 🚨 **単位ごと写さない。**移行元は `.word-cta p { font-size: 1.1rem }`、
	 * `.introduction { margin: 30px auto 45px }` と書くが、**根の字が移行元 13px・
	 * dev 16px で違う**ので、`rem` をそのまま写すと別の値になる（Bug #6265・#6233 と同じ型）。
	 * **px の絶対値で置く。**
	 *
	 * 🚨 **移行元はパソコン版と携帯版で別の CSS を配っている。**
	 * 携帯版 sp/word/css/style.css だけが `.word-cta p` に `font-size` を持ち、
	 * パソコン版 css/page_senryu.css は持たない。**dev はパソコン版のほうを写していた。**
	 *
	 * 🚨 **`.pa-post--word` の絞りを外さない。**同じ類名がワード解説の外にも在る
	 * （投入の材料と全ページを数えた。`div.box` は他に 72 ページ・
	 * `.introduction` は他に 1 ページ）。**絞らないと 73 ページが巻き添えになる。**
	 *
	 * 🚨 **共通の変数 `--pa-article-paragraph-gap`（携帯幅で 18px）は変えない。**
	 * あれは全ページの本文が読む。ここはワード解説だけの上書きで足りる。
	 *
	 * 🚨 **Bug #6394 はこの直しでは閉じない。**#6394 が測ったのは「隣り合う段落の
	 * 実際に空いた px」（移行元 20px・dev 30px）で、**外余白の差（12 対 18）では
	 * 全部を説明できない。**空きが 20px になるかは配信後に測り直す。
	 * -------------------------------------------------------------- */
	.pa-post--word .entry-content .word-cta p {
		font-size: 14.3px;
		margin-bottom: 13px;
	}

	/* 🚨 **字だけは 1 段深い当たり先で置き直す（Bug #6393・2026-09-15 の配信後の実測）。**
	 *
	 * 上の規則の `font-size` は**当たっていなかった**。配信後に幅 375px で測ると
	 * 16.9px のままだった（控え `pa-verify-assets/D9/measure6-0915/`・配信の版 `046b94cdf`）。
	 * 下の外余白 13px だけが当たっていた。
	 *
	 * 原因は詳細度である。
	 *
	 * | 規則 | 当たり先 | 詳細度 |
	 * |---|---|---|
	 * | 先に在る規則 | `.pa-post--word .entry-content :is(.content-area, .detail_body) :is(p, .box)` | **(0,4,0)** |
	 * | 上の規則 | `.pa-post--word .entry-content .word-cta p` | **(0,3,1)** |
	 *
	 * 🚨 **`:is(p, .box)` の詳細度は、いちばん詳しい引数の `.box`（類）で数える。**
	 * だから相手は類 4 つぶんになり、**並び順に関係なく勝つ**。後ろへ置いても効かない。
	 *
	 * 🚨 **相手と同じ形へそろえて 1 段深くする**（`:is(.content-area, .detail_body)` を挟む）。
	 * これで (0,4,1) になり、相手の (0,4,0) に勝つ。
	 *
	 * 🚨 **上の規則は消さない。**`.content-area` も `.detail_body` も持たない本文では
	 * 相手の規則が当たらないので、上の規則が字を受け持つ。
	 *
	 * 🚨 **外余白はここへ書かない。**上の規則で当たっている。**携帯幅で `.word-cta p` に
	 * 当たって `margin-bottom` を宣言する別の規則は 1 本も無い**（`main.css` の全数を走査
	 * して確かめた。2026-09-15 のセルフレビューで「相手が (0,3,1) で並び順で勝てている」と
	 * 書いていたのを訂正した。争う相手そのものが居ない）。**同じ値を 2 か所に書かない。**
	 */
	.pa-post--word .entry-content :is(.content-area, .detail_body) .word-cta p {
		font-size: 14.3px;
	}

	.pa-post--word .entry-content .box p {
		margin-bottom: 12px;
	}

	/*
	 * 🚨 **枠つきの画像の段落だけ 20px へ戻す**（Bug #6562）。
	 *
	 * 移行元は PC 版・携帯版のどちらも `.content-area .box .img-bdr01` に
	 * `margin-bottom: 20px` を持つ（`public/word/css/style.css` 433 行・
	 * `public/sp/word/css/style.css` 778 行）。dev にも同じ 20px の規則が在る
	 * （`:is(.entry-content, .page-content__body) .img-bdr01`・(0,2,0)）。
	 *
	 * ところが**すぐ上の 12px が (0,3,1) で勝ち**、枠つきの段落まで 12px にしていた。
	 * 幅 375px の実測で、同じページの 9 組すべてが 20px 対 12px の **−8px** だった
	 * （2026-09-16 13:44:12）。
	 *
	 * 🚨 **上の 12px は消さない。**枠の無いふつうの段落は移行元も 12px である
	 * （Task #6409 がそろえた値）。**ここで 20px へ戻すのは枠つきだけ。**
	 *
	 * 🚨 **`.box` を挟んで (0,4,0) にする。**上の (0,3,1) に類の数で勝つので、
	 * **並び順に関係なく効く**。移行元の当たり先 `.content-area .box .img-bdr01` と
	 * 同じ形でもある。
	 *
	 * 🚨 **PC 幅は壊れていない。**上の 12px は `@media (max-width: 749px)` の中に在り、
	 * PC 幅では (0,2,0) の 20px がそのまま効く（波かっこの深さで数えて確かめた）。
	 * **Bug #6562 の本文が「幅の条件を持たない」と書いているのは誤りである。**
	 */
	.pa-post--word .entry-content .box .img-bdr01 {
		margin-bottom: 20px;
	}

	.pa-post--word .entry-content .introduction {
		margin-block: 30px 45px;
	}

	/*
	 * 🚨 **古い型の記事 15 本（2017-10〜2018-02）にも同じ値を当てる（Bug #9737）。**
	 *
	 * 移行元の携帯版は、古い型の記事でも新しい組み（`p.introduction`・`.content-area .box p`）を持ち、
	 * 上の 2 本と同じ値で描く。dev の本文はパソコン版から取り込むので、古い型の 15 本だけ
	 * 類名が違い（前置き `p.heightLine-1.pB30`・本文 `.storyTxt01inner p`）、上の規則が当たらなかった。
	 * 投入の材料で `storyTxt01inner` を持つすゝめの記事はこの 15 本だけである（古い組みの見出しと箇条書きの節の注記）。
	 *
	 * 🚨 **前置きはパソコン版の内余白 `pB30`（30px）も外す。**移行元の携帯版の `p.introduction` は
	 * 内余白を持たない。外余白だけ 45px にすると、内余白 30px と合わせて 75px 空く.
	 *
	 * 幅 375 の実測と下見（2026-10-10・`pa-verify-assets/A2/9737-すゝめの古い型の余白-1010/読み2/`）:
	 *
	 * | | 移行元の携帯版 | dev（直す前） | dev（この 2 本を当てた後） |
	 * |---|---|---|---|
	 * | 前置きの外余白（上 / 下）・内余白（下） | 30 / 45・0 | 0 / 18・30 | 30 / 45・0 |
	 * | 本文の段落の下の外余白（2 本で 18 組） | 12 | 18 | 12 |
	 *
	 * 記録だけ: 字と字の間の空きは移行元と違う（例: 196.7 と 69.4）。移行元の携帯版は段落の間に
	 * 絵や見出しを挟む組みで、組みそのものの差である（D495 ②）.
	 */
	.pa-post--word .entry-content p.heightLine-1.pB30 {
		margin-block: 30px 45px;
		padding-bottom: 0;
	}

	.pa-post--word .entry-content .storyTxt01inner p {
		margin-bottom: 12px;
	}

	.single-content--pa-article .pa-article .contents-title {
		font-size: 28px;
	}

	.single-content--pa-article .pa-article .button-wrap {
		flex-direction: column;
		align-items: center;
		margin: 30px auto 0;
	}

	.single-content--pa-article .pa-article .eq-cta {
		padding: 1.5rem;
	}
}

/* ==============================================================
 * 用語集（/sentence/ 88 ページ）とコラム（/column/ 5 ページ）の本文
 *
 * この 2 区画は固定ページ（post_type: page → page.php）として入っているが、
 * 本文は移行元と同じ section#seo を持ち、移行元の区画別 CSS が作っていた
 * 見た目を前提にしている。
 *
 * 移行元の 2 ファイル（sentence/css/style.css・column/css/style.css）は、
 * 記事の恋愛相談（counseling/css/style.css）と 1 バイトも違わない（md5 が
 * 一致。2026-08-26 に実測）。読み込む共通 CSS も 4 ファイルとも同じで順番も
 * 同じである。つまり見た目を作る規則は記事とまったく同じで、違うのは
 * 「本文の囲みが .entry-content ではなく .page-content__body である」ことだけ
 * である。
 *
 * そのため値を書き写して 2 か所に持たせるのではなく、上の記事の節にある規則へ
 * この 2 区画の修飾クラス（page.php が URL の先頭ディレクトリから付ける
 * pa-page--sentence / pa-page--column）を選択子として足してある。片方だけ
 * 直したときにずれるのを防ぐためである。
 *
 * 足したのは、移行元の本文（section#seo の中）に実際に出るクラスだけである。
 * 93 ページの全数を数えて 26 種と確定した。**数えるときは移行元の PHP の差し込み
 * （include_once）を展開する。**展開せずに数えると、関連記事の囲み（.hearts 系）と
 * 一覧（.researchList）を丸ごと見落とす（最初にこれで数え、.hearts を 3 ページ・
 * .researchList を 0 ページと誤って数えた。実際は .hearts が 47 ページ・
 * .researchList が 31 ページである）。
 *
 * 出ないもの（.mt30 / .mb20 / .mb50 / .paddingb70 / .yearIndex / .b_bnrarea /
 * .nearbranchs / .stations）は足していない。また .margint30 / .margint05 /
 * .paddingt15 / .padding は、移行元が読み込む CSS のどこにも宣言が無く移行元でも
 * 効き目を持たないため、記事と同じ判断で復元しない。
 *
 * この節に置くのは、記事と共有できない 3 つだけである。
 * ============================================================== */

/* 本文の柱。記事の側（上の .single-content--pa-article .pa-article #seo）は、
   祖先 .entry-content の 800px の柱から抜け出すために width と margin-inline を
   使っている。固定ページの本文（.page-content__body）は既に 1,100px なので
   （上の「固定ページと採用の詳細。内容の幅を 1,100px にしたいので」の節。
   1440px 幅の dev で実測しても 1,100px）、幅の指定も抜け出す細工も要らない。

   文字の大きさは移行元の 13px に戻す。移行元は共通 CSS（css/common.css の
   28〜35 行）の body で 13px を置き、この区画では上書きしていない。テーマの
   本文既定（--pa-article-font-size の 16px）のままだと本文全体が 23% 大きくなる。
   記事の側が同じ理由で 13px を書いているのと同じ判断である. */
:is(.pa-page--sentence, .pa-page--column) #seo {
	padding: 0 0 30px;
	font-size: 13px;
	line-height: 1.7;
	text-align: left;
}

/* 一覧（ul / ol）の初期化。移行元は共通 CSS（css/common.css）で
   `ol, ul { list-style: none }`（100〜102 行）と
   `ol, ul { margin: 0; text-align: left }`（266〜269 行）を置いており、内余白も
   共通の初期化で 0 である。テーマは本文の一覧に外余白 25px と字下げ 20.8px を
   与えるため、移行元より下に 25px 空き、項目が右へ 20.8px ずれる（実測:
   /sentence/impression/ の関連記事の囲みが 44.1px → 69.1px）。

   記事の節に `ul` の初期化が無いのは、記事の関連記事の囲みが `dl`（heartsMain の
   dt/dd）で書かれていて、上の `#seo dl` の初期化で足りているためである。この 2 区画は
   34 ページが `ul` を持つ（37 個。うち 31 個が一覧の .researchList、3 個が
   ul.heartsMain、3 個が class 無しの ul。差し込みを展開して数えた実測）。

   なお、お見合いコラムの関連記事の囲みは移行元と一致している（実測:
   /contents/omiai/about/difference/ の囲みが移行元・dev とも 148px）. */
:is(.pa-page--sentence, .pa-page--column) #seo :is(ul, ol) {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

/* 携帯幅の上下の余白。記事の側と同じ値にする（移行元の携帯版 /sp/ 配下の
   余白に寄せた値）. */
@media (max-width: 749px) {
	:is(.pa-page--sentence, .pa-page--column) #seo {
		padding: 10px 0 20px;
	}
}

/* 題名が 2 つ並ぶ問題（記事の Bug #2054 と同じ型）。

   移行元は画面に見える題名を、本文の柱の先頭の p.copy として持っている。
   取り込んだ本文にもそのまま残っており、93 ページの全数が p.copy である
   （h1.copy のページは 1 つも無い。2026-08-26 に実測）。一方 page.php は本文の
   外に h1.page-content__title を出すため、画面には題名が 2 つ並ぶ（実測: 移行元
   1 つ / dev 2 つ・93 ページ全数）。

   記事の前例（single-pa_article.php が h1 に pa-visually-hidden を付ける）に
   合わせ、本文の題名を残してテンプレートの題名を画面から隠す。要素そのものは
   文書構造として残し、読み上げと検索エンジン向けの手がかりを保つ。隠し方は
   .pa-visually-hidden と同じである。

   題名の帯（.page-content__header）ごと隠すのは、h1 だけを隠すと帯の上下の
   余白（padding-top と margin-bottom）が残り、移行元に無い空白ができるためで
   ある。この帯の中身は h1 だけである（page.php）。

   :has() で「本文の柱の先頭に題名がある」ことを条件にしてある。管理画面で本文の
   題名を消したときは条件が外れ、テンプレートの題名が画面に出る. */
:is(.pa-page--sentence, .pa-page--column):has(.page-content__body #seo .copy) .page-content__header {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------------------
 * 本文が自分の題名を持つ固定ページでは、テーマの題名を画面から隠す（Bug #2272）
 * --------------------------------------------------------------
 *
 * 固定ページのテンプレート 6 種（page.php・page-templates/page-company.php・
 * page-service.php・page-contact.php・template-campaign.php・page-sitemap.php）は、
 * 本文が自分の題名を持つかを見ずに `h1.page-content__title` を出す。移行元は
 * この位置に題名を持たないため、**題名が 2 回見える**か、移行元に無い題名が
 * 1 つ増える。
 *
 * 本文が自分の題名を持つ形は 2 つある。
 *
 * | 形 | 件数 | 例 |
 * |---|---:|---|
 * | 本文の `<h1>` | 46 | `/concierge/`（`h1.mainvisual-text__copy`）・`/qol/` 41 件 ほか |
 * | 本文の `h2.main_ttl`（区画の見出し画像）と、その下の `h3.title` / `h3.sectionTitle01` | 38 | `/guide/`・`/visitor/`・`/service/`・`/company/` ほか |
 *
 * **本文の `<h1>` は、いまの投入データには 1 件も入っていない**（取り込みの許可
 * リストが `h1` を落とし、中の文字だけを残すため）。投入の許可リストを広げる
 * 作業（[#2202](https://github.com/mationinc/wp-platform/issues/2202)）のあとに 46 件へ増える。**`h2.main_ttl` の 38 件は今すぐ効く。**
 *
 * ------------------------------------------------------------------
 * なぜ「消す」ではなく「隠す」か
 * ------------------------------------------------------------------
 * 実測（2026-08-27・幅 1440px・`/guide/` と `/visitor/`）で、**両者の見え方は
 * 完全に同じ**だった。隠す側は場所を取らない（`position: absolute` の 1×1px）ため、
 * 余白も縦位置も変わらない。
 *
 * |  | 移行元 | dev 修正前 | dev 隠す | dev 消す |
 * |---|---:|---:|---:|---:|
 * | 区画の見出し画像の縦位置 | 192px | 314px | **192px** | **192px** |
 * | ページ全体の高さ（/guide/） | — | 6,919px | **6,797px** | **6,797px** |
 * | `h1` の数 | **1** | 1 | **1** | **0** |
 *
 * **違いは `h1` の数だけで、移行元と一致するのは「隠す」のほう。**移行元はページ名を
 * ヘッダー最上部の 11px の帯（`h1#description`）で出しており、このテーマは同じ帯を
 * `div.site-header__page-name` で出す（`h1` にしない判断は Bug #1293）。テーマの
 * 題名を消すと、ページから `h1` が 1 つも無くなる。
 *
 * 隠し方は、すぐ上の用語集・コラムの節（Bug #2054 の対応）と同じである。
 *
 * ------------------------------------------------------------------
 * ニュース一覧を外す理由
 * ------------------------------------------------------------------
 * `/company/news/` も本文に `h2.main_ttl` を持つが、`page-news-list.php` が既に
 * `h1` へ `pa-visually-hidden` を付けて隠しており、空になる帯の余白も
 * `.page-content--news .page-content__header` で 0 にしてある（Bug #2209）。
 * 二重に効かせないよう、この節から外す.
 * -------------------------------------------------------------- */
/* 区画の見出し画像（`.main_ttl`）は本文の器の中とは限らない。会社情報の
 * テンプレート（`page-company.php`）は、これをテーマ側の帯
 * （`div.pa-company-band`）へ出し直しており、`.page-content__body` の外にある
 * （`/company/profile/` で実測）。そこで `.main_ttl` は器を問わず記事の中を探す。
 * `.main_ttl` は移行元由来のクラスで、テーマの題名の帯（`.page-content__header`。
 * 中身は `h1.page-content__title` だけ）には現れないので、自分自身を拾う心配は無い。
 *
 * `h1` のほうは本文の器の中に限る。限らないと、テーマ自身が出す
 * `h1.page-content__title` を拾ってしまい、すべての固定ページで題名が消える.
 *
 * `/policy/` 配下（Bug #2696）は上の 2 条件のどちらにも当たらない。題名は
 * `h2.main_ttl` ではなく `h3.title` の中の画像で、`.main_ttl` を持たない。本文の
 * `<h1>` も無い。id での絞り込みができないので（`pa-page--<区画>` は
 * `page-company.php` に足した目印。上の会社情報のパラグラフ参照）、専用の選択子を
 * 1 本足す.
 *
 * 採用の投稿型（`/company/recruit/` 配下の 22 ページ）は器の名前が違うので、
 * 上の 3 本のどれにも当たらない（Issue #3445）。固定ページは
 * `.page-content > article > .page-content__header` の組みだが、この 22 ページは
 * `single-recruit.php` が `.single-content--recruit > article > .entry-header` を
 * 出す。そのため題名の帯が隠れず、移行元に無い見出しが 1 本余分に出て、
 * 下の帯を 122px 押し下げていた（幅 1440px で実測。`h2.main_ttl` の位置が
 * 移行元 y=192 に対して dev y=314）。
 *
 * 内訳は 一覧 4 ページ（採用・求人情報／社員インタビュー／社内風景／募集要項）と
 * 社員インタビュー詳細 14 ページと求人 4 ページである。どれも本文に
 * `h2.main_ttl` を持つので、条件は上の 1 本目と同じ「本文が `.main_ttl` を
 * 持つ記事」でよい。器の名前だけを差し替えて 1 本足す.
 *
 * 🚨 **婚活川柳（`pa_senryu`・86 ページ）の 1 本は落とした**（Task #8260）。Bug #8121 で
 * 足したが、Task #8161（PR #8165）が題名の帯を出さないページの表を投稿型へ広げたので、
 * あの 86 ページでは帯（`.page-content__header`）そのものが出なくなった。**隠す相手が
 * 無い規則である。**落とす前後で 5 ページ × 両幅の 10 通りとも 1px も動かないことを
 * 実ブラウザで確かめた（2026-09-20 21:31・`_s2/s2-8260-drop-0920.mjs`）. */
.page-content:not(.page-content--news) article:has(.main_ttl) > .page-content__header,
.page-content:not(.page-content--news) article:has(.page-content__body h1) > .page-content__header,
.page-content article.pa-page--policy > .page-content__header,
.single-content--recruit article:has(.main_ttl) > .entry-header {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ==============================================================
 * 会社情報・採用の区画（Bug #2221）
 *
 * 移行元は本文の区画（`section[id]`）に文字組みと柱の幅を置き、その中の部品にも
 * 余白・書体・罫線を置いている。写し元は 3 ファイルである。
 *
 * - `public/css/page_company.css`（会社情報の全ページ）
 * - `public/company/css/style.css`（社会貢献とプレスリリースだけが読み込む）
 * - `public/css/adjustment.css`（区画の下の外余白）
 *
 * この区画の id は取り込んだ本文に残っている（実測で確かめた）。上にある会社情報の
 * 節（Bug #1433）は、区画の「中」の部品の一部（カテゴリメニュー・タブ・囲み）を
 * 写してはいるが、**区画の入れ物と本文の文字組みは写していない**。そのため本文が
 * テーマの既定（行送り 1.5・左寄せ・内余白なし）のままで、移行元より詰まって見える。
 *
 * ## 節の並べ方
 *
 * 1. 区画の入れ物
 * 2. テーマの既定の打ち消し
 * 3. 区画ごとの写し（移行元の宣言をそのまま）
 *
 * **打ち消しは必ず「区画ごとの写し」より前に置く。**打ち消しの選択子は
 * `:is(.entry-content, .page-content__body) :is(#company, …) :is(h2, …)` で
 * 適用範囲の強さが (1,1,1) になる。移行元から写した個別の宣言
 * （`#missionstatement h4` 等）も同じ (1,1,1) なので、打ち消しを後ろに置くと
 * 個別のほうが黙って負ける（実測: `#profile h4` の `line-height: 0` と
 * `#missionstatement h4` の下余白 14px が消えた）。
 *
 * ## 幅の固定値は上限として写す
 *
 * 移行元は柱の幅も中の囲みの幅も固定値で書いている。ここでは `min()` で上限として
 * 写す。テーマは画面幅に合わせて伸び縮みさせる方針で、固定値のままだと携帯幅で器から
 * はみ出すためである（`#seo` の節と同じ扱い）。表のセルの幅は、閲覧環境が元から
 * 目安として扱うので固定値のままにする。
 *
 * ## 中央寄せを戻す箇所も一緒に写す
 *
 * 区画に `text-align: center` を置くと、中の文章まで中央へ寄る。移行元はそこを
 * 個別に左へ戻しているので、**同じ箇所を必ず一緒に写す**。写し漏らすと本文が
 * 中央寄せに崩れる。
 *
 * ## 移行元が注釈で無効にしている宣言は写さない
 *
 * `#company .text`（`float: left; width: 505px; text-align: left`）は移行元の
 * `page_company.css` で注釈に囲まれており、効いていない。写すと文章の柱が 505px に
 * 縮み、1 行ぶん（27px）多く折り返す（実測）。移行元の私たちの想いは、右に置く写真も
 * 注釈で消している（`<!--<p class="photo">…-->`）ので、文章が 800px の柱いっぱいに
 * 中央寄せで並ぶ。これが移行元の見え方である。
 *
 * ## この節では直せないもの（別 Issue）
 *
 * - 会社概要の本社の行にある地図の埋め込みが、取り込みで丸ごと落ちている
 *   （移行元は 322x193 の `<iframe>`。dev はセルが空）。区画の高さが 107px 足りない
 * - 社内風景の横送り（`.slick-*`）は土台が無い。Bug #2222 と Task #2228 が持つ
 * - ニュース一覧の年の切り替え（`.text_menu`）はサイト共通の部品で、移行元も
 *   `css/style.css` に置いている。この節では触らない
 * ============================================================== */

/* --- 1. 区画の入れ物 --- */

/* 文字組みを持つ 6 区画。移行元は `font-size: 16px; line-height: 200%` を置く. */
:is(.entry-content, .page-content__body) :is(#company, #profile, #missionstatement, #contribution, #interview_top, #photo) {
	margin: 0 auto;
	padding: 65px 0 30px;
	font-size: 16px;
	line-height: 200%;
	text-align: center;
}

/* 文字組みを持たない 2 区画。移行元は柱と内余白と中央寄せだけを置き、文字は共通 CSS
   の既定（`css/common.css` の 29 行の `font-size: 13px`）と閲覧環境の既定の行送りを
   そのまま継ぐ。テーマの既定（16px / 1.5）が乗る分をここでそろえる. */
:is(.entry-content, .page-content__body) :is(#news, #recruit) {
	margin: 0 auto;
	padding: 65px 0 30px;
	font-size: 13px;
	line-height: normal;
	text-align: center;
}

/* 柱の幅。移行元の固定値を上限として写す（上のコメントの理由）. */
:is(.entry-content, .page-content__body) #missionstatement {
	width: min(740px, 100%);
}

:is(.entry-content, .page-content__body) #company {
	width: min(800px, 100%);
}

/* 🚨 **パソコン幅の柱を、移行元と同じ位置と幅に戻す（Bug #4277・裁定 366）。**
 *
 * ## 移行元の組み
 *
 * 移行元は本文の器に下限を持つ（`css/page_top.css` 11〜14 行の
 * `#contents { width: 100%; min-width: 1100px }`。移行元のパソコン版 5,349 ページが
 * 読む）。柱は上限を持たない固定幅である（`css/page_company.css` 727〜734 行の
 * `#company { width: 800px; margin: 0 auto }`）。
 *
 * **したがって移行元の柱の左端は `max(150px, (紙面 − 800px) / 2)` になる。**
 * 器が紙面より広い幅では左端が 150px（= (1100 − 800) / 2）で止まる。
 *
 * ## dev がずれていた理由
 *
 * dev の器は下限を持たない。**そのため dev の柱の左端は全幅で (紙面 − 800px) / 2 に
 * なり、150px の下止まりが無い。**器が紙面に付き従う帯と、器が 1,100px で止まる帯の
 * どちらでも同じ値になる（外側の器 `.page-content` の内余白 15px が両方で釣り合う）。
 *
 *   紙面 1,130px 以下  器の内側 左 15・幅 (紙面 − 30)
 *                      → 15 + (紙面 − 830) / 2 = (紙面 − 800) / 2
 *   紙面 1,130px 以上  器の内側 左 (紙面 − 1100) / 2 + 15・幅 1070
 *                      → (紙面 − 1100) / 2 + 15 + 135 = (紙面 − 800) / 2
 *
 * **差が出るのは (紙面 − 800) / 2 が 150 を下回る帯、つまり紙面 1,100px 未満だけ**
 * である。両側の実測（2026-09-07・移行元 `https://www.p-a.jp/company/` 15:24:47 JST 取得。
 * 記録 `pa-verify-assets/f15-common-0905/4277-container-floor-0907.md`）:
 *
 *   画面  750px  移行元 800 / 150   dev 720 / 15     幅 −80・左 −135
 *   画面 1000px  移行元 800 / 150   dev 800 / 100    左 −50
 *   画面 1024px  移行元 800 / 150   dev 800 / 112    左 **−38**（この Bug の題の数字）
 *   画面 1099px  移行元 800 / 150   dev 800 / 149.5  左 −0.5
 *   画面 1100px  移行元 800 / 150   dev 800 / 150    **一致**
 *   画面 1280px  移行元 800 / 240   dev 800 / 240    **一致**
 *   画面 1440px  移行元 800 / 320   dev 800 / 320    **一致**
 *
 * ## なぜ幅の条件で上を切らないのか
 *
 * 🚨 **上を `@media (max-width: 1099px)` で切ってはいけない。**幅の条件が見る画面の幅は
 * 縦スクロールバーを含むが、器の `100%` は含まない。**バーが場所を取る閲覧環境では
 * 両者が 15px 前後ずれる**ため、1,100〜1,114px あたりで手当てが外れて数 px の差が残る
 * （このファイルの `#slider` の節に同じ落とし穴の記録がある）。
 *
 * **そこで下止まりを `max()` で書く。**移行元の式そのままなので、幅の条件で上を切る
 * 必要が無く、バーの幅にも左右されない。
 *
 *   `(100% - 800px) / 2` … いまと同じ中央寄せ（`auto` が出す値と同じ）
 *   `150px - 内余白`      … 移行元の下止まり。器の内側の左端が内余白なので引く
 *
 * `max()` が下止まりを選ぶのは器が 1,070px 未満のときだけで、それは外側の器が
 * 内余白で幅を決めている帯（紙面 1,100px 未満）とちょうど一致する。
 *
 * 🚨 **`150px - var(--pa-inner-gutter)` と書いて 135px を直書きしない。**内余白は
 * 外側の器 `.page-content` が `padding: 0 var(--pa-inner-gutter)` で置いており
 * （このファイルの 969 行）、値が動いたときに柱だけ取り残されるのを避ける。
 * **型紙 `tests-retired/pa-cms-company-column-1100/` が、この式と外側の器の内余白を対で
 * 見張っている。**
 *
 * ## そのほか
 *
 * 🚨 **幅も戻す。**画面 750〜830px では `min(800px, 100%)` の `100%` 側が選ばれて柱が
 * 縮んでいた（750px で 720px）。移行元は 800px 固定で、器から右へはみ出して横送りで
 * 届く（裁定 265・272 = 750px 以上は移行元と同じく横スクロールを許容する）。
 *
 * 🚨 **携帯幅（749px 以下）は触らない。**移行元スマホ版は柱を画面の 87.5% にしており
 * （このファイルの携帯幅の節）、下止まりを当てると崩れる。だから
 * `@media (min-width: 750px)` で囲む。**下の境目だけは幅の条件で切ってよい**
 * （こちらは意匠の切り替え点で、器の寸法とは関係が無い）。
 *
 * 🚨 **器に下限 1,100px を入れる直し方は採らない（裁定 366 でユーザーが案 A を選択）。**
 * dev は固定幅の器を柱の外へ出すのに `margin-inline: calc(50% - min(Xpx, 50vw))` を
 * 使っており、この `50%` は親（器）の幅の半分である。器へ下限を入れると紙面
 * 1,100px 未満でこの式の箱が全部右へずれる（テーマの CSS 全体で 99 本）。
 * 2026-09-07 に支える帯で実際に踏んだ（Task #4281）。
 *
 * `#company` を持つのは会社情報の 2 ページだけである（移行元で
 * `grep -rl 'id="company"'` した結果は `company/index.html` = 私たちの想いと
 * `company/release.html` = 上場のお知らせ）。ほかの柱（`#profile` `#missionstatement`
 * `#contribution` `#news` `#recruit`）はこの囲みで触らない. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) #company {
		/* 移行元は上限を持たない固定幅である（縮ませない）. */
		width: 800px;
		/* 移行元の `max(150px, (紙面 − 800px) / 2)` を、器を基準に書き直した形. */
		margin-inline: max(calc(150px - var(--pa-inner-gutter)), calc((100% - 800px) / 2)) auto;
	}
}

:is(.entry-content, .page-content__body) #contribution {
	width: min(900px, 100%);
}

:is(.entry-content, .page-content__body) :is(#profile, #news, #recruit, #interview_top, #photo) {
	width: min(1100px, 100%);
}

/* 区画の下の外余白。移行元は `adjustment.css` で 2 区画だけに足している. */
:is(.entry-content, .page-content__body) :is(#contribution, #missionstatement) {
	margin-bottom: 60px;
}

/* --- 2. テーマの既定の打ち消し（区画ごとの写しより前に置くこと） --- */

/* 段落・箇条書き・定義リストの外余白。移行元の共通 CSS は初期化で `margin: 0` を
   置いたうえ、`p` の下余白 1em の宣言を注釈で無効にしている（`css/common.css` の
   319〜325 行）。つまり移行元の段落は外余白を持たない。テーマの既定（下 25px）が
   乗る分を打ち消す。

   区画の id は `:where()` で囲んで適用範囲の強さに数えない。移行元は下余白を足す
   道具のクラス（`.mb10` 等）を段落に付けており、テーマもそれを写してある。id を
   数えると (1,1,1) になってクラス 2 つ (0,2,0) の道具に勝ってしまい、移行元にある
   余白まで消える（実測: 採用の担当者の囲みが 10px 詰まった）. */
:is(.entry-content, .page-content__body)
	:where(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo)
	:is(p, li, dt, dd) {
	margin: 0;
}

/* 段落・箇条書き・定義リストの行送り。テーマは本文へ
   `line-height: var(--pa-line-height-text)`（1.5）を置くが、移行元は区画の文字組みを
   そのまま継がせている。打ち消さないと段落が 1 行あたり 8px 詰まる（実測: 社会貢献の
   5 行の段落が 160px から 120px へ）. */
:is(.entry-content, .page-content__body)
	:is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo)
	:is(p, li, dt, dd) {
	line-height: inherit;
}

/* 見出しの既定を打ち消す。移行元は会社情報・採用の区画の見出しに大きさも色も罫線も
   置かず、区画の文字組みをそのまま継がせている。見出しの中身は画像であることが多く、
   テーマの既定（h3 は 22px・金色・左に太い縦棒・上に 50px の外余白）が乗ると画像の
   行の高さと余白が変わる（実測: 会社概要の見出しが移行元 84px に対し 74px）. */
:is(.entry-content, .page-content__body)
	:is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo)
	:is(h2, h3, h4, h5, h6) {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* 画像の縦の位置合わせ。テーマは画像に `vertical-align: middle` を当てており、画像を
   含む行の下の余白（ディセンダ分）が消えて 10px 詰まる（実測: 会社情報の見出しが
   86px から 76px へ）。移行元は既定の baseline である（記事の `#seo img` と同じ
   理由・同じ直し方）. */
:is(.entry-content, .page-content__body)
	:is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo)
	img {
	vertical-align: baseline;
}

/* 箇条書きの入れ物。id 名だけでこの 8 区画に絞る書き方をしていたが、本文全体の
   箇条書きの既定を移行元へ戻したため不要になった（Issue #2355。上の「箇条書きと
   定義リスト」の節が全区画へ同じ内容を効かせている）. */

/* 回り込みの清算。移行元は共通 CSS（`css/common.css` の 328〜336 行）の
   `.clearfix:after` をサイト全体に効かせており、会社情報の本文もその囲みに
   `clearfix` を付けている。テーマはこの共通の規則を持たないため、写した回り込みが
   親の高さに入らず、区画が潰れる（実測: /company/ の区画が 1135px から 384px へ）。

   対象は会社情報・採用の区画の中だけに絞る。本文の `.clearfix` はほかの区画にも
   出るため、広く当てるとそれらの高さの出方を変えてしまう. */
:is(.entry-content, .page-content__body)
	:is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo)
	.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* 区画そのものが `clearfix` を持つ場合（移行元の `<section id="news" class="clearfix">` 等）. */
:is(.entry-content, .page-content__body)
	:is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo).clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* --- 3. 区画ごとの写し --- */

/* 区画の見出し（画像）の下の余白。移行元は区画ごとに値が違う. */
:is(.entry-content, .page-content__body) :is(#company, #profile, #recruit, #interview_top, #photo) > .title {
	margin-bottom: 35px;
}

:is(.entry-content, .page-content__body) #news > .title {
	margin-bottom: 30px;
}

/* 社会貢献だけは下の余白を持たない（写し元 `company/css/style.css` の 14〜16 行）. */
:is(.entry-content, .page-content__body) #contribution > .title {
	margin-bottom: 0;
}

/* 経営理念の見出しは下に罫線を引く. */
:is(.entry-content, .page-content__body) #missionstatement > .title {
	margin-bottom: 35px;
	padding-bottom: 40px;
	border-bottom: 1px solid #ccc;
}

:is(.entry-content, .page-content__body) :is(#recruit, #interview_top, #photo, #news) .list_category li a {
	color: #ccc;
	font-size: 14px;
	text-decoration: none;
}

:is(.entry-content, .page-content__body) :is(#recruit, #interview_top, #photo, #news) .list_category li a:hover {
	color: #e1200f;
}

/* 区画の惹句。会社概要と私たちの想いは上下に罫線を引く 26px の大きな文字である. */
:is(.entry-content, .page-content__body) :is(#company, #profile) .main_copy {
	margin-bottom: 40px;
	padding: 30px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-size: 26px;
	line-height: 39px;
}

/* 右に置く写真。移行元の HTML では注釈で消してあるが、宣言そのものは効いている. */
:is(.entry-content, .page-content__body) #company .photo {
	float: right;
	width: min(269px, 100%);
}

:is(.entry-content, .page-content__body) #company .text p {
	margin: 0 0 24px;
	line-height: 27px;
}

/* 本文の囲みの下の余白。写し元は `css/adjustment.css` の 7〜9 行. */
:is(.entry-content, .page-content__body) #company .message {
	padding-bottom: 60px;
}

/* --- プレスリリース（`.release`・器は #company）--- */

/* 一覧は左寄せ。写し元は `company/css/style.css` の 41〜46 行. */
:is(.entry-content, .page-content__body) .release {
	text-align: left;
}

/* 末尾の「以上」の上の余白。区画の id を付けて、段落の外余白の初期化に負けないようにする. */
:is(.entry-content, .page-content__body) #company .release .tar {
	margin-top: 20px;
}

/* --- 経営理念（#missionstatement）--- */

:is(.entry-content, .page-content__body) #missionstatement section {
	padding: 50px 0;
	border-bottom: 1px solid #ccc;
}

:is(.entry-content, .page-content__body) #missionstatement h4 {
	margin: 0 0 14px;
}

:is(.entry-content, .page-content__body) #missionstatement .main_copy {
	margin-bottom: 30px;
	font-size: 18px;
	line-height: 28px;
}

/* 2 段組みの箇条書き. */
:is(.entry-content, .page-content__body) #missionstatement :is(p.list01, p.list02) {
	float: left;
	width: min(278px, 100%);
	text-align: left;
}

:is(.entry-content, .page-content__body) #missionstatement p.list01 {
	margin-left: 102px;
}

/* 行動指針の 7 項目を 1 本にまとめた一覧（Bug #3457）。
 *
 * 型紙（`inc/mission-guideline-list.php`）が、移行元パソコン版の 2 つの段落を
 * **移行元スマホ版の順に並べた 7 項目**へ組み直す。上の `p.list01` / `p.list02` の
 * 規則は、組み直しが当たらなかったときの受け皿として残してある。
 *
 * 🚨 check-mobile-only: 意図してメディアクエリの外に置く。
 * 理由: これはパソコン幅の 2 列を作る宣言である。組み直しで当たり先が
 * `p.list01` / `p.list02` から `ul.pa-mission-guideline` へ変わるため、
 * パソコン幅の側にも同じ寸法を書き直す必要がある。**携帯幅だけの直しでは
 * 済まない。**パソコン幅の寸法が 1px も動かないことは、1440px の実測で裏を取る
 * （左の列 x=452・幅 278・右の列 x=730・幅 278・器の高さ 112px）。
 *
 * 横に 2 つずつ折り返すと、1・3・5・7 番目が左の列に、2・4・6 番目が右の列に落ちる。
 * これは移行元パソコン版の `p.list01` / `p.list02` の中身と 1 対 1 で一致する。
 * **並べ替えの指定も、列の高さの決め打ちも要らない。** */
:is(.entry-content, .page-content__body) #missionstatement ul.pa-mission-guideline {
	display: flex;
	flex-wrap: wrap;
	width: 556px;
	margin: 0 0 0 102px;
	padding: 0;
	list-style: none;
	text-align: left;
}

/* 🚨 check-mobile-only: 意図してメディアクエリの外に置く。
 * 理由: 上の器と対になる、パソコン幅の 1 列ぶんの幅である。この幅があって初めて
 * 2 つずつ折り返す。携帯幅では下の 749px 以下の節が `width: 100%` へ上書きする. */
:is(.entry-content, .page-content__body) #missionstatement ul.pa-mission-guideline > li {
	width: 278px;
}

/* --- 社会貢献（#contribution）--- */

/* 惹句は金茶の 30px である（写し元 `company/css/style.css` の 18〜24 行）. */
:is(.entry-content, .page-content__body) #contribution .main_copy {
	margin-top: 10px;
	margin-bottom: 70px;
	color: #a3762b;
	font-size: 30px;
	line-height: 160%;
}

:is(.entry-content, .page-content__body) #contribution .main_img {
	margin: 60px 0 25px;
}

:is(.entry-content, .page-content__body) #contribution p {
	margin-bottom: 30px;
	text-align: left;
}

/* 灰色の囲み. */
:is(.entry-content, .page-content__body) #contribution .npo {
	padding: 30px 30px 1px;
	background-color: #f5f5f5;
}

/* --- 会社概要（#profile）--- */

/* 画像だけの見出しは行送りを 0 にして、画像の下の余白（ディセンダ分）を消す. */
:is(.entry-content, .page-content__body) #profile h4 {
	line-height: 0;
}

/* 表の初期化。移行元 `page_company.css` の 835〜843 行. */
:is(.entry-content, .page-content__body) #profile .profile_box :is(table, tr, th, td) {
	margin: 0;
	padding: 0;
	border: 0;
	text-align: left;
}

/* セルの内余白と罫線。テーマの表の既定（セル 4 方向 8px の内余白・見出しもゴシック
   16px）が乗ると、行が 72.5px から 41px へ縮む（実測）. */
:is(.entry-content, .page-content__body) #profile .profile_box table :is(th, td) {
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
	line-height: inherit;
}

/* 入れ子の表のセルは罫線を持たない（移行元 `page_company.css` の 865〜867 行）. */
:is(.entry-content, .page-content__body) #profile .profile_box table table :is(th, td) {
	border-bottom: 0;
}

/* 項目名の列。明朝の 19px で、左に 30px の字下げを持つ. */
:is(.entry-content, .page-content__body) #profile .profile_box table th {
	width: 240px;
	padding-left: 30px;
	font-family: var(--pa-font-family-serif);
	font-size: 19px;
}

/* 行ごとの右の余白。移行元が行の内容に合わせて個別に置いている. */
:is(.entry-content, .page-content__body) #profile .profile_box table tr.honsha td {
	padding-right: 90px;
}

:is(.entry-content, .page-content__body) #profile .profile_box table tr.jigyou td {
	padding-right: 80px;
}

:is(.entry-content, .page-content__body) #profile .profile_box table tr.nintei td {
	padding-right: 20px;
}

:is(.entry-content, .page-content__body) #profile .profile_box table tr.presi td {
	width: 77%;
}

/* 表の中の画像は縮めない。テーマは画像に `max-width: 100%` を当てているが、移行元は
   持たない。認定マークが本来の 465x74 から 314x50 へ 0.675 倍に縮み、行が 63px
   詰まっていた（実測）。表の外枠は上で `min(1100px, 100%)` に収めてあるので、この
   打ち消しは表の中だけに限る. */
:is(.entry-content, .page-content__body) #profile .profile_box img {
	max-width: none;
}

/* 沿革の小見出し。左に飾りの縦棒が付く. */
:is(.entry-content, .page-content__body) #profile h5.title {
	margin-bottom: 15px;
	padding: 0 0 0 18px;
	background: url("../images/article/icon_copy.gif?ver=cdb5bb0c6f2a") no-repeat left center;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 100%;
	text-align: left;
}

/* 沿革。2 段組みの箱を並べ、表は罫線も内余白も持たない. */
:is(.entry-content, .page-content__body) #profile #anchor02 section {
	margin: 0 0 50px;
}

:is(.entry-content, .page-content__body) #profile #anchor02 ul li {
	float: left;
	padding: 26px 0;
	width: min(524px, 100%);
	border-bottom: 1px solid #ccc;
}

:is(.entry-content, .page-content__body) #profile #anchor02 ul li:nth-child(2n) {
	float: right;
}

:is(.entry-content, .page-content__body) #profile #anchor02 ul li:is(:nth-child(1), :nth-child(2)) {
	border-top: 1px solid #ccc;
}

:is(.entry-content, .page-content__body) #profile #anchor02 table :is(th, td) {
	padding: 0;
	border-bottom: none;
	line-height: 26px;
}

:is(.entry-content, .page-content__body) #profile #anchor02 table th {
	width: auto;
	padding-right: 30px;
	padding-left: 30px;
	font-family: var(--pa-font-family-serif);
	font-size: 16px;
}

/* --- ニュース一覧（#news）--- */

/* 見出しは高さを固定する。移行元 `page_company.css` の 176〜179 行. */
:is(.entry-content, .page-content__body) #news .ttl_news {
	height: 86px;
	clear: both;
}

/* --- 採用（#recruit）・社員インタビュー（#interview_top）・社内風景（#photo）の共通 --- */

:is(.entry-content, .page-content__body) :is(#recruit, #interview_top, #photo) .main_copy {
	margin-bottom: 15px;
	font-size: 24px;
	line-height: 100%;
}

:is(.entry-content, .page-content__body) :is(#recruit, #interview_top, #photo) .main_read {
	margin-bottom: 60px;
	font-size: 16px;
	line-height: 160%;
}

/* --- 採用（#recruit）--- */

/* 節の見出しは高さを固定する. */
:is(.entry-content, .page-content__body) #recruit .anchor_ttl {
	margin: 0;
	height: 86px;
}

:is(.entry-content, .page-content__body) #recruit dl.job dt a {
	text-decoration: none;
}

:is(.entry-content, .page-content__body) #recruit dl.job dt .icon_notice {
	display: inline-block;
	margin-right: 10px;
	padding: 3px 4px;
	background: #e1200f;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	text-align: center;
	vertical-align: middle;
}

/* 応募のご案内の囲み. */
:is(.entry-content, .page-content__body) #recruit .box_entry {
	margin: 40px 0;
	padding: 25px;
	background: #f5f5f5;
	font-size: 16px;
	line-height: 160%;
	text-align: left;
	clear: both;
}

:is(.entry-content, .page-content__body) #recruit .box_entry_copy {
	margin-bottom: 25px;
	font-size: 20px;
	line-height: 150%;
}

/* 仕事の紹介の箇条書き。項目の先頭に飾りの画像が付く. */
:is(.entry-content, .page-content__body) #recruit .list_work {
	padding: 25px 0 30px;
}

:is(.entry-content, .page-content__body) #recruit .list_work li {
	margin-bottom: 7px;
	padding: 0 0 0 12px;
	background: url("../images/company/recruit/icon_work.gif?ver=1a7b731f62d1") no-repeat left center;
	font-size: 16px;
	font-weight: 700;
	line-height: 120%;
}

/* 女性活躍推進の認定マークの囲み. */
:is(.entry-content, .page-content__body) #recruit .box_promote {
	margin-bottom: 40px;
	padding: 30px 40px;
	background: #f5f5f5;
	font-size: 12px;
	line-height: 180%;
	text-align: left;
}

:is(.entry-content, .page-content__body) #recruit .box_promote .promote_img {
	float: left;
	width: min(128px, 100%);
}

:is(.entry-content, .page-content__body) #recruit .box_promote .promote_text {
	float: right;
	width: min(870px, 100%);
	color: #666;
}

:is(.entry-content, .page-content__body) #recruit .box_promote .promote_copy {
	margin-bottom: 12px;
	padding: 0 0 10px;
	border-bottom: 1px solid #e1200f;
	color: #000;
	font-size: 20px;
	font-weight: 700;
	line-height: 100%;
}

/* 掲載実績の 1 行. */
:is(.entry-content, .page-content__body) #recruit dl.interview {
	margin: 0;
	padding: 25px 10px;
	font-size: 16px;
	text-align: left;
	border-bottom: 1px solid #ccc;
	clear: both;
}

:is(.entry-content, .page-content__body) #recruit dl.interview dt {
	float: left;
	width: min(96px, 100%);
}

:is(.entry-content, .page-content__body) #recruit dl.interview dd {
	float: right;
	width: min(973px, 100%);
}

/* 担当者からのひと言の囲み. */
:is(.entry-content, .page-content__body) #recruit .box_delegate {
	margin: 70px 0 40px;
	padding: 37px;
	border: 2px solid #a3762b;
	font-size: 16px;
	line-height: 150%;
	text-align: left;
	clear: both;
}

:is(.entry-content, .page-content__body) #recruit .box_delegate_detail {
	float: left;
	width: min(795px, 100%);
}

:is(.entry-content, .page-content__body) #recruit .box_delegate_ttl {
	margin-bottom: 25px;
	padding: 0 0 25px;
	border-bottom: 1px solid #a3762b;
	color: #a3762b;
	font-size: 28px;
	letter-spacing: 0.1em;
	line-height: 100%;
}

:is(.entry-content, .page-content__body) #recruit .box_delegate_copy {
	margin-bottom: 25px;
	font-size: 23px;
	letter-spacing: 0.1em;
	line-height: 100%;
}

:is(.entry-content, .page-content__body) #recruit .box_delegate_link a {
	color: #a3762b;
}

:is(.entry-content, .page-content__body) #recruit .box_delegate_img {
	float: right;
	width: min(144px, 100%);
}

/* --- 社員インタビュー（#interview_top）--- */

:is(.entry-content, .page-content__body) #interview_top h4 {
	margin: 0 0 20px;
	text-align: left;
}

:is(.entry-content, .page-content__body) #interview_top .interview_box {
	margin: 0 0 10px;
}

:is(.entry-content, .page-content__body) #interview_top .interview_box ul li {
	float: left;
	margin: 0 52px 50px 0;
	padding: 30px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	line-height: 0;
}

:is(.entry-content, .page-content__body) #interview_top .interview_box ul li:nth-child(2n) {
	margin-right: 0;
}

:is(.entry-content, .page-content__body) #interview_top .interview_job dl {
	margin: 0 0 30px;
	padding: 32px 39px;
	background: #f5f5f5;
	text-align: left;
}

:is(.entry-content, .page-content__body) #interview_top .interview_job dl dt {
	margin: 0 0 10px;
	padding: 0 0 10px;
	border-bottom: 1px solid #ccc;
	font-size: 20px;
	font-weight: 700;
}

/* --- 社内風景（#photo）--- */

:is(.entry-content, .page-content__body) #photo section h4 {
	margin: 0 0 20px;
}

:is(.entry-content, .page-content__body) #photo section p {
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}

:is(.entry-content, .page-content__body) #photo .photo_box {
	margin: 0 0 42px;
}

:is(.entry-content, .page-content__body) #photo .photo_box p {
	margin: 0 0 20px;
}

/* 社内風景の横送りの囲み。移行元は写真の枠に点線と点柄の下地を敷き、上に 39px・
   下に 6px の内余白を置く（`page_company.css` の 704〜710 行）。中の帯にも下 19px の
   外余白がある（同 733〜735 行）。テーマの横送りは動いているが、この囲みの装飾を
   持たないため、囲み 1 つあたり 66px 低い（実測: 内余白 45 + 罫線 2 + 帯の外余白 19）。

   横送りの部品そのもの（見える窓の幅・左右の矢印・下の丸い印）は写さない。テーマは
   slick とは別の作りで動いており、窓の幅だけを移行元の 600px に替えると中の帯
   （1,100px）がはみ出す。部品の作りは Bug #2222 と Task #2228 が持つ. */
:is(.entry-content, .page-content__body) #photo .slider {
	position: relative;
	padding: 39px 0 6px;
	background: url("../images/company/recruit/photo/bg_dot.gif?ver=e7582106fe0f") repeat 0 0;
	border: 1px dashed #dedede;
}

:is(.entry-content, .page-content__body) #photo .slick-track {
	margin: 0 0 19px;
}

/* ==============================================================
 * 社内風景の横送りの見える窓・送りボタン・丸い印（Issue #3448）
 * ==============================================================
 * 上の写しは `.slider`（点柄の下地・破線の枠・上下の内余白）と
 * `.slick-track`（下の外余白）だけを移した。その注釈は
 * 「横送りの部品そのもの（見える窓の幅・左右の矢印・下の丸い印）は写さない」と
 * 書いており、意図して見送っている。裁定 67（見た目の違いはすべて直す）に照らして
 * 写し直す。
 *
 * 幅 1440px で測った差は次のとおりである（移行元は本番をその場で取得。
 * 移行元 2026-09-04 17:06:xx JST ／ dev 同 17:06:xx JST）。
 *
 *   .slick-list（見える窓）  移行元 幅 600 / 左端 420  →  dev 幅 1098 / 左端 171
 *   .slick-slide（1 枚）     移行元 幅 600            →  dev 幅 1098
 *   .slick-prev の左端       移行元 351               →  dev 179
 *   .slick-next の左端       移行元 1049              →  dev 1221
 *   送りボタンの意匠         移行元 黒い四角に白い矢印 →  dev 半透明の白い丸に細い矢印
 *   丸い印 1 つ              移行元 6 × 6・間隔 12px  →  dev 20 × 20・間隔 30px
 *   丸い印の色               移行元 #ccc / 現在地 #000 →  dev 黒の 25% / 現在地 75%
 *
 * 写真そのもの（600 × 400）と `.slider` の外形（1100 × 498）と丸い印の枠
 * （1098 × 32）は両側で一致していた。**送りボタンの位置は `.slider` の中の
 * 絶対配置なので、窓を 600px に狭めても連動しない。別に写す必要がある。**
 *
 * ## テーマの土台はそのまま使う
 *
 * テーマの横送りは `assets/css/legacy-slider.css` の自前の作り（窓の横スクロールと
 * 吸着）で、移行元 slick とは動かし方が違う。**その作りは変えない。**
 * 内側の名前（`.slick-list` / `.slick-track` / `.slick-slide` / `.slick-prev` /
 * `.slick-next` / `.slick-dots` / `.slick-active`）は移行元 slick と同じに
 * そろえてあり、土台の注釈も「ページ別 CSS が background と位置を指定すれば、
 * そのまま上書きできる」と書いている。ここは**寸法と意匠だけ**を移行元に合わせる。
 *
 * ## 写し元
 *
 * 移行元 `public/css/page_company.css` の 664〜724 行である。
 *
 *   #photo .slick-list { width: 600px; margin: 0 auto }
 *   #photo .slider .slick-prev { position: absolute; left: 180px; top: 200px }
 *   #photo .slider .slick-next { position: absolute; right: 180px; top: 200px }
 *   #photo .slick-prev { background: url(prev.gif) no-repeat 0 0; width: 40px;
 *                        height: 40px; border: none; text-indent: -9999px; cursor: pointer }
 *   #photo .slick-next { 同じで next.gif }
 *   #photo .slick-next:hover, #photo .slick-prev:hover { opacity: 0.8 }
 *   #photo .slick-dots { text-align: center }
 *   #photo .slick-dots li { display: inline-block; margin: 0 3px }
 *   #photo .slick-dots button { text-indent: -9999px; width: 6px; height: 6px;
 *                               border: 0; background: #ccc }
 *   #photo .slick-active button { background: #000 }
 *
 * 送りボタンの絵は移行元 `public/images/company/recruit/photo/` の
 * `prev.gif` と `next.gif`（どちらも実寸 40 × 40px）で、テーマへ同じ名前で入れた。
 *
 * ## 移行元の書き方をそのまま写さないところ
 *
 * `text-indent: -9999px` は写さない。テーマの土台は同じ目的（読み上げには残し、
 * 見た目では隠す）を `font-size: 0` と `color: transparent` で果たしており、
 * 画面の外へ 9999px 押し出すより安全である（右から左へ書く言語で画面内に戻る
 * 不具合が知られている）。**見た目は同じになる。**
 *
 * ## 🚨 丸い印を 6 × 6px にすると押す的が小さくなる
 *
 * テーマの土台は印の押す的を 20 × 20px にしてある。移行元は 6 × 6px なので、
 * 移行元にそろえると押す的が 6 × 6px に縮む。**移行元の再現を採ると、指で押す
 * ときの当たりやすさは落ちる。**裁定 67 と「見た目は移行元を完全再現」の原則に
 * 従って移行元にそろえたが、この取り替えは司令塔からユーザーへ諮る値だと思う
 * （Issue #3448 の本文にも書いた）。
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	/* 見える窓。移行元は 600px の窓を器（1,100px）の中央に置く。
	   左端は 170 + (1100 − 600) / 2 = 420px になる。
	   1 枚は土台が `flex: 0 0 100%` で組むので、窓を 600px にすれば 1 枚も 600px になる. */
	:is(.entry-content, .page-content__body) #photo .slick-list {
		width: min(600px, 100%);
		margin: 0 auto;
	}

	/* 送りボタンの位置。移行元は器（`.slider`）の中の絶対配置で、上から 200px・
	   左右の端から 180px である。器の左端 170 に破線の枠 1px と 180 を足して 351px、
	   右は 1270 − 1 − 180 − 40 = 1049px になる（実測と一致）。

	   土台は `top: 50%` と `transform: translateY(-50%)` で縦の中央へ置くので、
	   **`transform` を戻さないと 200px からさらに 20px 上へ寄る。**

	   【強さの数え直し】この選択子は id 1 つ ＋ class 2 つで (1,2,0)。土台は
	   `.slider.is-slider-ready .slick-prev` で (0,3,0) なので、id の桁で勝つ. */
	:is(.entry-content, .page-content__body) #photo .slider .slick-prev,
	:is(.entry-content, .page-content__body) #photo .slider .slick-next {
		top: 200px;
		transform: none;
	}

	:is(.entry-content, .page-content__body) #photo .slider .slick-prev {
		left: 180px;
	}

	:is(.entry-content, .page-content__body) #photo .slider .slick-next {
		right: 180px;
	}

	/* 送りボタンの意匠。移行元は 40 × 40px の絵をそのまま敷く（黒い四角の中に白い
	   矢印）。土台は半透明の白い丸に細い矢印を描いているので、`background` を
	   まとめて指定して丸ごと差し替え、丸みも消す。

	   土台の注釈も「background をまとめて指定するため、ここで背景に描いておけば、
	   上書きしたときに二重に出ない」と書いている. */
	:is(.entry-content, .page-content__body) #photo .slick-prev {
		background: url("../images/company/recruit/photo/prev.gif?ver=7645ec064fff") no-repeat 0 0;
		border: none;
		border-radius: 0;
		cursor: pointer;
	}

	:is(.entry-content, .page-content__body) #photo .slick-next {
		background: url("../images/company/recruit/photo/next.gif?ver=96d91800a6be") no-repeat 0 0;
		border: none;
		border-radius: 0;
		cursor: pointer;
	}

	/* 触れたときの見え方。移行元は絵を 8 割の濃さにする。土台は白い丸を濃くするので、
	   その指定を打ち消す（`background-color` は上の `background` で消えているが、
	   触れたときの規則が別に持っているため）. */
	:is(.entry-content, .page-content__body) #photo .slick-prev:hover,
	:is(.entry-content, .page-content__body) #photo .slick-next:hover {
		background-color: transparent;
		opacity: 0.8;
	}

	/* 丸い印 1 つぶんの枠。移行元は左右に 3px の余白を取る（印 6px と合わせて
	   間隔 12px になる）. */
	:is(.entry-content, .page-content__body) #photo .slick-dots li {
		margin: 0 3px;
	}

	/* 丸い印そのもの。移行元は 6 × 6px の四角い面で、色は #ccc・現在地は #000 である。

	   🚨 土台は印を `button::before` の文字（•）として描いている。移行元は
	   `button` の背景で描くので、**土台の擬似要素を消さないと 20 × 20px の文字が
	   6 × 6px の面に重なって出る。**採取の道具は擬似要素を記録しないため、
	   出力を読んでも気づけない。ここで `content: none` にして消す. */
	:is(.entry-content, .page-content__body) #photo .slick-dots li button {
		width: 6px;
		height: 6px;
		padding: 0;
		border: 0;
		background: #ccc;
	}

	:is(.entry-content, .page-content__body) #photo .slick-dots li button::before {
		content: none;
	}

	:is(.entry-content, .page-content__body) #photo .slick-dots li.slick-active button {
		background: #000;
	}
}

/* ==============================================================
 * 採用の 22 ページの見出し画像の帯・タブの下の空き・サブナビの色（Issue #3446）
 * ==============================================================
 * 移行元の `/company/recruit/` 配下は、見出し画像の帯（`h2.main_ttl`）とタブ
 * （`ul.category_menu`）を 1,268px で置き、両方の下の空きを 0 にしている。
 * dev は帯だけが柱（`.entry-content`・1,100px）に収まって 168px 狭く、
 * 縦にも 12.64px 低かった。タブは幅は合っていたが、下に 40px の空きが付いていた。
 *
 * 幅 1440px で測った差は次のとおりである（移行元は本番をその場で取得。
 * 移行元 2026-09-04 16:20:19 JST ／ dev 同 16:21:27 JST）。
 *
 *   h2.main_ttl        移行元 1268 × 170 / 左端 86  →  dev 1100 × 157.36 / 左端 170
 *   帯 → タブ の空き    移行元 0                     →  dev 25
 *   タブ → 本文 の空き  移行元 0                     →  dev 40
 *   本文の区画の上端    移行元 y=412                 →  dev y=586.36
 *   ul.list_category の li の色      移行元 #e1200f  →  dev rgb(0, 0, 0)
 *   ul.list_category の li span の色 移行元 #111111  →  dev rgb(0, 0, 0)
 *   ul.list_category の行送り        移行元 14       →  dev 30.8
 *
 * 【当てる範囲】`.single-content--recruit` を前置し、採用の投稿型だけに当てる。
 * `main_ttl` と `category_menu` は移行元由来の共通クラスで、会社情報の固定ページ
 * や成婚ストーリーにも出る。クラスへ直に当てるとそれらを巻き添えにする。
 * **固定ページ側の帯は 1268 × 170 で移行元と一致しており、触ってはいけない**
 * （テンプレートが `div.pa-company-band` へ出し直している。実測で確認）。
 *
 * 【器を柱の外へ広げる書き方】入会案内の節（Bug #2303）と同じにする。
 * 幅を 1,268px にし、柱との差の半分を左右の負の外余白で押し出す
 * （`margin-inline: calc((100% - 1268px) / 2)`）。柱が 1,100px なら片側 −84px
 * 押し出され、左端は 170 − 84 = 86px になって移行元と一致する。柱の幅を数値で
 * 書き写さないので、柱の幅を決めるトークンが変わっても追いつく。
 * 画面の幅を表す単位（vw）で押し出さないのは、vw が縦スクロールバーの幅を含み、
 * バーが場所を取る環境で横にあふれるためである。
 *
 * 【境目 1285px の決め方】器に必要な幅 1,268px へ縦スクロールバーのぶん 17px を
 * 足す（司令塔の裁定・Issue #2380）。同値の 1,268px にすると、バーが幅を食う
 * 環境でバーのぶんだけ横にあふれる。
 *
 * 【狭い画面】移行元は 1,268px の決め打ちで組まれており、それより狭い画面には
 * 写す相手が無い（携帯には別のページを返す）。よって広い画面だけに当て、
 * 狭い画面はテーマ本来の応答型の組みにそのまま残す。**携帯幅は 13 班の担当なので、
 * この節の指定はすべて `@media (min-width: 750px)` 以上に閉じている.**
 * -------------------------------------------------------------- */

@media (min-width: 1285px) {
	/* 見出し画像の帯。高さも移行元と同じ 170px に固定する（移行元
	   `css/style.css` の 1311〜1315 行 `#contents .main_ttl { margin: 0 auto;
	   width: 1268px; height: 170px }`）。

	   下の外余白 0 を同じ規則で置いてよいのは、この選択子がタブと共有されて
	   いないためである（入会案内の節は選択子を共有しているので分けている）。

	   【dev に 25px が乗る筋道】テーマは
	   `.entry-content :is(h2〜h6):has(> img:only-child)` へ
	   `margin: 0 0 var(--pa-article-paragraph-gap)` を置いており、値は 25px で
	   ある。`.main_ttl` は画像 1 枚だけを抱える h2 なのでこれに当たる。

	   【強さの数え直し】この選択子は class 3 つで (0,3,0)。テーマ側は
	   `.entry-content` (0,1,0) ＋ `:is(h2〜h6)` が中身の最大値で (0,0,1)
	   ＋ `:has(> img:only-child)` が中身の最大値 `img:only-child` で (0,1,1) の
	   合計 (0,2,2) である（`:is()` も `:has()` も中身の最大値を取る）。
	   class の桁が 3 対 2 でこちらが勝つ. */
	.single-content--recruit .entry-content .main_ttl {
		width: 1268px;
		height: 170px;
		margin-inline: calc((100% - 1268px) / 2);
		margin-bottom: 0;
	}

	/* 帯の中の画像の高さも属性どおりの 170px に固定する。

	   【原因】画像の実寸は 1269 × 170px である（dev が配っている
	   `wp-content/uploads/pa-cms/images/company/main_ttl.jpg` の JPEG ヘッダーから
	   読んだ実測。移行元 `public/images/company/main_ttl.jpg` も同じ）。
	   移行元の `<img>` は `width="1268" height="170"` を持ち、画像に寸法の CSS を
	   持たないので、この 2 つの属性がそのまま使われて 1268 × 170px で描かれる。
	   テーマは共通で `img { max-width: 100%; height: auto }` を当てており、
	   `height: auto` が属性の高さより強いため、高さが実寸の縦横比から出て
	   1268 × 170 ÷ 1269 ＝ 169.87px になる。

	   この節は画面幅 1,285px 以上に限られていて、帯の器も画像も必ず 1,268px なので、
	   高さを固定しても縦横比が崩れる幅は無い。それより狭い画面では
	   `max-width: 100%` で画像が縮むため、高さは `auto` のままにしておく必要がある。

	   【強さの数え直し】この選択子は class 3 つ ＋ 要素 1 つで (0,3,1)。テーマの
	   `img` は (0,0,1) なので勝つ. */
	.single-content--recruit .entry-content .main_ttl img {
		height: 170px;
	}

	/* タブの下の外余白を移行元と同じ 0 に戻す。

	   【移行元の値】`css/style.css` の `#contents .category_menu { margin: 0 auto;
	   padding: 1px 0 0 82px; width: 1186px }`。上下の外余白は 0 である。

	   【dev に 40px が乗る筋道】テーマの
	   `:is(.entry-content, .page-content__body) .category_menu` が
	   `margin: 0 auto var(--pa-space-sm)` を置いており、値は広い画面で 40px である。

	   【強さの数え直し】この選択子は class 3 つで (0,3,0)。テーマ側は
	   `:is(.entry-content, .page-content__body)` (0,1,0) ＋ `.category_menu` (0,1,0)
	   の (0,2,0) なので勝つ。同じファイルの 1,285px 以上の節にある
	   `.category_menu` の規則も (0,2,0) で同じである. */
	.single-content--recruit .entry-content .category_menu {
		margin-bottom: 0;
	}
}

/* サブナビ（`ul.list_category`）の色と行送り。移行元
   `public/css/page_company.css` の 342〜366 行（`#recruit`）・542〜571 行
   （`#interview_top`）・625〜654 行（`#photo`）の 3 つの塊はどれも同じ内容で、
   次の 4 つを置いている。

     li      { color: #e1200f; line-height: 100% }
     li a    { color: #cccccc; text-decoration: none }
     li a:hover { color: #e1200f }
     li span { color: #111111; padding: 0 14px }

   このファイルの写し（`.list_category` の節）は並べ方と `li span` の左右の
   内余白だけを写しており、**`li` の色と行送り、`li span` の色を落としていた**。
   リンクの色は別の節（`:is(#recruit, #interview_top, #photo, #news) .list_category
   li a`）で写してある。

   【何が見えるか】`li` の色は、リンクになっていない現在のページの項目に出る。
   移行元は赤（#e1200f）で現在地を示すが、dev は本文の黒のままで、
   どのページを見ているのかが分からなかった。区切りの「/」も移行元の
   #111111 に対して dev は黒だった。行送りは 14 対 30.8 で、一覧の高さが
   28.59 から 30.8 へ広がっていた。

   【当てる範囲】移行元で `class="list_category"` を持つのは
   `/company/recruit/` 配下の 4 ページだけである（移行元の HTML を全数検索して
   確認）。区画の id で絞るのは、30 行ほど上にあるリンクの色の規則
   （`:is(#recruit, #interview_top, #photo, #news) .list_category li a`）と
   同じ形にそろえるためである。id を 3 つにとどめるのは、移行元が
   `.list_category` の塊を `#recruit` `#interview_top` `#photo` の 3 つだけに
   置いていて、`#news` 向けの塊を持たないためである（移行元の CSS を全数検索して
   確認）。

   🚨【区画の id を選択子に入れないと行送りが届かない】このファイルの
   「テーマの既定の打ち消し」の節に
   `:is(.entry-content, .page-content__body) :is(#company, …, #photo)
   :is(p, li, dt, dd) { line-height: inherit }` があり、強さは id 1 つ ＋ class 1 つ
   ＋ 要素 1 つの (1,1,1) である。**id が 1 つあると、class を 3 つ重ねた
   (0,3,0) では勝てない。**最初は
   `.single-content--recruit .entry-content .list_category li` と書いたが、
   色だけが当たって行送りは `normal` のままだった（実ページに手元の CSS を
   差し替えて実測し、勝っている規則を CDP の `CSS.getMatchedStylesForNode` に
   聞いて確かめた）。この選択子は id 1 つ ＋ class 2 つ ＋ 要素 1 つで (1,2,1)
   になり、class の桁が 2 対 1 で勝つ。

   【携帯幅を触らない】移行元スマホ版の組みは 13 班の担当なので、
   `@media (min-width: 750px)` の中に閉じる。`@media` は強さを上げないので、
   上の (1,1,1) との勝ち負けは変わらない. */
@media (min-width: 750px) {
	/* 一覧そのものの高さ。移行元は項目を `display: inline-block` で横に流すので、
	   一覧は**行の箱（line box）**を持つ。行の箱の高さは一覧の字（14px）と
	   行送り（`normal`）から 20px になり、その中に高さ 14px の項目が
	   上から 2px の位置に載る（移行元を幅 1440px で実測。上に 2px・下に 4px の
	   余りができる）。

	   テーマの写しは項目を flex で並べており、**flex の器は行の箱を持たない**ので
	   高さが項目そのものの 14px になり、一覧が 6px 低く・項目が 2px 上に寄っていた。
	   これで一覧より下の中身がまとめて 6px 上へずれる。

	   flex のまま同じ余りを作るため、行の箱のぶんを内余白で置く。項目の縦の
	   そろえは既定の `stretch` のままなので、項目の高さは内側の 14px に収まる。
	   数値で置いてよいのは、この一覧の字が移行元でも 14px の決め打ちだからである. */
	:is(.entry-content, .page-content__body)
		:is(#recruit, #interview_top, #photo)
		.list_category {
		padding-top: 2px;
		padding-bottom: 4px;
	}

	:is(.entry-content, .page-content__body)
		:is(#recruit, #interview_top, #photo)
		.list_category li {
		color: #e1200f;
		line-height: 100%;
	}

	:is(.entry-content, .page-content__body)
		:is(#recruit, #interview_top, #photo)
		.list_category li span {
		color: #111111;
	}

	/* 社内風景（`#photo`）だけ、行の箱の高さが違うので内余白を置き直す（Bug #4105）。

	   🚨 **上の 3 区画をまとめた規則の「上 2px・下 4px」は、採用・求人情報トップ
	   （`#recruit`）で測った値である。**移行元は器ごとに行送りが違うので使い回せない。
	   移行元 `public/css/page_company.css` は

	     #photo { font-size: 16px; line-height: 200% }   （604〜610 行）

	   を置くので、受け継がれる行送りは**長さ 32px に決まってから**伝わる（百分率は
	   器で長さになってから伝わる）。サブナビはこの 32px の行の箱をそのまま持つ。
	   `#recruit`（323〜327 行）は器に行送りを置かないため行の箱が 20px になり、
	   あちらの余り（上 2px・下 4px）はこちらでは成り立たない。

	   移行元を幅 1440px で実測すると、一覧は高さ **32px**、中の項目は高さ 14px で
	   上に **10px**・下に **8px** の余りだった（本番を 2026-09-06 22:44:53 JST に取得）。
	   dev は一覧が 20px・余りが 0px / 0px で、**サブナビより下の中身が 12px 上へ
	   ずれていた**。テーマは項目を flex で並べており、flex の器は行の箱を持たないので、
	   この余りを内余白で置く。`flex` はやめないので、区切りの「/」が各行の末尾に
	   取り残される退行は起きない。

	   同じ取り違えは社員紹介の一覧（`#interview_top`）にもあり、Bug #4092 が
	   同じ形で直している。

	   【当てる範囲】3 区画をまとめた規則そのものは触らない（`#recruit` の値は
	   正しく、作り替えは退行の種になる。裁定 240）。`#photo` だけを上書きする。

	   【強さの数え直し】この選択子は id 1 つ ＋ class 2 つ ＋ 要素 1 つで (1,2,1)。
	   まとめた規則は (1,2,0) なので、**ファイルの並び順に関わらず勝つ**。並び順に
	   頼らないのは、まとめた規則が別の Issue の持ち場で後から動くことがあるためである。

	   【後始末の候補】区画ごとに行送りが違うのに 1 つの値を当てているのが取り違えの
	   温床である。`#interview_top` と `#photo` の個別の上書きが 2 件並ぶので、
	   リファクタリングの段で区画ごとに分ける形へ整理する候補として残す. */
	:is(.entry-content, .page-content__body) #photo ul.list_category {
		padding-top: 10px;
		padding-bottom: 8px;
	}
}

/* ==============================================================
 * 社員紹介の一覧のパソコン幅（Bug #4070）
 * ==============================================================
 * 幅 1440px で本文層が移行元より 78.00px 高かった。内訳は「分類のタブが 12px 低い」
 * ＋「紹介の箱の間が 6 か所とも 15px 広い」で、−12.00 ＋ 15.00 × 6 ＝ +78.00 と
 * 差の全部が説明できる。部品そのものの大きさ（箱 293 / 525・職種の案内 731・
 * 先頭へ戻る 109）は両側で一致していた。
 * ============================================================== */
@media (min-width: 750px) {
	/* 【1】分類のタブの高さ。移行元は 32px、dev は 20px だった。

	   🚨 **すぐ上の節の 2px / 4px は、この画面には合っていない。**上の節は
	   採用・求人情報トップ（`#recruit`）で測った値を `#interview_top` と `#photo`
	   にも当てているが、**移行元は器ごとに行送りが違う**。移行元の
	   `public/css/page_company.css` は
	   `#interview_top { font-size: 16px; line-height: 200% }` を置くので、
	   受け継がれる行送りは**長さ 32px** に決まってから伝わる（百分率は器で
	   長さになってから伝わる）。分類のタブはこの 32px の行の箱をそのまま持つ。
	   採用・求人情報トップ（`#recruit`）の行の箱が 20px なのは、あちらの器が
	   別の行送りを置いているからで、値を使い回せない。

	   移行元を幅 1440px で実測すると、タブの器は上端 596・高さ 32、中の項目は
	   上端 606・高さ 14 だった（上に 10px・下に 8px の余り）。テーマの写しは
	   項目を flex で並べており、**flex の器は行の箱を持たない**ので、この余りを
	   内余白で置く。

	   【強さの数え直し】この選択子は id 1 つ ＋ class 2 つ ＋ 要素 1 つで (1,2,1)。
	   すぐ上の節（`:is(#recruit, #interview_top, #photo) .list_category`）は
	   (1,2,0) なので、**ファイルの並び順に関わらず勝つ**。並び順に頼らないのは、
	   上の節が別の Issue の持ち場で、後から動くことがあるためである. */
	:is(.entry-content, .page-content__body) #interview_top ul.list_category {
		padding-top: 10px;
		padding-bottom: 8px;
	}

	/* 【2】紹介の箱と箱の間。移行元は 10px、dev は 25px だった。

	   箱そのものは移行元と同じ `margin: 0 0 10px` を持っている。**指定は合って
	   いるのに間隔が広い。**中の `ul` にテーマの本文の既定
	   （`--pa-article-paragraph-gap` ＝ 750px 以上で 25px）が乗り、箱に下の内余白も
	   罫線も無いのでその外余白が箱の外へ抜け、箱自身の 10px と重なって大きい
	   ほうの 25px が間隔になっていた。移行元は初期化で `ul` の外余白を 0 にする
	   ので、抜け出るものがない。

	   移行元の実測（幅 1440px）でも、箱の下端と中の `ul` の下端がぴたりと重なる
	   （1 つ目の箱は上端 818.19 ＋ 高さ 293 ＝ 1111.19 で、中の `ul` の
	   879.19 ＋ 232 と同じ）。

	   🚨 **器の指定を読んで「合っている」と判断できない型である。**中身の下余白と、
	   器がそれを抱えているかを見る.

	   【強さの数え直し】id 1 つ ＋ class 3 つ ＋ 要素 1 つで (1,3,1)。テーマの
	   本文の既定 `.entry-content :is(ul, ol)`（(0,1,1)）に勝つ. */
	:is(.entry-content, .page-content__body) #interview_top .interview_box ul {
		margin: 0;
	}
}

/* ==============================================================
 * 移行してきた本文の表の地色・縦のそろえ・入れ子の表の幅（Issue #3447）
 * ==============================================================
 * テーマは移行してきた本文の表に、移行元には無い指定を 3 つ足している。
 * 会社概要（`/company/profile/`）と募集要項（`/company/recruit/recruit_info/`）で
 * 見た目の差になっていた。
 *
 * 幅 1440px で測った差は次のとおりである（移行元は本番をその場で取得。
 * 移行元 2026-09-04 16:55:19 JST ／ dev 同 16:55:30 JST）。
 *
 *   項目名のセル（th）の地色  移行元 rgba(0, 0, 0, 0)  →  dev rgb(242, 244, 247)
 *   セルの縦のそろえ          移行元 middle            →  dev top
 *   認定の行の入れ子の表の幅  移行元 695.50            →  dev 757
 *   事業内容の行の入れ子の表  移行元 89.03             →  dev 847
 *
 * 【移行元は 3 つとも持っていない】移行元の初期化（`public/css/common.css` の
 * 288〜300 行）は次の 3 本だけで、地色も縦のそろえも表の幅も置いていない。
 *
 *   table   { margin-bottom: 1em }
 *   td, th  { border: 1px solid; padding: 0.5em }
 *   th      { font-weight: bold; text-align: center }
 *
 * 会社概要の写し（`public/css/page_company.css` の 835〜868 行）も
 * 罫線・内余白・外余白・揃え・列幅（`th { width: 240px }`）だけで、
 * 地色・縦のそろえ・表そのものの幅を 1 行も持たない。
 * 募集要項の写し（`public/company/recruit/recruit_info/css/style.css`）も同じで、
 * 地色を置くのは入れ子の待遇の一覧（`.tb_job2 th { background: #f5f5f5 }`）だけである。
 *
 * よって移行元の 3 つの値は、どれもブラウザの既定である。**手元の組みで確かめた**
 * ところ、CSS を 1 行も置かない `th` / `td` の計算後の値は
 * `vertical-align: middle` ・ `background-color: rgba(0, 0, 0, 0)` である。
 *
 * 【テーマ側の出どころ】このファイルの汎用の表の節（`.entry-content table` /
 * `.page-content__body table` の 3 本）が置いている。
 *
 *   :is(th, td) { vertical-align: top }
 *   th          { background-color: var(--pa-color-surface-muted) }
 *   table       { width: 100% }
 *
 * 会社情報の表の写しは罫線・内余白・書体を打ち消しているが、この 3 つを
 * 打ち消していないので汎用の値が残っていた。
 *
 * 【地色は会社情報に絞って打ち消す（裁定 83）】汎用の規則そのものは移行元に無い
 * 色なので、サイト全体で見直す必要がある。ただし影響範囲が広いので、
 * まず会社情報だけを移行元にそろえ、汎用の規則は別 Bug（P2）でサイト全体を
 * 測ってから直す。
 *
 * 【入れ子の待遇の一覧の地色は残す】募集要項の `.tb_job2 th` は移行元も
 * `background: #f5f5f5` を持つ。打ち消しの選択子は id を持たない class だけの
 * 組み（下記のとおり (0,3,2)）にしてあるので、id を含む
 * `:is(...) #recruit .tb_job2 th` (1,2,1) には負ける。**これは意図した負け方で、
 * 待遇の一覧の地色はそのまま残る.**
 *
 * 【携帯幅を触らない】携帯幅は 13 班の担当で、項目名のセルには移行元スマホ版と
 * 同じ市松の絵を敷く予定である（値がこの節と逆向きになる）。書く場所を分けて
 * 詳細度の勝ち負けが起きないようにするため、この節はすべて
 * `@media (min-width: 750px)` の中に閉じている（13 班と取り決め済み）.
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	/* 項目名のセルの地色を、移行元と同じ「地色なし」に戻す。

	   【強さの数え直し】`:is()` は中身の最大値を取る。中身は
	   `.pa-page--company .page-content__body` が (0,2,0)、
	   `.single-content--recruit .entry-content` も (0,2,0) なので (0,2,0)。
	   そこへ `table` (0,0,1) ＋ `:not(.pa-form-table)` が中身の (0,1,0)
	   ＋ `th` (0,0,1) を足して (0,3,2) になる。
	   汎用の規則は `.page-content__body table:not(.pa-form-table) th` で
	   (0,2,2) なので、class の桁が 3 対 2 でこちらが勝つ。

	   `:not(.pa-form-table)` を残すのは、問い合わせの入力欄の表
	   （テーマ独自の部品）を巻き添えにしないためである。汎用の規則と同じ条件に
	   そろえてある.

	   【目印の出どころ】`.pa-page--company` は
	   `page-templates/page-company.php` が URL の先頭階層から作る（`/company/`
	   なら `pa-page--company`）。`.single-content--recruit` は
	   `single-recruit.php` が出す。前者が会社情報の固定ページ 7 ページ、
	   後者が採用の投稿型 22 ページを受け持つ. */
	:is(.pa-page--company .page-content__body, .single-content--recruit .entry-content) table:not(.pa-form-table) th {
		background-color: transparent;
	}

	/* 会社概要の表のセルは、移行元と同じく行の中央にそろえる。
	   「本社」「代表取締役社長」「認定」の 3 行で見た目の差になっていた。

	   【強さの数え直し】この選択子は id 1 つ ＋ class 2 つ ＋ 要素 1 つで (1,2,1)。
	   すぐ上にある同じ強さの規則（`.profile_box table :is(th, td)` の内余白と
	   罫線）とは同値だが、この節が後ろにあるので縦のそろえだけが上書きされる。
	   汎用の規則 (0,2,2) には id の桁で勝つ.

	   募集要項（`.tb_job`）の写しは `vertical-align: middle` を明示していて
	   すでに移行元と一致しているので、こちらでは触らない（陰性対照）. */
	:is(.entry-content, .page-content__body) #profile .profile_box table :is(th, td) {
		vertical-align: middle;
	}

	/* 入れ子の表の幅を、移行元と同じ「中身に合わせる」に戻す。

	   【何が起きていたか】汎用の規則の `table { width: 100% }` が入れ子の表にも
	   当たり、親のセルの幅いっぱいに広がっていた。認定の行の表が 695.50 → 757、
	   事業内容の行の表が 89.03 → 847 である。移行元は入れ子の表に幅を置かないので、
	   表は中身の幅に縮む。

	   【強さの数え直し】この選択子は id 1 つ ＋ class 2 つ ＋ 要素 2 つで (1,2,2)。
	   汎用の規則は `.page-content__body table:not(.pa-form-table)` で (0,2,1) なので
	   id の桁で勝つ。外側の表（`.profile_box` の直下）はこの選択子に当たらないため、
	   幅 1,100px のまま変わらない（陰性対照）.

	   【本文の再取り込みが済むまでは数値が一致しない】この 2 つの表は、
	   投入のときに `<th>` の `width` 属性と改行が落ちている（データ側の原因。
	   Issue #2584）。幅を「中身に合わせる」に戻すのはここで正しいが、
	   中身そのものが移行元とそろうのは再取り込みの後である. */
	:is(.entry-content, .page-content__body) #profile .profile_box table table {
		width: auto;
	}
}

/* ==============================================================
 * 会社情報配下の規程ページの区画（Bug #2696）
 *
 * `/policy/` 配下の 6 ページ（特定商取引法の表記・一般事業主行動計画・決済業務の
 * 外部委託・セキュリティ/CS 向上への取組み・履歴情報の取扱い・ソーシャルメディア
 * ポリシー）は、上の「会社情報・採用の区画」と同じテンプレート
 * （`page-templates/page-company.php`）で描画される。写し元は
 * `public/css/page_policy.css` の 1 本で、本文の区画（`section[id]`）に柱の幅と
 * 中央寄せを、その中の部品（見出し画像・支払方法・役務の対価の箱）に余白と書体を
 * 置いている。この 1 本がテーマに写されておらず、見出しの飾り・柱の幅・中央寄せ・
 * 文字組み・余白が移行元と食い違っていた。
 *
 * ## この区画だけ `.page-content--company` を id の前に置く理由
 *
 * 会社情報・採用の区画は `:is(.entry-content, .page-content__body)` から直接
 * 区画 id を絞っているが、この区画は先に `.page-content--company` を置く。写し元が
 * 持つ 8 つの id（`#about` `#privacy` など）は移行元の別の場所でも使われることが
 * あり、id だけで絞ると `/policy/` 以外の本文に同じ id があったときに漏れて効いて
 * しまう（`.page-content--company` を持つのは会社情報のテンプレートで描画される
 * ページだけ）.
 *
 * ## 節の並べ方
 *
 * 1. 区画の入れ物
 * 2. テーマの既定の打ち消し
 * 3. 区画ごとの写し（移行元の宣言をそのまま）
 *
 * 打ち消しを写しより前に置く理由は会社情報の節と同じ（詳細度が同じ場合に後発が
 * 勝つ CSS の仕組みを使うため。下の `#sns h6` は打ち消しと同じ詳細度になるので、
 * 順番を崩すと打ち消しのほうが後勝ちしてしまう）。
 *
 * ## いま dev で生きているのは 6 id・8 id 書くのは将来のため
 *
 * 写し元が持つ id は 8 つ（`#about` `#policy` `#privacy` `#security` `#copyright`
 * `#consignment` `#sns` `#sitehistory`）だが、いま dev で生きているページはそのうち
 * 6 つで、`#privacy` は tameny.jp へ転送、`#copyright` は 404 である
 * （別 Issue の範囲・この節では直さない）。8 つとも書いておけば、転送や 404 が
 * 解消したときにそのまま効く。
 *
 * ## 区画ごとの写し（3.）は、いま dev の本文で実在する要素に当たるものだけに絞る
 *
 * 写し元にはあるが、次の場合は書かない。
 *
 * - パンくずや先頭へ戻る導線（`#contents` `.path` `.page_top`）はテーマの部品
 *   （`.pa-breadcrumb` とテーマ側の戻る導線）に置き換わっている
 * - 移行元が注釈で無効にしている宣言（`.remuneration .box` `.flex-box`）
 * - 対応する要素が dev の本文に無い規則（`#privacy` は転送中で本文そのものが無い。
 *   `#security` の `.security_box` と `ol` は、移行元の `/policy/actionplan/` が
 *   もともと `<ol>` を使っておらず（`legacy/www.p-a.jp/public/policy/actionplan/`
 *   で確認）、`<ul>` の中に番号（`(1)` 等）を本文の文字として書いているため出番が
 *   無い。`#about` の `.about_box section` 配下の `ul li` `ol li` `h5 span` も、
 *   今の本文がラベル（`h5.title`）と説明文（`p`）だけの並びで、箇条書きも `span` も
 *   持たない）
 *
 * `#policy`（`/policy/pmark/`）と `#sns`（`/policy/sns/`）は写し元の宣言がほぼ
 * そのまま実在の要素に当たるため、写しがいちばん多い。
 *
 * ## 幅の固定値は上限として写す
 *
 * 会社情報の節と同じ理由（携帯幅で器からはみ出さないため）。`#policy` の内訳の
 * 列（`dt` 220px・`dd` 847px）も、`float` で組む以上は同じ扱いにする.
 *
 * ## 飾りの画像はテーマの資産をそのまま使う
 *
 * `h5.title` の左の赤い縦二本線は、移行元の `images/policy/icon_copy.gif` と
 * テーマの `assets/images/article/icon_copy.gif` が同一ファイル（SHA-256 一致・
 * 53 バイト）なので、新しく画像を足さずテーマの資産を指す
 * （下の「会社概要」の `#profile h5.title` と同じ書き方）。
 *
 * ## `.mb40` の道具クラスを段落の写しのあとに言い直す理由
 *
 * `/policy/consignment/` と `/policy/pmark/` の本文には `<p class="mb40">` がある。
 * 下の段落の写し（`margin: 0 0 30px`）はクラス 1 つぶん詳細度が高いため、その
 * ままだと `.mb40` の 40px が黙って負けて 30px になる（この節より下にある
 * 「成婚ムービーの段落の下外余白」の節と同じ事情）。同じ器で `.mb40` を言い直して
 * 40px を残す.
 * ============================================================== */

/* --- 1. 区画の入れ物 --- */

/* 本文の器の上限を広げる。テーマの本文の器（`.entry-content` / `.page-content__body`。
   main.css の 18246〜18247 行）は `max-width: var(--pa-inner-xs)`（800px）で、移行元の
   柱（1100px）より狭い。広げないと下の区画の写し（`width: min(1100px, 100%)`）が
   800px で頭打ちになり、題名画像（`h4.title` の中の `img`。移行元は幅 1100px）も
   `img { max-width: 100% }` の効果で 800px へ縮んでしまう。

   `pa-page--policy`（`page-company.php` に足した目印）を使い、/policy/ のページに
   限って上限を写し元の柱の幅に合わせる。詳細度 (0,2,1) はテーマの既定 (0,1,0) に
   勝つ。固定値ではなく上限として置くので、狭い画面では画面幅に合わせて縮む
   （区画の `min(1100px, 100%)` と同じ方針）。親の `.page-content` の上限
   （`--pa-inner-ex` = 1120px）の中に収まる. */
article.pa-page--policy > .page-content__body {
	max-width: 1100px;
}

.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) {
	margin: 0 auto;
	padding: 65px 0 30px;
	width: min(1100px, 100%);
	text-align: center;
}

/* 🚨 **規程の 6 ページの携帯幅では、区画の幅を画面の 87.5% にする**（Bug #8478）。
 *
 * 移行元のスマートフォン版は、区画を包む `div.anchor_block` が左右に 6.25% の内余白を持つ
 * （幅 375 で 23.4375px）。本文の器の幅は 375 × 87.5% = 328.13 になる。dev は外側の器
 * `.page-content` の左右の内余白 15px だけなので、区画が 345 に広がり、長い段落が 1〜2 行少なく
 * 折り返していた（幅 375・2026-09-25 22:5x の実測。控え `pa-verify-assets/B/8478-直す前-0925/`）。
 *
 * | 幅 375 | 移行元のスマートフォン版 | 直す前の dev |
 * |---|---|---|
 * | 本文の器の左端と幅 | 23.44・328.13 | 15・345 |
 *
 * 移行元の内余白は画面の幅に対する割合なので、`vw` で書く。区画は上の `margin: 0 auto` で
 * 中央に寄るので、左端も 23.44 にそろう。
 *
 * 🚨 **`.pa-page--policy` で絞る。**区画の id は会社情報（`/company/` 配下）とも重なる。
 * 詳細度は上の規則と同じ (1,2,0) なので、上の規則より後ろに置いて並び順で勝たせる.
 *
 * 🚨 **規約 copyright（`#copyright`）も同じ幅にする（Bug #9136）。**#8478 の時点では copyright は dev で 404 だったので
 * 当たり先に入れていなかった（この節の冒頭の「いま dev で生きているのは 6 id」）。いまは `/policy/copyright/` が 200 を
 * 返し、移行元のスマートフォン版も段落の幅が 328.13（画面の 87.5%）で、dev は 345 だった（幅 375・2026-10-01 の実測。
 * 控え `pa-verify-assets/A/copyright-本文の字-1001/走行1/`）。`#privacy` はいまも tameny.jp へ転送するので入れない. */
@media (max-width: 749px) {
	.pa-page--policy .page-content__body :is(#about, #policy, #security, #copyright, #consignment, #sns, #sitehistory) {
		width: 87.5vw;
	}
}

/* --- 2. テーマの既定の打ち消し（区画ごとの写しより前に置くこと） --- */

/* 見出しの既定を打ち消す。移行元は見出しに大きさも色も罫線も置かず、区画の文字組み
   をそのまま継がせている（会社情報の節と同じ理由。テーマの既定は h3 が金色の縦棒・
   h5 がフォントサイズ違いを持つ）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) :is(h2, h3, h4, h5, h6) {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* 定義リストの外余白と、リストの字下げ。テーマはブロックの縦のリズムをそろえる
   外余白（`dl` は `var(--pa-article-paragraph-gap)`・`dd` は `1em 1.6em` の字下げ）を
   置くが、移行元の共通 CSS は初期化でどちらも 0 にしている。支払方法の箇条書き
   （`.payment dl`）が右へ字下げされていたのはこれが原因（#2696 の指摘）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) :is(dl, dd) {
	margin: 0;
}

/* 回り込みの清算（会社情報の節と同じ理由・同じ書き方）。移行元は共通 CSS
   （`css/common.css` の 328〜336 行）の `.clearfix:after` をサイト全体に効かせており、
   `/policy/pmark/` の内訳の `<dl class="clearfix">`（`dt` `dd` を両方 `float: left` に
   する）もこの囲みに乗っている。テーマはこの共通の規則を持たず区画ごとに絞って
   持っているため（会社情報・採用は上の節、店舗・記事は別の節）、写した回り込みが
   親の `<dl>` の高さに入らず、罫線や次の `<dl>` が中身に重なる。

   **この重なりは dev では起きていない。**回り込みそのものを、この節（Bug #2696）で
   初めて写したためである。写しだけを入れて清算を入れないと起きる、という筋で
   先に手当てしている（Codex のレビュー指摘 P2）。

   対象は /policy/ の区画の中だけに絞る。本文の `.clearfix` はほかの区画にも
   出るため、広く当てるとそれらの高さの出方を変えてしまう. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) .clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* 区画そのものが `clearfix` を持つ場合（移行元の `<section id="..." class="clearfix">` 等）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory).clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* --- 3-0. 区画が渡す文字組みと、移行元の共通 CSS の写し漏れ（Bug #4672） --- */

/* 下の囲みの中の 5 つは、規程の 6 ページ（/policy/ 配下）だけに当てる。当たり先の
   `pa-page--policy` は `page-company.php` が付ける目印で、/company/ 側の記事には
   付かない（あちらは `pa-page--company` になる）。区画の id（`#about` `#policy`
   `#security` 等）は会社情報のページとも重なるため、id だけで絞ると /company/ の
   見え方まで変わってしまう（Bug #4672 の受入基準の陰性対照）。

   詳細度はどれも先頭を `.pa-page--policy`（クラス 1 つ）にして (1,2,x) に抑えてある。
   上の打ち消し（`:is(dl, dd) { margin: 0 }`・同じ (1,2,1)）より後ろに置くので
   こちらが勝ち、下の区画ごとの写し（`#sitehistory dl`・`#sns section ul` 等。
   同じか高い詳細度でさらに後ろ）には負ける。この順番が崩れると区画ごとの値を
   上書きしてしまうので、この塊は「2. 打ち消し」と「3. 区画ごとの写し」の間から
   動かさない。

   🚨 **750px 以上だけに絞る。**移行元は携帯の名乗りで `/sp/policy/…` へ転送するため、
   携帯幅の見え方は突き合わせられない（Bug #4672 の「対象外」）。幅を絞らないと、
   確かめようのない値を携帯幅にも当ててしまう。採用情報の「絵だけの節の見出しの
   行の余り」の直しと同じ考え方である。

   実測（幅 1440px・移行元と dev を文言で対応づけた 172 要素・2026-09-08）:
   字の食い違い 68 件 → **0 件**、高さの食い違い（2px 超）29 件 → **2 件**。
   残る 2 件は `/policy/pmark/` の段落が取り込みで分かれている件（Bug #4660）で、
   字の大きさとは別の原因である. */

@media (min-width: 750px) {
	/* 区画が子へ渡す字の大きさ。写し元は `css/style.css` 1296〜1301 行の
	   `#contents { font-size: 13px }` で、行送りは書かれていないため `normal` である。
	   dev はこの器の写しが抜けており、直接の指定を持たない要素（`th` `td` `a` `h6`
	   `span` 等）が本文の器の 16px を受け継いでいた。段落（`p`）と `dd` `li` `dt` は
	   下の「3. 区画ごとの写し」で 16px を直接当てるので、この 13px では動かない. */
	.pa-page--policy .page-content__body :is(#about, #policy, #security, #consignment, #sns, #sitehistory) {
		font-size: 13px;
		line-height: normal;
	}

	/* 表の枡の行送り。移行元の共通 CSS は `td, th` に枠と内余白しか置かず
	   （`css/common.css` 292〜295 行）、行送りは器から `normal` を受け継ぐ。テーマの
	   共通の表の規則（このファイルの 34764〜34768 行）が `line-height` を足すため、
	   ここで `normal` に戻す。戻さないと `/policy/sns/` の表が 3px 縮む（実測）. */
	.pa-page--policy .page-content__body :is(#about, #policy, #security, #consignment, #sns, #sitehistory) table:not(.pa-form-table) :is(th, td) {
		line-height: normal;
	}

	/* 定義リストの外余白。移行元の共通 CSS は初期化で 0 にしたあと、`dl { margin: 1em }`
	   で置き直している（`css/common.css` 76〜79 行と 271〜273 行）。上の打ち消しは
	   初期化のほうだけを写していたため、4 辺の 13px が抜けていた。この抜けが
	   `/policy/rule/` の支払方法の器を 1074px から 1100px へ広げ、長い答えの折り返しを
	   1 行ぶん減らしていた（定義リストの高さが移行元 128px に対して dev 96px・実測）. */
	.pa-page--policy .page-content__body :is(#about, #policy, #security, #consignment, #sns, #sitehistory) dl {
		margin: 1em;
	}

	/* 箇条書きの外余白。移行元は初期化の 0 のままである（`css/common.css` 76〜79 行）。
	   テーマは段落と同じ縦のリズムの外余白（25px）を置くので、ここで 0 に戻す。
	   戻さないと `/policy/actionplan/` の区画が 50px 伸びる（実測）. */
	.pa-page--policy .page-content__body :is(#about, #policy, #security, #consignment, #sns, #sitehistory) ul {
		margin: 0;
	}

	/* 表の下の外余白。写し元は `css/common.css` 287〜289 行の
	   `table { margin-bottom: 1em }` で、器の字が 13px なので 13px になる。
	   テーマの既定（25px）とは 12px 違う. */
	.pa-page--policy .page-content__body :is(#about, #policy, #security, #consignment, #sns, #sitehistory) table:not(.pa-form-table) {
		margin: 0 0 1em;
	}
}

/* --- 3. 区画ごとの写し --- */

/* 本文の文字組み。写し元 `#contents p` / `#contents dd, #contents li, #contents dt`
   （`#contents` 自体は本文の外側の器で dev には無いが、指定そのものは区画の中の
   本文に効かせるためのものなので、区画の中の規則として写す）. */
/* 🚨 **来店予約・資料請求の帯（`.pa-conv-band`）の中は当たり先から外す**（Bug #8425）。`/policy/rule/` だけ、
   携帯幅で帯が区画（`#about`）の中へ入る。外さないと帯の字が帯の規則（15px・`normal`）ではなくこの 16px・
   行送り 200% になる（幅 375 の実測）。`:where()` で包むので詳細度は変わらない。帯は携帯幅だけで出るので、
   パソコン幅の姿は動かない. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) p:where(:not(.pa-conv-band *)) {
	text-align: left;
	margin: 0 0 30px;
	font-size: 16px;
	line-height: 200%;
}

.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) :is(dd, li, dt):where(:not(.pa-conv-band *)) {
	font-size: 16px;
	line-height: 200%;
}

/* 上の段落の写しに詳細度で負けないよう、`.mb40` を同じ器で言い直す（上のコメント
   参照）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) .mb40 {
	margin-bottom: 40px;
}

/* 🚨 **規程の 6 ページの携帯幅の本文を、移行元のスマートフォン版の 13px・1 行 20px にする**（Bug #8425）。
 *
 * 上の 2 つの写し（`p` と `dd` `li` `dt` の 16px・行送り 200%）は移行元の**パソコン版**
 * `css/style.css` の `#contents p` などから来ている。幅の条件が無いので、携帯幅でも 16px・
 * 1 行 32px で出ていた。移行元のスマートフォン版は `sp/css/basic.css` の初期化の 13px のままで、
 * `sp/policy/css/style.css` に本文の字の大きさの指定は無い（幅 375・2026-09-25 21:1x の実測。
 * 控え `pa-verify-assets/B/8425-直す前-0925/`）。
 *
 * | | 移行元のスマートフォン版 | 直す前の dev |
 * |---|---|---|
 * | 段落・`li`・`dt`・`dd` | 13px・1 行 20px（`normal`） | 16px・1 行 32px |
 * | pmark と沿革の `dd` | 15px・1 行 23px（`normal`） | 15px・1 行 30px |
 *
 * 移行元の行送り `normal` は dev の書体で写すと 1 行の高さが変わるので、測った 1 行の高さを px で書く。
 *
 * 🚨 **`.pa-page--policy` で絞る**（`page-company.php` が規程のページにだけ付ける目印）。
 * 当たり先の器 `.page-content--company` は会社情報（`/company/` 配下）にも付く。区画の id も
 * 上の「3-0.」の囲みと同じ 6 つに絞る（`#privacy` と `#copyright` は含めない）。
 *
 * 🚨 **規約 copyright（`#copyright`）を足した（Bug #9136）。**#8425 の時点では copyright は dev で 404 だった。いまは 200 を
 * 返し、携帯幅の本文が同じ差（移行元のスマートフォン版 13px・1 行 20px・dev 16px・1 行 32px）を持っていた
 * （幅 375・2026-10-01 の実測。控え `pa-verify-assets/A/copyright-本文の字-1001/走行1/`）。`#privacy` はいまも転送なので入れない.
 * 段落の下の外余白（30px）は変えない。copyright の段落は 1 つだけで、帯までの空き（Bug #8446）は段落の下 30 で移行元と
 * 同じ形になっている.
 *
 * 🚨 **置き場所は上の 2 つの写しの直後から動かさない。**詳細度は上の 2 つと同じ (1,2,1) なので、
 * 並び順でこちらが勝つ。後ろに続く区画ごとの写し（同じか高い詳細度）には従来どおり負ける。
 * pmark と沿革の `dd` の 15px（このファイルの Bug #6540 の囲み・(1,3,2)）もこちらより強いので残る。
 *
 * 🚨 **来店予約・資料請求の帯（`.pa-conv-band`）の中は当たり先から外す**（上の 2 つの写しと同じ）。
 * 外さないと帯の字まで 13px になる（下見で見つけた）。`:where()` で包むので、詳細度は上の (1,2,1) のまま変わらない。 */
@media (max-width: 749px) {
	.pa-page--policy .page-content__body :is(#about, #policy, #security, #copyright, #consignment, #sns, #sitehistory) :is(p, dd, li, dt):where(:not(.pa-conv-band *)) {
		font-size: 13px;
		line-height: 20px;
	}

	.pa-page--policy :is(.entry-content, .page-content__body) #policy .policy_box dl dd,
	.pa-page--policy :is(.entry-content, .page-content__body) #sitehistory section dl dd {
		line-height: 23px;
	}
}

/* 題名画像の下余白。区画ごとに値が違う（写し元 71〜85 行）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) h3.title {
	margin: 0 0 59px;
}

.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) h4.title {
	margin: 0 0 22px;
}

/* 小見出しの左の赤い縦二本線（#2696 の受入基準）。飾りの画像は新しく足さず、
   テーマの資産を指す（上のコメント参照）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) h5.title {
	margin-bottom: 15px;
	padding: 0 0 0 18px;
	background: url("../images/article/icon_copy.gif?ver=cdb5bb0c6f2a") no-repeat left center;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 100%;
	text-align: left;
}

/* 道具のクラス。本文にあれば効く（写し元 88〜94 行）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) .name {
	text-align: right;
}

.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) .indent {
	padding-left: 1em;
	text-indent: -1em;
}

/* 支払方法の区画（`/policy/rule/` の `.payment`）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) .payment {
	text-align: left;
	margin-bottom: 30px;
}

.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) .payment dt {
	font-weight: bold;
}

/* 役務の対価の区画。`justify-content` は移行元でも `display: flex` を持たないため
   写さない（写し元 281〜284 行）. */
.page-content--company .page-content__body :is(#about, #policy, #privacy, #security, #copyright, #consignment, #sns, #sitehistory) .remuneration {
	margin-bottom: 30px;
}

/* --- #about（/policy/rule/）--- */

.page-content--company .page-content__body #about .about_box section {
	margin: 0 0 40px;
}

/* --- #policy（/policy/pmark/）--- */

.page-content--company .page-content__body #policy section {
	margin: 0 0 45px;
}

.page-content--company .page-content__body #policy .policy_box dl {
	margin: 0 0 40px;
	padding: 0 0 40px;
	border-bottom: 1px solid #eee;
}

.page-content--company .page-content__body #policy .policy_box dl :is(dt, dd) {
	float: left;
}

.page-content--company .page-content__body #policy .policy_box dl dt {
	width: min(220px, 100%);
	margin: 0 30px 0 0;
	text-align: center;
}

.page-content--company .page-content__body #policy .policy_box dl dt span {
	display: block;
}

.page-content--company .page-content__body #policy .policy_box dl dd {
	width: min(847px, 100%);
	text-align: left;
}

/* --- #security（/policy/actionplan/）--- */

.page-content--company .page-content__body #security p.goal {
	margin-left: 1.5em;
}

/* 携帯幅では字下げを外す（Bug #8478）。上の 1.5em は移行元のパソコン版の写しで、移行元の
   スマートフォン版の「目標：…」の段落は区画の左端から始まる（幅 375 で左 23.44・幅 328.13）。
   外さないと dev だけ 19.5px 右へずれ、幅が 308.63 に縮む（下見の実測）。
   詳細度は上と同じ (1,3,1) なので、上の規則の後ろに置いて並び順で勝たせる. */
@media (max-width: 749px) {
	.pa-page--policy .page-content__body #security p.goal {
		margin-left: 0;
	}
}

/* --- #sns（/policy/sns/）--- */

.page-content--company .page-content__body #sns section ul {
	margin: 0 0 30px;
}

.page-content--company .page-content__body #sns section ul li {
	padding-left: 1.6em;
	text-indent: -1.6em;
	margin: 0;
}

/* この `h6` は上の見出しの打ち消し（`:is(h2, h3, h4, h5, h6)`）と詳細度が同じなので、
   打ち消しより後ろに置いて上書きする. */
.page-content--company .page-content__body #sns h6 {
	text-align: left;
	margin: 0 0 10px;
}

.page-content--company .page-content__body #sns :is(th, td) {
	text-align: left;
}

.page-content--company .page-content__body #sns th {
	width: 20%;
}

/* --- #sitehistory（/policy/sitehistory/）--- */

/* 上の定義リストの打ち消し（`margin: 0`）と詳細度が同じなので、打ち消しより後ろに
   置いて上書きする。写し元は `dl dt { font-weight: bold }` も持つが、テーマの
   既定（`.page-content__body dt { font-weight: bold }`）がすでに全区画の `dt` へ
   太字を効かせているため、ここでは写さない. */
.page-content--company .page-content__body #sitehistory dl {
	margin: 0 0 30px;
	text-align: left;
}

/* ==============================================================
 * 募集要項のページだけの写し（Bug #2221）
 *
 * `/company/recruit/recruit_info/` は、ほかの会社情報のページが読み込む 3 ファイルに
 * 加えて、そのページだけの CSS（`company/recruit/recruit_info/css/style.css`）を
 * 読み込む。同じ `#recruit` の区画でも、採用のトップ（`/company/recruit/`）とは
 * 行送りが違う（トップは閲覧環境の既定・募集要項は 2.2）。
 *
 * 固定ページの修飾クラス（`pa-page--<区画>`）は URL の先頭ディレクトリだけを見るので、
 * どちらも `pa-page--company` になり区別できない。ここでは本文の中身で見分ける。
 * 仕事内容の囲み（`.cnt_job`）はこのページにしか出ない。
 * ============================================================== */

:is(.entry-content, .page-content__body) #recruit:has(.cnt_job) {
	line-height: 2.2;
}

/* 仕事内容の囲み。上の会社情報の節が外余白と寄せを写しているので、文字の大きさだけ
   足す（写し元 `recruit_info/css/style.css` の 7〜11 行）。`.cnt_job` はほかの区画にも
   出うるので、募集要項の区画の中だけに絞る. */
:is(.entry-content, .page-content__body) #recruit .cnt_job {
	font-size: 16px;
}

/* 募集要項の表。移行元は上下に罫線を引き、項目名の列を明朝の 19px にする. */
:is(.entry-content, .page-content__body) #recruit .tb_job {
	margin: 60px 0 50px;
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #ccc;
}

:is(.entry-content, .page-content__body) #recruit .tb_job.mt_20 {
	margin-top: 20px;
}

:is(.entry-content, .page-content__body) #recruit .tb_job :is(th, td) {
	padding-top: 20px;
	padding-bottom: 20px;
	border-top: none;
	border-right: none;
	border-bottom: 1px solid #ccc;
	border-left: none;
	/* テーマは移行してきた本文の表に行送り 1.5 と上そろえを置くが、移行元はこの
	   ページの区画の行送り（2.2）をそのまま継がせ、縦は中央にそろえる（`vat` の
	   付いた行だけ上そろえにしている）。打ち消さないと本文の行が 35.2px から 24px へ
	   詰まる（実測: 表 1 つで 136px）。入れ子の待遇の一覧（`.tb_job2`）へは
	   この継承が届かないよう、下で行送りを指定し直す. */
	line-height: inherit;
	vertical-align: middle;
}

:is(.entry-content, .page-content__body) #recruit .tb_job th {
	padding-left: 30px;
	font-family: var(--pa-font-family-serif);
	font-size: 19px;
	text-align: left;
	vertical-align: top;
}

:is(.entry-content, .page-content__body) #recruit .tb_job.mt_20 th {
	vertical-align: middle;
}

:is(.entry-content, .page-content__body) #recruit .tb_job td {
	font-size: 16px;
}

:is(.entry-content, .page-content__body) #recruit .tb_job td span {
	font-size: 13px;
}

/* 表の中の箇条書き。項目の先頭に飾りの画像が付く. */
:is(.entry-content, .page-content__body) #recruit .tb_job td li {
	margin-bottom: 10px;
	padding-left: 10px;
	background: url("../images/company/recruit/mark.png?ver=de4c14958575") no-repeat 0 10px;
}

:is(.entry-content, .page-content__body) #recruit .tb_job tr.vat td {
	vertical-align: top;
}

:is(.entry-content, .page-content__body) #recruit .tb_job tr.vat td li {
	margin-bottom: 10px;
	background-position: 0 3px;
	line-height: 1.2;
}

/* 待遇の一覧の表。こちらは四方に罫線を引き、見出しの行に下地を敷く. */
:is(.entry-content, .page-content__body) #recruit .tb_job2 {
	margin: 0;
	border: 1px solid #ccc;
}

:is(.entry-content, .page-content__body) #recruit .tb_job2 th {
	padding: 10px;
	background: #f5f5f5;
	border: 1px solid #ccc;
	font-family: var(--pa-font-family-base);
	font-size: 14px;
	text-align: center;
}

:is(.entry-content, .page-content__body) #recruit .tb_job2 td {
	padding: 10px;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
}

:is(.entry-content, .page-content__body) #recruit .tb_job2 td.bdr {
	border-right: 1px solid #ccc;
}

/* 入れ子の待遇の一覧は、外側の表から継いだ行送りを使わない. */
:is(.entry-content, .page-content__body) #recruit .tb_job2 :is(th, td) {
	line-height: 1.2;
}

/* ==============================================================
 * 社員インタビューの各ページ（Bug #2221）
 *
 * `/company/recruit/interview/interview_*.html` の 14 ページは、会社情報の共通の
 * 3 ファイルに加えて、そのまとまりだけの CSS
 * （`company/recruit/interview/css/style.css`）を読み込む。区画の id（`#interview_top`）
 * が受け持つのは見出しの器だけで、本文は `.wrap_movie` 以下のクラスが組み立てる。
 *
 * ## 採用の投稿型の中だけに絞る
 *
 * `.wrap_movie` `.inner_wrap_v` `.bg_white` `.wd_1100` `.mv_nav` は、移行元では
 * 会員紹介の区画（`introduce/happyreport/` `introduce/movie/` `introduce/story/`）も
 * 同じ名前で使っており、宣言の中身もほぼ同じである（移行元の 38 ファイルで実測）。
 * 絞らずに書くと、取り込んだしあわせレポートの本文にも当たって背景画像や余白が乗る。
 *
 * 採用の投稿型の単一ページに付く囲み（`.single-content--recruit`）を祖先に足して
 * 絞る。社員インタビューの個別 14 ページはこの囲みの中にあり、会員紹介の区画は
 * 別の囲み（`.single-content--story` 等）になる. */

/* 画像の縦の位置合わせ。区画の id を持たない帯の中にも同じ手当てが要る（理由は
   上の会社情報の節と同じ。テーマの `vertical-align: middle` が画像の行の下の余白を
   消して 9px 詰まる）. */
.single-content--recruit :is(.entry-content, .page-content__body) :is(.wrap_movie, #if_ft) img {
	vertical-align: baseline;
}

/* 動画とインタビュー本文を載せる帯。移行元は画面の幅いっぱいに点柄の下地を敷く。
   ここでは器の幅（1,100px）までにとどめる。本文の中の要素を画面の幅まで広げるには
   祖先の切り落としを外す必要があり、固定ページの器を作り替えることになるためである。
   縦の寸法（上下の内余白 50px・下の外余白 70px・上の罫線）は移行元のまま写す. */
.single-content--recruit :is(.entry-content, .page-content__body) .wrap_movie {
	margin-bottom: 70px;
	padding: 50px 0;
	background: url("../images/company/recruit/interview/bg_mv_body.jpg?ver=2a1da27b6a23") repeat;
	border-top: 1px solid #ccc;
}

.single-content--recruit :is(.entry-content, .page-content__body) .wrap_movie h2 {
	margin-bottom: 60px;
	text-align: center;
}

/* 見出しの中身が画像 1 枚だけのとき、テーマは下余白を 25px にする規則を
   `:has(> img:only-child)` 付きで持っている。`:has()` の中の `:only-child` が
   クラス 1 つぶんに数えられるため、この規則は上の写し（クラス 2 つ）より強い。
   移行元の 60px を通すために、同じ形で書いて 1 段強くする（実測: 打ち消さないと
   35px 詰まる）。

   🚨 **当たり先に `picture` を足した（Task #4215・2026-09-07）。**携帯幅で絵を
   差し替える仕組み（`inc/sp-image-swap.php`）が `<img>` を `<picture>` で包むので、
   `> img` は**包まれた見出しに当たらない**。社員紹介の詳細 14 ページを幅 1440px で
   測ったところ、**14 ページとも当たっていなかった**（`> :is(img, picture):only-child`
   なら 14 ページとも当たる）。

   **いま見た目は変わらない。**同じ 60px を与える直上の規則（クラス 2 つ）が効いて
   いるためである。**危ないのはこの先テーマ側の 25px の規則が `picture` まで見るように
   広がったときで、そのとき打ち消しが空振りのままだと下の空きが 60px から 25px へ
   35px 詰まる。**退行を先に防ぐための直しである。

   🚨 **詳しさ（強さ）は変わらない。**`:is()` は中身の最大値を取り、`img` も `picture` も
   要素の名前なので同じである。打ち消しの関係は保たれる. */
.single-content--recruit :is(.entry-content, .page-content__body) .wrap_movie h2:has(> :is(img, picture):only-child) {
	margin: 0 0 60px;
}

/* 節の見出しの絵は原寸で出す（Bug #3976）。
 *
 * 移行元 `company/recruit/interview/css/style.css` 29〜32 行の
 * `.bg_white { padding: 60px 150px }` により、本文の柱は 1100 − 300 = **800px** である。
 * 見出しの絵（`ttl_staff_*.jpg`）は **810 × 232** で、移行元は寸法の属性も上限の指定も
 * 持たないため、**原寸で出て柱から右へ 10px はみ出す**（右の内余白 150px の中に収まるので、
 * 囲みの外へは出ない。実測でも移行元の横のはみ出しは 0 だった）。
 *
 * テーマは `img { max-width: 100%; height: auto }`（このファイルの 917〜920 行）を
 * すべての絵へ当てるので、dev では **799.95 × 229.13** に縮んでいた
 * （2026-09-06 01:02 と 01:07 に芦刈・濱本の 2 ページで実測）。縦横の比が保たれるため
 * 高さも 3px 低くなり、**見出しの箱が 238 対 239.13 と 1px ずれる**もとになっていた。
 *
 * 🚨 **1100px 以上だけに絞る。**`.inner_wrap_v` は `min(1100px, 100%)` なので、
 * 1099px 以下では柱そのものが画面幅まで縮む。そこで上限を外すと
 * **絵が画面からはみ出して横に送る棒が出る**（例: 幅 900px なら左の内余白 150 ＋ 絵 810 で
 * 960 になり、柱の 900 を超える）。移行元はパソコン版を 1100px の固定で組んでいて
 * 1099px 以下という場面を持たないため、そこは dev の作り（柱を縮める）をそのまま残す。
 *
 * 🚨 **携帯幅には効かない。**749px 以下では `inc/sp-image-swap.php` が携帯専用の絵へ
 * 差し替えるので、上限を外すとその絵まで原寸で出てしまう. */
@media (min-width: 1100px) {
	.single-content--recruit :is(.entry-content, .page-content__body) .wrap_movie h2 :is(img, picture > img) {
		max-width: none;
	}
}

/* 絵だけの節の見出しの「行の余り」を移行元にそろえる（Bug #3976）。
 *
 * 見出しの中の絵は**行の中**に置かれるので、箱の高さは「絵の高さ ＋ 行の余り」で決まる。
 * 行の余りは**その見出しの字の大きさと行送り**から出るため、絵の寸法を移行元にそろえても
 * 箱は合わない。
 *
 *   移行元  字 13px ・ 行送り normal  → 箱 238（絵 232 ＋ 余り **6**）
 *   dev     字 28px ・ 行送り 42px    → 箱 242（絵 232 ＋ 余り **10**）
 *
 * dev の 28px と 42px は、記事用の見出しの既定（このファイルの「見出し（h2〜h6）」の節）が
 * 与えている値である。**この見出しは中身が絵だけなので、字の大きさも色も画面には出ない。**
 * 出るのは行の余りだけなので、移行元と同じ 13px ・ normal を書いて余りをそろえる。
 *
 * 🚨 **書体を名指ししてはいない。**移行元と dev はどちらもこの見出しに同じ書体の並び
 * （游ゴシック → YuGothic → ＭＳ Ｐゴシック）を当てており、`normal` の解決先も同じである
 * （両側の実測で確認）。総称の `sans-serif` を文書の言語ごとに解決し直す型
 * （ユーザー裁定 132）とは別の話である。
 *
 * 🚨 **750px 以上だけに絞る。**749px 以下は `inc/sp-image-swap.php` が携帯専用の絵へ
 * 差し替えるうえ、画面ぜんたいの作りが移行元スマホ版と違う状態が別に残っている
 * （Task #3489）。携帯幅の見た目はそこで一括して直すので、ここでは触らない。
 *
 * 実測（幅 1440px・2026-09-06 01:49:53）: 箱 242 → **238**（移行元と同じ）. */
@media (min-width: 750px) {
	.single-content--recruit :is(.entry-content, .page-content__body) .wrap_movie h2:has(> :is(img, picture):only-child) {
		font-size: 13px;
		line-height: normal;
	}
}

.single-content--recruit :is(.entry-content, .page-content__body) .inner_wrap_v {
	margin: auto;
	width: min(1100px, 100%);
}

.single-content--recruit :is(.entry-content, .page-content__body) .wd_1100 {
	margin: 0 auto;
	padding: 0 0 30px;
	width: min(1100px, 100%);
}

/* 問いと答えの外余白。移行元の共通 CSS は `dt` と `dd` の外余白を 0 にしている。
   テーマの既定（`dd` の左 25.6px）が乗ると答えの柱が 800px から 774px へ狭まり、
   長い答えが 1 行ぶん多く折り返す（実測）. */
.single-content--recruit :is(.entry-content, .page-content__body) .bg_white :is(dt, dd) {
	margin: 0;
}

/* インタビュー本文の白い囲み. */
.single-content--recruit :is(.entry-content, .page-content__body) .bg_white {
	padding: 60px 150px;
	background: #fff;
}

.single-content--recruit :is(.entry-content, .page-content__body) .bg_white dl {
	margin: 0 0 40px;
}

/* 質問。左に飾りの画像が付く明朝の 20px である. */
.single-content--recruit :is(.entry-content, .page-content__body) .bg_white dl dt {
	margin-bottom: 10px;
	padding-left: 14px;
	background: url("../images/company/recruit/interview/mark.png?ver=30dcc7808ee7") no-repeat 0 center;
	font-family: var(--pa-font-family-serif);
	font-size: 20px;
}

.single-content--recruit :is(.entry-content, .page-content__body) .bg_white dl dd {
	font-size: 16px;
	line-height: 2.2;
}

/* 前後のインタビューへの行き来. */
.single-content--recruit :is(.entry-content, .page-content__body) .mv_nav {
	margin-top: 30px;
	font-size: 15px;
	text-align: center;
}

.single-content--recruit :is(.entry-content, .page-content__body) .mv_nav .pre {
	float: left;
}

.single-content--recruit :is(.entry-content, .page-content__body) .mv_nav .next {
	float: right;
}

/* 目次の中の段落の外余白（Bug #4069）。

   移行元の初期化は `p` の外余白を 0 にするので、目次の中に段落があっても下に
   余白が出ない。dev はテーマの本文の既定（`--pa-article-paragraph-gap` ＝ 25px）が
   段落に乗る。目次 `div.mv_nav` にも器 `div.inner_wrap_v` にも下の内余白と罫線が
   無いため、この 25px は器の外へ抜けて帯 `section.wrap_movie` の下の空きになり、
   50px が 75px に広がっていた（幅 1440px の実測で本文層が +24.50px）。

   🚨 **当たるのは一ノ瀬のページだけである。**移行元の一ノ瀬は目次の
   「前のインタビューを読む」の 1 行が注釈で消えた状態で残っており、取り込みの
   結果その中身が段落 `<p>` になる。ほかの 13 ページの目次は `span.pre` ・ `a` ・
   `span.next` だけで段落を持たないので、この指定を当てても何も変わらない
   （14 ページ全体を当て先にしてよいのは司令塔の裁定 225）。

   携帯幅（749px 以下）は画面ぜんたいの作りが違い Task #3489 が別に扱うので、
   ここでは触らない。

   【強さの数え直し】この選択子は class 3 つ ＋ 要素 1 つで (0,3,1)。テーマの
   本文の既定 `.entry-content p` は (0,1,1) なので勝つ. */
@media (min-width: 750px) {
	.single-content--recruit :is(.entry-content, .page-content__body) .mv_nav p {
		margin: 0;
	}
}

/* ページの末尾の案内. */
.single-content--recruit :is(.entry-content, .page-content__body) #if_ft {
	margin: 30px auto;
	width: min(1100px, 100%);
}

.single-content--recruit :is(.entry-content, .page-content__body) #if_ft .it_ft_nav {
	padding: 40px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

/* ==============================================================
 * 社員インタビュー詳細の点柄の下地・質問の見出し・末尾の案内（Issue #3449）
 * ==============================================================
 * 上の写しは 4 か所を移行元にそろえていなかった。**そのうち 1 つは、上の注釈が
 * 「ここでは器の幅（1,100px）までにとどめる」と書いて意図して見送ったものである。**
 * 裁定 67（見た目の違いはすべて直す）に照らして、写し直す。
 *
 * 幅 1440px で測った差は次のとおりである（移行元は本番をその場で取得。
 * 移行元 2026-09-04 17:09:24 JST ／ dev 同 17:09:34 JST）。
 *
 *   section.wrap_movie   移行元 幅 1440 / 左端 0   →  dev 幅 1100 / 左端 170
 *   .bg_white dl dt      移行元 太さ 400 / 行送り normal  →  dev 700 / 30px
 *   .mv_nav              移行元 行送り normal      →  dev 22.5px
 *   #if_ft .it_ft_nav    移行元 字 13px            →  dev 16px
 *
 * ## 点柄の下地を画面の幅いっぱいに戻す
 *
 * 移行元 `company/recruit/interview/css/style.css` の 14〜19 行は `.wrap_movie` に
 * **幅を置かない**（上下の内余白 50px・下の外余白 70px・上の罫線・点柄の下地だけ）。
 * 幅を置かないので画面の幅いっぱいに広がる。その中の
 * `.inner_wrap_v { margin: auto; width: 1100px }` が白い囲みの柱を受け持つので、
 * **移行元は「全幅の下地 ＋ 中に 1100px の白い囲み」の二重構造**になる。
 * dev は下地も 1100px なので、白い囲みの裏に隠れて**見出しの下に短い灰色の帯が
 * 1 本残るだけ**だった。
 *
 * 【祖先は切り落としていない】上の注釈は「祖先の切り落としを外す必要がある」と
 * 書いているが、実際に当たっているのは `max-width` だけである
 * （`.single-content.single-content--recruit` の 1130px と `.entry-content` の
 * 1100px）。`max-width` は自分の箱の幅を決めるだけで、子のはみ出しを切り落とさない。
 * よって器を作り替えずに、子を負の外余白で押し出せる。
 *
 * 【押し出しの書き方】テーマにすでにある仕組み（`assets/css/section-fullwidth.css`）と
 * 同じ 3 つ組にする。`width: 100vw` ＋ `margin-inline: calc(50% - 50vw)` ＋
 * 祖先の `overflow-x: clip` である。`50%` は器（1,100px）の半分 550px、`50vw` は 720px
 * なので、左右へ 170px ずつ押し出されて左端が 170 − 170 = 0 になる。
 *
 * 【`clip` を使い `hidden` を使わない理由】`overflow: hidden` は貼り付くヘッダー
 * （`position: sticky`）の働きを止める。`clip` は止めない
 * （`section-fullwidth.css` の注釈と同じ理由）。
 *
 * 【`vw` を使ってよい理由】`100vw` は縦スクロールバーの幅を含むので、バーが場所を
 * 取る環境では 1px ほど横にあふれる。そのために対で `overflow-x: clip` を置く。
 * 会社情報のタブや帯の節が `vw` を避けているのは、あちらが**あふれを切り落とさない**
 * 前提で組んであるためで、事情が違う。
 *
 * ## 当てる範囲
 *
 * `.wrap_movie` は移行元の全数検索で 31 ページにあり、内訳は成婚ムービー 6・
 * しあわせレポート 11・採用の社員紹介 14 である。上の写しと同じく
 * `.single-content--recruit` を祖先に足して、社員紹介の 14 ページだけに絞る。
 *
 * ## 携帯幅は触らない
 *
 * 移行元は携帯版を別ページ（`/sp/`）で作っており、この寸法を写す相手が無い
 * （上の携帯幅の節の注釈と同じ）。指定はすべて `@media (min-width: 750px)` の中に
 * 閉じる.
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	/* 点柄の下地を画面の幅いっぱいに戻す。上下の内余白・下の外余白・上の罫線は
	   上の写しがすでに持っているので、ここでは横だけを足す. */
	.single-content--recruit :is(.entry-content, .page-content__body) .wrap_movie {
		width: 100vw;
		margin-inline: calc(50% - 50vw);
	}

	/* 質問の見出しの太さと行送り。

	   【移行元の値】移行元の初期化（`public/css/common.css` の 76〜79 行）は
	   `dt` の外余白と内余白を 0 にするだけで、**太さを 1 行も置かない**。
	   `company/recruit/interview/css/style.css` も飾りの画像・左の内余白・
	   字の大きさ・下の外余白だけで、太さと行送りを置かない。
	   よってどちらもブラウザの既定（`normal`）である。

	   【dev に太字が乗る筋道】テーマの `.entry-content dt { font-weight: bold }`
	   （main.css 23890 行・強さ (0,1,1)）が当たる。行送りのほうは直に当たる規則が
	   無く、`.entry-content { line-height: var(--pa-line-height-text) }`（1.5）を
	   受け継いで 30px になっていた（勝っている規則を CDP の
	   `CSS.getMatchedStylesForNode` に聞いて確かめた）。

	   【強さの数え直し】この選択子は class 3 つ ＋ 要素 2 つで (0,3,2)。
	   テーマの `dt` は (0,1,1) なので勝つ。行送りは受け継ぎなので、
	   直に当たる指定であれば強さに関わらず勝つ. */
	.single-content--recruit :is(.entry-content, .page-content__body) .bg_white dl dt {
		font-weight: normal;
		line-height: normal;
	}

	/* 前後のインタビューへの行き来の行送り。移行元は字の大きさ（15px）だけを置き、
	   行送りを置かない。dev はテーマの 1.5 を受け継いで 22.5px になっていた. */
	.single-content--recruit :is(.entry-content, .page-content__body) .mv_nav {
		line-height: normal;
	}

	/* ページ末尾の案内の字と行送り。移行元
	   `company/recruit/interview/css/style.css` は 67 行しかなく、`#if_ft` に
	   字の大きさも行送りも置かない。移行元は本文の器（`public/css/style.css` の
	   1296〜1301 行 `#contents { font-size: 13px }`）の 13px を受け継ぎ、行送りは
	   ブラウザの既定（`normal`）のままである。
	   dev はテーマの本文の 16px と 1.5 を受け継いでいた。

	   🚨 **行送りは字の大きさを写しただけでは直らない**（Bug #3556）。
	   反映後の実測で、字は 13px にそろったのに行送りだけ移行元 `normal` 対 dev
	   `19.5px`（= 13 × 1.5）が残っていた。器（`div.clearfix`）の高さの差は 0.5px で
	   小さいが、指定としては違うので裁定 67 に照らして写す。
	   すぐ上の `.mv_nav` とまったく同じ型である。

	   行送りは受け継ぐ指定なので、中のリンク 3 本にも段落から届く
	   （`a` に直に当たる行送りの規則が無いことを実測で確かめた）. */
	.single-content--recruit :is(.entry-content, .page-content__body) #if_ft .it_ft_nav {
		font-size: 13px;
		line-height: normal;
	}
}

/* 押し出した下地のぶんの横あふれを切り落とす。`hidden` ではなく `clip` を使うのは、
   貼り付くヘッダー（`position: sticky`）の働きを止めないためである
   （`assets/css/section-fullwidth.css` と同じ理由）。

   `@media` の外に置くのは、切り落とし自体はどの幅でも害が無く、幅の条件を 2 か所に
   分けると片方を直したときにもう片方が取り残されるためである。

   🚨 **当たり先は `body` ではなく `.site-main` である。**Chromium では `body` へ
   `overflow-x: clip` を置いても横スクロールが止まらない。縦スクロールバーが幅を食う
   環境では `width: 100vw` が表示領域からはみ出すが、`body` に置いた `overflow-x` は
   表示領域へ引き継がれてしまい、`body` 自身は切らないためである。
   同じ実測がこのファイルに 2 か所すでに記録されている（店舗ページの横方向の
   切り落とし・体験談の一覧の飾り）。どちらも「`body` / `html` では `scrollWidth` が
   縮まず、`.site-main` に置いたときだけ縮んだ」と書いてある。

   `.site-main` は幅の指定を持たない素の箱なので、その右端は常に画面の右端と一致し、
   広げた区画のはみ出しをちょうど画面の端で切れる。
   （Greptile の指摘 P1・PR #3480）
   check-mobile-only: 意図してメディアクエリの外に置く. */
.site-main:has(.single-content--recruit .wrap_movie) {
	overflow-x: clip;
}

/* ==============================================================
 * 成婚ムービーの段落の下外余白（Issue #2458）
 *
 * 写し元: 移行元 `public/css/common.css` の 75〜78 行。段落に下外余白を
 * 与える `p { margin-bottom: 1em }` はコメントアウトされているため、本文の
 * 間隔は `public/css/style.css` の 258〜337 行にある `.mb20`・`.mb25`・`.mb40` の道具
 * クラスで作る。幅 1440px の実測では、`.inner_wrap_v > .bg_white > p`・その `.tar` と
 * `.sec_inter` の最後の p は移行元 0px に対してテーマでは 25px、`.mb40` は両方
 * 40px である。
 *
 * 当てる範囲を `.sec_inter` を持つものに絞るのは、`.wrap_movie` を成婚ムービー以外も
 * 使うためである。移行元を全数で検索すると `.wrap_movie` は 31 ページにあり、その内訳は
 * 成婚ムービー 6・しあわせレポート 11・採用情報の社員紹介 14 である。突き合わせを済ませて
 * いるのは成婚ムービーだけなので、その 6 ページだけが持つ `.sec_inter` を `:has()` の
 * 条件にして残り 25 ページを外す。
 *
 * その 6 ページの `.wrap_movie` の中にある `mb`/`mt`/`pb`/`pt` 系の道具クラスを正規表現で
 * 全数拾うと、使われているのは `.mb20` 8 回・`.mb40` 7 回・`.mb25` 5 回の 3 つだけである。
 * 下の 3 本はその全数に対応する. */
:is(.entry-content, .page-content__body) .wrap_movie:has(.sec_inter) p {
	margin-bottom: 0;
}

/* 上の規則はテーマの余白の道具クラス（クラス 2 つ）より詳細度が高い。
   成婚ムービーで実際に使う下の外余白の道具クラスを同じ器で言い直し、移行元の値を残す. */
:is(.entry-content, .page-content__body) .wrap_movie:has(.sec_inter) .mb20 {
	margin-bottom: 20px;
}

:is(.entry-content, .page-content__body) .wrap_movie:has(.sec_inter) .mb25 {
	margin-bottom: 25px;
}

:is(.entry-content, .page-content__body) .wrap_movie:has(.sec_inter) .mb40 {
	margin-bottom: 40px;
}

/* ==============================================================
 * ニュース・メディア掲載の一覧（/company/news/）の大見出し（Bug #2209）
 *
 * 移行元はこの位置に題名を出さない。本文の先頭に来るのは
 * `.pa-company-band` の題名画像（images/company/main_ttl.jpg）である。
 * テンプレート（page-templates/page-news-list.php）は h1 を消さずに
 * .pa-visually-hidden を重ねて画面から隠している。消せないのは、この
 * ページの h1 がこれ 1 つしかないためである（ヘッダー上段の帯のページ名を
 * h1 にしていない Bug #1293 の判断）。
 *
 * ここで打ち消しが要るのは、隠すためのクラスと元の装飾のクラスがどちらも
 * クラス 1 つぶんの強さで、あとに書いてある .page-content__title のほうが
 * 勝つためである。とくに margin を 0 に戻されると .pa-visually-hidden の
 * margin: -1px が効かず、隠し方そのものが崩れる（.pa-branch-archive__title
 * を隠した Bug #2036、.pa-branch__title の装飾を外した Bug #1999 と同じ理由）.
 * -------------------------------------------------------------- */
.page-content__title.pa-visually-hidden {
	margin: -1px;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: normal;
	line-height: inherit;
}

/* h1 が通常のフローから外れる（position: absolute）ため、この
   `.page-content__header` は中身の無い箱になる。上の余白（padding-top）と
   下の余白（margin-bottom）を残すと、移行元に無い空白が題名画像の上に
   できるので、この一覧ページに限って両方を 0 にする。`.page-content--news`
   は page-templates/page-news-list.php だけが付けるクラスであり、ほかの
   固定ページの余白には波及しない. */
.page-content--news .page-content__header {
	margin-bottom: 0;
	padding-top: 0;
}

/*
 * check-mobile-only: 意図してメディアクエリの外に置く
 *   （理由: 素で隠しておかないと、パソコン幅で文字が絵と二重に出る）
 *
 * 携帯幅で絵の見出しの代わりに出す文字（Task #3505）。
 *
 * `inc/company-sp-parts.php` が、絵の見出しの隣へ
 * `<span class="pa-company-sp-heading">会社概要</span>` を 1 つ足す。
 * **パソコン幅では出さない**（移行元パソコン版は絵で組んでいる）。素で隠し、
 * 749px 以下でだけ出す。下の携帯幅の節で `display` を戻す。
 *
 * 🚨 **この 1 行はメディアクエリの外に置く。**メディアクエリの中に
 * `display: none` を書くと、パソコン幅で文字が出てしまう（絵と二重になる）.
 */
.pa-company-sp-heading {
	display: none;
}

/*
 * check-mobile-only: 意図してメディアクエリの外に置く
 *   （理由: 素で隠しておかないと、パソコン幅で文字が絵と二重に出る）
 *
 * 社会貢献の赤い強調を、携帯幅だけ文字で出す（Bug #3456）。
 *
 * `inc/contribution-sp-text.php` が、移行元パソコン版の絵の隣へ
 * `<span class="pa-contribution-sp-text">` を 1 つ足す。**パソコン幅では出さない**
 * （移行元パソコン版は絵で組んでいる）。素で隠し、749px 以下でだけ出す.
 */
.pa-contribution-sp-text {
	display: none;
}

/* --- 会社情報・採用の区画のスマートフォン幅（749px 以下） ---
 *
 * 移行元は柱も囲みも固定値で組んでおり、そのまま写すと 375px の画面からはみ出す。
 * この節は当初「はみ出す 3 か所だけを畳む」ものだったが、**携帯幅は移行元のスマホ版
 * （`https://www.p-a.jp/sp/company/…`）を正として写し直す**方針に変わったので
 * （ユーザー裁定 46・2026-09-04）、写しをここへ足した。値はすべて 2026-09-04
 * 16:20〜16:48 JST に移行元の本番を携帯の名乗りで測った実測である。
 *
 * 🚨 **メディアクエリの外にある文字組み（43843 行の 16px / 200% / 中央寄せ）は
 * 1 行も書き換えない。**あれは移行元のパソコン版の写しで、パソコン幅の見た目を
 * 決めている。ここでは携帯幅だけを上書きする。
 *
 * 🚨 **ページごとに正解の行送りが違う。同じ値でまとめない。**
 *
 * | ページ（区画の id） | 段落の字 | 行送り | 寄せ |
 * |---|---|---|---|
 * | 私たちの想い（#company） | 13px | normal | 左 |
 * | 会社概要（#profile） | 値 15px・項目名 18px（太さ 500） | normal | 左 |
 * | 社会貢献（#contribution） | 13px | 26px | 左 |
 * | 上場のお知らせ（#company） | 13px | 26px | 左 |
 *
 * 私たちの想いと上場のお知らせは **dev ではどちらも区画の id が `#company`** である。
 * 移行元のスマホ版は前者を `#company`、後者を `#release` と別の器で組んでいるため
 * 行送りが違う（normal 対 26px）。id では切り分けられないので、
 * `inc/company-sp-parts.php` が `body` へ足す `pa-company-page--*` で切り分ける
 * （WordPress の既定は固定ページの slug を `body` へ足さず、`page-id-<数字>` は
 * 環境ごとに変わりうるので使えない）。
 *
 * 本文の柱の幅も違う。移行元のスマホ版は画面の 87.5%（375px のとき x=23.4・幅 328.1px）、
 * dev は x=15・幅 345px である。dev は本文の器が左右 15px の内余白を持つので、区画を
 * `min(87.5vw, 100%)` にして中央へ置くと x=23.4・幅 328.1px になり移行元と重なる。
 * 経営理念（#missionstatement）はこの柱の指定に入れていない。移行元のスマホ版の
 * この 1 ページだけ本文が画像で、段落の実測を取れていないためである（未確認）. */

@media (max-width: 749px) {
	/*
	 * 画面上部の写真の帯を隠す。移行元のスマホ版はこの帯を持たない（実測 dev 345×46.2）。
	 * 対になるカテゴリメニュー `.pa-company-nav` は 1378〜1382 行で同じ理由から
	 * すでに隠してあり、**帯だけ実装が漏れていた**のをここで足す。
	 *
	 * 🚨 **隠すのは写しの対象の 5 ページだけに絞る。**この帯の中身は移行元の
	 * パソコン版の写真の帯（`images/company/main_ttl.jpg`・1268×170・`alt="会社情報"`）で、
	 * 会社情報のどのページでも同じ 1 枚である（移行元の HTML を 4 ページ読んで確認）。
	 * この 5 ページは題を別の要素（`h3.title`。実測 345×84）で持つので、帯を隠しても
	 * 題は残る。
	 *
	 * ところが **ニュース一覧（/company/news/）は題をこの帯の中だけで持つ**。
	 * 型紙 `page-templates/page-news-list.php` が大見出し `h1` を
	 * `pa-visually-hidden` で隠しているためである（Bug #2209）。全ページに掛けると
	 * ニュース一覧から題が丸ごと消え、移行元のスマホ版が持つ題の絵
	 * （実測 `.category_ttl` 240.2×48）の代わりが無くなる。ニュース一覧と
	 * 採用情報の題の入れ替えは別の Task で扱う（2 巡目の調査で記録した）。
	 */
	body:is(
			.pa-company-page--index,
			.pa-company-page--profile,
			.pa-company-page--missionstatement,
			.pa-company-page--contribution,
			.pa-company-page--release
		)
		.pa-company-band {
		display: none;
	}

	/* 本文の柱を移行元のスマホ版と同じ画面の 87.5% にして中央へ置く（上のコメントの理由）. */
	:is(.entry-content, .page-content__body) :is(#company, #profile, #contribution) {
		width: min(87.5vw, 100%);
	}

	/*
	 * 区画の上下の内余白。移行元のスマホ版は 5 ページとも `25px 0`、dev は
	 * `65px 0 30px` である（2026-09-04 17:42 JST に両側 5 ページを測った実測。
	 * 上が 40px・下が 5px 多い）。
	 *
	 * 🚨 **打ち消す相手（43843 行）は採用情報の `#interview_top` と `#photo` も
	 * 同じ 1 本で受け持っている。**あの当たり先をそのまま上書きすると、担当が
	 * 別の採用情報の 2 ページまで変わる。そこで `body` の目印で会社情報の 5 ページに
	 * 絞る（この形なら詳細度も (1,2,1) で相手の (1,1,0) に勝つ）.
	 */
	body:is(
			.pa-company-page--index,
			.pa-company-page--profile,
			.pa-company-page--missionstatement,
			.pa-company-page--contribution,
			.pa-company-page--release
		)
		:is(.entry-content, .page-content__body)
		:is(#company, #profile, #missionstatement, #contribution) {
		padding: 25px 0;
	}

	/*
	 * --- 会社概要の中見出しを、絵から文字へ置き換える（Task #3505）---
	 *
	 * 移行元パソコン版は `<h4><img src=".../profile/ttl01.gif" alt="会社概要"></h4>`、
	 * 移行元スマホ版は `<h3 class="title serif">会社概要</h3>`（文字）である。
	 * 同じ見出しを絵と文字で組み分けているので、携帯幅では文字を出す。
	 *
	 * 値は 2026-09-04 19:3x JST に移行元の本番を携帯の名乗り・幅 375px で測った実測.
	 */
	:is(.entry-content, .page-content__body) #profile .profile_box > h4 > img {
		display: none;
	}

	:is(.entry-content, .page-content__body) #profile .profile_box > h4 .pa-company-sp-heading {
		display: block;
	}

	/*
	 * 見出しの器。移行元スマホ版は 20px / 太さ 400 / 行送り 20px / 色 `#a3762b` /
	 * 内余白 `15px 0` / 下の外余白 18px / **下辺だけ 2px の実線**である。
	 *
	 * 🚨 **字間を打ち消す。**テーマは
	 * `.page-content__body :is(h2, h3, h4, h5, h6) { letter-spacing: 0.05em }` を
	 * 全見出しへ当てている。移行元スマホ版のこの見出しは字間を持たないので、
	 * 打ち消さないと 20px の字で 1px/文字ぶん広がる（4 文字で 4px）。
	 * **器いっぱいに広がる見出しなので、箱の幅を比べても差は出ない。**
	 * 文字そのものの並びの幅（移行元 80px）で見ること.
	 */
	:is(.entry-content, .page-content__body) #profile .profile_box > h4:has(.pa-company-sp-heading) {
		clear: both;
		margin: 0 0 18px;
		padding: 15px 0;
		border-bottom: 2px solid #a3762b;
		color: #a3762b;
		font-size: 20px;
		font-weight: 400;
		letter-spacing: normal;
		line-height: 100%;
		text-align: left;
	}

	/*
	 * 地図の下の「大きな地図で見る」を隠す。移行元パソコン版だけが持ち、移行元
	 * スマホ版は持たない（記録版 19f499fe3 を走査して確認。パソコン版 1 件・
	 * スマホ版 0 件）。dev はパソコン版由来なので出ている。
	 *
	 * 当たり先は**この段落だけに当たる形**にする。`#profile` の中の `p` を広く
	 * 隠すと、住所などの中身まで消える。
	 *
	 * 🚨 **行き先のホスト名を推測しない。**移行元の実物は
	 * `<a href="https://maps.app.goo.gl/gy7ZH3FrLGuCLkVSA" target="_blank">大きな地図で見る</a>`
	 * である（記録版 19f499fe3 の `company/profile.html` を読んで確認）。
	 * `maps.google` や `google.com/maps` で書くと**1 件も当たらず、しかも
	 * 静かに何も起きない**（消したい段落が出たままになる）.
	 */
	:is(.entry-content, .page-content__body) #profile .profile_box p:has(> a[href*="maps.app.goo.gl"]) {
		display: none;
	}

	/*
	 * 表の中の段落の行送り。移行元スマホ版は `normal`（13px の字で約 15px）、
	 * dev は 32px である（実測）。1 行あたり 17px 開くので、住所が 2 行なら 34px の差
	 * になる。字の大きさは Task #3452 でそろえたが、行送りは手当てしていなかった.
	 */
	:is(.entry-content, .page-content__body) #profile .profile_box table :is(p, li) {
		line-height: normal;
	}

	/*
	 * --- 社会貢献の赤い強調を、絵から文字へ差し替える（Bug #3456）---
	 *
	 * 移行元スマホ版は、この文を絵（`sp/company/images/text.png` 560×166）で
	 * **3 行・点線の罫つき**に組む。dev は移行元パソコン版の絵
	 * （`contribution_text.gif` 447×84・**2 行・実線の罫**）を縮めて出していた。
	 * 型紙（`inc/contribution-sp-text.php`）が絵の隣へ 3 行の文字を足すので、
	 * ここで絵を隠して文字を出す。
	 *
	 * 🚨 **値はすべて移行元スマホ版の絵を解いて画素で測ったものである**
	 * （2026-09-07・Bug #3456 のコメントに全部書いてある）。
	 *
	 *   字と罫の色   rgb(225, 32, 15) = #e1200f（字と罫は同じ色）
	 *   字の送り     1 文字ぶん 31.5px（16 字の行の墨が 481px・14 字が 435px・
	 *                8 字が 229px。3 行とも 31.4〜31.5px で一致した）
	 *   行の間隔     60px（罫が y=44・104・164 に並ぶ）
	 *   罫の位置     各行の上から 44px
	 *   罫の太さ     2px
	 *   罫の破線     6px 出て 6px 空く
	 *
	 * 🚨 **この寸法は画面の幅に比例する**（裁定 208 の「比例のまま写す」）。
	 * 移行元スマホ版の器は `width: 87.5%`、絵は `max-width: 100%` なので、
	 * 絵は 87.5% × 画面幅まで伸び、**natural の 560px で頭打ちになる**。
	 * 倍率は `min(1, 0.875 × 画面幅 ÷ 560)` である。下の 1 目盛りがその倍率で、
	 * 画面幅 375px では 0.5859px になる（375 × 0.15625 ÷ 100）.
	 */
	:is(.entry-content, .page-content__body) #contribution .pa-contribution-sp-text {
		--pa-contribution-sp-unit: min(1px, 0.15625vw);

		display: block;

		/*
		 * 絵は `max-width: 100%` なので natural の 560px より大きくならず、
		 * 器の中で中央に置かれる（移行元スマホ版は `text-align: center`）。
		 * 画面幅 640px を超えると器のほうが広くなるので、ここで同じ頭打ちと
		 * 中央寄せを作る。640px 以下では器のほうが狭いので何も起きない.
		 */
		max-width: calc(560 * var(--pa-contribution-sp-unit));
		margin-right: auto;
		margin-left: auto;
		color: #e1200f;
		font-size: calc(31.5 * var(--pa-contribution-sp-unit));

		/*
		 * 🚨 **行送りは字の大きさと同じにし、行の高さは下の器で作る。**
		 * 行送りを 60 にすると、上下に振り分けられる余白（(60 − 31.5) ÷ 2 = 14.25）の
		 * ぶんだけ字が下がり、**罫に重なる**。移行元スマホ版の絵は 1 行目の墨が
		 * 絵の上端（y=0）から始まっており、余白を持たない。
		 * 実測でも、行送り 60 のときは字が 14.25 目盛りぶん下にずれていた.
		 */
		line-height: calc(31.5 * var(--pa-contribution-sp-unit));
		text-align: left;
	}

	/*
	 * 1 行ずつ別の器にするのは、**各行の下に点線の罫を引く**ためである。
	 * `<br>` で区切ると行ごとに背景を敷けない。
	 *
	 * 罫は背景で描く。`border-bottom: dashed` は**破線の長さを閲覧環境が決める**ので、
	 * 移行元の「6px 出て 6px 空く」を写せない.
	 */
	:is(.entry-content, .page-content__body) #contribution .pa-contribution-sp-text > span {
		display: block;

		/* 行の高さ（移行元スマホ版の絵の罫の間隔）は、行送りではなく器で作る. */
		height: calc(60 * var(--pa-contribution-sp-unit));
		background-image: repeating-linear-gradient(
			to right,
			#e1200f 0,
			#e1200f calc(6 * var(--pa-contribution-sp-unit)),
			transparent calc(6 * var(--pa-contribution-sp-unit)),
			transparent calc(12 * var(--pa-contribution-sp-unit))
		);
		background-repeat: repeat-x;
		background-position: 0 calc(44 * var(--pa-contribution-sp-unit));
		background-size: 100% calc(2 * var(--pa-contribution-sp-unit));
	}

	/*
	 * 移行元スマホ版の絵の高さは 166px で、3 行ぶんの 180px より 14px 低い
	 * （3 本目の罫 y=164 のすぐ下で切ってある）。最後の行だけ器を縮めて高さを合わせる。
	 * 字はこの器からはみ出して描かれるが、**切り取らない**ので見た目は変わらない.
	 */
	:is(.entry-content, .page-content__body) #contribution .pa-contribution-sp-text > span:last-child {
		height: calc(46 * var(--pa-contribution-sp-unit));
	}

	/*
	 * 絵を隠す。**当たり先はこの段落だけに絞る。**`#contribution` の中の `img` を
	 * 広く隠すと、主役の写真（`main_img`）や NPO の絵まで消える。
	 *
	 * 🚨 **`img` と `picture` の両方を書く。**携帯専用画像への差し替え
	 * （`inc/sp-image-swap.php`）の表にこの絵が足されると、`<img>` は
	 * `<picture>` に包まれて段落の直下の子でなくなる。`> img` だけで書くと
	 * **空振りして絵が出たままになり、文字と二重に見える**（2026-09-07 に
	 * 7 班が別の画面で踏んだ型）。いまこの絵は表に載っていないが、
	 * 載ったときに黙って壊れないようにしておく.
	 */
	:is(.entry-content, .page-content__body) #contribution p:has(> .pa-contribution-sp-text) > :is(img, picture) {
		display: none;
	}

	/*
	 * --- 採用情報配下の区画メニューを隠す（Task #3485）---
	 *
	 * 移行元のスマホ版はカテゴリメニューを持たない（採用情報配下の 5 ページを
	 * 375px で測って 0 件）。dev に出ているのは**移行元パソコン版の本文の中に
	 * 埋まっているメニュー**（`ul.category_menu`。実測 345×163）である。
	 *
	 * 会社情報のほかのページでは、テーマの部品（`nav.pa-company-nav`）を描くときに
	 * 本文の中の移行元メニューを取り除く処理が働く（`inc/company-category-nav.php` の
	 * `pa_company_nav_filter_out_legacy_menu()`）。ところがあの処理は**部品を実際に
	 * 描いた投稿だけ**を対象にしており、採用情報配下は部品を出さないページなので
	 * 本文のメニューがそのまま残る。同ファイルの注釈にもそう書いてある。
	 *
	 * **パソコン幅ではこれが正しい**（移行元パソコン版はメニューを出している）。
	 * よって取り除くのではなく、携帯幅だけ隠す。
	 *
	 * 🚨 **当たり先を素の `.category_menu` にしない。**この目印は移行元の
	 * **264 ページ・7 区分**で使われている（会員紹介 139・支店紹介 67・会社情報 28・
	 * はじめての方へ 14・サービス 9・入会案内 6・リリース 1。記録版 19f499fe3 を
	 * 走査した実測）。素で隠すと、ほかの班の持ち場のメニューまで消える。
	 *
	 * 🚨 **区画の id では絞れない。**移行元のこのメニューは `<section id="recruit">`
	 * の**外**にあり、帯画像 `h2.main_ttl` の兄弟として `#contents` の直下に置かれて
	 * いる（移行元パソコン版の HTML を読んで確認）。そのため `#recruit .category_menu`
	 * のような書き方では当たらない。
	 *
	 * そこで `inc/company-sp-parts.php` が `body` へ足す `pa-company-page--recruit`
	 * で絞る。この目印は移行元 URL パスが `/company/recruit/` で始まる 16 ページ
	 * （採用トップ・社員紹介の一覧と詳細 11 本・写真で見る・募集要項）に付く。
	 *
	 * **本文の器を前置きに足していない。**移行元由来の本文がどの器に入るかは型紙に
	 * よって変わり、片側 0 件の空振りを招く。`body` の目印だけで採用情報配下に
	 * 絞れているので、器は要らない.
	 */
	.pa-company-page--recruit .category_menu {
		display: none;
	}

	/*
	 * --- 移行元パソコン版のタブを携帯幅で隠す（Bug #4313）---
	 *
	 * 採用トップの携帯幅で、**画面内ナビが 2 つ出ている**。移行元スマホ版は 1 つだけである。
	 *
	 *   移行元スマホ版  `ul.anchor_menu`                375x165（3 項目）
	 *   dev            `ul.pa-company-sp-anchor-menu`  375x165（3 項目・Task #3485 で足した正しいもの）
	 *   dev            `ul.list_archives`              345x281（**移行元パソコン版のタブ・余分**）
	 *
	 * 下の外余白 20px を合わせて 301px が余分に積まれている（2026-09-07 の実測）。
	 *
	 * **パソコン幅ではタブが正しい**（移行元パソコン版は出している）。よって取り除くのでは
	 * なく、携帯幅だけ隠す。
	 *
	 * 🚨 **当たり先を `.pa-company-page--recruit` にしてはいけない。**あの目印は採用情報
	 * 配下の 16 ページすべてに付く。**募集要項もタブを持つが、dev はまだ画面内ナビを
	 * 出していない**（移行元スマホ版は 2 項目・375x88 のナビを持つ）。あそこでタブを
	 * 隠すと、画面内ナビが 1 つも無くなる。
	 *
	 * そこで「画面内ナビを出しているページ」だけに絞る。目印は
	 * `inc/company-sp-parts.php` の `pa_company_sp_shows_anchor_menu()` が付ける。
	 * 募集要項へナビを足す（Bug #3490）ときにあの関数へ足せば、タブは自動で隠れる。
	 *
	 * 🚨 **素の `.list_archives` を隠さないこと。**この目印はニュース一覧・会社概要にも
	 * 出る。ニュース一覧の携帯幅は Bug #4109 でタブを**残す**判断をしている.
	 */
	.pa-company-sp-anchor-menu-page .list_archives {
		display: none;
	}

	/*
	 * --- 採用情報配下の携帯幅で、移行元スマホ版に無い区分の帯を隠す（Bug #4370）---
	 *
	 * 移行元パソコン版は採用情報の 4 ページへのリンクを `ul.list_category` で並べる
	 * （「採用・求人情報トップ / 募集要項 / 社員インタビュー / 社内風景」）。
	 * **移行元スマホ版はこの帯を持たない**（記録版の写しを走査して 0 件を確認）。
	 * 代わりに絵の並び（`ul.main_menu`）を持つが、それは別の部品である。
	 *
	 * 🚨 **採用情報配下すべてに広げてはいけない。**この帯は採用トップにも出るが、
	 * あちらで隠すと**区画の導線が 1 つも無くなる**。移行元スマホ版は代わりに絵の並び
	 * （`ul.main_menu`・3 項目）を持つが、dev はまだそれを出していない。採用トップの
	 * 帯を隠すのは、絵の並びを足すときに一緒に行う。
	 *
	 * 🚨 **`.list_category` は採用情報の外でも使われる。**そのため
	 * `inc/company-sp-parts.php` が募集要項だけへ付ける目印で絞る.
	 */
	.pa-company-page--recruit-info .list_category {
		display: none;
	}

	/*
	 * --- 採用トップの携帯幅の文字組み（Task #4314）---
	 *
	 * **移行元スマホ版の字が dev より小さく、行送りも狭い。**そのぶん塊が縦に伸び、
	 * 採用トップは全体で 1,752px（+25.4%）高くなっている。行送りが字の 1.4 倍から
	 * 2.0 倍になるだけで、本文の長い塊は高さが 4 割増える（2026-09-07 の実測）。
	 *
	 * 写す値は移行元スマホ版の `public/sp/css/style.css`（記録版 1fbfa9dda）の
	 * 3332〜3505 行にある `#recruit` の規則そのものである。**推し量っていない。**
	 *
	 *   | 塊 | 見るもの | 移行元 | dev |
	 *   |---|---|---|---|
	 *   | 募集職種 dl.job | 題の字 | 15px（dt の a が 16px） | 20px |
	 *   |               | 本文の字 / 行送り | 14px / 140% | 16px / 200% |
	 *
	 * 🚨 **移行元の `dl.job dt a`（16px）は写さない。**採用情報配下の 4 ページを
	 * 実ブラウザで走査したところ、`dl.job dt` の中の `<a>` は**移行元にも dev にも
	 * 1 つも無い**（2026-09-07 の実測）。当たる要素が無い規則は確かめようがないので
	 * 置かない。題そのものの字は `dl.job dt` に 15px として写してある.
	 *
	 * 🚨 **写す値は実ブラウザの計算値で確かめる。**移行元の CSS のファイルを読むだけでは
	 * 足りない（同じ CSS の写しが何本も置いてあり、実際に配られる 1 本と行がずれる）。
	 * 最初の版は `dl.job dt` の字を写し漏らし、20px のままだった.
	 *   | 代表インタビュー dl.interview | 字 | 13px（dd が 14px） | 16px |
	 *   | 担当者からひと言 box_delegate | 字 / 行送り | 14px / 150% | 16px / 24px |
	 *
	 * 🚨 **余白・内余白・器の幅はここで触らない**（Task #4317 の持ち場）。
	 * 同じ当たり先へ字と余白を 1 つの規則にまとめると、2 つの Task が同じ行を
	 * 取り合う。**規則を分けて書く。**
	 *
	 * 🚨 **当たり先には `#recruit` を必ず入れる（詳細度）。**パソコン幅の同じ塊の規則は
	 * `:is(.entry-content, .page-content__body) #recruit .box_entry`（1,2,0）の形で、
	 * **メディアの条件を持たない**（＝携帯幅でも当たる）。id を含まない
	 * `.pa-company-page--recruit .box_entry`（0,2,0）では 14 本のうち 8 本が負け、
	 * 字は 16px/200% のまま変わらなかった（2026-09-07・自動レビューの指摘で判明）。
	 * ここでは `#recruit` を足して（1,3,0）にし、確実に上書きする.
	 *
	 * 🚨 **`#recruit` を素で使わない。**移行元の目印はほかの区分にも出うるので、
	 * `inc/company-sp-parts.php` が `body` へ足す `pa-company-page--recruit` を
	 * 必ず前に置いて採用情報配下に絞る（すぐ上の区画メニューの規則と同じ作法）.
	 */
	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .anchor_ttl {
		font-size: 20px;
		line-height: 100%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit dl.job dt {
		font-size: 15px;
		line-height: 128%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit dl.job dd {
		font-size: 14px;
		line-height: 140%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .box_entry {
		font-size: 14px;
		line-height: 160%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .box_entry_copy {
		font-size: 15px;
		line-height: 150%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .list_work li {
		font-size: 14px;
		line-height: 135%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .box_promote {
		font-size: 14px;
		line-height: 180%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .box_promote .promote_text {
		font-size: 14px;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit dl.interview dt {
		font-size: 11px;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit dl.interview dd {
		font-size: 14px;
		line-height: 153%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .box_delegate {
		font-size: 14px;
		line-height: 150%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .box_delegate_ttl {
		font-size: 16px;
		line-height: 100%;
	}

	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit .box_delegate_copy {
		font-size: 16px;
		line-height: 130%;
	}

	/*
	 * --- 採用トップの携帯幅の囲みの余白と器の幅（Task #4317）---
	 *
	 * **移行元スマホ版より内余白・外余白が広く、器も 17px 広い。**そのぶん塊が縦に伸びる。
	 *
	 * 🚨 **器の幅 328.13px の出どころ。**移行元は固定値で書いていない。`#recruit` の塊を
	 * どれも**画面いっぱい（375px）**に置き、塊ごとに `padding: 0 6.25%` を与えている。
	 * 375px のとき 6.25% = 23.4375px が左右に入り、中身は 328.13px になる。
	 * dev はページの器（`.single-content--recruit`）が左右 15px の内余白を持ち、
	 * 塊が 345px の**固定**になっていた（2026-09-07 の実測）。
	 *
	 * 🚨 **固定値 328px で書かない。**画面幅が 320px や 414px のときに移行元とずれる。
	 * ページの器の内余白を携帯幅だけ 0 にして塊を画面いっぱいに戻し、**移行元と同じ
	 * 百分率**を塊ごとに置く。
	 *
	 * 🚨 **字と行送りはここで触らない**（Task #4314 の持ち場）。同じ当たり先へ 2 つの
	 * 規則を分けて書く。下の陰性対照が「この節に字の宣言が無いこと」を見張る。
	 *
	 * 当てる範囲は**採用トップだけ**である（`pa-company-page--recruit-top`）。
	 * `pa-company-page--recruit` は採用情報配下 16 ページに付き、募集要項
	 * （Bug #3490 の持ち場）まで広がってしまう.
	 */
	.pa-company-page--recruit-top .single-content--recruit {
		padding-left: 0;
		padding-right: 0;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .anchor_ttl {
		margin-left: 6.25%;
		margin-right: 6.25%;
		padding: 15px 0;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit dl.job {
		margin: 0 6.25%;
		padding: 14px 0;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit dl.job dt {
		margin-bottom: 5px;
		padding: 0;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_entry {
		margin: 20px 0 10px;
		padding: 18px 6.25%;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_entry p {
		margin-bottom: 12px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_entry p.box_entry_copy {
		margin-bottom: 8px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .list_work {
		margin: 0 6.25%;
		padding: 10px 0 15px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .list_work li {
		margin-bottom: 7px;
		padding: 0 0 0 15px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_promote {
		margin: 0 0 15px;
		padding: 18px 6.25%;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_promote .promote_copy {
		margin-bottom: 0;
		padding: 0 0 10px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_promote .promote_img {
		margin-bottom: 13px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_promote .promote_text {
		margin-bottom: 10px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit dl.interview {
		margin: 0 6.25%;
		padding: 15px 0;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit dl.interview dt {
		padding: 0;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit dl.interview dd {
		padding: 0;
	}

	/*
	 * 🚨 **担当者からひと言だけ百分率が違う**（6.25% でなく 7.142%）。移行元スマホ版の
	 * 指定そのままである。
	 *
	 * 🚨 **百分率の基準になる幅が移行元とこちらで違う。**内余白の百分率は「その要素の幅」
	 * でなく「**親の幅**」を基準に計算される（CSS の決まり）。移行元ではこの囲みの親が
	 * 柱（画面幅の 87.5% = 328.13px）なので `7.142%` は 23.42px になる。こちらは親が
	 * `#recruit`（画面いっぱいの 375px）なので、同じ `7.142%` と書くと 26.78px になり
	 * **3.36px ずれる**（実測で判明）。そこで `7.142%` を柱の幅ぶんに読み替えて
	 * `calc(7.142% * 0.875)` と書く（0.875 = 1 − 6.25% × 2 = 柱の幅の割合）。
	 * **固定値の 23.42px で書かない**（画面幅が変わるとずれる）.
	 */
	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_delegate {
		margin: 34px 6.25% 30px;
		padding: 18px calc(7.142% * 0.875);
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_delegate_detail {
		padding: 0 0 23px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_delegate_ttl {
		margin-bottom: 15px;
		padding: 0 0 7px;
	}

	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_delegate_copy {
		margin-bottom: 10px;
	}

	/*
	 * --- 採用トップの携帯幅の積み方（Bug #4387）---
	 *
	 * **移行元スマホ版は、どの塊も縦に積む。**dev はパソコン版の回り込み（`float`）を
	 * 携帯幅でもそのまま出していた。そのぶん器が細くなって行数が増え、認定の囲みで
	 * +70.3px、担当者からひと言で +80.6px 高くなっていた（2026-09-07 の実測）。
	 *
	 * 🚨 **移行元スマホ版は `float: none` と書いていない。指定そのものが無い。**
	 * 移行元はパソコン版とスマホ版で別の CSS を配るので、スマホ版に回り込みが存在
	 * しない。こちらは 1 本の `main.css` に両方が入るため、**携帯幅で明示的に打ち消す**
	 * 必要がある。
	 *
	 * 🚨 **`float` だけでなく `width` も打ち消す。**パソコン幅の規則は
	 * `float: left; width: min(128px, 100%)` の組みで書かれている。`float` だけ戻すと
	 * 器が 128px のまま縦に積まれ、移行元と違う細い柱になる。
	 *
	 * 🚨 **`clearfix` の擬似要素は触らない。**回り込みが無くなれば何も打ち消さない。
	 *
	 * 当てる範囲は採用トップだけである（`pa-company-page--recruit-top`）。
	 * パソコン幅の規則は `#recruit` を含む（詳細度 1,3,0 級）ので、こちらは
	 * `.pa-company-page--recruit-top :is(…) #recruit …`（1,4,x）で勝つ.
	 */
	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_promote .promote_img,
	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_promote .promote_text,
	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit dl.interview dt,
	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit dl.interview dd,
	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_delegate_detail,
	.pa-company-page--recruit-top :is(.entry-content, .page-content__body) #recruit .box_delegate_img {
		float: none;
		width: auto;
	}

	/*
	 * --- 区画の題（`h3.title`）の大きさと寄せ（Task #3463）---
	 *
	 * 移行元のスマホ版は、題の器の幅を**ページごとに画面幅の百分率**で決め、絵をその器
	 * いっぱいに伸ばす。dev はどのページでも器を 345px にして絵を原寸で左に置いていた。
	 *
	 * 絵そのものは `inc/sp-image-swap.php` が携帯幅だけ移行元スマホ版のものへ差し替える
	 * （名前まで違う。パソコン版 `title.gif` 対 スマホ版 `main_ttl.gif`）。ここでやるのは
	 * 器の幅・寄せ・下の外余白だけである。
	 *
	 * 器を縮めれば、テーマの `img { max-width: 100%; height: auto }` が絵をその幅まで
	 * 縮めるので、高さは絵の縦横比から決まる。移行元スマホ版の実測と突き合わせると、
	 * 5 ページとも 0.1px 以内で一致する（2026-09-04 17:42 JST の実測）。
	 *
	 * | ページ | 器の幅 | 差し替え後の絵の原寸 | 出る高さ | 移行元の実測 |
	 * |---|---|---|---|---|
	 * | 私たちの想い | 51.687vw = 193.8px | 270x89 | 63.9px | 193.8x63.9 |
	 * | 会社概要 | 51.687vw = 193.8px | 329x89 | 52.4px | 193.8x52.4 |
	 * | 経営理念 | 21.687vw = 81.3px | 118x89 | 61.3px | 81.3x61.3 |
	 * | 社会貢献 | 30.3vw = 113.6px | 188x84 | 50.8px | 113.6x50.8 |
	 * | 上場のお知らせ | 78.3vw = 293.6px | 420x84 | 58.7px | 293.6x58.7 |
	 *
	 * 🚨 **百分率でなく `vw` で書く。**移行元の百分率は画面幅 375px を基準にしているが、
	 * dev は区画そのものを 328.1px にしている（上の柱の指定）ので、`%` だと基準が
	 * 1 段ずれる。私たちの想いでは 51.687% = 169.6px となり、正しい 193.8px と 24px 違う。
	 *
	 * **先例**: 8 班が入会案内で同じことをしている（`#guide > h3.title` の節）。
	 * 書き方はそれにならうが、**幅の単位だけは `vw` にする**（あちらは親の幅の前提が違う）.
	 */
	body:is(
			.pa-company-page--index,
			.pa-company-page--profile,
			.pa-company-page--missionstatement,
			.pa-company-page--contribution,
			.pa-company-page--release
		)
		:is(.entry-content, .page-content__body)
		:is(#company, #profile, #missionstatement, #contribution)
		> h3.title {
		margin: 0 auto 20px;
	}

	.pa-company-page--index :is(.entry-content, .page-content__body) #company > h3.title,
	.pa-company-page--profile :is(.entry-content, .page-content__body) #profile > h3.title {
		width: 51.687vw;
	}

	.pa-company-page--missionstatement
		:is(.entry-content, .page-content__body)
		#missionstatement
		> h3.title {
		width: 21.687vw;
	}

	.pa-company-page--contribution
		:is(.entry-content, .page-content__body)
		#contribution
		> h3.title {
		width: 30.3vw;
	}

	.pa-company-page--release :is(.entry-content, .page-content__body) #company > h3.title {
		width: 78.3vw;
	}

	/*
	 * 経営理念の題だけ、dev は下に内余白 40px と 1px の罫線を持つ（43965 行あたりの
	 * `#missionstatement > .title`）。移行元のパソコン版の写しである。移行元のスマホ版は
	 * どちらも持たない（実測した器の高さ 61.3px が絵の高さと同じで、余白ぶんが無い）。
	 * 携帯幅では落とす.
	 */
	.pa-company-page--missionstatement
		:is(.entry-content, .page-content__body)
		#missionstatement
		> h3.title {
		padding-bottom: 0;
		border-bottom: 0;
	}


	/*
	 * 採用情報配下 18 ページの「会社情報」の帯（Bug #4497）。
	 *
	 * 移行元パソコン版は本文の先頭に `h2.main_ttl`（`images/company/main_ttl.jpg`
	 * 1268x170）を置くが、**移行元スマホ版はこの帯を持たない**。スマホ版の本文は
	 * 区画の題（`h2.category_ttl`）から始まる。携帯幅では落とす。
	 *
	 * 🚨 **採用情報配下に絞る。**会社情報 5 ページには本文にこの要素が無いので
	 * （2026-09-08 に dev の 4 ページで実測）いま広げても実害は出ないが、
	 * 絞っておかないと投入のやり直しで本文が変わったときに巻き込む。
	 *
	 * 直す前の実測（2026-09-08 00:4x JST）: 320px で 320.0x51.9 / 290.0x47.8、
	 * 375px で 375.0x59.2 / 345.0x55.2、749px で 749.0x109.3 / 719.0x105.3。
	 * パソコン幅は 1200px で 1100x157.4、1440px で 1268x170 のまま変えない.
	 */
	.pa-company-page--recruit :is(.entry-content, .page-content__body) h2.main_ttl {
		display: none;
	}

	/*
	 * 採用情報配下 18 ページの区画の題（Task #3491）。会社情報 5 ページ（すぐ上）と
	 * 同じ形である。絵の差し替えは `inc/sp-image-swap.php` の表と
	 * `inc/recruit-sp-title-image.php` が受け持ち、ここは**器の幅・寄せ・下の外余白**と
	 * **絵を器いっぱいに伸ばす指定**だけを持つ。
	 *
	 * 🚨 **絵にも `width: 100%` が要る。**移行元スマホ版は共通 CSS
	 * （`sp/css/common.css`）で `img { width: 100%; height: auto; display: block }` を
	 * 当てている。dev のテーマは `max-width: 100%` だけなので、**器が絵より広い幅では
	 * 絵が原寸で止まる**。749px では移行元が 369.3px まで伸ばすのに対し、
	 * `width: 100%` が無いと絵の原寸 310px で止まって 59px 足りない。
	 *
	 * 移行元スマホ版の実測（2026-09-07 23:1x JST。幅 320 / 375 / 749px）:
	 *
	 * | ページ | 器の幅 | 320px | 375px | 749px |
	 * |---|---|---|---|---|
	 * | 採用トップ・募集要項 | 49.3% | 157.8x43.8 | 184.9x51.3 | 369.3x102.4 |
	 * | 写真で見る | 29.687% | 95.0x26.3 | 111.3x30.9 | 222.3x61.7 |
	 * | 社員紹介の一覧・詳細 | 52.3% | 167.4x42.8 | 196.1x50.2 | 391.7x100.3 |
	 *
	 * 百分率の出どころ（移行元の CSS）:
	 *
	 *   採用トップ・募集要項  sp/css/style.css        `#recruit .category_ttl { width: 49.3% }`
	 *   写真で見る            sp/company/recruit/photo/css/style.css `.category_ttl { width: 29.687% }`
	 *   社員紹介の一覧・詳細  sp/company/recruit/interview/css/style.css
	 *                         `#recruit .category_ttl_inter` と `#interview .category_ttl_inter` の 52.3%
	 *
	 * 🚨 **百分率でなく `vw` で書く**（会社情報と同じ理由）。移行元の百分率は画面幅
	 * を基準にしているが、dev は本文の器を 345px に狭めているので `%` だと基準が
	 * 1 段ずれる（募集要項では 49.3% = 170.1px となり、正しい 184.9px と 15px 違う）。
	 *
	 * 🚨 **社員紹介の詳細だけ `h2.title` である**（一覧は `h3.title`）。移行元
	 * パソコン版の書き方の違いをそのまま投入しているため。当たり先を `h3` に絞ると
	 * 詳細 14 本に当たらない.
	 */
	.pa-company-page--recruit
		:is(.entry-content, .page-content__body)
		:is(#recruit, #photo, #interview_top)
		> :is(h2, h3).title {
		margin: 0 auto 20px;
	}

	.pa-company-page--recruit
		:is(.entry-content, .page-content__body)
		:is(#recruit, #photo, #interview_top)
		> :is(h2, h3).title
		img {
		display: block;
		width: 100%;
	}

	/* 採用トップと募集要項（区画の id は #recruit）. */
	.pa-company-page--recruit :is(.entry-content, .page-content__body) #recruit > h3.title {
		width: 49.3vw;
	}

	/* 写真で見る（区画の id は #photo）. */
	.pa-company-page--recruit :is(.entry-content, .page-content__body) #photo > h3.title {
		width: 29.687vw;
	}

	/* 社員紹介の一覧と詳細 14 本（区画の id は #interview_top）. */
	.pa-company-page--recruit
		:is(.entry-content, .page-content__body)
		#interview_top
		> :is(h2, h3).title {
		width: 52.3vw;
	}

	/* --- 私たちの想い（/company/。区画の id は #company）--- */

	/*
	 * 🚨 **移行元の百分率をそのまま写すと基準が 1 段ずれる。**
	 *
	 * 移行元のスマホ版は `#company` が画面いっぱい（375px）で、その中の
	 * `.anchor_block` が左右 6.25% の内余白を持って本文の柱 328.1px を作っている。
	 * dev は `#company` そのものを 328.1px にしている（上の柱の指定）ので、
	 * 入れ子が 1 段少ない。
	 *
	 *   - 移行元が `#company`（375px）を基準に書いた百分率 → **`vw` に読み替える**
	 *     （`.main_copy` の `padding: 6% 0` → `6vw` = 22.5px、`margin-bottom: 10%` → `10vw` = 37.5px）
	 *   - 移行元が柱 328.1px を基準に書いた百分率 → **`%` のままでよい**
	 *     （`#company p { margin: 0 0 4% }` → dev でも親が 328.1px なので 13.125px）
	 */

	/* 前置きの文。移行元 16px / 行送り 130% / 内余白 `6% 0` / 下の外余白 `10%`
	   （sp/css/style.css の 4017〜4025 行。実測でも内余白 22.5px・下の外余白 37.5px）。
	   dev は 26px / 39px / 内余白 30px / 下の外余白 40px。
	   **上下の 1px の罫線は触らない**（dev に既にあり、移行元と一致している）。
	   左右の外余白（移行元 `6.25%`）も書かない。親をすでに柱の幅にしているためである. */
	.pa-company-page--index :is(.entry-content, .page-content__body) #company .main_copy {
		margin-bottom: 10vw;
		padding: 6vw 0;
		font-size: 16px;
		line-height: 130%;
	}

	/* 本文の段落。移行元 13px / 行送り normal / 左寄せ / 下の外余白 `4%`（= 13.125px）。
	   dev は 16px / 27px / **中央寄せ** / 下の外余白 24px。
	   `.tar`（「以上」の右寄せ）・`.tac`・`.name`（署名の右寄せ）は寄せを持つ当たり先なので除く. */
	.pa-company-page--index :is(.entry-content, .page-content__body) #company p:not(.main_copy) {
		margin-bottom: 4%;
		font-size: 13px;
		line-height: normal;
	}

	/* 寄せだけは、自分で寄せを持つ段落を外す。移行元も `.tar`（右寄せの「以上」）・
	   `.tac`（中央寄せ）・`.name`（右寄せの署名）に寄せを指定しており、
	   **字と行送りはそれらにも同じ値が届いている**（区画そのものへ書いてあるため）。
	   除外を字にも掛けると、右寄せの段落だけ dev の 16px が残る. */
	.pa-company-page--index
		:is(.entry-content, .page-content__body)
		#company
		p:not(.main_copy, .tar, .tac, .name) {
		text-align: left;
	}

	/* 区画の題の絵の下の空きを消す（Bug #10033）。移行元の `h2.category_ttl` は箱の高さが絵と同じ
	   63.9px だが、dev の `h3.title` は 73.9px だった（2026-10-10 05:05 の実測・
	   `pa-verify-assets/A2/10033-私たちの想いの携帯幅-1010/読み2/`）。絵が行の中に置かれ、字 16px・行送り 32px の
	   行の箱が絵の下に 10px を足すためである。先例は `.pa-company-band .main_ttl { line-height: 0 }`.
	   上場のお知らせ（同じ `#company`）は測っていないので、私たちの想いだけに絞る. */
	.pa-company-page--index :is(.entry-content, .page-content__body) #company > h3.title {
		line-height: 0;
	}

	/* 本文の囲みの下の余白（Bug #10033）。dev はパソコン版の写し（`css/adjustment.css` の
	   `padding-bottom: 60px`）を携帯幅でも持ち、最後の段落の下の外余白 13.125px と足されていた。
	   移行元の携帯版は本文の囲み（`section#guide01`）が下の外余白 30px だけを持ち、最後の段落の
	   外余白はそこへ相殺される。最後の段落の下端から帯までが 移行元 70 対 dev 113.1 だった
	   （上と同じ実測）. */
	.pa-company-page--index :is(.entry-content, .page-content__body) #company .message {
		margin-bottom: 30px;
		padding-bottom: 0;
	}

	/* --- 上場に関するお知らせ（/company/release/。区画の id は私たちの想いと同じ #company）--- */

	/*
	 * 中見出し。移行元 18px / 行送り 25.2px（= 140%）。移行元のクラスは `main_read` だが、
	 * dev の本文は `main_copy` を持つ（実測）ので当たり先は `main_copy` にする。
	 *
	 * 罫線と内余白も落とす。dev は `:is(#company, #profile) .main_copy`（43997 行）から
	 * **上下に 1px の実線 `#ccc` と内余白 `30px 0`・下の外余白 40px** を受け取るが、
	 * 移行元のスマホ版の `#release p.main_read` は罫線を持たず、内余白 0・下の外余白
	 * 30px だけである（sp/company/css/style.css。2026-09-04 の実測でも一致）。
	 *
	 * 🚨 **私たちの想い（/company/）の惹句は罫線を持つのが正しい。**dev では
	 * 上場のお知らせと区画の id が同じ `#company` なので、`pa-company-page--release`
	 * の側だけに書く.
	 */
	.pa-company-page--release :is(.entry-content, .page-content__body) #company .main_copy {
		margin-bottom: 30px;
		padding: 0;
		border-top: 0;
		border-bottom: 0;
		font-size: 18px;
		line-height: 140%;
	}

	/* 末尾の「以上」の上の余白。移行元 `#release .tar { margin-top: 20px }`
	   （sp/company/css/style.css）。dev は 0 である（実測）. */
	.pa-company-page--release :is(.entry-content, .page-content__body) #company .tar {
		margin-top: 20px;
	}

	/* 本文の段落。移行元 13px / 行送り 26px（= 字の 2 倍）/ 左寄せ。
	   `.tar`（末尾の「以上」）は移行元も dev も右寄せなので除く（実測で両側にある）. */
	.pa-company-page--release :is(.entry-content, .page-content__body) #company p:not(.main_copy) {
		font-size: 13px;
		line-height: 26px;
	}

	/* 寄せだけ除外する（理由は私たちの想いの同じ指定の注釈）。**このページには
	   実際に `p.tar`（末尾の「以上」）が在る**ので、除外を字にも掛けると
	   そこだけ dev の 16px / 32px が残る（両側 5 ページの走査で確認）. */
	.pa-company-page--release
		:is(.entry-content, .page-content__body)
		#company
		p:not(.main_copy, .tar, .tac, .name) {
		text-align: left;
	}

	/* --- 社会貢献（/company/contribution/）--- */

	/* 移行元 13px / 行送り 26px / 左寄せ。dev は 16px / 32px（寄せは既に左）. */
	:is(.entry-content, .page-content__body) #contribution p {
		font-size: 13px;
		line-height: 26px;
	}

	/*
	 * 段落の下の余白。移行元は道具のクラスで 1 本ずつ出し分けている（`mb10` / `mb15`）。
	 * dev の段落はクラスを持たないので、並び順で当てる。
	 *
	 * 🚨 **「文章の段落」だけを数えてはいけない。**両側の DOM を突き合わせると、
	 * 段落の並びは次のとおりで、**dev の 2 本目は絵だけを持つ段落**である
	 * （2026-09-04 の採取 zones/dev-contribution.json と zones/legacy-contribution.json）。
	 *
	 * | 並び | 移行元（`.sp_wrap_body` の直下） | dev（`#contribution` の直下） | 下の外余白 |
	 * |---|---|---|---|
	 * | （絵） | `p.mb20`（主役の絵） | `div.main_img`（`p` ではないので数に入らない） | 移行元 20px |
	 * | 1 本目 | `p.mb10`（文章） | `p`（文章） | 10px |
	 * | 2 本目 | `p.mb10`（赤字の絵） | `p`（絵だけ） | 10px |
	 * | 3 本目 | `p.mb15`（文章） | `p`（文章） | 15px |
	 * | 囲みの中 | `.bg_gray > p` | `.npo > p` | 0 |
	 *
	 * dev はすべて 30px である（44078 行）.
	 */
	:is(.entry-content, .page-content__body) #contribution p:nth-of-type(-n + 2) {
		margin-bottom: 10px;
	}

	:is(.entry-content, .page-content__body) #contribution p:nth-of-type(3) {
		margin-bottom: 15px;
	}

	/* 灰色の囲みの中の段落は余白を持たない。上の並び順の指定より後に置いて打ち消す
	   （囲みの中の段落も、その親の中では 1 本目なので `:nth-of-type(1)` に当たる）. */
	:is(.entry-content, .page-content__body) #contribution .npo p {
		margin-bottom: 0;
	}

	/* 灰色の囲み。移行元 `.bg_gray` は内余白 20px・上の外余白 10px
	   （sp/company/css/style.css の 41〜45 行）。dev は内余白 `30px 30px 1px`・上の外余白 0。
	   親を柱の幅（328.1px）にすると、内余白 30px のままでは中の段落が 268.1px になり、
	   移行元の 288.1px より 20px 狭くなる（実測）. */
	:is(.entry-content, .page-content__body) #contribution .npo {
		margin-top: 10px;
		padding: 20px;
	}

	/* --- 会社概要の表（/company/profile/）--- */

	/*
	 * 🚨 **両側で組み方が違う。**移行元のスマホ版は定義リスト（`dl` / `dt` / `dd`）、
	 * dev は表（`section#profile > section#anchor01.profile_box > table`）である。
	 * dev に `dt` / `dd` は 1 件も無いので、**書く相手は `table` / `tr` / `th` / `td`** になる。
	 *
	 * 崩れの真因は、本社・代表取締役社長・認定の 3 行が持つ**入れ子の表**である。
	 * 行ごとの右の内余白（44126 行の `tr.honsha td { padding-right: 90px }` 等）が
	 * 子孫として入れ子の `td` にも当たり、幅 108px の列に 90px の余白が乗って中身が
	 * 18px しか残らない（実測）。移行元のパソコン版は表が 1,100px あるので破綻しない。
	 *
	 * ここでは外側の表も入れ子の表も縦に積み、右の内余白を移行元のスマホ版の値へ戻す。
	 *
	 * **もとあった `.profile_box { overflow-x: auto }` と `table th { width: auto }` は
	 * この 2 本と目的が同じ（表を 375px に収める）ので、縦積みへ置き換えた。**
	 * 横へ転がす方式では、当たり先の `.profile_box` が外側の器なので、内側の入れ子の
	 * 表の余白は解けず崩れが残っていた（実測）.
	 */

	/* 表・行・セルを縦に積む。テーマの共通規則（24073 行）が携帯幅で
	   `table { display: block }` ＋ `tbody { display: table }` にしているので、
	   ここで `tbody` も `tr` も `td` も block へそろえないと 2 列のままになる. */
	:is(.entry-content, .page-content__body)
		#profile
		.profile_box
		:is(table, tbody, tr, th, td) {
		display: block;
		width: auto;
	}

	/* 表の外枠。移行元は組を束ねる `div.box` が全周に 1px の実線 `#ccc` を持つ
	   （sp/css/style.css の 4191〜4193 行）。dev は外枠を持たない。

	   🚨 **当たり先を `.profile_box` にしない。**移行元の `.box` は組（`dl`）だけを囲み、
	   見出しはその外にある。dev の `.profile_box` は見出しの `h4`（画像）も抱えているので、
	   そこへ枠を書くと**見出しまで囲まれて移行元と違う姿になる**（両側の DOM を
	   突き合わせて確かめた。zones/dev-profile.json と zones/legacy-profile.json）。
	   組だけを持つのは `table` である. */
	:is(.entry-content, .page-content__body) #profile .profile_box > table {
		border: 1px solid #ccc;
	}

	/* 各組（移行元の `dl`）。上辺に 2px の実線 `#ccc`、下に 3% の外余白
	   （sp/css/style.css の 4195〜4198 行。実測 9.78px = 326.13 × 3%）。
	   入れ子の表の行を巻き込まないよう、外側の表の直下の行だけに絞る. */
	:is(.entry-content, .page-content__body) #profile .profile_box > table > tbody > tr {
		margin-bottom: 3%;
		border-top: 2px solid #ccc;
	}

	/* セルの内余白と罫線。移行元の宣言は `padding: 10px 6.25%`
	   （sp/css/style.css の 1590 行と 1617 行）で、`dt` / `dd` 自体は罫線を持たない。

	   🚨 **内余白を固定の px で写さない。**375px の画面で出る 20.375px は
	   326.13 × 6.25% の結果にすぎず、360px や 414px の画面では移行元とずれる。
	   dev は上下 20px・左 10px・下辺に 1px の罫線（44105 行）. */
	:is(.entry-content, .page-content__body) #profile .profile_box table :is(th, td) {
		padding: 10px 6.25%;
		border-bottom: 0;
		/* 行送りは移行元の `dt` / `dd` と同じ `normal` にする（Bug #10032）。dev はパソコン版の
		   `line-height: inherit`（このファイルの `.profile_box table :is(th, td)`）で本文の 32px を
		   受けており、1 行の組が移行元より 14px 高かった（項目名 52 対 47・値 52 対 43。
		   2026-10-10 05:12 の実測・`pa-verify-assets/A2/10032-会社概要の表の行-1010/読み1/`）. */
		line-height: normal;
	}

	/* 区画の題の絵の下の空きを消す（Bug #10032）。私たちの想いの題（Bug #10033）と同じく、
	   絵が字 16px・行送り 32px の行の中に置かれ、絵の下に 10px が足されていた
	   （表の上端 移行元 228.4 対 dev 238.4）。先例は `.pa-company-band .main_ttl { line-height: 0 }`. */
	.pa-company-page--profile :is(.entry-content, .page-content__body) #profile > h3.title {
		line-height: 0;
	}

	/* 項目名の行（移行元の `dt`）。移行元 18px / 太さ 500（sp/css/style.css の 4200〜4203 行）。
	   dev は 19px / 700。

	   背景は 4×4 の市松の絵を敷き詰める（同 1588〜1589 行）。dev は平らな青みの灰色
	   （表の既定 24029 行の `--pa-color-surface-muted` = `#f2f4f7`）を敷いており、
	   移行元と見た目が違う。絵は移行元の
	   `public/sp/images/inquiry/bg_form.gif`（`#e1e1e1` と `#ffffff` の 2 色）を
	   テーマの `assets/sp/images/inquiry/` へ写した（SHA-256 一致を確認）。
	   参照の書き方は同じ棚にある `../sp/images/icon01.gif`（21699 行）にそろえた。

	   幅は 240px 固定（44116 行）を打ち消して全幅にする。**この打ち消しを落とすと
	   縦に積んでも項目名だけ 240px の箱のまま残る**（詳細度が同じで、あちらが先に
	   書いてあるため、同じ強さでここに書き直す必要がある）. */
	:is(.entry-content, .page-content__body) #profile .profile_box table th {
		width: auto;
		background-color: transparent;
		background-image: url("../sp/images/inquiry/bg_form.gif?ver=7c00fa2728b4");
		background-repeat: repeat;
		font-size: 18px;
		font-weight: 500;
	}

	/* 値の行（移行元の `dd`）。移行元 15px / 太さ 400。dev は 16px. */
	:is(.entry-content, .page-content__body) #profile .profile_box table td {
		font-size: 15px;
		font-weight: 400;
	}

	/* 行ごとの右の内余白（本社 90px・事業 80px・認定 20px）を、ほかのセルと同じ値へ戻す。
	   この 3 本が入れ子の表の `td` にも当たって崩れの元になっていた（上のコメントの理由）。
	   あわせて代表取締役社長の行の幅 77%（44136 行）も全幅へ戻す。打ち消しには元の規則
	   より強い書き方が要るので、行のクラスを付けたまま書く. */
	:is(.entry-content, .page-content__body)
		#profile
		.profile_box
		table
		:is(tr.honsha, tr.jigyou, tr.nintei, tr.presi)
		td {
		width: auto;
		padding-right: 6.25%;
	}

	/* 入れ子の表のセルは内余白を持たない。外側の `td`（= 移行元の `dd`）が
	   すでに左右 6.25% を持っており、二重に付くと中身がさらに狭くなる。移行元も
	   `dd` の中の段落は内余白 0 である（実測）。行のクラス付きの規則（1 つ上）に
	   勝つ強さで書く. */
	:is(.entry-content, .page-content__body)
		#profile
		.profile_box
		table
		:is(tr, tr.honsha, tr.jigyou, tr.nintei)
		table
		:is(th, td) {
		padding: 0;
	}

	/* 本社と代表取締役社長の 2 行だけは、移行元のスマホ版も `dd` の中に段落を持ち、
	   その段落は 13px である（実測。`dd` 自体は 15px）。dev はこの中身が入れ子の表の
	   `td` なので、その 2 行に限って 13px へそろえる。認定の行は移行元が `dd` に
	   じか書きで 15px なので、そろえない. */
	:is(.entry-content, .page-content__body)
		#profile
		.profile_box
		table
		:is(tr.honsha, tr.presi)
		table
		:is(th, td) {
		font-size: 13px;
	}

	/* 会社概要の表の中の画像は、本来の大きさ（最大 1,100px）で出す指定を上で
	   入れてある。狭い画面では器に収める. */
	:is(.entry-content, .page-content__body) #profile .profile_box img {
		max-width: 100%;
		height: auto;
	}

	/* 経営理念の 2 段組みの箇条書きは、左の字下げ 102px と幅 278px の合計が
	   375px を超える。狭い画面では 1 段にする. */
	:is(.entry-content, .page-content__body) #missionstatement :is(p.list01, p.list02) {
		float: none;
		width: auto;
	}

	:is(.entry-content, .page-content__body) #missionstatement p.list01 {
		margin-left: 0;
	}

	/* 行動指針の 7 項目の一覧は、移行元スマホ版と同じ 1 列 7 行にする（Bug #3457）。
	   移行元スマホ版はこの 7 項目を 1 枚の絵（`ttl03_1.gif`）で 1 列に出しており、
	   読む順は 判断基準はお客様 → プロフェッショナルマインド → 情熱至上主義 →
	   正道を歩む → 主体性をもって成長する → チームパートナーエージェント →
	   自らの幸せを追求 である。型紙がこの順で組み直しているので、ここでは
	   **横の折り返しをやめて縦に積むだけ**でよい.

	   左の字下げ 102px と 2 列ぶんの幅 556px は、375px の画面に収まらないので外す. */
	:is(.entry-content, .page-content__body) #missionstatement ul.pa-mission-guideline {
		width: auto;
		margin-left: 0;
	}

	:is(.entry-content, .page-content__body) #missionstatement ul.pa-mission-guideline > li {
		width: 100%;
	}
}

/* --- 社員インタビューの各ページのスマートフォン幅（749px 以下） ---
 *
 * 移行元の白い囲みは左右 150px の内余白を持つ。幅 375px の画面では器が
 * 375 − 15 × 2（本文の左右余白）− 150 × 2 = 45px しか残らず、答えの文章が
 * ほぼ 1 文字ずつ折り返して読めなくなる。携帯幅では内余白を縮める。

   移行元も携帯版は別ページ（`/sp/`）で作りが違うため、この寸法を写す相手は無い。
   携帯幅の合否は「PC 版と同じ内容が読めること」と「はみ出しが無いこと」である. */

@media (max-width: 749px) {
	.single-content--recruit :is(.entry-content, .page-content__body) .bg_white {
		padding: 30px 20px;
	}

	.single-content--recruit :is(.entry-content, .page-content__body) .wrap_movie {
		padding: 30px 0;
	}
}

/* ==============================================================
 * ニュース一覧（/company/news/）の区画の中の部品（Bug #2307）
 *
 * 区画の入れ物（上余白 65px・文字 13px・行送り normal）は Bug #2221 で写した。
 * **区画の中の部品が 4 か所写せていない。**配備後の dev（配信中の版 0.11.145）を
 * 幅 1440px で移行元と突き合わせて見つけた（ニュース一覧の担当が実測）。
 *
 * | 部品 | 見るもの | 移行元 | dev |
 * |---|---|---:|---:|
 * | タブの項目 `.list_archives li` | 左端 | 390px | 362px |
 * | 一覧の右の柱 `dl dd` | 幅 | 973px | 980px |
 * | 年の切り替えの項目 `.text_menu li` | 高さ | 14px | 21px |
 * | タブの帯 `.list_archives` | 高さ | 89px | 83px |
 *
 * ## テーマは flex で組み直しているので、flex の語彙で写す
 *
 * 移行元は横並びを `float` と `display: inline-block` で作っている。テーマは会社情報の
 * 節（Bug #1433）で flex へ置き換えた。**その判断は変えない**（画面が狭いときに折り返せる
 * ため）。ここでは**寸法だけ**を移行元に合わせる。
 *
 * ## ニュース一覧の区画の中に限る
 *
 * `.list_archives` と `.text_menu` は会社情報のほかのページ（採用・会社概要）にも出る。
 * **`#news` の中だけに絞る**。`.text_menu` は移行元でもサイト共通の CSS
 * （`public/css/style.css`）に置いてあり、共通の部品そのものは変えない。
 * ============================================================== */

/* タブの高さ。移行元は帯が `display: block`・項目が `display: inline-block` なので、
   **項目が文字の並びに乗り、下にディセンダぶんの余白が付く**（項目に 2px・帯にさらに
   2px で、合わせて帯が 4px 高い）。テーマは帯を flex にしており、その余白が出ない。

   帯を `block` に戻す手は採らない。flex へ置き換えたのは画面が狭いときに折り返せる
   ようにするためで（会社情報の節・Bug #1433）、その判断は変えない。**余白のぶんを
   内余白で足して高さだけを合わせる。**`vertical-align` で写す手も効かない（テーマの
   項目は flex の子なので `vertical-align` が無視される）。値は実測した 2px ずつ。

   高さの調整は幅に依らないので、どの画面幅でも当てる. */
:is(.entry-content, .page-content__body) #news .list_archives li {
	padding-bottom: 2px;
}

:is(.entry-content, .page-content__body) #news .list_archives {
	padding-bottom: 4px;
}

/* 年の切り替えの項目 1 つの高さ。移行元は行送りを 100%（= 14px）にしている
   （public/css/style.css の .text_menu li）。共通の .text_menu li にも同じ指定が
   あるが、区画の中では効かない。会社情報の区画は #news li に line-height: inherit
   を当てており、id を含むこちらが強いためである。区画の中で写し直すには #news を
   前置してあちらより強くする必要がある。

   【帯そのものの高さを補う指定は撤去した】以前はこの下に
   #news .text_menu { row-gap: 6px; padding-bottom: 6px } を置いていた。
   帯を flex で組むと 1 行の高さが項目の 14px そのままになり、移行元の 20px に
   6px 足りなくなるのを補うためだった。**共通側を移行元と同じ block の組みへ
   戻したので、6px は帯そのものが持つようになり、補正を残すと二重に効いて
   帯が 40px から 46px に膨らむ**（実測で確認）。共通側を flex に戻すときは、
   この補正も一緒に戻すこと. */
:is(.entry-content, .page-content__body) #news .text_menu li {
	line-height: 100%;
}

:is(.entry-content, .page-content__body) #news .list_archives li {
	line-height: 100%;
}

/* ==============================================================
 * タブの左右の余白は、器が 1,100px になる幅のときだけ当てる
 *
 * **移行元は器 1,100px 固定の卓上向けの作りで、幅が変わる前提を持たない。**
 * 移行元の固定値をどの幅でも当てると、器が縮んだときに中身が器から溢れる。
 * 外部レビューの指摘で気づき、実測で確かめた。
 *
 * | 幅 | 器（`#news`） | 幅に依らず当てたときの結果 |
 * |---:|---:|---|
 * | 375px | 345px | タブ画像が 302px → 289px へ縮む |
 * | 750px | 720px | 題名の柱が溢れ、横スクロールが +83px |
 * | 900px | 870px | 同 +82px |
 * | 1,000px | 970px | 同 +82px |
 * | 1,130px 以上 | 1,100px | 移行元と一致 |
 *
 * 器は「画面幅 − 30px」で、1,100px で頭打ちになる（実測）。したがって器が
 * 1,100px になるのは画面幅 1,130px 以上である。**その帯だけで移行元の値を当て、
 * それ未満はこの修正の前と同じテーマの応答的な組みに戻す。**
 *
 * **題名の柱はこの帯に入れない。**画面幅を条件にする書き方は、場所を取る縦
 * スクロールバーがある環境（Windows の既定）で境界を当てられないためである。
 * 柱の幅は器の幅そのものに任せてある（下の `#news dl` / `#news dd` を読む）。
 * タブの余白をここに残せるのは、**タブが溢れるのは器が 716px を下回るとき**で、
 * それは画面幅 750px 未満にあたり、この帯の外だからである。
 *
 * 移行元にも狭い画面向けの作りは無い（別の携帯向けサイトを持つ）。写す相手が
 * 無いので、狭い画面はテーマの判断（Bug #1433 の flex 化）に任せるのが正しい。
 * ============================================================== */
@media (min-width: 1130px) {
	/* タブ（ニュースリリース／メディア掲載）の項目。移行元は左右 28px の外余白を置く
	   （`page_company.css` の `#news .list_archives li`）。テーマの flex は間隔を `gap` で
	   作っているため、外余白のぶんだけタブ 2 つがまとまって 28px 左へずれていた。

	   `gap` は項目の「間」にしか効かず、両端には効かない。移行元の `margin: 0 28px` は
	   両端にも効くので、外余白で写す。間隔は移行元と同じ 358px（302 + 28 × 2）になるため、
	   `gap` の横方向を 0 にして二重に空かないようにする. */
	:is(.entry-content, .page-content__body) #news .list_archives {
		gap: 30px 0;
	}

	:is(.entry-content, .page-content__body) #news .list_archives li {
		margin: 0 28px;
	}
}

/* 一覧の右の柱。移行元は幅を固定値で決め、日付の柱（100px）との間に 7px の隙間が空く
   （`#news dt { float: left; width: 100px }` と `#news dd { float: right; width: 973px }`
   の合計が 1,073px で、器の 1,080px に 7px 足りない）。テーマは隙間を作らず残りを
   すべて使うため 980px になり、**移行元では 2 行に折り返す題名が 1 行に収まっていた**。

   **幅を固定値で書かない。**隙間の 7px だけを足し、柱の幅は既定のまま「残りいっぱい」に
   任せる（既定は `flex: 1 1 auto`・18087 行あたり）。器が 1,080px のときは
   「1,080 − 100 − 7」で自動的に 973px になり、器が縮めば一緒に縮む。

   幅を固定すると器が縮んだときに溢れる。外部レビューが 2 度指摘した点である。
   1 度目は画面幅 750〜1,129px、2 度目は Windows のように場所を取る縦スクロールバーが
   ある環境の 1,130〜1,146px で、**画面幅を条件にする書き方では境界を当てられない**
   （条件は画面幅で決まるのに、器の幅はスクロールバーのぶんだけ狭くなるため）。
   器の幅そのものに任せる書き方に変えて、境界の判定をやめた。

   `max-width` は上限の押さえである。器が 1,080px より広くなっても移行元の 973px を
   超えないようにする（区画の幅は `min(1100px, 100%)` で頭打ちだが、将来変わっても
   移行元と食い違わないため）。

   **隙間は `gap` で作らない。日付の柱の右の外余白で作る。**`dl` は `clearfix` の
   クラスを持ち、その `::after` の擬似要素が flex の 3 つ目の項目になる。`gap` を
   使うと隙間が「日付と題名の間」だけでなく「題名と擬似要素の間」にもでき、
   **7px を 2 回取られて題名の柱が 973px ではなく 966px になる**（実測で気づいた）。
   外余白なら擬似要素は巻き込まない。`gap` の一括指定を避ける理由でもあった、携帯幅で
   日付と題名を縦に積む既存の指定（`max-width: 749px` の `gap: 4px`）の打ち消しも
   起きない. */
:is(.entry-content, .page-content__body) #news dt {
	margin-right: 7px;
}

:is(.entry-content, .page-content__body) #news dd {
	max-width: 973px;
}

/* 携帯幅では隙間を戻す。日付と題名を縦に積む組みでは、日付の柱の右の外余白は
   隙間にならず、柱の幅を 7px 削るだけになる（幅 375px で 345px → 338px を実測）. */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) #news dt {
		margin-right: 0;
	}
}

/* ==============================================================
 * ニュース一覧（/company/news/）の携帯幅（Bug #4109）
 * ==============================================================
 * 2026-09-04 のユーザー目視で「移行元スマホ版と UI が違いすぎる」と指摘された。
 *
 * **骨組みは変えない**（裁定 246・ユーザー判断 2026-09-06）。移行元のパソコン版と
 * dev は `section#news` の直下 8 個がクラス名も並び順も 1 つ違わず同じで、
 * パソコン幅は移行元の正しい写しだからである。食い違うのは移行元スマホ版だけで、
 * それはタブで中身を差し替える別の作りのページである。丸ごと持ち込むと 1 つの
 * ページの中で幅によって挙動が変わるので、**携帯幅で目に付く 3 点 ＋
 * 「もっと読み込む」だけ**を直す。
 *
 * 残る差（意図的な差として台帳へ記録）: 切り替えの挙動（タブ 対 錨リンク）・
 * 区画の並び順・年の横送りの位置・説明文の置き方・タブの中身（絵 対 文字）。
 *
 * 【当てる範囲】`.page-content--news` を前置する。これは
 * `page-templates/page-news-list.php` だけが付けるクラスで、`#news` や
 * `.list_archives` `.text_menu` は会社情報のほかのページ（採用・会社概要）にも
 * 出るためである。**共通の部品そのものは変えない。**
 * -------------------------------------------------------------- */

/* 「もっと読み込む」の押しボタンは素では出さない。パソコン幅では移行元も
   全件を出しており、押しボタンを持たないためである。下の携帯幅の節でだけ出す.

   🚨 **隠す仕事を CSS に持たせ、JS には目印を足す仕事だけをさせている。**
   こうすると JS が動かない環境では `is-news-collapsible` が付かず、項目は
   1 件残らず見えたままで、押しても何も起きない押しボタンだけが残る事故も
   起きない（assets/js/news-list-more.js の説明を参照）.

   check-mobile-only: 意図してメディアクエリの外に置く
   理由: これは「素の状態で隠す」宣言である。携帯幅の節（749px 以下）でだけ
   `display: block` に上書きするので、**パソコン幅では 1px も場所を取らない**。
   逆に `@media (min-width: 750px)` の中へ入れると、メディアクエリを解さない
   環境で押しボタンが出てしまう。隠す側を素に置くほうが安全側である. */
.pa-news-more {
	display: none;
	margin: 0;
	text-align: center;
}

@media (max-width: 749px) {
	/* 1. 上部の写真の帯を隠す。移行元スマホ版は**この帯を持たない**（要素そのものが
	   無い）。dev は 345 × 46px の帯が題の絵の上に出ていた。

	   会社情報の 5 ページは `body` の目印（`.pa-company-page--…`）で隠しているが、
	   ニュース一覧はその 5 ページに入っていない（`inc/company-sp-parts.php` の
	   `pa_company_sp_pages()` は移行元スマホ版が来店予約の帯を持つ 5 ページだけを
	   並べており、ニュース一覧は対象外と明記されている）。器のクラスで絞る. */
	.page-content--news .pa-company-band {
		display: none;
	}

	/* 2. 金の帯 2 本を横に並べる。移行元スマホ版はタブが横に 2 つ並ぶ
	   （幅 231 ＋ 144 ＝ 画面いっぱいの 375px）。dev は縦に積まれ、幅も左端も
	   そろっていなかった。

	   共通の `.list_archives` は携帯幅で `gap: 16px` の折り返す組みになっている
	   （302px の帯が 1 列しか入らないため）。ニュース一覧の 2 本だけは折り返さず
	   横に並べる。**行き先は錨リンクのまま**にする（裁定 246）。

	   🚨 **幅を等分してはいけない。**この 2 本は `<picture>` で組んであり、**携帯幅では
	   パソコン幅と別の絵が配られる**（幅 1440px は 302 × 83px の 2 枚だが、幅 375px では
	   縦横比の違う 2 枚になり、素の描画は 232 × 43 と 145 × 43 になる）。幅をそろえると
	   絵が幅なりに縮むので**高さが 51px と 65px にばらける**（1 度そう書いて、切り抜きで
	   段違いになっているのを見つけた）。

	   **縮む余地を与えて器に収める。**2 枚は素の高さが同じなので、幅を縮める割合が
	   同じであれば高さもそろったままになる。flex の縮みは元の幅の比で配られるため、
	   `flex: 0 1 auto`（縮んでよい）にしておけば、232 : 145 の比を保ったまま器の
	   345px に収まり、高さは 2 本とも同じになる。**数値を書き込まないので、絵が
	   差し替わっても追いつく。**

	   素の高さを決め打ちしない理由: 高さを 43px に固定すると合計が 377px になり、
	   器の 345px を 32px 超えて**ページが横に 1px はみ出した**（実測 376px）。
	   移行元スマホ版のタブは画面の端から端まで（231 ＋ 144 ＝ 375px）だが、dev の
	   本文の柱は左右に 15px の余白を持つ。柱の外へ押し出す手は、画面の幅の単位（vw）が
	   縦スクロールバーを含むため使えない（このファイルの他の節と同じ理由）. */
	.page-content--news :is(.entry-content, .page-content__body) #news .list_archives {
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		gap: 0;
	}

	.page-content--news :is(.entry-content, .page-content__body) #news .list_archives li {
		flex: 0 1 auto;
		min-width: 0;
		max-width: none;
	}

	.page-content--news :is(.entry-content, .page-content__body) #news .list_archives li img {
		width: 100%;
		height: auto;
	}

	/* 3. 年の選び方を 1 行の横送りにする。移行元スマホ版は札を横に送る
	   （各札 103 × 32px・間隔 4px）。dev は 16 年ぶんを「/」区切りで並べて
	   **2 行以上に折り返して**いた（345 × 80px）。

	   移行元は Swiper を使うが、**入れない**。横送りは CSS だけで作れる。

	   🚨 **flex では止められない。**共通側の `.text_menu.text_menu` は
	   `display: block`（46844 行）で、項目が `display: inline-block` で流れている。
	   block の器に `flex-wrap` を書いても何も起きない（1 度そう書いて、幅 375px で
	   高さが 80px のまま変わらないのを実測して気づいた）。**文字の折り返しを
	   止める指定**（`white-space: nowrap`）で 1 行に保つ。

	   横送りにすると中身が左から始まるので、中央寄せ（共通側の `text-align: center`）
	   を左寄せへ戻す。戻さないと、送りきる前の位置が中途半端になる。

	   区切りの「/」は残す。移行元のパソコン版が本物の文字として持っており、
	   パソコン幅の見た目を変えないためである.

	   【強さ】この当たり先は id 1 つ ＋ class 3 つで (1,3,0)。共通側の
	   `.text_menu.text_menu`（(0,3,0)）にも、`#news .text_menu li`（(1,2,0)）にも勝つ. */
	.page-content--news :is(.entry-content, .page-content__body) #news .text_menu {
		overflow-x: auto;
		white-space: nowrap;
		text-align: left;
		/* 送り幅の帯が出る環境と出ない環境で高さが変わらないようにする */
		scrollbar-width: none;
	}

	.page-content--news :is(.entry-content, .page-content__body) #news .text_menu::-webkit-scrollbar {
		display: none;
	}

	/* 3-2. 年の札を移行元スマホ版の意匠にする（Bug #6492・ユーザー決定 D273）。

	   3 で横送りにしたが、**札の見た目は移行元パソコン版のままだった**。移行元スマホ版は
	   年を**黒地・白字・枠 1px の黒の四角**で並べ、**選ばれている年だけを白地・黒字**にする
	   （`sp/css/news.css` の `.swiper-slide` と `.swiper-slide.active_year`）。dev は
	   選ばれている年が赤・ほかの年が薄い灰色の文字で、区切りの「/」も出ていた。

	   移行元は Swiper で送るが、**入れない**（3 と同じ判断）。意匠は CSS だけで作れる。

	   🚨 **選ばれている年の選び方。**テーマは選ばれている年だけ `<a>` を持たない `<li>` を
	   出す（`inc/news-list-year.php`）。class は付かない。そこで **`li` そのものを白地・黒字に
	   しておき、`a` が黒地・白字で `li` を塗りつぶす**。`a` の `margin: -5px 0` が `li` の
	   内余白のぶんまで覆うので、`a` を持たない `li`（＝選ばれている年）だけが白いまま残る。

	   **`li:not(:has(> a))` は採らない。**`:has()` を解さない閲覧環境ではこの規則ごと
	   読み飛ばされ、**選ばれている年がほかの年と同じ黒い札になる**。それは「直る前と同じ姿」
	   ではなく新しい誤りである（このファイルの他の `:has()` は、読み飛ばされても直る前と
	   同じ姿に戻るという理由で使っている）。

	   **PHP に class を足す手も採らない。**`tests-retired/pa-cms-news-list-year/` が
	   `#<li>(.*?)</li>#` で項目を取り出しており、class を足すと選ばれている年だけ拾えなくなる。
	   パソコン幅にも関わる共通の組み立てを、意匠のためだけに触らない.

	   【強さ】`#news` 1 つ ＋ class 3 つで (1,3,0)。共通側の `.text_menu.text_menu`（(0,3,0)）と
	   `#news .text_menu li`（(1,2,0)）に勝つ。3 の規則と同じ (1,3,0) だが、**後ろに置くので
	   後勝ちする**. */
	/* 札 1 枚。移行元は器の 27%・上下の内余白 5px・枠 1px の黒。
	   枠を 27% の中に収めるため `border-box` で数える. */
	.page-content--news :is(.entry-content, .page-content__body) #news > .text_menu > li {
		flex: 0 0 27%;
		box-sizing: border-box;
		border: 1px solid #000;
		background-color: #fff;
		color: #000;
		padding: 5px 0;
		text-align: center;
	}

	/* 選ばれていない年。`a` が札を塗りつぶす（上の注釈のとおり）. */
	.page-content--news :is(.entry-content, .page-content__body) #news > .text_menu > li > a {
		display: block;
		margin: -5px 0;
		padding: 5px 0;
		background-color: #000;
		color: #fff;
		text-decoration: none;
	}

	/* 🚨 指を乗せたときに色を変えない。**移行元スマホ版に hover の指定は無い**ので、
	   共通側の赤が出ると移行元に無い差になる. */
	.page-content--news :is(.entry-content, .page-content__body) #news > .text_menu > li > a:hover {
		color: #fff;
	}

	/* 区切りの「/」は携帯幅では出さない。移行元スマホ版は札で区切るので持たない。
	   **パソコン幅では隠さない**（移行元のパソコン版が本物の文字として持っている）. */
	.page-content--news :is(.entry-content, .page-content__body) #news > .text_menu > li > span {
		display: none;
	}

	/* 4. あふれる項目を隠し、「もっと読み込む」を出す。

	   目印 `is-news-collapsible` は JS が足す。付いていなければ何も隠さない
	   （JS が動かない環境では全件が見えたままになる）。
	   `is-news-open` は押されたときに JS が足す。付いた時点でこの 2 つの規則は
	   当たらなくなり、項目はテーマ本来の組み（flex）へそのまま戻る。
	   **`display: block` で出し直さない**のは、`dl` がテーマでは flex であり、
	   block で出すと日付と題名の並びが崩れるためである. */
	.page-content--news #news.is-news-collapsible:not(.is-news-open) .pa-news-item--rest {
		display: none;
	}

	.page-content--news #news.is-news-collapsible:not(.is-news-open) .pa-news-more {
		display: block;
	}

	/* 押しボタンの意匠。移行元スマホ版は絵（`btn_more.gif` 328 × 55px）で
	   「もっと読み込む」と下向きの山を描き、上下に細い罫線を敷いている。

	   **絵は持ち込まず、地の意匠を CSS・文言をテキストで再現する**（全体原則
	   「画像に焼き込まれた文言は背景を画像 / CSS ＋ 文言はテキストで再現」）。
	   読み上げにも文言が届き、字の大きさの設定にも追従する.

	   素の `<button>` のままだと、閲覧ソフトの既定の灰色の箱が本文の中で浮く
	   （実機の切り抜きで確認した）。地色と枠を消して、罫線と文字だけにする. */
	.page-content--news .pa-news-more__button {
		display: block;
		box-sizing: border-box;
		margin: 0;
		border: 0;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		background: transparent;
		padding: 16px 0;
		width: 100%;
		color: inherit;
		font-family: inherit;
		font-size: 14px;
		line-height: 1.4;
		letter-spacing: normal;
		text-align: center;
		cursor: pointer;
	}

	/* 下向きの山。移行元の絵も文言の右に置いている.
	   飾りなので読み上げには渡さない（擬似要素は読み上げの対象外）. */
	.page-content--news .pa-news-more__button::after {
		content: "";
		display: inline-block;
		transform: translateY(-2px) rotate(45deg);
		margin-left: 12px;
		border-right: 1px solid currentcolor;
		border-bottom: 1px solid currentcolor;
		width: 7px;
		height: 7px;
	}

	/* 5. 移行元スマホ版の説明文（Task #5118）。
	   タブの下・一覧の上に出る。要素は `inc/news-sp-lead.php` が常に足し、
	   ここで携帯幅だけ見せる（パソコン幅では下の 750px 以上の節で隠す）。

	   値は移行元スマホ版が読む `public/sp/css/style.css` の 3054 行から写した.

	       #news .main_copy {
	         padding: 20px 6.25%;
	         font-size: 14px;
	         line-height: 135%;
	         border-bottom: 1px solid #CCCCCC;
	       }

	   🚨 **内余白の百分率は親の幅が基準である。**移行元スマホ版の親は画面いっぱいの
	   `#news` なので 375 × 6.25% = 23.4375px になる。dev も親が画面いっぱいなら同じ値に
	   なるが、入れ子の深さが違うと読み替えが要る（Bug #4317 で踏んだ型）.
	   反映後に実測して確かめる. */
	.page-content--news .pa-news-sp-lead {
		display: block;
		padding: 20px 6.25%;
		margin: 0;
		font-size: 14px;
		line-height: 135%;
		border-bottom: 1px solid #ccc;
	}

	/* 5b. 日付と本文の字を移行元スマホ版の値へ戻す（Task #6429）。

	   **dev は移行元パソコン版の値を持っている。**投入した本文の組みに合わせて
	   `inc/news-list-sections.php` が移行元 `css/_page_company.css`（**パソコン版**）から
	   写したためで、スマホ版の値はどこにも入っていない。

	     移行元パソコン版  #news dt { float:left; width:100px }        ← 色も大きさも無い
	                       #news dl { font-size:16px; line-height:160% }
	     移行元スマホ版    #news dt { color:#e1200f; font-size:11px }
	                       #news dd { font-size:14px; line-height:150% }

	   幅 375px の実測（2026-09-15 18:41:48 と 18:44:58・両側）:

	     日付    移行元 11px / rgb(225, 32, 15)   dev 14px / rgb(0, 0, 0)
	     本文    移行元 行送り 21px               dev 行送り 22.4px

	   21px は 150% × 14px、22.4px は 160% × 14px で、**どちらも CSS の字と実測が合う**。

	   🚨 **字の大きさは `dd` へ書かない。**携帯幅の `#news dl { font-size: 14px }` が
	   既に在り、`dd` は継いでいる（実測でも両側 14px で一致）。ここで重ねると、
	   あとで `dl` の値を変えたときに `dd` だけ取り残される.

	   🚨 **当たり先は広がらない。**`#news` が出るのは投入の材料 6,234 行のうち
	   `public/company/news/index.html` の 1 件だけである（2026-09-15 に数えた。
	   同じ材料で `id="` を持つ行は 5,274 件なので、0 件ではなく 1 件だと言える）。
	   テーマの PHP は `id="news"` を出力しない。それでも、この節のほかの規則と
	   同じく `.page-content--news` で絞ってそろえる. */
	.page-content--news :is(.entry-content, .page-content__body) #news dt {
		color: #e1200f;
		font-size: 11px;
	}

	.page-content--news :is(.entry-content, .page-content__body) #news dd {
		line-height: 150%;
	}

	/* 6. 年の切り替えを一覧の下へ移す（Task #5119）。

	   移行元スマホ版の並びは「題 → タブ → 説明文 → 一覧 → 年の切り替え」で、年の
	   切り替えが**一覧の下**に来る。dev は移行元パソコン版と同じ「題のすぐ下」に
	   置いている（本文の目印 `<!--pa-news-year-nav-->` がそこに在るため）。

	   **本文は書き換えず、並べ替えは CSS で行う**（Issue の案 A）。本文の目印を動かすと
	   投入し直しで元へ戻るためである。`order` は親が flex か grid でないと効かないので、
	   `#news` を縦並びの flex にする。**携帯幅の中だけで閉じる**ので、パソコン幅の並びは
	   1px も動かない。

	   🚨 **flex の子になると `float` が効かなくなる**（Flexbox の仕様）。この区画で
	   浮かせているのは「TOP へ戻る」（`p.page_top` の `float: right`）だけなので、
	   同じ右端の位置を `align-self: flex-end` で作り直す。書かないと押しボタンが左端へ
	   落ちる。

	   🚨 **`clear: both` も一緒に効かなくなる**（`#news dl` と `#news .ttl_news` と
	   `#news.clearfix::after` が持つ）。浮く要素が 1 つも無くなるので清算する相手も
	   無く、縦に積む順番は flex が決める。

	   `flex-direction: column` を明記するのは、既定の `row` のままだと区画の中身が
	   横 1 列に並んでしまうためである. */
	.page-content--news :is(.entry-content, .page-content__body) #news {
		display: flex;
		flex-direction: column;

		/* 区画の上下の内余白（Task #6429）。移行元スマホ版は
		   `#news { padding: 27px 0 25px }`、移行元パソコン版は `65px 0 30px` で、
		   dev はパソコン版のほうを持っていた（幅 375px の実測: 移行元
		   `27px 0px 25px 0px` 対 dev `65px 0px 30px 0px`）。

		   🚨 **左右は 0 のまま触らない。**この区画は画面いっぱいの帯ではないが、
		   一括指定で左右へ値を入れると、内側の部品が既に持っている 6.25% と
		   二重に掛かる（Bug #6132 と同じ型）。**同じ要素の規則を別の節に増やさない**
		   ため、この 1 本へまとめる. */
		padding: 27px 0 25px;
	}

	/* 年の切り替えだけを最後尾へ回す。ほかの子は `order` の既定値（0）のままなので、
	   0 より大きい値を 1 つ与えれば末尾に落ちる。

	   直下の子だけを選ぶ（`>`）のは、`.text_menu` が会社情報のほかのページにも出る
	   共通の部品で、入れ子の中に現れた同名の部品まで動かさないためである. */
	/*
	 * 🚨 **同じ適用先の規則を 2 つに分けない。**Bug #6492 の意匠（下の 3 宣言）を
	 * 別の規則として足したところ、`tests-retired/pa-cms-news-year-nav-order/` が
	 * **最初に当たった規則だけを読む**ため `order` を読み落として落ちた
	 * （2026-09-16 の全テストで判明）。**1 つの規則にまとめる。**
	 *
	 * 下の 3 宣言は Bug #6492（ユーザー決定 D273）。移行元スマートフォン版は年を
	 * 横に並べた札で見せるので、帯を flex にして隙間を 4px 取る。共通側が項目の
	 * 隙間を詰めるために ul へ当てている `letter-spacing: -.40em` は、flex では
	 * 効き目が変わるので素へ戻す（隙間は `gap` が持つ）.
	 */
	.page-content--news :is(.entry-content, .page-content__body) #news > .text_menu {
		order: 1;
		display: flex;
		gap: 4px;
		letter-spacing: normal;
	}

	/* 8. 「TOP へ戻る」を区画のいちばん後ろへ回す（Bug #5191）。

	   移行元スマホ版はこの導線をタブの器（`#tab-01` / `#tab-02`）の**外・区画の
	   末尾**に置く。そのためどちらのタブを選んでも見える。dev は本文の並びの都合で
	   一覧と見出しの間にあり、**タブで差し替えると片方のタブで消えていた**。

	   並びは年の切り替え（`order: 1`）より後ろなので `2` を与える。移行元の末尾の
	   並びは「年の切り替え → TOP へ戻る」である（写しの `sp/company/news/index.html`
	   で確認）。

	   🚨 **隠れなくする手当ては CSS では足りない。**タブの組の目印を付ける処理
	   （`assets/js/news-sp-tabs.js`）が、この導線を**どちらの組にも入れない**ように
	   している。CSS だけ直しても、ニュース側の組に入ったままでは一緒に隠れる。

	   🚨 **右端へ寄せる指定は足さない。**移行元のスマートフォン版はこの導線を
	   `margin: 0 auto` で**中央**に置く（`sp/css/style.css` の
	   `.page_top { margin: 0 auto 30px; width: 11.875% }`）。パソコン版の
	   `float: right` とは別である。実測でも中央に出ている（幅 375px・器 345px で
	   左 165.3・幅 44.5px）. */
	.page-content--news :is(.entry-content, .page-content__body) #news > .page_top {
		order: 2;
	}

	/* 🚨 **左右の外余白が `auto` の子は、flex にすると幅が中身なりに縮む。**
	   `align-items: stretch` は「左右の外余白がどちらも `auto` でない」ときだけ
	   働くためである（Flexbox の仕様）。器いっぱいに伸びていた 2 つが縮む。

	   **実測（幅 375px・器 345px）**: 何も足さないと、タブの帯（`.list_archives`）が
	   **345 → 2px** に潰れ（中の絵が `width: 100%` なので中身の幅が 0 に近くなる）、
	   年の切り替え（`.text_menu`）は逆に **345 → 1,164px** へ広がって画面から
	   はみ出す（`white-space: nowrap` の中身の幅そのものになる）。

	   **左右の外余白を 0 に固定して伸びる形へ戻す。**もとの `auto` は器いっぱいの
	   block では 0 に解決されていたので、**使われる値は今までと同じ**である。
	   上下の外余白（`.text_menu` の下 20px ほか）はそのまま残す. */
	.page-content--news :is(.entry-content, .page-content__body) #news > .text_menu,
	.page-content--news :is(.entry-content, .page-content__body) #news > .list_archives {
		margin-left: 0;
		margin-right: 0;
	}

	/* タブの帯だけは、器の左右余白（`--pa-inner-gutter`）を打ち消して画面いっぱいに広げる
	   （Bug #10021）。移行元スマホ版は帯を画面の幅いっぱいに置き、2 枚を
	   `#news .tab_menu li.tab01 { width: 61.562% }`・`li.tab02 { width: 38.437% }` で分ける
	   （`sp/css/style.css`・幅 375 で 230.9 × 42.8 と 144.1 × 42.8）。

	   dev は 2 枚を `flex: 0 1 auto` で並べ、携帯版の絵の元の幅（394 と 246）で縮めるので、
	   比は移行元と同じ 61.56% : 38.44% になる。足りないのは帯の幅だけで、器 345px のままだと
	   212 × 39 前後にしかならない。左右へ器の余白ぶん出して 375px にする.

	   🚨 **上の規則（左右 0）へ混ぜない。**あちらは年の切り替え（`.text_menu`）と共用で、
	   年の札まで画面いっぱいに広がる. */
	.page-content--news :is(.entry-content, .page-content__body) #news > .list_archives {
		margin-left: calc(-1 * var(--pa-inner-gutter));
		margin-right: calc(-1 * var(--pa-inner-gutter));
	}

	/* 7. ニュースリリースとメディア掲載をタブで差し替える（Task #5120）。

	   移行元スマホ版は 2 つの器（`#tab-01` / `#tab-02`）を出し入れする。dev は
	   **器で包まない**。一覧を差し込む処理が本文の見出しの絵のファイル名を目印に
	   位置を決めており、器で包むと目印の位置が変わるためである
	   （`inc/news-list-sections.php` の説明を参照）。

	   代わりに、**携帯幅のときだけ JS が各要素へ組の目印を付ける**
	   （`assets/js/news-sp-tabs.js`）。隠す仕事はここが持つ。

	   🚨 **目印 `is-news-tabs` が付いていなければ何も隠さない。**JS が動かない
	   環境では両方の一覧が見えたままになる（「もっと読み込む」と同じ流儀）. */
	.page-content--news #news.is-news-tabs:not(.is-news-tab-media) .pa-news-panel--media,
	.page-content--news #news.is-news-tabs.is-news-tab-media .pa-news-panel--news {
		display: none;
	}

	/* 選ばれているタブは、移行元と同じく**絵そのものを差し替えて**示す
	   （`tab01.gif` → `tab01_o.gif`）。差し替えは JS が携帯幅のときだけ行う。

	   🚨 **濃さを変える指定は置かない。**移行元のスマホ版に「選ばれていない側を
	   薄くする」指定は無い（配られる `css/style.css` の透過指定は `a:hover img`
	   の 0.8 だけで、これは指を乗せたときの効果である。実測 2026-09-09）。
	   薄くすると、**移行元では濃いままのタブが dev だけ薄くなる**という新しい差に
	   なる。状態そのものは `aria-selected` が読み上げへ渡す。

	   🚨 **タブの見た目に触る規則をここへ足さない。**選ばれている絵と選ばれて
	   いない絵は寸法が同じ（394 × 73 と 246 × 73）なので、差し替えても箱は
	   1px も動かない。 */

	/* 9. パソコン版だけの飾りの絵を隠す（Bug #8394・#6936 の後の残差）。

	   `h2.main_ttl`（会社情報の帯・`main_ttl.jpg`）・`h4.ttl_news`（ニュースリリース／
	   メディア掲載の見出し・`ttl_news.gif` / `ttl_media.gif`）は、
	   `inc/news-list-images.php` が本文の目印（`<!--pa-news-image:…-->`）へ差し込む
	   テーマの資材で、移行元パソコン版の姿をそのまま写したものである。

	   移行元スマホ版（`sp/company/news/index.html`）はこの 2 枚を持たない。会社情報の
	   帯は出さず、ニュースリリース／メディア掲載の見出しはタブの絵（`tab01.gif` /
	   `tab02.gif`）が兼ねる。タブの絵は上の「7.」の `.list_archives` で既に再現できて
	   いるため、この 2 枚は隠すだけでよい。

	   🚨 **`h2.main_ttl` は他の会社情報ページと違い、テーマの帯
	   （`.pa-company-band`）へ取り出されない。**`inc/company-category-nav.php` の
	   取り出しは投稿の生の本文（`post_content`）を正規表現で見るが、この一覧の
	   本文は `<h2 class="main_ttl">` を直接持たず、`the_content` フィルタで
	   後から絵に差し替わる HTML コメントの目印のままである。そのため取り出しの
	   正規表現が当たらず、`h2.main_ttl` は `.page-content__body` の直下に残ったまま
	   出てしまう（実測・2026-09-25。上の「1.」が隠す `.pa-company-band` とは別の
	   要素）。

	   `h4.ttl_news` は `#news` の中にあり、パソコン幅では移行元と一致する
	   （Task #2151・#4045 の実測）。**携帯幅だけで隠す**ので、パソコン幅の見た目は
	   1px も変わらない。

	   🚨 **`h3.title`（NEWS & TOPICS）はここに含めない。**移行元スマホ版は
	   `h2.category_ttl` の中で同じ役割の絵（`main_ttl.gif`）を出しており、見出しその
	   ものは 1 枚も持たない。**隠すのではなく、絵を移行元スマホ版のものへ差し替える**
	   （下の「10.」と `inc/sp-image-swap.php` を参照）。

	   🚨 **「もっと読み込む」の絵（`btn_more.gif`）は対象外。**移行元スマホ版の
	   `sp/js/news.js` は件数に関わらず必ず押しボタンを足すが、dev はあふれる
	   ときだけ出す形に変える裁定が済んでいる（`inc/news-list-sections.php` の
	   `pa_news_list_section_html()` を参照。裁定 246・ユーザー判断
	   2026-09-06）。この Task では扱わない. */
	.page-content--news :is(.entry-content, .page-content__body) h2.main_ttl {
		display: none;
	}

	/* 🚨 **`h4.ttl_news` は `display: none` にしない**（PR #8428 の Greptile の P2）。
	   「ニュースリリース」の見出しは `id="anchor01"` を持ち（`inc/news-list-images.php`）、
	   タブの「ニュースリリース」は `href="#anchor01"` のリンクである。見出しを
	   `display: none` にすると、JavaScript が動かない回にタブを押しても飛び先が無い。
	   箱を高さ 0 にして絵だけを見えなくし、飛び先は残す（見た目は隠したのと同じ）. */
	.page-content--news :is(.entry-content, .page-content__body) #news h4.ttl_news {
		height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		overflow: hidden;
	}

	/* 10. NEWS & TOPICS の題を、移行元スマホ版の絵と器の幅へそろえる（Bug #8394）。

	   絵そのものの差し替え（`title.gif` → `main_ttl.gif`）は
	   `inc/sp-image-swap.php` の `pa_sp_image_swap_pairs()` に 1 行足して行う
	   （既存の「携帯幅だけ SP 版の絵に差し替える」仕組みにそのまま乗せる。新しい
	   仕組みは作らない）。ここでは器の幅と寄せだけを直す。

	   移行元スマホ版 `sp/css/style.css` の 3033〜3036 行:

	     #news .category_ttl { margin: 0 auto 20px; width: 64.062%; }

	   `#news` は左右の内余白を持たず画面いっぱいなので、この 64.062% は
	   **画面幅そのものを基準にした値**である（Task #3463 の「区画の題」と同じ構図）。

	   🚨 **`%` でなく `vw` で書く。**dev の `#news` は `.page-content__body`
	   （画面いっぱいから左右 15px を引いた 345px・幅 375px の実測）の中にあり、
	   `%` は直近の親（`h3.title` の場合は `#news` 自身）を基準に計算される。
	   `#news` の実際の内容幅を基準にすると、移行元が前提にした「画面幅」とは
	   別の数になる。`vw` は常にビューポート基準なので、**移行元の百分率の数字を
	   そのまま単位だけ変えて使える**（Task #3463 の先例と同じ考え方）。

	   絵は横幅 410 × 82（`main_ttl.gif`）で、テーマの `img { max-width: 100%;
	   height: auto }` により器の幅まで縮む。器を縮めるだけで高さは絵の縦横比から
	   決まるので、高さの指定は要らない. */
	.page-content--news :is(.entry-content, .page-content__body) #news > h3.title {
		margin: 0 auto 20px;
		width: 64.062vw;
	}

	/* 絵は器いっぱいに広げる。移行元スマホ版は `sp/css/common.css` の
	   `img { width: 100%; height: auto; display: block }` で、器が絵より広い画面
	   （幅 640px 超）でも絵を器の幅まで広げる。テーマの `max-width: 100%` だけだと
	   縮むだけで広がらない（セルフレビューの指摘・2026-09-25）. */
	.page-content--news :is(.entry-content, .page-content__body) #news > h3.title img {
		display: block;
		width: 100%;
		height: auto;
	}
}

/* 説明文はパソコン幅では出さない（Task #5118）。
   移行元のパソコン版はこの文を持たず、帯の絵（ttl_news.gif）の中に焼き込んでいる。
   要素は常に本文へ入るので、ここで隠す。**パソコン幅の見た目は 1px も変わらない。** */
@media screen and (min-width: 750px) {
	.page-content--news .pa-news-sp-lead {
		display: none;
	}
}

/* ==============================================================
 * 移行元の共通 CSS の残り（Issue #2363）
 *
 * 写し元: 移行元サイト共通 CSS public/css/style.css（作業ツリー
 * wp-platform-wt/h-mainread のサブモジュール legacy/www.p-a.jp・版 19f499fe
 * で確認）。「先頭へ戻る」（Issue #2322）で先に写した分の残りをここでまとめて
 * 写す。対象は次の 2 つ。
 *
 *   1. 幅の見落とし（.main_ttl02 / .category_menu02）
 *   2. dev の本文にあり、テーマがどの名前も知らない小粒なクラス
 *      （more / num2 / list_box_new / txtBtn_gray01 / list_approach / gothic）
 *
 * 【この節に含めていないもの】
 * - `#side_menu` の共通側への書き写し。Issue のコメントに「実装前に決めることが
 *   4 つ」（媒体クエリの内外・`.voice_list` との二重定義・開閉 JS・Issue #2351
 *   との関係）が明記されており、判断を伴うのでこの節では扱わない。
 *
 * 【解消したもの】
 * - `.num` / `.archive` と `.list_approach` の行頭アイコンは、**Task #2435 で
 *   画像を持ち込んで実装した**（この節の後ろにある）。見送っていた理由（画像が
 *   無いまま色だけ写すと白文字が沈む）は解消している。
 * ============================================================== */

/* --- 1. 幅の見落とし --- */

/* 会社情報の帯の下に来る、文字で組む新しい方の題名（固定ページ 8 件）。移行元
   public/css/style.css の 1317 行。古い方の `.main_ttl` は既に
   `.pa-company-band .main_ttl` としてテンプレート側へ写してある（Bug #1817）。
   `.main_ttl02` は本文にそのまま残るクラスで、こちらは未着手だった. */
:is(.entry-content, .page-content__body) .main_ttl02 {
	padding: 30px 0;
	height: auto;
	line-height: 1;
}

/* 文字で組む新しい方のカテゴリタブ（固定ページ 6 件）。移行元 public/css/style.css の
   1344〜1367 行。飛び先の書き換えは既に `inc/legacy-category-menu.php` が
   `ul.category_menu02` を対象に行っているが（Bug #1882）、見た目は未着手だった。

   `top: -55px` は移行元のままにする。`.main_ttl`（高さ 170px の帯）の下端へ
   タブを重ねる値で、同じ 1268px の柱を前提にしている.

   【境目 1285px の決め方】写し元が必要とする幅は 1,268px。そこへ縦スクロール
   バーの幅ぶん 17px を足す（#2380 の裁定）。**1,280px は「必要幅 + 12px」で
   足りない。**バーが幅を食う環境（Windows / Linux の既定）では、幅 1,285px の
   とき配置に使える幅が 1,268px ちょうどになり、タブが過不足なく収まる。
   このファイルの入会案内の節（`.pa-page--guide` の題名とタブ）も、同じ理由で
   同じ 1,285px を使っている（Issue #2604）. */
@media (min-width: 1285px) {
	:is(.entry-content, .page-content__body) .category_menu02 {
		position: relative;
		top: -55px;
		box-sizing: border-box;
		/* 柱（1,100px）より 168px 広い箱を置けるよう、差の半分を左右の負の外余白で
		   押し出す。`margin: 0 auto` では中央に寄らない。器より広い箱に `auto` を
		   与えると、箱は器の左端に置かれて右へあふれるだけである（実測: 幅 1,296px で
		   右端 1,366px・70px あふれる）。押し出す量は計算式で書き、柱の幅を数値で
		   書き写さない。負の外余白の 100% は「柱の内側の幅」を指すので、柱の幅を
		   決める指定が変わっても自動で追いつく。
		   この書き方は、このファイルの入会案内の節（`.pa-page--guide` の題名とタブ）が
		   同じ問題に対して既に使っている型である（Issue #2604）. */
		margin: 0 calc((100% - 1268px) / 2);
		padding: 0 0 0 300px;
		width: 1268px;
		height: auto;
		font-size: 15px;
	}

	:is(.entry-content, .page-content__body) .category_menu02 li {
		float: left;
		border-left: 1px solid #000;
		line-height: 1;
	}

	:is(.entry-content, .page-content__body) .category_menu02 li:last-child {
		border-right: 1px solid #000;
	}

	:is(.entry-content, .page-content__body) .category_menu02 li a {
		padding: 0 20px;
		text-decoration: none;
	}
}

/* --- 2. 小粒なクラス --- */

/* 関連する調査の並び（.list_box）の新しい版（成婚ストーリー一覧の札・6 投稿）。
   写し元は public/css/style.css の 1478〜1583 行。既存の `.list_box` は独自の
   伸び縮みへ組み替え済みだが（Bug #1839）、`.list_box_new` はテーマにどの規則も
   無かったため、移行元のカードの組み方（固定 352px・3 枚並び）をそのまま写す。

   `.list_detail` の中の `text-decoration: none` は、移行元は `.list_detail` に
   置いていたが実際に効くのは `<a>` 自身なので、ここでは `<a>` に付け直す
   （本文の a は既定で下線が付くため・Issue #2355 の節にある本文 a の下線と同じ
   打ち消し方）. */
:is(.entry-content, .page-content__body) .list_box_new {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/* テーマは本文の箇条書きへ下の外余白を敷くが、移行元の札の並びは持たない。
	   行送りも移行元は `normal` である（Bug #2994）. */
	margin-bottom: 0;
	line-height: normal;
}

:is(.entry-content, .page-content__body) .list_box_new::after {
	content: "";
	display: block;
	width: 32%;
}

:is(.entry-content, .page-content__body) .list_box_new li {
	width: 352px;
	margin: 0 0 22px;
	background: #f9f9f9;
	/* 🚨 **`li` にも名指しで書く（Bug #2994）。**テーマは `.entry-content li` へ
	   行送りを**直に**当てているので、上の `<ul>` に `normal` を置いても届かない. */
	line-height: normal;
}

@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .list_box_new li {
		width: auto;
	}
}

:is(.entry-content, .page-content__body) .list_box_new li a {
	display: block;
	text-decoration: none;
}

:is(.entry-content, .page-content__body) .list_box_new li a:hover {
	background: #fbfbfb;
}

:is(.entry-content, .page-content__body) .list_box_new li a .list_detail {
	padding: 20px;
	/* `li` から受け継ぐが、あとで別の指定が入っても崩れないよう明示する（Bug #2994）. */
	line-height: normal;
}

/* Task #3604: 札の中の字の大きさを移行元にそろえる（移行元 13px 対 dev 16px）。

   ⚠ **この差は「文字を持つ要素」には出ない。**題名 22px・説明文 12px・話数 16px・
   分類の札 11px と、中身はどれも自分で大きさを決めているためである。**出るのは
   分類の札（`.tag_label`）が並ぶ行の高さ**である。あの札は行の中に流れる要素なので、
   行の高さは**器（`.list_detail`）の字の大きさ**で決まる。13px なら 20px、16px なら
   24px になり、札 1 枚が 4px 高くなっていた。

   移行元の 13px は `.list_detail` に書いてあるのではなく、ページ全体から受け継いだ
   値である。写しは本文の器（`.entry-content`）が 16px なので、受け継ぐ値が変わる。
   ここで移行元と同じ 13px へ戻す。

   携帯幅は札の作りが別（もとは `inc/story-list-sp-extra.php` が足す札。Task #7299 で外した）
   なので触らない. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) .list_box_new li a .list_detail {
		font-size: 13px;
	}
}

:is(.entry-content, .page-content__body) .list_box_new li a .list_detail span {
	display: block;
}

/* 成婚ストーリー一覧の 6 ページ（「すべての記事」と分類別 5）の札の題名と説明文
   （Bug #2994）。写し元は public/css/style.css の 1538〜1557 行。

   移行元を幅 1440px で測った実測（写しの静的 HTML と、同じ組みへこのテーマの CSS を
   読ませた dev を、同じ関数で測った値。道具 = _c1-top-gap-tools/w3-story-list-new-both.mjs）:

     題名（span.ttl）  22px / 太字 700 / 行送り 145%（31.9px）/ 下の外余白 20px
     説明文（span.text）12px / 行送り 166%（19.92px）/ 下の外余白 20px
     どちらもマウスを乗せると #4C4C4C

   直す前の dev は 題名 18px・説明文 15px で、行送りも外余白も違っていた。

   🚨 **題名は `<h4>` に包まれている。**組みは次のとおりで、`.ttl` は見出しの中にある。

       <div class="list_detail">
         <span class="num serif">Vol.104</span>
         <h4><span class="ttl heightLine-gp01">題名</span></h4>
         <span class="text heightLine-gp02">説明文</span>
         <span class="tag_label">分類</span>

   🚨🚨 **dev の配信 DOM は、上の移行元の組みと 2 か所で形が違う**（2026-09-03 に
   /introduce/story/introduce-story-all/ の実 HTML で確認。Codex のレビュー指摘が発端）。

       移行元: <a><p><img></p><div class="list_detail"> … <span class="text">説明文</span>
       dev   : <a><span><img></span><div class="list_detail"> … <p><span class="text">説明文</span> … </p>

   1. 写真の器: 投入（scripts/pa-cms/import-payload.php の
      pa_cms_import_flatten_nested_p_in_a()）が `<a>` 直下の `<p>` を `<span>` へ変えて
      保存する。**`a > p` と書くと dev では 1 件も当たらない**（実 HTML で `a > p` は 0 件・
      `a > span > img` は 122 件）。`a > :is(p, span)` で両方を名指しする。
   2. 説明文: wpautop が見出し `<h4>` の直後から `</div>` までを `<p>` で包む。テーマの
      本文既定（段落の下の外余白 25px・行送り 1.5）がこの `<p>` に当たり、**札 1 枚が
      移行元より 24.5px 高くなり、分類の札の行送りが 16.5px に変わる**（1440px の実測）。
      下の `.list_detail > p` で打ち消す。Bug #2706 が `.story_inner .list_box` に同じ
      受け皿を置いている（21383 行）。

   🚨 上の実測の道具（w3-story-list-new-both.mjs）は移行元の組みへテーマの CSS を
   通すので、この 2 つの違いを見られない。**dev の実 HTML で測る道具 =
   _c1-top-gap-tools/w3-3029-list-new-devmarkup.mjs**（直したあとは差 0 件）。

   テーマは本文の中の見出し（`.entry-content :is(h2, h3, h4, h5, h6)`）へ
   **上の外余白 50px・下の外余白 20px・字間 0.05em** を足す。移行元のこの見出しは
   どれも持たない（正本は memory の `reference_legacy_heading_bare_state`）。そのため
   **札 1 枚ごとに 70px の余白が入り、字間 0.9px が題名へ受け継がれて折り返しが変わる**。
   下の `.list_detail h4` で素へ戻す。

   置き場所は、婚活コラムのアイキャッチ（`:has(> img:only-child)`）を飾りから外す
   規則と同じ考え方である（19525 行）。あちらは「中身が画像 1 枚だけの見出し」、
   ここは「札の中の見出し」を名指しする.

   【置き場所】すぐ下の `.num2` / `.num` `.archive` `.more` と詳細度が同じなので、
   **必ずこの位置（`.num` などより前）に置く**。後ろに置くと `.num` などの
   `inline-block` を打ち消す（すぐ上の Bug #2706 の注記と同じ理由）. */
/* 🚨 **札の中はテーマの本文既定を素へ戻す。**テーマは本文へ「段落の下の外余白
   25px」と「行送り 1.5」を敷くが、移行元の札はどちらも持たない（行送りは `normal`）。
   dev の実 DOM でこの既定が当たるのは、説明文を包む `<p>`（wpautop が足す）である。
   残したままだと、**その `<p>` の下に 25px の余白が入って札が 24.5px 高くなり**、
   分類の札の行送りも変わる。題名（145%）と説明文（166%）は下で指定するので、
   この素戻しの影響を受けない.

   🚨 **受け継がせるだけでは足りない。**テーマは `p` と見出しへ行送りを**直に**当てて
   いるので、外側（`<ul>` や `<a>`）に `normal` を置いても勝てない。**写真の器
   （移行元 `<p>`・dev `<span>`）・説明文を包む `<p>`・題名の見出し（`<h4>`）には、
   それぞれ名指しで書く**（2026-09-03 に外側だけ直して 3 件が残ったので気づいた）. */
/* 🚨 **札の写真は行の基準線にそろえる（移行元と同じ）。**移行元は画像に縦揃えの指定を
   持たず既定の `baseline` で、**画像の下に行の下がり幅ぶんの 6px が残る**。テーマの
   本文の画像は PR #3036 で `middle` から `baseline` へそろえた（20295 行）ので、いまは
   値が変わらない。20295 行の注記のとおり、本文既定を `middle` へ戻すときにこの札だけ
   取り残されないよう、他の打ち消しと同じく名指しで残す。他の画像には触らない.

   🚨 選択子は `a > :is(p, span)` で書く。dev の器は投入で `<span>` になっている
   （上の注記の 1）。`a > p` だけだと dev では当たらない. */
:is(.entry-content, .page-content__body) .list_box_new li a > :is(p, span) img {
	vertical-align: baseline;
}

/* Task #3604: 札の写真の高さを移行元にそろえる。

   ⚠ **移行元は `<img>` の `height` の属性（218）をそのまま高さとして使っている。**
   移行元の CSS に本文の画像の高さを `auto` へ倒す規則が無いためである。テーマは
   `.entry-content img` へ `height: auto` を当てており、そうすると**属性の比ではなく
   絵の本当の縦横比**で高さが決まる。移行元の絵はもともと 352 : 218 でないものが
   多く（`img/thumb_*.jpg` は 704 x 436 と 630 x 396 の 2 通り）、後者は **221.25px**
   になって 3.25px 高くなる。分類別の 1 ページ（category01）では 32 枚のうち 31 枚が
   これに当たり、札 1 枚ずつが積み上がっていた。

   直し方は縦横比を属性と同じ 352 : 218 で言い直すこと。幅は属性の 352 で決まって
   いるので、高さは 218 に落ち着く。**`height: 218px` と直に書かない**のは、幅が
   変わる場面で比が崩れないようにするためである。

   携帯幅（749px 以下）は札の幅が変わり、移行元も別の作り（`/sp/`）なので、ここでは
   触らない。**パソコン幅だけに限る**。

   移行元は 6 ページとも `width="352" height="218"` で、例外は 1 枚も無い
   （all.html の 104 枚と category01〜05 の 187 枚を数えた）. */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) .list_box_new li a > :is(p, span) img {
		aspect-ratio: 352 / 218;
		height: auto;
	}
}

/* 写真の器。移行元は `<p>`（塊）、dev は投入で `<span>`（行の中に流れる要素）になって
   いる。Bug #2756 が入口の札（`.story_inner .list_box li a .img-cover`・21393 行）で
   したのと同じく、塊へ戻して移行元と同じ組みにそろえる。段落の外余白と行送りの
   素戻しは移行元の `<p>` 側のためのもの（dev の `<span>` には段落の既定が当たらない）. */
:is(.entry-content, .page-content__body) .list_box_new li a > :is(p, span) {
	display: block;
	margin: 0;
	line-height: normal;
}

/* 説明文を包む `<p>`（dev だけにある。上の注記の 2）。テーマの本文既定の下の外余白
   25px と行送り 1.5 を打ち消す。打ち消さないと札 1 枚が移行元より 24.5px 高くなり、
   中の分類の札（`.tag_label`）の行送りが `normal` でなく 16.5px になる。
   Bug #2706 の `.story_inner .list_box li a .list_detail > p`（21383 行）と同じ受け皿. */
:is(.entry-content, .page-content__body) .list_box_new li a .list_detail > p {
	margin: 0;
	line-height: normal;
}

/* 題名を包む見出し。移行元のこの見出しは飾りを 1 つも持たない。字の大きさも
   指定が無く、器から受け継ぐ（移行元の実測 15px・dev の既定は 18px）。中に文字が
   直に出ないので見た目には出ないが、素へ戻しておく. */
:is(.entry-content, .page-content__body) .list_box_new li a .list_detail h4 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: inherit;
	letter-spacing: normal;
	line-height: normal;
}

:is(.entry-content, .page-content__body) .list_box_new li a .list_detail span.ttl {
	margin-bottom: 20px;
	font-size: 22px;
	font-weight: 700;
	line-height: 145%;
}

:is(.entry-content, .page-content__body) .list_box_new li a:hover .list_detail span.ttl {
	color: #4c4c4c;
}

:is(.entry-content, .page-content__body) .list_box_new li a .list_detail span.text {
	margin-bottom: 20px;
	font-size: 12px;
	line-height: 166%;
}

:is(.entry-content, .page-content__body) .list_box_new li a:hover .list_detail span.text {
	color: #4c4c4c;
}

/*
 * QOM総研の一覧（/research/）のパソコン幅で、カードに指を乗せたときの題と本文の色（Bug #9885・事業部の指摘）。
 * 移行元は灰色 #4C4C4C になる（public/css/style.css 1642・1652 行
 * `.list_box li a:hover .list_detail span.ttl` / `span.text`）。
 *
 * テーマは `.list_box_new` 版（すぐ上）と、`.list_box` の番号・「この記事を読む」だけを写していた。
 * 一覧のカード（archive-pa_research.php の `ul.list_box`）の題と本文は自前の色を持たないので、
 * 旧デザインの素の `a:hover`（#e1200f）を受け継いで赤くなっていた.
 *
 * 当たり先は QOM総研の一覧だけに絞る。移行元の 1642・1652 行は `.list_box` を持つ全ページに効くが、
 * 成婚ストーリー詳細（Bug #4080）とワード解説の一覧（Bug #2706）はそれぞれの節で写し済みで、
 * ほかのページはこの Issue の対象外である.
 *
 * パソコン幅だけに当てる。移行元スマホ版の一覧は別の部品（.pa-research-sp-new ほか）で、
 * 携帯幅では `ul.list_box` を隠している（Bug #9394）.
 */
@media (min-width: 750px) {
	.pa-research-archive .page-content__body .list_box li a:hover .list_detail :is(span.ttl, span.text) {
		color: #4c4c4c;
	}
}

/* Bug #2706: ワード解説・成婚ストーリーの一覧のカードで、`.list_detail` の中の
   題名（`.ttl`）・抜粋（`.text`）・「この記事を読む」（`.more`）を縦に積む。写し元
   public/css/style.css 1606 行。`.list_detail` を塊に戻す指定は `a > span` にある
   （取り込みで `<p>` が `<span>` に変わった埋め合わせ。詳しい経緯はそちらのコメント）。

   🚨 **写し元は移行元の共通 CSS なので、調査レポートの一覧にも当たるのが正しい。**
   そちらは幅 750px 以上の節に同じ指定を置いた（Bug #2910・裁定 673。携帯幅の正は
   移行元が返す別ページなので広げない）。ここは携帯幅でも要る 2 つの一覧のぶんである。

   【置き場所】すぐ下の `.num2`（31431 行〜）・`.num` `.archive` `.more`（31464 行〜）と詳細度が同じ
   （どちらも `.entry-content` 系 + `.list_box` 系 + `.list_detail` + 対象要素の
   クラス 1 個・要素 3 つ）。上の `.list_box_new` 版と同じ理由で、後に置いた側が
   勝つ。ここより後ろに置くと `.num` などの `inline-block` を打ち消してしまうため、
   必ずこの位置（`.num` などより前）に置く. */
:is(.entry-content, .page-content__body) .story_inner .list_box li a .list_detail span {
	display: block;
}

/* カードの中の金色の小さい文字（num2・1 投稿）と、右寄せの「もっと見る」
   （more・13 投稿）。どちらも `.list_box` と `.list_box_new` の両方に出る
   （public/css/style.css の 1527〜1534 行 / 1624〜1631 行・1559〜1565 行 /
   1656〜1662 行）。 */
:is(.entry-content, .page-content__body) :is(.list_box, .list_box_new) li a .list_detail span.num2 {
	display: block;
	margin-bottom: 8px;
	color: #a3762b;
	font-size: 14px;
	line-height: 1;
}

:is(.entry-content, .page-content__body) :is(.list_box, .list_box_new) li a:hover .list_detail span.num2 {
	color: #be9f6a;
}

/* カードの中の通し番号（num・延べ 563 出現）と回次の札（archive・延べ 6 出現）。
   移行元 public/css/style.css の 1513〜1525 行 / 1570〜1581 行である。

   **下地の画像に白文字を重ねる作りなので、画像と色は必ず一緒に写す。**画像を
   持たないまま文字色（白）だけ写すと、白文字が地の色に沈んで見えなくなり、
   写す前より悪くなる。Issue #2363 でこの 2 つを見送っていたのはそのためで、
   画像を持ち込んだ Task #2435 でまとめて写した。

   **移行元は 2 つの画像を別の場所に置くが、中身は同一バイトである**
   （images/research/bg_num.gif と images/introduce/story/bg_num.gif・
   SHA-256 5107ffb4…。2026-08-31 に照合）。テーマには 1 つだけ置き、両方から
   同じものを指す。

   `display: inline-block` は移行元どおりである。上の
   `.list_box_new li a .list_detail span { display: block }` と同じ強さなので、
   後に置いて上書きする（`.list_box` の側にはその規則が無く、どちらの器でも
   移行元と同じ形になる）. */
:is(.entry-content, .page-content__body) :is(.list_box, .list_box_new) li a .list_detail span.num {
	display: inline-block;
	margin-bottom: 10px;
	padding: 6px 5px;
	background: url("../images/research/bg_num.gif?ver=5107ffb4b7d5") repeat;
	color: #fff;
	font-size: 16px;
	line-height: 1;
}

/* 🚨 **QOM総研は携帯幅で札の形が変わる（Bug #8226）。**上の規則は `@media` の外にあるので
   携帯幅にも効き、パソコン幅と同じ金の札（16px・内余白 6px 5px・`bg_num.gif`）を出していた。
   移行元スマホ版 `sp/research/css/style.css` は

     #research a .text_box .topic_num {
       background-image: url(../images/bg_num.jpg); background-repeat: repeat;
       display: inline-block; margin-bottom: 13px; padding: 4px;
       color: #ffffff; font-size: 11px; text-align: center;
     }

   と、**札は残したまま小さくしている**。ここはその値を写す。
   🚨 **役割が同じでも両側で類名が違う**（dev は `span.num`・移行元スマホ版は `p.topic_num`）。
   実測（幅 375・2026-09-20）は移行元が 44.89×25・`inline-block`・11px・白・内余白 4px・
   下の外余白 13px・地は `bg_num.jpg` である。

   🚨 **絵は足さない。**移行元の `sp/research/images/bg_num.jpg`（md5 2a448fe2・370 B）と
   1 バイトも違わない絵がテーマに在る（`assets/images/introduce/story/sp/bg_num.jpg`・
   成婚ストーリーの携帯版が使っている）。

   🚨 **上の規則そのものは囲まない。**当たり先を数えると、dev で
   `:is(.list_box, .list_box_new) li a .list_detail span.num` を出すのは 3 区画だけである
   （移行元の写し 12,896 本を走査し、dev は区画ごとに 1 ページずつ HTTP で確かめた）:
   QOM総研 `/research/`（12 個）・婚活アンケート `/introduce/survey/`（10 個）・
   お出かけスポット `/introduce/spot/`（6 個）。残る 2 区画は移行元スマホ版が
   `.list_box li .list_detail span.num { margin-bottom: 8px; color: #a3762b; font-size: 14px;
   line-height: 100% }`（地の絵なし）で 1 字も違わず、**区画ごとの `theme-bridge.css` が
   携帯幅で上書きする**形を既に採っている（婚活アンケートは Bug #8194 で S2 が入れた）。
   お出かけスポットぶんは同じ形で `assets/introduce-spot/css/theme-bridge.css` へ足した。
   囲む形にすると、この 3 区画のどれにも当たらない携帯幅の当たり先まで一度に変えてしまう。

   🚨 **関連記事の札には当てない。**同じ `#research` の中に
   `:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a .list_detail .num`
   が在り（下の節）、あちらは移行元スマホ版の別の値（11px・小文字・地なし）を持つ。
   あちらのほうが詳細度が高いので勝つ。実測でも関連記事は動かないことを確かめた。

   【詳細度】上の規則はクラス 4 個 ＋ 要素 3 個。こちらは id 1 個 ＋ クラス 4 個 ＋ 要素 3 個で勝つ. */
@media (max-width: 749px) {

	:is(.entry-content, .page-content__body) #research :is(.list_box, .list_box_new) li a .list_detail span.num {
		display: inline-block;
		margin-bottom: 13px;
		padding: 4px;
		background: url("../images/introduce/story/sp/bg_num.jpg?ver=b5626b7e822b") repeat;
		color: #fff;
		font-size: 11px;
		line-height: normal;
		text-align: center;
	}
}

:is(.entry-content, .page-content__body) :is(.list_box, .list_box_new) li a .list_detail span.archive {
	display: inline-block;
	padding: 6px 10px;
	background: url("../images/research/bg_num.gif?ver=5107ffb4b7d5") repeat;
	color: #fff;
	font-size: 16px;
	line-height: 1;
}

:is(.entry-content, .page-content__body) :is(.list_box, .list_box_new) li a:hover .list_detail :is(span.num, span.archive) {
	opacity: 0.7;
}

:is(.entry-content, .page-content__body) :is(.list_box, .list_box_new) li a .list_detail span.more {
	display: block;
	font-size: 13px;
	line-height: 1;
	text-align: right;
}

:is(.entry-content, .page-content__body) :is(.list_box, .list_box_new) li a:hover .list_detail span.more {
	color: #000;
	text-decoration: underline;
}

/* SEO 関連リンク用の灰色ボタン（13 投稿）。写し元 public/css/style.css の
   97〜121 行。矢印は角丸の四角を回転させた古い手法だが、画像を増やさずに
   同じ形になるのでそのまま写す. */
:is(.entry-content, .page-content__body) .txtBtn_gray01 {
	display: flex;
	justify-content: center;
	margin: 30px auto;
	text-align: center;
}

:is(.entry-content, .page-content__body) .txtBtn_gray01 a {
	position: relative;
	margin-left: 5px;
	padding: 5px 30px;
	background-color: #bbb;
	color: #fff;
	letter-spacing: 0.04em;
	font-size: 13px;
	text-decoration: none;
}

:is(.entry-content, .page-content__body) .txtBtn_gray01 a::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 12px;
	width: 5px;
	height: 5px;
	border: solid #fff;
	border-width: 0 1px 1px 0;
	transform: rotate(-45deg);
}

/* 調査レポート（.detail_inner）の中のアプローチ（手法）の箇条書き（1 投稿）。写し元
   public/css/style.css の 1795〜1803 行。行頭の画像（images/research/icon.gif）は
   Task #2494 でテーマの assets へ持ち込んだので、間隔と行送りに加えて、下地の
   画像を左端へ 1 つだけ置き文字を 12px ぶん右へ寄せる行頭アイコンもここで写す。
   画像が無いままではアイコンの無い箇条書きになるため、Issue #2363 では見送っていた。

   移行元のセレクタは .grid_box .detail_inner が起点だが、投入処理は囲み
   div.detail_body の中身だけを本文に残すため、その外側の .grid_box は本文の
   DOM に存在しない（この区画の冒頭「本文に何が入るかを先に押さえる」参照）。
   よって .detail_inner を起点に書く. */
:is(.entry-content, .page-content__body) .detail_inner .list_approach {
	margin-bottom: 25px;
}

:is(.entry-content, .page-content__body) .detail_inner .list_approach li {
	padding: 0 0 0 12px;
	background: url("../images/research/icon.gif?ver=e8058c3946c4") no-repeat left 12px;
	line-height: 1.87;
}

/* 携帯幅は行頭を黒丸に戻す（Bug #3165）。
 *
 * 移行元は一覧の点を全体で消し、出したい箇所だけ後から戻す作りで、その「戻し」が
 * 携帯版に在る（`public/sp/research/css/style.css` 179〜187 行）。
 *
 *   #research .article_box .list_approach    { margin-bottom: 18px; padding: 0 0 0 15px; }
 *   #research .article_box .list_approach li { font-size: 12px; line-height: 187%; list-style-type: disc; }
 *
 * 🚨 **移行元の携帯版に行頭の画像は無い。**パソコン版だけが画像で、携帯版は黒丸である。
 * dev は上の素の規則（どの幅にも当たる）で画像を出しており、携帯幅でも画像のままだった。
 *
 * 🚨 **`list-style` を書くだけでは出ない。**テーマは本文の一覧を初期化しており
 * （`.entry-content :is(ul, ol) { padding: 0; list-style: none }`）、点も左の字下げも
 * 消えている。**黒丸を戻す・画像を外す・囲みの字下げを戻す**の 3 つが要る。
 * 同じファイルの先例は `.disc-list01 li { list-style: disc; list-style-position: outside }`.
 */
@media (max-width: 749px) {
	:is(.entry-content, .page-content__body) .detail_inner .list_approach {
		/* 移行元スマホ版の値。テーマの初期化が `padding: 0` にしている. */
		padding-left: 15px;
	}

	:is(.entry-content, .page-content__body) .detail_inner .list_approach li {
		padding-left: 0;
		background: none;
		list-style: disc;
		list-style-position: outside;
	}
}

/* サービスの本文で使う游ゴシック指定（1 投稿）。写し元 public/css/style.css の
   11〜13 行. */
:is(.entry-content, .page-content__body) #concept.gothic p,
:is(.entry-content, .page-content__body) .gothic {
	font-family: "YuGothic", "Yu Gothic", "游ゴシック", sans-serif;
}

/* 本文の柱から全幅へ出す器。既存の選択子はセレクタリストへそのまま列挙し、
   詳細度を変えずに共通化する。 */
.pa-fullwidth,
.pa-branch__anchor-nav--overlay,
.pa-branch__content .mainvisual.is-slider-ready,
.pa-profile-legacy-compat .pa-branch__content .mainvisual:has(.mainvisual-slide-area),
.pa-profile-legacy-compat .pa-branch__content .parallax,
.pa-profile-legacy-compat .pa-branch__content .closeup,
.pa-profile-legacy-compat .pa-branch__content .content.news,
body.pa-profile-legacy-compat .pa-branch__content .title-01:not(.title-01--nobg),
.entry-content .voice_list,
.entry-content:has(.experience__slider) .experience,
:is(.entry-content, .page-content__body) :where(#story) .main_box,
.pa-profile-legacy-compat .pa-branch__content .content.voice {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}

/* ==============================================================
 * 入会案内 /guide/ の器の幅・つまみの並び・題名の揃え（Bug #2303）
 * ==============================================================
 * 移行元の /guide/ は、主役の帯（.main_ttl）とつまみの器（.category_menu）を
 * 1,268px で置いている。dev はこの 2 つがページの柱（.page-content__body・
 * 1,100px）に収まってしまい、168px 狭かった。つまみも移行元は左詰めなのに
 * 中央へ寄っており、題名（h3.title）の中身が左に付いていた。
 *
 * 幅 1440px で測った差は次のとおりである（2026-08-31 に再現）。
 *
 *   .main_ttl        移行元 1268 / 左端 86   →  dev 1100 / 左端 170
 *   .category_menu   移行元 1268 / 左端 86   →  dev 1100 / 左端 170
 *   つまみの左端      移行元 168 / 268 / 368 / 468
 *                    dev    456.5 / 560.5 / 664.5 / 768.5
 *   h3.title の画像   移行元 645（器 1100px の中央）→ dev 170（左端）
 *
 * 【写し元】css/style.css の `#contents .main_ttl { margin: 0 auto;
 * width: 1268px }` と `#contents .category_menu { margin: 0 auto;
 * padding: 1px 0 0 82px; width: 1186px }`（外枠 1186 + 左内余白 82 = 1268）、
 * および css/page_guide.css の `#guide { width: 1100px; text-align: center }`。
 *
 * 【当てる範囲】`.pa-page--guide` を前置し、入会案内のページだけに当てる。
 * **この 3 つのクラスは移行元由来の共通クラスで、`page-cat:service` の外にも
 * 出る**（会社情報のタブ 22 ページ・成婚ストーリー等。`main_ttl` を持つ固定
 * ページは 40 件ある）。クラスへ直に当てるとそれらを巻き添えにする。
 * 目印は page-templates/page-service.php が URL の先頭階層から作る（Bug #2316）。
 *
 * 【狭い画面】移行元は 1,268px の決め打ちで組まれており、それより狭い画面には
 * 写す相手が無い。よって広い画面だけに当て、狭い画面はテーマ本来の応答型の
 * 組みにそのまま残す。
 *
 * 【境目 1285px の決め方】写し元が必要とする幅は 1,268px。そこへ縦スクロール
 * バーの幅ぶん 17px を足す（司令塔の裁定・Issue #2380）。同値の 1,268px にすると、
 * バーが幅を食う環境（Windows / Linux の既定）でバーのぶんだけ横にあふれる。
 * なお、このファイルの会社情報のタブの節は同じ理由で 1,300px（余裕 32px）を
 * 使っている。こちらは裁定後の標準どおり 17px で置いた.
 * -------------------------------------------------------------- */

@media (min-width: 1285px) {
	/* 柱（1,100px）より 168px 広い器を置けるよう、差の半分を左右の負の余白で
	   押し出す。押し出す量は計算式で書き、柱の幅を数値で書き写さない。負の余白の
	   100% は「柱の内側の幅」を指すので、柱の幅を決めるトークンが変わっても
	   自動で追いつく。

	   画面の幅を表す単位（vw）で押し出さないのは、vw が縦スクロールバーの幅を
	   含み、バーが場所を取る環境で横にあふれるためである（会社情報のタブの節と
	   同じ事情）. */
	.pa-page--guide .page-content__body .main_ttl,
	.pa-page--guide .page-content__body .category_menu {
		width: 1268px;
		margin-inline: calc((100% - 1268px) / 2);
	}

	/* 主役の帯の下の外余白を移行元と同じ 0 に戻す（Bug #3031）。
	   **上の規則へ足さずに、独立した規則としてすぐ後ろに置く。**上の規則は
	   つまみの器（.category_menu）と選択子を共有しており、下の外余白を足すと
	   つまみの器まで動いてしまう。つまみの器の下の外余白は別の Bug の担当である.

	   【移行元の値】共通 CSS（css/common.css の 260〜263 行）の
	   `h1, h2, h3, h4, h5, h6 { font-weight: bold; margin: 0 }` により、移行元の
	   `<h2 class="main_ttl">` は下の外余白を持たない。ページ専用の
	   page_guide.css にも `#contents .main_ttl` の規則はあるが、22〜26 行は
	   丸ごとコメントアウトされていて効いていない。生きているのは
	   css/style.css の 1311〜1315 行 `#contents .main_ttl { margin: 0 auto;
	   width: 1268px; height: 170px }` で、こちらも上下の外余白は 0 である。

	   【dev に 25px が乗る筋道】テーマは
	   `:is(.entry-content, .page-content__body) :is(h2〜h6):has(> img:only-child)`
	   へ `margin: 0 0 var(--pa-article-paragraph-gap)` を置いており、値は 25px で
	   ある。`.main_ttl` は画像 1 枚だけを抱える h2 なのでこれに当たる。

	   【なぜ既存の打ち消しが届かないか】このファイルの入会案内の節には
	   `.pa-page--guide .page-content__body #guide :is(h2〜h6)` という打ち消しが
	   すでにあるが、当たる範囲が `#guide` の中に限られている。`.main_ttl` は
	   `<section id="guide">` の**前に並ぶ兄弟**（移行元 guide/index.html の 70 行と
	   73 行）なので、その打ち消しの外にいる。

	   【強さの数え直し】この選択子は class 3 つで (0,3,0)。テーマ側は
	   `.page-content__body` (0,1,0) ＋ `:is(h2〜h6)` が中身の最大値 h2 で (0,0,1)
	   ＋ `:has(> img:only-child)` が中身の最大値 `img:only-child` で (0,1,1) の
	   合計 (0,2,2) である（`:is()` も `:has()` も中身の最大値を取る）。
	   class の桁が 3 対 2 でこちらが勝つ。`@media` は強さを上げないので、
	   打ち消しは既存の規則の直後に置いている.

	   【狭い画面に出さない理由】移行元の帯は 1,268px の決め打ちで、その幅を置ける
	   のはこの節（1,285px 以上）だけである。それより狭い画面では帯自体がテーマ本来の
	   応答型の組みのままなので、縦のリズム（下 25px）もテーマのものを残す.

	   【帯そのものの高さも移行元へ戻す（受入基準の外・司令塔の承認つき）】移行元は
	   帯に高さを直接置いている（css/style.css の 1311〜1315 行
	   `#contents .main_ttl { margin: 0 auto; width: 1268px; height: 170px }`）。
	   dev は高さを置いていないので、中の画像が行の中に並ぶ要素として扱われ、
	   行送りぶんの余りが下に付いて 180px になっていた。Bug #3031 の受入基準は
	   「画像の高さ」と「帯の下の外余白」だけを挙げているが、同じ帯の同じ規則で
	   1 行で消える差なので一緒に直す。高さを固定してよいのは、この節が
	   1,285px 以上に限られていて、帯も中の画像も必ず 1,268 × 170px だからである. */
	.pa-page--guide .page-content__body .main_ttl {
		height: 170px;
		margin-bottom: 0;
	}

	/* 主役の帯の画像の高さを、移行元と同じ 170px に戻す（Bug #3031）。

	   【原因】移行元の `<img>` は `width="1268" height="170"` を持つが、画像の実寸は
	   1269 × 171px である（JPEG のヘッダーから読んだ実測）。移行元は画像に寸法の
	   CSS を持たないので、この 2 つの属性がそのまま使われて 1268 × 170px で描かれる。
	   テーマは共通で `img { max-width: 100%; height: auto }` を当てており、
	   `height: auto` が属性の高さより強いため、高さが実寸の縦横比から出る。
	   1268 × 171 ÷ 1269 ＝ 170.87px となり、移行元より 0.87px 高い。**これは筆算の
	   値である。**測る道具の実測は 170.859px（差 0.859px。道具の `h` は 0.1px 単位に
	   丸めるので 170.9px と出る）、Issue の記述では 171px。

	   【直し方】幅は属性の 1268px がそのまま効いていて移行元と一致しているので、
	   高さだけを属性どおりの 170px に固定する。この節は画面幅 1,285px 以上に
	   限られていて、帯の器も画像も必ず 1,268px なので、高さを固定しても縦横比が
	   崩れる幅は無い。それより狭い画面では `max-width: 100%` で画像が縮むため、
	   高さは `auto` のままにしておく必要がある。

	   【強さの数え直し】この選択子は class 3 つ ＋ 要素 1 つで (0,3,1)。テーマの
	   `img` は (0,0,1) なので勝つ. */
	.pa-page--guide .page-content__body .main_ttl img {
		height: 170px;
	}

	/* つまみは移行元が左詰めである（`li { float: left }` で横に流し、間隔を
	   空けていない）。テーマの本文向けの規則は中央寄せ（justify-content: center）
	   と 4px の間隔を持つので、この区画だけ移行元へ戻す。

	   左の内余白 82px は移行元の値である。このテーマは box-sizing: border-box を
	   全体に効かせているため、上の width: 1268px に内余白が含まれる。中身の幅は
	   1,268 − 82 = 1,186px となり、移行元の外枠 1186 + 左内余白 82 と一致する.

	   これでつまみの左端は 86 + 82 = 168px から、100 / 100 / 100 / 215px の順に
	   並び、268 / 368 / 468px になる（間隔が 0 のため）.

	   【下の外余白も 0 に戻す（Bug #3615）】すぐ上の Bug #3031 の注釈が
	   「つまみの器の下の外余白は別の Bug の担当である」と残していた分である。

	   移行元は共通 CSS（`public/css/style.css` の 1324〜1330 行
	   `#contents .category_menu { margin: 0 auto; ... }`）で**下の外余白が 0** である
	   （`public/css/page_company.css` の 43〜49 行も同じ値。入会案内の
	   `page_guide.css` にも同名の規則はあるが、42 行から丸ごとコメントアウトされていて
	   効いていない）。dev はテーマの一般の規則
	   `:is(.entry-content, .page-content__body) .category_menu` が
	   `margin: 0 auto var(--pa-space-sm)`（40px）を置いていた。

	   実測（幅 1440px）では、帯そのものの箱は両側とも `x=86 / y=362 / 1268 × 50` で
	   一致し、違うのは下の外余白だけだった。そのぶん `#guide` の上端が移行元 412px に
	   対し dev は 452px になり、**ページの下半分が丸ごと 40px 下へずれていた**。

	   🚨 **この 1 本にまとめて書く。**同じ当たり先の規則を 2 本に割ると、
	   検査の `pa_rule_body()` が**最初の 1 本しか読まない**ため、2 本目の宣言が
	   見張られなくなる（他班が同じ穴を踏んでいる）。

	   一般の規則そのものは直さない。`.category_menu` は移行元由来の共通クラスで、
	   会社情報のタブ 22 ページ・会員紹介・リリースにも出る。それらはまだ測っていない
	   ので、入会案内だけに絞る（同じ 40px は他の画面にも乗っている見込みで、
	   司令塔へ報告済みである）. */
	.pa-page--guide .page-content__body .category_menu {
		justify-content: flex-start;
		gap: 0;
		padding-left: 82px;
		margin-bottom: 0;
	}

	/* 帯の組みを移行元と同じ `block` ＋ 浮きに戻す（Bug #3025）。

	   【移行元の値】css/style.css:1324-1334 の `#contents .category_menu` は
	   `display` を持たない（`ul` なので `block`）。横並びは次の行の
	   `#contents .category_menu li { float: left }` が作っている。実測（幅 1440px）は
	   移行元 `block` に対し dev が `flex`（`justify-content: flex-start`）だった。

	   【一般の規則を直さない理由】`:is(.entry-content, .page-content__body)
	   .category_menu` の `flex` は、**狭い画面で折り返せるようにするための意図した
	   選択である**（このファイルの Bug #1433 の節に理由が書いてある）。浮きは折り
	   返せないので、一般の規則を `block` にすると狭い画面の組みが壊れる。
	   会社情報のタブ 22 ページ・店舗のエリア一覧も同じ規則を使っている。

	   【当てる範囲】入会案内だけ・1,285px 以上だけに絞る。この節の入口の説明の
	   とおり、移行元は 1,268px の決め打ちで組まれており、狭い画面には写す相手が
	   無い。**狭い画面はテーマ本来の `flex` のまま残る。**

	   【幅と左端は動かない】器の幅は上の節の `width: 1268px` と
	   `margin-inline` が与えている。テーマは `box-sizing: border-box` なので
	   1,268px は左内余白 82px を含み、移行元の「外枠 1186 ＋ 左内余白 82」と
	   同じ外形になる。**浮きに変えても外形は 1,268px・左端 86px のままである**
	   （Bug #2308 / Bug #2303 の陰性対照）. */
	.pa-page--guide .page-content__body .category_menu {
		display: block;
	}

	.pa-page--guide .page-content__body .category_menu > li {
		float: left;
	}

	/* つまみの画像を移行元と同じ `inline` に戻す（Bug #3025）。

	   【移行元の値】移行元はこの画像に `display` を当てていないので `inline` である。
	   dev は一般の規則 `:is(.entry-content, .page-content__body) .category_menu img`
	   が `display: block` を与えている。実測（幅 1440px）で、入会案内の `.imgover`
	   5 枚のうち**帯の中の 4 枚だけが `block`**、帯の外の「先頭へ戻る」の 1 枚は
	   `inline` だった。移行元は 5 枚とも `inline` である。

	   【縦横比の指定は残る】`aspect-ratio` は置き換えられる要素（画像）なら
	   `inline` でも効く。高さの決め方は変わらない.  */
	.pa-page--guide .page-content__body .category_menu img {
		display: inline;
	}

	/* `#guide02` の写真 3 枚を、移行元と同じ原寸で描く（Bug #3615）。

	   【移行元の値】写真は 3 枚とも器（582px）より 5px 大きい原寸で描かれ、器から
	   はみ出す。実測（幅 1440px）は `img01.png` が 587 × 265、`img02.png` が
	   587 × 266、`img03.png` が 587 × 265 で、いずれも画像の実寸と一致する。
	   移行元の `max-width` は `none` である。

	   【dev に差が出る筋道】テーマは共通で `img { max-width: 100%; height: auto }` を
	   当てている。器が 582px なので写真が 581.97 × 262.73 などへ縮み、
	   `#guide02` の高さが移行元 1161px に対し 1154.19px（**-6.81px**）になっていた。

	   【当てる範囲】`#guide02` の中の写真だけに絞る。同じ区画の見出しの画像
	   （`ttl02.gif`・1100 × 86）は器に収まるので `max-width` の影響を受けず、
	   この規則が当たっても描かれ方は変わらない。

	   【狭い画面に出さない理由】原寸で描くと器からはみ出す。この節（1,285px 以上）
	   より狭い画面で `max-width` を外すと、画面より広い写真が出て横スクロールが
	   生まれる。移行元も 1,268px の決め打ちなので、狭い画面には写す相手が無い.

	   【強さの数え直し】この選択子は class 3 つ ＋ id 1 つ ＋ 要素 1 つで (1,3,1)。
	   テーマの `img` は (0,0,1) なので勝つ. */
	.pa-page--guide .page-content__body #guide02 img {
		max-width: none;
	}

	/* 題名の中身を中央に置く。移行元は器（`#guide`）へ text-align: center を
	   置き、題名がそれを受け継いでいる。ここで受け継ぎではなく題名へ直に当てるのは、
	   器の id が本文に残る保証が無いためと、器ごと中央にすると同じ器の中の本文まで
	   中央へ動くためである（この Bug が測ったのは題名だけである）。

	   器の幅（1,100px）は移行元と dev で一致しているので、幅は触らない。
	   中の画像（150px）の左端は 170 + (1100 − 150) ÷ 2 = 645px になる. */
	.pa-page--guide .page-content__body h3.title {
		text-align: center;
	}
}

/* ==============================================================
 * 入会案内 /guide/ の本文の中央寄せと器の幅（Bug #2619）
 * ==============================================================
 * 上の節（Bug #2303）は、主役の帯とつまみの器と題名の揃えだけを写した。移行元は
 * さらに**本文の区画そのものに文字組みと中央寄せを置き、写真と文の器を回り込みで
 * 横に並べている**。この節はそこを写す。
 *
 * 幅 1440px で測った差は次のとおりである（器 = 移行元 #contents ／ dev
 * .page-content__body に絞り、共通する 19 クラスを総当たりで比べた。2026-09-01）。
 *
 *   .clearfix（= section#guide）  揃え 移行元 center → dev left
 *   .main_copy .flow .message .btn 揃え 移行元 center → dev left
 *   .serif（= .flow h5）          移行元 幅 1056 / 左端 192 / center
 *                                 dev    幅 1100 / 左端 170 / left
 *   .photo（= .message .photo）   移行元 幅 240 / 回り込み left → dev 幅 1100 / none
 *   .text（= .message .text）     移行元 幅 825 / 左端 445 / 回り込み right
 *                                 dev    幅 1100 / 左端 170 / none
 *   .s（= #guide02 .text .s）     移行元 幅 455 / 左端 815 → dev 幅 1100 / 左端 170
 *
 * 【写し元】public/css/page_guide.css の 88〜202 行（`#guide` から
 * `#guide02 .text ul li` まで）。区画の入れ物は
 * `#guide { margin: 0 auto; padding: 65px 0 30px; width: 1100px;
 * text-align: center; font-size: 16px; line-height: 200% }` である。
 *
 * 【区画の id は本文に残っている】dev の /guide/ の本文には `#guide` `#guide01`
 * `#guide02` がそのまま残っていることを実測で確かめた（2026-09-01）。会社情報の節
 * （このファイルの「会社情報・採用の区画」）と同じやり方で、区画の id を起点に写せる。
 *
 * 【節の並べ方】会社情報の節に合わせて 3 段にする。
 *   1. 区画の入れ物
 *   2. テーマの既定の打ち消し
 *   3. 区画ごとの写し（移行元の宣言をそのまま）
 * **打ち消しは必ず「区画ごとの写し」より前に置く。**打ち消しの選択子は強さが
 * (0,2,1) で、写しはどれも区画の id を含んで (1,2,0) 以上になるため、写しが勝つ。
 * 順番を入れ替えると、同じ強さになる組み合わせで写しが黙って負ける。
 *
 * 【中央寄せを戻す箇所も一緒に写した】区画に text-align: center を置くと中の文章まで
 * 中央へ寄る。移行元は `#guide01 .message .text` と `#guide02 .text` で左へ戻して
 * いるので、同じ 2 か所を一緒に写した。写し漏らすと本文が中央寄せに崩れる。
 *
 * 【狭い画面】移行元は写真と文の器を 240 / 825px、582 / 455px の決め打ちで横に並べる。
 * これが成り立つのは本文の柱が 1,100px あるときだけである。テーマの柱
 * （.page-content__body）が 1,100px になるのは画面幅 1,130px 以上で、そこへ縦スクロール
 * バーの幅ぶん 17px を足した 1,147px を境目にした（司令塔の裁定・Issue #2380 の標準）。
 * それより狭い画面は、テーマ本来の応答型の組みにそのまま残す。移行元は携帯の名乗りで
 * /sp/guide/ へ転送し、そちらは区画ごとの中央寄せを持たない別の組みなので、
 * ここで中央寄せを広い画面に限るのは移行元の見え方にも沿う。
 *
 * 【この節では写していないもの】
 * - `#guide .main_read`。移行元の CSS にはあるが、/guide/ の本文にこのクラスは無い
 *
 * 【あとから写したもの】`#guide02 .text ul li` の行頭の赤い丸（Bug #3031）。この節を
 * 書いた時点では「画像がテーマの資材にも取り込み先にも無い」として見送ったが、その
 * 前提は誤りだった。移行元の public/images/guide/dod_red.gif は、テーマがすでに持つ
 * assets/service/images/dod_red.gif とバイト単位で同じもの
 * （SHA-1 6bbd485eb5fd07fe71789231970c6c2b469f046f）である。
 * 🚨 かつては assets/visitor/images/dod_red.gif も同じ中身で在ったが、他社経験の
 * ページを移行しないと決まり、その写しは 2026-09-15 に消した（Task #6227）。
 * **入会案内は自分の写しを持つので影響を受けていない**（下の「行頭の赤い丸」が
 * 書いている「横から借りると道連れで壊れる」を避けた形である）。
 * 同じ中身を入会案内の区分にも置いて写した（下の「行頭の赤い丸」を見ること）。
 *
 * 【残る差 7px の中身】写したあと、区画（#guide）の高さが移行元 2,518px に対して
 * 2,511px になる。原因は紹介の 3 節（#guide02）の写真である。写真の実寸は 587px 幅
 * だが器（.photo）は 582px で、移行元は画像に max-width を持たないので 5px あふれた
 * まま 265px の高さで描く。テーマは画像へ max-width: 100% を当てているため 582px へ
 * 縮み、高さが 262.7px になる。1 枚あたり 2.3px の差が 3 枚ぶん積もった値である。
 * 器からあふれさせない扱いはテーマの応答型の方針そのものなので、ここは合わせない。
 * 要素ごとの差はいずれも許容差 ±2px の中に収まっている（39 要素を全数突合して確認）。
 * -------------------------------------------------------------- */

@media (min-width: 1147px) {
	/* --- 1. 区画の入れ物 --- */

	/* 移行元 `#guide` の文字組みと中央寄せ。柱の幅（1,100px）は移行元と dev で
	   一致しているので幅は書かない（上の Bug #2303 の節と同じ判断）. */
	.pa-page--guide .page-content__body #guide {
		margin: 0 auto;
		padding: 65px 0 30px;
		font-size: 16px;
		line-height: 200%;
		text-align: center;
	}

	/* --- 2. テーマの既定の打ち消し（区画ごとの写しより前に置くこと） --- */

	/* 段落・箇条書き・定義リストの外余白。移行元の共通 CSS は初期化で margin: 0 を
	   置き（css/common.css の 76〜78 行）、箇条書きの入れ物にも margin: 0 を重ねて
	   いる（同 266〜268 行）。つまり移行元のこの区画は下余白を持たない。テーマの
	   既定（下 25px）が乗る分を打ち消す。

	   **入れ物（ul / ol）を外すと落とし穴になる。**紹介の 3 節（#guide02）の 2 つめ
	   だけ箇条書きを持つため、ul を外していたときはそこだけ 25px 高くなり、区画全体の
	   高さが移行元の 2,518px に対して 2,524px になった（実測で切り分けた）。

	   区画の id は :where() で囲んで強さに数えない。移行元は下余白を足す道具の
	   クラスを段落に付けることがあり、id を数えるとその道具に勝ってしまう
	   （会社情報の節と同じ理由）. */
	.pa-page--guide .page-content__body :where(#guide) :is(p, li, dt, dd, ul, ol) {
		margin: 0;
	}

	/* 段落・箇条書き・定義リストの行送り。テーマは本文へ
	   line-height: var(--pa-line-height-text) を置くが、移行元は区画の文字組み
	   （200%）をそのまま継がせている. */
	.pa-page--guide .page-content__body #guide :is(p, li, dt, dd) {
		line-height: inherit;
	}

	/* 見出しの既定を打ち消す。移行元はこの区画の見出しに大きさも色も罫線も置かず、
	   区画の文字組みをそのまま継がせている（css/common.css の 259〜263 行は
	   `h1〜h6 { font-weight: bold; margin: 0 }` だけ）。テーマの既定（h3 は 22px・
	   金色・左に太い縦棒・上に 50px の外余白）が乗ると、画像の見出しの行の高さと
	   余白が変わる。

	   字間も戻す。テーマは見出しへ letter-spacing: 0.05em を置くが、移行元には無い。
	   この区画は個別相談の流れ（.flow h5）と呼びかけ（.message h5）が文字の見出しな
	   ので、字間が残ると横幅が移行元より広がる.

	   なお画像 1 枚だけの見出し（`h3.title` と `h4`）には、テーマの別の規則
	   `:is(h2〜h6):has(> img:only-child)` が強さ (0,2,2) で下余白 25px を置く。
	   この打ち消しは (0,2,1) で負けるため、下の写しで区画の id を付けて上書きしている. */
	.pa-page--guide .page-content__body #guide :is(h2, h3, h4, h5, h6) {
		margin: 0;
		padding: 0;
		border: 0;
		color: inherit;
		font-size: inherit;
		line-height: inherit;
		letter-spacing: normal;
	}

	/* 画像の縦の位置合わせ。テーマは本文の画像へ vertical-align: middle を当てて
	   おり、画像を含む行の下の余白（ディセンダ分）が消えて詰まる。移行元は既定の
	   baseline である（会社情報の節と同じ理由・同じ直し方）. */
	.pa-page--guide .page-content__body #guide img {
		vertical-align: baseline;
	}

	/* 回り込みの清算。移行元は共通 CSS（css/common.css の 328〜336 行）の
	   `.clearfix:after` をサイト全体に効かせており、この区画も囲みに clearfix を
	   付けている。テーマはこの共通の規則を持たないため、下で写す回り込みが親の
	   高さに入らず区画が潰れる。

	   対象は入会案内の区画の中だけに絞る。本文の .clearfix はほかの区画にも出る
	   ため、広く当てるとそれらの高さの出方を変えてしまう. */
	.pa-page--guide .page-content__body #guide .clearfix::after {
		content: "";
		display: block;
		clear: both;
	}

	/* 区画そのものが clearfix を持つ場合（移行元の
	   `<section id="guide" class="clearfix">`）. */
	.pa-page--guide .page-content__body #guide.clearfix::after {
		content: "";
		display: block;
		clear: both;
	}

	/* --- 3. 区画ごとの写し --- */

	/* 節の見出し（画像）と入会案内の題名の下の余白. */
	.pa-page--guide .page-content__body #guide h4 {
		margin: 0 0 36px;
	}

	.pa-page--guide .page-content__body #guide .title {
		margin-bottom: 35px;
	}

	/* 惹句。写し元が 2 本にまたがる。page_guide.css は
	   `font-size: 16px; line-height: 24px; font-weight: 600` を置くが、/guide/ が
	   そのあとに読み込む adjustment.css の 23〜26 行が
	   `font-size: 24px !important; line-height: 150% !important` で文字だけ上書き
	   している。ここでは後から効く値（24px ／ 行送り 150% ＝ 36px）を写す。
	   移行元の !important は page_guide.css に勝つためのもので、この選択子は
	   区画の id を含んで強さが (1,3,0) あるので、写す側に !important は要らない.

	   太さ 600 は上書きされずに page_guide.css の値が残る. */
	.pa-page--guide .page-content__body #guide .main_copy {
		margin-bottom: 40px;
		font-size: 24px;
		font-weight: 600;
		line-height: 150%;
	}

	/* --- 個別相談の流れ（#guide01 .flow）--- */

	/* 薄いベージュの地に 22px の内余白。中身の幅は 1,100 − 22 × 2 ＝ 1,056px に
	   なり、中の見出し（.flow h5）の左端が 170 + 22 ＝ 192px で移行元と揃う. */
	.pa-page--guide .page-content__body #guide01 .flow {
		margin: 0 0 60px;
		padding: 22px;
		background: #f6f2eb;
	}

	.pa-page--guide .page-content__body #guide01 .flow h5 {
		margin: 0 0 20px;
		font-size: 20px;
		text-align: center;
	}

	/* 4 つの手順を横に並べる。移行元は回り込みで流し、間隔を空けていない。
	   4 つめだけ狭い（245 × 3 + 205 ＝ 940px で、中身の 996px に収まる）. */
	.pa-page--guide .page-content__body #guide01 .flow ul {
		margin: 0 0 0 60px;
	}

	.pa-page--guide .page-content__body #guide01 .flow ul li {
		float: left;
		width: 245px;
	}

	.pa-page--guide .page-content__body #guide01 .flow ul li:last-child {
		width: 205px;
	}

	/* 移行元の共通 CSS は `dl { margin: 1em }` を持つので、ここで 0 に戻す. */
	.pa-page--guide .page-content__body #guide01 .flow ul li dl {
		margin: 0;
	}

	.pa-page--guide .page-content__body #guide01 .flow ul li dl dd {
		padding: 0 35px 0 0;
		line-height: 26px;
	}

	.pa-page--guide .page-content__body #guide01 .flow ul li:last-child dl dd {
		padding: 0;
	}

	/* --- 呼びかけ（#guide01 .message）--- */

	/* 写真を左、文を右に置く。移行元の固定値をそのまま写す（この節は画面幅
	   1,147px 以上に限っているので、柱は必ず 1,100px ある）. */
	.pa-page--guide .page-content__body #guide01 .message .photo {
		float: left;
		width: 240px;
	}

	/* 中央寄せを左へ戻す 1 か所目. */
	.pa-page--guide .page-content__body #guide01 .message .text {
		float: right;
		width: 825px;
		text-align: left;
	}

	.pa-page--guide .page-content__body #guide01 .message h5 {
		margin: 0 0 16px;
		font-size: 26px;
		line-height: 39px;
	}

	.pa-page--guide .page-content__body #guide01 .message .text p {
		line-height: 26px;
	}

	.pa-page--guide .page-content__body #guide01 .btn {
		margin: 20px 0 30px;
	}

	/* --- 紹介の 3 節（#guide02）--- */

	.pa-page--guide .page-content__body #guide02 {
		margin: 0 0 60px;
	}

	.pa-page--guide .page-content__body #guide02 section {
		margin: 0 0 40px;
		padding: 0 0 40px;
		border-bottom: 1px solid #ccc;
	}

	.pa-page--guide .page-content__body #guide02 .photo {
		float: left;
		width: 582px;
	}

	/* 中央寄せを左へ戻す 2 か所目. */
	.pa-page--guide .page-content__body #guide02 .text {
		float: right;
		width: 455px;
		padding: 28px 0 0;
		text-align: left;
	}

	.pa-page--guide .page-content__body #guide02 .text p {
		margin: 0 0 10px;
	}

	/* 出典の注記. */
	.pa-page--guide .page-content__body #guide02 .text .s {
		font-size: 12px;
		line-height: 25px;
	}

	/* 行頭の赤い丸（Bug #3031）。写し元は page_guide.css の 190〜193 行
	   `#guide02 .text ul li { background: url(../images/guide/dod_red.gif?ver=bfb3d75024ca)
	   no-repeat left center; padding: 0 0 0 12px }` である。宣言をそのまま写す
	   （繰り返さない・左の縦中央・左の内余白 12px）。

	   【画像の置き場所】テーマの資材 assets/images/guide/dod_red.gif を新しく置き、
	   そこを指す。**すでに有る assets/service/images/dod_red.gif は指さない。**
	   （同じ中身だった assets/visitor/images/dod_red.gif は、他社経験のページを
	   移行しないと決まって 2026-09-15 に消えた。Task #6227）。このテーマは
	   `url("../images/<区分>/<ファイル>")` の形で区分ごとに画像を持つ慣習で
	   （会社情報の bg_category_menu.gif・menu01_ov.gif 等と同じ）、他の区分の資材を
	   横から借りると、その区分を消したときに入会案内が道連れで壊れる。**実際に
	   はじめての方への写しは 2026-09-15 に消えたが、入会案内は無事である。**
	   残る 2 点はバイト単位で同じもの
	   （SHA-1 6bbd485eb5fd07fe71789231970c6c2b469f046f）である。

	   【取り込み先の画像を指さない理由】移行元の本文が読み込む画像は、投入が
	   `<img>` の指す先だけを取り込み、CSS の背景画像は 1 点も取り込まない。
	   取り込み先（uploads）に置いても投入のやり直しで消えるため、テーマの資材に置く.

	   【この規則が狭い画面に出ない理由】この節ぜんたいが画面幅 1,147px 以上に
	   限られている。移行元は携帯の名乗りで /sp/guide/ へ転送し、そちらは別の組みで
	   写す相手が無いので、行頭の飾りも同じ境目に合わせる. */
	.pa-page--guide .page-content__body #guide02 .text ul li {
		padding: 0 0 0 12px;
		background: url("../images/guide/dod_red.gif?ver=bfb3d75024ca") no-repeat left center;
	}
}

/* --------------------------------------------------------------
   入会案内（/guide/）の携帯幅（749px 以下）。Task #3346 / Task #3347・横断 #3343。

   移行元は携帯の名乗りに対して `https://www.p-a.jp/sp/guide/` へ転送し、
   **そこは別に書かれたページ**である。dev はパソコン版の本文を取り込んで幅で
   組み替えているので、携帯幅の姿が移行元スマホ版と別物になっていた。裁定 67
   （見た目・レイアウト・UX の違いはすべて直す）により、見てすぐ分かる差
   10 件をこの節で全部直す（Task #3347 の差分比較調査の一覧）。

   【写し元】移行元スマホ版の CSS 3 本である。

     public/sp/css/basic.css      初期化（すべての要素を 13px・余白 0 に戻す）
     public/sp/css/common.css     `img { width: 100%; height: auto; display: block }`
     public/sp/css/style.css      3862〜4004 行の `#guide` の塊
     public/sp/css/adjustment.css 14〜39 行の本文 16px・注記 14px の上書き

   **`img` の 3 行がこの画面の組みの土台である。**移行元スマホ版は本文の画像を
   すべて「行の中の文字」ではなく「器いっぱいの塊」として置く。写真の寸法・
   写真の下の隙間・押しボタンの幅は、どれもこの 1 本から出ている。

   【携帯専用の絵】移行元スマホ版は `/sp/images/guide/` に**別の絵**を持つ
   （同じ相対パスのパソコン版とは中身が違う）。10 点は `inc/sp-image-swap.php`
   の共通の仕組みで携帯幅だけ差し替える（Task #3297 の方針）。CSS の背景で使う
   2 点（矢印 `arrow.gif` ・行頭の点 `icon_dot.gif`）は投入が取り込まないので、
   テーマ資産 `assets/sp/images/guide/` へ置いて指す。

   【節の題】移行元スマホ版は節の題を**テキスト**で持つ（`h3.title.serif` ・
   文字 20px・色 #a3762b・下罫線 2px）。dev はパソコン版の絵（`ttl01.gif` /
   `ttl02.gif`）を持つので、`inc/guide-sp-text.php` が同じ文言のテキストを
   足し、ここで絵を隠してテキストを出す（全体原則: 焼き込まれた文言はテキストで
   再現する）。

   【「個別相談の流れ」の題だけ vw で伸縮させる】移行元スマホ版はここを絵
   （`flow_ttl.gif`）で置き、`width: 70%` で器に比例して伸縮させる。dev は同じ
   位置に本物のテキストを持つので、絵の側を写して**画面幅に比例する大きさ**に
   する。ほかの文字（本文 16px・注記 14px・段の文 15px・箇条書き 13px）は移行元
   スマホ版が固定 px で書いているので固定のままにする。

   【当てる範囲】`.pa-page--guide` を前置し、経路が `guide` のページだけを狙う
   目印は付けられない（この目印は URL の先頭階層から作るので、コースと料金
   `/guide/course/` にも付く）。そこで**選択子の側で区別する。**コースと料金の
   本文は `#guide` ・`main_ttl` ・`category_menu` ・`.flow` のいずれも持たない
   （実測で 0 件）ので、この節の規則は 1 つも当たらない。

   【パソコン幅は 1px も動かない】この節は 749px 以下に閉じており、上の
   `@media (min-width: 1147px)` ・`@media (min-width: 1285px)` の節とは重ならない。
   -------------------------------------------------------------- */

/* 節の題に足したテキストは、**既定では出さない。**このファイルは幅で全体を
   覆う作りになっていないので、下の携帯幅の節だけで出す指定にすると、幅の条件を
   持たない環境（印刷など）でも出てしまう。既定を「隠す」にしておき、携帯幅の
   節で出す側へ切り替える. */
.pa-page--guide .page-content__body #guide .pa-guide-sp-heading {
	display: none;
}

@media (max-width: 749px) {
	/* --- 1. 区画の入れ物 --- */

	/* 移行元スマホ版の `#guide { padding: 25px 0 25px }`（style.css 3862〜3864 行）。
	   移行元の器は画面いっぱい（幅 375px・左端 0）で、左右の余白は中の区画
	   （`.anchor_block`）が割合で持つ。dev は本文の柱が左右 15px の余白の内側に
	   いるので、その 15px を負の外余白で打ち消して画面いっぱいへ戻す。

	   打ち消す量はトークン（`--pa-inner-gutter`）で書き、15px を数値で書き写さない。
	   柱の余白を決めるトークンが変わっても自動で追いつく。

	   文字の大きさと行送りは移行元スマホ版の初期化（basic.css 15〜22 行の 13px）に
	   合わせる。下の写しが大きさを書いていない要素（箇条書きの項目など）は、
	   ここから 13px を受け継ぐ. */
	.pa-page--guide .page-content__body #guide {
		margin-inline: calc(0px - var(--pa-inner-gutter));
		padding: 25px 0;
		font-size: 13px;
		line-height: normal;
		text-align: left;
	}

	/* --- 2. テーマの既定の打ち消し（区画ごとの写しより前に置くこと） --- */

	/* 段落・箇条書き・定義リストの外余白と内余白。移行元スマホ版の初期化は
	   `margin: 0; padding: 0` を全要素へ置く（basic.css 15〜22 行）。テーマの
	   既定（段落の下 25px ほか）が乗る分をここで落とし、必要な余白は下の写しが
	   割合で置き直す。

	   区画の id は `:where()` で囲んで強さに数えない。下の写しが id 付きで
	   上書きできるようにするためである（1,147px 以上の節と同じ考え方）. */
	.pa-page--guide .page-content__body :where(#guide) :is(p, ul, ol, li, dl, dt, dd) {
		margin: 0;
		padding: 0;
	}

	/* 見出しの既定。移行元スマホ版の初期化は見出しにも `margin: 0; padding: 0;
	   border: 0; font-weight: normal; font-size: 13px` を置く。テーマの既定
	   （h3 は左に太い金色の縦棒 + 左内余白 12px、h2 は下罫線、どれも太字で
	   字間 0.05em、上に大きな外余白）が乗ると別物になる。

	   🚨 **画像 1 枚だけの見出しの例外は、テキストを足した時点で外れる。**
	   テーマは `:is(h2〜h6):has(> img:only-child)` で飾りを外しているが、
	   `inc/guide-sp-text.php` が `<span>` を足すと `img` が唯一の子で
	   なくなり、飾りが戻る。この打ち消しは区画の id を含む (1,2,1) なので、
	   その例外規則 (0,2,2) にも本体の h3 の規則 (0,1,1) にも勝つ. */
	.pa-page--guide .page-content__body #guide :is(h2, h3, h4, h5, h6) {
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		color: inherit;
		font-size: inherit;
		font-weight: 400;
		line-height: inherit;
		letter-spacing: normal;
	}

	/* 🔑 **本文の画像は「器いっぱいの塊」にする。**移行元スマホ版はサイト共通で
	   `img { width: 100%; height: auto; display: block }` を置く（common.css
	   11〜15 行）。この 1 本が、写真の寸法・写真の下に隙間ができないこと・
	   押しボタンが器いっぱいに伸びることを同時に決めている。テーマの既定
	   （`max-width: 100%` と `vertical-align: middle`・画像は行の中の文字扱い）
	   のままだと、絵は実寸で止まり、下に行送りぶんの隙間が残る。

	   `<picture>` も同じ扱いにする。携帯専用の絵への差し替え
	   （`inc/sp-image-swap.php`）が `<img>` を `<picture>` で包むので、包みの側が
	   行の中の文字のままだと隙間が戻る. */
	.pa-page--guide .page-content__body #guide :is(img, picture) {
		display: block;
		width: 100%;
		height: auto;
	}

	/* --- 3. 区画ごとの写し --- */

	/* 移行元スマホ版に相手が無いもの 2 件。

	   1. `.main_ttl`（パソコン版の横長の主役の帯・1268x170）。移行元スマホ版は
	      この帯を持たない。入会案内の題は下の `h3.title` が受け持つ
	   2. `.category_menu`（区画メニュー）。移行元スマホ版は 1 つも持たない
	      （Task #3346。パソコン版の絵のつまみが 2 行に折り返していた）

	   🚨 **3 件目だった「呼びかけの見出し」は Task #5397 で対象から外した。**
	   移行元スマホ版の `.message` がこの見出しを持たないのは、**同じ文言を写真に
	   焼き込んでいた**からである（`sp/images/guide/photo01.jpg` 560x230 の右 350px）。
	   全体原則「絵に焼き込まれた文言はテキストで出す」に従い、絵を写真だけにして
	   見出しをテキストで出す形へ変えた。組み直しは下の「呼びかけ」の節に在る.

	   `.category_menu` だけ `:where()` で絞るのは、この目印が会社情報など他の
	   区画にも出るためである（横断 #3343 は「区分ごとに担当班が自分の区画へ
	   当てる」と決めている）.

	   🚨 **`.main_ttl` と `.category_menu` は `#guide` の外にある**（どちらも
	   `.page-content__body` の直下で、`#guide` の兄弟である）。だから `#guide` で
	   絞れない。ところが `.pa-page--guide` は**コースと料金（`/guide/course/`）にも
	   付く**。あちらも `h2.main_ttl.main_ttl02` と区画メニューを 1 つずつ持つので
	   （記録版 `public/guide/course/index.html` の 73 行・75 行）、絞らないと
	   担当外のページの帯とメニューまで消える.

	   そこで**そのページに `#guide` があるかどうか**で絞る。`#guide` を持つのは
	   入会案内だけである（コースと料金は持たない）. */
	.pa-page--guide .page-content__body:has(> #guide) .main_ttl {
		display: none;
	}

	/* 区画メニュー。移行元スマホ版は 1 つも持たない（`/sp/guide/` を携帯の名乗りで
	   開いて 0 個・2026-09-05 実測）。dev は 345 × 106（2 行）で出ていた.

	   🚨 **器を `:where()` で囲ってはいけない（Bug #3343 の原因）。**ここは以前
	   `:where(.pa-page--guide) :where(.page-content__body:has(> #guide)) ul.category_menu`
	   と書いてあったが、**器を 2 つとも `:where()` で囲ったため強さが (0,1,1) しか
	   残らず**、一般の規則 `:is(.entry-content, .page-content__body) .category_menu`
	   （(0,2,0)・`display: flex`）に負けて**一度も効いていなかった**（CDP で勝っている
	   規則を読んで確かめた）。

	   いまの形は `.page-content__body:has(> #guide)` を `:where()` の外へ出したので
	   **(0,3,1)** になり、確実に勝つ。`ul` も残す（外すと (0,3,0) で引き分けになる）. */
	:where(.pa-page--guide) .page-content__body:has(> #guide) ul.category_menu {
		display: none;
	}

	/* 入会案内の題。移行元スマホ版は `h2.category_ttl { margin: 0 auto 20px;
	   width: 29.687% }`（style.css 3866〜3869 行）で、中の絵は共通の
	   `img { width: 100% }` で器いっぱいになる。幅 375px では 111.3x53.0px。

	   dev の相手は `h3.title` の中の `title.gif` である。**同じ意匠**（「入会案内」の
	   明朝 + 下の赤い短い罫線）だが原寸が違う（移行元スマホ版 187x89・dev 150x74）
	   ので、絵は `inc/sp-image-swap.php` が携帯幅だけ差し替える. */
	.pa-page--guide .page-content__body #guide > h3.title {
		width: 29.687%;
		margin: 0 auto 20px;
	}

	/* 前置き。移行元スマホ版 `#guide .main_copy { margin-bottom: 10px;
	   font-size: 16px; line-height: 130%; text-align: center }`（同 3871〜3876 行）。
	   左右の内余白を持たず、画面いっぱいの幅で中央寄せする. */
	.pa-page--guide .page-content__body #guide > .main_copy {
		margin: 0 0 10px;
		font-size: 16px;
		line-height: 130%;
		text-align: center;
	}

	/* 2 つの区画。移行元スマホ版 `#guide .anchor_block { padding: 0 6.25%;
	   margin: 0 0 8% }`（同 3898〜3901 行）。幅 375px では左右 23.44px・
	   下 30px になる。**割合のまま写す**（移行元が割合で書いており、320px から
	   749px まで画面幅に比例して変わる）. */
	.pa-page--guide .page-content__body #guide > section {
		margin: 0 0 8%;
		padding: 0 6.25%;
	}

	/* 節の題。移行元スマホ版 `#guide h3.title { padding: 15px 0; margin: 0 0 18px;
	   color: #a3762b; font-size: 20px; line-height: 100%;
	   border-bottom: 2px solid #A3762B }`（同 3907〜3915 行）。文言は
	   `inc/guide-sp-text.php` が足したテキストが持ち、絵は隠す。

	   絵の側を隠すのは `h4` の直下だけに絞る。入会案内の題（`h3.title` の中の
	   `title.gif`）は出したままにするためである. */
	.pa-page--guide .page-content__body #guide > section > h4 > :is(img, picture) {
		display: none;
	}

	.pa-page--guide .page-content__body #guide .pa-guide-sp-heading {
		display: block;
		margin: 0 0 18px;
		padding: 15px 0;
		border-bottom: 2px solid #a3762b;
		color: #a3762b;
		font-family: var(--pa-font-family-serif);
		font-size: 20px;
		line-height: 100%;
	}

	/* 個別相談の流れの器。移行元スマホ版 `#guide .flow { background: #f6f1eb;
	   padding: 5.35%; margin: 0 0 8% }`（同 3952〜3956 行）。幅 375px では
	   内余白 17.55px・下 26.25px。地色 #f6f1eb は**携帯版だけの値**で、
	   パソコン版の #f6f2eb と緑成分が 1 だけ違う（プラグイン pa-forms の
	   完了画面が同じ塗り分けを 2026-08-27 に実測で確かめている）. */
	.pa-page--guide .page-content__body #guide01 .flow {
		margin: 0 0 8%;
		padding: 5.35%;
		background: #f6f1eb;
	}

	/* 個別相談の流れの題。移行元スマホ版はここを絵（`flow_ttl.gif` ・原寸
	   278x50・黒の明朝）で置き、`#guide .flow h4 { text-align: center;
	   margin: 0 0 4% }` と `#guide .flow h4 img { width: 70%; margin: 0 auto }`
	   （同 3958〜3966 行）で器の 70% に伸縮させる。

	   dev は同じ位置に本物のテキスト（`h5.serif` 「個別相談の流れ」）を持つので、
	   絵を持ち込まずにテキストで写す（全体原則）。

	   【大きさの決め方】絵のインクの箱は原寸 275x36px（白でない画素の外形を
	   実測）。器の 70%（幅 375px で 205.11px）へ縮むと 202.9x26.6px になる。
	   dev の明朝で「個別相談の流れ」を組むと、インクの幅は字の大きさの 6.961 倍
	   （20 / 24 / 28 / 30 / 32px の 5 点で実測・完全な比例）。202.9 ÷ 6.961 =
	   29.15px が幅 375px での答えで、画面幅に対する割合は 7.773vw になる。

	   **固定 px にしない。**移行元は絵を器に比例して伸縮させるので、固定 px は
	   375px でしか合わない（Task #3283 が同じ型で踏んだ）. */
	.pa-page--guide .page-content__body #guide01 .flow > h5 {
		margin: 0 0 4%;
		font-family: var(--pa-font-family-serif);
		font-size: 7.773vw;
		line-height: 9.835vw;
		text-align: center;
	}

	/* 流れの 4 段。移行元スマホ版 `#guide .flow li { background:
	   url(../images/guide/arrow.gif) no-repeat center bottom/10% auto;
	   padding: 0 0 7%; margin: 0 0 5% }`（同 3968〜3972 行）。段と段の間に
	   下向きの矢印が入る。

	   【画像の置き場所】投入は本文の `<img>` が指す画像だけを取り込み、CSS の
	   背景画像は 1 点も取り込まない。テーマ資産
	   `assets/sp/images/guide/arrow.gif` を指す. */
	.pa-page--guide .page-content__body #guide01 .flow ul > li {
		margin: 0 0 5%;
		padding: 0 0 7%;
		background: url("../sp/images/guide/arrow.gif?ver=b0c0c2f34010") no-repeat center bottom / 10% auto;
	}

	/* 最後の段だけ矢印も余白も持たない（同 3974〜3978 行）. */
	.pa-page--guide .page-content__body #guide01 .flow ul > li:last-child {
		margin: 0;
		padding: 0;
		background: none;
	}

	/* 段の中は、写真を左へ回り込ませた横並びである。移行元スマホ版
	   `#guide .flow dl dt { width: 33%; margin: 0 3.92% 0 0; float: left }`
	   （同 3989〜3993 行）。

	   🚨 **回り込みの清算をこちらで置く。**移行元の `<dl>` は `class="clearfix"`
	   を持ち、サイト共通の `.clearfix:after` が高さを親へ返している。dev の
	   `<dl>` はこの目印を持たない（投入元のパソコン版が付けていない）ので、
	   置かないと段の高さが 0 になって矢印と次の段が重なる. */
	.pa-page--guide .page-content__body #guide01 .flow dl::after {
		content: "";
		display: block;
		clear: both;
	}

	.pa-page--guide .page-content__body #guide01 .flow dl dt {
		float: left;
		width: 33%;
		margin: 0 3.92% 0 0;
	}

	/* 段の文。移行元スマホ版は画面全体の `dd { font-size: 15px }` をそのまま使い、
	   行送りの指定を持たない（`normal`）. */
	.pa-page--guide .page-content__body #guide01 .flow dl dd {
		font-size: 15px;
		line-height: normal;
	}

	/* 移行元のパソコン版にしかない改行と文字を、携帯幅で隠す。
	   印は inc/guide-sp-text.php の pa_guide_sp_mark_pc_only() が付ける。
	   当たるのは 2 種類だけである.
	     - 個別相談の流れ 1 段目の説明の `<br>`（移行元スマホ版は改行を持たない）
	     - 「専任の成婚コンシェルジュ」の `の`（移行元スマホ版は「専任成婚コンシェルジュ」）
	   `<br>` の直後の空きは本文の側で取り除いてある。CSS だけで `<br>` を隠すと
	   その空きが半角空白として残り、幅 375px で 1 行目が 172.7px（10 字 + 空白）に
	   なって移行元の 183.4px（11 字）と折れる位置がずれる. */
	.pa-page--guide .page-content__body #guide .pa-guide-pc-only {
		display: none;
	}

	/* 呼びかけの写真・本文・押しボタン。移行元スマホ版は 3 つとも `<p>` で、
	   `#guide p { margin: 0 0 4% }`（同 3944〜3946 行）が下の余白を作る。
	   本文の文字は adjustment.css 14〜16 行の
	   `#guide #guide01 .message p { font-size: 16px !important }`。

	   dev は押しボタンが `.message` の外の `p.btn` にいるが、上から下への並びは
	   写真 → 本文 → 押しボタンで移行元と同じである. */
	.pa-page--guide .page-content__body #guide01 .btn {
		margin: 0 0 4%;
	}

	/* 🚨 **写真の下の空きだけは百分率で写せない**（Bug #6239）。
	   百分率の外余白は「その要素を囲む箱の幅」に対して解決される。下の
	   `.message` は格子なので、写真を囲む箱は**器ではなく 1 列目**になる。
	   1 列目は器の 37.5% なので、同じ `4%` が器に対する 1.5% まで縮む。

	   幅 375px での実測（2026-09-14）。
	     器 `#guide01` の中身の幅  328.125（375 − 左右の内余白 23.4375 × 2）
	     1 列目の幅                123.05（328.125 の 37.5%）
	     移行元の空き              13.125（328.125 の 4%）
	     直す前の dev の空き        4.92（123.05 の 4%）→ **8.203px 足りない**

	   器の中身の幅は画面の幅の 87.5% で、左右の内余白が百分率（6.25%）なので
	   **どの携帯幅でも 87.5% のまま**である。よって器に対する 4% は
	   画面の幅の 3.5%（`3.5vw`）に等しい。375px で 13.125px になる。

	   🚨 **`4%` へ戻してはいけない。**戻すと格子の 1 列目に対して解決され、
	   下に続く節・問い合わせの帯・先頭へ戻るが 8.08px ずつ上へ詰まる. */
	.pa-page--guide .page-content__body #guide01 .message .photo {
		margin: 0 0 3.5vw;
	}

	/* 🚨 **本文の器へ下の内余白を足してはいけない（Bug #6290）。**
	   Bug #6239 の 2 つ目として一度足したが、**同じ 20px は外側の枠へ
	   このファイルの 37,054 行が既に当てていた**
	   （`.single-content:not(.single-content--branch), .page-content`・PR #3118）。
	   dev は**外側の枠と内側の器の 2 枚組み**で、移行元の `#other_contents` は
	   1 枚しかない。内側にも足すと 20px が二重になる。

	   実測（幅 375px・2026-09-14 20:49）: 移行元の器の下端 3,200.22 に対し、
	   内側へ足した状態の外側の枠の下端は **3,220.34**（+20.12）。外したときの
	   引き算は 3,180.34 ＋ 外側の 20 ＝ 3,200.34 で、差は +0.12 に収まる。

	   **器の高さを比べる前に、両側で器が何枚あるかを数えること。** */

	.pa-page--guide .page-content__body #guide01 .message .text p {
		margin: 0 0 4%;
		font-size: 16px;
		line-height: normal;
	}

	/* 呼びかけの見出しをテキストで出し、写真と横に並べる（Task #5397）
	   ------------------------------------------------------------------
	   移行元スマホ版はこの区画を**写真と文言を 1 枚に焼き込んだ絵**で組んでいる
	   （`sp/images/guide/photo01.jpg` 560x230）。全体原則「絵に焼き込まれた文言は
	   テキストで出し、絵は写真だけにする」に従い、絵を写真だけに切り出した写し
	   （`sp/images/guide/photo01_trimmed.jpg` 210x230・`inc/sp-image-swap.php`）へ
	   差し替え、文言は本文が持つ `h5.serif` で出す。

	   【焼き込みの寸法】絵の画素を数えて出した値である（1 画素も推測していない）。

	     写真     x=0〜209（x=210 から先は純白）      → 210/560 = 37.5%
	     文字の左 x=254〜256                          → 隙間 42/560 = 7.5%
	     字送り   32px（4 行とも 31.7〜32.5）          → 字 30px ＋ 字間 2px
	     墨の高さ 27px（漢字）                         → 字 30px の 0.9
	     行の送り 42px                                 → 30px の 1.4
	     文字の塊 y=42〜194（中心 118・写真の中心 115） → 上下の中央
	     色       黒（最頻 (1,1,1)）／書体 明朝

	   【画面の値への換算】器は幅 375px で 328.125px = **87.5vw**（実測）。絵はその
	   幅いっぱいに描かれるので倍率は 328.125/560 = 0.58594 である。
	     字 30 × 87.5 / 560 = **4.6875vw**（実測 17.578px）
	     行送り 42/30 = **1.4**（実測 24.609px）
	     字間 2/30 = **0.066667em**（字送りの実測 18.74・移行元 18.75）

	   🚨 **隙間は 7.5%（42/560）であって 7.857%（44/560）ではない。**44 は
	   **墨の左端**（254）から写真の右端（210）までの値で、字の枠の左端ではない。
	   7.857% にすると墨が 1.5px 右へずれる。7.5% にすると、移行元の墨との差は
	   4 行とも **2.00px 以内**に収まる（幅 375px・2026-09-10 の実測）.

	   🚨 **`.text` を `display: contents` にして、中の `h5` と `p` を格子の升へ直接
	   置く。**移行元スマホ版は「絵（写真＋文言）→ 本文」の縦並びで、本文は**器の幅
	   いっぱい**である。`.text` を升の 1 つにすると本文まで右半分へ入ってしまう.

	   🚨 **色は明示する。**このページの見出しは上の初期化で `color: inherit` になり、
	   テーマの本文の色 `#474747` を継ぐ。焼き込みの文字は**真っ黒**である
	   （いちばん濃い画素が (0,0,0)）.

	   🚨 **折り返さない指定が要る。**移行元の 4 行目「お待ちしております。」は
	   255 ＋ 10 字 × 32 = 575 で**絵の右端 560 をはみ出す**。焼き込みなので折り返さない
	   だけである。dev で折り返すと 5 行になる。画面のはみ出しは出ない（幅 375px で
	   本文の幅 375 = 画面の幅 375 を実測）. */
	.pa-page--guide .page-content__body #guide01 .message {
		display: grid;
		grid-template-columns: 37.5% 1fr;
		column-gap: 7.5%;
		align-items: center;
	}

	.pa-page--guide .page-content__body #guide01 .message .text {
		display: contents;
	}

	.pa-page--guide .page-content__body #guide01 .message .photo {
		grid-column: 1;
		grid-row: 1;
	}

	.pa-page--guide .page-content__body #guide01 .message .text h5 {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
		padding: 0;
		color: #000;
		font-size: 4.6875vw;
		font-weight: normal;
		letter-spacing: 0.066667em;
		line-height: 1.4;
		text-align: left;
		white-space: nowrap;
	}

	.pa-page--guide .page-content__body #guide01 .message .text p {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	/* 紹介の 3 節。移行元スマホ版 `#guide #guide02 section {
	   border-bottom: 2px solid #ccc; padding: 0 0 4%; margin: 0 0 6% }`
	   （同 4000〜4004 行）。いちばん下の節にも罫線と余白が付く（実測）. */
	.pa-page--guide .page-content__body #guide02 > section {
		margin: 0 0 6%;
		padding: 0 0 4%;
		border-bottom: 2px solid #ccc;
	}

	/* 紹介の写真と本文。文字は adjustment.css 18〜39 行の
	   `#guide #guide0{2,3,4} p { font-size: 16px !important }` と
	   `… p span { font-size: 14px !important }`. */
	.pa-page--guide .page-content__body #guide02 .photo,
	.pa-page--guide .page-content__body #guide02 .text p {
		margin: 0 0 4%;
		font-size: 16px;
		line-height: 24px;
	}

	/* 注記。移行元スマホ版は本文と注記を 1 つの 16px の `<p>` に入れ、注記だけを
	   14px の `<span>` にしている。行の高さは 16px の素（実測 24px）で決まり、
	   行の中の字の位置も 16px の基準線にそろう.
	   dev の本文は注記を別の `<p>` で持つので、そのままだと 14px 自身の基準線に
	   なり、字が 1px 上へ出る（4 つの幅すべてで実測 1px）。1px 下げて合わせる。
	   `position` で動かすので、区画の高さは 1px も変わらない. */
	.pa-page--guide .page-content__body #guide02 .text p.s {
		position: relative;
		top: 1px;
		font-size: 14px;
	}

	/* 🚨 **注記の上に段落 1 つ分の空きを作らない。**移行元スマホ版は本文と注記を
	   **1 つの段落**の中に `<br>` で並べる。dev は投入の都合で `<p>` と
	   `<p class="s">` の 2 つに分かれているため、そのままだと本文の下の 4% が
	   注記の上の空きとして見えてしまう（移行元には無い 13.13px）. */
	.pa-page--guide .page-content__body #guide02 .text p:has(+ p.s) {
		margin-bottom: 0;
	}

	/* 箇条書き。移行元スマホ版 `#guide ul.list li { background:
	   url(../images/guide/icon_dot.gif) no-repeat 0px 43%/2% auto;
	   padding-left: 4% }`（同 3995〜3998 行）と、adjustment.css 43〜46 行の
	   `ul.list li { margin-left: 1em; text-indent: -1em }` の 2 本が重なった姿を
	   写す。文字は移行元スマホ版の初期化のままの 13px なので、`1em` は 13px に
	   なる（実測: 左の外余白 13px・左の内余白 13.13px）。

	   dev の投入本文は `<ul>` に `list` の目印を持たないので、位置で狙う. */
	.pa-page--guide .page-content__body #guide02 .text ul li {
		margin-left: 1em;
		padding-left: 4%;
		background: url("../sp/images/guide/icon_dot.gif?ver=5bbf670f69a3") no-repeat 0 43% / 2% auto;
		line-height: normal;
		text-indent: -1em;
	}
}

/* 入会案内の呼びかけの見出しで、携帯幅だけの改行をパソコン幅では隠す（Task #5397）
   ------------------------------------------------------------------
   `inc/guide-sp-text.php` の `pa_guide_message_break_filter()` が、移行元スマホ版の
   焼き込みと同じ 4 行に切るための `<br class="pa-br-sp">` を 2 つ足す。**その 2 つは
   携帯幅だけのものである。**

   🚨 **パソコン幅では隠さないと 4 行になる。**移行元パソコン版のこの見出しは
   **2 行**で、本文が持つ `<br>` 1 つだけが効く（`legacy/www.p-a.jp/public/guide/index.html`
   の `#guide01 .message .text h5.serif`）。この区画のパソコン幅の組みは
   `@media (min-width: 1147px)` に在るが、**隠す側は 750px から当てる。**
   750〜1146px でも見出しは出ており、そこで足した改行が効くと移行元と食い違う.

   兄弟の同じ形: `assets/service/css/bridge.css` の `.pa-br-sp` を隠す規則（Bug #4187）. */
@media (min-width: 750px) {
	.pa-page--guide .page-content__body #guide01 .message .text h5 .pa-br-sp {
		display: none;
	}
}

/* ==========================================================================
   採用情報の 3 ページの携帯幅（Task #3488）

   移行元のスマホ版だけが持つ 2 つの部品と、「先頭へ戻る」の高さを直す。
   部品は `inc/company-sp-parts.php` が本文へ足す（投入した本文には無い。
   移行元パソコン版が `anchor_menu` も `sub_menu` も 0 件のため）。
   ========================================================================== */

/*
 * check-mobile-only: 意図してメディアクエリの外に置く
 *   （理由: 素で隠しておかないと、移行元スマホ版だけの部品がパソコン幅で出る。
 *    部品はサーバー側で足すので、画面の幅で出し分けられるのは CSS だけである）
 */
.pa-company-sp-anchor-menu,
.pa-company-sp-sub-menu,
.pa-company-sp-main-menu {
	display: none;
}

@media (max-width: 749px) {

	/* 採用トップのページ内リンクの並び。移行元 public/sp/css/style.css の
	   `#recruit .anchor_menu { padding: 0 6.25% 11px }` /
	   `#recruit .anchor_menu li { float: left; margin-bottom: 5px; width: 48.928% }` /
	   `#recruit .anchor_menu li:nth-child(2n+0) { float: right }`。

	   🚨 **百分率の基準を画面いっぱいへ戻す。**移行元の器は画面幅の 375px だが、
	   dev の本文の柱は 345px である。`padding: 0 6.25%` をそのまま写すと
	   23.4375px でなく 21.5625px になり、`li` の 48.928% も 160.53px でなく
	   145.87px に縮む。器を `100vw` へ広げて基準をそろえる。

	   実測（移行元スマホ版 https://www.p-a.jp/sp/company/recruit/ ・375px）:
	     並び 375 × 165.125・内余白 0 23.4375px 11px
	     項目 160.531 × 72.063・外余白 0 0 5px・1 番目と 3 番目が左回り込み・
	     2 番目が右回り込み（x = 23.44 / 191.03 / 23.44）
	     絵 160.531 × 72.063（実寸 274 × 123 の幅いっぱい） */
	:is(.entry-content, .page-content__body) .pa-company-sp-anchor-menu {
		display: flow-root;
		width: 100vw;
		margin: 0 calc((100% - 100vw) / 2);
		padding: 0 6.25vw 11px;
		font-size: 13px;
		line-height: normal;
		list-style: none;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-anchor-menu li {
		float: left;
		width: 48.928%;
		margin: 0 0 5px;
		padding: 0;
		list-style: none;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-anchor-menu li:nth-child(2n) {
		float: right;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-anchor-menu img {
		display: block;
		width: 100%;
		height: auto;
	}

	/*
	 * --- 採用情報配下の携帯幅の区画の導線（Bug #4410）---
	 *
	 * 移行元スマホ版は絵の 3 項目を画面いっぱいに横並びで置く（`ul.main_menu`）。
	 * 移行元 `public/sp/css/style.css` の 3305〜3316 行がその指定である。
	 *
	 *   #recruit .main_menu               { margin-bottom: 25px }
	 *   #recruit .main_menu li            { float: left; width: 33.281% }
	 *   #recruit .main_menu li:nth-child(2n+0) { width: 33.437% }
	 *
	 * 🚨 **器は画面いっぱい（375px）である。**dev のページの器は左右に内余白を持つので、
	 * 画面内ナビ（すぐ下の `.pa-company-sp-anchor-menu`）と同じやり方で画面幅まで戻す。
	 *
	 * 🚨 **百分率のまま写す。**375px で 124.8 / 125.4 / 124.8px、320px で 106.5 / 107.0 /
	 * 106.5px になり、どちらの幅でも横 3 つで画面がちょうど埋まる。固定値で書くと
	 * 320px で隙間が出る.
	 */
	:is(.entry-content, .page-content__body) .pa-company-sp-main-menu {
		display: flow-root;
		width: 100vw;
		margin: 0 calc((100% - 100vw) / 2) 25px;
		padding: 0;
		list-style: none;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-main-menu li {
		float: left;
		width: 33.281%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-main-menu li:nth-child(2n) {
		width: 33.437%;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-main-menu img {
		display: block;
		width: 100%;
		height: auto;
	}

	/*
	 * --- 募集要項の携帯幅の本文（Task #4436・親 Bug #3490）---
	 *
	 * 移行元はパソコン版とスマホ版で本文がまったく別に書かれている（目印の集合を
	 * 突き合わせると、どちらも 21 種類で共通は 3 つだけ）。裁定 471 で、**移行元スマホ版
	 * だけが持つ区画を同じ投稿の本文へ足し、パソコン幅では隠す**と決まった。
	 * 本文を足すのは投入（16 班）の持ち場で、ここは見た目と出し分けだけを持つ。
	 *
	 * 値は移行元 `public/sp/company/recruit/recruit_info/css/style.css` と
	 * `public/sp/css/style.css` の 3408〜3420 行から写した。
	 *
	 * 🚨 **投入の前にこの CSS が入っても本文が空にならないようにする。**
	 * 移行元パソコン版の区画を素直に隠すと、投入が済むまでの間、携帯幅の本文が空になる。
	 * そこで隠す規則を **`:has(.wrap_acordion)`**（＝足した区画が本文に在るとき）に限る。
	 * 投入の前は効かず**いまの見た目のまま**、投入のあとは自動で効く.
	 */
	:is(.entry-content, .page-content__body):has(.wrap_acordion) :is(.tb_job, .tb_job2, .cnt_job) {
		display: none;
	}

	/* --- 1 日の流れの見出し（`h4.event_copy`）--- */
	:is(.entry-content, .page-content__body) .event_copy {
		margin-bottom: 12px;
		padding: 0 0 0 10px;
		background-image: url("../sp/images/icon01.gif?ver=7d71745b9aff");
		background-repeat: no-repeat;
		background-position: left 3px;
		background-size: 4px 17px;
	}

	/* --- 1 日の流れの絵 --- */
	:is(.entry-content, .page-content__body) .sub_pic {
		width: 51%;
		margin: 0 auto 20px;
	}

	/* --- 1 日の流れ（曜日ごと）--- */
	:is(.entry-content, .page-content__body) .weekflow {
		margin: 0;
		padding: 10px 0;
		border-top: 1px solid #ccc;
	}

	:is(.entry-content, .page-content__body) .weekflow.fin {
		border-bottom: 1px solid #ccc;
	}

	:is(.entry-content, .page-content__body) .weekflow dt {
		float: left;
		margin: 0;
		padding: 0;
		color: #e1200f;
		background: none;
	}

	:is(.entry-content, .page-content__body) .weekflow dd {
		margin: 0;
		padding: 0;
		overflow: hidden;
	}

	/* --- 募集要項の表 --- */
	:is(.entry-content, .page-content__body) .tb_rec {
		margin-bottom: 20px;
		border: 1px solid #ccc;
		border-collapse: collapse;
		font-size: 17px;
	}

	:is(.entry-content, .page-content__body) .tb_rec :is(th, td) {
		padding: 10px;
		font-size: 17px;
	}

	:is(.entry-content, .page-content__body) .tb_rec th {
		border-top: 1px solid #ccc;
		background: url("../sp/images/company/recruit/recruit_info/bg_th.jpg?ver=0abc1ca89b43") repeat-y;
		background-size: 100% auto;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	}

	/*
	 * --- 勤務時間の折りたたみ ---
	 *
	 * 🚨 **畳むのは `assets/js/recruit-info-accordion.js` が付ける目印
	 * （`pa-recruit-acordion`）に掛ける。**JS が動かない閲覧環境では目印が付かず、
	 * 表は開いたままになる（読めなくなる壊れ方をしない）.
	 */
	:is(.entry-content, .page-content__body) .wrap_acordion {
		margin-bottom: 20px;
		border: 1px solid #000;
	}

	:is(.entry-content, .page-content__body) .wrap_acordion .trigger {
		margin: 0;
		padding: 10px 0;
		background: url("../sp/images/company/recruit/recruit_info/bg_tri_off.png?ver=866f1f213a6a") no-repeat right;
		background-size: auto 100%;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size: 19px;
		font-weight: bold;
		text-align: center;
	}

	:is(.entry-content, .page-content__body) .wrap_acordion .trigger.active {
		background-image: url("../sp/images/company/recruit/recruit_info/bg_tri_on.png?ver=cbd3cd9ce365");
	}

	/* 焦点が当たったことを目で分かるようにする（裁定 472）. */
	:is(.entry-content, .page-content__body) .wrap_acordion .trigger:focus-visible {
		outline: 2px solid #a3762b;
		outline-offset: -2px;
	}

	:is(.entry-content, .page-content__body) .wrap_acordion .acordion {
		margin: 0 10px;
		padding: 20px 0 10px;
		border-top: 1px solid #000;
	}

	/* 閉じた状態。JS が目印を付けたときだけ畳む. */
	:is(.entry-content, .page-content__body) .wrap_acordion.pa-recruit-acordion .acordion {
		display: none;
	}

	:is(.entry-content, .page-content__body) .wrap_acordion.pa-recruit-acordion.is-open .acordion {
		display: block;
	}

	:is(.entry-content, .page-content__body) .acordion table :is(th, td) {
		padding: 5px;
		font-size: 15px;
		vertical-align: middle;
	}

	:is(.entry-content, .page-content__body) .acordion table th {
		border: none;
		background-image: none;
		line-height: 1.2;
		text-align: center;
	}

	:is(.entry-content, .page-content__body) .acordion table th span {
		display: block;
		padding: 4px 0;
		background: #888;
		color: #fff;
	}
}

/*
 * --- 募集要項のパソコン幅で、足した移行元スマホ版の区画を隠す（Bug #5258）---
 *
 * すぐ上の携帯幅の塊に在る `:has(.wrap_acordion)` の規則と対になる。裁定 471 で
 * 「移行元スマホ版だけが持つ区画を同じ投稿の本文へ足し、**パソコン幅では CSS で隠す**」と
 * 決まっているが、**隠す側は携帯幅しか入っていなかった**（Task #4436 で入ったのは
 * `@media (max-width: 749px)` の側だけ）。そのため幅 1440px で移行元スマホ版の表 6 個が
 * 余分に描かれ、文字の見出し「仕事内容」「待遇」が出ていた（移行元パソコン版の見出しは
 * 絵なので、文字では出ない）。
 *
 * 🚨 **`.anchor_block` だけを当たり先にしない。**`:has(.wrap_acordion)` を付けて、
 * **足した区画に在るとき**に限る。理由は 2 つある。
 *
 *   1. 投入の前は 1 つも隠さない（本文が空になるのを防ぐ）。携帯幅の側と同じ考え方である
 *   2. `.anchor_block` は移行元スマホ版が別のページでも使う名前である。いま投入データの
 *      全数 6,232 件でこの名前を持つのは募集要項 1 件だけだが、後から増えても巻き込まない
 *
 * 実測（2026-09-09・幅 1440px）: 本文の表 12 個のうち、足した区画の中が 6 個・外が 6 個。
 * 隠すと移行元パソコン版と同じ 6 個になる.
 */
@media (min-width: 750px) {
	:is(.entry-content, .page-content__body) .anchor_block:has(.wrap_acordion) {
		display: none;
	}
}

@media (max-width: 749px) {

	/* 社員紹介の一覧の末尾の文字リンク。移行元
	   public/sp/company/recruit/interview/css/style.css の
	   `.sub_menu { margin: 0 auto 20px; width: 87.5%; background: #f5f5f5; padding: 20px 10px }` /
	   `.sub_menu ul { border-top: 1px solid #ccc }` /
	   `.sub_menu ul li { border-bottom: 1px solid #ccc; background: url(../images/arrow.png) no-repeat right; background-size: auto 100% }` /
	   `.sub_menu ul li a { text-decoration: none; display: block; padding: 10px 0 }`。

	   🚨 **移行元は box-sizing が既定（content-box）で、このテーマは border-box である。**
	   移行元の `width: 87.5%` は中身の幅で、外形は内余白 10px×2 を足した 348.125px に
	   なる（実測）。同じ外形を出すには幅の指定へ 20px を足す。
	   さらに器は画面いっぱい（375px）を基準に中央へ寄るので、本文の柱（345px）から
	   1.5625px ずつはみ出す。負の外余白で戻す。

	   実測（移行元スマホ版 https://www.p-a.jp/sp/company/recruit/interview/ ・375px）:
	     器 348.125 × 164・x = 13.44・外余白 0 13.4375px 20px・内余白 20px 10px・地色 #f5f5f5
	     並び 328.125 × 124・上の罫線 1px solid #ccc
	     項目 328.125 × 41・下の罫線 1px solid #ccc・矢印を右端の中央へ（高さいっぱい）
	     リンク 328.125 × 40・内余白 10px 0・字 13px・行 normal・色 #000・下線なし */
	:is(.entry-content, .page-content__body) .pa-company-sp-sub-menu {
		display: block;
		width: calc(87.5vw + 20px);
		margin: 0 calc((100% - 87.5vw - 20px) / 2) 20px;
		padding: 20px 10px;
		background: #f5f5f5;
		font-size: 13px;
		line-height: normal;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-sub-menu ul {
		margin: 0;
		padding: 0;
		border-top: 1px solid #ccc;
		list-style: none;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-sub-menu li {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #ccc;
		background: url("../sp/company/recruit/interview/images/arrow.png?ver=7da542a70767") no-repeat right center / auto 100%;
		list-style: none;
	}

	:is(.entry-content, .page-content__body) .pa-company-sp-sub-menu a {
		display: block;
		margin: 0;
		padding: 10px 0;
		color: #000;
		font-size: 13px;
		line-height: normal;
		text-decoration: none;
	}

	/* 「先頭へ戻る」が採用情報の区画の中にあると 40px 高くなる（Task #3488）。
	   会社情報の 8 区画へ当てるパソコン版の規則（このファイルの `#company, #profile,
	   #missionstatement, #contribution, #news, #recruit, #interview_top, #photo` を
	   並べた `.page_top`）が id を 1 つ持つため、携帯幅の `p.page_top` に
	   詳細度で勝ってしまう。`float: right` と `padding: 40px 0 0` がそのまま残り、
	   移行元スマホ版の 50.391px に対し dev は 90.4px になる（実測）。
	   ここで携帯幅だけ移行元の値へ戻す。幅（11.875vw）は打ち消されていないので触らない。

	   区画の外に置かれた「先頭へ戻る」（社員紹介の一覧・写真で見るは
	   `div.page_topArea` の中にあり、この囲みは区画の外）は、もともと
	   `p.page_top` が効いて 50.391px で移行元と一致している。

	   実測（移行元スマホ版・375px）: 44.531 × 50.391・x = 165.23・
	   外余白 0 165.234px 30px（= `0 auto 30px`）・内余白 0・回り込みなし */
	:is(.entry-content, .page-content__body)
		:is(#company, #profile, #missionstatement, #contribution, #news, #recruit, #interview_top, #photo)
		p.page_top {
		float: none;
		margin: 0 auto 30px;
		padding: 0;
	}
}

/* =================================
携帯幅で、本文をまとめて包む器の上の内余白 25px（Bug #4443）
=================================

移行元スマホ版は、ページ群ごとの CSS で本文の器へ `#sp_wrap { padding: 25px 0 }` を
置いている。dev の当たり先は `.page-content__body` である（移行元の `#sp_wrap` に
当たる器で、題名と本文をまとめて包む）。

実測（幅 375px・2026-09-07。左が移行元）::

  はじめての方へ `/visitor/`  器の上端 61 → 最初の中身 86（25px）  対  61 → 61（0px）

**埋め合わせは無い。**器の上端は両側とも 61（ヘッダーの下端）で一致し、最初の中身の
上の外余白も両側 0 なので、25px がそのまま位置の差になる。

🚨 **ページ群で絞ること。**`.page-content__body` は全ページ共通の器なので、素の規則に
書くと約 5,000 ページが動く。移行元は**この 25px を持たないページ群のほうが多い**
（入会案内 `/guide/`・支店紹介 `/branch/`・会社情報の入口は 0px で dev と一致している）。

🚨 **会社情報は 5 ページのうち 1 ページだけが対象である。**移行元の 5 ページのうち
自前の CSS を読むのは 2 ページ（社会貢献活動・上場に関するお知らせ）で、さらに器
`#sp_wrap` を持つのは**社会貢献活動だけ**である（上場に関するお知らせは CSS を読むが
器を持たないので効かない）。

🚨 **サービス区画の 4 ページはここに書かない。**あちらは区画の写し
（`assets/service/css/bridge.css`）で同じ 25px を持っている（Bug #4140）。ここへ足すと
二重になる。5つの約束は題名の器自身が 25px を持つのでこれも対象外。

🚨 **成婚コンシェルジュの目印は `inc/concierge-page-css.php` が付ける。**区画の写しは
`(min-width: 750px)` でしか配られないので携帯幅へ届かない。理由は同ファイルの注釈。

🚨 **下の 25px もここで置く（Bug #6307）。**移行元の `#sp_wrap` は `padding: 25px 0` で
下にも 25px を持つ。Bug #4443 の注釈は「dev の下側が合っているかは未確認」として
保留にしていたが、**2026-09-15 00:54 に 4 画面とも実測した。**

🚨 **その注釈が挙げていた「裁定 342」は、この保留の出どころではない。**正本
（`pa-verify-assets/hq-decisions.md` 267 行）の裁定 342 は
**「#4140 の受入基準は題名の器 `span.pa-service-sp-title` の上端が 86px で測る」**で、
本文の器の下の内余白には触れていない。**番号の取り違えである。**
この 25px に関わる裁定は **469**（同 492 行）で、
「移行元の携帯版の器 `padding: 25px 0` が 11 ページ群・dev は上 0 下 20」の**実測を承認**した
ものである。**保留そのものを決めた裁定は正本に見当たらない。**

🚨 **成婚コンシェルジュはこの規則から外す。**4 画面の移行元 `#sp_wrap` の内余白を
測ったところ、**3 画面は `25px 0` で、成婚コンシェルジュだけ `0` だった。**

  | 画面                              | 移行元 `#sp_wrap` | dev（直す前）          |
  |-----------------------------------|-------------------|------------------------|
  | はじめての方への入口 `/visitor/`  | **25px 0 25px 0** | 25px 0 **0** 0         |
  | 婚活のすすめ方 `/visitor/method/` | **25px 0 25px 0** | 25px 0 **0** 0         |
  | 社会貢献活動 `/company/contribution/` | **25px 0 25px 0** | 25px 0 **0** 0     |
  | 成婚コンシェルジュ `/concierge/`  | 🚨 **0 0 0 0**    | 🚨 **25px** 0 0 0      |

**成婚コンシェルジュは「足りない」ではなく「余っている」。**同じ類名の要素を両側で
比べて確かめた（`div.page-concierge` の上端が移行元 61 対 dev 86）。はじめての方への
入口では同じ測り方で両側とも 86 で一致するので、測り方の差ではない。
**2026-09-15 03:00 に、配信の版が変わったあとでも同じ値だった。**

**Bug #4443 がこの 4 つを 1 つの `:is()` にまとめたとき、測っていたのは
`/visitor/` の 1 画面だけだった。**残る 3 画面は確かめずに入れていた。

控え: `pa-verify-assets/D4/6292-after/結果-6292配信後.json`（21 本・00:54:32〜00:54:51）
と `結果-0915-0303.json`（7 本・03:00:06〜03:00:14）。幅 375×667・DPR2・タッチ
（iPhone SE のエミュレーション）・携帯の名乗り・dev は `?cb=` 付き。

婚活スポットは対象外（移行元スマホ版がエリア別 323 ページ＋詳細 3,004 ページという
別の作りで、dev の 7 ページと 1 対 1 で対応しない）。

🚨 **下の 25 は外した（Bug #8423・2026-09-25）。**移行元の `#sp_wrap` は、来店予約・資料請求の
帯と「先頭へ戻る」（取り込み `include/box_support_sp.shtml`）より**前で閉じる**
（`sp/company/contribution.html` の 49〜65 行が `#sp_wrap`・66 行が取り込み）。だから移行元の
下の 25 は帯の上に在り、押しボタンの下には無い。dev は帯と押しボタンを本文の器の中に置くので、
器の下の 25 が**押しボタンの下**に来て、3 画面とも押しボタンの下端からフッターの最初の字までが
移行元 84 に対し dev 79 だった（幅 375 の実測）。

下の内余白は押しボタンの後ろにしか効かないので、外しても本文の最後から帯までの空きは動かない。
その空きの差（社会貢献活動 dev 85 ／移行元 40・婚活のすすめ方 dev 15 ／移行元 80）は別の Bug で扱う. */
@media (max-width: 749px) {
	body:is(.pa-visitor--top, .pa-visitor--method, .pa-company-page--contribution) .page-content__body {
		padding: 25px 0 0;
	}
}

/* ==============================================================
 * ご成婚報告の段落の下外余白（Bug #2501）
 *
 * 移行元は段落に下外余白を持たない（`public/css/common.css` の `p { margin-bottom: 1em }`
 * はコメントアウトされており、間隔は道具クラスで作る）。テーマは
 * `.entry-content p` / `.page-content__body p` へ一律に `--pa-article-paragraph-gap`（25px）
 * を与えるので、移行元が 0px の段落だけが 25px ぶん伸びる。**成婚ムービー（Issue #2458）と
 * 同じ構図**である。
 *
 * ## 実測（2026-09-08・幅 1440px・器を両側 `#seo` で揃えた）
 *
 *   段落        場所  組                          移行元  dev   判定
 *   1・2        外    copy _gold serif / copy serif   15    15   一致
 *   3〜9        中    裸 / eq-cta-title / tac margint30  0    25   🚨 直す
 *   10          外    tac                            32    32   一致
 *   11〜13      外    裸                             16    16   一致
 *   14〜16      外    mt30                            0    25   🚨 直す
 *
 * **直すのは 10 段落**である（`.report_inner` の中の 7 個と、その外の `p.mt30` 3 個）。
 * 一致している 6 段落（15 / 32 / 16px）には触らない。
 *
 * 🚨 **14〜16 は移行元の写しにも在る。ページの HTML には無く、差し込み先に在る。**
 * 移行元のページは PHP の `include_once` で中身を組み立てる。ご成婚報告のページ本体は
 * 5.5KB しかなく、この 3 段落は差し込み先の `public/word/include/cv.shtml`（婚活の
 * 悩みへの呼びかけ。`div.problem-area__inner` 全体がこのファイル）に在る。
 * **`report/*.html` だけを検索して「写しに無い」と結論するのは誤りである**
 * （2026-09-08 に一度そう書いた。裁定 524 と同じ形の誤読）。
 *
 * 🚨 **この呼びかけは共通部品で、移行元では 950 ページ（PC 版）に差し込まれる**
 * （`word` 693 / `report` 124 / `konkatsu-sp` 67 / `contents` 66。ほかに携帯版 `sp` が 948）。
 * だから当たり先はページ群の印（`.pa-page--report`）で必ず絞る。
 *
 * 移行元の `.mt30` は上外余白 30px だけで、下は既定の 0 である（写しの `style.css` 277 行）。
 * dev も上の 30px は保っているので、**下だけを戻す**。
 *
 * ## 当てる範囲
 *
 * 🚨 **`.report_inner` はご成婚報告 124 ページだけのものではない。**移行元を全数で
 * 検索すると `report` 124 ページと `konkatsu-sp` 67 ページに在る。**ページ群の印で必ず絞る。**
 *
 * ご成婚報告は投稿型が `page` で、印は **`pa-page--report`** である（`page.php` が
 * URL の先頭ディレクトリから作る）。記事型の `pa-article--` ではない。
 *
 * ## 携帯幅は触らない
 *
 * 移行元は携帯版を別ページ（`/sp/report/` に 154 本）で作っており、この寸法を写す相手が
 * 無い（Issue #2458 の節と同じ理由）。指定は `@media (min-width: 750px)` の中に閉じる.
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	.pa-page--report .report_inner p,
	.pa-page--report .problem-area__inner__contents p.mt30 {
		margin-bottom: 0;
	}
}

/* --------------------------------------------------------------
 * ご成婚報告の一覧の段落の下外余白（Task #4782）
 *
 * 移行元は本文の段落の外余白を、サイト共通の初期化で 0 にしている（写し元
 * `public/css/common.css` の 76〜79 行の
 * `blockquote, dd, div, dl, dt, h1〜h6, li, ol, p, … { margin: 0; padding: 0 }`）。
 * 🚨 **同じファイルの 321 行にある `p { margin-bottom: 1em }` は注釈で囲われていて
 * 効かない。**テーマは本文の既定（`--pa-article-paragraph-gap` 25px）を持つため、
 * 一覧ページの段落だけが移行元より 25px ぶん空いていた。
 *
 * ## 直すのは一覧の 2 種類だけ（記事ページには差が無い）
 *
 * 代表 7 ページ（一覧 5・記事 2）を幅 1440px と 1200px で突き合わせた。
 * **記事は全数一致で、差が出たのは一覧 3 ページだけ**である。
 *
 *   ページ                  差の出た段落  器（`#seo`）の高さ（移行元 → dev）
 *   /report/（入口）          7 / 10 個   1495.31 → 1595.31（+100）
 *   /report/index_201211/    26 / 29 個   2581.94 → 3231.94（+650）
 *   /report/index_201402/    ─            1756.94 → 2106.94（+350）
 *   /report/index_2012/       0 個        一致（触らない）
 *   /report/index_2013/       0 個        一致（触らない）
 *
 * 差が出る段落の居場所は 2 種類だけだった（1 個ずつ道すじを出して確かめた）。
 *
 *   1. `#seo .yearIndex .paddingb30 > p` … 年別の一覧の説明文と
 *      「◯年のご成婚報告はこちら」
 *   2. `#seo` の直下でクラスを持たない `p` … 入口の
 *      「一般の方を対象にした「おとなの婚活パーティー」…」1 個
 *
 * ## 🚨 `#seo p` のように広く書いてはいけない
 *
 * Task #4701 の検討で `#seo p { margin: 0; line-height: inherit }` を記事へ当てて
 * 測ったところ、**移行元と一致していた 3 か所が壊れた**（器 4276.03 → 4126.16 /
 * 申し込みの導線 988.05 → 908.05 / 呼びかけの囲み 1135.13 → 1065.25）。
 * `.word-cta p { margin-bottom: 1rem }` などの個別の指定と詳細度が並び、後から書いた
 * 基底が勝つためである。
 *
 * ## 🚨 `:not([class])` は外してはいけない
 *
 * `#seo` の直下には `p.copy`（下 15px）・`p.read`（下 35px）・`p.margint30`（下 0px）も
 * 居る。**この 3 つは移行元と既に一致しており、`#seo > p` と書くと ID の強さで
 * 上書きして壊す。**
 *
 * ## 携帯幅は触らない
 *
 * 移行元は携帯の名乗りに別ページ（`/sp/report/`）を返すので、携帯幅の正はそちらで
 * ある（Bug #4706 のユーザー決定「見た目だけそろえる」の対象。#2910 の裁定 673 と
 * 同じ形）。この帯を外して測ると、携帯幅で器が 2209.5 → 2146.5 に縮んでしまう。
 *
 * ## 当てたあとの実測
 *
 *   幅 1440 / 1200 / 750px … 残る食い違い 0 件（差のあった 3 ページが移行元と一致し、
 *                            差の無かった 2 ページは動かない）
 *   幅 375 / 320px        … dev の値が 1 つも動かない
 *   陰性対照               … 記事の申し込みの導線 988.05 と呼びかけの囲み 1135.13 が
 *                            移行元と一致したまま動かない
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	body .pa-page--report .page-content__body #seo .yearIndex p {
		margin: 0;
	}

	body .pa-page--report .page-content__body #seo > p:not([class]) {
		margin: 0;
	}
}

/* --------------------------------------------------------------
 * 404 ページ（`/notfound/`）の本文の組み（Bug #4617）
 *
 * 移行元はこのページだけが読む CSS を 2 本持ち、その中の 3 つの宣言が dev に入って
 * いない。**投入は本文の HTML と絵しか取り込まないため**である。当たり先は残っている
 * （投入した本文が `<section id="event_top" class="clearfix">` と `<div id="notfound">`
 * を保っている）ので、宣言だけを写す。
 *
 *   `#event_top { text-align: center }`  … 移行元 `css/page_event_top.css` 14 行
 *   `#event_top { padding: 0 0 30px }`   … 同 12 行
 *   `#notfound { padding: 50px 0 }`      … 移行元 `css/page_top.css` 1675〜1677 行
 *
 * 実測（幅 1440px・2026-09-08。左が移行元・右が dev の直す前）::
 *
 *   #event_top  高さ 170 対 73 ／ 寄せ center 対 start
 *   #notfound   高さ 140 対 73 ／ 上の内余白 50px 対 0
 *   両方        左 170 ・幅 1100px で一致（器は合っていて中身の組みだけが違う）
 *
 * ## 🚨 移行元の `width: 1100px` は写さない
 *
 * 移行元 `#event_top` は `width: 1100px` も持つが、**dev は本文の器
 * （`.page-content__body`）が既に 1,100px の柱を作っている。**入れ子で二重に書くと、
 * 器の幅が変わったときに追随しない。実測でも両側の左端と幅は 170 / 1100px で一致して
 * いるので、写す必要が無い。
 *
 * ## 🚨 字の設計は直さない（裁定 561）
 *
 * 本文の字 13px 対 16px・行送り `normal` 対 24px・段落の間の空き 0 対 25px は、
 * **移行元がサイト全体へ配る値**であって 404 だけの値ではない
 * （`css/common.css` 29 行の `body { font-size: 13px }` と、75〜78 行の初期化
 * `p { margin: 0; padding: 0 }`。`p { margin-bottom: 1em }` はコメントアウト済み）。
 * 台帳 123 行（裁定 103）が同じ筋を「移行元の不具合を写さない」として承認している。
 *
 * **そのため直したあとも高さは一致しない。**実測（幅 1440px）は `#notfound` が 140 対
 * **198**、`#event_top` が 170 対 **228** で、**+58px 残る**。内訳は 2 つで、字の設計の
 * 差が 33px、**最後の段落の下の外余白が 25px** である（下の内余白 50px を足すと、
 * それまで器の外へ抜けていた 25px が器の中へ収まる）。
 *
 * ## 🚨 当たり先を素の id にしない
 *
 * `#event_top` は**移行元のイベントのページ群が使う名前**なので、素の id に当てると
 * ほかのページへ漏れる。`body.pa-notfound-page` で絞る（目印は
 * `inc/notfound-page-css.php` が、投入した本文の「移行元の道すじ」の控え
 * `_pa_source_url_path` が `/notfound.html` のときだけ付ける）。
 * **`page-id-3785` は使わない**（投稿の番号は投入し直すと変わる）。
 *
 * ## 🚨 携帯幅には当てない（当てる相手の値が無い）
 *
 * **移行元には 404 のスマホ版が無い**（`sp/notfound.html` は存在しない）。移行元は
 * 375px でもパソコン版を出すので、`#notfound` は**幅 1,100px のまま画面からあふれる**
 * （幅 375 / 320px の実測でどちらも 左 0・幅 1100・高さ 140・寄せ center・上の内余白 50px）。
 *
 * **その組みは写さないと決まっている**（台帳 92 行の②「移行元の横スクロールを写さず、
 * 画面幅に収める」）。**つまり携帯幅には「写す相手の値」が無い。**dev の携帯幅は
 * 自前の応答設計（幅 345px・字 15px）で出しており、そこへ中央寄せと 50px を足すのは
 * 移行元にもとづかない当て推量になる。**そのため `@media (min-width: 750px)` に閉じる。**
 *
 * 実測（幅 320px・当てた場合と当てない場合）: 高さ 271 対 153。**当てると 118px 動く。**
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	body.pa-notfound-page #event_top {
		padding: 0 0 30px;
		text-align: center;
	}

	body.pa-notfound-page #notfound {
		padding: 50px 0;
	}
}

/* --------------------------------------------------------------
 * 結婚相談所のすゝめ（/word/）の呼びかけの囲みの高さ（Bug #4702）
 *
 * ## 何が違っていたか
 *
 * 移行元の呼びかけ（共通部品 `word/include/cv.shtml`）は、**見出しもボタンも画像**で
 * 作られている。dev はこれを文字へ変換済みで（`pa-cv-title` と斜線帯・
 * `pa-cv-emphasis`）、変換そのものは全体原則どおりである。
 *
 * 🚨 **差の正体は行送りではなく、行の中に置いた画像の下にできる空きである。**
 * 画像は行の中に置かれるので、箱の高さは「画像の高さ ＋ 文字の下がりぶんの空き」に
 * なる。移行元の実測（幅 1440px・2026-09-08）:
 *
 *   | 箱 | 移行元の高さ | 中身 | 画像の下の空き |
 *   |---|---:|---|---:|
 *   | 見出し `h2.contents-title` | 91 | 画像 950×74 | **17** |
 *   | ボタンの札 `li` ×3 | 86 | 画像 300×80 | **6** |
 *
 * dev は見出しが 76（文字 45 ＋ 斜線帯までの内余白 31）、札が 80（押しボタンの高さ）で、
 * 合わせて 22px 低かった。**行送りを `normal` に戻す直しでは合わない**（見出しが 99px に
 * なり 8px 行き過ぎる。実測）。
 *
 * ## どう合わせたか
 *
 * **斜線帯を動かさずに箱だけ伸ばす。**見出しの下の内余白を 31 → 46px にし、
 * 斜線帯（`::after`）を `bottom: 15px` へ持ち上げる。帯の位置は文字の下 26px のままで、
 * 箱だけが 76 → 91px になる（46 − 15 − 5 ＝ 26）。札は下の内余白 6px で 80 → 86px。
 *
 * ## 当てる範囲
 *
 * 🚨 **この呼びかけは共通部品で、移行元では 950 ページに差し込まれる**
 * （`word` 693 / `report` 124 / `konkatsu-sp` 67 / `contents` 66）。**画像を文字へ
 * 変換した印（`pa-cv-title`）が付くのは結婚相談所のすゝめだけ**で、ほかの 3 群は
 * 画像のままである（4 群の実測）。さらに `pa-cv-title` は広告の単発ページでも使うため、
 * **コラムだけの印 `pa-post--word`（`content-single.php` の `post_class`）で必ず絞る。**
 *
 * 陰性対照の実測（幅 1440px）: ご成婚報告・婚活のお悩み・お役立ちの 3 群は
 * 囲み・見出し・ボタンとも 1px も動かない。
 *
 * ## 携帯幅は触らない
 *
 * 移行元は携帯版を別ページ（`/sp/word/`）で作っており、この寸法を写す相手が無い。
 * 指定は `@media (min-width: 750px)` の中に閉じる。
 *
 * ## 強調の見出しの 1px（Bug #8948 で直した）
 *
 * 強調の見出し（`h3.emphatic-title`）は、共通の規則では上下の行を 58px ずつにそろえて
 * 187px である（このファイルの `.pa-cv-emphasis__line` の注釈）。**共通の規則は 187 のまま**にし、
 * すゝめの記事だけ移行元の絵 188px に合わせて 3 行目を 59px にしてある（Bug #8948・PR #9041・
 * 「記事に共通する 3 つの部品の高さ」の節の (イ)）.
 * -------------------------------------------------------------- */

@media (min-width: 750px) {
	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-title {
		padding-bottom: 46px;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .pa-cv-title::after {
		bottom: 15px;
	}

	.pa-post--word .entry-content .problem-area__inner:has(.pa-cv-title) .button-wrap li {
		padding-bottom: 6px;
	}
}

/* ==============================================================
   キャンペーンページ（`/cp/<投稿名>/`・投稿型 pa_banner）
   Task #5057

   移行元 `https://www.p-a.jp/cp/2302/css/style.css?20250818`（189 行）を写した。
   取得は 2026-09-09 11:06 JST。移行元のこのファイルは画面幅の切り替えを 1 つも
   持たない（携帯版は別ページ `/sp/cp/2302/` が受け持つ）。

   🚨 **すべて `.single-pa_banner` で絞る。**写した名前（`.outline` `.note` `.sec02`
   `.mt10` など）は、どれも短くありふれていて、ほかの区画の投入した本文に同じ名前が
   在りうる。WordPress は投稿型の単体表示に `single-pa_banner` を `body` の目印として
   自動で付けるので、テーマ側で目印を作る必要は無い。

   写していないもの:
     `main { font-family: … }`  … 移行元がこのページだけに当てる書体。dev はサイト共通の
                                  書体を `.site-main` で配っており、ここだけ変えると
                                  ほかのページとの並びが崩れる（裁定 561 と同じ筋で、
                                  サイト全体へ配る値はページ単位で写さない）
     `figure { margin/padding: 0 !important }` … 移行元は素の `figure` へ当てているが、
                                  ここでは `.single-pa_banner` の中だけに絞って写す
   ============================================================== */

.single-pa_banner .serif {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.single-pa_banner .mainImg {
	margin: 0 auto 50px;
	padding: 0;
	font-size: 0;
}

.single-pa_banner .mainImg img {
	width: 100%;
}

.single-pa_banner .mt10 {
	margin-top: 10px;
}

.single-pa_banner .mt20 {
	margin-top: 20px;
}

.single-pa_banner .mt30 {
	margin-top: 30px;
}

.single-pa_banner .mt40 {
	margin-top: 40px;
}

.single-pa_banner .mb40 {
	margin-bottom: 40px;
}

.single-pa_banner figure {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0;
}

.single-pa_banner .cp_inner {
	width: 1100px;
	margin: 0 auto;
	background: #fff;
}

.single-pa_banner .mainvisiaul {
	width: 900px;
	text-align: center;
	margin: 0 auto;
	font-size: 0;
}

.single-pa_banner .mainvisiaul img {
	max-width: 900px;
	margin: 0 auto;
}

.single-pa_banner .mainvisiaul h2 {
	margin: 0 !important;
	padding: 25px 0 20px !important;
}

.single-pa_banner .content_inner {
	max-width: 100%;
	margin: 0 auto;
}

.single-pa_banner .content_inner + .content_inner {
	margin-top: 50px !important;
}

.single-pa_banner .content_inner figure img {
	margin-left: 10px;
}

.single-pa_banner .credit {
	width: 100%;
	line-height: 1.4;
	font-size: 11px;
	color: #fff;
	text-align: left;
	padding-bottom: 20px;
}

.single-pa_banner .outline > p {
	font-size: 16px;
	line-height: 1.6;
}

.single-pa_banner .outline > .note {
	width: 100%;
	margin: 20px auto 0;
	line-height: 1.6;
	font-size: 14px;
	color: #333;
	text-align: left;
}

.single-pa_banner .note span {
	margin-bottom: 5px;
}

.single-pa_banner .note p a {
	color: #333;
}

.single-pa_banner .note p:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.single-pa_banner .note .bold {
	font-weight: bold;
}

.single-pa_banner .sec01 {
	width: 1100px;
	margin: 10px auto 20px;
	padding: 10px 0 30px;
}

.single-pa_banner .sec01 .content_inner {
	margin: 0 auto;
	text-align: center;
}

.single-pa_banner .sec02 {
	width: 900px;
	margin: 0 auto 20px;
	padding: 0 0 30px;
}

/* 申し込みのボタン */

.single-pa_banner .btn_link {
	margin: 40px auto 50px;
	width: 330px;
	list-style: none;
	padding: 0;
	text-align: center;
}

.single-pa_banner .btn_link li {
	border-radius: 10px;
}

.single-pa_banner .btn_link li:nth-of-type(1) {
	background: #e92319;
	width: 330px;
	height: 71px;
	text-align: center;
}

.single-pa_banner .btn_link li a {
	color: #fff;
	text-align: center;
	margin-right: 10px;
	line-height: 71px;
	font-size: 22px;
	text-decoration: none;
	display: block;
	position: relative;
}

.single-pa_banner .btn_link li:hover {
	opacity: 0.9;
}

.single-pa_banner .btn_link li a:before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: #fff 1px solid;
	position: absolute;
	top: 66%;
	right: 0.3%;
}

.single-pa_banner .btn_link li a:after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: #fff 1px solid;
	border-right: #fff 1px solid;
	position: absolute;
	top: 42%;
	right: 1%;
	transform: rotate(45deg);
}

.single-pa_banner .btn_link span {
	font-size: 22px;
	background: #fff;
	color: #000;
	padding: 5px;
	margin-right: 10px;
}

.single-pa_banner .outline > .cp-title {
	font-size: 22px;
	font-weight: bold;
	border-bottom: 2px solid #000;
	padding-bottom: 10px;
	margin-bottom: 25px;
	margin-top: 25px;
	line-height: 1.4;
}

/* --------------------------------------------------------------
   キャンペーンページの携帯幅（Task #5225）

   移行元は携帯版に**別のページ**（`/sp/cp/2302/`）を配り、専用の CSS を 1 本持つ
   （`/sp/cp/2302/css/style.css?20251209`・当たり先 35 本）。取得は 2026-09-09 13:37 JST。

   🚨 **両版は同じ名前の当たり先を別の値で使う。**パソコン版を写しただけの状態
   （Task #5057）では携帯幅が崩れる。とくに `width: 1100px` `900px` `330px` の 3 つは、
   375px の画面で横にはみ出す。

   ## ここで入れたもの（2 つ）

   1. **パソコン版の固定幅を携帯幅で解く**（横にはみ出させない）
   2. **両版に在って値が違う当たり先のうち、本文の作りが同じ区画のもの**
      （`.outline` の中と `.btn_link`。両版の HTML を突き合わせて同じ入れ子であることを
      確かめた）

   ## 🚨 ここで入れていないもの（本文の作りが決まってから）

   移行元は**携帯版で HTML も変えている**（2026-09-09 13:37 JST の実測）。

   | 部品 | パソコン版 | 携帯版 |
   |---|---|---|
   | 主役の絵 | `<h2><img …_pc.jpg>` | `<h2 class="mainImg"><img …_sp.jpg>` |
   | のりかえ割の絵 | `<div><img …_pc.webp>` | `<div class="mainImg"><img …_sp.webp>` |
   | 外枠 | `.cp_inner` | `.contents` > `.main-area` |
   | 申し込み | `<ul class="btn_link serif">` | `clearfix` が増える |

   **移行先に入る本文がどちらの形になるかは、まだ決まっていない**（投入の台本
   `scripts/pa-cms/seed-banners.php` は題名・リンク先・絵だけを入れ、本文を作らない）。
   そのため、携帯版だけに在る当たり先（`.contents` `.main-area` `.mainImg` `figure img`
   `.note p` `.sec01` 系）は**本文が入ってから当てる**。絵の差し替えは Task #5062 が持つ。
   -------------------------------------------------------------- */

@media (max-width: 749px) {

	/* 1. パソコン版の固定幅を解く（375px で横にはみ出さないようにする） */

	.single-pa_banner .cp_inner {
		width: auto;
		margin: 0 auto;
		padding: 0;
	}

	.single-pa_banner .mainvisiaul {
		width: auto;
	}

	.single-pa_banner .mainvisiaul img {
		max-width: 100%;
		height: auto;
	}

	.single-pa_banner .sec02 {
		width: auto;
	}

	.single-pa_banner .sec01 {
		width: 100%;
		margin: 0 auto;
		padding: 10px 0 20px;
	}

	/* 2. 両版に在って値が違うもの（本文の作りが同じ区画） */

	.single-pa_banner .content_inner {
		width: 90%;
		text-align: center;
	}

	.single-pa_banner .content_inner + .content_inner {
		margin-top: 20px !important;
	}

	.single-pa_banner .outline > p {
		font-size: 15px;
	}

	.single-pa_banner .outline > .note {
		font-size: 13px;
	}

	.single-pa_banner .outline > .cp-title {
		font-size: 16px;
		margin-top: 20px;
		margin-bottom: 5px;
	}

	.single-pa_banner .btn_link {
		width: 100%;
		margin: 30px auto 10px;
	}

	.single-pa_banner .btn_link li {
		width: 100%;
		height: 71px;
		text-align: center;
	}

	.single-pa_banner .btn_link li:nth-of-type(1) {
		width: auto;
		height: 70px;
		margin: 0 auto 30px;
	}

	.single-pa_banner .btn_link li a {
		width: 100%;
		margin-right: 16px;
	}

	.single-pa_banner .btn_link li a:before {
		right: 5%;
	}

	.single-pa_banner .btn_link li a:after {
		right: 5.5%;
	}
}

/* ------------------------------------------------------------------
 * Bug #5483: ご来店・ご入会の流れの区画の絵を、携帯幅で器の幅いっぱいに伸ばす
 * 写し元: sp/branch/css/style_area1.css:2064（`.page-branch .flow-img img { width: 100% }`）
 *
 * 移行元のスマホ版は、この区画の絵 4 枚を器の幅いっぱいまで引き伸ばす。dev には
 * 指定が無いので、**絵の元の大きさ（560 × 300）で止まる**。器が 560px より狭いうちは
 * どちらも器の幅に収まるため差が出ず、**幅が 560px を超えた瞬間から移行元だけが
 * 伸び続ける**。
 *
 * 実測（千葉店・2026-09-10 03:17）:
 *
 * | | 375px の絵 | 749px の絵 |
 * |---|---|---|
 * | 移行元 | 335 × 179.45 | 709 × 379.81 |
 * | dev | 335 × 179.45 | 560 × 300 |
 *
 * 絵 4 枚 × (379.81 − 300) = 319.24px。区画の高さの差は 320 / 375px では −49.01px
 * なのに、749px では −368.25px まで開いていた（319.24 + 49.01 = 368.25 で一致）。
 *
 * 🚨 **残る −49.01px はこの指定では直らない。**3 幅とも同じ量なので別の原因である。
 * Bug #5483 に「残る差 49px」として書き、この PR では触らない（司令塔の指示）。
 *
 * 🚨 **移行元はこの指定をスマホ版にしか持たない。**パソコン版の
 * `branch/css/style_area1.css` には `flow-img` の規則が 1 つも無い。だから
 * 携帯幅の帯の中だけに置く。パソコン幅の 2 列組み（`main.css` の
 * `@media (min-width: 1100px)` の節・Task #1890）には触らない。
 *
 * 🚨 **dev はこの区画に `div.l-container.flow` を 2 つ持つ**（移行元は 1 つ）。
 * 中の類名（`flow-come` / `flow-join`）も同じものが 2 組ある。**1 つ目の器は絵を
 * 1 枚も持たない**（字 77・絵 0）ので、絵に当てるこの指定は 1 つ目を動かせない。
 * `:nth-of-type()` で絞る代わりに、**検査で「1 つ目の器の絵は 0 枚」を確かめる**。
 * ------------------------------------------------------------------ */
@media (max-width: 749px) {

	.pa-profile-legacy-compat .pa-branch__content .flow-img img {
		width: 100%;
	}
}

/* ------------------------------------------------------------------
 * Bug #6904 / Task #7025: 流れの絵の器に、移行元スマホ版と同じ行の高さと下余白を置く
 * 写し元: sp/branch/css/style_area1.css:2059
 *         （`.page-branch .flow-img { line-height: 0; margin-bottom: 10px }`）
 *
 * 🚨 **上の Bug #5483 は「中の絵」だけを写し、この「器」の 2 宣言を写していなかった。**
 * #5483 の注釈にある「残る −49.01px は 3 幅とも同じ量なので別の原因」が、これに当たる。
 *
 * ------------------------------------------------------------------
 * 実測（2026-09-17 20:45・町田店 375px・走行 1 本）
 * ------------------------------------------------------------------
 * | 見たもの | 移行元スマホ版 | dev | 差 |
 * |---|---:|---:|---:|
 * | 器 `div.flow-img` の高さ | 179.45 | 185.45 | ＋6.00 |
 * | 中の絵 `img` の高さ | 179.45 | 179.45 | ±0.00 |
 * | 絵の下に残る空き（器 − 絵） | 0 | 6 | ＋6 |
 * | `line-height` | `0px` | `normal` | — |
 * | `margin-bottom` | `10px` | `0px` | −10 |
 * | **1 個あたりの合計** | | | **−4.00** |
 *
 * 画面に出ている 4 個 × −4.00 = **−16.00**。区画の先頭からの相対位置の分解
 * （`div.flow-container` ごとに −4.00 ずつ積み上がる）と完全に一致した。
 *
 * 🚨🚨 **2 つの宣言は効く向きが逆である。**`line-height: 0` は器を低くし（−6）、
 * `margin-bottom: 10px` は高くする（＋10）。**どちらか片方だけを書くと、直すつもりが
 * ずれを大きくする。**（`line-height` だけ → −6 の上乗せ／`margin-bottom` だけ → ＋10）
 * **合計だけ見て「原因は 1 つ」と読まないこと。**
 *
 * `line-height: 0` が効く理屈: `img` はインラインの箱なので行ボックスの中に置かれ、
 * ベースラインより下（降り部）の空きが器に残る。行の高さを 0 にすると、その空きが消える。
 *
 * ------------------------------------------------------------------
 * 🚨 なぜ携帯幅の節の中だけなのか
 * ------------------------------------------------------------------
 * **移行元はこの規則をスマホ版にしか持たない。**パソコン版の
 * `branch/css/style_area1.css` には `.flow-img` の規則が **1 つも無い**
 * （2026-09-17 20:1x に `command grep` でミラーを数えた。0 件）。
 * だからパソコン幅では何も当てない。**パソコン幅の 2 列組み（Task #1890）には触らない。**
 *
 * ------------------------------------------------------------------
 * 🚨 当たり先を短くしない
 * ------------------------------------------------------------------
 * `line-height` と `margin-bottom` を `div.flow-img` に当てうる規則を、この CSS の
 * 全体から数えると **0 件**である（2026-09-17 20:5x・祖先の類名と末尾の要素名で絞って確認）。
 * いま競合が無くても、**上の #5483 の規則と祖先をそろえておく**。そろえておけば、
 * 後から `.pa-profile-legacy-compat .pa-branch__content …` の形で規則が増えても
 * 同じ土俵で戦える。**縮めると静かに負ける**（Bug #6900 で 1 度踏んだ）。
 * ------------------------------------------------------------------ */
@media (max-width: 749px) {

	.pa-profile-legacy-compat .pa-branch__content .flow-img {
		margin-bottom: 10px;
		line-height: 0;
	}
}

/* ==============================================================
   提携先の皆さまへ（/tie-up/）の予告編の枠（Bug #4279）

   枠そのものは `inc/tie-up-movie.php` が本文の中へ差し込む。ここは器の見た目だけを
   持つ。

   パソコン幅は移行元のパソコン版と同じ 700 × 395px をそのまま出すので、器には何も
   書かない（枠の `width` / `height` 属性が寸法を決める）。

   🚨 **携帯幅は移行元スマホ版の 16 対 9 の箱を写す。**移行元は
   `sp/tie-up/css/style.css` の 23〜33 行で `#tie-up .fortuna .video` を
   `position: relative; height: 0; padding: 30px 0 56.25%; overflow: hidden` にし、
   中の枠を `position: absolute; top: 0; left: 0; width: 100%; height: 100%` で
   親いっぱいに広げる。**この箱が無いと 700px の枠が幅 320px / 375px で横へはみ出す。**
   上の 30px も移行元の値である（箱の高さに足されるが、枠は箱いっぱいなので枠の上端
   から描かれる）.
   ============================================================== */

/* --------------------------------------------------------------
   移行元が携帯版だけ 2 枚に分けている題の絵（Bug #8048）

   絵そのものは `inc/tie-up-eq-sp.php` が題の直後へ差し込む。ここは出し隠しだけを持つ。

   🚨 **既定は隠す。**携帯幅のために足した札は、そのままだとパソコン幅にも出る。
   移行元のパソコン版は `scc_ttl01.png` 1 枚だけで、この絵を持たない。

   🚨 **この既定を下の `@media` より後ろへ動かさない。**後ろに置くと携帯幅でも
   後勝ちして隠れたままになる。
   -------------------------------------------------------------- */

.pa-tie-up-eq-sp {
	display: none;
}

@media (max-width: 749px) {
	/*
	 * 移行元の携帯版は `<div class="eq">` の直下に `<p><img src="sp_eq_img01.png"></p>` を
	 * 置き、絵を器いっぱいに広げる（幅 375 で 375 x 344.05・`sp/tie-up/css/style.css`）.
	 */
	.pa-tie-up-eq-sp {
		display: block;
		margin: 0;
	}

	.pa-tie-up-eq-sp img {
		display: block;
		width: 100%;
		height: auto;
	}

	.pa-tie-up-movie {
		position: relative;
		height: 0;
		padding: 30px 0 56.25%;
		overflow: hidden;
	}

	.pa-tie-up-movie iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

/* ------------------------------------------------------------------
 * Bug #5188: お客様の声のうち、移行元スマホ版に無い 2 件を携帯幅で隠す
 *
 * 移行元はパソコン版 6 件・スマホ版 4 件で、dev は 1 つの本文（パソコン版の作り）を
 * 両方の幅で出すため、携帯幅でも 6 件出ていた。
 *
 * | 店 | 移行元パソコン版 | 移行元スマホ版 | 携帯で消える札 |
 * |---|---:|---:|---|
 * | 札幌 | 6 件 | 4 件 | 2 件目・4 件目 |
 * | 高崎 | 6 件 | 4 件 | 2 件目・4 件目 |
 * | 福岡 | 6 件 | 4 件 | 4 件目・6 件目 |
 *
 * 印を付けるのは `inc/branch-voice-pc-only.php`（表示のときに位置で `li` へ足す）。
 * ここはその印を携帯幅で隠すだけである（組み立ては PHP・並べ方は CSS）。
 *
 * 🚨 **`:has()` は要らない。**印は中の `p` ではなく `li` そのものに付く。
 *
 * 🚨 **パソコン幅では隠さない。**移行元パソコン版は 6 件のままである。
 *
 * 🚨 **仙台店には当たらない。**あの店のお客様の声はまるごと注釈の中で、移行元・dev
 * とも 0 件である。印を付ける表にも入っていない。
 * ------------------------------------------------------------------ */
@media (max-width: 749px) {

	.pa-branch__content .voice-list li.pa-branch-voice-pc-only {
		display: none;
	}
}

/* ------------------------------------------------------------------
 * Bug #6218: 福岡店のお客様の声の並びを、携帯幅だけ移行元スマホ版にそろえる
 *
 * 移行元の写しを数え直した結果（2026-09-14）。「SP の並び」は、移行元スマホ版の
 * 1 件目から順に、それが移行元パソコン版の何件目かを書いたものである。
 *
 * | 店 | パソコン版 | スマホ版 | SP の並び | 並べ替え |
 * |---|---:|---:|---|---|
 * | 札幌 | 6 件 | 4 件 | 1, 3, 5, 6 | 要らない |
 * | 高崎 | 6 件 | 4 件 | 1, 3, 5, 6 | 要らない |
 * | 福岡 | 6 件 | 4 件 | **1, 3, 5, 2** | **要る** |
 *
 * 札幌と高崎は、隠す 2 件（2 件目・4 件目）を除くと並びがそのまま一致する。
 * **動くのは福岡のパソコン版 2 件目が末尾へ回る 1 件だけ**である。
 *
 * 🚨 **並べ替えられるのは CSS だけである。**dev は 1 つの本文を両方の幅へ出すので、
 * HTML の並びは 1 通りしか持てない。幅ごとに変えられるのは見た目の並びだけになる。
 *
 * 🚨 **読み上げの順は HTML の並びのままである。**移行元も携帯版で見た目の並びだけを
 * 変えており、読み上げの順を変えているわけではない。ここも移行元と同じにする。
 *
 * 🚨 **余白は変わらない。**携帯幅の `.voice-list li` は `margin: 0 0 20px` で上の余白が
 * 0 なので、隣どうしの余白の相殺はもとから起きていない。包みを縦の flex にしても
 * 間隔は 20px のままである。
 *
 * 🚨 **包みの印が付いた店だけを flex にする。**印 `pa-branch-voice-sp-order` は
 * `inc/branch-voice-pc-only.php` が並べ替えの表に在る店（いまは福岡だけ）へ付ける。
 * 札幌と高崎の包みは block のままで、並びにも余白にも手が入らない。
 *
 * 隠した 2 件は `display: none` なので flex の並びに加わらない。残る 4 件へ
 * `order` を 1 から 4 まで与える。
 * ------------------------------------------------------------------ */
@media (max-width: 749px) {

	.pa-branch__content .voice-list.pa-branch-voice-sp-order {
		display: flex;
		flex-direction: column;
	}

	.pa-branch__content .voice-list.pa-branch-voice-sp-order > li.pa-branch-voice-sp-order-1 {
		order: 1;
	}

	.pa-branch__content .voice-list.pa-branch-voice-sp-order > li.pa-branch-voice-sp-order-2 {
		order: 2;
	}

	.pa-branch__content .voice-list.pa-branch-voice-sp-order > li.pa-branch-voice-sp-order-3 {
		order: 3;
	}

	.pa-branch__content .voice-list.pa-branch-voice-sp-order > li.pa-branch-voice-sp-order-4 {
		order: 4;
	}
}

/* ------------------------------------------------------------------
 * Bug #5482: 携帯幅の料金の表を、移行元スマホ版と同じ 4 列の表に戻す
 * 写し元: sp/branch/css/style_area1.css の 1757〜1812 行
 *
 * 移行元はパソコン版とスマホ版で表の組み方が違う。パソコン版は 1 つの表に
 * まとめ（`rowspan="3"`）、スマホ版はコースごとに 3 つの表へ分ける。骨組みを
 * 組み直すのは `assets/js/branch-case.js` の `setUpCoursePriceTables()` で、
 * ここはその 3 つの表の**並べ方**だけを持つ（横送りと同じ分け方）。
 *
 * 🚨 **携帯幅には支店紹介の表を全部縦積みにする素の規則が在る**
 * （`.pa-branch__content th, .pa-branch__content td { display: block; width: auto }`）。
 * 料金表もこれに巻き込まれ、5 つの枡が縦に積まれていた。**素の規則は触らない**
 * （司令塔の指示・2026-09-10）。ここで料金表だけを名指しで表に戻す。同じ形の
 * 先例が新デザインの表（`.c-table`・Bug #3545）に在る。
 *
 * 実測（千葉店・2026-09-10 08:11・幅 375px）:
 *
 * | | 表 | 枡の幅 | 表の高さの合計 |
 * |---|---:|---:|---:|
 * | 移行元スマホ版 | 3 つ | 83.5px（4 列が横に並ぶ） | 453.92px |
 * | dev（直す前） | 1 つ | 317px（枡が縦に積まれる） | 938.28px |
 *
 * 🚨 **移行元スマホ版が縦積みにする表は 2 種類だけ**である（写しの CSS を全数で
 * 数えた。`.about-info` と `.case-intro`）。料金表は入っていない。dev 側もその
 * 2 種類には別の規則が在り、移行元と合っている。
 *
 * 🚨 **当たり先に組み方の印（`.pa-branch-area1`）を必ず付ける。**この表を持つのは
 * 旧デザインの店だけで、`pa-branch-renew` の 4 店の移行元スマホ版には
 * `course-price` の表が 1 つも無い（写しで数えた: 札幌・仙台・高崎・福岡とも 0 個）。
 * 印を付けないと `tests-retired/pa-cms-branch-course-price` が落ちる.
 * ------------------------------------------------------------------ */
@media (max-width: 749px) {

	/* 縦積みを外して表に戻す。素の規則より後に置き、当たり先で勝つ. */
	.pa-branch-area1 .page-branch table.course-price :is(th, td) {
		display: table-cell;
		width: auto;
	}

	/* 表そのもの（style_area1.css:1757・1762）。3 つ並ぶので間を空ける.

	   🚨🚨 **当たり先を伸ばしてあるのは詳細度で勝つためである**（Bug #6904）。
	   短く `.pa-branch-area1 .page-branch table.course-price`（類 3・要素 1 ＝ 301）と
	   書いていたときは、26000 行台の素の規則

	       .pa-profile-legacy-compat.pa-branch-area1 .pa-branch__content .page-branch table {
	           margin-bottom: 0;
	       }

	   （類 4・要素 1 ＝ **401**）に負け、**表と表のすき間が 0 になっていた**。
	   2026-09-17 17:39 の実測（町田店・375px）で、表 1 と 2 の下のすき間が
	   移行元 20.00 に対し dev **0.00** だった。

	   🚨 **3 枚目だけ正しく出ていたのは偶然である。**`:last-of-type` が付いて
	   詳細度が 401 になり、しかも素の規則より後ろに在るので勝っていた。
	   **擬似クラス 1 つのおかげでたまたま合っていた.**

	   🚨 **短くしない。**縮めると静かに負ける. */
	/* 🚨 **料金表は `display: table` に戻す**（Bug #8389）。本文の共通の
	   `.entry-content table:not(.pa-form-table)` が携帯幅で `display: block` にするため、
	   表の中の行が中身の幅まで縮み、コース名とコースの紹介の箱が 移行元 304 に対し
	   dev 256.2 になっていた。中央寄せの字が 24〜40px 左へ寄る（2026-09-25 12:06・12:21 の
	   実測・旧デザイン 13 店すべて・375px）。移行元スマホ版の料金表は `display: table` である. */
	.pa-profile-legacy-compat.pa-branch-area1 .pa-branch__content .page-branch table.course-price {
		display: table;
		width: 100%;
		margin: 0 0 20px;
	}

	.pa-profile-legacy-compat.pa-branch-area1 .pa-branch__content .page-branch table.course-price:last-of-type {
		margin-bottom: 10px;
	}

	/* 🚨 **コースの詳細の見出しの下は 10px である**（Bug #6904）。

	   移行元は同じ `.title-03` を版で別の値にしている。

	   | | `.page-branch .title-03` の下外余白 |
	   |---|---:|
	   | 移行元パソコン版（`branch/css/style_area1.css`） | 20px |
	   | 移行元スマホ版（`sp/branch/css/style_area1.css`） | **10px** |

	   dev は素の `.pa-branch__content .title-03`（類 2 ＝ 200）が両方の幅で 20px を
	   当てている。**パソコン幅は移行元と合っている**ので、携帯幅だけ 10px へ戻す。
	   2026-09-17 17:39 の実測で、見出しと `dl.course-detail` のすき間が
	   移行元 10.00 に対し dev **20.00** だった。

	   🚨 **旧デザイン 13 店に限る。**この見出しは 13 店とも 1 ページに 1 個で、
	   移行元の値は `style_area1.css`（旧デザインだけが読む CSS）に在る。
	   札を外すと新デザインと改装版にも効く. */
	.pa-branch-area1 .page-branch .title-03 {
		margin-bottom: 10px;
	}

	/* コース名の帯（style_area1.css:1766）。移行元スマホ版はパソコン版と別の色を
	   使う（スマホ #c5dbea 対 パソコン #bacfde）.

	   🚨 `line-height: normal` は Bug #6904 / Task #7049 で足した。
	   移行元スマホ版の `thead th` には `line-height` の指定が無い（継承値のまま）。
	   dev は素で `line-height: 20px` を持つ（移行元パソコン版由来）ので、
	   **携帯幅で打ち消す**。

	   実測（2026-09-17 21:34・町田店 375px）:

	   | thead th | 移行元スマホ版 | dev |
	   |---|---|---|
	   | line-height | `normal` | `20px` |
	   | 高さ | 76.59 | **77.59**（＋1.00） |
	   | 字の大きさ・内余白 | — | **一致** |
	   | 中の h4.title-02 / p.text-01 の高さ | — | **完全一致** |

	   🚨 **違うのは `line-height` だけだった。**中身も内余白も字も同じなので、
	   `th` 自身の行ボックスが中身より高くなっている。表 3 枚で ＋3.00。

	   🚨🚨 **`tbody td` は触らない。**同じ走行で `tbody td` の `line-height` も
	   `normal` 対 `24px` と違っていたが、**高さの差は 0** だった（中身の高さが
	   支配的で、セル自身の行ボックスが効かない）。**「値が違う＝差が出る」ではない。**
	   触ると移行元と同じ描画を壊す恐れがある。

	   🚨 **パソコン幅には同じ手当てが既に在る**（`@media (min-width: 750px)` の
	   `.pa-branch-area1 .page-branch table.course-price tbody :is(th, td) { line-height: normal }`。
	   注釈は「dev は共通の表の規則が 24px を当てていた」）。
	   **携帯幅で同じことをしないのは、実測で高さの差が 0 だったからである。**
	   宣言をそろえるためだけに足さない。**直す根拠は値の一致でなく描画の差である。**

	   🚨 **パソコン幅の `line-height: 20px` は残す。**移行元パソコン版と同じである. */
	.pa-branch-area1 .page-branch table.course-price thead th {
		box-sizing: border-box;
		padding: 12px 15px 0;
		background-color: #c5dbea;
		vertical-align: middle;
		text-align: center;
		line-height: normal;

		/*
		 * 🚨 Bug #6904 / Task #7082: 枠線を移行元と同じ 0 にする。
		 *
		 * **共通の `.entry-content table:not(.pa-form-table) :is(th, td)`（詳細度 202）が
		 * 4 辺に 1px を当てており、旧デザインの `.pa-branch-area1 .page-branch th`
		 * （201）の `border: 0` は詳細度で負けて効いていない。**
		 * この当たり先は 303 なので勝てる。
		 *
		 * 実測（2026-09-17 22:35・町田店 375px）: 移行元の枠線 `0px 0px 0px 0px` 対
		 * dev `1px 1px 1px 1px`。**上下で高さが ＋1.00 になっていた。**
		 */
		border: 0;
	}

	/* コース名の帯の色を、移行元スマホ版の #c5dbea にする（Bug #9212）。
	   上の規則は (0,3,3) で、幅で絞らない `.pa-profile-legacy-compat .pa-branch__content .page-branch .course-price thead th
	   { background-color: #e2e8ed }`（パソコン版の素の地色・(0,4,2)）に負け、携帯幅でも #e2e8ed になっていた.
	   旧デザインの 13 店（`pa-branch-area1`）は、どれも `pa-profile-legacy-compat` でもある（`inc/design-profile.php`）.
	   上の規則ごと詳細度を上げると、内余白・行の高さ・枠線の勝ち負けまで変わるので、地色だけを (0,4,3) の別の規則で当てる. */
	body.pa-branch-area1 .pa-branch__content .page-branch .course-price thead th {
		background-color: #c5dbea;
	}

	/* 項目名の枡（style_area1.css:1784・1796）。組み直したあとは tbody に入る. */
	.pa-branch-area1 .page-branch table.course-price tbody th {
		width: 25%;
		padding: 8px 0;

		/*
		 * 🚨 **`border: 0` を先に置いてから、移行元が持つ辺だけを足す。**
		 * 共通の規則（202）が 4 辺に 1px を当てているので、
		 * **足したい辺だけを書くと、書いていない辺に 1px が残る。**
		 * 実測では移行元 `0px 1px 1px 0px` 対 dev `1px 1px 1px 1px` で、
		 * **上の 1px が 2 行目の高さを ＋0.50 にしていた。**
		 */
		border: 0;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		background-color: #e2e8ed;
		vertical-align: middle;
		text-align: center;
		font-size: 13px;
		line-height: 1.4;
	}

	.pa-branch-area1 .page-branch table.course-price tbody th.course-price-th-detail {
		width: 25%;
		padding: 5px 0;
		background-color: #d3dce3;
	}

	/* 金額の枡（style_area1.css:1802・1810）.

	   🚨 ここも `border: 0` を先に置く（Task #7082）。実測では移行元
	   `0px 0px 1px 1px` 対 dev `1px 1px 1px 1px` だった。
	   **この行は高さの差が 0 だったが、枠線は移行元と違う。**
	   高さに出ていないのは中身の高さが支配的なためで、**値が合っていたわけではない**. */
	.pa-branch-area1 .page-branch table.course-price tbody td {
		padding: 10px 0;
		border: 0;
		border-left: 1px solid #e7eff1;
		border-bottom: 1px solid #e7eff1;
		vertical-align: middle;
		text-align: center;
	}

	.pa-branch-area1 .page-branch table.course-price tbody td:last-of-type {
		border-right: 1px solid #e7eff1;
	}

	/* コース名と説明の外余白（style_area1.css:1775 と 949）。
	   🚨 **移行元の初期化（`sp/css/basic.css` の 16 行）は `h1`〜`h6` と `p` の
	   外余白を 0 にする。**そのうえで説明文だけ `margin-bottom: 15px` を足す。
	   テーマは題に 10px・説明に 20px を持つので、そのままだと 1 行あたり 16px 高い
	   （実測: 移行元 76.59px 対 dev 92.59px）. */
	.pa-branch-area1 .page-branch table.course-price thead th .title-02 {
		margin-bottom: 0;
	}

	.pa-branch-area1 .page-branch table.course-price thead th .text-01 {
		margin-bottom: 15px;
		line-height: 1.6;
	}

	/* 金額の字（style_area1.css:1814・1819・1824）。
	   🚨 **移行元は素の `.value` を 21px で組み、料金表の中だけ 16px に落とす。**
	   テーマはこの上書きをパソコン幅（`min-width: 750px`）にしか持たないため、
	   携帯幅では 21px のまま出ていた（実測: 移行元 16px 対 dev 21px）。
	   外余白 0 は移行元の初期化のとおり（テーマは 18px 持つ）. */
	.pa-branch-area1 .page-branch table.course-price tbody td .value {
		margin: 0;
		font-size: 16px;
		font-weight: 300;
	}

	.pa-branch-area1 .page-branch table.course-price tbody td .value small {
		margin-left: 1px;
		font-size: 12px;
	}

	.pa-branch-area1 .page-branch table.course-price tbody td .value .price_normal {
		display: block;
		font-size: 12px;
	}
}

/* ---------------------------------------------------------------------------
 * `pa-branch-renew` の 4 店（札幌・仙台・高崎・福岡）の
 * 「全国に広がるネットワーク」を幅で出し分ける（Bug #5328）
 *
 * 移行元はこの区画をパソコン版とスマホ版で別のファイルから読み込んでいる。
 * パソコン版は地図の絵（`div.map_box`）、スマホ版は文字の一覧（`ul.area-list`）で、
 * 中身の組みが違う。dev はパソコン版だけを投入しているため、携帯幅でも地図が出ていた。
 *
 * 値は移行元スマホ版の `sp/branch/css/style_renew.css` から写した。
 *
 *   .security .network .area-list > li      { margin-top: 20px; font-weight: bold; font-size: 14px }
 *   .security .network .area-list > li li   { font-size: 14px; font-weight: normal;
 *                                             display: inline-block; white-space: nowrap }
 *   .security .network .area-list > li li:before { content: "・" }
 *
 * 🚨 **両方の幅に規則を書く。**片方だけだと、隠したはずのものがもう一方の幅で出る。
 * 一覧はパソコン幅で隠し、地図は携帯幅で隠す。
 * ------------------------------------------------------------------------ */

.pa-branch-renew .page-branch .network .pa-branch-network-sp {
	display: none;
}

/* 🚨 **写真もパソコン幅では出さない（Bug #6940）。**移行元はスマホ版の部品
   `sp/branch/include/branch_map.shtml` だけがこの写真を持ち、パソコン版の
   `branch/include/branch_map.shtml` は地図の絵を出す。**両方を出すと絵が 2 つ並ぶ。**

   🚨 **この既定の規則を下の `@media` の節より後ろへ動かさないこと。**後ろに置くと
   携帯幅でも後勝ちして、写真が永久に出なくなる. */
.pa-branch-renew .page-branch .network .pa-branch-network-sp-img {
	display: none;
}

@media (max-width: 749px) {

	/* 移行元スマホ版の写真（335×252）。移行元の CSS に `.network .img` の規則は
	   1 本も無いので、絵の実寸がそのまま幅になる（携帯幅の器も 335px）。
	   はみ出しの守りだけ足す. */
	.pa-branch-renew .page-branch .network .pa-branch-network-sp-img {
		display: block;
		margin: 0;
	}

	.pa-branch-renew .page-branch .network .pa-branch-network-sp-img img {
		display: block;
		width: 100%;
		max-width: 335px;
		height: auto;
	}

	.pa-branch-renew .page-branch .network .pa-branch-network-sp {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.pa-branch-renew .page-branch .network .map_box {
		display: none;
	}

	.pa-branch-renew .page-branch .network .pa-branch-network-sp > li {
		margin-top: 20px;
		font-size: 14px;
		font-weight: bold;
	}

	.pa-branch-renew .page-branch .network .pa-branch-network-sp ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.pa-branch-renew .page-branch .network .pa-branch-network-sp > li li {
		display: inline-block;
		font-size: 14px;
		font-weight: normal;
		white-space: nowrap;
	}

	.pa-branch-renew .page-branch .network .pa-branch-network-sp > li li::before {
		content: "・";
	}
}

/* 婚活 EQ 診断（/eq/）の字と行送りを、移行元 eq/css/base.css から写す（Task #5670）。
 *
 * 🚨 **移行元は `main` を 16px に置き、その上に `%` で積む。**dev の本文の器は
 * 携帯幅で 13px になるため、器の 16px から写し直さないと中の `%` が合わない。
 * 🚨 **移行元にこのページを狭い画面で縮める指定は無い。**幅 1440px と 375px の実測で
 * 同じ値（見出し 38.4px・本文 19.2px・注記 13px）だったので、幅の節で分けない。
 * 🚨 **写すのは字の大きさと行送りだけ。**余白・色・背景は触らない（移行元の値と dev の
 * 値がすでに一致しているため）。
 *
 * 実測（2026-09-11 13:45・本番と dev・幅 1440px / 375px）:
 *   見出し h2   移行元 38.4px → dev 28px / 22px
 *   本文 .sec00 p 移行元 19.2px・行送り 2   → dev 16px / 13px・行送り 1.5 / normal
 *   注記 .notes  移行元 13px・行送り 1.8   → dev 16px / 13px・行送り 1.5 / normal
 */
.pa-page--eq .page-content__body {
	font-size: 16px;
}

.pa-page--eq .page-content__body h2 {
	font-size: 240%;
}

.pa-page--eq .page-content__body .cv {
	font-size: 180%;
	line-height: 1.6;
}

.pa-page--eq .page-content__body .cv span {
	font-size: 90%;
}

.pa-page--eq .page-content__body .sec00 p {
	font-size: 120%;
	line-height: 2;
}

.pa-page--eq .page-content__body .sec00 .flexBox dd {
	line-height: 2;
}

.pa-page--eq .page-content__body :is(.notes, p.notes),
.pa-page--eq .page-content__body :is(.notes, p.notes) p {
	font-size: 13px;
	line-height: 1.8;
}

/* U29 プラン（/uvalue/）の字と行送りを、移行元 uvalue/css/style.css から写す（Task #5670）。
 *
 * 🚨 **移行元の器の id（`#uvalue`）が dev にも残っている**ことを確かめたので、移行元と
 * 同じ当たり先で写せる（`titleArea` 4 件・`lede` 5 件・`stitle` 3 件などが両側で同数）。
 * 🚨 **移行元にこのページを狭い画面で縮める指定は無い。**実測でも幅 1440px と 375px で
 * 同じ値だったので、幅の節で分けない。
 * 🚨 **携帯幅（749px 以下）は、Bug #9469 で移行元スマホ版の値に上書きする**（携帯幅の節の「2 プランの字の大きさと行の高さ」）。
 * 下の 375px の実測は移行元のパソコン版のページの値で、携帯の端末で開くスマホ版（`/sp/…`）の値ではない（ユーザー決定 D451）。
 * 🚨 **写すのは字の大きさと行送りだけ。**余白・色・背景は触らない。
 *
 * 実測（2026-09-11 13:45・本番と dev・幅 1440px / 375px）:
 *   中見出し 移行元 24px・30px → dev 22px / 19px
 *   本文     移行元 16px・行送り 2.2 → dev 16px / 13px・行送り 1.5 / normal
 *   注記     移行元 12px → dev 16px / 13px（**dev のほうが大きい**）
 */
.pa-page--uvalue #uvalue .title {
	font-size: 42px;
}

.pa-page--uvalue #uvalue .subtitle {
	font-size: 30px;
}

.pa-page--uvalue #uvalue .subtitle span.subTxt {
	font-size: 18px;
}

.pa-page--uvalue #uvalue .titleArea .subtitle,
.pa-page--uvalue #uvalue .stitle {
	font-size: 24px;
}

.pa-page--uvalue #uvalue .cach {
	font-size: 30px;
}

.pa-page--uvalue #uvalue .lede {
	font-size: 16px;
	line-height: 220%;
}

/* U29 プラン（/uvalue/）の題「U29プラン」の色と、明朝の書体の並びを、移行元 uvalue/css/style.css から写す（Issue #10196）。
 *
 * 上の節（Task #5670）は字の大きさと行送りだけを写し、色と書体は写していなかった。そのため題には
 * テーマの見出しの共通の規則（`.entry-content h2 { color: var(--pa-color-heading) }`・金 #a3762b）が、
 * 明朝には共通の `.serif`（`--pa-font-family-serif`・先頭は「游明朝」）が当たっていた。
 * 移行元はパソコン版・携帯版とも `#uvalue .title { color: #a67d35 }` と、先頭が「游明朝体」の `#uvalue .serif` を持つ.
 *
 * 下見（2026-10-10・この字を差し込んで読んだ・幅 1440 と 375）: 題の色が rgb(163, 118, 43) から移行元と同じ
 * rgb(166, 125, 53) になり、書体の並びの先頭も移行元と同じ「游明朝体」になった。実際に描かれる書体は前後とも
 * YuMincho で、移行元と同じ。題の大きさ・太さ・箱、副題の色（Bug #9515 の範囲）、シングルマザー応援プランは前と同じ.
 *
 * 🚨 副題の色（移行元は黒・dev は金）はこの節で触らない。Bug #9515 で扱う. */
.pa-page--uvalue #uvalue .title {
	color: #a67d35;
}

.pa-page--uvalue #uvalue .serif {
	font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.pa-page--uvalue #uvalue .contentBox .matchingList li p {
	font-size: 16px;
}

.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .ph,
.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .aside {
	font-size: 12px;
}

.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea h4 {
	font-size: 20px;
}

.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea dl,
.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea {
	font-size: 14px;
}

.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt,
.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt::before {
	font-size: 18px;
}

.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dd {
	font-size: 16px;
	line-height: 2.2;
}

.pa-page--uvalue #uvalue .beigeBtn a {
	font-size: 18px;
}

/* シングルマザー応援プラン（/singlemother/ の 3 ページ）の字と行送りを、移行元
 * singlemother/css/style.css から写す（Task #5670）。
 *
 * 🚨 **移行元の器の id（`#sm`）が dev の 3 ページとも残っている**ことを確かめたので、
 * 移行元と同じ当たり先で写せる（`stitle` 6 件・`lede` 5 件・`graphList` 1 件などが両側で同数）。
 * 🚨 **移行元にこのページを狭い画面で縮める指定は無い**（`@media` は古い Internet Explorer
 * 向けの 1 件だけ）。実測でも幅 1440px と 375px で同じ値だったので、幅の節で分けない。
 * 🚨 **携帯幅（749px 以下）は、Bug #9469 で移行元スマホ版の値に上書きする**（携帯幅の節の「2 プランの字の大きさと行の高さ」）。
 * 下の 375px の実測は移行元のパソコン版のページの値で、携帯の端末で開くスマホ版（`/sp/…`）の値ではない（ユーザー決定 D451）。
 * 🚨 **写すのは字の大きさと行送りだけ。**余白・色・背景は触らない。
 *
 * 実測（2026-09-11 13:45・本番と dev・幅 1440px / 375px）:
 *   大見出し 移行元 42px → dev 28px / 20px
 *   中見出し 移行元 24px・30px → dev 22px / 19px
 *   本文     移行元 18px・行送り 2.2 → dev 16px / 13px・行送り 1.5 / normal
 *   注記     移行元 12px → dev 16px / 13px（**dev のほうが大きい**）
 */
.pa-page--singlemother #sm .title {
	font-size: 42px;
}

.pa-page--singlemother #sm .subtitle {
	font-size: 30px;
}

.pa-page--singlemother #sm .titleArea .subtitle,
.pa-page--singlemother #sm .stitle {
	font-size: 24px;
}

.pa-page--singlemother #sm .cach {
	font-size: 30px;
}

.pa-page--singlemother #sm .lede {
	font-size: 16px;
	line-height: 220%;
}

.pa-page--singlemother #sm .titleArea .lede {
	font-size: 18px;
}

.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt,
.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea,
.pa-page--singlemother #sm .contentBox .matchingList li p {
	font-size: 16px;
}

.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt .age {
	font-size: 14px;
}

.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea h5 {
	font-size: 18px;
}

.pa-page--singlemother #sm .contentBox .aside,
.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph,
.pa-page--singlemother #sm .contentBox .contentBox_priceArea .aside {
	font-size: 12px;
}

.pa-page--singlemother #sm .contentBox .contentBox_graphArea sup {
	font-size: 10px;
}

.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea,
.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea h4 {
	font-size: 20px;
}

.pa-page--singlemother #sm .contentBox .contentBox_qaArea dt,
.pa-page--singlemother #sm .contentBox .contentBox_qaArea dt::before {
	font-size: 18px;
}

.pa-page--singlemother #sm .contentBox .contentBox_qaArea dd {
	font-size: 16px;
	line-height: 2.2;
}

/*
 * プロフィールの枠の字。移行元 css/page_introduce.css 351 行
 * `#story .box_prof { font-size: 16px; line-height: 150% }`（Bug #6327）。
 *
 * 🚨 **幅の節（@media）の中に書かない。**移行元のこのページに狭い画面で縮める指定は
 * 無く、パソコン幅も携帯幅も 16px である。テーマ側は
 * `:is(.entry-content, .page-content__body) .box_prof`（特異度 (0,2,0)）が
 * @media (max-width: 749px) の中で `var(--pa-article-font-size)`（749px 以下は 13px）を
 * 宣言しているが、**@media は特異度を上げない**ので、この (1,3,0) の規則が節の外からでも
 * 携帯幅で勝つ。
 *
 * 🚨 **行送りは書かない。**上の (0,2,0) の規則が `line-height: 1.5` を持ち、幅の節の中では
 * 行送りを上書きしていない。字を 16px へ戻せば 24px になり、移行元の `150%` と一致する。
 *
 * 🚨 **当たり先を `.box_prof` だけに広げない。**同じ類名を成婚ストーリー 106 ページが
 * 使っており、あちらは `.single-content--story .entry-content:has(.storyTxt01) .box_prof`
 * （(0,4,0)・12px）で移行元スマホ版にそろえてある。いまの特異度なら (0,2,0) を足しても
 * あちらは動かないが、その釣り合いに乗らずこのページへ絞る。
 *
 * 実測（2026-09-15 23:38:56〜23:39:04・幅 375px）: dev 13px。
 * 🚨 **移行元の本番は携帯の端末情報で `/singlemother/index3.html` を
 * `/sp/singlemother/`（別のページ）へ転送する**ため、突き合わせる相手はパソコン版の
 * index3 である（移行元の資産の写しにこの転送は無い。控えは
 * `pa-verify-assets/d7-6327-0915/`）.
 */
.pa-page--singlemother #sm .contentBox .box_prof {
	font-size: 16px;
}

/*
 * 説明の見出し。移行元 css/page_introduce.css 382 行
 * `#story .box_prof .prof_read { font-size: 16px; font-weight: 700 }`（Bug #6327）。
 *
 * 🚨 **すぐ上の枠への指定では届かない。**この要素は自分への直接の指定
 * `:is(.entry-content, .page-content__body) .prof_read`（main.css 53516 行・
 * @media (max-width: 749px) の中）を持っており、**継承より直接の指定のほうが強い**。
 * 枠を 16px にしても、ここだけ 13px（`var(--pa-article-font-size)`）のまま残る
 * （2026-09-16 01:50 の実測。控えは `pa-verify-assets/d7-6462-0916/結果-0916.json`）。
 *
 * 🚨 **幅の節の外に書く。**すぐ上の枠と同じ理由で、@media は特異度を上げないため
 * この (1,3,1) が節の中の (0,2,0) に勝つ。移行元も幅で切り替えていない。
 *
 * 太さ（両側 700）と色（両側 #a97b3c）は一致しているので触らない.
 */
.pa-page--singlemother #sm .contentBox .box_prof .prof_read {
	font-size: 16px;
}

.pa-page--singlemother #sm .beigeBtn a {
	font-size: 18px;
}

/*
 * 固定ページ 3 本で、投入の消毒が落とした行内の `style` を絞って戻す
 * （Task #6845・親は Bug #6831・出どころは Bug #4673 の全数の数え上げ）。
 *
 * ## 判定のしかた
 *
 * 落ちた行内の値を「効いている最後の値」と比べて決めた
 * （道具は `pa-verify-assets/D6/4673-効いている最後の値-0917.py`）。そのページが読む
 * 移行元の CSS を `<link>` の並び順に全部読み、**当の要素そのものに当たる規則**だけを
 * 集め、`!important` → id → 類名 → タグ → 並びで最後の値を決めてある。
 * どれも当たらないものはブラウザの既定値と比べた。
 *
 * ## 🚨 `pa-page--<区画>` は「区画」であって「ページ」ではない
 *
 * `template-parts/content-page.php` が付ける修飾クラスは **`get_page_uri()` の
 * 先頭ディレクトリ**である。**投入は URL から親のページを自分で作る**ので
 * （`scripts/pa-cms/import-payload.php` の `pa_cms_import_resolve_post_parent()`）、
 * `/visitor/parents/` の `get_page_uri()` は `visitor/parents` になり、
 * 修飾クラスは **`pa-page--visitor`**（区画）である。
 *
 * 🚨 **投入用データの `post_parent` が空なのを「親を持たない」と読まない。**
 * 投入用データは親を指定できない（同ファイル 747 行が例外を投げる）。
 * 親は**投入のときに作られる**ので、材料の中に答えは無い。
 *
 * **区画の中で 1 枚を絞るには別の手がかりが要る。**下の 3 つはそれぞれ違う手を使う.
 */

/*
 * 川柳のリード文を中央寄せに戻す（移行元の行内 `style="text-align: center"`）。
 *
 * 🚨 **`.pa-page--senryu` だけでは広すぎる。**`#senryu` を持つ dev のページは 6 本
 * （`index` `index_BKkekka2023` `index_boshu` `index_qom01` `index_qom02` `index_test`）
 * あり、**移行元が行内で中央寄せを書くのは前の 2 本だけ**である。
 * 残る 4 本へ当てると移行元に無い差を作る。
 *
 * **2 本だけが `section.senryu_vote` を持つ**（dev の本文ぜんたいで 2 個・
 * 投入用データを走査して確かめた）。ここで絞る。テーマの CSS に `senryu_vote` を
 * 使う規則は 1 本も無い。
 *
 * 移行元の CSS には `.main_read` へ `text-align` を当てる規則が無い
 * （`.pa-profile-legacy-compat .pa-branch__content .main_read` は支店紹介の区画）。
 * 中央寄せを作っているのは行内そのものである.
 */
.pa-page--senryu #senryu.senryu_vote p.main_read {
	text-align: center;
}

/*
 * 新型コロナウイルスの案内の 3 つ目の定義リストの上の余白（移行元の行内
 * `style="margin-top: 20px"`）。
 *
 * このページは URL が 1 階層（`/modal_covid19.html`）なので、
 * **修飾クラスがそのままページを指す**（区画＝ページ）。
 *
 * 🚨 **3 つの `<dl>` は `div.lead` の下の兄弟で、行内を持つのは 3 つ目だけである。**
 * 移行元の初期化（`css/common.css`）が素の `<dl>` へ `margin: 0` を当てるので、
 * 落ちると 3 つ目だけ上の余白が 0 になる。**`nth-of-type` で 3 つ目を指す。**
 */
.pa-page--modal_covid19 .lead > dl:nth-of-type(3) {
	margin-top: 20px;
}

/*
 * ご両親向けの案内の予約ボタンの字の大きさ（移行元の行内
 * `style="font-size: 28px"`）。
 *
 * 🚨 **`.pa-page--visitor` は区画の 4 ページ全部に付く。**このページだけを絞るには、
 * 区画が自前で付けている札 **`body.pa-visitor--parents`** を使う
 * （`inc/visitor-page-css.php` の `pa_visitor_page_css_body_class()`。
 * `PA_VISITOR_PAGE_CSS_PAGE_SHEETS` に `parents` が入っている）。
 *
 * 当たり先はこのページの `div.txtBtn_black01` の中の `<a>` 1 本だけである。
 * 移行元の CSS にこの `<a>` へ `font-size` を当てる規則は無い.
 */
.pa-visitor--parents .txtBtn_black01 a {
	font-size: 28px;
}

/*
 * ------------------------------------------------------------------
 * 成婚ストーリー・しあわせレポート・支店紹介で落ちた行内の `style`（Task #6846）
 * ------------------------------------------------------------------
 *
 * 親は Bug #6831（広告 LP ほか 15 ページで、行内 style の指定が 20 か所落ちている）。
 * 投入の消毒が行内の `style` を落とすため、移行元と見た目が変わる。
 *
 * 🚨 **`story` 投稿型には絞る札が無かった**ので、`inc/story-page-class.php` で
 * `pa-story--<投稿名>` を足した。**この札が消えるとここの規則は全ページへ漏れる。**
 * 支店紹介は既存の `pa-branch-store--<店>`（`inc/branch-store-class.php`）を使う。
 *
 * 🚨 **位置（`nth-child`）で指す規則が 4 つある。**当たり先の類名がページの中で
 * いくつも出るためで、ユーザー決定 D332（2026-09-17）により「原則どおり完全再現し、
 * 当たり先の数を検査で数え直す」形を採った。数え直しは
 * `tests-retired/pa-cms-story-page-class/` が移行元のミラーを読んで行う。
 * **本文を入れ直したら、この検査を 1 本走らせる。**
 */

/*
 * しあわせレポート vol.10 の題名の絵の下端（移行元の行内
 * `style="vertical-align: bottom"`）。
 *
 * 当たり先はこのページの `section#hrep10` の中の `div.bg_white > p.tac > img` 1 枚
 * だけである。落ちると `<img>` の下に字の下端ぶんの隙間ができる.
 *
 * **この 1 件は投稿型の分割のあとも残る。**記事そのものは残り、投稿型が
 * `pa_happyreport` へ移るだけで札は付いたままである（`inc/story-page-class.php` の
 * `PA_STORY_PAGE_CLASS_POST_TYPES` に 3 つとも書いてある）.
 *
 * 🚨 **ユーザー決定 D513（2026-09-20・Task #8038）で投稿名が
 * `introduce-happyreport-report_10` から `report_10` へ変わった。**札は投稿名から
 * 作られるので、この選択子も `.pa-story--report_10` になる。**投稿名を直す走行
 * （`fix-post-names`）と同じ回に配信しないと、この 1 件の指定が当たらなくなる。**
 */
.pa-story--report_10 #hrep10 .bg_white p.tac img {
	vertical-align: bottom;
}

/*
 * しあわせレポートのカテゴリトップの、体験談の札 2 枚の高さ
 * （移行元の行内 `style="height: 98px"`）。
 *
 * 🚨 **位置でしか指せない。**移行元のこのページの `div.copy.mh` は 57 個あり、行内を
 * 持つのは 30 番目と 39 番目の 2 個だけである。どちらも年代ごとの区画（`#age40s` と
 * `#age50s`）の `ul.stories-list` の **9 番目の `<li>`** に在る。区画の id はページの
 * 中で 1 つずつなので、位置を使うのは `<li>` の番号だけで足りる。
 *
 * 書いた人が短い札 2 枚の高さをそろえるために手で入れた値で、規則性は無い
 * （行内を持たない 55 個の本文は 54〜88 字、この 2 個は 71 字と 49 字）。
 * JS が作っている値ではない（そのページが読む JS のどれも `.mh` を選んでいない）.
 *
 * 🚨 **9 番目という位置は、もう並び順の偶然ではない。**作り直したカテゴリトップは
 * 区画のターム（`pa_happyreport_slot`）と順番のメタ（`pa_happyreport_order_<区画>`）で
 * 57 枠の並びを決めている（Task #6850）。移行元で 9 番目だった 2 枚は、その順番でも
 * 9 番目に出る（2026-09-19 の実測で 57 枠の並びが表と完全に一致した・Bug #7050）。
 *
 * 🚨 **投稿 1 件のページに付く印（`pa-story--introduce-happyreport`）から始める形は
 * Task #6882 で外した。**カテゴリトップは投稿タイプ `pa_happyreport` のアーカイブへ
 * 変わり（Task #6852・#6858）、投入した本文の 57 枠はもう画面に出ない。
 * 投稿の既定の URL `/introduce/happyreport/introduce-happyreport/` は
 * `mu-plugins/pa-cms-retired-pages.php` が受け皿へ 301 で送る（2026-09-19 10:07 の
 * 実測で確かめた）。
 *
 * **入れ替わりの見張りは検査が持つ**（`tests-retired/pa-cms-happyreport-archive/`）。
 */
.post-type-archive-pa_happyreport #age40s .stories-list > li:nth-child(9) .stories-list__inner > .copy.mh,
.post-type-archive-pa_happyreport #age50s .stories-list > li:nth-child(9) .stories-list__inner > .copy.mh {
	height: 98px;
}

/*
 * 福岡店の、成婚コンシェルジュのご紹介の区画の下の外余白（移行元の行内
 * `style="margin-bottom: 72px"`）。
 *
 * 当たり先はこのページの `section#li03.content.cc-intro` 1 個だけである
 * （dev の本文で `cc-intro` 1 個・`id="li03"` 1 個と数えた）。
 * 印は既存の `pa-branch-store--fukuoka`（`inc/branch-store-class.php`）を使う.
 */
.pa-branch-store--fukuoka #li03.cc-intro {
	margin-bottom: 72px;
}

/*
 * ------------------------------------------------------------------
 * U29 プランとシングルマザー応援プランの `.ph` の揃え（Bug #6930）
 * ------------------------------------------------------------------
 *
 * **移行元の CSS が `div.ph` に当てている `text-align` を、テーマが写していなかった。**
 * 下の Bug #6830 は行内の `style` が落ちた差で、こちらは**写しの差**である。別の原因なので節を分ける。
 *
 * 移行元の当たり先と値（ミラー `6dc1cac1a`）:
 *
 *   singlemother/css/style.css 121 行  #sm .contentBox .contentBox_inner .ph      center
 *   singlemother/css/style.css 527 行  #sm .contentBox .contentBox_priceArea .ph  right
 *   uvalue/css/style.css       120 行  #uvalue .contentBox .contentBox_inner .ph      center
 *   uvalue/css/style.css       368 行  #uvalue .contentBox .contentBox_priceArea .ph  right
 *
 * 🚨 **当たり先の重みが同じ（id 1・類名 3）なので、後ろの行が勝つ。**下でも同じ順に置く。
 * **順を入れ替えると料金の区画が `center` になる。**
 *
 * 当たり先の数（投入用データ `payload-0913-f5e3e805f.jsonl` の本文を数えた・全数）:
 *
 *   /uvalue/                 `.contentBox_inner` の中 5 個（うち料金の区画 1 個）
 *   /singlemother/           6 個（うち 1 個）
 *   /singlemother/index2     6 個（うち 1 個）
 *   /singlemother/index3     7 個（うち 1 個）
 *   合計                     24 個（うち料金の区画 4 個）
 *
 * 🚨 **料金の区画 4 個のうち 2 個は、下の Bug #6830 の節が `center` にしている**
 * （`index2` の 3 番目の器と `index3` の `titleArea` の中。移行元はその 2 個だけ行内の
 * `style` で `right` を打ち消している）。**あちらは当たり先の重みが上（位置で 1 つ多く絞る）ので、
 * 下の `right` を置いても打ち消されない。**残る 2 個（`/uvalue/` と `/singlemother/`）が `right` になる。
 *
 * 🚨 **札だけでは 3 枚に当たる。**`pa-page--singlemother` は URL の先頭ディレクトリから作るので
 * 3 枚が同じ札を持つ。ここは 3 枚とも同じ値でよいので札で足りる。
 * 移行元の器の id（`#uvalue` / `#sm`）で絞るのは Task #5670 と Bug #6830 の節と同じ形である.
 */

.pa-page--uvalue #uvalue .contentBox .contentBox_inner .ph,
.pa-page--singlemother #sm .contentBox .contentBox_inner .ph {
	text-align: center;
}

/* 🚨 **この 2 本は上の `center` より後ろに置く。**移行元と同じく後勝ちで料金の区画を `right` にする. */
.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .ph,
.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph {
	text-align: right;
}

/*
 * ------------------------------------------------------------------
 * U29 プランとシングルマザー応援プランで落ちた行内の `style`（Bug #6830）
 * ------------------------------------------------------------------
 *
 * 投入の消毒（`scripts/pa-cms/sanitize-allowlist.json`）が行内の `style` を落とすため、
 * 移行元がページの HTML に手で書いた高さ・余白・寸法が dev では出ない。
 * 許可の一覧は変えず、見た目を CSS で再現する（司令塔の裁定 608・先例は Bug #4614）。
 *
 * 対象は 4 ページの 18 か所である。
 *
 *   /uvalue/                 5 か所
 *   /singlemother/           4 か所
 *   /singlemother/index2     4 か所
 *   /singlemother/index3     5 か所
 *
 * 🚨 **位置（`nth-child`）で指す規則が 3 つある。**当たり先の類名がページの中で
 * いくつも出るためで、ユーザー決定 D332（2026-09-17）により「原則どおり完全再現し、
 * 当たり先の数を検査で数え直す」形を採った。数え直しは
 * `tests-retired/pa-cms-uvalue-singlemother-inline-style/` が移行元のミラーを読んで行う。
 * **本文を入れ直したら、この検査を 1 本走らせる。**
 *
 * 🚨 **シングルマザー応援プランの 3 ページは札が同じである。**`pa-page--singlemother` は
 * URL の先頭ディレクトリから作るので（`template-parts/content-page.php`）、
 * `/singlemother/`・`index2`・`index3` の 3 枚が同じ札を持つ。**ページを分けるときは
 * `div#sm` の直下の器の位置で指す。**類名だけでは 3 枚すべてに当たる。
 *
 * 🚨 **`.ph` の `text-align` は上の節（Bug #6930）で写した。**移行元の
 * `singlemother/css/style.css` は 121 行で `.contentBox_inner .ph` に `center`、
 * 527 行で `.contentBox_priceArea .ph` に `right` を当てており、**当たり先の重みが同じで
 * 後ろの 527 行が勝つ**ので、行内を持たない `.ph` は移行元では `right` になる。
 * **これは行内が落ちた差ではなく写しの差**なので、**この節ではなく上の Bug #6930 の節が受け持つ**
 * （全数の数え上げは Bug #4673）。
 */

/*
 * 料金の絵の最大幅（移行元の行内 `style="max-width: 1100px"`）。2 か所。
 *
 * 当たり先は `images/price_ph.png` 1 枚ずつで、dev の本文でも同じ基本名の絵は
 * 1 枚しか無いことを数えた。**U29 プランは器が `div#price` を持つ**ので id で絞れる。
 * シングルマザー応援プランは `div#sm` の 6 番目の器だけが料金の区画である
 * （`index2` は 3 番目・`index3` は `div.titleArea` の中なので当たらない）.
 */
.pa-page--uvalue #uvalue #price .contentBox_priceArea > .ph > img,
.pa-page--singlemother #sm > .contentBox:nth-child(6) > .contentBox_priceArea > .ph > img {
	max-width: 1100px;
}

/*
 * 成約の詳しい説明の上の内余白（移行元の行内 `style="padding-top:80px"`）。4 か所。
 *
 * 当たり先は各ページの `div#matching01` 1 個だけである。同じ類名
 * `contentBox_matchingDetails` は 1 ページに 3 個あるが、**id を持つのは 1 個だけ**なので
 * 位置で指す必要が無い.
 */
.pa-page--uvalue #uvalue #matching01,
.pa-page--singlemother #sm #matching01 {
	padding-top: 80px;
}

/*
 * 体験談の札の高さ 96px（移行元の行内 `style="height: 96px"`）。6 か所。
 *
 * U29 プランは札 3 枚すべてが 96px なので位置が要らない。シングルマザー応援プランは
 * **同じページの中で 1 枚目が 96px・2 枚目が 120px** に分かれるので、`<li>` の位置で
 * 指し分ける（3 枚とも同じ並びであることを数えた）.
 */
.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list > li .copy.mh,
.pa-page--singlemother #sm .contentBox_introduceArea .stories-list > li:nth-child(1) .copy.mh {
	height: 96px;
}

/*
 * 体験談の札の高さ 120px（移行元の行内 `style="height: 120px"`）。3 か所。
 * 上の 96px と対になる。**同じ `class="copy mh"` なので取り違えない**.
 */
.pa-page--singlemother #sm .contentBox_introduceArea .stories-list > li:nth-child(2) .copy.mh {
	height: 120px;
}

/*
 * 料金の絵の中央寄せ（移行元の行内 `style="text-align: center"`）。2 か所。
 *
 * `index2` と `index3` の 2 枚だけが行内を持つ。**`/singlemother/` の 1 枚目は持たない**
 * ので、類名だけで指すと 3 枚に当たってしまう。`div#sm` の直下の器の位置で分ける
 * （`index2` は 3 番目の器・`index3` は `div.titleArea` の中の器）.
 */
.pa-page--singlemother #sm > .contentBox:nth-child(3) > .contentBox_priceArea > .ph,
.pa-page--singlemother #sm > .titleArea > .contentBox > .contentBox_priceArea > .ph {
	text-align: center;
}

/*
 * 調査の区画の見出し（移行元の行内
 * `style="font-weight: bold;font-size:28px;margin-top:20px"`）。1 か所。
 *
 * `index3` の 1 個だけである。**`h3.subtitle` はこの 3 ページに 4 個ずつあり**、
 * 類名だけで指すと 12 個に当たる。当たり先は `contentBox_graphArea` の中の
 * `div.titleArea` の直下に立つ 1 個で、この道すじを持つのは `index3` だけである.
 *
 * 🚨 **いまの dev の値は 30px ではなく 24px である。**この見出しは `div.titleArea` の
 * 中にあるため、`.pa-page--singlemother #sm .titleArea .subtitle`（24px・上の
 * 73704 行）が `.pa-page--singlemother #sm .subtitle`（30px）より重く、24px が効いている。
 * **Issue 本文の「dev は 30px」は当たり先を 1 つ手前で止めた読みだった**（2026-09-17 に
 * 当たり先まで読んで訂正）.
 */
.pa-page--singlemother #sm .contentBox_graphArea > .titleArea > h3.subtitle.serif {
	font-size: 28px;
	font-weight: bold;
	margin-top: 20px;
}

/*
 * ------------------------------------------------------------------
 * QOM 総研のレポートと Quality Of Life の記事で落ちた行内の `style`（Bug #6829）
 * ------------------------------------------------------------------
 *
 * 投入の消毒（`scripts/pa-cms/sanitize-allowlist.json`）が `style` 属性を落とすため、
 * 移行元がページの行内に書いていた余白・幅・枠線が **12 ページで 55 か所**消えている。
 * 許可の一覧は変えない（全ページへ波及するため）。見た目はここで戻す。
 *
 * 🚨 **絞りは `pa-page-uri--<経路>`（`inc/research-qol-page-class.php`）で始める。**
 * 区画の印（`pa-page--research`）では絞れない。移行元 `research/` は 234 ページあり、
 * 行内を持つのは 8 ページだけである。区画で絞ると残り 226 ページへ漏れる。
 *
 * 🚨 **位置（`nth-child`）で指す規則がある。**同じページの中に行内を持つ要素と
 * 持たない要素が混ざっており、印でも中身でも分けられないためである
 * （ユーザー決定 D332 と同じ扱い。先例は `.post-type-archive-pa_happyreport` の 2 件）。
 * **本文を入れ直したら当たり先の数を数え直す**（`tests-retired/pa-cms-research-qol-inline-style/`）。
 *
 * 🚨 **`qol` の `dt.name` は `@media` の外に置く。**移行元
 * `qol/css/article.css` は `@media screen and (max-width: 768px)` で
 * `.article-detail .comment .name { width: 100% }` を当てるが、**移行元では行内の
 * `width: 65px` がそれに勝つ**。写し（`assets/qol/css/article.css`）は `main.css` より
 * **後**に読まれるので後勝ちは使えない。**強さで勝つ**（写しは (0,5,0)、下は (0,6,0) 以上）。
 * `@media` は強さを 1 つも足さないので、節の外の強い規則が両方の幅で勝つ。
 * **テーマの携帯幅（749px）で節を作らない。**この区画の写しは移行元のまま 768px である。
 *
 * 当たり先は投入用データの `post_content`（dev の本文そのもの）から機械で出し、
 * `lxml` の XPath で数え直して、**55 件の要素そのものが一致する**ことを確かめてある。
 */

/* research/report_155  .center  6/6 件 */
.pa-page-uri--research-report_155 .page-content__body div.center:nth-child(5),
.pa-page-uri--research-report_155 .page-content__body div.center:nth-child(6),
.pa-page-uri--research-report_155 .page-content__body div.center:nth-child(8) {
	margin: 30px auto 20px;
}

/* research/report_156  .center  5/5 件 */
.pa-page-uri--research-report_156 .page-content__body div.center:nth-child(4),
.pa-page-uri--research-report_156 .page-content__body div.center:nth-child(5),
.pa-page-uri--research-report_156 .page-content__body div.center:nth-child(6) {
	margin: 30px auto 20px;
}

/* research/report_157  .center  9/9 件 */
.pa-page-uri--research-report_157 .page-content__body div.center:nth-child(4),
.pa-page-uri--research-report_157 .page-content__body div.center:nth-child(5),
.pa-page-uri--research-report_157 .page-content__body div.center:nth-child(6) {
	margin: 30px auto 20px;
}

/* research/report_158  .center  6/6 件 */
.pa-page-uri--research-report_158 .page-content__body div.center:nth-child(4),
.pa-page-uri--research-report_158 .page-content__body div.center:nth-child(5),
.pa-page-uri--research-report_158 .page-content__body div.center:nth-child(6),
.pa-page-uri--research-report_158 .page-content__body div.center:nth-child(7) {
	margin: 30px auto 20px;
}

/*
 * research/report_97  .hyou  6/6 件
 *
 * 🚨 **`#research` を当たり先に入れる**（Bug #6965）。区画の写し
 * `assets/research/css/section.css` に
 * `body .pa-page--research .page-content__body #research .hyou { width: 70% }` が在り、
 * **id を 1 つ持つので (1,3,1)**。類名をいくつ足しても勝てない。
 * 実ブラウザで測ったところ、当たってはいるのに 70%（560px）のままだった.
 */
.pa-page-uri--research-report_97 .page-content__body #research table.hyou:nth-child(10),
.pa-page-uri--research-report_97 .page-content__body #research table.hyou:nth-child(11),
.pa-page-uri--research-report_97 .page-content__body #research table.hyou:nth-child(14),
.pa-page-uri--research-report_97 .page-content__body #research table.hyou:nth-child(15),
.pa-page-uri--research-report_97 .page-content__body #research table.hyou:nth-child(4) {
	width: 100%;
}

/* research/report_119  .hyou  1/1 件（上と同じ理由で `#research` を入れる） */
.pa-page-uri--research-report_119 .page-content__body #research table.hyou:nth-child(4) {
	width: 100%;
}

/* research/report_155  .box_conduct  1/2 件 */
.pa-page-uri--research-report_155 .page-content__body div.box_conduct:nth-child(62) {
	margin-top: 50px;
	padding-bottom: 35px;
}

/* research/report_156  .box_conduct  1/2 件 */
.pa-page-uri--research-report_156 .page-content__body div.box_conduct:nth-child(55) {
	margin-top: 50px;
	padding-bottom: 35px;
}

/* research/report_157  .box_conduct  1/2 件 */
.pa-page-uri--research-report_157 .page-content__body div.box_conduct:nth-child(6) {
	margin-top: 50px;
	padding-bottom: 35px;
}

/* research/report_158  .box_conduct  1/2 件 */
.pa-page-uri--research-report_158 .page-content__body div.box_conduct:nth-child(12) {
	margin-top: 50px;
	padding-bottom: 35px;
}

/* research/report_99  .box_conduct  3/8 件 */
.pa-page-uri--research-report_99 .page-content__body div.box_conduct:nth-child(11),
.pa-page-uri--research-report_99 .page-content__body div.box_conduct:nth-child(3),
.pa-page-uri--research-report_99 .page-content__body div.box_conduct:nth-child(5) {
	background-color: transparent;
	border: 1px solid #ccc;
}

/* research/report_77  .box_conduct  1/2 件 */
.pa-page-uri--research-report_77 .page-content__body div.txtDivTbl:nth-child(4) > div.box_conduct:nth-child(2) {
	margin-bottom: 20px;
}

/* qol/archives/vol09/article02  .name  6/26 件 */
.pa-page-uri--qol-archives-vol09-article02 .page-content__body dl.comment:nth-child(7) > dt.name:nth-child(5),
.pa-page-uri--qol-archives-vol09-article02 .page-content__body dl.comment:nth-child(9) > dt.name:nth-child(15),
.pa-page-uri--qol-archives-vol09-article02 .page-content__body dl.comment:nth-child(9) > dt.name:nth-child(29),
.pa-page-uri--qol-archives-vol09-article02 .page-content__body dl.comment:nth-child(9) > dt.name:nth-child(33),
.pa-page-uri--qol-archives-vol09-article02 .page-content__body dl.comment:nth-child(9) > dt.name:nth-child(37),
.pa-page-uri--qol-archives-vol09-article02 .page-content__body dl.comment:nth-child(9) > dt.name:nth-child(7) {
	width: 65px;
	margin: 5px 8px 0 0;
}

/* qol/archives/vol09/article03  .name  1/14 件 */
.pa-page-uri--qol-archives-vol09-article03 .page-content__body dl.comment:nth-child(3) > dt.name:nth-child(3) {
	width: 65px;
	margin: 5px 8px 0 0;
}

/* qol/archives/vol10/article02  .name  3/25 件 */
.pa-page-uri--qol-archives-vol10-article02 .page-content__body dl.comment:nth-child(7) > dt.name:nth-child(17),
.pa-page-uri--qol-archives-vol10-article02 .page-content__body dl.comment:nth-child(7) > dt.name:nth-child(7),
.pa-page-uri--qol-archives-vol10-article02 .page-content__body dl.comment:nth-child(9) > dt.name:nth-child(3) {
	width: 65px;
	margin: 5px 8px 0 0;
}

/* qol/archives/vol10/article03  .name  1/13 件 */
.pa-page-uri--qol-archives-vol10-article03 .page-content__body dl.comment:nth-child(3) > dt.name:nth-child(5) {
	width: 65px;
	margin: 5px 8px 0 0;
}

/* research/report_158  .None  1/6 件 */
.pa-page-uri--research-report_158 .page-content__body div.txtDivTbl:nth-child(10) > div:nth-child(8) {
	margin: 50px 0 20px;
}

/* research/report_158  .None  1/6 件 */
.pa-page-uri--research-report_158 .page-content__body div:nth-child(8) > span:nth-child(1) {
	border-bottom: solid 2px;
	font-weight: bold;
	padding-bottom: 0.5em;
}

/* research/report_158  .None  1/3 件 */
.pa-page-uri--research-report_158 .page-content__body p:nth-child(13) {
	font-size: 15px;
}

/*
 * ------------------------------------------------------------------
 * U29 プランとシングルマザー応援プランの主役の区画（Bug #6942）
 * ------------------------------------------------------------------
 *
 * 写し元は移行元のミラーの `uvalue/css/style.css` と `singlemother/css/style.css` の
 * `.fv` まわり。**2 本は 1 本を除いて同じ内容**なので、宣言は 1 つにまとめ、
 * 当たり先を `.pa-page--uvalue #uvalue` と `.pa-page--singlemother #sm` の 2 通り並べる。
 *
 * 🚨 **`:is()` で 2 ページを束ねない。**この節を見張る検査 2 本
 * （`pa-cms-uvalue-legacy-type-scale` と `pa-cms-singlemother-legacy-type-scale`）は、
 * `.pa-page--<ページ>` から `}` までを 1 つの規則として数える。`:is()` の中に 2 ページの札を
 * 入れると、片方の検査が**もう一方のページの札を自分の規則の中に見つけて**陰性対照で落ちる。
 * **U29 側の当たり先を先にすべて並べ、そのあとにシングルマザー側を並べる**のもこのためである。
 *
 * 移行元の組みは次のとおりで、**投入した本文にはそのまま入っている**（器も類名も残る）。
 *
 *     div.fv > div.inner > div.cach  > img（fv_cach.png）
 *                        > div.txt   > img（fv_txt.png）
 *                        > div.slide > div.ph.ph01 / div.ph.ph02
 *
 * 🚨 **主役の写真 2 枚は `<img>` ではなく、この CSS が敷く背景である。**
 * そのため投入の絵の束には入らない（2026-09-17 19:09 の実測で dev は 403 だった）。
 * **テーマの資材として同梱してある**（`assets/uvalue/images/`・`assets/singlemother/images/`）。
 * コピーの絵（`fv_cach.png` / `fv_txt.png`）のほうは投入で届いている（同じ実測で 200・md5 一致）。
 *
 * 🚨 **`.cach` は最後に消える。**`pa-uvalue-fv-blur` の 100% が `opacity: 0` で、
 * `animation-fill-mode: both` なのでその状態が残る。**移行元でコピーが 1 回しか見えないのは
 * このためで**、写しが無いと `.cach` と `.txt` の 2 枚が並んだままになる（事業部の指摘の姿）。
 *
 * 🚨 **`.txt` `.banner` `.slide` は `opacity: 0` で始まり、JS が見せる。**
 * 移行元は `uvalue/js/action.js` が jQuery で `opacity` を 1 へ動かし、`.slide` へ `active` を付ける。
 * 写しは `assets/js/uvalue-singlemother-firstview.js`（jQuery なし）で同じことをする。
 * **この JS が配られないと主役の区画は出ない。**
 *
 * 🚨 **登場演出の名前に `pa-` を付けた。**移行元の `fadeIn` / `blur` は名前が一般的すぎて、
 * テーマの他の画面と衝突する（`main.css` の 29747 行に同じ理由の記録がある）。
 *
 * 🚨 **`.fv .slide img.fadeIn`（移行元のシングルマザー側だけに在る 1 本）は写さない。**
 * `.slide` の中身は `div.ph` 2 つで `<img>` は 1 つも無く、当たり先が 0 個だからである。
 */

.pa-page--uvalue #uvalue .fv,
.pa-page--singlemother #sm .fv {
	position: relative;
	max-width: 1555px;
	width: 64%;
	min-width: 1110px;
	height: 72vh;
	max-height: 800px;
	margin: 0 auto;
}

.pa-page--uvalue #uvalue .fv .inner,
.pa-page--singlemother #sm .fv .inner {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	border-radius: 30px;
	overflow: hidden;
}

.pa-page--uvalue #uvalue .fv img,
.pa-page--uvalue #uvalue .fv .ph,
.pa-page--singlemother #sm .fv img,
.pa-page--singlemother #sm .fv .ph {
	width: 100%;
	transition: 0.3s;
}

.pa-page--uvalue #uvalue .fv .cach,
.pa-page--singlemother #sm .fv .cach {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%);
	opacity: 0;
	animation-name: pa-uvalue-fv-blur;
	animation-duration: 6s;
	animation-fill-mode: both;
	width: 70%;
	max-width: 1230px;
}

.pa-page--uvalue #uvalue .fv .txt,
.pa-page--singlemother #sm .fv .txt {
	position: absolute;
	bottom: 50px;
	left: 50px;
	z-index: 2;
	width: 70%;
	max-width: 1224px;
	opacity: 0;
}

.pa-page--uvalue #uvalue .fv .banner,
.pa-page--singlemother #sm .fv .banner {
	position: absolute;
	bottom: -50px;
	right: 60px;
	z-index: 2;
	width: 150px;
	opacity: 0;
}

.pa-page--uvalue #uvalue .fv .slide,
.pa-page--singlemother #sm .fv .slide {
	position: relative;
	z-index: 1;
	opacity: 0;
}

.pa-page--uvalue #uvalue .fv .slide .ph,
.pa-page--singlemother #sm .fv .slide .ph {
	position: relative;
	width: 100%;
	height: 72vh;
	object-fit: cover;
	opacity: 0;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.pa-page--uvalue #uvalue .fv .slide.active .ph,
.pa-page--singlemother #sm .fv .slide.active .ph {
	animation-name: pa-uvalue-fv-fadein;
	animation-duration: 30s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-delay: 0s;
	animation-play-state: running;
	animation-fill-mode: forwards;
	transition: all 8s cubic-bezier(1, 0, 0, 1);
}

.pa-page--uvalue #uvalue .fv .slide .ph + .ph,
.pa-page--singlemother #sm .fv .slide .ph + .ph {
	position: absolute;
	left: 0;
	top: 0;
}

.pa-page--uvalue #uvalue .fv .slide.active .ph:nth-of-type(2),
.pa-page--singlemother #sm .fv .slide.active .ph:nth-of-type(2) {
	animation-delay: 8s;
}

/* 主役の写真。**移行元は区画ごとに別のファイルを敷く**ので、ここだけページを分ける. */
.pa-page--uvalue #uvalue .fv .slide .ph01 {
	background: url("../uvalue/images/fv_ph01.jpg?ver=fa276bda6ea0") no-repeat center center;
	background-size: cover;
}

.pa-page--uvalue #uvalue .fv .slide .ph02 {
	background: url("../uvalue/images/fv_ph02.jpg?ver=ae5eba9f9599") no-repeat top right;
	background-size: cover;
}

.pa-page--singlemother #sm .fv .slide .ph01 {
	background: url("../singlemother/images/fv_ph01.jpg?ver=88cbb3714c1f") no-repeat center center;
	background-size: cover;
}

.pa-page--singlemother #sm .fv .slide .ph02 {
	background: url("../singlemother/images/fv_ph02.jpg?ver=1dfa1fb87a46") no-repeat top right;
	background-size: cover;
}

/*
 * 🚨 **携帯幅の主役の区画（Bug #7963）。**
 *
 * この上の宣言は**移行元のパソコン版の写しだけ**だった。`.fv` が
 * `min-width: 1110px` を持つため、幅 375 でも 1110px のまま出て、
 * **ページが横に 1125px はみ出していた**（画面の 3 倍）。
 *
 * 写し元は移行元のスマートフォン版 `sp/uvalue/css/style.css` の `.fv` まわり。
 *
 *     .fv         margin: 0 6.25%
 *     .fv .inner  border-radius: 20px
 *     .fv .cach   width: 100%
 *     .fv .txt    bottom: 6%; left: 4%; width: 90%
 *     .fv .banner bottom: -40px; right: 0; width: 70px
 *
 * 🚨 **`sp/singlemother/css/style.css` は 3 か所だけ違う。**どれも同じ値へまとめられる。
 *
 * | 違い | 移行元の携帯版 | ここでどう書いたか |
 * |---|---|---|
 * | 角丸 20px の当たり先 | `.fv` そのもの（携帯版の本文に `.inner` が無い） | **`.inner` に当てる。**dev の本文は移行元のパソコン版で `.inner` を持ち、`.fv` と同じ 328.13 × 203.56 の箱だからである（実測で一致） |
 * | `.fv .slide` の透け | `0`（U29 は `1`） | **触らない。**見せるのは `assets/js/uvalue-singlemother-firstview.js` の仕事である |
 * | `.fv img` の `transition` | 無し（U29 は `0.3s`） | **触らない。**上の既定の宣言が両ページへ `0.3s` を当てている |
 *
 * 🚨 **`margin: 0 6.25%` はそのまま写せない。**移行元の携帯版では `.fv` の親が
 * 画面いっぱい（375px）だが、**dev の親は本文の器で 345px しかない。**百分率で
 * 取ると 302px になって移行元と 26px ずれる。**画面の幅に対する割合（`vw`）で
 * 取り、中央へ置く。**87.5vw = 100% − 6.25% × 2 である。
 *
 * 🚨 **主役の写真は `<img>` ではなく `div.ph` の背景である**（dev の本文は移行元の
 * パソコン版で、移行元の携帯版だけが `<img>` で組む）。移行元の携帯版は高さを
 * `<img>` の自然な高さに任せているので、こちらは移行元の携帯版の写真と同じ
 * 縦横比（`fv_ph01.jpg` は 706 × 438）を `aspect-ratio` で与える。
 *
 * 実測（2026-09-20 10:15・実ブラウザ 12 条件・移行元の本番へ出た 0 件）。
 * **2 ページとも同じ値である。**
 *
 * | 物差し（幅 375） | 移行元の携帯版 | dev 直す前 | dev 直した後 |
 * |---|---|---|---|
 * | 根の横幅 | 375 | 🚨 **1125** | **375** |
 * | `.fv` の左端 × 幅 | 23.44 × 328.13 | 15 × 1110 | **23.44 × 328.13** |
 * | 主役の写真 | 23.44 × 328.13 | 15 × 1110 | **23.44 × 328.13** |
 * | キャッチの絵 | 23.44 × 328.13 | 181.5 × 777 | **23.44 × 328.13** |
 * | コピーの絵 | 36.56 × 295.31 | 65 × 777 | **36.56 × 295.31** |
 * | 案内のボタン | 281.56 × 70 | 915 × 150 | **281.56 × 70** |
 *
 * 幅 1440 は直しの前後で 1px も動かない（`.fv` は 170 × 1110 × 648、ページの
 * 高さも 11011 と 17983 のまま）。
 *
 * 🚨 **キャッチとコピーの絵は、これとは別に携帯専用の絵へ差し替える**
 * （`inc/sp-image-swap.php`）。移行元は同じ文言を余白の違う紙に組んでおり、
 * 幅をそろえただけでは高さが 36.81px 対 50.98px と食い違うためである.
 */
@media (max-width: 749px) {

	/*
	 * 🚨 **区画の器の上の空き 20px**（Bug #7963・共通部品の担当 D7 の切り分け）。
	 *
	 * 主役の区画そのものの上下の位置が、移行元 81 に対し dev 61 と 20px ずれていた。
	 * **共通ヘッダーの高さの差ではない**（移行元も dev も 5 ページとも 375 × 61 で
	 * 一致することを D7 が実測した）。移行元は区画の器に上の内余白を書いている。
	 *
	 * | 移行元の CSS | 当たり先 | 値 |
	 * |---|---|---|
	 * | `sp/uvalue/css/style.css` | `#uvalue` | `padding: 20px 0 0` |
	 * | `sp/singlemother/css/style.css` | `#sm` | `padding: 20px 0 0` |
	 *
	 * 🚨 **パソコン幅の 50px はここで足さない。**移行元のパソコン版は同じ器に
	 * `padding-top: 50px` を書いており（`uvalue/css/style.css` の `#uvalue`）、
	 * dev は幅 1440 でも 0 である（`.fv` の y が移行元 217 対 dev 167）。ただし
	 * Bug #7963 の受入基準は「幅 1440 が直しの前後で 1px も動かない」なので、
	 * **パソコン幅は別に起こす。**
	 */
	.pa-page--uvalue #uvalue,
	.pa-page--singlemother #sm {
		padding-top: 20px;
	}

	.pa-page--uvalue #uvalue .fv,
	.pa-page--singlemother #sm .fv {
		width: 87.5vw;
		min-width: 0;
		max-width: none;
		height: auto;
		max-height: none;
		margin: 0 auto;
	}

	.pa-page--uvalue #uvalue .fv .inner,
	.pa-page--singlemother #sm .fv .inner {
		border-radius: 20px;
	}

	/*
	 * 🚨 **絵を行の中に置かない。**移行元の携帯版は共通の `sp/css/common.css` で
	 * `img { display: block }` を site 全体に当てている。dev は当てていないので、
	 * `<img>` が行の中の文字として扱われ、**下に 6px の隙間が付く。**器の高さが
	 * 6px 増え、`bottom` で位置を決める `.txt` と `.banner` が 6px 上へずれる
	 * （実測・2026-09-20 10:22）。ここだけ行から外す.
	 */
	.pa-page--uvalue #uvalue .fv img,
	.pa-page--singlemother #sm .fv img {
		display: block;
	}

	.pa-page--uvalue #uvalue .fv .cach,
	.pa-page--singlemother #sm .fv .cach {
		width: 100%;
		max-width: none;
	}

	.pa-page--uvalue #uvalue .fv .txt,
	.pa-page--singlemother #sm .fv .txt {
		bottom: 6%;
		left: 4%;
		width: 90%;
		max-width: none;
	}

	.pa-page--uvalue #uvalue .fv .banner,
	.pa-page--singlemother #sm .fv .banner {
		bottom: -40px;
		right: 0;
		width: 70px;
	}

	.pa-page--uvalue #uvalue .fv .slide .ph,
	.pa-page--singlemother #sm .fv .slide .ph {
		height: auto;
		aspect-ratio: 706 / 438;
	}

	/*
	 * 🚨 **体験談の札を 1 列に並べる（Bug #8318）。**
	 *
	 * 携帯幅の共通の規則（「移行してきた本文が使うクラス」の節の `@media`）は、
	 * `.flexBox--3col` の札を 2 列（`calc((100% - 16px) / 2)` ＝ 164.50）にする。
	 * 移行元の携帯版の共通 CSS（`sp/introduce/css/sp_style_experience.css` 19〜21 行）も
	 * 2 列だが、**この 2 ページだけはページ専用の CSS が 1 列へ上書きしている。**
	 *
	 * | 移行元の CSS | 当たり先 | 値 |
	 * |---|---|---|
	 * | `sp/uvalue/css/style.css` 364〜367 行 | `#uvalue .flexBox--3col .flexBox__item` | `margin: 0 0 2.5% 0 !important; width: 100%` |
	 * | `sp/singlemother/css/style.css` 475〜478 行 | `#sm .flexBox--3col .flexBox__item` | 同じ |
	 *
	 * 2 列のままだと札の中の `.txt-area`（`calc(100% - 100px)`）が 33.88px しか残らず、
	 * 字が器を押し広げて**ページが横に 34px はみ出していた**（`scrollWidth` 409）。
	 * 連鎖は `p.type` → `.txt-area` → `.profile-info` → `li` → `ul.stories-list` →
	 * `body` → 固定 CTA の `width: 100%` の順で、Issue に実測を載せてある。
	 *
	 * 🚨 **`gap` を 0 にする。**移行元は札の間を `gap` でなく札の下の外余白 2.5% で空ける。
	 * 共通の規則の `gap: 16px` を残すと、行の間が 16px ＋ 2.5% になる。
	 */
	.pa-page--uvalue #uvalue .flexBox--3col,
	.pa-page--singlemother #sm .flexBox--3col {
		gap: 0;
	}

	.pa-page--uvalue #uvalue .flexBox--3col .flexBox__item,
	.pa-page--singlemother #sm .flexBox--3col .flexBox__item {
		margin: 0 0 2.5% 0;
		width: 100%;
	}

	/*
	 * 🚨 **本文の器の左右の余白は 6.25%。区画は画面いっぱい（Bug #9461）。**
	 *
	 * 移行元スマホ版は、区画（`.titleArea`・`.contentBox`・`#story`）を画面いっぱいに置き、
	 * 中身の器 `.contentBox_inner` にだけ左右の外余白を付ける。dev は全サイト共通の
	 * `.page-content { padding: 0 var(--pa-inner-gutter) }`（15px）が区画ごと内側へ押していた
	 * （幅 375 の実測・`pa-verify-assets/B/9461-器の外-1005/走行1/`）.
	 *
	 * | 要素 | 移行元スマホ版（x・幅） | dev（直す前） |
	 * |---|---|---|
	 * | 区画 `.titleArea`・`.contentBox` | 0・375 | 15・345 |
	 * | 器の中の料金の絵 | 23.4・328.1 | 15・345 |
	 * | 主役の写真の区画 `.fv` | 23.4・328.1 | 23.4・328.1（`87.5vw` の中央寄せ。直さない） |
	 *
	 * 🚨 **`.page-content` の内余白を 6.25% に広げる書き方（婚活の文例の先例）は使わない。**
	 * 区画まで 23.4・328.1 へ狭まり、ベージュの区画の背景も画面の端まで届かない.
	 *
	 * 移行元の CSS（`sp/singlemother/css/style.css`・`sp/uvalue/css/style.css`）:
	 *
	 * | 行 | 規則 |
	 * |---|---|
	 * | 9〜11（U29 は 12〜14） | `.bgBeige { background: #f9f7f3 }` |
	 * | 96〜98 | `.contentBox .contentBox_inner { margin: 0 6.25% 50px }` |
	 * | 99〜101 | `.contentBox .contentBox_inner:last-of-type { margin-bottom: 0 }` |
	 * | 380〜382（U29 は 259〜261） | `.contentBox .contentBox_matchingArea .contentBox_inner { margin: 0 }` |
	 *
	 * 当て先の `.page-content` は `article` の修飾クラスで絞る（型紙は素の `<div class="page-content">`）。
	 * シングルマザー応援プランの 2・3 ページ目（`index2`・`index3`）も同じ `article.pa-page--singlemother` なので当たる。
	 * 移行元にこの 2 ページのスマホ版は無い（本番は携帯の端末情報で `/sp/singlemother/` へ転送する）が、器の値は同じにそろえる.
	 * ベージュの背景は、パソコン幅の節（Task #8619・#8620）では区画を広げて当てている。携帯幅は区画がもともと画面いっぱいなので色だけでよい.
	 *
	 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
	 */
	.page-content:has(> article:is(.pa-page--singlemother, .pa-page--uvalue)) {
		padding-right: 0;
		padding-left: 0;
	}

	.pa-page--uvalue #uvalue .bgBeige,
	.pa-page--singlemother #sm .bgBeige {
		background: #f9f7f3;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_inner,
	.pa-page--singlemother #sm .contentBox .contentBox_inner {
		margin: 0 6.25% 50px;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_inner:last-of-type,
	.pa-page--singlemother #sm .contentBox .contentBox_inner:last-of-type {
		margin-bottom: 0;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .contentBox_inner,
	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .contentBox_inner {
		margin: 0;
	}

	/*
	 * 区画を画面いっぱいにしたことで、`.contentBox_inner` の外にある中身も画面の端（x 0）に付く。
	 * 移行元の規則のうち**左右に関わる部分だけ**を写す（上下の余白と字の大きさは写さない。直す前からある別の差）.
	 * 直す前の下見 `pa-verify-assets/B/9461-下見-1005/走行1/` で、前 x 15 → 後 x 0 に動いた要素から拾った.
	 *
	 * | 中身 | 移行元スマホ版の規則 | ここで当てるもの |
	 * |---|---|---|
	 * | 成婚ストーリー `#story` | 493〜496 行 `#sm #story .titleArea { margin: 0 6.25% }`・器 `.article_box.contentBox_inner` の 6.25% | dev は `#story > .grid_box` の 1 枚に包むので、そこへ左右 6.25% |
	 * | 題の区画 `.titleArea` | 21〜23 行（U29 は 24〜26 行）`.titleArea { padding: 60px 0 75px; text-align: center }` | `text-align: center` だけ |
	 * | 成婚ストーリーの導入 `.lead` | 497〜500 行 `#sm #story .lead { padding: 20px 0 30px; text-align: left }` | `text-align: left` だけ |
	 *
	 * 🚨 **先頭へ戻る `.page_topArea` は、直す前の左右 15px を戻す（今の見た目を保つ）。**
	 * 移行元スマホ版は器 `.page_topArea` を持たず、共通部品 `include/box_support_sp.shtml` 18 行の `p.page_top` だけを置く。
	 * ボタンの位置は移行元も dev も x 165.2・幅 44.5 で同じ（下見 3 回目 `B/9461-下見-1005/走行3/` の記録）.
	 * 🚨 **`section#event_top` には当てない。**この 2 ページの `#event_top` は、本文 `#sm`・`#uvalue` を丸ごと包む外側の器である
	 * （区画の外の部品ではない）。内余白を戻すと区画がすべて 15・345 へ押し戻される（下見 2 回目 `B/9461-下見-1005/走行2/` で実測）.
	 */
	.pa-page--singlemother #sm #story > .grid_box {
		margin-right: 6.25%;
		margin-left: 6.25%;
	}

	.pa-page--uvalue #uvalue .titleArea,
	.pa-page--singlemother #sm .titleArea {
		text-align: center;
	}

	.pa-page--singlemother #sm #story .lead {
		text-align: left;
	}

	.page-content:has(> article:is(.pa-page--singlemother, .pa-page--uvalue)) .page_topArea {
		padding-right: var(--pa-inner-gutter);
		padding-left: var(--pa-inner-gutter);
	}

	/*
	 * 🚨 **写真の区画の飾りの絵は、携帯幅では 2 枚だけを写真に重ねて交互に出し入れする（Bug #9481）。**
	 *
	 * 移行元スマホ版（`sp/singlemother/index.html` 89〜93 行）は飾りの絵を 2 枚（`ico01`・`ico02`・750×788 の吹き出しの絵）だけ持ち、
	 * `sp/singlemother/css/style.css` 116〜126 行の `.phArea { position: relative }`・`.titleArea .ico { position: absolute }` で
	 * 写真（`div.ph`・同じ 750×788）の左上に、写真と同じ 375×394 で重ねる。出し入れは `js/action.js` 9〜17 行
	 * （`assets/js/uvalue-singlemother-firstview.js` に写した）.
	 *
	 * dev の本文はパソコン版の markup で 7 枚を持ち、絶対配置と 7 つの位置はパソコン幅の節にしか無い。携帯幅では 7 枚が流れの中に
	 * 縦に並び、写真の区画が 394 に対し 2,229 だった（幅 375 の実測・`pa-verify-assets/B/9481-飾りの絵-1005/走行1/`）.
	 * 2 枚の絵は `inc/sp-image-swap.php` が携帯版の 750×788 へ差し替え済み.
	 *
	 * 始めは 2 枚とも見えない（移行元も読み込み時に `$(".ico").hide()` する）。見せるのは台本が付ける `is-shown` の仕事.
	 *
	 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
	 */
	.pa-page--singlemother #sm .titleArea .phArea {
		position: relative;
	}

	.pa-page--singlemother #sm .titleArea .ico {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		opacity: 0;
		visibility: hidden;
		transition: opacity 1000ms, visibility 1000ms;
	}

	/*
	 * 🚨 **絵を行の中に置かない。**移行元の携帯版は共通の `sp/css/common.css` で `img { display: block }` を当てる。
	 * dev は当てていないので、写真と飾りの絵の `<img>` の下に 6px の隙間が付き、写真の箱が 394 でなく 400 になる
	 * （直す前の実測で `div.ph` 400・中の絵 394）。主役の区画 `.fv` の絵と同じ手当て（この節の上の注釈）.
	 */
	.pa-page--singlemother #sm .titleArea .phArea img {
		display: block;
	}

	.pa-page--singlemother #sm .titleArea .ico img {
		width: 100%;
	}

	.pa-page--singlemother #sm .titleArea .ico.is-shown {
		opacity: 1;
		visibility: visible;
	}

	/* 動きを減らす設定のときは出入りの遷移を切る（PR #9487 の Greptile の指摘 P2）。台本は止めて 2 枚とも隠すが、
	 * 遷移が残ると、設定を有効にした直後に 1 秒かけてフェードアウトする. */
	@media (prefers-reduced-motion: reduce) {
		.pa-page--singlemother #sm .titleArea .ico {
			transition: none;
		}
	}

	.pa-page--singlemother #sm .titleArea :is(.ico03, .ico04, .ico05, .ico06, .ico07) {
		display: none;
	}

	/*
	 * 🚨 **2 プランの字の大きさと行の高さは、携帯幅では移行元スマホ版の値にする（Bug #9469）。**
	 *
	 * dev はパソコン版の字の規則（Task #5670 の 2 つの節・31 本）を幅の条件の外に置いている。
	 * そのため携帯幅でも題が 42px、副題が 24〜30px、`.lede` が 16〜18px と行の高さ 220% になっていた。
	 * 見出しには記事本文の共通の規則（`.entry-content :is(h2, h3, h4, h5, h6)` の行の高さと字間 0.05em）も当たり、
	 * 移行元では `normal` の行の高さが 36〜63px、字間が 1.2〜2.1px になっていた
	 * （幅 375 の実測・`pa-verify-assets/B/9469-実測-1005/走行2/`）.
	 *
	 * | 字 | 移行元スマホ版 | dev（直す前） |
	 * |---|---|---|
	 * | 題 `.title` | 25px・行の高さ normal・字間 normal | 42px・63px・2.1px |
	 * | 副題 `.subtitle`・`.stitle`・`.cach` | 16〜25px・normal・normal | 24〜30px・36〜45px・1.2〜1.5px |
	 * | 説明文 `.lede` | 14px・180% | 16〜18px・220% |
	 * | 器の中の本文（`.graphList`・`.boxArea`・`.matchingList`・入会資格の `p`） | 13px | 16〜20px |
	 * | U29 のよくある質問 `dt`・`dd` | 16px・14px（行の高さ normal） | 18px・16px（`dd` は 2.2） |
	 *
	 * 値は移行元の `sp/singlemother/css/style.css`・`sp/uvalue/css/style.css` の規則を、同じ順で写した（右の数字は行）。
	 * 🚨 **移行元は `css/basic.css` のリセットで、`p`・`span` ほか全要素の字を 13px にしている。**
	 * 字は親から継承されず、`.txt { font-size: 14px }` の中の `p` も 13px になる。dev は継承するので、
	 * 本文の `p` と見出しの中の `span` には 13px をじかに当てる.
	 * 成婚ストーリー（`#story`）の `.box_prof` は、移行元 `sp/introduce/story/css/style.css` の 12px.
	 *
	 * 体験談の札（`.stories-list`）と成婚ストーリー（`#story`）は、共通の部品の規則が当たっている。
	 * 部品の規則と `.entry-content` の共通の規則は他のページにも当たるので触らず、2 プランの根の中で携帯幅だけ上書きする（統括の決定・2026-10-05）.
	 *
	 * 対象外: 字の太さ（見出しの `.serif`・札の本文。別の Bug で扱う）.
	 *
	 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
	 */
	.pa-page--singlemother #sm :is(.title, .subtitle, .stitle, .cach),
	.pa-page--uvalue #uvalue :is(.title, .subtitle, .stitle, .cach) {
		letter-spacing: normal;
		line-height: normal;
	}

	/* singlemother 32・41 行 */
	.pa-page--singlemother #sm .title {
		font-size: 25px;
	}

	/* singlemother 61 行 */
	.pa-page--singlemother #sm .subtitle {
		font-size: 25px;
	}

	/* singlemother 67 行 */
	.pa-page--singlemother #sm .titleArea .subtitle,
	.pa-page--singlemother #sm .stitle {
		font-size: 18px;
	}

	/* singlemother 78 行 */
	.pa-page--singlemother #sm .cach {
		font-size: 18px;
	}

	/* singlemother 83〜90 行 */
	.pa-page--singlemother #sm .lede,
	.pa-page--singlemother #sm .titleArea .lede {
		font-size: 14px;
		line-height: 180%;
	}

	/* singlemother 110 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_pointArea .subtitle {
		font-size: 18px;
	}

	/* singlemother 295 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .subtitle {
		font-size: 18px;
	}

	/* singlemother 299 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .stitle {
		font-size: 16px;
	}

	/* basic.css のリセット（13px）。注記の `.aside` は移行元 348 行の 12px で、dev も既存の規則で 12px なので外す */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt p,
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea p:not(.aside),
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea h5 span,
	.pa-page--singlemother #sm .contentBox .matchingList li p,
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea p {
		font-size: 13px;
	}

	/* singlemother 328 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt .age {
		font-size: 12px;
	}

	/* singlemother 343 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea h5 {
		font-size: 14px;
		letter-spacing: normal;
		line-height: normal;
	}

	/* singlemother 351 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .aside_kome {
		font-size: 11px;
	}

	/* singlemother 383 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .subtitle {
		font-size: 18px;
	}

	/* singlemother 543 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea dl,
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea {
		font-size: 13px;
	}

	/* singlemother 537 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea h4 {
		font-size: 18px;
		letter-spacing: normal;
		line-height: normal;
	}

	/* sp/introduce/story/css/style.css の `#story .article_box .box_prof`・`.prof_read` */
	.pa-page--singlemother #sm .contentBox .box_prof,
	.pa-page--singlemother #sm .contentBox .box_prof .prof_read {
		font-size: 12px;
	}

	/*
	 * basic.css のリセット（13px）。移行元はプロフィールの字を `.prof_text01` の直下に置き、`letter-spacing: 0.1em` も
	 * そこに当てる（13px なので 1.3px）。dev は字を `p` に包み、0.1em は 12px の親で計算されて 1.2px が継承されるので、`p` にじかに当てる.
	 * `.prof_read` は 12px（上の規則）なので、大きさのリセットから外す.
	 */
	.pa-page--singlemother #sm .contentBox .box_prof :is(.prof_text01, .prof_text02) > p:not(.prof_read) {
		font-size: 13px;
	}

	.pa-page--singlemother #sm .contentBox .box_prof :is(.prof_text01, .prof_text02) > p {
		letter-spacing: 0.1em;
	}

	/* uvalue 35・44 行 */
	.pa-page--uvalue #uvalue .title {
		font-size: 25px;
	}

	/* uvalue 66 行 */
	.pa-page--uvalue #uvalue .subtitle {
		font-size: 25px;
	}

	/* uvalue 74 行 */
	.pa-page--uvalue #uvalue .subtitle span.subTxt {
		font-size: 15px;
	}

	/* uvalue 79 行 */
	.pa-page--uvalue #uvalue .titleArea .subtitle,
	.pa-page--uvalue #uvalue .stitle {
		font-size: 18px;
	}

	/* uvalue 84 行 */
	.pa-page--uvalue #uvalue .cach {
		font-size: 18px;
	}

	/* uvalue 89 行 */
	.pa-page--uvalue #uvalue .lede {
		font-size: 14px;
		line-height: 180%;
	}

	/* uvalue 250・255 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .subtitle,
	.pa-page--uvalue #uvalue .contentBox .contentBox_graphArea .subtitle,
	.pa-page--uvalue #uvalue .contentBox .contentBox_graphArea .subtitle span {
		font-size: 18px;
	}

	/* basic.css のリセット（13px） */
	.pa-page--uvalue #uvalue .contentBox .matchingList li p,
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea p {
		font-size: 13px;
	}

	/* uvalue 411 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea dl,
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea {
		font-size: 13px;
	}

	/* uvalue 405 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea h4 {
		font-size: 18px;
		letter-spacing: normal;
		line-height: normal;
	}

	/* uvalue 457・463 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt,
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt::before {
		font-size: 16px;
	}

	/* uvalue 474 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dd {
		font-size: 14px;
		line-height: normal;
	}

	/* uvalue 492 行 */
	.pa-page--uvalue #uvalue .beigeBtn a {
		font-size: 15px;
	}

	/*
	 * 体験談の札。移行元 `sp/introduce/css/sp_style_experience.css`・`style_introduce_experience.css` は、
	 * 字を rem（html が 62.5% なので 1rem＝10px）、行の高さを札の `.stories-list__item { line-height: 1.53 }` の継承で決める.
	 * dev の部品は携帯幅で `calc(…vw)`（幅 393 を基準にした値。幅 375 では 0.95 倍）と、字ごとの 1.5・1.8 を当てていた.
	 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .stories-list__item,
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .stories-list__item * {
		line-height: 1.53;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .post-date {
		font-size: 11px;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list :is(.post-date time, .copy p) {
		font-size: 13px;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list :is(.type, .number-list__cont) {
		font-size: 12px;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .number-list__ttl {
		font-size: 12px;
		line-height: 1;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .number-list__cont .lg {
		font-size: 18px;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list :is(.profile-info__name, .profile-info__age) {
		font-size: 14px;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list :is(.profile-info__name, .profile-info__age) span {
		font-size: 16px;
	}

	/* 属性の札（居住地・学歴・職種）の字は `li > span`。移行元は li が 1.2rem で、span は basic.css のリセットの 13px */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .profile-info__other li span {
		font-size: 13px;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .read-btn {
		font-size: 10px;
	}

	/*
	 * 成婚ストーリー（シングルマザー応援プランだけ）。移行元 `sp/introduce/story/css/style.css` は、
	 * `.article_box { font-size: 12px; line-height: 140% }`・`.box_prof { line-height: 150% }` の行の高さを px で継承させる
	 * （16.8px・18px）。dev は `p` に `.entry-content p` の行の高さ（normal）が当たっていた.
	 * 🚨 dev の組みは移行元の `.article_box` を持たず、`#story > .grid_box > .detail_body > .detail_inner` の中に本文を置く.
	 */
	.pa-page--singlemother #sm #story .detail_inner,
	.pa-page--singlemother #sm #story .detail_inner p {
		line-height: 16.8px;
	}

	.pa-page--singlemother #sm #story .text_title {
		letter-spacing: normal;
	}

	.pa-page--singlemother #sm #story .box_prof,
	.pa-page--singlemother #sm #story .box_prof :is(p, dt, dd) {
		line-height: 18px;
	}

	.pa-page--singlemother #sm #story .box_prof .prof_ttl {
		font-size: 16px;
		line-height: 100%;
	}

	/* basic.css のリセット（13px） */
	.pa-page--singlemother #sm #story .box_prof dt span {
		font-size: 13px;
	}

	.pa-page--singlemother #sm #story .box_concierge,
	.pa-page--singlemother #sm #story .box_concierge * {
		letter-spacing: 1.2px;
	}

	.pa-page--singlemother #sm #story .box_concierge .concierge_ttl {
		line-height: 20px;
	}

	.pa-page--singlemother #sm #story .box_concierge .concierge_copy {
		line-height: 150%;
	}

	.pa-page--singlemother #sm #story .menu_sns li {
		line-height: 0;
	}
}

/*
 * 🚨 **2 プランの字の太さは、移行元と同じにする（Bug #9494）。**
 *
 * dev では、記事本文の共通の規則（`.entry-content :is(h2, h3, h4, h5, h6)`・`.entry-content dt`・
 * `.entry-content :is(strong, b)`）と体験談の札の部品の規則（`.stories-list .number-list`・`.copy`）が、
 * 2 プランの見出しと札の本文を 700 にしていた。移行元は、スマホ版が `#sm .serif`・`#uvalue .serif`、
 * パソコン版が `#sm h2, … h6`・`#uvalue h2, … h6` で normal にし、`css/basic.css` のリセットで
 * ほかの要素も 400 にしている（字は親から継承されない）.
 * 逆に U29 のボタン `.beigeBtn a` は、移行元が `#uvalue .beigeBtn a { font-weight: bold }`、dev は規則が無く 400 だった.
 *
 * | 幅 | 太さが違った要素（1〜3 ページ目・U29） | 直す規則 |
 * |---|---|---|
 * | 両方 | 副題 `h3.subtitle`・小見出し `h4.stitle`・`h4.cach`・U29 のよくある質問 `dt.serif`・U29 の `.beigeBtn a` | 下の幅の条件の無い 3 本（U29 の `.bold` は太字に戻す） |
 * | 375 | 札の本文 `.copy p` とその中の `strong`・`.number-list__cont`・`.boxArea h5` の中の `span` | 携帯幅の節 |
 * | 1440 | 入会資格の `.shikakuArea h4`・成婚ストーリーの `h5.story_copy`・`h4.text_title`・`h6.concierge_ttl` | パソコン幅の節 |
 *
 * 実測（直す前）: `pa-verify-assets/B/9494-太さの読み-1005/走行1/`（375 で 102 件・1440 で 91 件）.
 * 部品と共通の規則は他のページにも当たるので触らず、2 プランの根の中で上書きする（統括の決定・2026-10-05）.
 * 🚨 3 ページ目の `.contentBox_graphArea > .titleArea > h3.subtitle.serif` は触らない。移行元パソコン版 index3 の
 * 行内の `font-weight: bold` を写した上の規則（詳細度 1,5,1）が、この節の規則（1,2,1）に勝つ。移行元スマホ版には 3 ページ目が無い.
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 */
:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) :is(h3.subtitle, h4.stitle, h4.cach, dt.serif) {
	font-weight: normal;
}

.pa-page--uvalue #uvalue .beigeBtn a {
	font-weight: bold;
}

/* U29 の `.bold` の付いた見出しは太字のまま（移行元 `sp/uvalue/css/style.css` 22 行・`uvalue/css/style.css` 20 行の `#uvalue .bold`）。
 * 上の normal の規則（詳細度 1,2,1）に勝つよう、同じ当たり先に `.bold` を重ねる（1,3,1）。シングルマザーには `.bold` の規則が無く、400 のまま */
.pa-page--uvalue #uvalue :is(h3.subtitle, h4.stitle, h4.cach, dt.serif).bold {
	font-weight: bold;
}

@media (max-width: 749px) {
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list :is(.copy p, .copy p strong, .number-list__cont) {
		font-weight: normal;
	}

	/* 札の数字 `.lg` は太字（移行元 `sp/introduce/css/sp_style_experience.css` 713 行） */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .number-list__cont .lg {
		font-weight: bold;
	}

	.pa-page--singlemother #sm .contentBox_graphArea .boxArea h5 span {
		font-weight: normal;
	}
}

@media (min-width: 750px) {
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox_priceArea .shikakuArea h4 {
		font-weight: normal;
	}

	.pa-page--singlemother #sm #story :is(h5.story_copy, h4.text_title, h6.concierge_ttl) {
		font-weight: normal;
	}
}

/*
 * 🚨 **2 プランの携帯幅の上下の余白は、移行元スマホ版の値にする（Bug #9482）。**
 *
 * dev の携帯幅には、2 プランの区画・見出し・部品の上下の余白が写されていなかった。パソコン幅の節（Task #8570・#8611）は
 * `@media (min-width: 750px)` の中だけにある。直す前の読み（幅 375・`pa-verify-assets/B/9482-余白の読み-1005/走行1/`）で、差は 3 つの型に分かれた.
 *
 * | 型 | 例（移行元 → dev。上下の外余白・内余白） |
 * |---|---|
 * | (1) 区画の内余白 | `.titleArea` 60/75 → 0・`.contentBox` 50/50 → 0・成婚ストーリーの `.titleArea` 下 30 → 0・`.contentBox_graphArea` 下 70 → 0 |
 * | (2) 見出しの外余白 | `h2`・`.subtitle`・`.stitle`・`.cach`・`h4`・`h5` が dev では上 30・下 20（記事本文の共通の見出しの規則）。移行元は上 0・下 5〜40 |
 * | (3) 部品の余白 | `.graphList li`・`.boxArea`・`.matchingList li`・`.contentBox_matchingDetails`・料金・よくある質問・`.beigeBtn` ほか |
 *
 * 移行元は `css/basic.css` のリセットで全要素の外余白を 0 にし、区画別の CSS が要る所だけ値を付ける。
 * dev は記事本文の共通の規則（見出しの上 30・下 20、段落とリストの下 18 ほか）が当たるので、まず根の中の見出し・段落・リストの
 * 上下の外余白を 0 に戻し（`:where()` で詳細度を 1,1,0 に抑え、下の写した規則が勝つようにする）、そのあとに移行元の規則を写す.
 * 体験談の札（`.stories-list`）の中は、部品の規則（Task #8577 ほか）が受け持つのでリセットから外す.
 *
 * 写すのは上下（top / bottom）だけ。左右は Bug #9461 の器の値（6.25%）ほかを崩さないよう写さない。
 * 値は `sp/singlemother/css/style.css`・`sp/uvalue/css/style.css`・`sp/introduce/story/css/style.css` の
 * margin / padding の規則を、同じ順で写した（注記の数字は移行元の行）.
 * 成婚ストーリーは、移行元の `#story .article_box …` を dev の組み `#story > .grid_box > .detail_body > .detail_inner` に読み替える（Bug #9469 と同じ）.
 * 写さない規則: 主役の写真 `.fv`（携帯幅は Bug #9461 の判断で直さない）・体験談の札の器 `.flexBox--3col .flexBox__item`（部品が受け持つ）・
 * 成婚ストーリーの一覧のページだけの規則（`.category_ttl`・`.list_box`・`.point_box`・`.pager_menu` ほか）と、組みの違う SNS の `.menu_sns`.
 *
 * 部品と共通の規則は他のページにも当たるので触らず、2 プランの根の中で携帯幅だけ上書きする（統括の決定・2026-10-06）.
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 */
@media (max-width: 749px) {
	/* css/basic.css のリセット（外余白 0）。札の部品の中は外す */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) :where(h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd):where(:not(.stories-list *)) {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* singlemother 3 行 */
	.pa-page--singlemother #sm {
		padding-top: 20px;
		padding-bottom: 0;
	}

	/* singlemother 22 行 */
	.pa-page--singlemother #sm .titleArea {
		padding-top: 60px;
		padding-bottom: 75px;
	}

	/* singlemother 26 行 */
	.pa-page--singlemother #sm .contentBox_inner .titleArea {
		padding-top: 0;
		padding-bottom: 0;
	}

	/* singlemother 29 行 */
	.pa-page--singlemother #sm h2 {
		margin-bottom: 25px;
	}

	/* singlemother 61 行 */
	.pa-page--singlemother #sm .subtitle {
		margin-bottom: 30px;
	}

	/* singlemother 66 行 */
	.pa-page--singlemother #sm .titleArea .subtitle,
	.pa-page--singlemother #sm .stitle {
		margin-bottom: 20px;
	}

	/* singlemother 72 行 */
	.pa-page--singlemother #sm .w800 {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* singlemother 75 行 */
	.pa-page--singlemother #sm .w900 {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* singlemother 78 行 */
	.pa-page--singlemother #sm .cach {
		margin-bottom: 15px;
	}

	/* singlemother 90 行 */
	.pa-page--singlemother #sm .contentBox {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	/* singlemother 93 行 */
	.pa-page--singlemother #sm .contentBox.pt0 {
		padding-top: 0;
	}

	/* 成婚ストーリーの区画は、移行元スマホ版の HTML では `div.contentBox#story`（`pt0` を持たない）で上 50 になる。
	   dev の本文はパソコン版の `div.contentBox.pb0.pt0#story` なので、上の 93 行の規則で 0 になる。id で戻す */
	.pa-page--singlemother #sm #story.contentBox {
		padding-top: 50px;
	}

	/* singlemother 96 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_inner {
		margin-top: 0;
		margin-bottom: 50px;
	}

	/* singlemother 99 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_inner:last-of-type {
		margin-bottom: 0;
	}

	/* singlemother 105 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_pointArea .ph,
	.pa-page--singlemother #sm .contentBox .contentBox_taikenArea .ph,
	.pa-page--singlemother #sm .contentBox .contentBox_nayamiArea .ph {
		margin-top: 30px;
	}

	/* singlemother 120 行 */
	.pa-page--singlemother #sm .phArea {
		margin-top: 40px;
		margin-bottom: 40px;
	}

	/* singlemother 287 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea {
		padding-bottom: 70px;
	}

	/* singlemother 291 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea:last-of-type {
		padding-bottom: 0;
	}

	/* singlemother 295 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .subtitle {
		margin-bottom: 40px;
	}

	/* singlemother 299 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .stitle {
		margin-bottom: 5px;
	}

	/* singlemother 303 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* singlemother 306 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li {
		margin-bottom: 15px;
	}

	/* singlemother 320 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	/* singlemother 328 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt .age {
		margin-bottom: 5px;
	}

	/* singlemother 333 行（内余白は左右も写す・Bug #9585） */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea {
		margin-top: 40px;
		margin-bottom: 40px;
		padding: 15px;
	}

	/* singlemother 343 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea h5 {
		margin-bottom: 10px;
	}

	/* singlemother 351 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .aside_kome {
		margin-bottom: 20px;
	}

	/* singlemother 376 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .txt {
		margin-bottom: 20px;
	}

	/* singlemother 380 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .contentBox_inner {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* singlemother 383 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .subtitle {
		margin-top: 15px;
		margin-bottom: 20px;
	}

	/* singlemother 387 行 */
	.pa-page--singlemother #sm .contentBox .matchingList {
		margin-bottom: 40px;
	}

	/* singlemother 390 行 */
	.pa-page--singlemother #sm .contentBox .matchingList li {
		margin-bottom: 15px;
	}

	/* singlemother 431 行 */
	.pa-page--singlemother #sm .contentBox .matchingList li img {
		padding-top: 5px;
		padding-bottom: 5px;
		margin-top: 0;
		margin-bottom: 0;
	}

	/* singlemother 444 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingDetails {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 25px;
		padding-bottom: 25px;
	}

	/* 1 個目の `#matching01` は、パソコン版の行内 `style="padding-top:80px"` を写した幅の条件の無い規則
	   （`.pa-page--singlemother #sm #matching01`・詳細度 2,1,0）が勝つ。移行元スマホ版の HTML は行内の指定を持たないので、
	   同じ詳細度で後ろに置き、上の 444 行の値に戻す */
	.pa-page--singlemother #sm #matching01 {
		padding-top: 25px;
	}

	/* singlemother 470 行 */
	.pa-page--singlemother #sm .contentBox_introduceArea .title,
	.pa-page--singlemother #sm .contentBox_priceArea .title,
	.pa-page--singlemother #sm .contentBox_qaArea .title {
		margin-bottom: 30px;
	}

	/* singlemother 498 行 */
	.pa-page--singlemother #sm #story .lead {
		padding-top: 20px;
		padding-bottom: 30px;
	}

	/* singlemother 510 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph {
		margin-top: 5px;
	}

	/* 移行元スマホ版の HTML は料金の絵の器が `div.ph.mb40`（`sp/css/common.css` の `.mb40 { margin-bottom: 40px }`）。
	   dev の本文はパソコン版の `div.ph` で類名を持たないので、下 40 をここで付ける */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph {
		margin-bottom: 40px;
	}

	/* singlemother 516 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .aside {
		margin-top: 5px;
	}

	/* singlemother 525 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .torokuArea {
		margin-top: 40px;
		margin-bottom: 40px;
	}

	/* singlemother 529 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .areaArea {
		margin-top: 30px;
		margin-bottom: 30px;
	}

	/* singlemother 532 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea {
		margin-bottom: 20px;
	}

	/* singlemother 537 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea h4 {
		margin-bottom: 10px;
	}

	/* singlemother 546 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea h4 {
		margin-bottom: 5px;
	}

	/* singlemother 550 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea dl {
		margin-top: 0;
		margin-bottom: 20px;
	}

	/* singlemother 561 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .areaArea dt {
		padding-top: 0;
		padding-bottom: 0;
	}

	/* singlemother 567 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .areaArea dd {
		padding-top: 0;
		padding-bottom: 0;
	}

	/* singlemother 578 行 */
	.pa-page--singlemother #sm #story .titleArea {
		padding-top: 0;
		padding-bottom: 30px;
	}

	/* singlemother 591 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_qaArea dt {
		padding-top: 0;
		padding-bottom: 20px;
	}

	/* singlemother 608 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_qaArea dd {
		padding-top: 0;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	/* singlemother 622 行 */
	.pa-page--singlemother #sm .beigeBtn {
		margin-top: 30px;
		margin-bottom: 0;
	}

	/* singlemother 626 行 */
	.pa-page--singlemother #sm .beigeBtn a {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	/* uvalue 3 行 */
	.pa-page--uvalue #uvalue {
		padding-top: 20px;
		padding-bottom: 0;
	}

	/* uvalue 25 行 */
	.pa-page--uvalue #uvalue .titleArea {
		padding-top: 60px;
		padding-bottom: 75px;
	}

	/* uvalue 29 行 */
	.pa-page--uvalue #uvalue .contentBox_inner .titleArea {
		padding-top: 0;
		padding-bottom: 0;
	}

	/* uvalue 32 行 */
	.pa-page--uvalue #uvalue h2 {
		margin-bottom: 25px;
	}

	/* uvalue 66 行 */
	.pa-page--uvalue #uvalue .subtitle {
		margin-bottom: 30px;
	}

	/* uvalue 78 行 */
	.pa-page--uvalue #uvalue .titleArea .subtitle,
	.pa-page--uvalue #uvalue .stitle {
		margin-bottom: 20px;
	}

	/* uvalue 84 行 */
	.pa-page--uvalue #uvalue .cach {
		margin-bottom: 15px;
	}

	/* uvalue 93 行 */
	.pa-page--uvalue #uvalue .contentBox {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	/* uvalue 96 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_inner {
		margin-top: 0;
		margin-bottom: 50px;
	}

	/* uvalue 99 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_inner:last-of-type {
		margin-bottom: 0;
	}

	/* uvalue 105 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_pointArea .ph {
		margin-top: 30px;
	}

	/* uvalue 108 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_kaiketutArea .ph {
		margin-top: 20px;
	}

	/* uvalue 245 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .txt {
		margin-bottom: 20px;
	}

	/* uvalue 249 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .subtitle,
	.pa-page--uvalue #uvalue .contentBox .contentBox_graphArea .subtitle {
		margin-top: 15px;
		margin-bottom: 20px;
	}

	/* uvalue 259 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .contentBox_inner {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* uvalue 262 行 */
	.pa-page--uvalue #uvalue .contentBox .matchingList {
		margin-bottom: 40px;
	}

	/* uvalue 265 行 */
	.pa-page--uvalue #uvalue .contentBox .matchingList li {
		margin-bottom: 15px;
	}

	/* uvalue 306 行 */
	.pa-page--uvalue #uvalue .contentBox .matchingList li img {
		padding-top: 5px;
		padding-bottom: 5px;
		margin-top: 0;
		margin-bottom: 0;
	}

	/* uvalue 319 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingDetails {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 25px;
		padding-bottom: 25px;
	}

	/* シングルマザーと同じ。パソコン版の行内 `padding-top:80px` を写した規則（詳細度 2,1,0）を、同じ詳細度で後ろから戻す */
	.pa-page--uvalue #uvalue #matching01 {
		padding-top: 25px;
	}

	/* uvalue 343 行（移行元は 355 行にも同じ選択子・同じ値の規則をもう 1 本持つ。値が同じなので 1 本だけ写す） */
	.pa-page--uvalue #uvalue .contentBox_introduceArea .title,
	.pa-page--uvalue #uvalue .contentBox_priceArea .title,
	.pa-page--uvalue #uvalue .contentBox_qaArea .title {
		margin-bottom: 30px;
	}

	/* uvalue 360 行 */
	.pa-page--uvalue #uvalue .contentBox_introduceArea .banner {
		margin-top: 40px;
	}

	/* uvalue 383 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .ph {
		margin-top: 5px;
	}

	/* uvalue 389 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .aside {
		margin-top: 5px;
	}

	/* uvalue 398 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .torokuArea {
		margin-top: 20px;
		margin-bottom: 40px;
	}

	/* uvalue 402 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .areaArea {
		margin-top: 30px;
		margin-bottom: 30px;
	}

	/* uvalue 405 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea h4 {
		margin-bottom: 10px;
	}

	/* uvalue 414 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea h4 {
		margin-bottom: 5px;
	}

	/* uvalue 418 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea dl {
		margin-top: 0;
		margin-bottom: 20px;
	}

	/* uvalue 429 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .areaArea dt {
		padding-top: 0;
		padding-bottom: 0;
	}

	/* uvalue 435 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .areaArea dd {
		padding-top: 0;
		padding-bottom: 0;
	}

	/* uvalue 457 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt {
		padding-top: 0;
		padding-bottom: 20px;
	}

	/* uvalue 474 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dd {
		padding-top: 0;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	/* uvalue 488 行 */
	.pa-page--uvalue #uvalue .beigeBtn {
		margin-top: 30px;
		margin-bottom: 0;
	}

	/* uvalue 492 行 */
	.pa-page--uvalue #uvalue .beigeBtn a {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	/* introduce/story 176 行 */
	.pa-page--singlemother #sm #story .article_pic {
		margin-bottom: 15px;
	}

	/* introduce/story 196 行 */
	.pa-page--singlemother #sm #story .detail_inner p {
		margin-bottom: 20px;
	}

	/* introduce/story 199 行 */
	.pa-page--singlemother #sm #story .detail_inner .text_title {
		margin-bottom: 20px;
		padding-top: 0;
		padding-bottom: 0;
	}

	/* introduce/story 210 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_prof {
		margin-bottom: 18px;
	}

	/* introduce/story 216 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_prof .prof_ttl {
		margin-bottom: 15px;
		padding-top: 0;
		padding-bottom: 7px;
	}

	/* introduce/story 235 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_prof .prof_read {
		margin-bottom: 10px;
	}

	/* introduce/story 243 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_prof .prof_text,
	.pa-page--singlemother #sm #story .detail_inner .box_prof .prof_text01,
	.pa-page--singlemother #sm #story .detail_inner .box_prof .prof_text02 {
		margin-bottom: 10px;
	}

	/* introduce/story 249 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_prof dl {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	/* introduce/story 255 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_prof dt {
		margin-top: 0;
		margin-bottom: 10px;
		padding-top: 0;
		padding-bottom: 0;
	}

	/* introduce/story 267 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_prof dd {
		margin-top: 0;
		margin-bottom: 10px;
		padding-top: 0;
		padding-bottom: 0;
	}

	/* introduce/story 288 行 */
	.pa-page--singlemother #sm #story .detail_inner .story_title {
		margin-bottom: 15px;
	}

	/* introduce/story 294 行 */
	.pa-page--singlemother #sm #story .detail_inner .story_copy {
		margin-bottom: 12px;
		padding-top: 7px;
		padding-bottom: 7px;
	}

	/* introduce/story 303 行 */
	.pa-page--singlemother #sm #story .detail_inner .story_text {
		padding-top: 0;
		padding-bottom: 18px;
	}

	/* introduce/story 306 行 */
	.pa-page--singlemother #sm #story .detail_inner .story_text p {
		margin-bottom: 12px;
	}

	/* introduce/story 309 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge {
		margin-bottom: 23px;
		padding-top: 15px;
		padding-bottom: 0;
	}

	/* introduce/story 317 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge .concierge_ttl {
		margin-bottom: 15px;
	}

	/* introduce/story 324 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge .concierge_ttl span {
		padding-top: 7px;
		padding-bottom: 7px;
	}

	/* introduce/story 330 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge .concierge_copy {
		margin-bottom: 10px;
	}

	/* introduce/story 347 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge p.concierge_prof_post {
		margin-bottom: 5px;
	}

	/* introduce/story 353 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge p.concierge_prof_name {
		margin-bottom: 10px;
	}

	/* introduce/story 375 行 */
	.pa-page--singlemother #sm #story dl {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	/* introduce/story 383 行 */
	.pa-page--singlemother #sm #story dt {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	/* introduce/story 390 行 */
	.pa-page--singlemother #sm #story dd {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
}

/* シングルマザー応援プランと U29 プランの携帯幅の、グラフと成約のリストの組み・絵を持つ器の絵・成約の題の絵（Bug #9524）。
 *
 * 移行元スマホ版は、リストの項目 `li` を flex の横並び（絵を左・字を右、成約の札は字を左・絵を右）に組む。dev は上の節（Bug #9482）が
 * 余白だけを写していて、項目は既定の縦積み（絵の下に字）だった。グラフの区画が +732、成約の区画が +562（U29 は +609）高かった
 * （`pa-verify-assets/B/9524-直す前の読み-1006/走行1/`）.
 *
 * | 当たり先 | 移行元スマホ版の出どころ | 値 |
 * |---|---|---|
 * | グラフの `li` | `sp/singlemother/css/style.css` 306〜315 行 | flex・下揃え・両端寄せ・角丸 5・白地 |
 * | グラフの絵 | 同 316〜319 行 | 120×120 |
 * | グラフの字の器 `.txt` | 同 320〜324 行 | 幅 calc(100% - 140px)・右の内余白 15・左 0（上下 15 は上の節）。移行元は `content-box` で、外から見て 203.1 |
 * | 成約の `li` | 同 390〜398 行 ／ `sp/uvalue/css/style.css` 265〜273 行 | flex・上下の真ん中・両端寄せ・枠線 2px・角丸 5 |
 * | U29 プランの成約の札の並び | `sp/uvalue/index.html` 130〜138 行（`<li><img><p>字</p></li>`） | 絵を左・字を右（`row-reverse`）。シングルマザー応援プランとパソコン版は字が左 |
 * | 成約のリンクの札 `a` と矢印 | 同 399〜420 行 ／ 同 274〜295 行 | flex・地 #9f8046・白い字・`::before` の矢印（`content-box`） |
 * | 成約の字の器 | 同 421〜430 行 ／ 同 296〜305 行 | 左の内余白 15・幅 calc(100% - 35px)・`border-box`・字の色。リンクの札は白い字と下線 |
 * | 成約の絵 | 同 431〜436 行 ／ 同 306〜311 行 | 幅 40・内余白 5 10 5 5（`content-box`。外から見て 55） |
 * | ポイントの区画の最初の絵の器 | `sp/singlemother/css/style.css` 364〜368 行 `.contentBox_pointArea .ph01` | 幅 325・左右 auto |
 * | 器 `.ph` の絵・成約の題の絵 | `sp/css/common.css` 11〜15 行 `img { display: block }` | `display: block`（行の下の隙間 +6 を消す） |
 * | 料金の絵の器の中の注記 `.ph .aside`（シングルマザー応援プラン） | `sp/singlemother/css/style.css` 515〜523 行 | `display: block`・左寄せ（上の外余白 5 は上の節が持つ。dev は行の中に並び、器が −10 低かった・下見 走行 2） |
 *
 * 🚨 **dev の札の中は投入の形になっている。**移行元の札は `<li><p>字</p><img></li>`（リンクの札は `<a><p>字</p><img></a>`）だが、
 * dev は絵が `<p>` に包まれ、リンクの札の `<p>` は `<span>` になる（パソコン幅の ⑱ ⑲ と同じ）。字の `p` と `a > span` に移行元の `li p` を当て、
 * 絵の包み `p:has(> img:only-child)` は幅なりに戻す。グラフの絵も包まれていて当たるように書く.
 *
 * 🚨 **U29 プランのスマホ版だけ、札の中の並びが逆である。**移行元スマホ版の HTML は絵を先に書き（`<li><img><p>字</p></li>`）、パソコン版と
 * シングルマザー応援プランのスマホ版は字を先に書く。dev の本文はパソコン版なので、U29 プランの `li` と `a` を `row-reverse` にして絵を左へ置く
 * （直さないと字の器の左端が移行元 80.4 に対して 25.4・`pa-verify-assets/B/9524-下見-1006/走行1/`）.
 *
 * 🚨 **ポイントの区画の幅 325 は、移行元スマホ版だけが持つ類名 `ph01` の規則である。**dev の本文はパソコン版の HTML で類名が無いので、
 * 中の絵（`point_ph01.png`）で当てる。`.fv` の中の空の `div.ph.ph01`・`div.ph.ph02`（パソコン版だけの器で、携帯幅では最初の画面の絵 2 枚に
 * 使っている・80614 行の節）には当てない。ここの規則は全部 `.contentBox` の中に絞る.
 *
 * 成約の題の絵の中身（スマホ版 650×37・パソコン版 400×32）は、携帯版の絵の差し替え（`inc/sp-image-swap.php`）が替える.
 * 字の大きさ（Task #9469）と外余白（Bug #9482）には触らない.
 */
@media (max-width: 749px) {
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		width: 100%;
		box-sizing: border-box;
		border-radius: 5px;
		background: #fff;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li > p:has(> img:only-child) {
		flex: none;
		margin: 0;
		padding: 0;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li img {
		display: block;
		width: 120px;
		height: 120px;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt {
		box-sizing: content-box;
		width: calc(100% - 140px);
		padding-right: 15px;
		padding-left: 0;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li {
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-sizing: border-box;
		border: 2px solid #9f8046;
		border-radius: 5px;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li a {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		box-sizing: border-box;
		background: #9f8046;
		color: #fff;
	}

	.pa-page--uvalue #uvalue .contentBox .matchingList li,
	.pa-page--uvalue #uvalue .contentBox .matchingList li a {
		flex-direction: row-reverse;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li a::before {
		position: absolute;
		top: 38%;
		right: 10px;
		box-sizing: content-box;
		width: 8px;
		height: 8px;
		border-right: 2px #f3f1ec solid;
		border-bottom: 2px #f3f1ec solid;
		transform: rotate(45deg);
		content: "";
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li p,
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li a > span {
		display: block;
		box-sizing: border-box;
		width: calc(100% - 35px);
		padding-left: 15px;
		color: #9f8046;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li a > span {
		color: #fff;
		text-decoration: underline;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li p:has(> img:only-child) {
		flex: none;
		width: auto;
		margin: 0;
		padding-left: 0;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .matchingList li img {
		display: block;
		box-sizing: content-box;
		width: 40px;
		height: auto;
		margin: 0;
		padding: 5px 10px 5px 5px;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_pointArea .ph:has(img[src$="/point_ph01.png"]) {
		width: 325px;
		margin-right: auto;
		margin-left: auto;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph .aside {
		display: block;
		text-align: left;
	}

	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .ph img,
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .contentBox_matchingArea .txt img {
		display: block;
	}
}

/* シングルマザー応援プランの携帯幅の、成婚ストーリーの左右の内余白と並び（Bug #9598・#9585 の 2 本目）。
 *
 * 成婚ストーリー（`#story`）の字の左端が、移行元スマホ版とずれていた（直す前の読み
 * `pa-verify-assets/B/9598-直す前の読み-1006/走行1/`・幅 375）。外側の器は移行元と同じ位置と幅である
 * （移行元 `.article_box.contentBox_inner` の左右 6.25%・dev `#story > .grid_box` の左右 6.25%（Bug #9461）。どちらも x 23.4・幅 328.1）。
 * 差は器の中の段の左右の内余白と display で、上下の余白の節（Bug #9482）は上下だけを写している.
 *
 * | 要素 | 移行元スマホ版（`sp/introduce/story/css/style.css`） | dev（直す前） |
 * |---|---|---|
 * | 名前 `.prof_ttl` | 左の内余白 25px（216 行） | 0（記事本文の成婚ストーリーの共通の規則） |
 * | 小見出し `.story_copy` | 左右の内余白 3.928%（294 行・左右 12.88px） | 16px（共通の規則） |
 * | 成婚コンシェルジュの区画 `.box_concierge` | 左右の内余白 5.357%（309 行・左右 17.56px）・罫線 2px #A3762B | 0・罫線なし（罫線はパソコン幅の節だけ） |
 * | その見出し `.concierge_ttl` | 下線 1px #A3762B（317 行） | 下線なし（パソコン幅の節だけ） |
 * | その見出しの中の `span` | `display: block`（324 行） | 行の中のまま、前の字の後ろに続く |
 * | 共有の並び | 幅いっぱいの `.detail` の中で右寄せ（179 行）・項目の間 10px（185 行の `li` の左の外余白） | `.detail_inner` の中（右端が 23.4 内側）。項目の間 10px は共通の規則の `gap` が持つ |
 *
 * 割合の内余白は、移行元と dev で親の幅（328.1）が同じなので、同じ値になる.
 * 共有の並びの右の外余白は、器の左右 6.25%（#story の幅に対する割合）を `.detail_inner`（#story の 87.5%）に対する割合へ直した値で、
 * 並びの右端を #story の右端まで出す.
 * 成婚ストーリーの記事ページほか、ほかのページの `#story` には当てない（シングルマザー応援プランの根で始める）.
 * シングルマザー 3 ページ目の副題は対象外（移行元スマホ版に対が無い・dev は移行元パソコン版 `index3.html` と同じ区画）.
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 */
@media (max-width: 749px) {
	/* introduce/story/css/style.css 216 行（上下は Bug #9482 の節） */
	.pa-page--singlemother #sm #story .detail_inner .box_prof .prof_ttl {
		padding-left: 25px;
	}

	/* introduce/story/css/style.css 294 行 */
	.pa-page--singlemother #sm #story .detail_inner .story_copy {
		padding-right: 3.928%;
		padding-left: 3.928%;
	}

	/* introduce/story/css/style.css 309 行（上下は Bug #9482 の節） */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge {
		padding-right: 5.357%;
		padding-left: 5.357%;
		border: 2px solid #a3762b;
	}

	/* introduce/story/css/style.css 317 行 */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge .concierge_ttl {
		border-bottom: 1px solid #a3762b;
	}

	/* introduce/story/css/style.css 324 行（上下の内余白は Bug #9482 の節） */
	.pa-page--singlemother #sm #story .detail_inner .box_concierge .concierge_ttl span {
		display: block;
	}

	/* introduce/story/css/style.css 179 行（並びは幅いっぱいの器の中で右寄せ） */
	.pa-page--singlemother #sm #story .detail_inner .menu_sns02 {
		margin-right: calc(-6.25% / 0.875);
	}
}

/* シングルマザー応援プランの携帯幅の、成婚ストーリーの縦の余白と組み（Bug #9618・事業部の指摘 W124）。
 *
 * 幅 375 で、成婚ストーリー（`#story`）が移行元スマホ版より 101.6 高かった（3,698.9 → 3,800.5。直す前の読み
 * `pa-verify-assets/B/9618-直す前の読み-1006/走行1/`）。dev の本文は移行元パソコン版の組み（`.grid_box > .detail_body`・
 * `div.storyTxt01 > div.storyTxt01inner`）で、移行元スマホ版（`.titleArea > p.article_pic`・`div.story_text`・`p.story_img`）と組みが違う。
 * HTML は変えず、移行元スマホ版の縦の余白をこの組みへ当て分ける（値は `sp/introduce/story/css/style.css` の行）.
 *
 * | 段 | 移行元スマホ版 | dev（直す前） | 差 |
 * |---|---|---|---|
 * | 写真 | `.titleArea` の中・導入の直後・下 15。`.titleArea` の下の内余白 30 は写真の後 | `.titleArea`（下 30）の外の `div > picture > img`（行の中で +6）・下 0 | 写真 +30・その後 −9 |
 * | プロフィールの本文 | `div.prof_text01 / 02` の直の字（器の下 10・245 行） | 器の中の `p`（下 20）が器の外へ抜ける | +10 ずつ |
 * | 「続きを読む」 | `dt` が左に浮く（383・255 行）。次は `clear` で `dt` の下 10 の後から | 浮かず、`.box_prof` の下 18 と重なる | +8 ずつ |
 * | 「ストーリー」の題の後 | 空の `<p>`（下 20）と重なって 20 | 15 | −5 |
 * | 本文 | `div.story_text`（下の内余白 18・303 行）→ 絵 `p.story_img`（下 20）か次の小見出し | `div.storyTxt01`（下 30）の中に字の器（0）と絵の器（上 20・行の中で +4.8） | +12〜+16.8 ずつ |
 * | 共有の並び | `ul.menu_sns`（下 25・179 行） | 共通の規則の上の内余白 35・下 0 | +10 |
 *
 * 字の器の選び方: パソコン版の組みは「[空][字]」（絵なし）・「[字][絵]」（絵が右）・「[絵][字]」（絵が左）で、空の器も
 * 改行を持つので `:empty` は使えない。字の器は「絵を持たず、最後の子か、次の器が絵を持つもの」で、空の器（最初の子で、次も絵を持たない）に当たらない.
 * 「続きを読む」は浮かせて写す。dev の開閉（`assets/js/ac-menu.js`）は `dt` と抜粋を隠して `dd` を開くだけである.
 * 開いた `dd` も移行元では右に浮く（`#story dd`・390 行）。浮いた `dd` の中で「閉じる」の下 20 が止まり、`dd` の下 10 の後から
 * 次の `.box_prof` が `clear` で始まる。dev も `dd` を浮かせて同じ組みにする。本文の器は移行元が `div.mb10`（下 10・
 * `sp/css/style.css` 67 行）の直の字で、dev は器の中の `p`（下 20）なので、器に下 10 を持たせ `p` の下を 0 にする
 * （出どころの読み `pa-verify-assets/B/9618-出どころの読み-1006/走行1/`）.
 * 成婚ストーリーの記事ページほか、ほかのページの `#story` には当てない（シングルマザー応援プランの根で始める）.
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 */
@media (max-width: 749px) {
	/* 写真（introduce/story/css/style.css の .article_pic と .titleArea の下の内余白） */
	.pa-page--singlemother #sm #story .grid_box > .titleArea {
		padding-bottom: 0;
	}

	.pa-page--singlemother #sm #story .detail_body > div:has(> picture) {
		margin-bottom: 45px;
	}

	.pa-page--singlemother #sm #story .detail_body > div:has(> picture) :is(picture, img) {
		display: block;
	}

	/* introduce/story/css/style.css 245 行（本文は器の直の字なので、器の外へ抜ける外余白を持たない） */
	.pa-page--singlemother #sm #story .box_prof :is(.prof_text01, .prof_text02) > p:not(.prof_read) {
		margin-bottom: 0;
	}

	/* introduce/story/css/style.css 255・383 行（「続きを読む」は左に浮く） */
	.pa-page--singlemother #sm #story .box_prof,
	.pa-page--singlemother #sm #story .box_prof dl {
		clear: both;
	}

	.pa-page--singlemother #sm #story .box_prof dt {
		float: left;
		width: 100%;
	}

	/* introduce/story/css/style.css 390 行（開いた「続きを読む」の中身は右に浮く）と sp/css/style.css 67 行（.mb10） */
	.pa-page--singlemother #sm #story .detail_inner .box_prof dd {
		float: right;
		width: 100%;
	}

	.pa-page--singlemother #sm #story .detail_inner .box_prof dd > div {
		margin-bottom: 10px;
	}

	.pa-page--singlemother #sm #story .detail_inner .box_prof dd > div > p:last-child {
		margin-bottom: 0;
	}

	/* 題の後の空の <p>（下 20）と同じ空き。Bug #9482 の節の `.detail_inner .story_title`（下 15）より強く当てる */
	.pa-page--singlemother #sm #story .detail_inner .story_title {
		margin-bottom: 20px;
	}

	/* introduce/story/css/style.css 303 行の .story_text と、.story_img（下 20） */
	.pa-page--singlemother #sm #story .storyTxt01 {
		margin-bottom: 0;
	}

	.pa-page--singlemother #sm #story .storyTxt01inner:not(:has(img)):is(:last-child, :has(+ .storyTxt01inner img)) {
		padding-bottom: 18px;
	}

	.pa-page--singlemother #sm #story .storyTxt01inner:has(img) {
		margin-top: 0;
		margin-bottom: 20px;
	}

	.pa-page--singlemother #sm #story .storyTxt01inner img {
		display: block;
	}

	/* introduce/story/css/style.css 179 行 */
	.pa-page--singlemother #sm #story .menu_sns02 {
		padding-top: 0;
		margin-bottom: 25px;
	}
}

/* シングルマザー応援プランと U29 プランの携帯幅の、字の揃え（Bug #9539）。
 *
 * 移行元スマホ版は、区画の見出しと注記を中央か右に揃える。dev はこの幅に揃えの規則が 1 本も無く、親から
 * start（左）を受け継いでいた。直す前の読み `pa-verify-assets/B/9539-直す前の読み-1006/走行1/`（幅 375・
 * 移行元 822eda470）で、根の中の字を持つ要素を全部掃いて、揃えの違う要素を数えた（シングルマザー 18・U29 13。
 * シングルマザーの 2・3 ページ目の差は 1 ページ目の部分集合）。値は移行元の規則を、同じ順で写した（右は行）.
 *
 * | 当たり先 | 移行元（`sp/singlemother/css/style.css` ／ `sp/uvalue/css/style.css`） | 揃え |
 * |---|---|---|
 * | `.subtitle` | 61 行 ／ 66 行 | 中央 |
 * | `.titleArea .subtitle`・`.stitle` | 66 行 ／ 78 行 | 中央 |
 * | `.cach` | 78 行 ／ 84 行 | 中央 |
 * | 成約の詳しい説明の `h4` | 449 行 ／ 324 行 | 中央 |
 * | 入会資格の器と `h4`（シングルマザー） | 532・537 行 | 中央 |
 * | 入会資格の `h4`（U29） | ／ 405 行 | 中央 |
 * | グラフの区画の注記 `.aside_kome`（シングルマザー） | 351 行 | 右 |
 * | ポイントの区画の注記 `.aside`（シングルマザー） | 361 行 | 中央 |
 * | 押しボタン `.beigeBtn a` | 626 行 ／ 492 行 | 中央 |
 * | 成婚ストーリーの共有の並び（dev は `#story .menu_sns02`・シングルマザー） | `sp/introduce/story/css/style.css` 179〜183 行 `#story .menu_sns` | 右（dev は flex なので `justify-content`） |
 *
 * 見出しの中の `sup`・`span.line` は、見出しの揃えを受け継ぐ。U29 の `span.subTxt` と `.beigeBtn a` は塊にする（下の 2 本目の規則）。パソコン幅は触らない
 * （U29 は `@media (min-width: 750px)` の規則で中央、シングルマザーは start のまま・Bug #9539 の範囲の外）.
 */
@media (max-width: 749px) {
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) :is(.subtitle, .stitle, .cach),
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .contentBox_matchingDetails h4,
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .contentBox .contentBox_priceArea .shikakuArea h4,
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea,
	.pa-page--singlemother #sm .contentBox .contentBox_pointArea .aside,
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .beigeBtn a {
		text-align: center;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .aside_kome {
		text-align: right;
	}

	/* 成婚ストーリーの共有の並び。移行元スマホ版は `ul.menu_sns` を右へ寄せる（`sp/introduce/story/css/style.css`
	 * 179〜183 行）。dev の本文は移行元のパソコン版から取り込むので、同じ並びが `ul.menu_sns02`（パソコン版では中央）で、
	 * 共通の規則 `:is(.entry-content, .page-content__body) .menu_sns02` が flex の中央寄せにしている（下見 走行 2 で
	 * 根の中に `.menu_sns` は 0 個、ツイートの押しボタンは 157.2〜207.8・移行元は 314.4〜365）。flex の側で右へ寄せ、
	 * 中の揃えも移行元と同じ右にする.
	 *
	 * 右端は移行元より 23.4 内側に残る（下見 走行 3: 移行元 314.4〜365・後 291〜341.6）。移行元の並びは画面の幅いっぱい、
	 * dev は本文の器の内側（左右 6.25%）にあるためで、揃えでなく器の幅の差である。Bug #9585 で扱う. */
	.pa-page--singlemother #sm #story .menu_sns02 {
		justify-content: flex-end;
		text-align: right;
	}

	/* U29 の 2 つは、揃えが効くよう塊にする。移行元は副題の中の `span.subTxt` を 1 行の塊にし（uvalue 74〜77 行）、
	 * 押しボタン `.beigeBtn a` も塊にして字を中央に置く（同 492〜500 行）。dev はどちらも行の中の要素のままで、
	 * 揃えを中央にしても字が左に残った（下見 走行 1）. */
	.pa-page--uvalue #uvalue .subtitle span.subTxt,
	.pa-page--uvalue #uvalue .beigeBtn a {
		display: block;
	}
}

/* シングルマザー応援プランと U29 プランの携帯幅の、左右の余白と札の並び（Bug #9585 の 1 本目）。
 *
 * 揃えは移行元と同じなのに、字の左端が移行元スマホ版とずれていた（直す前の読み `pa-verify-assets/B/9585-直す前の読み-1006/走行1/`・
 * 当たっている規則の読み `pa-verify-assets/B/9585-当たり先の読み-1006/走行1/`・幅 375）。上下の余白の節（Bug #9482）は
 * 上下だけを写しているので、ここで左右と並びを受け持つ.
 *
 * | 要素 | 移行元スマホ版 | dev（直す前） | 当たっていた規則 |
 * |---|---|---|---|
 * | 体験談の札 `.profile`（両プラン） | 内余白 0 15px 15px（`sp/introduce/css/sp_style_experience.css` 564 行） | 0 14.31px 14.31px | 部品の規則 `:is(.entry-content, .page-content__body) .stories-list .profile` の携帯幅の値（vw） |
 * | 体験談の札 `.profile-info` | `display: flex; align-items: center; margin-top: 20px`（同 575 行） | block・上 19.08px | 部品の規則（`display` を決めていない） |
 * | 「ご提出書類」 `.boxArea`（シングルマザー） | 内余白 15px（4 辺・`sp/singlemother/css/style.css` 333 行） | 上下 15・左右 0 | 上下の余白の節（Bug #9482）の写し。**その規則を `padding: 15px` に直した**（統括の決定） |
 * | 体験談の札の字 `.txt-area`・`.profile-info__other li`（両プラン） | 12px（`sp_style_experience.css` 576・608 行の 1.2rem。移行元の携帯版は `html` が 10px） | 13.36px（部品の規則の携帯幅の値 `calc(1.4 * 2.5445vw)`） | 部品の規則 |
 * | 体験談の札の題 `.type`・名前 `.profile-info__name` | 題の下の外余白 5px・名前の右の外余白 5px（同 581・596 行） | どちらも 0 | 部品の規則 |
 * | 体験談の札の最後の項目 `.profile-info__other li:last-child` | `display: block; margin-right: 0`（パソコン版 895 行・携帯版 613 行。いつも次の行の頭から） | 前の項目と同じ行に並ぶ | 部品の規則に無い |
 * | 体験談の札の写真 `.img-area`（両プラン） | 右の外余白 20px（携帯版も読むパソコン版の `introduce/css/style_introduce_experience.css` 842 行。携帯版の CSS に規則は無い） | 12px | 部品の規則の携帯幅の値 |
 * | よくある質問 `dl.w900`（U29） | 外余白 0（`sp/css/basic.css` のリセット） | 左右 13px（1em） | 記事本文の共通の規則 `.entry-content dl { margin: 1em }`。上下だけ #9482 のリセットが 0 にしている |
 * | よくある質問の問い `dt`（U29） | 左の内余白 28px（`sp/uvalue/css/style.css` 460 行） | 0 | 上下の余白の節（Bug #9482）が上下だけを写している |
 *
 * 部品と共通の規則は会員のホンネ体験談ほかのページにも当たるので触らず、2 プランの根の中で携帯幅だけ上書きする（統括の決定・2026-10-06）.
 * #9482 のリセットを左右へ広げないのは、2 プランの見出し・段落・リストの全部の左右に効き、差の出ていない要素まで動かすため.
 * 成婚ストーリー（`#story`）の組みの違いとシングルマザー 3 ページ目だけの 1 件は、2 本目で扱う.
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 */
@media (max-width: 749px) {
	/* introduce/css/sp_style_experience.css 564 行 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .profile {
		padding: 0 15px 15px;
	}

	/* introduce/css/sp_style_experience.css 575 行 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .profile-info {
		display: flex;
		align-items: center;
		margin-top: 20px;
	}

	/* introduce/css/sp_style_experience.css 576 行 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .txt-area {
		font-size: 12px;
	}

	/* introduce/css/sp_style_experience.css 581 行 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .type {
		margin-bottom: 5px;
	}

	/* introduce/css/sp_style_experience.css 596 行 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .profile-info__name {
		margin-right: 5px;
	}

	/* introduce/css/sp_style_experience.css 608 行 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .profile-info__other li {
		font-size: 12px;
	}

	/* introduce/css/style_introduce_experience.css 895 行・sp_style_experience.css 613 行 */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .profile-info__other li:last-child {
		display: block;
		margin-right: 0;
	}

	/* introduce/css/style_introduce_experience.css 842 行（携帯版も読む） */
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) .stories-list .img-area {
		margin-right: 20px;
	}

	/* css/basic.css のリセット（左右。上下は Bug #9482 の節） */
	.pa-page--uvalue #uvalue dl.w900 {
		margin-right: 0;
		margin-left: 0;
	}

	/* uvalue 460 行（上下は Bug #9482 の節） */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt {
		padding-left: 28px;
	}
}

/* U29 プランとシングルマザー応援プランの、パソコン幅だけの写し（Bug #8056・Bug #8293）。
 *
 * 移行元の区画別 CSS（`uvalue/css/style.css`・`singlemother/css/style.css`）のうち、
 * `main.css` に写されていなかった規則だけをここへ入れる。**ファイルを丸ごとは入れない。**
 *
 * | # | 移行元の出どころ | 当たり先 | 値 |
 * |---|---|---|---|
 * | ① | `singlemother/css/style.css` 141〜181 行 | `.phArea` / `.titleArea .ico` ほか | 絶対配置と 7 つの位置 |
 * | ② | 同 509〜514 行 ／ `uvalue/css/style.css` 342〜347 行 | `.matchingList li img` | 幅 70px ＋ 右の内余白 20px |
 * | ③ | 同 9〜12 行 ／ 同 9〜12 行 | `#sm` / `#uvalue` | `padding-top: 50px` |
 * | ④ | 共通 `css/style.css` 1708 行の系統 | `#sm #story .grid_box` | `padding-bottom: 100px` |
 * | ⑤ | 共通 `css/page_introduce.css` 366〜382 行 | `#sm #story .box_prof .prof_ttl` | 左の内余白 50px ＋ 男女の目印の絵（Bug #8278） |
 * | ⑥ | `singlemother/css/style.css` の余白の規則 47 本 | `.titleArea` / `.contentBox` / `.contentBox_inner` ほか | `padding` / `margin` を移行元のまま（Task #8570） |
 * | ⑦ | 同じ CSS の並び方と幅の規則・共通 `css/style.css` 1760〜1773 行 | `.graphList` / `.matchingList` / `.boxArea` / `.grid_box .detail_inner` ほか | 横並び（`flex`）と幅（Task #8571） |
 * | ⑧ | `introduce/css/style_introduce_experience.css` 88・850・895・899・1001 行ほか・`singlemother/css/style.css` 551〜553 行 | 体験談の札（`.contentBox_introduceArea .stories-list`）・`.boxArea` | 札の高さの箱の数え方・外余白・行送り・字（Task #8577）・札の中央寄せと横の外余白・属性の最後の 1 件の改行・名前と絵の並びの最低の高さ（Bug #8692） |
 * | ⑨ | 同じ CSS の 23・97・404 行 | `#sm *` / `.lede` / `.graphList li .txt p` | 字間（Task #8579） |
 * | ⑩ | 共通 `css/page_introduce.css` 176・352・502〜522 行 | `#sm #story` の見出し・`.box_prof`・`.box_concierge` | 外余白・行送り・囲みの内余白と枠（Task #8597）。⑤ の後ろに置く |
 * | ⑪ | `singlemother/css/style.css` 3〜8 行・`introduce/css/style_introduce.css` 194・2087 行 | `#event_top` / `.box_support` / `.page_topArea`（器 `#sm` の外側） | 下の内余白 30px・上の外余白 100px（Task #8601）。④ の後ろに置く |
 * | ⑫ | `uvalue/css/style.css` の余白の規則 27 本・`introduce/css/style_introduce.css` 194・2087 行 | U29 プランの `.titleArea` / `.contentBox` ほか・`#event_top` / `.box_support` / `.page_topArea` | `padding` / `margin` を移行元のまま・外余白の打ち消し（Task #8611）。③ の後ろに置く |
 * | ⑬ | `uvalue/css/style.css` の並び方の規則（35〜485 行） | U29 プランの `.title` / `.matchingList` / `.w800` / `.w900` / `.beigeBtn` ほか | `display` / `flex` / 幅 / `text-align`・見出しの下の帯・投入の形に合わせた 2 本（Task #8612）。⑦ の後ろに置く |
 * | ⑭ | `uvalue/css/style.css` 24・109・495 行 | U29 プランの `#uvalue` の中・見出し・`.lede`・`.beigeBtn a`・区画 5 の説明の段落 | `letter-spacing` を移行元のまま・説明の段落の字の大きさ 13px と行送り normal（Task #8613）。⑫ の後ろに置く |
 * | ⑮ | `introduce/css/style_introduce_experience.css` 88・850・895・899 行 | U29 プランの体験談の札（`.contentBox_introduceArea .stories-list`） | 札の高さの箱の数え方・外余白・行送り・字・属性の改行・最低の高さ（Task #8614）。⑧ の後ろに置く |
 * | ⑯ | `uvalue/css/style.css` 26〜28・470 行 | U29 プランの `.bgBeige` 3 つ・よくある質問の `dd` | 区画を画面いっぱいへ広げてベージュの背景を当てる・`#site-main` で横のはみ出しを切り落とす・`dd` の下の罫線（Task #8619）。⑬ の後ろに置く |
 * | ⑰ | `singlemother/css/style.css` 26〜28・54〜68・626〜632 行 | シングルマザー応援プランの `.bgBeige`・`.title` と字の `span`・よくある質問の `dd` | 区画を画面いっぱいへ広げてベージュの背景を当てる・見出しの下の桃色の帯（Task #8620）・よくある質問の回答の下の罫線（Bug #8697）。⑮ の後ろに置く |
 * | ⑱ | `singlemother/css/style.css` 450〜453・463〜471 行・区画 5 の説明の段落（規則なし）・`introduce/css/style_introduce_experience.css` 88 行 | シングルマザー応援プランの `.matchingList li`・`.contentBox_matchingArea .txt`・`.contentBox_matchingDetails > p`・体験談の札の並び | 札の枠線と角の丸み・題の絵の中央寄せ・説明の段落の字 13px と行送り normal・札の行の間隔 0（Task #8628）。⑦ の後ろ（⑬ の前）に置く |
 * | ⑲ | `singlemother/css/style.css` 474〜521 行 ／ `uvalue/css/style.css` 307〜354 行 | 両ページの `.matchingList li a`・`a::before`・`li p`・`li a > span`・`li img` | リンクの札の背景と白い字と下線・矢印（`content-box`）・札の字の色・マウスを載せたときの絵の 1.1 倍と矢印の下 10px・0.3 秒の変化・U29 プランの絵の包みの `flex`（Task #8639）。⑬ の後ろ（⑯ の前）に置く |
 * | ⑳ | `singlemother/css/style.css` 364〜371・430〜434 行・`css/common.css` 28〜29 行 | シングルマザー応援プランの `.contentBox_graphArea`・`.contentBox_graphArea .aside_kome` | 塊の下の罫線 1px `#e7e4dd`（最後の塊は無し）・注記の字 13px と行送り normal（Bug #8691）。⑨ の後ろに置く |
 *
 * 🚨 **携帯幅の 20px は上の `@media (max-width: 749px)` が持っている。**あちらの注釈に
 * 「パソコン幅は別に起こす」と書いてあり、これがその別である。ここは
 * `@media (min-width: 750px)` に閉じ込め、幅 375 を 1px も動かさない（実測で確かめた）。
 */
@media (min-width: 750px) {
	/* ① 目印 7 つの絶対配置（移行元 `singlemother/css/style.css` 141〜181 行）。
	 *
	 * 🚨 **`opacity: 0` と `transform: scale(0.8)` は写さない。**あれは移行元の登場演出の
	 * **初期値**で、`singlemother/js/action.js` がスクロールで `.scale` を付け、
	 * `@keyframes scale01`（`scale(0.8)` → `scale(1)`・`animation-fill-mode: both`）が
	 * 原寸へ戻す。**dev には演出の JS も `@keyframes` も無いので、初期値だけを写すと
	 * 目印が永久に消える。**dev はすでに「演出が終わった姿」で出ており、移行元の演出後と
	 * 高さが 1px も違わない（202 / 209 / 218 が両側で一致・2026-09-21 01:2x の実測）。
	 *
	 * 写しが無いために、dev では 7 つとも幅 1100 に広がっていた。絶対配置にすると
	 * 幅が中身に縮み、移行元（演出後）と完全に一致する。 */
	.pa-page--singlemother #sm .phArea {
		position: relative;
	}

	.pa-page--singlemother #sm .titleArea .ico {
		position: absolute;
	}

	.pa-page--singlemother #sm .titleArea .ico img {
		width: 100%;
	}

	.pa-page--singlemother #sm .titleArea .ico01 { top: -50px; left: 55px; }
	.pa-page--singlemother #sm .titleArea .ico02 { top: -35px; left: 370px; }
	.pa-page--singlemother #sm .titleArea .ico03 { top: 10px; right: 70px; }
	.pa-page--singlemother #sm .titleArea .ico04 { top: 300px; left: -55px; }
	.pa-page--singlemother #sm .titleArea .ico05 { top: 260px; left: 290px; }
	.pa-page--singlemother #sm .titleArea .ico06 { top: 395px; right: -55px; }
	.pa-page--singlemother #sm .titleArea .ico07 { bottom: -30px; left: 140px; }

	/* ② 突き合わせの目印（移行元 `singlemother/css/style.css` 509〜514 行・
	 * `uvalue/css/style.css` 342〜347 行）。`li p` は写されていたが `li img` が無く、
	 * 画像の素の 70 × 70 のままだった。移行元は幅 70px ＋ 右の内余白 20px で 90 × 70 になる。
	 *
	 * 🚨 **`box-sizing: content-box` が要る。**このテーマは `border-box` を全体に効かせて
	 * いるので、そのままだと 70px の中へ内余白 20px が食い込み、画像が **70 × 50** に縮む
	 * （差し込んで測って確かめた）。移行元は既定の `content-box` である。
	 *
	 * 🚨 **`matching_ico` はクラス名ではなく画像のファイル名である。**当たり先は
	 * `.matchingList li img` になる。 */
	.pa-page--singlemother #sm .contentBox .matchingList li img,
	.pa-page--uvalue #uvalue .contentBox .matchingList li img {
		box-sizing: content-box;
		width: 70px;
		margin: 0;
		padding-right: 20px;
	}

	/* ③ 器の上の内余白（移行元 `singlemother/css/style.css` 9〜12 行・
	 * `uvalue/css/style.css` 9〜12 行の `padding-top: 50px`）。dev は 0 だった。 */
	.pa-page--singlemother #sm,
	.pa-page--uvalue #uvalue {
		padding-top: 50px;
	}

	/* ⑫ U29 プランの区画の余白と器の外側の余白（Task #8611・親は Bug #8609）。移行元 `uvalue/css/style.css` の
	 * `padding` / `margin` の規則を、**移行元の行の順のまま**写す（シングルマザー応援プランの ⑥ と同じ手）。
	 *
	 * 直す前の測定（`pa-verify-assets/B/8609-直す前-0927/`）で、区画 2〜8 は内余白（`.titleArea` 120 / 150・
	 * `.contentBox` 150 / 150）が dev に無いぶん低かった。規則の棚卸し（`B/8609-規則の棚卸し-0927/`・
	 * 余白と寸法の規則 51 本）で計算値の違った余白の規則は 21 本で、下の 27 本はそれに値の同じ 6 本を足したもの。
	 * 🚨 **値は U29 の移行元の行を正本にする。**シングルマザー応援プランの ⑥ の値は写していない。
	 * 🚨 **値が同じだった規則も写す**（`.contentBox_inner .titleArea`・`.contentBox_inner:last-of-type` ほか）。前の行を打ち消す行である。
	 * 🚨 **写さない行**:
	 *   ・`#uvalue` の上 50px（③ が持つ）・`.matchingList li img`（② が持つ）
	 *   ・`#event_top` の左右の `margin: 0 auto`（dev の器は既に中央）・`.fv` の 3 本（横の配置だけ）・疑似要素
	 *   ・幅と並び方にかかわる行（`.w800` / `.w900`・`.matchingList li` とその `p`・`.beigeBtn`）は Task #8612 が受け持つ
	 *
	 * 🚨 **区画 3〜8 の先頭の見出しの上 50px は、区画の内余白が 0 だと区画の外へ抜けていた**（外側の差 +300 前後・
	 * `B/8609-外側の読み-0927/`）。内余白を戻すと抜けなくなるので、外側の 3 つ（`#event_top` の下 30px・
	 * 支える帯と先頭へ戻るの上 100px）も同じ節に置く. */

	/* ⑫ の土台: 本文の既定の外余白（`p` の下 25px・見出しの上 50px）を、移行元の全体の reset と同じ 0 にする。
	 * 詳細度は (1,1,1) で、テーマの本文の既定より強く、下の名指しの規則（(1,1,1) 以上で後ろにある）より弱い。
	 * 🚨 **体験談の札（`.stories-list` の中）は外す。**札の中は全ページ共通の札の規則が値を持ち（`.number-list__ttl` の
	 * 下 2px ほか）、ここで 0 にすると潰れる（シングルマザー応援プランの Task #8577 で踏んだ）。札は Task #8614 が受け持つ. */
	.pa-page--uvalue #uvalue :is(p, h2, h3, h4, h5):where(:not(.stories-list *)) {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* 移行元 3 行 */
	.pa-page--uvalue #event_top {
		padding: 0 0 30px;
	}

	/* 移行元 35 行 */
	.pa-page--uvalue #uvalue .titleArea {
		padding: 120px 0 150px;
	}

	/* 移行元 39 行 */
	.pa-page--uvalue #uvalue .contentBox_inner .titleArea {
		padding: 0;
	}

	/* 移行元 42 行 */
	.pa-page--uvalue #uvalue h2 {
		margin-bottom: 60px;
	}

	/* 移行元 74 行 */
	.pa-page--uvalue #uvalue .subtitle {
		margin-bottom: 60px;
	}

	/* 移行元 86 行 */
	.pa-page--uvalue #uvalue .titleArea .subtitle,
	.pa-page--uvalue #uvalue .stitle {
		margin-bottom: 20px;
	}

	/* 移行元 100 行 */
	.pa-page--uvalue #uvalue .cach {
		margin-bottom: 15px;
	}

	/* 移行元 111 行 */
	.pa-page--uvalue #uvalue .contentBox {
		padding: 150px 0;
	}

	/* 移行元 114 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_inner {
		margin: 0 auto 150px;
	}

	/* 移行元 118 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_inner:last-of-type {
		margin-bottom: 0;
	}

	/* 移行元 124 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_pointArea .ph {
		margin-top: 30px;
	}

	/* 移行元 127 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_kaiketutArea .ph {
		margin-top: 20px;
	}

	/* 移行元 283 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .txt {
		margin-bottom: 30px;
	}

	/* 移行元 287 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .subtitle {
		margin: 70px 0 30px;
	}

	/* 移行元 290 行 */
	.pa-page--uvalue #uvalue .contentBox .matchingList {
		margin-bottom: 70px;
	}

	/* 移行元 355 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingDetails {
		margin: 0 0 0;
		padding: 60px 0;
	}

	/* 移行元 378 行 */
	.pa-page--uvalue #uvalue .contentBox_introduceArea .title,
	.pa-page--uvalue #uvalue .contentBox_priceArea .title,
	.pa-page--uvalue #uvalue .contentBox_qaArea .title {
		margin-bottom: 60px;
	}

	/* 移行元 383 行 */
	.pa-page--uvalue #uvalue .contentBox_introduceArea .banner {
		margin-top: 90px;
	}

	/* 移行元 394 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .ph {
		margin-top: 5px;
	}

	/* 移行元 400 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .aside {
		margin-top: 5px;
	}

	/* 移行元 409 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .torokuArea {
		margin: 50px auto;
	}

	/* 移行元 413 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .areaArea {
		margin: 30px auto;
	}

	/* 移行元 416 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea h4 {
		margin-bottom: 20px;
	}

	/* 移行元 424 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea dl {
		margin: 0 0 20px;
	}

	/* 移行元 454 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt {
		padding: 0 0 20px 40px;
	}

	/* 移行元 466 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dd {
		padding: 0 0 40px;
		margin-bottom: 40px;
	}

	/* 移行元 485 行 */
	.pa-page--uvalue #uvalue .beigeBtn a {
		padding: 15px;
	}

	/* 器 `#uvalue` の外側（移行元 `introduce/css/style_introduce.css` 194・2087 行）。テーマでは会員紹介の診断ページだけが読む
	 * `assets/introduce/css/style_introduce.css` が持つ値で、このページはその CSS を読まない（シングルマザー応援プランの ⑪ と同じ）.
	 * 帯の下 75px と先頭へ戻るの上 100px は相殺され、隙間は 100px になる. */
	.pa-page--uvalue :is(.entry-content, .page-content__body) :is(.box_support, .page_topArea) {
		margin-top: 100px;
	}

	/* ⑭ U29 プランの字間と字の大きさ（Task #8613・親は Bug #8609）。移行元 `uvalue/css/style.css` の字間の規則 3 本と、
	 * 区画 5 の突き合わせの説明の段落の字の大きさを写す（シングルマザー応援プランの ⑨ と同じ手・値は U29 の移行元の行を正本にした）.
	 *
	 *   24 行  `#uvalue * { letter-spacing: 0.08rem }`
	 *   109 行 `#uvalue .lede { letter-spacing: 0.1rem }`
	 *   495 行 `#uvalue .beigeBtn a { letter-spacing: 0 }`
	 *
	 * 🚨 **`rem` は移行元の根の字の大きさ（10px・`html { font-size: 62.5% }`）で換算する。**0.08rem は 0.8px、0.1rem は 1px である。
	 * 🚨 **`#uvalue *` は `:where(#uvalue)` で包んで (0,1,0) にする**（移行元の `#uvalue *` は区画の中の名指しの規則に負ける）。
	 * 🚨 **見出しだけは名指しで 0.8px にする。**テーマの見出しの規則（`letter-spacing: 0.05em` ほか・(0,1,1) 以上）が (0,1,0) に勝つ
	 * （シングルマザー応援プランの #8579 の下見 1 回目で見出し 22 個が負けた）.
	 *
	 * 字の大きさ: 区画 5 の突き合わせの説明の段落 3 つ（`.contentBox_matchingDetails` の中の `p`）は、移行元に規則が無く本文の既定の
	 * 13px・行送り normal で組まれる。dev はテーマの既定の 16px・24px で、1 つあたり +8 高かった（`pa-verify-assets/B/8612-下見-0927/`）. */
	.pa-page--uvalue :where(#uvalue) * {
		letter-spacing: 0.8px;
	}

	.pa-page--uvalue #uvalue :is(h1, h2, h3, h4, h5, h6) {
		letter-spacing: 0.8px;
	}

	.pa-page--uvalue #uvalue .lede {
		letter-spacing: 1px;
	}

	.pa-page--uvalue #uvalue .beigeBtn a {
		letter-spacing: 0;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingDetails > p {
		font-size: 13px;
		line-height: normal;
	}

	/* ④ 本文の帯の下の内余白（Bug #8293）。移行元 `#sm #story .grid_box` は 100px。
	 * dev には成婚ストーリー向けの 10px（`body.pa-legacy-grid-box.pa-legacy-story-section`
	 * の節）が当たっていた。 */
	.pa-page--singlemother #sm #story .grid_box {
		padding-bottom: 100px;
	}

	/* ⑪ 器 `#sm` の外側の余白（Task #8601・親は Bug #8320）。移行元は 3 つを持ち、dev は 0 だった
	 * （`pa-verify-assets/B/8572-外側の読み-0927/`・区画の外側の差 −155.4）.
	 *   ・`#event_top` の下の内余白 30px（`singlemother/css/style.css` 3〜8 行）
	 *   ・コンシェルジュの支える帯 `.box_support` の上の外余白 100px（`introduce/css/style_introduce.css` 194 行）
	 *   ・先頭へ戻る `.page_topArea` の上の外余白 100px（同 2087 行）。すぐ上の帯の下 75px と相殺され、効くのは 25
	 * 🚨 **帯と先頭へ戻るの 100px は、テーマでは会員紹介の診断ページだけが読む `assets/introduce/css/style_introduce.css` が
	 * 持つ**（`support-band.css` の注釈「上の外余白は宣言しない」）。このページはその CSS を読まないので、ここへ写す。
	 * 共有の `support-band.css` と、この CSS の共通の `.page_topArea` の規則は触らない. */
	.pa-page--singlemother #event_top {
		padding-bottom: 30px;
	}

	.pa-page--singlemother :is(.entry-content, .page-content__body) :is(.box_support, .page_topArea) {
		margin-top: 100px;
	}

	/* ⑤ 会員の仮名の左の目印（Bug #8278）。移行元は `#story .box_prof .prof_ttl` に
	 * `padding: 7px 0 15px 50px` を持ち、`.women` / `.man` に 32 × 35 の絵を
	 * `no-repeat left top` で実寸のまま敷く（`page_introduce.css` 366〜382 行・
	 * シングルマザー応援プランも同じ 1 本を読む）。dev のこの 3 ページは固定ページで
	 * `story.css` を読まないので、左 0・絵なしのままだった（2026-09-27 の直す前の測定）。
	 *
	 * 🚨 **絵はパソコン版の `*_pc.jpg`（32 × 35）を使う。**同じ置き場の `ico_women.jpg` /
	 * `ico_man.jpg` は携帯版（32 × 36）である。
	 * 🚨 **一括指定（`background`）では書かない。**地色まで初期化してしまうため、成婚ストーリーの
	 * 【3】と同じく絵の 3 つの性質だけを書く。 */
	.pa-page--singlemother #sm #story .box_prof .prof_ttl {
		padding-left: 50px;
	}

	.pa-page--singlemother #sm #story .box_prof.women .prof_ttl {
		background-image: url("../introduce-voice-story/images/ico_women_pc.jpg?ver=da6c52489c2e");
		background-repeat: no-repeat;
		background-position: left top;
	}

	.pa-page--singlemother #sm #story .box_prof.man .prof_ttl {
		background-image: url("../introduce-voice-story/images/ico_man_pc.jpg?ver=e77ec0c28799");
		background-repeat: no-repeat;
		background-position: left top;
	}

	/* ⑩ 成婚ストーリーの 1 話の見出しとコンシェルジュの囲み（Task #8597・親は Bug #8320）。
	 *
	 * 区画 8（`#story`）は、下の ⑥ の外余白の打ち消しから外してある（成婚ストーリーの詳細と同じ
	 * 本文の土台を受けるため）。そのため見出しにテーマの既定の上の外余白が残り、コンシェルジュの囲みは
	 * 値を持たないままだった（`pa-verify-assets/B/8572-下見3-0927/`・`B/8572-下見4-0927/` の要素の単位の読み）。
	 *
	 * 🚨 **囲みの値は、成婚ストーリーの詳細では画面別の `introduce-voice-story/css/story.css` が持つ**（Task #3317）。
	 * このページはその CSS を読まないので、同じ移行元の値（`css/page_introduce.css` 176・352・502〜522 行）を
	 * ここへ写す。`story.css` と、この CSS の共通の `.concierge_ttl` の規則は触らない.
	 *
	 * 🚨 **見出しの上の外余白は、移行元はどれも 0 である**（全体の reset）。dev は
	 * `h3.title` に 50px、`h4.text_title` に 45px、`h5.story_copy` に 50px を持っていた. */
	.pa-page--singlemother #sm #story .title {
		margin-top: 0;
		margin-bottom: 35px;
	}

	.pa-page--singlemother #sm #story .titleArea .lead {
		margin-bottom: 0;
	}

	.pa-page--singlemother #sm #story :is(.text_title, .story_copy) {
		margin-top: 0;
	}

	/* 物語の題（「条件を超えて」）の下の隙間。移行元は題の直後に空の `<p></p>` を置き、その下の 25px が
	 * 題の下の 15px と相殺されて、隙間が 25px になる。dev は投入で空の段落が落ち、15px だった（−10）。
	 * 🚨 空の段落は作り直さない（投入をやり直すと戻るため・`story.css`【8】と同じ考え）。次の段落の上の
	 * 25px で同じ隙間を作る（題の下の 15px と相殺されて 25px になる）. */
	.pa-page--singlemother #sm #story .story_title + p {
		margin-top: 25px;
	}

	/* 移行元 `#story .box_prof { line-height: 150% }`（352 行）は、器の 16px で 24px に解かれてから
	 * 子へ渡る。dev の共通の規則は `1.5`（数）なので、14px の「続きを読む」（`dt`）が 21px で解き直されていた. */
	.pa-page--singlemother #sm #story .box_prof {
		line-height: 150%;
	}

	/* 紹介の塊の末尾の段落。移行元は末尾の文章を段落で包まず、器の下の 10px が隙間になる。dev は投入で
	 * `<p>` に包まれ、その下の 25px が器を貫いて隙間を 15px 広げていた（成婚ストーリーの詳細の `story.css`【8】と同じ）. */
	.pa-page--singlemother #sm #story .box_prof :is(.prof_text01, .prof_text02) > p:last-child {
		margin-bottom: 0;
	}

	.pa-page--singlemother #sm #story .box_concierge {
		clear: both;
		padding: 35px 55px;
		border: 2px solid #a3762b;
	}

	/* `line-height: 100%` も写す。移行元は見出しの 28px で 28px に解かれてから副題の `span` へ渡る。
	 * 共通の規則は `1`（数）なので、14px の副題が 14px で解き直され、見出しが 6px 低かった
	 * （`pa-verify-assets/B/8597-下見-0927/`）. */
	.pa-page--singlemother #sm #story .box_concierge .concierge_ttl {
		padding: 0 0 25px;
		border-bottom: 1px solid #a3762b;
		line-height: 100%;
	}

	.pa-page--singlemother #sm #story .box_concierge .concierge_ttl span {
		display: inline-block;
		padding: 0 0 0 22px;
	}

	/* ⑥ の土台: 本文の既定の外余白を、移行元と同じ 0 にする（Task #8570）。
	 * 移行元は全体の reset で `p` と見出しの外余白が 0 で、区画別の CSS が要る所だけ値を書く。
	 * dev はテーマの本文の既定で `p` の下に 25px・見出しの上に 50px を持つので、写した余白の
	 * 上にそれが足されていた（区画 3 +173・区画 5 +249・区画 6 +65 の多く。
	 * `pa-verify-assets/B/8571-差の読み-0927/`）。
	 *
	 * 🚨 **`#story` の区画は外す。**成婚ストーリーの 1 話は、成婚ストーリーの詳細と同じ規則
	 * （仮名の下 15px・抜粋の下 10px ほか）を `main.css` の本文の土台から受けている。ここで 0 にすると
	 * それが消える。区画 8 の見出し（`h3.title`・`p.lead`）の外余白の差は、コンシェルジュの囲みと一緒に
	 * Task #8597 で名指しで写す（`pa-verify-assets/B/8572-下見3-0927/`）。
	 * 🚨 **`h5` も入れる**（Task #8577）。当初は `p, h3, h4` だけで、区画 3 の「ご提出書類」（`.boxArea h5`）に
	 * テーマの見出しの既定の上 50px が残り、その下の要素が全部 50px 下がっていた
	 * （`pa-verify-assets/B/8577-下見2-0927/`）。
	 * 🚨 **`h2` も入れる**（Task #8572）。区画 2 の「シングルマザー応援プラン」（`h2.title`）の上に
	 * テーマの見出しの既定の 50px が残り、区画 2 が移行元より 50px 高かった（`pa-verify-assets/B/8572-下見3-0927/`）。
	 * 下の 60px は、後ろにある同じ詳細度の名指し `.pa-page--singlemother #sm h2 { margin-bottom: 60px }` が勝つので残る。
	 * どのセレクタも `.pa-page--singlemother #sm` で始まるので、ほかのページの `h2` には当たらない。
	 * 詳細度は (1,1,1) で、テーマの本文の既定より強く、⑥ の名指しの規則（(1,2,0) 以上）より弱い。
	 * 🚨 **`:not(#story)` は `:where()` で包む。**素のままだと id が数えられて (2,1,1) になり、
	 * ⑥ の値（`.cach` の下 15px・`.subtitle` の下 60px ほか）まで 0 に潰す. */
	.pa-page--singlemother #sm > :where(:not(#story)) :is(p, h2, h3, h4, h5) {
		margin-top: 0;
		margin-bottom: 0;
	}

	/* 突き合わせの絵だけを包む `p`（Task #8571）。🚨 **投入の形に合わせた CSS である。**
	 * 移行元の `li` は `<p>字</p><img>` だが、dev は投入で絵が `<p>` に包まれ、
	 * `<p>字</p><p><img></p>` になっている。`li p` の `width: calc(100% - 90px)` が絵の `p` にも
	 * 当たり、字の `p` が 264 でなく 180 に縮んで 2 行に折れていた。絵の `p` を中身なりに戻す。
	 * **Task #8572 で投入の形を直したら、この規則は外す.** */
	.pa-page--singlemother #sm .contentBox .matchingList li p:has(> img:only-child) {
		width: auto;
	}

	/* ⑥ 区画の余白（Task #8570・親は Bug #8320）。移行元 `singlemother/css/style.css` の
	 * `padding` / `margin` の規則を、**移行元の行の順のまま**写す。
	 *
	 * 直す前の測定（`pa-verify-assets/B/8320-直す前-0927/`）で、区画 2〜7 は内余白
	 * （`.titleArea` 120 / 150・`.contentBox` 150 / 150）が dev に無いぶん低かった。
	 * 規則の棚卸し（`pa-verify-assets/B/8570-規則の棚卸し-0927/`・余白と寸法の規則 65 本を
	 * 両側の実ブラウザで同じセレクタで引いた）では、計算値の違う規則が 40 本あった。
	 * Task #5670 が字の大きさと行送りだけを写し、余白を写さなかった残りである。
	 *
	 * 🚨 **値が同じだった規則も写す。**`.contentBox.pt0` / `.pb0`・`.contentBox_inner:last-of-type`・
	 * `.contentBox_inner .titleArea` などは、前の規則を打ち消すための行である。前の行だけを写すと、
	 * 打ち消されるはずの余白が付いてしまう。移行元の順で並べ、同じ詳細度の頭（`.pa-page--singlemother`）を
	 * 付けて、移行元と同じ重なり方にする。
	 * 🚨 **写さない行**: `#sm` の上 50px（③ が持つ）・`#sm #story .grid_box` の下 100px（④ が持つ）・
	 * `.fv` の 3 本（横の配置だけで高さに効かない）・疑似要素（寸法だけ）。
	 * 🚨 **幅と高さ（`width` / `height`）は写さない。**並び方と一緒に Task #8571 が受け持つ。
	 * 左右の `auto` は書くが、幅が dev の 1,100px のままなら 0 と同じに見える. */
	/* 移行元 35 行 */
	.pa-page--singlemother #sm .titleArea {
		padding: 120px 0 150px;
	}

	/*
	 * 🚨 **題の区画は中央寄せ（移行元 35〜38 行の `text-align: center`・Bug #9512・目視一覧 W276）。**
	 * この節は余白だけを写すので、寄せは写されていなかった。dev のパソコン幅では題・副題・説明文が左に寄り、
	 * 題の区画の写真（inline の絵）も 52px 左にずれていた（移行元 x222・dev x170。`pa-verify-assets/B/W276-直す前の読み-1006/走行2/`）.
	 * 携帯幅は Bug #9461 の節に同じ値がある。U29 プランは ⑬ の節で中央寄せ済み.
	 */
	.pa-page--singlemother #sm .titleArea {
		text-align: center;
	}

	/* 移行元 39 行 */
	.pa-page--singlemother #sm .contentBox_inner .titleArea {
		padding: 0;
	}

	/* 移行元 42 行 */
	.pa-page--singlemother #sm h2 {
		margin-bottom: 60px;
	}

	/* 移行元 73 行 */
	.pa-page--singlemother #sm .subtitle {
		margin-bottom: 60px;
	}

	/* 移行元 78 行 */
	.pa-page--singlemother #sm .titleArea .subtitle,
	.pa-page--singlemother #sm .stitle {
		margin-bottom: 20px;
	}

	/* 移行元 84 行 */
	.pa-page--singlemother #sm .w800 {
		margin: 0 auto;
	}

	/* 移行元 88 行 */
	.pa-page--singlemother #sm .w900 {
		margin: 0 auto;
	}

	/* 移行元 92 行 */
	.pa-page--singlemother #sm .cach {
		margin-bottom: 15px;
	}

	/* 移行元 106 行 */
	.pa-page--singlemother #sm .contentBox {
		padding: 150px 0;
	}

	/* 移行元 109 行 */
	.pa-page--singlemother #sm .contentBox.pt0 {
		padding-top: 0;
	}

	/* 移行元 112 行 */
	.pa-page--singlemother #sm .contentBox.pb0 {
		padding-bottom: 0;
	}

	/* 移行元 115 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_inner {
		margin: 0 auto 150px;
	}

	/* 移行元 119 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_inner:last-of-type {
		margin-bottom: 0;
	}

	/* 移行元 125 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_pointArea .ph {
		margin-top: 30px;
	}

	/* 移行元 128 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_taikenArea .ph {
		margin-top: 60px;
	}

	/* 移行元 131 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_nayamiArea .ph {
		margin-top: -20px;
	}

	/* 移行元 141 行 */
	.pa-page--singlemother #sm .phArea {
		margin: 80px auto;
	}

	/* 移行元 364 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea {
		padding-bottom: 70px;
	}

	/* 移行元 368 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea:last-of-type {
		padding-bottom: 0;
	}

	/* 移行元 372 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .subtitle {
		margin-bottom: 70px;
	}

	/* 移行元 375 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .stitle {
		margin-bottom: 10px;
	}

	/* 移行元 378 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList {
		margin: 0 auto;
	}

	/* 移行元 385 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li {
		margin-bottom: 25px;
	}

	/* 移行元 399 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt {
		padding: 20px 20px 20px 0;
	}

	/* 移行元 407 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt .age {
		margin-bottom: 5px;
	}

	/* 移行元 412 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea {
		margin: 70px auto;
		padding: 30px;
	}

	/* 移行元 422 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea h5 {
		margin-bottom: 10px;
	}

	/* 移行元 430 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .aside_kome {
		margin: 0 auto 40px;
	}

	/* 移行元 450 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .txt {
		margin-bottom: 30px;
	}

	/* 移行元 454 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .subtitle {
		margin: 70px 0 30px;
	}

	/* 移行元 457 行 */
	.pa-page--singlemother #sm .contentBox .matchingList {
		margin-bottom: 70px;
	}

	/* 移行元 463 行 */
	.pa-page--singlemother #sm .contentBox .matchingList li {
		margin-bottom: 15px;
	}

	/* 移行元 498 行 */
	.pa-page--singlemother #sm .contentBox .matchingList li p {
		padding-left: 25px;
	}

	/* 移行元 509 行 */
	.pa-page--singlemother #sm .contentBox .matchingList li img {
		padding-right: 20px;
		margin: 0;
	}

	/* 移行元 522 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_matchingDetails {
		margin: 0 0 0;
		padding: 60px 0;
	}

	/* 移行元 546 行 */
	.pa-page--singlemother #sm .contentBox_introduceArea .title,
	.pa-page--singlemother #sm .contentBox_priceArea .title,
	.pa-page--singlemother #sm .contentBox_qaArea .title {
		margin-bottom: 60px;
	}

	/* 移行元 571 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph {
		margin-top: 5px;
	}

	/* 移行元 577 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .aside {
		margin-top: 5px;
	}

	/* 移行元 586 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .torokuArea {
		margin: 50px auto;
	}

	/* 移行元 590 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .areaArea {
		margin: 30px auto;
	}

	/* 移行元 593 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea {
		margin-top: 40px;
		margin-bottom: 20px;
	}

	/* 移行元 599 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .shikakuArea h4 {
		margin-bottom: 20px;
	}

	/* 移行元 604 行 */
	.pa-page--singlemother #sm .grid_box .titleArea {
		padding: 70px 0 70px;
	}

	/* 移行元 614 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_qaArea dt {
		padding: 0 0 20px 40px;
	}

	/* 移行元 626 行 */
	.pa-page--singlemother #sm .contentBox .contentBox_qaArea dd {
		padding: 0 0 40px;
		margin-bottom: 40px;
	}

	/* 移行元 641 行 */
	.pa-page--singlemother #sm .beigeBtn {
		margin: 60px auto 0;
	}

	/* 移行元 645 行 */
	.pa-page--singlemother #sm .beigeBtn a {
		padding: 15px;
	}

	/* ⑦ 並び方と幅（Task #8571・親は Bug #8320）。移行元 `singlemother/css/style.css` の
	 * `display` / `flex` / `width` / `height` / `box-sizing` / `text-align` の規則と、区画 8
	 * （成婚ストーリーの 1 話）が読む共通 `css/style.css` の `.grid_box .detail_body` /
	 * `.detail_inner`（1760〜1773 行）を写す。
	 *
	 * 直す前は、体験談の枠（`.graphList li`）と突き合わせ（`.matchingList li`）が幅 1,100 で
	 * 縦に積まれ、区画 3・5 が移行元より高かった。区画 8 は本文の柱（`.detail_inner`）が
	 * 800 でなく画面の幅いっぱいで、行が減って低かった（`pa-verify-assets/B/8320-直す前-0927/`）。
	 * 成婚ストーリーの詳細は同じ柱を `.single-content--story` の節で持つが、この 3 ページは
	 * 固定ページなのでそちらに当たらない。
	 *
	 * 🚨 **器の幅は `min(○px, 100%)` で書く。**移行元は固定の幅だが、750〜1,279px は
	 * 画面の幅に収める（裁定 497・成婚ストーリーの柱と同じ書き方）。
	 * 🚨 **`.graphList li .txt` は `content-box` に戻す。**移行元は幅 330px に右の内余白
	 * 20px を足した 350px で組む。このテーマは全体が `border-box` である。 */
	.pa-page--singlemother #sm .title {
		position: relative;
		display: inline-block;
		width: auto;
	}

	.pa-page--singlemother #sm .w800 {
		width: min(800px, 100%);
	}

	/* 移行元 88〜91 行 `#sm .w900 { width: 800px; margin: 0 auto }`（Bug #8701・親は Bug #8320）.
	 * 類名は `w900` だが、値は 800px である（U29 プランの ⑬ の注釈と同じ）。外余白は ⑥ が写している.
	 * 写しが無く、よくある質問の器 `dl.w900` が 1100 に広がり、1 つ目の質問が移行元より 27 低かった
	 * （広い幅で折り返しが 1 行減ったと見られる・区画 −27・`pa-verify-assets/B/8697-下見-0928/`）.
	 * 🚨 節の頭の表の ⑦ の行は直さない。隣の ⑧ の行を PR #8700（Bug #8692）が直しており、並べて直すと衝突する. */
	.pa-page--singlemother #sm .w900 {
		width: min(800px, 100%);
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: min(1030px, 100%);
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li {
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		width: 500px;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt {
		box-sizing: content-box;
		width: 330px;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea {
		box-sizing: border-box;
		width: min(730px, 100%);
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .aside_kome {
		width: min(880px, 100%);
		text-align: right;
	}

	.pa-page--singlemother #sm .contentBox .matchingList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li {
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		width: 360px;
		height: 96px;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		width: 360px;
		height: 96px;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li p {
		box-sizing: border-box;
		width: calc(100% - 90px);
	}

	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph {
		display: block;
		text-align: right;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .aside {
		display: block;
		text-align: center;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_priceArea .ph .aside {
		text-align: left;
	}

	.pa-page--singlemother #sm #story .grid_box .detail_body {
		width: min(1100px, 100%);
		margin: 0 auto 25px;
	}

	.pa-page--singlemother #sm #story .grid_box .detail_inner {
		width: min(800px, 100%);
		margin: 0 auto;
		padding: 35px 0 60px;
	}

	/* ⑱ シングルマザー応援プランの突き合わせの札の枠線と、説明の段落の字の大きさ（Task #8628・親は Bug #8320）.
	 * U29 プランの ⑬（札の枠線・Task #8612）と ⑭（説明の段落の字・Task #8613）と同じ手である。値はシングルマザー応援プランの
	 * 移行元 `singlemother/css/style.css` の行で確かめた.
	 *
	 * 札の枠線: 463〜471 行 `#sm .contentBox .matchingList li { … box-sizing: border-box; border: 3px solid #9f8046; border-radius: 5px }`。
	 * dev の札 9 つには枠線が無く、中の絵が 3px 上にずれていた（`pa-verify-assets/B/sm区画5の読み-0928/`）。`border-box` の 360px の中身は、
	 * 枠線を足すと移行元と同じ 354px になる.
	 *
	 * 説明の段落: 区画 5 の `.contentBox_matchingDetails` の中の `p` 3 つは、移行元に規則が無く本文の既定の 13px・行送り normal で組まれる。
	 * dev はテーマの既定の 16px・24px で、1 つあたり +8・区画 5 が +24 高かった（同じ記録）.
	 *
	 * 札の中の組み（投入の形に合わせた 2 本・U29 プランの ⑬ と同じ形）: 移行元の札は `<li><p>字</p><img></li>`（リンクの札は `<a><p>字</p><img></a>`）だが、
	 * dev は投入で絵が `<p>` に包まれ、リンクの札の `<p>` は `<span>` になっている。既存の `li p:has(> img:only-child) { width: auto }` は
	 * 包みの幅を中身なりに戻すが、498 行 `li p { padding-left: 25px }` の写しが包みにも当たり、札の中身 354px を字と包みが縮み合っていた
	 * （字 264 → 245.84・絵が右へ 6.84・Task #8628 の下見 1 回目）。包みの左の内余白を 0 にし、リンクの札の `span` に 498 行の組み方を当てる.
	 * 包みは `flex` にする。移行元の絵は札 `li`（`flex`）の直下の子なので箱として組まれる。dev では絵が包みの中の行に載り、包みが絵の 70 より
	 * 6 高い 76 になって、札の中で上下の真ん中に寄せると絵が 3 上へずれていた（上 13 → 10・`B/8628-札の中の読み-0928/`・下見 2 回目
	 * `B/8628-下見2-0928/`）.
	 *
	 * 突き合わせの題の絵: 450〜453 行 `#sm .contentBox .contentBox_matchingArea .txt { margin-bottom: 30px; text-align: center }` のうち、
	 * dev には外余白だけが写っていて、絵が左寄せ（左 170・移行元 520）だった（Task #8628 の下見 1 回目・`B/8628-下見-0928/`）。U29 プランは ⑬ が持つ.
	 *
	 * 体験談の札の行の間隔: ⑧ の札の下 25px と、共通の規則の `.flexBox--3col { gap: 25px }` の行の間隔が足し合わさると、札が 2 行以上の
	 * ときに行の間が 50px になる（移行元は外余白だけで 25px・U29 プランの ⑮ と同じ・PR #8629 の Codex の指摘）。いまの札は 3 枚で 1 行なので、
	 * 値には出ない。行の間隔を 0 にし、横の間隔 25px は `gap` のまま. */
	.pa-page--singlemother #sm .contentBox .matchingList li {
		border: 3px solid #9f8046;
		border-radius: 5px;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li p:has(> img:only-child) {
		display: flex;
		padding-left: 0;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li a > span {
		display: block;
		box-sizing: border-box;
		width: calc(100% - 90px);
		padding-left: 25px;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_matchingArea .txt {
		text-align: center;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_matchingDetails > p {
		font-size: 13px;
		line-height: normal;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list.flexBox--3col {
		row-gap: 0;
	}

	/* ⑬ U29 プランの並び方と幅（Task #8612・親は Bug #8609）。移行元 `uvalue/css/style.css` の
	 * `display` / `flex` / `width` / `height` / `box-sizing` / `position` / `text-align` の規則と、見出しの下の帯（疑似要素）を写す
	 * （シングルマザー応援プランの ⑦ と同じ手・値は U29 の移行元の行を正本にした）。
	 *
	 * 直す前（Task #8611 の後）は、突き合わせ `.matchingList li` が幅 1,100 で縦に積まれ（区画 5 +687）、
	 * 見出し `.title` が `block` で左寄せ・帯なし、よくある質問の `dl.w900` が 1,068 に広がっていた
	 * （`pa-verify-assets/B/8611-下見-0927/`・`B/背景と帯の読み-0927/`）。
	 * 🚨 **器の幅は `min(○px, 100%)` で書く**（750〜1,279px は画面の幅に収める・裁定 497）。札の幅（360px ほか）は移行元のまま。
	 * 🚨 **写さない行**: `.ph` の `text-align`（Issue #6930 で済み）・`.fv`（別の節が持つ）・`li img`（② が持つ）・
	 * よくある質問の目印の絵（`dt::before` の `content: url()`）・`:hover`・色と背景（区画のベージュの背景は別の Task）. */
	/* 移行元 35・74・86・100・105 行 */
	.pa-page--uvalue #uvalue .titleArea,
	.pa-page--uvalue #uvalue .subtitle,
	.pa-page--uvalue #uvalue .titleArea .subtitle,
	.pa-page--uvalue #uvalue .stitle,
	.pa-page--uvalue #uvalue .cach,
	.pa-page--uvalue #uvalue .lede {
		text-align: center;
	}

	/* 移行元 45・54 行 */
	.pa-page--uvalue #uvalue .title {
		position: relative;
		display: inline-block;
		width: auto;
		text-align: center;
	}

	.pa-page--uvalue #uvalue .title span {
		position: relative;
	}

	/* 移行元 57〜73 行。見出しの字の下に敷く水色の帯. */
	.pa-page--uvalue #uvalue .title::before,
	.pa-page--uvalue #uvalue .subtitle .line::before {
		position: absolute;
		bottom: 12px;
		left: 0;
		width: 100%;
		border-bottom: 12px solid #e0f0f8;
		content: "";
	}

	.pa-page--uvalue #uvalue .subtitle .line::before {
		bottom: 0;
		z-index: -1;
		border-bottom: 10px solid #e0f0f8;
	}

	/* 移行元 79・82 行 */
	.pa-page--uvalue #uvalue .subtitle span {
		position: relative;
	}

	.pa-page--uvalue #uvalue .subtitle span.subTxt {
		display: block;
	}

	/* 移行元 92・96 行（`.w900` も移行元は 800px） */
	.pa-page--uvalue #uvalue :is(.w800, .w900) {
		width: min(800px, 100%);
		margin: 0 auto;
	}

	/* 移行元 114 行（外余白は ⑫ が持つ） */
	.pa-page--uvalue #uvalue .contentBox .contentBox_inner {
		width: min(1100px, 100%);
	}

	/* 移行元 283 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingArea .txt {
		text-align: center;
	}

	/* 移行元 290〜340 行。突き合わせ. */
	.pa-page--uvalue #uvalue .contentBox .matchingList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	/* 枠線 3px も写す。`border-box` の 360px の中で枠線のぶん中身が 354px になり、リンクの札 `a`（360px）と
	 * 字の器（`calc(100% - 90px)`）はそれに合わせて縮む（移行元 264px）。枠線が無いと 6px ずつ広かった
	 * （`pa-verify-assets/B/8612-下見-0927/`）. */
	.pa-page--uvalue #uvalue .contentBox .matchingList li {
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		width: 360px;
		height: 96px;
		margin-bottom: 15px;
		border: 3px solid #9f8046;
		border-radius: 5px;
	}

	.pa-page--uvalue #uvalue .contentBox .matchingList li a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		width: 360px;
		height: 96px;
	}

	.pa-page--uvalue #uvalue .contentBox .matchingList li a::before {
		position: absolute;
		bottom: 15px;
		left: 50%;
		width: 8px;
		height: 8px;
		border-right: 2px solid #f3f1ec;
		border-bottom: 2px solid #f3f1ec;
		transform: rotate(45deg);
		content: "";
	}

	.pa-page--uvalue #uvalue .contentBox .matchingList li p {
		box-sizing: border-box;
		width: calc(100% - 90px);
		padding-left: 25px;
	}

	/* 🚨 **投入の形に合わせた 2 本。**移行元の `li` は `<p>字</p><img>`（リンクの札は `<a><p>字</p><img></a>`）だが、
	 * dev は投入で絵が `<p>` に包まれ、リンクの札の `<p>` は `<span>` になっている（直す前の測定の区画 5 の `p / span` の組）。
	 * 絵の `p` は中身なりに戻し、`span` には移行元の `li p` と同じ組み方を当てる（シングルマザー応援プランの ⑦ の脇と同じ）. */
	.pa-page--uvalue #uvalue .contentBox .matchingList li p:has(> img:only-child) {
		width: auto;
		padding-left: 0;
	}

	.pa-page--uvalue #uvalue .contentBox .matchingList li a > span {
		display: block;
		box-sizing: border-box;
		width: calc(100% - 90px);
		padding-left: 25px;
	}

	/* 移行元 355・361 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingDetails {
		position: relative;
		text-align: center;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_matchingDetails:nth-of-type(-n+2)::after {
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 40px;
		border-bottom: 1px solid #9f8046;
		transform: translateX(-50%);
		content: "";
	}

	/* 移行元 383・394・400・409 行（`.ph` の `text-align` は写さない） */
	.pa-page--uvalue #uvalue .contentBox_introduceArea .banner,
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .torokuArea {
		text-align: center;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea :is(.ph, .aside) {
		display: block;
	}

	/* 移行元 424〜443 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea dl {
		display: flex;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .areaArea dt {
		width: 95px;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .areaArea dd {
		width: calc(100% - 95px);
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea dt {
		width: 210px;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_priceArea .shikakuArea dd {
		width: calc(100% - 210px);
	}

	/* 移行元 454 行 */
	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dt {
		position: relative;
	}

	/* 移行元 481・485 行 */
	.pa-page--uvalue #uvalue .beigeBtn {
		width: min(380px, 100%);
		margin: 60px auto 0;
	}

	.pa-page--uvalue #uvalue .beigeBtn a {
		position: relative;
		display: block;
		text-align: center;
	}

	/* ⑲ U29 プランとシングルマザー応援プランの突き合わせの札の色と矢印・マウスを載せたときの動き（Task #8639・親は Bug #8320）.
	 * 移行元 `singlemother/css/style.css` 474〜521 行と `uvalue/css/style.css` 307〜354 行は同じ値である。両ページに同じ規則を当てる.
	 *
	 * ・リンクの札 `li a`: 背景 #9f8046・字の色 #fff・角の丸み 5px（474〜485 行 ／ 307〜318 行）
	 * ・矢印 `li a::before`: 右と下の罫線 2px #f3f1ec の 8 × 8 を 45 度回し、下 15px・左 50% に置く（486〜497 行 ／ 319〜330 行）。
	 *   🚨 このテーマは `*::before` まで `border-box` にしている。移行元は `content-box` で、中身 8 × 8 の外に罫線が付く。
	 *   `border-box` のままだと罫線を含めた外形が 8 × 8 になり、移行元の 10 × 10 より小さい。`content-box` に戻す（Task #8620 の見出しの帯と同じ）
	 * ・字: リンクの無い札 `li p` は #9f8046（498〜504 行 ／ 331〜337 行）。リンクの札の字は #fff と下線（505〜508 行 ／ 338〜341 行）。
	 *   dev は投入でリンクの札の `<p>` が `<span>` になっているので、`li a > span` に当てる（⑬ ⑱ と同じ投入の形）
	 * ・マウスを載せたとき: 絵を 1.1 倍（515〜518 行 ／ 348〜351 行）・矢印を下 10px へ（519〜521 行 ／ 352〜354 行）。
	 *   絵と矢印の変化は 0.3 秒（513 行・496 行 ／ 346 行・329 行）.
	 *
	 * ⑬ と ⑦ の `li a` の並び方と幅・⑬ の U29 の矢印の規則の後ろに置き、値を上書きする（⑬ の U29 の矢印には `box-sizing` の指定が無い） */
	.pa-page--singlemother #sm .contentBox .matchingList li a,
	.pa-page--uvalue #uvalue .contentBox .matchingList li a {
		border-radius: 5px;
		background: #9f8046;
		color: #fff;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li a::before,
	.pa-page--uvalue #uvalue .contentBox .matchingList li a::before {
		box-sizing: content-box;
		position: absolute;
		bottom: 15px;
		left: 50%;
		width: 8px;
		height: 8px;
		border-right: 2px solid #f3f1ec;
		border-bottom: 2px solid #f3f1ec;
		transform: rotate(45deg);
		transition: all 0.3s;
		content: "";
	}

	.pa-page--singlemother #sm .contentBox .matchingList li p,
	.pa-page--uvalue #uvalue .contentBox .matchingList li p {
		color: #9f8046;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li a > span,
	.pa-page--uvalue #uvalue .contentBox .matchingList li a > span {
		color: #fff;
		text-decoration: underline;
	}

	.pa-page--singlemother #sm .contentBox .matchingList li img,
	.pa-page--uvalue #uvalue .contentBox .matchingList li img {
		transition: all 0.3s;
	}

	/* マウスを載せたときだけ動かす（移行元どおり `:hover` だけ）。
	 * キーボードで選んだとき（`:focus-visible`）の同じ動きと、動きを控える設定で変化を止める指定は、
	 * 移行元に無いので外した（Bug #9821・ユーザー決定 D830。足したのは PR #8641 の Greptile の指摘への対応）. */
	.pa-page--singlemother #sm .contentBox .matchingList li a:hover img,
	.pa-page--uvalue #uvalue .contentBox .matchingList li a:hover img {
		opacity: 1;
		transform: scale(1.1);
	}

	.pa-page--singlemother #sm .contentBox .matchingList li a:hover::before,
	.pa-page--uvalue #uvalue .contentBox .matchingList li a:hover::before {
		bottom: 10px;
	}

	/* U29 プランの絵の包み `p` も `flex` にする（シングルマザー応援プランの ⑱ と同じ・Task #8628）。⑬ の包みの規則は幅と左の内余白だけで、
	 * 包みが絵の 70 より 6 高い 76 になり、リンクの無い札 6 つの絵が 3 上へずれていた（上 491.41 → 488.41 ほか・`pa-verify-assets/B/8639-下見-0928/`）.
	 * 移行元の絵は札 `li`（`flex`）の直下の子として箱で組まれる. */
	.pa-page--uvalue #uvalue .contentBox .matchingList li p:has(> img:only-child) {
		display: flex;
	}

	/* ⑯ U29 プランの区画のベージュの背景と、よくある質問の下の罫線（Task #8619・親は Bug #8609）.
	 *
	 * 移行元 `uvalue/css/style.css` 26〜28 行 `#uvalue .bgBeige { background: #f9f7f3 }`。移行元の区画は画面いっぱい（幅 1,440）で、
	 * 中身の器 `.contentBox_inner` が 1,100 の幅を持つ。dev の区画は 1,100 の器（`#uvalue`）の中にあり、テーマの CSS には
	 * `bgBeige` も `f9f7f3` も無かった（`pa-verify-assets/B/背景と帯の読み-0927/`）.
	 * 🚨 **区画を画面いっぱいへ広げ、同じだけ内側へ押し戻す。**外余白 `margin-inline: calc(50% - 50vw)` で左右へ広げ、
	 * 内余白 `padding-inline: calc(50vw - 50%)` で中身を元の 1,100 の位置へ戻す。区画の中の器は幅を持たないので、
	 * 押し戻さないと中身まで画面いっぱいに広がる.
	 * 🚨 **`margin` と `padding` の一括指定は使わない。**⑫ の `.contentBox { padding: 150px 0 }` は、上の詳細度の高い
	 * 左右だけの指定が上書きする（上下の 150px はそのまま）.
	 * 🚨 **本文の外枠 `#site-main` で横のはみ出しを切り落とす。**`100vw` は縦スクロールバーの幅を含むので、バーが場所を取る
	 * 閲覧環境（Windows の既定など）では、広げた区画がバーの幅の半分ずつ左右へはみ出し、横スクロールバーが出る（Codex の
	 * セルフレビューの指摘）。`support-band.css` の `body:has(.box_support) { overflow-x: clip }` は 749px 以下だけに効くので、
	 * ここでは受け止められない。`body` に置いても Chromium では止まらず、幅の指定を持たない `#site-main` に置くと止まる
	 * （この CSS の「店舗ページの横方向のはみ出し」の節の実測）。`hidden` ではなく `clip` にするのは、ヘッダーの貼り付きを壊さないため.
	 * U29 プランの `#site-main` の中に、画面より広く組む中身は無い（区画の器は幅 800 で 770・1024 で 994 で画面に収まる。
	 * 文書の幅が 1,200 になるのは `#site-main` の外のヘッダーの `min-width: 1200px` で、切り落としの外にある）.
	 * `.pa-page--uvalue` は `#site-main` の中の `article` に付く類名（`template-parts/content-page.php` 56 行）なので、`:has()` で絞る.
	 * 🚨 **切り落としは 1127px 以上に限る（PR #8631 の Greptile の指摘 P1）。**主役の区画 `.fv` は `min-width: 1110px` を持ち、
	 * それより狭い画面では右へはみ出して、右寄せの `.banner` まで横スクロールで届く作りである（移行元と同じ）。`#site-main` で
	 * 切り落とすと、その横スクロールが止まって右側が読めなくなる。1127px は、`.fv` の 1,110px に縦スクロールバーの幅
	 * （Windows の既定で最大 17px）を足した幅で、ここから上は `.fv` が見える幅に収まる。それより狭い画面は `.fv` のために
	 * もともと横スクロールがあるので、広げた区画のバーの幅の半分のはみ出しは切り落とさない.
	 *
	 * よくある質問の `dd` の下の罫線: 移行元 470 行 `border-bottom: 1px solid #e7e4dd`。dev に無く、区画 8 が 4 本分 −4 だった
	 * （Task #8613 の下見・`B/8613-下見2-0928/`）. */
	@media (min-width: 1127px) {
		#site-main:has(.pa-page--uvalue) {
			overflow-x: clip;
		}
	}

	.pa-page--uvalue #uvalue > .contentBox.bgBeige {
		margin-inline: calc(50% - 50vw);
		padding-inline: calc(50vw - 50%);
		background: #f9f7f3;
	}

	.pa-page--uvalue #uvalue .contentBox .contentBox_qaArea dd {
		border-bottom: 1px solid #e7e4dd;
	}

	/* ⑧ 体験談の札と `.boxArea`（Task #8577・親は Bug #8320）。
	 *
	 * 移行元のこのページの札は `introduce/css/style_introduce_experience.css` で組まれる。dev の札は
	 * 全ページ共通の規則（この CSS の「会員の体験談の札」の節・`:is(.entry-content, .page-content__body)
	 * .stories-list …`）で組まれ、その値は移行元の一覧の CSS（`happyreport.css`）から写したものである。
	 * 🚨 **共通の規則は触らない。**会員のホンネ体験談の一覧と HAPPY REPORT が同じ規則を受けるため、
	 * このページの札だけを `.contentBox_introduceArea` で名指しして、違う値を上書きする。
	 *
	 * 直す前の測定（`pa-verify-assets/B/8577-直す前-0927/`・両側の当たっている規則を CDP で読んだ）で
	 * 区画 7 は 68.38 低く、出どころは次の 5 つだった。
	 *   ① 札のリード文 `.copy.mh` の高さ 96px（行内 `style`・この CSS の「体験談の札の高さ 96px」の規則）を、
	 *      移行元は `content-box` で受け、内余白 24px × 2 を足して 144px になる。dev は全体が
	 *      `border-box` なので 96px に内余白を含めていた（1 枚 −48）
	 *   ② 札の下の外余白 25px（移行元 `.flexBox--3col .flexBox__item { margin: 0 25px 25px 0 }`・88 行）
	 *   ③ 行送り: 移行元は `.stories-list__item { line-height: 1.53 }`（899 行）だけを持ち、札の中は
	 *      全部これを受け継ぐ。dev の共通の規則は字の要素ごとに 1.8 や 1.5 を書いている
	 *   ④ 婚活タイプの名札 `.type` は 15px・下 8px（850 行）
	 *   ⑤ 活動結果の見出し `.number-list__ttl` の下 2px（1001 行）。🚨 共通の規則も 2px を持つが、
	 *      ⑥ の土台の外余白の打ち消し（(1,1,1)）が上書きして 0 にしていた（Task #8570 の副作用）
	 * 区画 3 の +34 は、⑥ の土台の打ち消しに `h5` が無かったこと（+50・土台の注釈）と、注記 `p.aside` が
	 * 1 行少ないこと（−18）だった。🚨 **当初は `.boxArea` の行送り（移行元 normal・dev 24px）と読んだが誤りだった。**
	 * この字体の 16px では normal と 24px が同じ高さに解かれ、normal にしても高さは 1px も動かなかった。
	 * 下の `.boxArea` の行送りの規則は、計算値を移行元と同じ normal にそろえるために残す。
	 * 注記の 1 行の差は、移行元の字間（`#sm * { letter-spacing: 0.08rem }` ほか）が dev に無いためと見られ、
	 * 8 区画すべての折り返しに効くので別の Task で扱う（Bug #8320 の Sub-issue）. */
	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list .copy.mh {
		box-sizing: content-box;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list > .stories-list__item {
		margin-bottom: 25px;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list > .stories-list__item,
	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list > .stories-list__item * {
		line-height: 1.53;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list .type {
		margin-bottom: 8px;
		font-size: 15px;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list .number-list__ttl {
		margin-bottom: 2px;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea,
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .boxArea * {
		line-height: normal;
	}

	/* ⑧ の続き: 札の横の位置と、属性の最後の 1 件と、名前と絵の並びの高さ（Bug #8692・親は Bug #8320）.
	 * U29 プランの ⑮ の ⑤ ⑥ と同じ手である。当たっている規則は、両側の実ブラウザで CDP から読んだ
	 * （`pa-verify-assets/B/8692-規則の読み-0928/`）.
	 *   ⑥ 札の横の位置: 移行元 `singlemother/css/style.css` 551〜553 行 `#sm .contentBox_introduceArea .flexBox { justify-content: center }`。
	 *      dev に写しが無く、札 2 枚が左に寄っていた（左端 移行元 345・720、dev 170・545）.
	 *      🚨 **中央に寄せるだけでは 12.5 ずれる。**移行元は札の間を外余白（88 行 `margin: 0 25px 25px 0`・3 枚目ごとに右 0）で空け、
	 *      2 枚目の右にも 25px が付く。dev の共通の規則は `gap: 25px` と `margin: 0` で空けるので、並びの幅が 750 でなく 725 になる.
	 *      横の間隔も移行元と同じ外余白で作り、`gap` の横を 0 にする（縦は ⑱ が 0 にしている）
	 *   ⑦ 居住地・学歴・職種の並び `.profile-info__other` の最後の 1 件は、改行して 2 行目に出る
	 *      （`introduce/css/style_introduce_experience.css` 895〜897 行 `.profile-info__other li:last-child { display: block; margin-right: 0 }`）.
	 *      dev の共通の規則は 3 件とも横に並べ、2 枚目の札で 3 件が 1 行に収まっていた
	 *   ⑧ 名前と絵の並び `.profile-info` の最低の高さ 121px は、移行元のこのページには無い。dev の共通の規則が一覧の CSS から
	 *      写した値である（U29 プランでは札が 1 枚 +1.16 高かった・`B/8614-下見3-0928/`） */
	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list.flexBox--3col {
		justify-content: center;
		column-gap: 0;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list.flexBox--3col > .flexBox__item {
		margin-right: 25px;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list.flexBox--3col > .flexBox__item:nth-child(3n+3) {
		margin-right: 0;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list .profile-info__other li:last-child {
		display: block;
		margin-right: 0;
	}

	.pa-page--singlemother #sm .contentBox_introduceArea .stories-list .profile-info {
		min-height: auto;
	}

	/* ⑮ U29 プランの体験談の札（Task #8614・親は Bug #8609）。シングルマザー応援プランの ⑧ と同じ手である.
	 *
	 * 移行元の U29 プランも、札を `introduce/css/style_introduce_experience.css` で組む（`uvalue/index.html` 32 行で読む）。
	 * `uvalue/css/style.css` に札を上書きする規則は無い。dev の札は全ページ共通の「会員の体験談の札」の規則で組まれる.
	 * 🚨 **共通の規則は触らない。**会員のホンネ体験談の一覧と HAPPY REPORT が同じ規則を受けるため、
	 * このページの札だけを `.contentBox_introduceArea` で名指しして、違う値を上書きする.
	 *
	 * PR #8627（Task #8613）の下見（`pa-verify-assets/B/8613-下見2-0928/`）で、区画 7 は移行元より 66.38 低かった.
	 *   ① 札のリード文 `.copy.mh` の高さ 96px（行内 `style`）を、移行元は `content-box` で受け、内余白 24px × 2 を足して
	 *      144px になる。dev は `border-box` なので 96px に内余白を含めていた（1 枚 −48）
	 *   ② 札の下の外余白 25px（移行元 88 行 `.flexBox--3col .flexBox__item { margin: 0 25px 25px 0 }`）
	 *   ③ 行送り: 移行元は 899 行 `.stories-list__item { line-height: 1.53 }` だけを持ち、札の中は全部これを受け継ぐ
	 *   ④ 婚活タイプの名札 `.type` は 15px・下 8px（850 行 `.profile-info .txt-area .type`）
	 *   ⑤ 居住地・学歴・職種の並び `.profile-info__other` の最後の 1 件は、改行して 2 行目に出る（895 行
	 *      `.profile-info__other li:last-child { display: block; margin-right: 0 }`）。dev の共通の規則は一覧の CSS から写したもので、
	 *      3 件とも横に並べていた（Task #8614 の下見 1 回目・`pa-verify-assets/B/8614-下見-0928/`）
	 *   ⑥ 名前と絵の並び `.profile-info` の最低の高さ 121px は、移行元のこのページには無い。dev の共通の規則が一覧の CSS
	 *      （写し元 1626〜1631 行）から写した値で、札が 1 枚 +1.16 高かった（移行元 119.84・dev 121・`B/8614-下見3-0928/`）
	 * 行番号は移行元の固定コミット bd23f8358 の版で数えた（⑧ の注釈の 841・889 行も、Task #8614 で 850・899 行に直した）.
	 * 🚨 **⑧ の `.number-list__ttl` の下 2px は写さない。**U29 プランの ⑫ の土台は札の中（`.stories-list *`）を外しているので、
	 * 共通の規則の 2px が打ち消されていない. */
	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list .copy.mh {
		box-sizing: content-box;
	}

	/* 札の縦の間隔は、移行元と同じく札の下の外余白 25px だけで作る。共通の規則の `.flexBox--3col { gap: 25px }` の
	 * 行の間隔を 0 にしないと、札が 2 行以上になったときに外余白と足し合わさり、行の間が 50px になる
	 * （Codex のセルフレビューの指摘。いまの札は 3 枚で 1 行なので、測った値には出ていない）。横の間隔 25px は `gap` のまま. */
	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list.flexBox--3col {
		row-gap: 0;
	}

	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list > .stories-list__item {
		margin-bottom: 25px;
	}

	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list > .stories-list__item,
	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list > .stories-list__item * {
		line-height: 1.53;
	}

	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list .type {
		margin-bottom: 8px;
		font-size: 15px;
	}

	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list .profile-info {
		min-height: auto;
	}

	.pa-page--uvalue #uvalue .contentBox_introduceArea .stories-list .profile-info__other li:last-child {
		display: block;
		margin-right: 0;
	}

	/* ⑰ シングルマザー応援プランの区画のベージュの背景と、見出しの下の桃色の帯（Task #8620・親は Bug #8320）.
	 * U29 プランの ⑯（Task #8619）と同じ手である。値はシングルマザー応援プランの移行元 `singlemother/css/style.css` の行で確かめた.
	 *
	 * 背景: 26〜28 行 `#sm .bgBeige { background: #f9f7f3 }`。移行元の区画は画面いっぱい（幅 1,440）、dev の区画は 1,100 の器 `#sm` の中にあり、
	 * テーマの CSS に規則が無かった（`pa-verify-assets/B/背景と帯の読み-0927/`）.
	 * 🚨 **区画を画面いっぱいへ広げ、同じだけ内側へ押し戻す。**外余白 `margin-inline: calc(50% - 50vw)` で左右へ広げ、
	 * 内余白 `padding-inline: calc(50vw - 50%)` で中身を元の 1,100 の位置へ戻す。区画の中の器は幅を持たないので、
	 * 押し戻さないと中身まで画面いっぱいに広がる。`margin` と `padding` の一括指定は使わない（⑥ の上下の内余白を崩さない）.
	 * 🚨 **横のはみ出しの切り落としは、この節では足さない。**`100vw` は縦スクロールバーの幅を含むので、バーが場所を取る閲覧環境では
	 * 広げた区画が左右へはみ出すが、このページの `#site-main` は、成婚ストーリーの 1 話の帯（`#story .grid_box`）を持つことで既存の規則
	 * `body.pa-legacy-grid-box .site-main:has(.page-content__body .grid_box) { overflow-x: clip }`（ワード解説の帯の節）が
	 * どの幅でも切り落としている（Task #8620 の下見で、直す前から `overflow-x: clip` と読んだ・`pa-verify-assets/B/8620-下見-0928/`）.
	 * 目印の `pa-legacy-grid-box` は、本文に `grid_box` が在るときに `inc/single-content-legacy-frame.php` が `body` へ付ける.
	 *
	 * 見出しの下の帯: 54〜56 行 `#sm .title span { position: relative }`・57〜65 行 `#sm .title::before`・66〜68 行 `#sm .bgBeige .title::before`
	 * （ベージュの区画の中も同じ値）。帯の色は桃色 `#ffecf4` で、U29 プランの水色と違う。`.title` の `position: relative` と
	 * `inline-block` は ⑦ が持つ（Task #8571）。字を帯の上に出すため、字の `span` も `position: relative` にする.
	 * 帯は移行元と同じ `content-box` にする。このテーマは全体が `border-box` で、そのままだと帯の高さの計算値が下の罫線を含んだ 12px になる
	 * （移行元は 0 で、罫線 12px が外に付く。見た目は同じ）. */
	.pa-page--singlemother #sm > .contentBox.bgBeige {
		margin-inline: calc(50% - 50vw);
		padding-inline: calc(50vw - 50%);
		background: #f9f7f3;
	}

	.pa-page--singlemother #sm .title span {
		position: relative;
	}

	.pa-page--singlemother #sm .title::before {
		box-sizing: content-box;
		position: absolute;
		bottom: 12px;
		left: 0;
		width: 100%;
		border-bottom: 12px solid #ffecf4;
		content: "";
	}

	/* ⑰ の続き: よくある質問の回答 `dd` の下の罫線（Bug #8697・親は Bug #8320）。U29 プランの ⑯ と同じ手である.
	 * 移行元 `singlemother/css/style.css` 626〜632 行 `#sm .contentBox .contentBox_qaArea dd { … border-bottom: 1px solid #e7e4dd … }`.
	 * 字の大きさと行送りは `@media` の外の規則が、余白は ⑥ が写していたが、罫線はどこにも写していなかった.
	 * よくある質問の区画は 2・3 ページ目にだけ出る（1 ページ目は移行元が HTML の注釈で囲んでいる）. */
	.pa-page--singlemother #sm .contentBox .contentBox_qaArea dd {
		border-bottom: 1px solid #e7e4dd;
	}

	/* ⑨ 字間（Task #8579・親は Bug #8320）。移行元 `singlemother/css/style.css` の字間の規則は 4 本で、
	 * dev には 1 本も写っていなかった（Task #5670 は字の大きさと行送りだけを写した）。
	 *
	 *   23 行  `#sm * { letter-spacing: 0.08rem }`
	 *   97 行  `#sm .lede { letter-spacing: 0.1rem }`
	 *   404 行 `#sm .contentBox .contentBox_graphArea .graphList li .txt p { letter-spacing: 0 }`
	 *   645 行 `#sm .beigeBtn a { letter-spacing: 0 }`（このページに `.beigeBtn` は無いので写さない）
	 *
	 * 🚨 **`rem` は移行元の根の字の大きさで換算する。**移行元はこのページで
	 * `introduce/css/style_introduce.css` と `style_introduce_experience.css` の
	 * `html { font-size: 62.5% }` を読み、根が 10px になる。0.08rem は 0.8px、0.1rem は 1px である。
	 * このテーマの根は 16px なので、`rem` のままでは 1.6 倍になる。
	 *
	 * 🚨 **`#sm *` は詳細度を 0 に近づけて書く。**移行元の `#sm *` は (1,0,0) で、区画の中の名指しの
	 * 規則（成婚ストーリーの 1 話の `.prof_read` の字間ほか・(1,2,0) 以上）に負ける。dev で同じ規則を
	 * 受け持つのはテーマの本文の土台（`:is(.entry-content, .page-content__body) .prof_read` など・
	 * (0,2,0)）なので、`.pa-page--singlemother #sm *` （(1,1,0)）と書くとそちらに勝ってしまう。
	 * `:where(#sm)` で包んで (0,1,0) にし、移行元と同じく「名指しの規則が無い要素だけに当たる」形にする. */
	.pa-page--singlemother :where(#sm) * {
		letter-spacing: 0.8px;
	}

	.pa-page--singlemother #sm .lede {
		letter-spacing: 1px;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .graphList li .txt p {
		letter-spacing: 0;
	}

	/* 見出しの字間（Task #8579）。移行元は見出しにも `#sm *` の 0.8px がそのまま当たる（22 個とも 0.8px）。
	 * dev はテーマの見出しの規則が字間を持ち、上の `:where(#sm) *`（(0,1,0)）に勝って 1〜2.1px に
	 * なっていた（`pa-verify-assets/B/8572-下見-0927/`）。見出しだけ名指しして 0.8px にそろえる. */
	.pa-page--singlemother #sm :is(h1, h2, h3, h4, h5, h6) {
		letter-spacing: 0.8px;
	}

	/* 成婚ストーリーの 1 話のコンシェルジュの囲み。移行元 `#story .box_concierge { letter-spacing: 0.1em }`
	 * （`css/page_introduce.css` 504 行）で 1.6px になる。dev にはこの規則が無かった. */
	.pa-page--singlemother #sm #story .box_concierge {
		letter-spacing: 0.1em;
	}

	/* 見出しの 0.8px の例外。成婚ストーリーの 1 話の `h5.story_copy` は、移行元で
	 * `#story .story_copy { font-size: 24px; letter-spacing: 0.05em }`（`css/page_introduce.css` 448〜456 行）が
	 * `#sm *` に勝ち、1.2px になる（5 個とも・`pa-verify-assets/B/8572-下見2-0927/`）。
	 * 上の見出しの規則（(1,1,1)）より強い (2,2,0) で書く. */
	.pa-page--singlemother #sm #story .story_copy {
		letter-spacing: 0.05em;
	}

	/* ⑳ 体験談の区画の塊の下の罫線と、注記の字の大きさ（Bug #8691・親は Bug #8320）.
	 *
	 * 罫線: 移行元 `singlemother/css/style.css` 364〜371 行は、`.contentBox_graphArea` に
	 * `border-bottom: 1px solid #e7e4dd` と `padding-bottom: 70px` を持ち、`:last-of-type` で両方を打ち消す.
	 * ⑥ は余白の 2 本だけを写し、罫線を写していなかった。dev では塊と塊の間の区切りの線が無く、
	 * 上の 2 つの塊が 1px ずつ低かった（`pa-verify-assets/B/8320-残りの差-0928/`）.
	 * 打ち消しの行も写す。⑥ と同じく、前の行だけを写すと最後の塊にも線が付く.
	 *
	 * 注記: 430〜434 行 `.aside_kome` は字の大きさを書かず、移行元の本文の既定（`css/import.css` が読む `css/common.css` の
	 * 28〜29 行 `body { font-size: 13px }`・行送り normal）で組まれる。dev はテーマの既定の 16px・24px で、
	 * 1 つ目の塊が +4 高かった（同じ記録）. ⑱ の説明の段落と同じ手である. */
	.pa-page--singlemother #sm .contentBox .contentBox_graphArea {
		border-bottom: 1px solid #e7e4dd;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea:last-of-type {
		border-bottom: none;
	}

	.pa-page--singlemother #sm .contentBox .contentBox_graphArea .aside_kome {
		font-size: 13px;
		line-height: normal;
	}
}

/* 移行元 @keyframes fadeIn。2 枚の写真を 30 秒でゆっくり入れ替える. */
@keyframes pa-uvalue-fv-fadein {
	0% {
		opacity: 0;
		z-index: 11;
	}

	5% {
		opacity: 1;
	}

	55% {
		opacity: 1;
	}

	60% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		z-index: 10;
	}
}

/* 移行元 @keyframes blur。コピーがぼけから現れ、最後に消える. */
@keyframes pa-uvalue-fv-blur {
	0% {
		opacity: 0;
		filter: blur(15px);
	}

	30% {
		opacity: 1;
		filter: blur(0);
	}

	70% {
		opacity: 1;
		filter: blur(0);
	}

	100% {
		opacity: 0;
		filter: blur(0);
	}
}

/* --------------------------------------------------------------
 * QOM 総研の調査レポート詳細「関連記事」の携帯幅（Bug #6947）
 *
 * ## 何が違っていたか
 *
 * 移行元は同じ関連記事の断片（`/research/include/report_NN.html`）の中に、
 * **パソコン版とスマートフォン版の 2 通りの markup を並べて持っている**。
 *
 *     <a href="/research/report_10.html" class="pc">      ← 大きい写真 352×218 の札
 *     <a href="/sp/research/report_10.html" class="sp"><dl>← 小さい写真を左・字を右
 *
 * 出し分けはページごとの行内 `<style>` が行っており（パソコン版は
 * `.pc{display:block} .sp{display:none}`、スマートフォン版はその逆）、
 * **CSS ファイルの側にはこの 2 つのクラスの指定が 1 つも無い**。
 *
 * dev の札は `inc/research-related-inline.php` が組み立てており、
 * **パソコン版の形しか出していない**。そのため携帯幅でも 1 件ずつ横いっぱいの
 * 大きな写真が並び、区画が縦に伸びていた。
 *
 * ## 直し方（成婚ストーリーの関連記事と同じ作り）
 *
 * **札を 2 通り持たせない。同じ markup を携帯幅で組み直す。**両方の markup を
 * 出すと、同じ写真と同じ飛び先が 1 ページに 6 組できる（隠した側の `<img>` も
 * ブラウザは取りに行く）。移行元のスマートフォン版は**パソコン版と同じ写真
 * ファイル**（`/research/img/thumb_NN.jpg`）を寸法の指定なしで使っており、
 * 絵そのものは 1 つで足りる。
 *
 * 先例は成婚ストーリーの関連記事（このファイルの 54425 行あたり・Task #3287）で、
 * 同じ断片・同じ矢印の絵・同じ百分率を、浮かせ（float）ではなく横並びの箱（flex）で
 * 組み直している。**組みの写し元も値の写し元もそろえる。**
 *
 * ## 値の写し元
 *
 * `legacy/www.p-a.jp/public/sp/research/css/style.css`
 *
 *     #research .corner_ttl2 { margin-bottom:5px; padding:0 0 13px; color:#a3762b;
 *                              font-size:17px; line-height:100%;
 *                              border-bottom:2px solid #A3762B }
 *     #research dl { background-image:url(../images/icon.jpg);
 *                    background-position:right center;
 *                    padding:15px 0; border-bottom:1px solid #CCCCCC }
 *     #research dt { float:left;  width:32.142% }
 *     #research dd { float:right; width:58.928%; padding:0 4.642% 0 0;
 *                    font-size:11px; line-height:160% }
 *     #research dd p { font-size:11px }
 *     #research .article_ttl { margin-bottom:22px; font-size:18px;
 *                             line-height:1.4; text-align:center }
 *
 * 🚨 **携帯幅では `main.css` だけが効く。**調査の区画別 CSS
 * （`assets/research/css/section.css` と `theme-bridge.css`）は
 * `PA_RESEARCH_PAGE_CSS_MEDIA = '(min-width: 750px)'` で配られるので、
 * この直しをそちらへ書いても 1 行も届かない。`section.css` は機械で作る
 * ファイルでもあるため手で書き足せない。
 *
 * 🚨 **当て先を `#research .box_relation` で絞る。**`.box_relation` は成婚
 * ストーリーの詳細にもあり（あちらは `.btn_all_list` を持ち、専用の指定が
 * 54375 行以下にある）、`#research` を持つのは調査レポートだけである。移行元の
 * `/research/` 配下を数えると、`.box_relation` を持つのは詳細 157 本だけで、
 * 一覧（`listNN.html`）は 1 本も持たない。
 *
 * 🚨 **パソコン幅には 1 行も足さない。**この塊は丸ごと `max-width: 749px` の
 * 中にある。
 * -------------------------------------------------------------- */
@media (max-width: 749px) {
	/* 関連記事の区画を、柱いっぱいに置く。

	   移行元スマホ版の `#research` は左右に 6.25% ずつの内余白を持ち、親
	   （`#other_contents`）は横の内余白を持たない。よって柱は画面幅の 87.5%
	   （幅 375px で 328.125px）である。

	   🚨 **2026-09-20 に打ち消しを 2 行外した（Bug #8125）。**もとは
	   `margin-inline: -15px` で全幅へ広げ、子（`.relation_ttl` と `.list_box`）を
	   `margin-inline: 6.25%` で内側へ戻していた。dev の柱が **345px**（`.page-content` の
	   左右 15px を引いた値）だった頃の打ち消しである。

	   いまは Bug #8125 の直しで `.page-content` の左右が 6.25% になり、**柱そのものが
	   328.125px** なので、広げて戻す必要が無い。**外さずに残すと 22.38px になって合わない**
	   （`-15px` で広げた 358.13px を基準に 6.25% を取り直すため）。実測でも、外したあとの
	   この区画は 328.13px・左端 23.44px で柱と重なる（2026-09-20 16:4x・幅 375px）。

	   `width: auto` は残す。パソコン幅の指定が幅を持つためである. */
	:is(.entry-content, .page-content__body) #research .box_relation {
		width: auto;
	}

	/* 見出し「関連記事」。移行元スマホ版は `h3.corner_ttl2`（17px・金・
	   下罫線 2px・下内余白 13px・下外余白 5px）である。dev は `p.relation_ttl` で
	   同じ位置に出ている. */
	:is(.entry-content, .page-content__body) #research .box_relation .relation_ttl {
		margin-block: 0 5px;
		padding: 0 0 13px;
		border-bottom: 2px solid #a3762b;
		color: #a3762b;
		font-size: 17px;
		line-height: 100%;
	}

	/* 札の並び。移行元スマホ版は札を縦に積むだけで、札と札の間に空きを持たない
	   （区切りは札の下罫線が担う）。パソコン幅の横並び（flex・間隔 22px）を解く. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box {
		display: block;
		margin-block: 0;
	}

	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li {
		width: auto;
		margin: 0;
		background-color: transparent;
	}

	/* 札そのもの。移行元 `#research dl`（上下内余白 15px・下罫線 1px #ccc・地色なし）。
	   移行元は写真を左へ、字を右へ浮かせて並べる。ここでは横並びの箱で組む。

	   🚨 **当て先を `> a` にする。**関連記事の枠が空のまま残るページが 2 本あり
	   （移行元の断片が無い）、`li` の側へ内余白と罫線を当てると、そこに中身の無い
	   罫線が出る. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a {
		display: flex;
		position: relative;
		justify-content: space-between;
		align-items: flex-start;
		padding: 15px 0;
		border-bottom: 1px solid #ccc;
		background: none;
	}

	/* 右端の矢印。移行元は 8 × 14 の画像（`sp/research/images/icon.jpg`）を
	   `#research dl` の背景として右中央に置いている。**絵は持ち込まず角を回して
	   作る**（原則: 背景は CSS・文言はテキスト）。この絵は成婚ストーリー側
	   （`sp/word/images/icon.jpg`）と md5 が同じで、先例と同じ形にできる. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a::after {
		position: absolute;
		top: 50%;
		right: 0;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: solid 1px #6a6a6a;
		border-right: solid 1px #6a6a6a;
		content: "";
		transform: rotate(45deg);
	}

	/* 写真の側。移行元 `#research dt { float: left; width: 32.142% }`。
	   札の中で `.list_detail` を持たない方の `<span>` が写真の器である
	   （`inc/research-related-inline.php` は器に類名を付けない）. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a > span:not(.list_detail) {
		flex: 0 0 32.142%;
		margin: 0;
		padding: 0;
	}

	/* 🚨 移行元スマホ版の `img` は `display: block`（`sp/css/common.css`）である。
	   テーマは `.page-content__body img { vertical-align: baseline }` を持つので、
	   行の中に置いたままだと写真の下に行の下端ぶんの空きが出て、札が数 px 高くなる. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a > span:not(.list_detail) img {
		display: block;
		width: 100%;
	}

	/* 字の側。移行元 `#research dd { float: right; width: 58.928%; padding: 0 4.642% 0 0;
	   font-size: 11px; line-height: 160% }`。内余白を含めた幅で書く
	   （この画面の箱は内余白込みで幅を数える。58.928 + 4.642 = 63.57）. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a .list_detail {
		flex: 0 0 63.57%;
		min-width: 0;
		padding: 0 4.642% 0 0;
		font-size: 11px;
		line-height: 160%;
	}

	/* 通し番号。移行元スマホ版は**地色も地の絵も持たない素の字**で、`#research dd p`
	   の 11px をそのまま使う。色の指定は移行元に無く、囲みの `<a>` から受け継ぐ
	   （色を持つのは指を載せたときの `#research a.hover dd p.num { color:#fff }` だけ）。
	   よってここでも色は受け継ぎにし、題と同じ色にそろえる。

	   🚨 **`background` のまとめ書きで消す（Bug #5020）。**全ページ共通の側が
	   `:is(.list_box, .list_box_new) li a .list_detail span.num { background: url("../images/research/bg_num.gif?ver=5107ffb4b7d5") repeat }`
	   と**まとめ書きで金茶の絵を敷いており**、`background-color` だけを重ねても
	   `background-image` は残る。

	   🚨 **移行元スマホ版は小文字の `vol.10`**（パソコン版は大文字の `Vol.10`）。
	   投入した本文は文言を 1 つしか持たないので、字の変換で小文字にする. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a .list_detail .num {
		display: block;
		margin: 0;
		padding: 0;
		background: none;
		color: inherit;
		font-size: 11px;
		line-height: 160%;
		text-transform: lowercase;
	}

	/* 題。移行元スマホ版は `#research dd p` の 11px・太さ 400 で、`.ttl` のような
	   目印を持たない（`#research dd p.ttl` の指定そのものが移行元に無い）。
	   dev はパソコン幅の 22px と携帯幅の 18px を持つので、ここで戻す. */
	:is(.entry-content, .page-content__body) #research .box_relation .list_box > li > a .list_detail .ttl {
		margin: 0;
		font-size: 11px;
		font-weight: 400;
		line-height: 160%;
	}

	/* 記事の題名を中央へ寄せる。移行元スマホ版は
	   `#research .article_ttl { text-align: center }` を持ち、パソコン版には
	   `.article_ttl` の指定が 1 つも無い（左寄せ）。dev の題名はテンプレートが出す
	   `h1.page-content__title` で、`#research` の外（本文の器の手前）にある。

	   🚨 **当て先を関連記事の枠を持つページへ絞る。**`.pa-page--research` は
	   `/research/` 配下の 234 ページに付き、一覧ページは移行元スマホ版でも
	   `.article_ttl` を持たない（一覧の題は絵の `.category_ttl` である）。
	   詳細だけを指す目印は関連記事の枠なので、それで絞る. */
	article.pa-page--research:has(.page-content__body #research .box_relation) .page-content__title {
		text-align: center;
		font-size: 18px;
	}

	/* QOM総研のトップの一覧を、携帯幅では 6 件に絞る（Bug #8227・ユーザー決定 D543）。

	   移行元はパソコン版とスマートフォン版で**出す記事の数を変えている**。

	   | 幅 | dev（直す前） | 移行元 |
	   |---|---|---|
	   | 1440 | 12 件（Vol.147〜158） | 12 件（Vol.147〜158） |
	   | **375** | **12 件** | **6 件**（Vol.153〜158） |

	   移行元のスマートフォン版 `sp/research/index.html` は、**同じ 6 記事を 2 か所**に出す
	   （横送りと「新着記事」の並び。どちらの塊にも `<!-- 6記事掲載 -->` と注記がある）。
	   dev は 1 つの投稿一覧から両方を作るので、ここでは 7 件目以降を携帯幅だけ隠す。

	   🚨 **起票時の「移行元は 14 件」は誤りだった。**14 は横送り（bxSlider）が
	   無限送りのために作る**複製スライドを含んだ数**である。別々の巻数で数えると 6 件。
	   数えるときは複製を外すか、別々の値の数で数える。

	   🚨 **丸い印（`.bx-pager`）は 12 個のまま残る。**テーマの横送りは自前の
	   `assets/js/legacy-bxslider.js` で、中の `collectSlides()` が `display` を見ずに
	   直下の `li` を全部数えるためである（実測で確かめた）。**7 個目から 12 個目の印は
	   隠れた札を指す。**移行元のスマートフォン版は丸い印を 1 つも持たないので、
	   そちらへそろえる直しは別の Issue で扱う。前後の矢印は移行元も持つので残す。

	   🚨 **当て先をトップの 2 か所に絞る。**詳細ページの関連記事も `.list_box` を使うが、
	   そちらは `div.box_relation` の中で 3 件しか無い。ここでは `#slider` の中の横送りと、
	   「新着記事」の並び（`div.research_inner` の直下）だけを指す。

	   🚨 **一覧の 2 ページ目以降（`/research/page/2/` 〜）にも当たっていた（Bug #8339）。**
	   `article` の `pa-page--research-top` は `archive-pa_research.php` 93 行目で固定に付き、
	   `page/2` 以降にも残るため、この class では絞り込めない。WordPress は `body_class()` が
	   2 ページ目以降の `<body>` にだけ `paged` を付けるので、`body:not(.paged)` でトップだけに
	   絞る。 */
	body:not(.paged) :is(.entry-content, .page-content__body) #research #slider .bxslider > li:nth-child(n+7),
	body:not(.paged) :is(.entry-content, .page-content__body) #research .research_inner > .list_box > li:nth-child(n+7) {
		display: none;
	}

	/* 「これまでの記事の一覧」を携帯幅では出さない（Task #8329・ユーザー決定 D545）。

	   移行元のスマートフォン版 `sp/research/index.html` は、横送りと「新着記事」の並びだけを
	   持ち、**過去の記事へのリンクの箱を 1 つも出さない**（写しの markup を読んで確かめた）。

	   | 幅 | dev（直す前） | 移行元 |
	   |---|---|---|
	   | 1440 | 出る（11 リンク） | 出る（11 リンク） |
	   | **375** | **出る**（箱 328.13×258） | **この区画そのものが無い** |

	   🚨 **同じページの携帯幅の記事の数を 6 件に絞った決定（D543）と向きをそろえる。**

	   🚨 **幅 1440 の同じ区画は Bug #8272 で直してある。**あちらの直しは
	   `assets/research/css/theme-bridge.css` にあり、`(min-width: 750px)` で配られるので
	   携帯幅には届かない。ここと当たり先が重ならない。

	   🚨 **当て先をトップに絞る。**詳細ページは `div.under_menu` を持たないが、
	   区画の印だけで当てると将来 持ったときに巻き込む。 */
	:is(.entry-content, .page-content__body) #research .under_menu {
		display: none;
	}

	/* 同じ横送りの丸い印を、携帯幅では出さない（Bug #8306）。

	   移行元のスマートフォン版は前後の矢印だけを持ち、**丸い印を 1 つも出さない**
	   （実測: 幅 375 で dev 12 個・移行元 0 個。幅 1440 は両側 12 個で一致）。

	   🚨 **上の規則と同じ節に置くのは、片方だけ配ると欠けるためである。**
	   横送りを組み立てる `collectSlides()` は `display` を見ずに直下の `li` を全部数えるので、
	   上で 7 件目以降を隠しても印は 12 個のまま残り、**7 個目から 12 個目は隠れた札を指す**。
	   自動送りは 6 枚で正しく回る（空白は出ない）が、**光る印と出ている札がずれる**
	   （実測: 24 秒の時点で印は 7 個目・出ている札は Vol.157）。

	   前後の矢印（`.bx-prev` / `.bx-next`）は移行元も持つので残す。その見た目は Bug #8271. */
	:is(.entry-content, .page-content__body) #research #slider .bx-pager {
		display: none;
	}
}

/* コラム「結婚相談所のすゝめ」11 ページの引用の枠（Bug #6805）。

   移行元はこの 11 ページで、枠つきの塊に行内の `style` で
   `padding: 10px; margin-bottom: 10px; border: 1px solid #333333;` を書いている
   （`ul` はさらに `list-style: none;`）。**投入の消毒は行内の `style` を落とす**ので、
   持ち込んだままでは枠が消える。投入の本文へ `class="pa-quote-box"` を足し
   （`content-model.yaml` 割当規則 2 の `body_replacements` 11 宣言）、値をここで戻す。

   🚨 **当たり先を `.entry-content` の中に絞る。**印は投入の本文にしか入らないが、
   絞らないと将来ほかの区画が同じ類名を使ったときに巻き込む。

   🚨 **`@media` の節の外に置く。**移行元の行内の `style` は幅で変わらないので、
   どの幅でも同じ値が効くのが正しい（この行より上はすべて節が閉じている）。

   数は 116 か所（`p` 55・`ul` 36・`div` 25）。2026-09-17 にミラー 6dc1cac1 を読んで数えた。

   🚨 **当たり先の詳細度を (0,3,2) まで上げる。**携帯幅に
   `.pa-post--word .entry-content .box p { margin-bottom: 12px; }`（詳細度 (0,3,1)）が在り、
   枠つきの塊は**116 か所すべてが `.box` の中**にある（移行元のミラーを走査して数えた）。
   素直に `.entry-content .pa-quote-box`（(0,2,0)）と書くと、**幅 749px 以下で下外余白が
   移行元の 10px でなく 12px になる**。並び順の後勝ちに頼らず、詳細度で勝たせる. */
article.pa-post--word .entry-content p.pa-quote-box,
article.pa-post--word .entry-content ul.pa-quote-box,
article.pa-post--word .entry-content div.pa-quote-box {
	padding: 10px;
	margin-bottom: 10px;
	border: 1px solid #333333;
}

/* 🚨 `ul` だけ移行元が `list-style: none;` も書いている。`p` と `div` には無い. */
article.pa-post--word .entry-content ul.pa-quote-box {
	list-style: none;
}

/* ============================================================
   デートスポットの全国の一覧（/spot/）の日本地図（Bug #7315・D448）
   ============================================================

   移行元 `public/spot/css/style.css` の `.map_box` 一式を、この一覧の類名へ
   読み替えて持つ。**値は移行元のまま**である（下の表）。

   | 移行元 | 値 |
   |---|---|
   | `.map_box` | `position: relative; margin-bottom: 60px` |
   | `.map_box .area` | `position: absolute; text-align: left; font-size: 15px` |
   | `.map_box .area h3` | `font-size: 18px; font-weight: bold; line-height: 1; margin-bottom: 7px` |
   | `.hokaido` | `top: 254px; left: 799px` |
   | `.kanto` | `top: 455px; left: 715px` |
   | `.chubu` | `top: 225px; left: 465px` |
   | `.kinki` | `top: 575px; left: 535px` |
   | `.chugoku` | `top: 340px; left: 285px` |
   | `.shikoku` | `top: 605px; left: 355px` |
   | `.kyushu` | `top: 545px; left: 100px` |
   | `.maph3` | `position: absolute` ／ `.maph3 p { width: 50% }` |

   🚨 **移行元の px は地図の絵（1100×720）の左上を原点にした値である。**そのまま
   px で書くと、器が 1100px より狭いときに区画が絵から外れる。店舗の一覧
   （`.pa-branch-archive__map`）と同じ作りにして、**移行元の 1px にあたる長さを
   トークンへ置き、移行元の値を掛ける**。 */

.pa-spot-archive__mapbox {
	/* 移行元の 1px にあたる長さ。地図の絵の外形は 1,100px で、この器は枠線を
	   持たないので内側の幅も 1,100px である（店舗の一覧は枠線 1px を持つため
	   1,098 で割っている。**同じ値にそろえてはいけない**）。

	   🚨 **この変数をこの器自身の指定で使ってはいけない。**`cqw` は祖先のコンテナを
	   基準に解くので、コンテナ自身で使うと基準が画面へ移る。エラーにならず値だけが
	   静かにずれる。使ってよいのは子孫の指定だけである. */
	--pa-spot-map-px: calc(100cqw / 1100);

	container-type: inline-size;
	position: relative;
	margin-bottom: 60px;

	/* 🚨 **上限は「地図」ではなく「器」に置く**（Bug #7463）。

	   移行元は `<p align="center">` の中に**固定幅 1,100px の `<img>`** を置いており、
	   画面が広くても地図はそこで止まって中央に来る（幅 1,440px の実測: 地図の幅 1,100・
	   左端 170）。CSS の背景へ置き換えたときにこの「止まる」が落ち、本文の器いっぱい
	   （1,410px）に広がっていた。

	   🚨 **`.pa-spot-archive__map` の側に `max-width` を置いても直らない。**上の
	   `--pa-spot-map-px` は `100cqw` で解き、その `cqw` は**この器**（`container-type`
	   を持つ要素）の幅を基準にする。器が 1,410 のままだと地図だけが 1,100 で止まり、
	   **区画の置き場所は 1,410 のまま**なので区画が地図の外へずれる。
	   器を止めれば、地図も区画も移行元の px と一致する. */
	max-width: 1100px;
	margin-inline: auto;
}

/* 地図の絵。**`img` ではなく背景で敷く**（型紙の説明にある 2 つの理由）。
   絵はテーマの資材に既に在る（狭い画面の店舗詳細が使っているもの）. */
.pa-spot-archive__map {
	position: relative;
	aspect-ratio: 1100 / 720;
	background-image: url("../sp/spot/images/allmap.png?ver=f40474df8bd2");
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

/* 区画。移行元 `.map_box .area` は幅を持たず中身に合わせて縮む.

   上限の 240 は移行元に無い受け皿である。区画は幅を持たない絶対配置なので、
   県名が想定より長くなると地図の右外へ伸び、ページに横スクロールが出る。
   いま最も右にある東北・北海道（左端 799）でも 799 + 240 = 1039 で、
   地図の幅 1100 に収まる. */
.pa-spot-archive__map-area {
	position: absolute;
	max-width: calc(240 * var(--pa-spot-map-px));
	text-align: left;
	font-size: calc(15 * var(--pa-spot-map-px));
}

/* 区画の置き場所。移行元の px 値をそのまま掛けている（地図の絵の左上が原点）. */
.pa-spot-archive__map-area--hokaido {
	top: calc(254 * var(--pa-spot-map-px));
	left: calc(799 * var(--pa-spot-map-px));
}

.pa-spot-archive__map-area--kanto {
	top: calc(455 * var(--pa-spot-map-px));
	left: calc(715 * var(--pa-spot-map-px));
}

.pa-spot-archive__map-area--chubu {
	top: calc(225 * var(--pa-spot-map-px));
	left: calc(465 * var(--pa-spot-map-px));
}

.pa-spot-archive__map-area--kinki {
	top: calc(575 * var(--pa-spot-map-px));
	left: calc(535 * var(--pa-spot-map-px));
}

.pa-spot-archive__map-area--chugoku {
	top: calc(340 * var(--pa-spot-map-px));
	left: calc(285 * var(--pa-spot-map-px));
}

.pa-spot-archive__map-area--shikoku {
	top: calc(605 * var(--pa-spot-map-px));
	left: calc(355 * var(--pa-spot-map-px));
}

.pa-spot-archive__map-area--kyushu {
	top: calc(545 * var(--pa-spot-map-px));
	left: calc(100 * var(--pa-spot-map-px));
}

.pa-spot-archive__map-area-title {
	font-size: calc(18 * var(--pa-spot-map-px));
	font-weight: bold;
	line-height: 1;

	/*
	 * 🚨 **上の余白を 0 にする指定が要る**（Bug #7538）。移行元は `common.css` が
	 * `h1`〜`h6` の `margin` と `padding` を 0 にしているが、このテーマは `h2` の
	 * `padding` しか 0 にしていない。**書かないとブラウザ既定の
	 * `margin-block-start: 0.83em` が残り、見出しが 15px 下がる**
	 * （18px × 0.83 = 14.94px。2026-09-19 の実測でも 7 区画とも 15px だった）。
	 */
	margin-top: 0;
	margin-bottom: calc(7 * var(--pa-spot-map-px));
}

/* 県の飛び先。移行元は `<br>` を 2 本ごとに手で入れて 2 列に見せている。
   **`<br>` を組みへ持たせない。**狭い画面では折り返しの位置が変わるので、
   同じ見た目を 2 列の格子で作る（`<br>` を書くとどの幅でも同じ位置で折れる）. */
.pa-spot-archive__map-prefectures {
	display: grid;
	grid-template-columns: repeat(2, auto);
	justify-content: start;
	/* 移行元は県のあいだを全角の空白 1 つと半角の空白 1 つで空けている
	   （`</a>　 <a`）。格子では字が無いので、同じ幅を隙間で作る. */
	column-gap: calc(15 * var(--pa-spot-map-px));
	row-gap: 0;
	margin: 0;
}

.pa-spot-archive__maph3 {
	position: absolute;
	/* 移行元 `.maph3 p { width: 50% }`。字の並びだけに効かせる. */
	max-width: 50%;
}

.pa-spot-archive__lead,
.pa-spot-archive__closing {
	margin: 0;
}

/* 🚨 **狭い画面は移行元の携帯版の組みにする**（`public/sp/spot/index.html`）。
   あちらは絶対配置を使わず、区画名と県の飛び先を上から並べ、**地図の絵は
   その後ろ**に置く。地図の上に重ねる置き方は、幅 375px では字が読めない. */
@media (max-width: 749px) {
	.pa-spot-archive__mapbox {
		margin-bottom: 30px;
	}

	/* 背景の絵を外し、区画の並びが終わったあとに絵を出す. */
	.pa-spot-archive__map {
		aspect-ratio: auto;
		background-image: none;
	}

	.pa-spot-archive__map::after {
		content: "";
		display: block;
		width: 100%;
		aspect-ratio: 1100 / 720;
		margin-top: 10px;
		background: url("../sp/spot/images/allmap.png?ver=f40474df8bd2") no-repeat center / 100% auto;
	}

	.pa-spot-archive__map-area {
		position: static;
		max-width: none;
		font-size: 15px;
		margin-bottom: 10px;
	}

	.pa-spot-archive__map-area-title {
		font-size: 16px;
		margin-bottom: 4px;
	}

	/* 狭い画面では 2 列に固定せず、入るだけ並べて折り返す（移行元の携帯版は
	   `nobr` と `WBR` で「なるべく切らず、切るならここ」を指示している）. */
	.pa-spot-archive__map-prefectures {
		display: flex;
		flex-wrap: wrap;
		column-gap: 12px;
		row-gap: 4px;
	}

	.pa-spot-archive__maph3 {
		position: static;
		max-width: none;
	}
}

/*
 * check-mobile-only: 意図してメディアクエリの外に置く
 *   （理由: 素で隠しておかないと、パソコン幅で移行元スマートフォン版だけの 1 文が出る）
 *
 * アニバーサリークラブ（/ac/）の 2 つ目の塊へ、移行元スマートフォン版だけにある
 * 1 文を携帯幅でだけ出す（Task #7453・ユーザー決定 D451）。
 *
 * `inc/ac-sp-text.php` が見出しの直後へ `<p class="pa-ac-sp-text">` を 1 つ足す。
 * 🚨 **素で隠す指定が要る。**すぐ上の
 * `.pa-page--ac … :is(…, .second_box, …) p` が字の大きさと行送りを配るので、
 * 足した段落はパソコン幅でもそのまま当たって出てしまう。
 *
 * 🚨 **この 2 つの規則はこの順で並べる。**素の規則を `@media` の節より後ろへ置くと、
 * 携帯幅でも素の側が後勝ちして出なくなる。
 */
.pa-page--ac .page-content__body .pa-ac-sp-text {
	display: none;
}

@media (max-width: 749px) {
	.pa-page--ac .page-content__body .pa-ac-sp-text {
		display: block;
	}
}

/*
 * アニバーサリークラブ（/ac/）の携帯幅で、来店の帯・先頭へ戻る・足元の位置を移行元にそろえる（Bug #8907）。
 *
 * 移行元スマホ版 `sp/ac/index.html` は、帯と先頭へ戻る（`include/box_support_sp.shtml`）を
 * 本文の器 `#other_contents` の**外**で読み込む。帯を持つ 4,945 ページのうち、器の外で
 * 読み込むのは 13 ページだけで、残りの 4,932 ページは器の中である（注釈を外して数えた・
 * 2026-09-30）。dev は器の中の組みを前提に作られており（上の Bug #8423 の節の表）、
 * この 1 ページだけが移行元とずれていた。
 *
 * 幅 375 の実測（2026-09-30 02:41・`pa-verify-assets/B/8907-直す前-0930/`）:
 *
 *   | 区切り | 移行元 | dev（直す前） |
 *   |---|---:|---:|
 *   | 本文の下端 → 帯の上端 | 75 | 40 |
 *   | 先頭へ戻るの下端 → 足元の中身の上端 | 30 | 80（押しボタンの下 30 ＋ 器の下 20 ＋ 足元の上 30） |
 *   | ページの高さ | 7,203 | 7,217 |
 *
 * 1. 帯の上の外余白を 75px にする。dev の 40 は、本文の最後の子の下の外余白が
 *    `#event_top` の外へ抜けて、帯の上の 15px と重なった値である（重なった外余白は
 *    大きいほうになる）。そのため 15 に 35 を足すのではなく、移行元の空き 75 を直に書く
 *    （下見 `pa-verify-assets/B/8907-下見-0930/` で、帯の上端が移行元と同じ 3,804.08 になった）
 * 2. 先頭へ戻るの押しボタンの下の外余白（Bug #8423 の 30）と、本文の器の下の内余白 20 を
 *    このページだけ 0 にする。足元の上の内余白 30 だけが残り、移行元の 30 と同じになる
 *
 * 🚨 **当て先は `.pa-page--ac` に絞る。**残りの 12 ページ（`/branch/tokyo/`・`/service/promise/`・
 * `/spot/detail/47_36.html`・HAPPY REPORT の report_01〜09）は、帯の前の空きがページごとに
 * 違う見込みなので、別の Bug で読んでから直す。器の中の 4,932 ページは Bug #8423 のままでよい.
 */
@media (max-width: 749px) {
	.pa-page--ac .page-content__body .pa-conv-band {
		margin-top: 75px;
	}

	#site-main .pa-page--ac .page_topArea > p.page_top:last-child {
		margin-bottom: 0;
	}

	#site-main .page-content:has(> .pa-page--ac) {
		padding-bottom: 0;
	}
}

/*
 * 帯と先頭へ戻るが本文の器の外にある残りのページのうち、2 つの区分を移行元にそろえる（Bug #8931）。
 *
 * 上の Bug #8907 と同じ型である。移行元スマホ版は帯と先頭へ戻るを本文の器 `#other_contents` の
 * **外**で読み込み、先頭へ戻るの下端から足元の中身までが 30 になる。dev は器の中の型
 * （Bug #8423 の節の表）で組んでいるので、そのぶん空きが多い。
 *
 * 幅 375 の実測（2026-09-30 04:59・`pa-verify-assets/B/8931-直す前-0930/`）:
 *
 *   | ページ | 移行元 | dev（直す前） | 内訳 |
 *   |---|---:|---:|---|
 *   | お約束 /service/promise/ | 30 | 60 | 押しボタンの下 30 ＋ 足元の上 30 |
 *   | HAPPY REPORT report_01〜09 | 30 | 100 | 押しボタンの下 30 ＋ `.entry-content` の下 20 ＋ `.single-content` の下 20 ＋ 足元の上 30 |
 *
 * どちらも足元の上の内余白 30 だけを残し、その手前の空きを 0 にする。
 *
 * 🚨 **絞り方（リーダーの判断・2026-09-30 05:3x・D598 ケース 1）**
 *   - お約束: 本文の `.promise_bg` で絞る。投入の材料を数えると、この類名を持つのは
 *     /service/promise/ の 1 ページだけである
 *   - HAPPY REPORT: 記事ごとの固有の id `#hrep01`〜`#hrep09` で名指しする。移行元の携帯版の記事
 *     11 ページのうち、器の外で読み込むのは report_01〜09 の 9 ページで、report_10 と
 *     report_10_191127 は器の中である（字読みで数えた）。**この区画に新しい記事は増えない前提**で、
 *     名指しの一覧を閉じる。投稿の ID ではなく本文の id で絞るのは、投入をやり直すと投稿の ID が
 *     変わりうるためである
 *
 * 🚨 **範囲の外にしたもの**（同じ Bug の読み）
 *   - デートスポット /spot/okinawa/36/: 移行元 `sp/spot/detail/` で帯を持つ 3,004 ページのうち、
 *     器の外はこの 1 ページだけ。移行元の書き間違いとみなし、今のまま（D598 ケース 2）
 *   - 支店の一覧 /branch/tokyo/: パンくずの置き場所の違いが主なので、Task #3207 で扱う.
 */
@media (max-width: 749px) {
	#site-main .page-content__body:has(.promise_bg) .page_topArea > p.page_top:last-child,
	#site-main .single-content:has(:is(#hrep01, #hrep02, #hrep03, #hrep04, #hrep05, #hrep06, #hrep07, #hrep08, #hrep09)) .page_topArea > p.page_top:last-child {
		margin-bottom: 0;
	}

	#site-main .single-content:has(:is(#hrep01, #hrep02, #hrep03, #hrep04, #hrep05, #hrep06, #hrep07, #hrep08, #hrep09)),
	#site-main .single-content:has(:is(#hrep01, #hrep02, #hrep03, #hrep04, #hrep05, #hrep06, #hrep07, #hrep08, #hrep09)) .entry-content {
		padding-bottom: 0;
	}
}


/*
 * check-mobile-only: 意図してメディアクエリの外に置く
 *   （理由: 素で隠しておかないと、パソコン幅で移行元スマートフォン版だけの見出しが出る）
 *
 * 特定商取引法に基づく表記（/policy/rule/）へ、移行元スマートフォン版だけにある
 * 文字の見出しを携帯幅でだけ出す（Task #7453・ユーザー決定 D451）。
 *
 * `inc/policy-rule-sp-heading.php` が絵の見出しの直後へ
 * `<h3 class="title serif pa-policy-rule-sp-heading">` を 1 つ足す。
 *
 * 🚨 **この 2 つの規則はこの順で並べる。**素の規則を `@media` の節より後ろへ置くと、
 * 携帯幅でも素の側が後勝ちして出なくなる。
 *
 * ## 書体が抜けていた（Bug #8397）
 *
 * ここまでは `display` の切り替えしか置いておらず、移行元スマートフォン版
 * `sp/policy/css/style.css` 13〜21 行の `h3.title`（文字の大きさ・色・下罫線・行送り・
 * 明朝体）を写していなかった。そのため見出しは「2. テーマの既定の打ち消し」
 * （71 行台の `:is(h2, h3, h4, h5, h6) { font-size: inherit; … }`）と区画の器の
 * 13px（`@media (min-width: 750px)` の節・携帯幅には効かない）をそのまま受け継ぎ、
 * 移行元 20px に対して dev 13px になっていた（実測: 幅 375・2026-09-25）。
 *
 * 詳細度は `#about`（`/policy/rule/` の区画 id）と `h3` を足して (1,3,1) にし、
 * 「2. テーマの既定の打ち消し」(1,2,1) に勝たせる。区画ごとの写し `h3.title { margin:
 * 0 0 59px }`（画像の題名用・(1,3,1)・同じ強さ）にはこの塊が後にあるので後勝ちする。
 *
 * 太さと字間も戻す。移行元は `sp/css/basic.css` の初期化で見出しを `font-weight: normal`
 * にしていて、字間の指定は無い。dev は本文の器の見出しの共通規則から太字と字間
 * 0.05em を受け継ぐので、`normal` で打ち消す（セルフレビューの指摘・2026-09-25）。
 */
.pa-page--policy .page-content__body .pa-policy-rule-sp-heading {
	display: none;
}

@media (max-width: 749px) {
	.pa-page--policy .page-content__body #about h3.pa-policy-rule-sp-heading {
		display: block;
		clear: both;
		margin: 0 0 15px;
		padding: 15px 0;
		border-bottom: 2px solid #a3762b;
		color: #a3762b;
		font-family: var(--pa-font-family-serif);
		font-size: 20px;
		font-weight: normal;
		letter-spacing: normal;
		line-height: 100%;
		text-align: left;
	}
}

/*
 * check-mobile-only: 意図してメディアクエリの外に置く
 *   （理由: 素で隠しておかないと、パソコン幅で移行元スマートフォン版だけの題名の字が出る）
 *
 * 特定商取引法に基づく表記（/policy/rule/）の携帯幅の題名を、移行元スマートフォン版と
 * そろえる（Bug #9884・事業部の指摘 W176）。幅 375 の並べは
 * `pa-verify-assets/A/9884-題名の並べ-1011/`。
 *
 * | 幅 375 | 移行元スマートフォン版 | 直す前の dev |
 * |---|---|---|
 * | 題名 | 絵 `main_ttl.gif`（白地に明朝の 1 行＋赤い短線）・上 94.8・高さ 56.4 | パソコン版の絵 `title.gif`・上 126 |
 * | 題名の下の絵 | 無い | `ttl01.gif`（パソコン版だけの絵） |
 * | 金色の見出しの寄せ | 左 | 中央（区画の `text-align: center` を継いでいた） |
 *
 * D598 のケース 1（dev の Bug。移行元に合わせる）。
 *
 * ## 題名は絵ではなく字で組む
 *
 * 全体原則（絵に焼き込まれた文言は背景を CSS か絵で描き、文言は字で置く）の型を使う。
 * 先例は 4 つある: 支店一覧の `main_ttl.gif`・用語集の `main_ttl.jpg`・お知らせの
 * `main_ttl.gif`（`inc/release-sp-title-text.php`）・お客様の声（台帳 255 行）。
 * 字の器は `inc/policy-rule-sp-heading.php` がパソコン版の絵の後ろへ足す。
 *
 * ## 値の出どころ
 *
 * 移行元スマートフォン版の絵（512 x 88）を画素で数えた。絵は区画の幅（画面の 87.5%）で
 * 描かれるので、絵の 1px は `87.5vw / 512 = 0.1709vw` である。
 *
 *     字 12 字   墨 x  26..483  y  6.. 41  字送り 38.4 → 6.5563vw
 *     赤い罫線   墨 x 236..275  y 85.. 86  #f10000
 *
 * 字の塊は絵の中心より 1.5px 左に寄るので、`left` でずらす（先例と同じく絵の作りを写す）。
 * 字の `left` と `padding-top` は、両側の画面を撮って同じ方法で墨を数え、1 巡合わせ込んだ値である
 * （第 1 巡の残差は字の塊が左 0.8px・上 0.8px。記録は `pa-verify-assets/A/9884-下見-1011/`）。
 *
 * ## 縦の位置
 *
 * 移行元は題名の箱が上 94.8、その下の金色の見出しが上 181.2 だった（幅 375）。
 * 金色の見出しまでの 30px は `div.anchor_block` の下の外余白 8%（画面の幅に対する割合）
 * なので `8vw` で書く。上は dev の区画の内余白 65px から 31.2px 引き上げる実測値である。
 *
 * 🚨 **当て先は `:has(.pa-policy-rule-sp-title)` で、字の器を持つ題名だけに絞る。**
 * 規程のほかのページの題名（同じ `h3.title`）は変わらない。パソコン幅は 1px も変わらない。
 */
.pa-page--policy .page-content__body .pa-policy-rule-sp-title {
	display: none;
}

@media (max-width: 749px) {
	.pa-page--policy .page-content__body #about h3.title:has(.pa-policy-rule-sp-title) {
		position: relative;
		width: 100%;
		height: auto;
		margin: -31.2px 0 8vw;
		aspect-ratio: 512 / 88;
	}

	.pa-page--policy .page-content__body #about h3.title:has(.pa-policy-rule-sp-title) img {
		display: none;
	}

	.pa-page--policy .page-content__body #about .pa-policy-rule-sp-title {
		display: block;
		position: absolute;
		inset: 0;
		color: #000;
		font-family: var(--pa-font-family-serif);
		font-size: 6.5563vw;
		font-weight: normal;
		font-style: normal;
		letter-spacing: normal;
		line-height: 1;
		text-align: center;
	}

	.pa-page--policy .page-content__body #about .pa-policy-rule-sp-title__text {
		display: block;
		position: relative;
		left: -0.0427vw;
		padding-top: 1.0423vw;
		white-space: nowrap;
	}

	.pa-page--policy .page-content__body #about .pa-policy-rule-sp-title__rule {
		display: block;
		position: absolute;
		top: 14.5264vw;
		left: 40.332vw;
		width: 6.8359vw;
		height: 0.3418vw;
		background-color: #f10000;
	}

	/* 移行元スマートフォン版に無い、パソコン版だけの絵 `ttl01.gif` を隠す（要素は消さない）. */
	.pa-page--policy .page-content__body #about h4.title:has(img[src*="policy/rule/ttl01.gif"]) {
		display: none;
	}
}

/*
 * `/contents/`（お見合い・結婚コラム）の本文へデータ投入が足す、移行元スマートフォン版
 * だけの「お見合い（コンタクト）」の節を、パソコン幅で隠す
 * （Task #7789・親 Feature #7454・ユーザー決定 D451）。
 *
 * 節そのものはデータ投入が本文へ入れ、`<div class="pa-contents-sp-section">` で包む
 * （Task #7788 の `content-model.yaml` の `insert_blocks`）。**足した要素は幅に関わらず
 * HTML に在る**ので、隠す指定が無いとパソコン幅にも出る。移行元のパソコン版に
 * 「お見合い（コンタクト）」の字は 1 か所も無い（#7788 が数えた）。
 *
 * 【クラス名の形】D451 の先例 2 本（すぐ上の `pa-ac-sp-text` と
 * `pa-policy-rule-sp-heading`）と同じ `pa-<区画>-sp-<要素>` にそろえた。
 * 🚨 **汎用の基底（`pa-legacy-sp-section` など）を新設しない。**既存の
 * `pa-legacy-sp-only`（38849 行）と先頭 13 文字が同じになり、grep で取り違える。
 * あちらは「同じ要素の中にパソコン版と携帯版が対で在ること」を使う条件にしており、
 * 相方の無いこの節は条件を満たさない。
 *
 * 🚨 **この 1 本だけで足りる。**先例 2 本は「素で隠して携帯幅で戻す」2 本組みだが、
 * あれはすぐ上の規則が字の大きさと行送りを配るためである。`/contents/` は事情が違う。
 * 2026-09-19 に注釈を外して数えた結果は次のとおりで、打ち消す相手が居ない。
 *
 *   `pa-page--contents` を含む規則                              → **0 件**
 *   `.page-content__body` の直下に来る要素へ `display` を当てる規則 → **0 件**
 *     （32 件ある `display` の規則はどれも `.list_box li a > span` のように
 *      特定の子孫を狙っており、包みの `<div>` には当たらない）
 *
 * 🚨 **`screen and` を付けない。**マージ前の必須チェックが落とす.
 *
 * 🚨 **訂正（Bug #8474・2026-09-25）。当たり先の印は `.pa-article--contents` である。**
 * ここは以前 `.pa-page--contents .pa-contents-sp-section` と書いていたが、**`/contents/` は
 * 投稿型 `pa_article` で、`pa-page--contents` はどこにも付かない**。`single-pa_article.php` が
 * `<article>` に付けるのは URL の先頭から作る `pa-article--contents` で、`pa-page--<区画>` を
 * 作るのは固定ページの型紙だけである（テーマを grep して 0 件）。そのため規則は 1 度も当たらず、
 * 幅 1440 でも節が出ていた（2026-09-25 21:3x の実測。節は `display: block` で、
 * 旧い当たり先に `matches` が false。控え `pa-verify-assets/B/8400-正体-0925/`）。
 * 上の「`pa-page--contents` を含む規則 0 件」の数え方も、同じ取り違えの上に立っていた.
 */
@media (min-width: 750px) {
	.pa-article--contents .pa-contents-sp-section {
		display: none;
	}
}

/**
 * AC の案内（`/ac/`）の見出し 4 つを、移行元と同じ大きさと色にする
 * （Bug #7844 パソコン幅の大きさ・Bug #7929 色と携帯幅の大きさ）。
 *
 * 【何が起きていたか】このページの見出しに当てる規則が **パソコン幅に 1 本も無く**、
 * テーマ共通の `.page-content__body h2`（39394 行の `--pa-color-heading` と
 * `--pa-article-h2-size`）がそのまま出ていた。色は両幅とも共通の規則が出ていた。
 *
 *   | 当たり先                | 移行元 PC | 移行元 SP | 直す前 1440 | 直す前 375 |
 *   |-------------------------|----------:|----------:|------------:|-----------:|
 *   | `.first_box h2`         |      20px |      18px |        28px |       22px |
 *   | `.second_box h2`        |      20px |      18px |        28px |       22px |
 *   | `.third_box h2`         |      20px |      18px |        28px |       22px |
 *   | `.ac_shop_box h2`       |      20px |      20px |        28px |  20px（済）|
 *   | `.inner h2 p`           |      20px |    20px※ |        28px |  20px（済）|
 *   | 色（4 つとも）          |  #00b8ee  |  #00b8ee  |  金 a3762b  |  金 a3762b |
 *
 *   ※ 移行元スマートフォン版は `.first_box .h2-ttl { font-size: 20px }` という別の
 *     名前で同じ 20px を配っている（`sp/ac/css/style.css` 125・130・136 行）。
 *     dev 側は `<p>` が同じ役なので、Bug #5332 の規則（38446 行）がすでに 20px を
 *     配っており、**携帯幅の `<p>` は触らない**。
 *
 * 出どころは移行元の CSS である。
 *
 *   ac/css/style.css     `.first_box h2, .second_box h2, .third_box h2 { color:#00b8ee; font-size:20px }`
 *                        `.inner h2 p { font-size:20px }`
 *                        `.ac_shop_box h2 { color:#00b8ee; font-size:20px }`
 *   sp/ac/css/style.css  `.first_box h2, .second_box h2, .third_box h2 { font-size:18px; color:#00b8ee }`
 *                        `.ac_shop_box h2 { color:#00b8ee; font-size:20px }`
 *
 * 🚨 **テーマ共通の `--pa-article-h2-size` と `--pa-color-heading` は変えない。**
 * 全ページの見出しが動く。区画の印（`.pa-page--ac`）で絞る。
 *
 * 🚨 **`.main_vidual h2` は入れない。**中身が `<img>` 1 つだけで、字の大きさも色も
 * 見た目に出ない。移行元の CSS にも `.main_vidual h2` の字の指定は無い。
 *
 * 🚨 **携帯幅の `.ac_shop_box h2` は 20px のまま。**すぐ上の Bug #6635 の規則
 * （38495 行・PR #7843 で main へ入った）が配っており、ここでは触らない。
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D413「検査を増やさない」）。
 */
@media (min-width: 750px) {

	.pa-page--ac .page-content__body :is(.first_box, .second_box, .third_box, .ac_shop_box) h2 {
		font-size: 20px;
	}

	.pa-page--ac .page-content__body :is(.first_box, .second_box, .third_box) h2 p {
		font-size: 20px;
	}
}

@media (max-width: 749px) {

	.pa-page--ac .page-content__body :is(.first_box, .second_box, .third_box) h2 {
		font-size: 18px;
	}
}

/* 色は両幅で同じ #00b8ee なので、`@media` の外に 1 本だけ置く。
   🚨 **`@media` の節より後ろに置くので、どちらの幅でも後勝ちする**（落とし穴の索引）。
   ここでは色しか当てないので、上の 2 つの節が配る字の大きさは動かない. */
.pa-page--ac .page-content__body :is(.first_box, .second_box, .third_box, .ac_shop_box) h2 {
	color: #00b8ee;
}

/* ==============================================================
 * 婚活の文例と QOM総研の携帯幅で、本文の柱を移行元と同じ画面幅の 87.5% にする（Bug #8125）
 * ==============================================================
 *
 * **移行元スマホ版の柱は画面幅の 87.5%（左右 6.25% ずつ）である。**
 * 幅 375px で 328.125px・左端 23.4375px になる。dev は共通の器の規則
 * （このファイルの 368〜375 行 `.page-content, .single-content, .archive-content, .error-404`）が
 * 幅の制限なしに `padding: 0 var(--pa-inner-gutter)`（15px）を当てるので、
 * **柱が 345px・左端 15px と 16.87px ぶん広かった**。
 *
 * | | 柱の幅 | 左端 |
 * |---|---:|---:|
 * | 移行元スマホ版 | **328.13** | 23.44 |
 * | 直す前の dev | **345** | 15 |
 *
 * 柱が広いぶん、本文のすべての行の折り返し位置が移行元と変わる。
 * 実測（2026-09-20 16:3x・幅 375px・実ブラウザ・記録 `pa-verify-assets/D3/8125-直す前-0920/`）:
 *
 * |  | 段落 | 見出し |
 * |---|---|---|
 * | 婚活の文例 `/sentence/impression/` | dev 345×228.84（左 15）／ 移行元 328.13×200（左 23.44） | dev 345×20 ／ 移行元 328.13×29 |
 * | QOM総研 `/research/report_148/` | dev 345×118.78（左 15）／ 移行元 328.13×120.81（左 23.44） | dev 345×41.81 ／ 移行元 328.13×41.81 |
 *
 * 🚨 **足すのではなく置き換える。**すでに在る 15px へ 6.25% を足すと 38.44px になり、
 * 本文が逆に狭くなる（Bug #6132 で踏んだ型）。
 *
 * 🚨 **共通のトークン `--pa-inner-gutter` は動かさない。**テーマ全体で使う値で、
 * 触ると全ページへ波及する。
 *
 * 🚨 **内余白の百分率の基準は親の内容の幅である。**ここでの親は `main#site-main` で
 * 画面いっぱい（375px）なので、6.25% は 23.4375px に解決する。**柱そのもの（345px）を
 * 基準にする位置に書くと 21.56px になって合わない**（77537 行の注釈と同じ型）。
 *
 * 🚨 **当て先は `.page-content` の直下の `article` で絞る。**婚活の文例（`single-pa_sentence.php`）も
 * QOM総研（`single-pa_research.php`・`archive-pa_research.php`）も、器は修飾クラスの無い
 * 素の `<div class="page-content">` である。区別が付くのは `article` に付く
 * `pa-page--<URL の先頭階層>`（`template-parts/content-page.php` が付ける）だけである。
 *
 * 当て先の数（2026-09-20 に数えた）: 婚活の文例 **88 ページ**・QOM総研 **159 ページ**（トップ 1 ＋ 詳細 158）。
 *
 * 陰性対照（この規則が当たらないこと・実測で確かめる）:
 *
 * | ページ | 器 | 当たらない理由 |
 * |---|---|---|
 * | 成婚ストーリー詳細 | `.single-content--story` | `.page-content` でない。**すでに 328.13 で移行元と一致**（Bug #6204 の直し） |
 * | 会員データ `/introduce/data/` | `.page-content` ＋ `article.pa-page--introduce` | `article` の修飾クラスが違う。**この器は左右の内余白が既に 0** |
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 * ============================================================== */
@media (max-width: 749px) {

	.page-content:has(> article:is(.pa-page--sentence, .pa-page--research)) {
		padding-right: 6.25%;
		padding-left: 6.25%;
	}

	/*
	 * QOM総研の区画の上の内余白（Bug #8268）。
	 *
	 * 写し元は移行元スマートフォン版の `sp/research/css/style.css` の
	 * `#research { padding: 25px 6.25% 30px }` である。**左右の 6.25% はすぐ上の規則が、
	 * 下の 30px は `assets/research/css/section.css` の `padding: 0 0 30px` が
	 * すでに受けている。残っていたのは上の 25px だけ**なので、1 宣言だけ足す。
	 *
	 * 🚨 **ここに書くのは、QOM総研のスマートフォン版の写しが無いためである。**
	 * `assets/research/css/` の 2 本は `(min-width: 750px)` のときだけ配られる
	 * （`inc/research-page-css.php`）。同じ形の婚活川柳は
	 * `assets/senryu/css/sp.css` 361 行が `padding-top: 25px` を持っており、
	 * **あちらは合っていて QOM総研だけ 25px 上にあった**（実測 2026-09-20 21:27）。
	 *
	 * 当て先を `#research` にするのは婚活川柳（`#senryu`）と同じ形にそろえるためである。
	 * 器の入れ子は両区画で同じ（`div.page-content > article > div.page-content__body >
	 * section#<区画>`）で、違うのはこの内余白が当たっているかどうかだけだった。
	 *
	 * 🚨 **パソコン幅は触らない。**幅 1440 の題名の絵の上端は dev も移行元も 192 で
	 * 一致している。だからこの節（`@media (max-width: 749px)`）の中だけに置く.
	 */
	body .pa-page--research .page-content__body #research {
		padding-top: 25px;
	}

	/*
	 * 提携プログラムの LP（`/tie-up/`）だけは**左右を 0 にする**（Bug #8152）。
	 *
	 * すぐ上の 2 区画は移行元が画面幅の 6.25% を空けるが、**`/tie-up/` の移行元は
	 * 空けない**。題の絵も本文の絵も画面の端まで広がる。実測（2026-09-20 16:50・
	 * 幅 375・`pa-verify-assets/D6/tie-up-携帯幅の器-0920a.mjs` sha256 先頭
	 * `f84d8d20168bb4a5`）:
	 *
	 * | 入れ子 | 移行元のスマートフォン版 | 直す前の dev |
	 * |---|---|---|
	 * | 本文の器 | `#contents` w 375・内余白 0 | `#site-main` w 375・内余白 0 |
	 * | その下 | `#other_contents` w 375・内余白 `0 0 20px` | `.page-content` w 375・内余白 `0 15px 20px` |
	 * | さらに下 | `#tie-up.contents` w **375** | `.page-content__body` w **345** → `#tie-up` w **345** |
	 *
	 * 絵は素の寸法が移行元と一致しているのに、箱だけが 345 に縮んでいた
	 * （`sp_main_ttl01.png` 375 × 145.50 → 345 × 133.86 など 17 種すべて）。
	 *
	 * 🚨 **足すのではなく置き換える**（`padding-inline: 0` で 15px を打ち消す）。
	 * 🚨 **共通のトークン `--pa-inner-gutter`（15px）は動かさない。**
	 * 🚨 **パソコン幅は触らない。**幅 1440 の `/tie-up/` は移行元と同じ組みで、
	 * ページの高さ 5077 が [Bug #8048](https://github.com/mationinc/wp-platform/issues/8048)
	 * の受入で確かめてある。だからこの節（`@media (max-width: 749px)`）の中だけに置く。
	 *
	 * 当て先は `article.pa-page--tie-up`（配信中の dev の HTML で確かめた。
	 * `<article class="pa-page--tie-up pa-page--tie-up-top post-121670 …">`）。
	 * **対象は `/tie-up/` の 1 ページだけ**である。
	 *
	 * 陰性対照（この規則が当たらないこと・実測で確かめる）:
	 *
	 * | ページ | 当たらない理由 |
	 * |---|---|
	 * | 婚活の文例・QOM総研 | `article` の修飾クラスが違う（すぐ上の規則が 6.25% を当てる） |
	 * | 広告 LP `/ad/…` | `article` の修飾クラスが `pa-page--ad` |
	 *
	 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413。すぐ上の
	 * [PR #8150](https://github.com/mationinc/wp-platform/pull/8150) と同じ扱い）。
	 */
	.page-content:has(> article.pa-page--tie-up) {
		padding-inline: 0;
	}
}

/* ==============================================================
 * 会員の分類の札の地模様（素の `.type--*`）を、移行元と同じ絵で出す（Bug #8155）
 * ==============================================================
 *
 * **移行元は分類ごとに違う絵を札の下へ敷く。**当たり先は 3 本の CSS で同じ形である。
 *
 * | 移行元の CSS | 当たり先 |
 * |---|---|
 * | `branch/assets/css/style.css`（2310 行付近） | `.page-branch .experience .profile-info .txt-area .type--<種類>::before` |
 * | `introduce/css/style_introduce_experience.css`（866〜877 行） | `.profile-info .txt-area .type--<種類>::before` |
 * | `introduce/happyreport/assets/css/happyreport.css`（1700 行付近） | `.experience .profile-info .txt-area .type--<種類>::before` |
 *
 * 絵は 6 種類（`type_<種類>_bg01.png` 134 × 50px）で、[PR #2907](https://github.com/mationinc/wp-platform/pull/2907) が
 * テーマへ取り込み済みである（`assets/introduce/images/experience/`）。**足りないのは素の
 * `.type--*` に当たる指定だけだった。**
 *
 * ## 🚨 直っていない区画と、直っている区画
 *
 * 実測（2026-09-20 17:2x・幅 375 と 1440・実ブラウザ）。
 *
 * | ページ | 札の数 | 地模様が出ている札 |
 * |---|---:|---:|
 * | HAPPY REPORT の一覧 `/introduce/happyreport/` | 171 | **171**（出ている） |
 * | 銀座店 `/branch/tokyo/tokyo/ginza/` | 9 | **0**（出ていない） |
 *
 * HAPPY REPORT の一覧は区画別 CSS（`assets/introduce-happyreport-list/css/style.css` の
 * 956〜1003 行）が同じ規則を持つので出ている。**その CSS は一覧のページにしか配られない**
 * （`functions.php` 1104 行）。店舗のページが読むのは `style.css` ・ `main.css` ・
 * `support-band.css` の 3 本だけなので（実測）、**ここへ書く**。
 *
 * ## 当たり先を絞らない理由
 *
 * 移行元の `introduce/css/style_introduce_experience.css` も `.profile-info .txt-area .type`
 * という同じ広さで書いている。**dev でこの形の markup を出すのは、投入した店舗の本文と
 * HAPPY REPORT の札の型紙（`template-parts/introduce/happyreport-card.php` 105〜113 行）だけ**である。
 *
 * 🚨 **HAPPY REPORT の一覧は 1 画素も動かない。**区画別 CSS が後から配られて同じ値を上書きするため。
 * 実測でも、この規則を流し込む前と後で 171 枚すべて同じ値だった（外形・`top`・`left`・絵の名）。
 *
 * 🚨 **`pa-` を前に付けた 3 系統（`.pa-archive-card__type--*` ・ `.pa-experience__type--*` ・
 * `.pa-experience-qa-question__type--*`）は別の類名なので当たらない。**
 *
 * ## 値の出どころ
 *
 * 移行元の 3 本とも同じ値である（`content: ""` ・ `position: absolute` ・ `z-index: -1` ・
 * `width: 134px` ・ `height: 50px` ・ `top: -15px` ・ `left: -20px` ・ `background-size: 134px 50px` ・
 * `no-repeat`）。**札の側の `position: relative` と `z-index: 1` も移行元と同じ**で、
 * これが無いと絵が札の後ろへ回らない。
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 * ============================================================== */
.profile-info .txt-area .type {
	position: relative;
	z-index: 1;
}

.profile-info .txt-area .type::before {
	position: absolute;
	z-index: -1;
	top: -15px;
	left: -20px;
	width: 134px;
	height: 50px;
	background-repeat: no-repeat;
	background-size: 134px 50px;
	content: "";
}

.profile-info .txt-area .type--tanki::before {
	background-image: url("../introduce/images/experience/type_tanki_bg01.png?ver=a31a9529d5a5");
}

.profile-info .txt-area .type--app::before {
	background-image: url("../introduce/images/experience/type_app_bg01.png?ver=6d881b52e830");
}

.profile-info .txt-area .type--inexperienced::before {
	background-image: url("../introduce/images/experience/type_inexperienced_bg01.png?ver=2ff4e058c907");
}

.profile-info .txt-area .type--oyakoko::before {
	background-image: url("../introduce/images/experience/type_oyakoko_bg01.png?ver=b679f1e2c87b");
}

.profile-info .txt-area .type--honki::before {
	background-image: url("../introduce/images/experience/type_honki_bg01.png?ver=6d22fa90d8fa");
}

.profile-info .txt-area .type--koso::before {
	background-image: url("../introduce/images/experience/type_koso_bg01.png?ver=6365e0364646");
}

/* ==============================================================
 * 婚活の文例の携帯幅で、段落の下の余白を移行元と同じ形へ置き換える（Bug #8151）
 * ==============================================================
 *
 * **柱の幅をそろえた後（Bug #8125）も、段落の高さが移行元と合っていなかった。**
 * 実測で分けると、**字の組み（行送り・字送り）はすでにほぼ一致していて、差は余白だった。**
 *
 * | | dev（直す前） | 移行元スマートフォン版 |
 * |---|---|---|
 * | 類名 | `p.margint30.paddingb30.txt` | `p.main_read` |
 * | `padding-bottom` | **30px** | 0px |
 * | `margin-bottom` | 0px | **13px**（ブラウザ既定の `1em`・`font-size` が 13px） |
 * | `line-height` | 22.1px | normal（実測で約 21.8px） |
 *
 * 移行元は同じ部品にパソコン版とスマートフォン版で別の markup を使う。dev の本文は
 * パソコン版から投入したので `paddingb30` を持つ。**本文は触らない**（ユーザー決定 D499）。
 * **携帯幅だけ、余白の形を移行元スマートフォン版にそろえる。**
 *
 * ## 🚨 `!important` と `#seo` が要る理由
 *
 * 打ち消す相手は、同じファイルの
 * `:is(.pa-page--sentence, .pa-page--column) #seo .paddingb30 { padding-bottom: 30px !important; }`
 * である。**`!important` 同士は詳細度で決まる。**あちらは `#seo` の ID を含むので (1,2,0) で、
 * ID を持たない当たり先（(0,3,0)）では勝てない。**1 回目の下見がこれで 1 つも当たらなかった。**
 * そこで `#seo` を含めて (1,2,0) にそろえ、**`@media` の節をあちらより後ろに置いて後勝ちさせる。**
 *
 * 🚨 **当たり先を `.pa-page--sentence` だけに絞る。**打ち消す相手は婚活のコラム
 * （`.pa-page--column`）も含むが、**コラムは測っていない**ので動かさない。
 *
 * ## 実測（幅 375・実ブラウザ・2026-09-20 18:0x）
 *
 * | ページ | 直す前 | 直した後 | 移行元 | 後の差 |
 * |---|---:|---:|---:|---:|
 * | `/sentence/impression/` | 228.84 | **198.84** | 200 | **−1.16** |
 * | `/sentence/troubles-mind/` | 273.03 | **243.03** | 240 | **+3.03** |
 *
 * `troubles-mind` の +3.03 は**行送りの微差が行数ぶん積んだもの**である（1 行あたり約 0.3px × 11 行）。
 * 🚨 **`line-height` は動かさない。**動かすと 9 行の `impression` が外れる見込みで、
 * QOM総研では「移行元と同じ値にそろえたら差が 15 倍になった」ことを実測している（統括の判断 18:08）。
 *
 * 当て先の数: 婚活の文例 **88 ページ**。
 *
 * 陰性対照（実測で動かないことを確かめた）: 成婚ストーリー詳細・会員データ・**幅 1440 の同じ 3 ページ**。
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 * ============================================================== */
@media (max-width: 749px) {

	.pa-page--sentence #seo .paddingb30 {
		padding-bottom: 0 !important;
		margin-bottom: 1em;
	}
	/* 🚨 **題と副題は、移行元スマホ版の字にそろえる。**写し元は移行元リポジトリ
	   www.p-a.jp（`main`・固定コミット 1fbfa9dda）の
	   `public/sp/sentence/css/style.css`:

	       #sentence .category_ttl { font-size: 150%; text-align: center }
	       .main_copy              { text-align: center }          （字の指定なし）
	       #sentence p             { margin: 0 0 1em }

	   dev は両幅とも移行元**パソコン版**の組み（題 24px・副題 16px / 行送り 160% /
	   字間 0.1em）で出しており、携帯幅では字が器に収まらず折り返していた。

	   実測（幅 375px・2026-09-20 19:27）: 題は文言が同じ 14 字なのに dev 81.59 で
	   **2 行**（移行元スマホ版は 29 で 1 行）。婚活の文例 2 の題（13 字）は 40.8 で
	   1 行なので、**81.59 はちょうど 2 行ぶん**である。直したあとは両ページとも 29 で
	   移行元と一致した。副題も 51.19 → 20（移行元 20）になった。

	   🚨 **パソコン幅は塊まで完全に一致しているので触らない**（幅 1440px の実測で
	   婚活の文例 8 塊・婚活の文例 2 12 塊がすべて差 0）。この節は携帯幅だけである. */
	.pa-page--sentence #seo .copy {
		margin-bottom: 1em;
		font-size: 150%;
		line-height: normal;
		letter-spacing: normal;
	}
	.pa-page--sentence #seo .read {
		margin-bottom: 1em;
		font-size: inherit;
		line-height: normal;
		letter-spacing: normal;
	}

	/* 🚨 **節の見出しは移行元スマホ版の `.event_copy` にそろえる。**写し元は同じファイル:

	       .event_copy { background-image: url(/sp/images/icon01.gif); …
	                     margin-bottom: 12px; padding: 0 0 0 10px;
	                     font-size: 17px; line-height: 125%; margin-top: 30px }

	   背景の絵と左の内余白は素の規則（`… #seo .title_style05`）が既に持っているので、
	   **寸法だけを写す**（絵の道すじは触らない）。

	   実測（幅 375px）: dev は字 20px・行送り 100% で、1 個目の見出し（16 字）が 40 と
	   **2 行**になっていた（移行元は 21.25 で 1 行）。直したあとは両ページの見出しが
	   すべて 21.25 で移行元と一致した. */
	.pa-page--sentence #seo .title_style05 {
		margin-top: 30px;
		margin-bottom: 12px;
		padding-left: 10px;
		font-size: 17px;
		line-height: 125%;
		letter-spacing: normal;
	}

	/* 🚨 **本文の行送りは移行元スマホ版と同じ既定へ戻す。**移行元スマホ版は `body` にも
	   `p` にも `line-height` を書いていない（`sp/css/basic.css` と `sp/css/common.css`
	   の両方に指定なし＝閲覧環境の既定）。dev は親から継いだ 1.7 で 22.1px だった。

	   実測（幅 375px）: 本文の段落が dev 110.47 / 移行元 100（同じ 121 字）、
	   「〜はこちら」の行が dev 22.09 / 移行元 20（同じ 22 字）。**どの段落も 1 行あたり
	   約 2px ぶん高い**ので、行数の多い本文ほど差が積み上がっていた。

	   関連記事の中（`.hearts dd` と `.hearts li`）も同じ理由で入れる。移行元の
	   `.hearts dd, .hearts li { padding: 10px 0 }` に行送りの指定は無い. */
	.pa-page--sentence #seo p,
	.pa-page--sentence #seo .hearts dd,
	.pa-page--sentence #seo .hearts li,
	.pa-page--sentence .hearts dd,
	.pa-page--sentence .hearts li {
		line-height: normal;
	}

	/* 🚨 **導入の段落の中の画像は移行元スマホ版と同じ 160px にする。**写し元は同じ
	   ファイルの `.main_read img { max-width: 160px }` である。

	   実測（幅 375px）: dev の画像が 147.66 × 110.73・移行元が 160 × 120。画像は
	   右へ回り込むので、**小さいほど本文の回り込みが浅くなり段落が低くなる**。
	   直したあと導入の段落は 220 → **240** で移行元（240）と一致した。

	   🚨 **ページ全体はこの手当てで 20px 高くなる。**それでよい。直す前の
	   「ページ全体の差 −1」は、関連記事の +28.3 とこの −20 が相殺した偶然の一致で、
	   **塊ごとに合わせるのが正しい**（19:31 の実測で確かめた）。

	   🚨 **`width` は書かない。**移行元も `max-width` だけである。`width` を足すと
	   160px より小さい絵を拡大してしまう。**`max-width` だけで足りることを実測した**
	   （19:46 の走行。`max-width` だけの形と `width` を足した形で、導入の段落も
	   ページ全体も 1px も違わなかった: 婚活の文例 200 / 4,313・婚活の文例 2 240 / 5,417）. */
	.pa-page--sentence #seo .txt img,
	.pa-page--sentence #seo .main_read img {
		max-width: 160px;
	}

	/* 🚨 **関連記事の中の外余白は移行元スマホ版と同じ 0 にする。**移行元は
	   `dl.heartsMain` に外余白を持たない（`dl.nearbranchsMain, dl.stationsMain,
	   dl.heartsMain, dl.heartsSub { border-top: none }` だけ）。dev は上下 13px を
	   持っていた（テーマの `dl` の既定）。

	   実測（幅 375px）: 関連記事の囲みが dev 329.3 / 移行元 301 で、直したあと
	   **303.3**（残る差 +2.3）になった. */
	.pa-page--sentence .hearts .heartsMain,
	.pa-page--sentence #seo .hearts .heartsMain {
		margin-top: 0;
		margin-bottom: 0;
	}

}

/* ==============================================================
 * QOM総研の題名の絵を、携帯幅で移行元と同じ大きさにする（Bug #8160）
 * ==============================================================
 *
 * 移行元のスマートフォン版は `sp/research/css/style.css` で
 *
 *   #research .category_ttl { margin: 0 auto 20px; width: 62.5% }
 *
 * を当てており、絵は柱の 62.5% に収まる（幅 375 の柱 328.13 × 0.625 = **205.08**）。
 * dev は幅の指定を持たず、絵が柱いっぱい（**328.13**）まで広がっていた。
 *
 * ## 実測（配信中の dev・幅 375・2026-09-20）
 *
 * | | dev | 移行元 |
 * |---|---|---|
 * | 題名の絵 | `main_ttl.jpg` **328.13 × 78.75**・左 23.44 | `main_ttl.jpg` **205.08 × 49.22**・左 84.95 |
 *
 * 絵そのものは 350 × 84 で同じなので、**器の幅を 62.5% にすれば比のまま縮む**。
 *
 * ## 🚨 幅 1440 は直さない（差が無い）
 *
 * パソコン幅では両側とも `title.gif` が **269 × 75・左 585.5** で、**寸法も位置も
 * 1 画素も違わない**。Bug #8160 の本文が挙げた「dev 1100×84 対 移行元 1440×81」は
 * `h3` の箱の幅で、見える絵は動いていない。だからこの規則は携帯幅にだけ当てる。
 *
 * ## 🚨 なぜ区画別 CSS ではなく `main.css` に書くのか
 *
 * QOM総研の区画別 CSS（`assets/research/css/section.css` と `theme-bridge.css`）は
 * `PA_RESEARCH_PAGE_CSS_MEDIA = '(min-width: 750px)'` で配られる。**携帯幅では
 * 1 行も効かない。**携帯幅の手当ては `main.css` の `@media (max-width: 749px)` へ書く。
 *
 * 当たり先は `#research .title`。トップ（`archive-pa_research.php`）も詳細 158 ページ
 * （本文）も、題名の絵を `section#research` の中の `h3.title` で出す。
 *
 * 【検査】足さない（2026-09-18 のユーザー決定 D411 / D413）。
 * ============================================================== */
@media (max-width: 749px) {
	#research .title {
		margin: 0 auto 20px;
		width: 62.5%;
	}

	/* 題名の絵をブロックとして置く（Bug #8332）。移行元スマホ版はサイト共通の
	   `sp/css/common.css` の `img { width: 100%; height: auto; display: block }` で絵を置き、
	   見出しの高さは絵の高さ（49.22px）と同じになる。dev は絵が行の中に置かれ、行の字の下の
	   隙間のぶん見出しが高かった（56.72px。字を 13px・行送り `normal` にしても 55.22px で
	   6px 残ることを 2026-09-25 の下見で確かめた。`pa-verify-assets/B/8332-下見-0925/`）.

	   幅 1440 は移行元も絵を行の中に置く（見出しは 81px で、絵 75px より高い）ので、
	   `theme-bridge.css` の側で行の字と行送りだけを戻している. */
	#research .title img {
		display: block;
		width: 100%;
		height: auto;
	}

	/* 説明の段落の下の外余白（Bug #8332）。移行元は `sp/research/css/style.css` の
	   `#research .main_read { margin-bottom: 28px }`。dev は本文の段落の既定の 18px だった.

	   🚨 **段落の字の大きさと行送りは直さない。**移行元スマホ版は 10px・行送り 140% だが、
	   dev の本文は移行元パソコン版から来ている（D499）。段落の高さの差（dev 80 対 移行元 56）は
	   その範囲として残す. */
	#research .main_read {
		margin-bottom: 28px;
	}

	/* 前後の矢印の上端を、移行元と同じく横送りの器の高さの 15% にする（Bug #8332）。
	   移行元は `sp/js/bxslider/jquery.bxslider.css` の `.bx-wrapper .bx-controls-direction a
	   { top: 15% }`。dev は上の `@container` の規則で「写真の高さの半分」
	   （`14.0909091cqw`）に置いており、器の中で 17.9px 上に出ていた。15% でも矢印
	   （20 × 20・上の外余白 −16px）は写真の範囲に収まり、帯の説明文には重ならない.

	   🚨 **この規則は携帯幅だけに置く。**750〜1099px の幅は移行元に対応する姿が無い
	   （意図的変更の台帳 92 行の ②）ので、`@container` の規則をそのまま残す.
	   同じ選択子を後ろに書いて勝たせる（詳細度は同じ）. */
	:is(.entry-content, .page-content__body) #research #slider .bx-controls-direction .bx-prev,
	:is(.entry-content, .page-content__body) #research #slider .bx-controls-direction .bx-next {
		inset-block-start: 15%;
	}
}

/* report_77 の 2 つ目の調査背景の囲みの直前の段落の下の外余白（Bug #8440）。

   🚨 **Bug #5145 の規則（このファイルの「素の字を包んだ段落の下余白を外す」の節）の前提が、
   この 1 か所だけ外れている。**あの規則は、設問の塊（`.txtDivTbl`）の中のクラス無しの `div` の
   最後の段落を、移行元の素の字を `wpautop()` が包んだものとみなして下の外余白を 0 にする。
   report_77 の移行元は、そこに**本物の `<p>`** を置いている（パソコン版もスマホ版も）。
   そのため囲みの上の見える空きが、dev だけ 0 になっていた。

     移行元パソコン版  `.grid_box .detail_inner p` の 25px … 空き 25（幅 1440）
     移行元スマホ版    `#research .article_box p` の 20px … 空き 20（幅 375）
     dev               Bug #5145 の規則で 0px          … 空き 0（両方の幅）
     （2026-09-25・`pa-verify-assets/B/8417-下見-0925d/`）

   移行元パソコン版の調査レポート 159 本を構文木で数えると（注釈を除いた）、「設問の塊 >
   クラス無しの `div`（最後の子が本物の `p`）＋ 調査背景の囲み」の形は report_77 の 1 か所だけ
   だった。だから共通の規則は変えず、このページだけ戻す。

   値は本文の段落と同じトークンにする（幅 750px 以上で 25px）。携帯幅の 20px は下の節の ⑧ で
   当てる。🚨 **`#research` を入れて強さで勝つ。**入れないと Bug #5145 の規則と強さが同じになり、
   ファイルの順番だけで勝ち負けが決まる. */
.pa-page-uri--research-report_77 .page-content__body #research div.txtDivTbl:nth-child(4) > div:nth-child(1) > p:last-child {
	margin-bottom: var(--pa-article-paragraph-gap);
}

/* ==============================================================
 * QOM総研の記事の詳細の携帯幅を、移行元スマホ版にそろえる（Bug #8362・D564・D568）
 * ==============================================================
 *
 * dev の本文は移行元のパソコン版の markup から来る（D499）。そのため携帯幅でも、題名は
 * `p.grid_ttl`・下の SNS は `ul.menu_sns02`・ページ送りは `ul.pager_menu` の組みで出て、
 * 区画を問わない共通の規則（`:is(.entry-content, .page-content__body) …`）が当たっていた。
 * 移行元スマホ版の値は `sp/research/css/style.css` から写す（成婚ストーリーの詳細の
 * `.single-content--story .entry-content:has(.storyTxt01) …` と同じ手の当て方）。
 *
 * 当て先は QOM総研の詳細だけに絞る（`body.single-pa_research` と `#research`）。一覧のトップ
 * （`/research/`）はこの部品を持たない。
 *
 * ## 🚨 直さないもの
 *
 * - 「一覧ページにもどる」の置き場所は CSS では動かせない（帯と関連記事は別の親の中に在る）。
 *   ユーザー決定 D570 でテンプレートから動かした（Bug #8380・下の ⑤）
 * - 調査背景の囲みの高さ。字の折り返しの差は D499 に由来し、台帳に載せて維持する（D568）
 * - 題名の行送り・字送り・副題の大きさ（台帳で維持。① の注釈）
 *
 * 実測: 2026-09-25 の `pa-verify-assets/B/点検表7行-0925c/serial-02-375.json`（標本 5 本）.
 * 【検査】足さない（D411 / D413）.
 * ============================================================== */
@media (max-width: 749px) {
	/* ① 題名の太さと寄せ。移行元は `#research .article_ttl { text-align: center }` と
	   行内の `style="font-weight:bold;"`。

	   🚨 **行送り・字送り・副題の大きさは変えない。**意図的変更の台帳（「QOM総研の記事
	   159 ページで、携帯幅の題（`#research .grid_ttl`）の高さが移行元のスマートフォン版と
	   −14.27〜+25.33px 違うこと」）が維持と決めている。dev の題はパソコン版の markup で、
	   折り返しの行の数と強制改行の数が移行元スマホ版と違う（標本 5 本で差の向きが変わる）。
	   行送りを移行元スマホ版にそろえると、report_02 の差が −2.03px から +30.32px へ
	   広がる（2026-09-20 の実測）. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research .grid_ttl {
		font-weight: bold;
		text-align: center;
	}

	/* ② SNS の並び（題名の下と本文の下の 2 つ）。移行元は `#research .menu_sns
	   { margin: 0 auto 25px; text-align: right }` で、ボタンを右へ寄せる。dev は共通の規則で
	   左寄せ（上）・中央寄せ（下）で、下の並びだけ上の内余白 35px を持っていた.

	   🚨 **`li` の行送りは 0 にしない。**移行元も `li { line-height: 0 }` を持つが、ボタンの
	   読み込みを止めた測定では中身が字だけになり、行送り 0 で並びの高さが 0 に潰れた
	   （2026-09-25 の下見）。直す前の上の並びは高さ 20px で移行元と同じだった. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research :is(.menu_sns, .menu_sns02) {
		justify-content: flex-end;
		margin: 0 auto 25px;
		padding: 0;
	}

	/* ③ 前後の記事へのページ送りの帯。移行元は `#research .pager_menu { margin: 0 auto;
	   padding: 30px 0; border-top: 1px solid #CCCCCC }` と `li { font-size: 16px }`. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research .pager_menu {
		margin: 0 auto;
		padding: 30px 0;
		border-top: 1px solid #ccc;
	}

	body.single-pa_research :is(.entry-content, .page-content__body) #research .pager_menu > li {
		font-size: 16px;
	}

	/* ⑩ 本文の行送り（Bug #9165）。移行元スマホ版は `sp/research/css/style.css` の 148〜151 行
	   `#research .article_box { font-size: 12px; line-height: 140% }`。140% は `.article_box` の上で
	   **16.8px（12 × 1.4）に計算され、その px の値が子へ受け継がれる。**字は 12px にならない。
	   初期化の `sp/css/basic.css` が `p` や `div` に直に 13px を当てるので、子は 13px のままである
	   （dev の基準の 13px・D42 と同じ）。dev の行送りは基準の `normal` のままだった
	   （2026-10-01・幅 375・report_01・77・120 の段落と囲みの中の字で dev 13px/normal・
	   移行元 13px/16.8px・`pa-verify-assets/B/research字-1001/走行1/`）.

	   🚨 **字の大きさは触らない。**移行元の 12px をそのまま写すと、段落の字が 13px → 12px に縮む
	   （同じ記録の差し込み A・B は、この読み違いのまま測った値で、直しの候補ではない）.

	   **行送りのトークンを器の中で 16.8px に置き換える。**本文の段落の共通の規則は
	   `line-height: var(--pa-line-height-text)` なので、トークンを替えれば段落にも届く。器そのものの
	   `line-height` は、`p` で包まれていない字（囲みの中の素の字）のために当てる。移行元も
	   `.article_box` に当てて子へ受け継がせているので、同じ形である.

	   🚨 **当たり先は `#research .detail_inner` の中だけにする**（⑨ と同じ理由。古い形の 51 本は
	   両側とも当たらない）.

	   🚨 **調査背景の囲みの高さは記録だけにする。**この直しで、D568 が「維持」とした高さの差は
	   ±19px 前後へ縮む（同じ記録の `B/research行送り-1001/走行1/`）。D568 の見直しは統括が
	   ユーザーへ出す。ここでは決めない. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research .detail_inner {
		--pa-line-height-text: 16.8px;
		line-height: 16.8px;
	}

	/* ④ 調査背景の囲みの上下の内余白（D568）。移行元は `#research .article_box .box_conduct
	   { padding: 15px 6.25% }`。左右の余白は変えない（D568 の範囲は内余白の上下だけ）。下の外余白は下の ⑥（Bug #8412）で移行元スマホ版の 40px にする.

	   🚨 **report_155〜158 のページ別の `padding-bottom: 35px` も携帯幅では 15px にする。**
	   その規則（このファイルの `.pa-page-uri--research-report_155 … div.box_conduct` ほか）は
	   移行元パソコン版の行内の `style="margin-top:50px; padding-bottom:35px;"` の写しで、
	   移行元スマホ版の同じ囲みは `style="margin-top: 20px;"` だけを持つ（下の内余白は 15px）。
	   この規則は `#research` を含むので詳細度で勝ち、携帯幅だけ移行元スマホ版の値になる.
	   上の外余白（パソコン版 50px・スマホ版 20px）は D568 の範囲の外なので、下の ⑦ で扱う. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research .box_conduct {
		padding-block: 15px;
	}

	/* ⑦ report_155〜158 のうち 3 本の、2 つ目の調査背景の囲みの上の外余白（Bug #8417）。ページ別の規則
	   （このファイルの `.pa-page-uri--research-report_155 … div.box_conduct` ほか 3 本）は
	   移行元パソコン版の行内の `margin-top:50px` の写しで、幅で分けていない。移行元スマホ版の
	   同じ囲みは行内の `style="margin-top: 20px;"`（`sp/research/report_155〜158.html`）なので、
	   携帯幅だけ 20px にする。直す前は、囲みの直前の中身の下端から囲みまでの見える空きが
	   dev 54px・移行元 22.8px だった（2026-09-25・幅 375・`pa-verify-assets/B/8417-下見-0925c/`）.

	   🚨 **report_157 は直さない。**囲みの直前の要素の下の外余白と相殺するため、見える空きは
	   外余白の値でなく大きい方で決まる。移行元スマホ版は直前の `div.tacImg` が 50px を持ち、
	   dev は 50px の上の外余白が効いて、どちらも 50px で既に同じである。20px にすると dev だけ
	   20px に縮む（同じ走行で実測）.

	   🚨 **セレクタはページ別の規則と同じ綴りにする。**強さ（0,4,1）が同じで、この節の方が
	   ファイルの後ろに在るので勝つ。幅 750px 以上の 50px は触らない. */
	.pa-page-uri--research-report_155 .page-content__body div.box_conduct:nth-child(62),
	.pa-page-uri--research-report_156 .page-content__body div.box_conduct:nth-child(55),
	.pa-page-uri--research-report_158 .page-content__body div.box_conduct:nth-child(12) {
		margin-top: 20px;
	}

	/* ⑧ 調査背景の囲みの直前の段落の下の外余白（Bug #8440）。移行元スマホ版は
	   `sp/research/css/style.css` の 152〜154 行 `#research .article_box p { margin-bottom: 20px }`。
	   dev は本文の段落のトークン（携帯幅で 18px）のままで、囲みの上の見える空きが 2px 狭かった
	   （2026-09-25・幅 375・report_155・156・157・158・77・99 の 1 つ目の囲み 6 本すべてで
	   移行元 20 / dev 18・`pa-verify-assets/B/8417-下見-0925d/`）.

	   🚨 **囲みの直前の段落だけにする（統括の判断・2026-10-01）。**移行元の 20px は QOM総研の
	   スマホ版の段落の全部に当たるが、全部を動かすのはこの Bug の範囲の外である。
	   囲みが上の外余白を持つページ（上の ⑦ の 3 本は 20px・report_157 は直前の `div` が 50px）は、
	   外余白が相殺するので見える空きは変わらない.

	   2 本目は report_77 の 2 つ目の囲みで、この節の前の「report_77 の 2 つ目の調査背景の囲みの
	   直前の段落」の規則の携帯幅の値である（直前の要素が段落でなく `div` なので、1 本目に当たらない）. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research p:has(+ .box_conduct),
	.pa-page-uri--research-report_77 .page-content__body #research div.txtDivTbl:nth-child(4) > div:nth-child(1) > p:last-child {
		margin-bottom: 20px;
	}

	/* ⑨ 本文の段落の下の外余白（Bug #9164）。移行元スマホ版は `sp/research/css/style.css` の
	   152〜154 行 `#research .article_box p { margin-bottom: 20px }`。dev は本文の段落のトークン
	   （携帯幅で 18px）のままだった（2026-10-01・幅 375・report_01・77・120 の 3 本で dev 18 / 移行元 20・
	   `pa-verify-assets/B/8440-下見-1001/走行1/` の記録だけの欄）.

	   🚨 **当たり先は `#research .detail_inner` の中だけにする。**移行元の `.article_box` に
	   当たるのは dev の `.detail_inner` である。投入した QOM総研の記事 209 本のうち `.detail_inner` を
	   持つのは 158 本で、古い形の 51 本（`report02.html` ほか）は持たない。移行元スマホ版の古い形も
	   `#research .article_box` を持たない（36 本で 0 本）ので、両側とも当たらない.

	   🚨 **強さは `:where()` で下げる（0,1,2）。**本文の段落の共通の規則（`.entry-content p`・0,1,1）
	   にだけ勝てばよい。Bug #5145 の「素の字を包んだ段落の下余白を外す」規則（0,6,3）や、
	   段落ごとの規則（「一覧ページにもどる」の段落など）には負けて、それぞれの値を保つ.
	   囲みの直前の段落の ⑧ も同じ 20px なので、重なっても値は変わらない. */
	body.single-pa_research :where(.entry-content, .page-content__body) :where(#research .detail_inner) p {
		margin-bottom: 20px;
	}

	/* ⑥ 調査背景の囲みの下の外余白（Bug #8412）。移行元スマホ版は
	   `sp/research/css/style.css` の 155〜159 行 `#research .article_box .box_conduct
	   { margin-bottom: 40px }`。dev は共通の規則（このファイルの「調査の背景を載せる囲み」の節）の
	   余白のトークン 30px のままで、囲みの下端から次の要素までの見える空きが 10px 狭かった
	   （2026-09-25 11:14・幅 375・標本 5 本の囲み 14 個すべてで移行元 40 / dev 30・
	   `pa-verify-assets/B/8412-下見-0925/`）.

	   🚨 **詳細度は `:where()` で下げる（0,2,1）。**report_77 の 2 つ目の囲みは、移行元が
	   パソコン版もスマホ版も行内の `style="margin-bottom:20px;"` を持ち、dev はそれを
	   ページ別の規則（このファイルの `.pa-page-uri--research-report_77 … div.box_conduct`）で
	   写している。上の ④ のように `#research` をそのまま書くと、その規則に勝って 40px に
	   なってしまう。共通の規則（0,2,0）には勝ち、ページ別の規則には負ける強さにする。
	   移行元の囲みで行内の下の外余白を持つのは、スマホ版の全数（`sp/research/*.html`・注釈を
	   除いて数えた）で report_77 の 1 つだけである。幅 750px 以上の 65px（Bug #6966）は触らない. */
	body.single-pa_research :where(.entry-content, .page-content__body) :where(#research) .box_conduct {
		margin-bottom: 40px;
	}

	/* ⑤ 「一覧ページにもどる」（ユーザー決定 D570・Bug #8380）。移行元スマホ版の 158 本は、
	   ページ送りの帯に置かず、`#research` の最後の段落（`p.link_top.list`）に置く。
	   `#research .link_top { margin-bottom: 35px; padding: 10px 0 0; font-size: 14px;
	   text-align: center; clear: both }` と `.link_top.list { padding: 30px 0 0 }`.

	   段落はテーマが表示の直前に足す（`inc/research-related-inline.php` の
	   `pa_research_back_append()`・本文は書き換えない）。帯の中の項目はここで隠すので、
	   携帯幅に出る「一覧ページにもどる」は段落の 1 つだけになる.

	   🚨 帯の中の項目を隠すのは、段落が在るときだけにする（`:has()`）。段落を足せなかった
	   本文（`section#research` や `li.m-center` を見つけられなかったとき）で、帯の中の
	   項目まで隠すと、一覧へ戻る導線が 1 つも無くなる. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research:has(.pa-research-relback) .pager_menu > li.m-center {
		display: none;
	}

	body.single-pa_research :is(.entry-content, .page-content__body) #research .pa-research-relback {
		display: block;
		clear: both;
		margin: 0 0 35px;
		padding: 30px 0 0;
		font-size: 14px;
		text-align: center;
	}

	/* 段落の中のリンクの字。移行元は `sp/css/basic.css` のリセットが `a` にも 13px を
	   当てるので、段落が 14px でもリンクの字は 13px になる（幅 375 の実測）. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research .pa-research-relback a {
		font-size: 13px;
	}

	/* ページ送りの帯の項目の行送り。移行元スマホ版の帯は `#research .article_box
	   { font-size: 12px; line-height: 140% }` の中にあり、項目は計算済みの 16.8px を継ぐ。
	   項目の中のリンクは上と同じリセットで 13px になる。dev は共通の規則で行送りが
	   `normal`（16px の字で 24px）だったため、「一覧ページにもどる」を隠したあとも帯が
	   移行元より 5.2px 高かった（dev 85 対 移行元 79.8・幅 375 の実測）. */
	body.single-pa_research :is(.entry-content, .page-content__body) #research .pager_menu > li {
		line-height: 16.8px;
	}

	body.single-pa_research :is(.entry-content, .page-content__body) #research .pager_menu > li > a {
		font-size: 13px;
	}
}

/* 携帯幅だけに出す「一覧ページにもどる」（上の ⑤）。パソコン幅は移行元パソコン版と同じく
   ページ送りの帯の中（`li.m-center`）に置いたままにするので、段落は出さない
   （成婚ストーリーの詳細の `.pa-story-relback` と同じ作り）. */
@media (min-width: 750px) {
	body.single-pa_research :is(.entry-content, .page-content__body) #research .pa-research-relback {
		display: none;
	}
}

/* --------------------------------------------------------------
 * お知らせ「成婚コンシェルジュ診断について」（/release/）のパソコン幅（Bug #8869）
 *
 * 移行元の `public/release/index.html` はページ専用の CSS `release/css/style.css`
 * （243 行）を読む。投入は本文の HTML と絵だけを取り込むので、この 1 本は移し先に
 * 入らず、見出しの大きさ・寄せ・下線と絵の幅が移行元と食い違っていた。
 * ここでは、パソコン幅で当たる規則だけを写す（携帯幅は移行元スマホ版が別の組みで、
 * Bug #8917 が受け持つ）。
 *
 * 当て先は、このページの本文の器 `article.pa-page--release`（固定ページの道すじから
 * テーマが付ける類名）で絞る。
 *
 * 幅 1440 の実測（2026-09-29・`pa-verify-assets/B/8869-直す前-0929/`）:
 *   h3.title      移行元 36px / 32px・中央・黒・字間 0.04em・下の外余白 100・::before の赤い線
 *                 dev    22px / 33px・左・金色・上の外余白 50
 *   h4.ttl-lv4    移行元 22px / 32px・金色 #a3762b・字間 0.04em・下線 1px・下の内余白と外余白 10
 *                 dev    18px / 27px・黒・下線なし・上の外余白 50
 *   #sec07 の h4  移行元 16px / 32px・中央 ／ dev 18px / 27px・左
 *   #sec01〜07    移行元 上の外余白 50 ／ dev 0（見出しの側が 50 を持つ）
 *   main_ttl.jpg  移行元 1268 × 170・左 86（共通の `css/style.css` の `#contents .main_ttl`）／ dev 1100 × 148.22
 *   img_sec06-1   移行元 800 × 532.36・中央（`#sec06 img { width: 800px }`・`#sec06 p { text-align: center }`）／ dev 1100
 *
 * 行の高さ 32px は、移行元の `#release { font-size: 16px; line-height: 200% }` が
 * 長さ（32px）に計算されてから見出しへ受け継がれた値である.
 * -------------------------------------------------------------- */
@media (min-width: 750px) {
	/* 本文の器。移行元 `#release { padding: 65px 0 30px; font-size: 16px; line-height: 200% }`.
	   下見 1 回目（`B/8869-下見-0929/`）で、見出しを直しても区画の高さが移行元より低いまま
	   （#sec02 で 1840 / 1630）だったため、字の組みの土台も写す. */
	.pa-page--release #release {
		padding: 65px 0 30px;
		font-size: 16px;
		line-height: 200%;
	}

	/* 題の絵の見出しの下の外余白は 0（移行元 `#contents .main_ttl { margin: 0 auto }`）。
	   🚨 **類名を 2 つ重ねて強さを上げる。**Task #8091 の
	   `.page-content__body :is(h2, …):has(> :is(img, picture) + span.pa-release-sp-title:last-child)`
	   （強さ 0,3,3）が `margin: 0 0 25px` を当てており、素の強さでは負ける
	   （下見 1 回目で幅 1268 の絵が左 170 のまま動かなかった）. */
	.pa-page--release .page-content__body > h2.main_ttl.main_ttl {
		margin-bottom: 0;
	}

	.pa-page--release .page-content__body > h2.main_ttl img {
		vertical-align: bottom;
	}

	.pa-page--release #release :is(#sec01, #sec02, #sec03, #sec04, #sec05, #sec06, #sec07) {
		margin-top: 50px;
	}

	.pa-page--release #release .title {
		position: relative;
		margin: 0 0 100px;
		color: #000;
		font-size: 36px;
		font-weight: normal;
		letter-spacing: 0.04em;
		line-height: 32px;
		text-align: center;
	}

	.pa-page--release #release .title::before {
		content: "";
		position: absolute;
		bottom: -20px;
		left: calc(50% - 20px);
		width: 40px;
		border-bottom: 2px solid #ff2600;
	}

	.pa-page--release #release .ttl-lv4 {
		margin: 0 0 10px;
		padding: 0 0 10px;
		border-bottom: 1px solid #a3762b;
		color: #a3762b;
		font-size: 22px;
		font-weight: normal;
		letter-spacing: 0.04em;
		line-height: 32px;
	}

	.pa-page--release #release #sec07 h4:not(.ttl-lv4) {
		margin: 0;
		color: #000;
		font-size: 16px;
		letter-spacing: normal;
		line-height: 32px;
		text-align: center;
	}

	.pa-page--release #release #sec06 p {
		text-align: center;
	}

	.pa-page--release #release #sec06 img {
		width: 800px;
	}
}

/* --------------------------------------------------------------
 * 同じページの区画の中身（Bug #8921）
 *
 * 上の Bug #8869 の節は、見出しと絵と区画の上の余白だけを写した。区画の中の
 * 段落・注記・灰色の帯・押しボタン・`#sec07` の罫線は写しておらず、区画 7 つが
 * 移行元より低かった（ページの高さ 移行元 8,315 対 dev 7,863）。
 *
 * 幅 1440 で要素を 1 つずつ並べた実測（2026-09-30 02:31・
 * `pa-verify-assets/B/8921-直す前-0930/`）で分かった差の出どころ:
 *
 *   | 要素 | 移行元 | dev（直す前） |
 *   |---|---|---|
 *   | 段落 `p`・項目 `li` | 行 32（`#release` の 200%）・外余白 0 | 行 24・下の外余白 25（`ul` も 25） |
 *   | `.box` | 外余白 20 0 | 50 0 60 |
 *   | `h5.ttl-lv5` | 行 32・外余白 0・左の内余白 10・左の絵 `icon_h5.gif` | 行 24・外余白 50 0 15・絵なし |
 *   | `.box_img`（図 1・図 2） | 灰色の帯・12px・中央・上下の内余白 20 | 帯なし・16px・左 |
 *   | `.caution`（※1） | 8px・上付き（見出しが 46.33 に伸びる） | 22px |
 *   | `.ul_caution` | 8px・行 12・幅 300・上 50・右寄せ | 16px・幅 1100 |
 *   | `.btn_link` と中の `a` | 黒地の押しボタン（高さ 62）・中央 | 素のリンク |
 *   | `#sec07` | 中央・上下の内余白 30・上下の罫線 #ccc・項目の横並び | どれも無い |
 *
 * 写し元は移行元のページ専用の CSS `release/css/style.css`。値はそのまま写す。
 * 当て先は上の節と同じく `article.pa-page--release` で絞り、パソコン幅だけに置く
 * （携帯幅は移行元スマホ版が別の組みで、Bug #8917 が受け持つ）.
 * -------------------------------------------------------------- */
@media (min-width: 750px) {
	/* 段落と項目は、`#release` の行の高さ（200% が 32px に計算された値）を受け継ぐ。
	   dev はテーマの本文の段落の規則が行 1.5・下の外余白 25 を直に当てていた. */
	.pa-page--release #release :is(p, ul, li) {
		margin: 0;
		line-height: inherit;
	}

	/* 🚨 投入の自動整形（`wpautop`）が、移行元の 1 つの段落の中の `<br><br>` を段落の
	   区切りに変え、`#sec02` の「ただ、このような…」と「では、相手に…」を 2 つの段落に
	   分けた。移行元はその間に空の 1 行（32px）を持つので、2 つ目の段落の上に同じ高さを
	   足す。本文（markup）は変えない（ユーザー決定 D256）. */
	.pa-page--release #release #sec02 > .box + p + p {
		margin-top: 32px;
	}

	.pa-page--release #release .box {
		margin: 20px 0;
	}

	.pa-page--release #release .box dt {
		font-weight: bold;
	}

	.pa-page--release #release .ttl-lv5 {
		margin: 0;
		padding-left: 10px;
		background: url("../images/release/icon_h5.gif?ver=cdb5bb0c6f2a") no-repeat left center;
		line-height: inherit;
	}

	/* 灰色の帯。移行元は `margin: 20px -500%; padding: 20px 500%` で帯を左右へ
	   5,500px ずつ広げ、`html { overflow-x: hidden }` で画面の外を隠している。
	   dev は横のはみ出しを隠さないので、同じ書き方では横スクロールが出る。
	   🚨 **箱は本文の幅のままにし、帯は影（`box-shadow`）で左右へ広げる。**影は
	   スクロールできるはみ出しに数えられない。上下へは広げないよう `clip-path` で切る.
	   上下の外余白と内余白 20・字 12px・中央は移行元の値. */
	.pa-page--release #release .box_img {
		margin: 20px 0;
		padding: 20px 0;
		background: #eaeaea;
		box-shadow: 0 0 0 100vmax #eaeaea;
		clip-path: inset(0 -100vmax);
		font-size: 12px;
		text-align: center;
	}

	.pa-page--release #release .box_img h5 {
		margin: 0;
		font-size: inherit;
		line-height: inherit;
	}

	.pa-page--release #release .caution {
		font-size: 8px;
		vertical-align: super;
	}

	.pa-page--release #release .ul_caution {
		width: 300px;
		margin: 50px 0 0 calc(100% - 300px);
		font-size: 8px;
		line-height: 150%;
	}

	.pa-page--release #release .btn_link {
		display: flex;
		justify-content: center;
		margin: 30px auto;
		text-align: center;
	}

	.pa-page--release #release .btn_link a {
		position: relative;
		display: block;
		margin-left: 15px;
		padding: 15px 50px;
		background-color: #000;
		color: #fff;
		font-size: 20px;
		letter-spacing: 0.04em;
		text-decoration: none;
	}

	.pa-page--release #release .btn_link a::before {
		content: "";
		position: absolute;
		top: calc(50% - 8px);
		right: 16px;
		width: 14px;
		height: 14px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		border-radius: 2px;
		transform: rotate(45deg);
	}

	.pa-page--release #release .btn_link a:hover {
		opacity: 0.8;
		transition: opacity 0.3s;
	}

	.pa-page--release #release #sec07 {
		padding: 30px 0;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		text-align: center;
	}

	.pa-page--release #release #sec07 ul {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}

	.pa-page--release #release #sec07 li {
		margin: 10px 20px;
	}
}

/* 題の絵は移行元どおり幅 1268 で、本文の柱（1100）から左右へ 84 ずつはみ出させる。
   移行元は `html { overflow-x: hidden }` で狭い画面の横のはみ出しを隠すが、
   dev は隠さないので、はみ出さない幅だけで当てる（それより狭い幅は今のまま）。
   境目は 1268 に縦スクロールバーのぶん 17px を足した 1285px（先例 #2380 の裁定・
   `.pa-page--guide` の同じ帯）。メディアクエリの幅はスクロールバーを含むので、
   1268 で当てると 1268〜1284px で 17px ぶん横スクロールが出る. */
@media (min-width: 1285px) {
	.pa-page--release .page-content__body > h2.main_ttl.main_ttl {
		margin-right: -84px;
		margin-left: -84px;
	}

	.pa-page--release .page-content__body > h2.main_ttl img {
		width: 1268px;
		max-width: none;
		height: 170px;
	}
}

/*
 * check-mobile-only: 意図してメディアクエリの外に置く
 *   （理由: 素で隠しておかないと、パソコン幅で移行元スマホ版だけの絵が出る）
 *
 * お知らせ「成婚コンシェルジュ診断について」（/release/）の携帯幅を、移行元スマホ版
 * （`public/sp/release/index.html`）の見た目にそろえる（Bug #8917）。
 *
 * 移行元は携帯版を別の HTML で持つ。dev は移行元パソコン版の markup を携帯幅でも出して
 * いるので、**段（見出しの h4・h5）は dev のまま、見た目だけを移行元スマホ版へ当てる**
 * （本文は変えない・ユーザー決定 D256）。部品の出し分けはユーザー決定 D504
 * （移行元スマホ版だけの部品は出す・dev だけの部品は携帯幅で隠す・字はパソコン版）に従う。
 *
 * 対応（移行元スマホ版 ↔ dev）:
 *
 *   | 役割 | 移行元スマホ版 | dev |
 *   |---|---|---|
 *   | 器 | `#guide`（上下の内余白 25） | `#release` |
 *   | 題の下の絵 | `<p><img src="img/img_main.jpg">` | 無い → `inc/release-sp-title-text.php` が差し込む `p.pa-release-sp-main-image` |
 *   | 題の文字の見出し | 無い | `#release > h3.title` → 隠す |
 *   | 区画 | `section.anchor_block`（左右 6.25%・下 8%） | `section#sec01`〜`#sec07` |
 *   | 区画の見出し | `h3.title` | `h4.ttl-lv4` |
 *   | 箱の小見出し | `h4` | `h5.ttl-lv5` |
 *   | 図の絵の見出し | `.box_img h4` | `.box_img h5` |
 *   | 問い合わせの文 | `#sec07 p` | `#sec07 h4` |
 *
 * 値の写し元は `sp/css/style.css`（`#guide`・`#guide .anchor_block`・`#guide h3.title`・`#guide p`・
 * `dl`・`dt`・`dd`）と、ページ専用の `sp/release/css/style.css`（`.box_img`・`.caution`・
 * `.ul_caution li`・`#sec07`・`.btn_link`）。幅 375 の実測は `pa-verify-assets/B/8917-直す前-0930/`。
 *
 * 🚨 **字はパソコン版のまま（D504）なので、次の 2 か所は移行元より低いまま残る。**
 *   - 図の説明: 移行元スマホ版は「- 図１ - <br>…」で 1 行多い
 *   - 押しボタン: 移行元スマホ版は「…診断は<br>こちら」で 2 行
 *
 * 🚨 **区画の左右は `vw` で書く。**移行元の 6.25% は画面の幅（375 で 23.4375）を基準に
 * 解かれる。dev の本文の器は左右に `--pa-inner-gutter`（15）を持つので、その差だけ外へ
 * 広げる（お出かけスポットの入口の Bug #8242 と同じ形）.
 */
.pa-release-sp-main-image {
	display: none;
}

@media (max-width: 749px) {
	/* 題の上の空き。移行元 `#guide { padding: 25px 0 25px }` の上の 25。dev は題が
	   `#release` の外（本文の器の直下）にあるので、題の上の外余白で持つ. */
	.pa-page--release .page-content__body > h2.main_ttl.main_ttl {
		margin-top: 25px;
	}

	/* 移行元スマホ版だけの絵。画面の幅いっぱい（375 × 110.78）・下 15（`#guide p` の 4%）. */
	.pa-page--release .page-content__body > p.pa-release-sp-main-image {
		display: block;
		margin: 0 calc(-1 * var(--pa-inner-gutter)) 4vw;
	}

	.pa-page--release .page-content__body > p.pa-release-sp-main-image img {
		display: block;
		width: 100%;
		height: auto;
	}

	/* dev だけの題の文字の見出し（移行元パソコン版の `h3.title`）. */
	.pa-page--release #release > h3.title {
		display: none;
	}

	.pa-page--release #release {
		padding-bottom: 25px;
	}

	.pa-page--release #release > section {
		margin: 0 calc(6.25vw - var(--pa-inner-gutter)) 8vw;
	}

	.pa-page--release #release p {
		margin: 0 0 4%;
	}

	/* 投入の自動整形（`wpautop`）が 1 つの段落の中の `<br><br>` を段落の区切りに変えた
	   箇所（パソコン幅の Bug #8921 の節と同じ）。移行元はその間に空の 1 行を持つ。
	   携帯幅の字は 13px・行送り normal で、1 行は 20px である（直す前の読みの実測）。
	   前の段落の下の 4% と重なるので、大きいほうの 20 が残る. */
	.pa-page--release #release #sec02 > .box + p + p {
		margin-top: 20px;
	}

	.pa-page--release #release img {
		display: block;
	}

	/* 区画の見出し（移行元 `#guide h3.title`）。
	   🚨 **字間を normal へ戻す。**テーマの見出しの既定は 0.05em で、20px の字では 1 字ごとに
	   1px 広がる。下見 1 回目（`pa-verify-assets/B/8917-下見-0930/`）で、長い見出しの #sec04 だけが
	   移行元の 2 行に対し 3 行へ折り返し、区画が 20px 高かった. */
	.pa-page--release #release .ttl-lv4 {
		clear: both;
		margin: 0 0 18px;
		padding: 15px 0;
		border-bottom: 2px solid #a3762b;
		color: #a3762b;
		font-size: 20px;
		font-weight: normal;
		letter-spacing: normal;
		line-height: 100%;
	}

	.pa-page--release #release .caution {
		font-size: 6px;
		vertical-align: super;
	}

	.pa-page--release #release .box {
		margin: 0;
	}

	/* 箱の小見出し（移行元は素の `h4`・13px）. */
	.pa-page--release #release .box .ttl-lv5 {
		margin: 0;
		padding: 0;
		background: none;
		font-size: 13px;
		font-weight: normal;
		letter-spacing: normal;
		line-height: normal;
	}

	/* 説明の並び（移行元 `sp/css/style.css` の素の `dl`・`dt`・`dd`）. */
	.pa-page--release #release dl {
		clear: both;
		margin: 0;
		border-top: 1px solid #888;
	}

	.pa-page--release #release dt {
		padding: 10px 6.25%;
		background-image: url("../sp/images/inquiry/bg_form.gif?ver=7c00fa2728b4");
		background-repeat: repeat;
		font-size: 15px;
		font-weight: normal;
	}

	.pa-page--release #release dd {
		margin: 0;
		padding: 10px 6.25%;
		font-size: 15px;
	}

	/* 図の灰色の帯。パソコン幅（Bug #8921）と同じく、箱は区画の幅のままにして
	   帯は影で左右へ広げる（移行元の `margin: 20px -500%` を写すと横スクロールが出る）. */
	.pa-page--release #release .box_img {
		margin: 20px 0;
		padding: 20px 0;
		background: #eaeaea;
		box-shadow: 0 0 0 100vmax #eaeaea;
		clip-path: inset(0 -100vmax);
		font-size: 12px;
		text-align: center;
	}

	.pa-page--release #release .box_img h5 {
		margin: 0;
		font-size: 13px;
		font-weight: normal;
		letter-spacing: normal;
		line-height: normal;
	}

	.pa-page--release #release .box_img p {
		font-size: 13px;
	}

	.pa-page--release #release .ul_caution {
		margin: 0;
	}

	.pa-page--release #release .ul_caution li {
		font-size: 6px;
		line-height: normal;
	}

	.pa-page--release #release .btn_link {
		display: flex;
		justify-content: center;
		text-align: center;
	}

	.pa-page--release #release .btn_link a {
		position: relative;
		display: block;
		margin-left: 15px;
		padding: 10px 30px;
		background-color: #000;
		color: #fff;
		font-size: 14px;
		letter-spacing: 0.04em;
		text-decoration: none;
	}

	.pa-page--release #release .btn_link a::before {
		content: "";
		position: absolute;
		top: calc(50% - 8px);
		right: 10px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		border-radius: 2px;
		transform: rotate(45deg);
	}

	/* 問い合わせの区画。移行元は `padding: 20px !important` で区画の左右 6.25% も
	   打ち消し、画面の幅いっぱいに罫線を引く. */
	.pa-page--release #release > section#sec07 {
		margin-inline: calc(-1 * var(--pa-inner-gutter));
		padding: 20px;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		text-align: center;
	}

	/* 問い合わせの文（移行元スマホ版は素の `p`・dev は `h4`）. */
	.pa-page--release #release #sec07 h4 {
		margin: 0 0 4%;
		color: #000;
		font-size: 13px;
		font-weight: normal;
		letter-spacing: normal;
		line-height: normal;
	}

	.pa-page--release #release #sec07 ul {
		margin: 0;
		text-align: center;
	}
}

/*
 * シングルマザー応援プランと U29 プランの本文の改行（Bug #9499）
 * ------------------------------------------------------------------
 * `inc/plan-sp-breaks.php` が表示のときに本文の改行へ印を付ける。携帯幅だけの改行（移行元スマホ版にだけ在る）は
 * `br.pa-plan-sp-br`、パソコン幅だけの改行（移行元パソコン版にだけ在る）は `br.pa-plan-pc-br` である。
 * 幅ごとに片方を隠す。両方の版に在る改行は素の `<br>` のままで、どちらの幅でも出る.
 * 先例はキャンペーン 20 周年の `br.pa-cp20-sp-br`（Task #8467）である.
 */
@media (max-width: 749px) {
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) br.pa-plan-pc-br {
		display: none;
	}
}

@media (min-width: 750px) {
	:is(.pa-page--singlemother #sm, .pa-page--uvalue #uvalue) br.pa-plan-sp-br {
		display: none;
	}
}

/* ==============================================================
 * 404 画面の文言の区画を、移行元の notfound.html と同じ余白と字の組みにする（Bug #9537）
 * ==============================================================
 *
 * 移行元は `section#event_top`（`padding: 0 0 30px`・中央寄せ）の中に `div#notfound`
 * （`padding: 50px 0`）を置き、段落 2 つを `margin: 0`・`line-height: normal`（13px で高さ 20px）で並べる。
 * 上のパンくずの下端から 1 段落目までが 50px、2 段落目の下端から帯（`div.box_support`）までが 80px になる。
 * 実測（2026-10-06 12:1x・幅 1440px・CDP・記録 `pa-verify-assets/A/9537-下見1-1006/`）:
 *
 * | | 1 段落目の上端 | 2 段落目の上端 | 帯の上端 |
 * |---|---:|---:|---:|
 * | 移行元 | 242 | 262 | 362 |
 * | 直す前の組み（段落の既定の余白 13px・行の高さ 23.4px・左寄せ） | 205 | 241.4 | 277.8 |
 *
 * 移行元には携帯版の notfound が無い（`public/sp/` に置かれていない）。携帯幅でも同じ組みにする。
 */
.error-404 .error-404__body {
	padding: 50px 0 80px;
	text-align: center;
}

.error-404 .error-404__lead {
	margin: 0;
	line-height: 20px;
}
