/* ============================================================
   HAL探偵社 東京赤坂支店 — Premium LP
   UI / Layout Upgrade Stylesheet (Working Preview v1.0)
   ------------------------------------------------------------
   - 世界観・コピー・色・写真・CTAは Approved_HTML/index.html を正とする
   - 本ファイルはレイアウト・余白・グリッド・視線誘導・
     レスポンシブ・控えめなモーションのみを担当する
   - 全セレクタは .hal-lp 配下にスコープ（テーマCSS干渉防止）
   ============================================================ */

.hal-lp {
  /* ---- Approved palette (既存LPから抽出・変更禁止) ---- */
  --hal-ink:        #1b1813;  /* 濃墨（Hero / Final CTA 背景） */
  --hal-sumi:       #23211d;  /* 見出し・強文字 */
  --hal-body:       #5c574e;  /* 本文 */
  --hal-body-deep:  #3a362f;  /* 本文強め */
  --hal-body-warm:  #524e44;
  --hal-muted:      #8b8478;  /* 補足 */
  --hal-faint:      #7a7468;
  --hal-bg:         #f5f2ea;  /* 生成り */
  --hal-bg-alt:     #ece7db;  /* 一段深い生成り */
  --hal-bg-box:     #efeae0;
  --hal-line:       #e6e0d2;
  --hal-line-deep:  #ddd6c8;
  --hal-line-card:  #d9d3c6;
  --hal-gold:       #9c8456;  /* 既存アクセント（乱用禁止） */
  --hal-gold-deep:  #7B6A50;
  --hal-gold-hover: #8A7658;
  --hal-gold-line:  #cbbd9f;
  --hal-on-ink:     #f7f4ec;
  --hal-on-ink-sub: #e2dccf;
  --hal-on-ink-mut: #b6ad9b;

  /* ---- Type (既存フォント体系を維持) ---- */
  --hal-serif: 'Zen Old Mincho', serif;
  --hal-sans:  'Zen Kaku Gothic New', sans-serif;
  --hal-mono:  'Space Mono', monospace;

  /* ---- Layout tokens ---- */
  --hal-max:   1120px;   /* コンテンツ最大幅 */
  --hal-prose: 38em;     /* 本文の最大行幅 */
  --hal-pad:   28px;     /* モバイル左右余白（既存踏襲） */
  --hal-sec-y: 60px;     /* セクション縦余白（モバイル） */

  background: var(--hal-bg);
  color: var(--hal-sumi);
  font-family: var(--hal-sans);
  font-weight: 400;
  letter-spacing: 0.035em;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
.hal-lp *, .hal-lp *::before, .hal-lp *::after { box-sizing: border-box; }
.hal-lp img { display: block; max-width: 100%; height: auto; }

/* ============================================================
   共通パーツ
   ============================================================ */
.hal-container {
  width: 100%;
  max-width: var(--hal-max);
  margin-inline: auto;
  padding-inline: var(--hal-pad);
}
.hal-prose { max-width: var(--hal-prose); }

.hal-label {
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.28em;
  color: var(--hal-gold);
}
.hal-h2 {
  font-family: var(--hal-serif);
  font-weight: 600;
  font-size: clamp(25px, 2.6vw, 34px);
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: var(--hal-sumi);
  margin: 24px 0 0;
}
.hal-h2--light { font-weight: 500; }
.hal-lead {
  font-family: var(--hal-serif);
  font-size: clamp(15px, 1.35vw, 17px);
  line-height: 1.9;
  color: var(--hal-body-deep);
  margin: 26px 0 0;
}
.hal-p {
  font-size: 13.5px;
  line-height: 1.95;
  color: var(--hal-body);
  margin: 20px 0 0;
}
.hal-p:first-child { margin-top: 0; }
.hal-note {
  font-size: 11px;
  line-height: 1.85;
  color: var(--hal-muted);
  letter-spacing: 0.02em;
}

/* ---- CTA（文言・役割・優先順位は既存のまま） ---- */
.hal-lp .cta {
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.hal-lp .cta-solid {
  display: inline-block;
  border: 1px solid var(--hal-gold-deep);
  background: var(--hal-gold-deep);
  color: #F7F3EA;
  font-size: 15px;
  letter-spacing: 0.1em;
  text-decoration: none;
  padding: 19px 36px;
  min-height: 44px;
}
.hal-lp .cta-solid:hover { background: var(--hal-gold-hover); border-color: var(--hal-gold-hover); color: #F7F3EA; }
.hal-lp .cta-hero:hover  { background: #f3efe6; border-color: #f3efe6; color: var(--hal-ink); }
.hal-lp .cta:focus-visible,
.hal-lp a:focus-visible,
.hal-lp summary:focus-visible {
  outline: 2px solid var(--hal-gold);
  outline-offset: 3px;
}
.hal-cta-center { margin-top: 38px; text-align: center; }
.hal-cta-center .hal-note { margin-top: 12px; }

/* ============================================================
   ヘッダー
   ============================================================ */
.hal-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(22, 19, 15, 0.92); /* 旧版 黒背景ヘッダー（Owner採用可） */
  border-bottom: 1px solid rgba(247, 244, 236, 0.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: box-shadow .3s ease, background-color .3s ease;
}
.hal-header.is-scrolled {
  background: rgba(20, 17, 13, 0.97);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}
.hal-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 7px;
  min-height: 76px; /* 旧版 ①ロゴ拡大に伴い調整 */
}
/* 旧版 §3-1/3-2 ヘッダーブランド：画像ロゴ廃止 → テキストタイトル
   タイポグラフィはHEADER_TYPOGRAPHY_RESEARCH.md準拠：
   - 走査性の高いゴシック体（Noto Sans JP系システムスタック。Webフォント追加読込なし＝表示速度への影響ゼロ）
   - ブランド名 600 / 地域説明 400（階層一段差）
   - 文字色は暗背景に対して十分なコントラストの上品なオフホワイト（発光する純白・ゴールド・青緑は不使用） */
/* 旧版訂正反映：正式表示は【1行】
   「HAL探偵社 東京赤坂支店｜港区・中央区・銀座・赤坂・六本木の浮気調査」
   - PCは原則1行（nowrapで保証）／Tabletも1行維持（2段グリッド上段に全文が収まる）
   - Mobileは1行維持が物理的に不可能なため全文保持の自然改行のみ（意図的な「｜」分割・ellipsis禁止）
   - spanはすべてinline（block化による強制分割なし） */
.hal-header-brand {
  display: block;
  min-width: 0;
  text-decoration: none;
  padding: 4px 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.5;
}
/* TOPMinatoFix4 §12.1：ブランド名・区切り・地域の色・書体・hoverの責任は
   hal-authority-hub.css の「§4-2 可視ブランド文字列」1ブロックへ統合した。
   本ファイルは重複する宣言を持たない（旧 #CFC9BE リテラルも撤去済み）。 */
.hal-header__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  white-space: nowrap;
  flex: none;
}
/* v1.0.30 §4-4：.hal-header__tel-block はDOMごと削除したためCSSも削除した。 */
.hal-header__tel {
  font-family: var(--hal-serif);
  font-size: 15px;
  letter-spacing: 0.06em;
  color: var(--hal-on-ink-mut);
  text-decoration: none;
  white-space: nowrap;
  padding: 0;
  transition: color .25s ease;
}
.hal-header__tel:hover { color: var(--hal-on-ink); }
/* v1.0.30 §4-4：.hal-header__tel-note はDOMごと削除したためCSSも削除した。 */
/* 旧版 §3-5 ヘッダーCTA「面談予約・お問い合わせ」は全デバイスから削除（DOMごと撤去）。
   予約導線はFV・本文中CTA・最終CTA・フォームで維持。代替CTA・フローティングCTAは追加しない。 */
/* 旧版 §3-3 三本線メニューは全デバイス共通で使用 */
.hal-header__menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  color: var(--hal-on-ink-mut);
  cursor: pointer;
  padding: 12px 4px;
}
.hal-header__menu-bar {
  position: relative;
  width: 22px;
  height: 1px;
  background: currentColor;
  display: block;
}
.hal-header__menu-bar::before,
.hal-header__menu-bar::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px;
  height: 1px;
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease;
}
.hal-header__menu-bar::before { top: -7px; }
.hal-header__menu-bar::after { top: 7px; }
.hal-header__menu-btn[aria-expanded="true"] .hal-header__menu-bar { background: transparent; }
.hal-header__menu-btn[aria-expanded="true"] .hal-header__menu-bar::before { transform: translateY(7px) rotate(45deg); }
.hal-header__menu-btn[aria-expanded="true"] .hal-header__menu-bar::after { transform: translateY(-7px) rotate(-45deg); }
.hal-header__menu-label {
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.3em;
}
.hal-header__panel {
  background: rgba(20, 17, 13, 0.98);
  border-bottom: 1px solid rgba(247, 244, 236, 0.14);
  padding: 10px var(--hal-pad) 30px;
}
.hal-header__panel nav {
  display: flex;
  flex-direction: column;
}
.hal-header__panel nav a {
  font-family: var(--hal-sans);
  font-size: 14px;
  letter-spacing: 0.12em;
  color: var(--hal-on-ink-mut);
  text-decoration: none;
  padding: 15px 2px;
  border-bottom: 1px solid rgba(247, 244, 236, 0.08);
  transition: color .25s ease;
}
.hal-header__panel nav a:hover { color: var(--hal-on-ink); }
.hal-header__panel-actions {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.hal-header__panel-tel {
  font-family: var(--hal-serif);
  font-size: 15px;
  letter-spacing: 0.06em;
  color: var(--hal-on-ink-mut);
  text-decoration: none;
  text-align: center;
  padding: 6px 0 0;
}
.hal-header__panel-tel-note {
  display: block;
  font-family: var(--hal-sans);
  font-size: 10.5px;
  letter-spacing: 0.03em;
  line-height: 1.5;
  color: var(--hal-muted);
  text-align: center;
  padding-bottom: 4px;
}
/* v1.0.30 §4-2〜§4-6：ヘッダーのレスポンシブ指定は競合を避けるため全廃し、
   hal-authority-hub.css 末尾の「v1.0.30 ヘッダー確定仕様」1か所へ集約した。
   （旧：Tablet nowrap／〜1023pxの2段グリッド／〜767pxブランド／〜374pxブランド） */

/* ============================================================
   §1 Hero — 静止画1枚。PCは左コピー / 右写真の分割構図
   ============================================================ */
.hal-hero { position: relative; background: var(--hal-ink); }
.hal-hero__media { position: relative; }
.hal-hero__media > img { width: 100%; height: auto; } /* 旧版 ロゴ巻き込み防止で直下限定 */
.hal-hero__scrim {
  position: absolute; top: 0; left: 0; right: 0; height: 260px; /* 旧版 ⑤ ロゴを写真内へ下げるためスクリムを拡張 */
  background: linear-gradient(180deg, rgba(18,16,13,.72) 0%, rgba(18,16,13,.40) 45%, rgba(18,16,13,.12) 75%, rgba(18,16,13,0) 100%);
  pointer-events: none;
}
/* 旧版 §4 FVロゴ：Mobile表示（旧版 承認済み：left44px/top46px/width165px @390–430px）を正解基準とし、
   その配置を「画像座標に対する比率」へ変換して全デバイスへ適用する。
   - 換算値（390px/430px両基準の中間値）：left=10.8% / width=40.3%
   - top：旧版最終UI整合でOwner指示「ロゴ表示サイズ相当分だけ上へ」を反映。
     可視マーク高さ＝画像高の13.9%分を旧値20.1%から減算 → 6.2%（横位置・サイズは不変）
   - 水平方向：ヒーロー画像は全幅表示（幅方向のトリミングなし）のため、コンテナ%＝画像%が常に成立
   - 垂直方向：1024px未満はトリミングなし（top%がそのまま画像%）。1024px以上はmax-height:80svhによる
     上下トリミングをcalc()で補正する（下記1024pxメディアクエリ参照）
   - viewport幅基準の固定pxには依存しない */
.hal-lp { --hal-fv-logo-left: 10.8%; --hal-fv-logo-width: 40.3%; --hal-fv-logo-top-frac: 0.062; }
.hal-hero__logo {
  position: absolute;
  top: calc(var(--hal-fv-logo-top-frac) * 100%);
  left: var(--hal-fv-logo-left);
  right: auto;
  width: var(--hal-fv-logo-width);
  pointer-events: none;
}
.hal-hero__logo img { width: 100%; height: auto; }
.hal-hero__copy { background: var(--hal-ink); padding: 30px var(--hal-pad) 42px; }
.hal-hero__copy-main { max-width: 30em; }
.hal-hero__title {
  font-family: var(--hal-serif);
  font-weight: 600;
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: var(--hal-on-ink);
  margin: 0;
}
.hal-hero__sub {
  font-size: 13.5px;
  line-height: 1.95;
  color: var(--hal-on-ink-sub);
  margin: 16px 0 0; /* 旧版 ⑤ */
}
.hal-hero__cta { margin-top: 24px; } /* 旧版 ⑤ */
.hal-hero__cta a.cta-hero {
  display: inline-block;
  text-align: center;
  border: 1px solid var(--hal-gold);
  background: var(--hal-gold);
  color: var(--hal-ink);
  text-decoration: none;
  padding: 13px 30px;
  line-height: 1.3;
}
.hal-hero__cta .hal-cta-kicker {
  display: block;
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.3em;
}
.hal-hero__cta .hal-cta-num {
  display: block;
  font-family: var(--hal-serif);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.07em;
  margin-top: 2px;
}
.hal-hero__note { margin-top: 14px; color: #cfc7b5; }
.hal-hero__note .hal-note__sub { display: inline-block; margin-top: 2px; }
.hal-inline-link { color: var(--hal-gold); text-decoration: underline; text-underline-offset: 2px; }
.hal-inline-link:hover { color: var(--hal-gold-hover); }

@media (min-width: 1024px) and (orientation: landscape) {   /* v1.0.52 §6.6：Tablet縦向き(1024px portrait)へPC用FVを適用させない */
  /* 旧版 — 元LP仕様へ復元：写真全幅（主役）→ 直下の墨ブロックにコピー。
     分割構図は廃止。写真は自然比率を基本とし、超ワイド時のみ高さを抑制 */
  .hal-hero__media > img {
    width: 100%;
    height: auto;
    max-height: 80svh;
    object-fit: cover;
    object-position: center 62%; /* 窓辺と東京タワーの帯を維持 */
  }
  .hal-hero__copy {
    padding: 44px var(--hal-pad) 54px 196px; /* 旧版 ⑥ コピー開始位置を窓枠1本目へ */
  }
  .hal-hero__copy-main { max-width: 34em; }
  .hal-hero__title { font-size: clamp(34px, 3vw, 44px); }
  .hal-hero__sub { margin-top: 16px; }
  .hal-hero__scrim { height: 340px; }
  /* 旧版 最終微調整（Desktop FVロゴ位置のみ・サイズ/画像/ヘッダー/Tablet/Mobile不変）
     ①縦：前回の上方向移動量（画像高13.9%）の約50%＝6.9%を下へ戻す → top 6.2%→13.1%
     ②横：可視マーク左端を1本目窓枠（画像幅13.2%）へ少し近付ける
        マーク左端 16.9%→15.0%（canvas left 10.8%→8.9%。窓枠との間隔3.7%→1.8%＝小移動）
        マーク右端 44.0%となり東京タワー（左端≈47.6%）との間隔は拡大、人物（頭部≈画像高56%）とも非干渉 */
  .hal-lp { --hal-fv-logo-top-frac: 0.131; --hal-fv-logo-left: 8.9%; }
  /* 旧版 §4 PC：画像は max-height:80svh + object-fit:cover + object-position:center 62% で
     上下トリミングされるため、Mobile基準の画像内比率位置（top-frac）をトリミング量込みで再計算する。
       画像スケール後の全高 = 100vw × (1536/2752) = 55.814vw
       上側トリミング量     = 0.62 × max(0, 55.814vw − 80svh)
       top = top-frac × 55.814vw − 上側トリミング量
     水平方向（left/width）はトリミングが発生しないため基準%をそのまま継承する。 */
  .hal-hero__logo {
    top: calc(var(--hal-fv-logo-top-frac) * 55.814vw - 0.62 * max(0px, 55.814vw - 80svh));
  }
}

/* ============================================================
   §2–§5 感情導線 — PCは写真とテキストの交互配置
   DOM順はモバイルの読み順を維持し、PCのみgrid-areaで左右を決める
   ============================================================ */
.hal-band { padding-block: var(--hal-sec-y); background: var(--hal-bg); }
.hal-band--alt { background: var(--hal-bg-alt); }
.hal-band--line { border-top: 1px solid var(--hal-line); }
.hal-band__head { padding-inline: var(--hal-pad); }
.hal-band__media { margin-block: 26px; }
.hal-band__media img {
  width: 100%;
  aspect-ratio: 9 / 4; /* 元LP（472×210前後）の切り抜き比率を全幅でも維持し、見切れを防ぐ */
  height: auto;
  object-fit: cover;
  object-position: center;
}
.hal-band__body { padding-inline: var(--hal-pad); margin-top: 40px; } /* 旧版 見出し→本文の間隔を明示指定（margin collapse依存を排除） */
.hal-checklist {
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--hal-body);
}
.hal-pillars {
  margin: 30px 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
  font-family: var(--hal-serif);
  font-size: 17px;
  letter-spacing: 0.08em;
  color: #2b2823;
}

/* モバイル：全感情導線で読み順を「ラベル・見出し → 画像 → 本文」に統一 */
@media (max-width: 1023.98px) {
  .hal-band__grid { display: flex; flex-direction: column; }
  .hal-band__text { display: contents; }
  .hal-band__head  { order: 1; }
  .hal-band__media { order: 2; }
  .hal-band__body  { order: 3; }
}

@media (min-width: 1024px) {
  .hal-band__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "media text";
    column-gap: clamp(56px, 6vw, 96px);
    align-items: center;
    max-width: var(--hal-max);
    margin-inline: auto;
    padding-inline: var(--hal-pad);
  }
  .hal-band--flip .hal-band__grid { grid-template-areas: "text media"; }
  .hal-band__media { grid-area: media; margin: 0; }
  .hal-band__media img { height: auto; aspect-ratio: 3 / 2; } /* 写真の自然比率に近づけ被写体の見切れを防ぐ */
  .hal-band__text { grid-area: text; }
  .hal-band__text .hal-band__head,
  .hal-band__text .hal-band__body { padding-inline: 0; }
  .hal-band { padding-block: 88px; }
}

/* §5 秘匿性 — 中央静寂構図（既存の中央寄せを継承し拡張） */
.hal-quiet {
  padding-block: 70px;
  background: var(--hal-bg);
  border-top: 1px solid var(--hal-line);
  text-align: center;
}
.hal-quiet__media { display: flex; justify-content: center; margin-bottom: 42px; }
.hal-quiet__media img {
  width: min(62%, 460px);
  aspect-ratio: 4 / 3; /* 元LP（62%幅×220px）の framing を維持 */
  height: auto;
  object-fit: cover;
  object-position: center;
}
.hal-quiet__text {
  font-size: 13px;
  line-height: 2;
  color: #6b6559;
  margin: 30px auto 0;
  max-width: 24em;
}
@media (min-width: 1024px) {
  .hal-quiet { padding-block: 104px; }
}

/* ============================================================
   §6 赤坂の非公開拠点 — ブランドステートメント構図
   ============================================================ */
.hal-statement {
  padding-block: var(--hal-sec-y);
  background: var(--hal-bg);
  border-top: 1px solid var(--hal-line);
}
.hal-statement .hal-container { max-width: 820px; }
/* 旧版 Section04：住所カード＋オフィス画像の2カラム構成（画像は後日支給のためプレースホルダー） */
.hal-statement__grid { margin-top: 32px; }
.hal-address { margin-top: 0; }
.hal-office-photo {
  display: block;
  margin-top: 20px;
  text-decoration: none;
}
.hal-office-photo__frame {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  border: 1px dashed var(--hal-line-deep);
  background: var(--hal-bg-box);
  transition: border-color .25s ease, background-color .25s ease;
}
.hal-office-photo__note {
  font-family: var(--hal-sans);
  font-size: 11.5px;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--hal-muted);
  text-align: center;
}
.hal-office-photo__map {
  display: block;
  margin-top: 10px;
  font-family: var(--hal-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-align: center;
  color: var(--hal-body-deep);
  border-top: 1px solid var(--hal-line-deep);
  padding-top: 10px;
  transition: color .25s ease;
}
a.hal-office-photo:hover .hal-office-photo__frame { border-color: var(--hal-gold-deep); background: var(--hal-bg-alt); }
a.hal-office-photo:hover .hal-office-photo__map { color: var(--hal-gold-deep); }
@media (min-width: 768px) {
  .hal-statement__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 32px;
    align-items: start;
  }
  .hal-office-photo { margin-top: 0; }
}
.hal-address {
  padding: 24px 24px;
  border: 1px solid var(--hal-line-deep);
  background: var(--hal-bg-box);
  font-size: 12px;
  line-height: 1.85;
  color: var(--hal-body);
}
.hal-address__name {
  font-family: var(--hal-serif);
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--hal-body-deep);
}
.hal-address__meta {
  font-family: var(--hal-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--hal-muted);
  margin-top: 8px;
}
/* 旧版 ⑨ アクセス導線：控えめな補助リンク（予約CTAより弱いトーン） */
.hal-address__access {
  display: inline-block;
  margin-top: 16px;
  font-family: var(--hal-sans);
  font-size: 11.5px;
  letter-spacing: 0.06em;
  color: var(--hal-body-deep);
  text-decoration: none;
  border-bottom: 1px solid var(--hal-line-deep);
  padding-bottom: 2px;
  transition: color .25s ease, border-color .25s ease;
}
a.hal-address__access:hover { color: var(--hal-gold-deep); border-color: var(--hal-gold-deep); }
@media (min-width: 1024px) {
  .hal-statement { padding-block: 120px; }
}

/* ============================================================
   §7 調査後の選択 — 段差のある抑制的なタイポグラフィ。カード化しない
   ============================================================ */
.hal-choice {
  padding-block: var(--hal-sec-y);
  background: var(--hal-bg); /* 旧版 オフホワイト系へ変更（--hal-bg-altは色が強いため） */
  border-top: 1px solid var(--hal-line);
}
.hal-choice .hal-container { max-width: 780px; }
.hal-choice .hal-h2 { font-size: clamp(25px, 2.8vw, 36px); font-weight: 500; margin-top: 22px; }
.hal-choice__sub {
  font-family: var(--hal-serif);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.85;
  color: var(--hal-body);
  margin: 32px 0 0; /* 旧版 見出し→本文の間隔をSection02同様に拡大 */
}
.hal-choice .hal-prose { margin-top: 32px; } /* 旧版 リード→本文の間隔を明示指定 */
@media (min-width: 1024px) {
  .hal-choice { padding-block: 120px; text-align: center; }
  .hal-choice .hal-prose { margin-inline: auto; text-align: left; }
  .hal-choice .hal-h2, .hal-choice__sub, .hal-choice .hal-lead { text-align: center; }
}

/* ============================================================
   §8 港区・中央区での調査設計 — PC編集的グリッド / SP横スクロール
   ============================================================ */
.hal-design { padding-block: var(--hal-sec-y); background: var(--hal-bg); border-top: 1px solid var(--hal-line); }

/* SP: scroll-snap 横スクロール（自動再生なし・無限ループなし） */
.hal-design__rail {
  margin-top: 30px;
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-inline: var(--hal-pad);
  scrollbar-width: none;
}
.hal-design__rail::-webkit-scrollbar { display: none; }
.hal-design__card {
  flex: 0 0 78%;
  scroll-snap-align: center;
}
.hal-design__card img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center;
}
.hal-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
.hal-dots span {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--hal-line-deep);
  transition: background .2s ease;
}
.hal-dots span.is-active { background: var(--hal-gold); }

@media (min-width: 1024px) {
  .hal-design { padding-block: 120px; }
  .hal-design__grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    column-gap: clamp(48px, 5vw, 80px);
    align-items: start;
    margin-top: 48px;
  }
  .hal-design__rail {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: visible;
  }
  .hal-design__card { flex: none; }
  .hal-design__card--main img { aspect-ratio: 3 / 4; }
  .hal-design__card--sub { display: none; }
  .hal-design__pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 28px;
    align-items: stretch; /* 旧版 左右の下端ラインを一致させる */
  }
  .hal-design__pair-item {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    text-decoration: none;
  }
  /* 旧版 常時表示タイトル（港区の特性／中央区の特性） */
  .hal-design__pair-title {
    display: block;
    margin-bottom: 10px;
    font-family: var(--hal-serif);
    font-size: 13px;
    letter-spacing: 0.06em;
    color: var(--hal-body-deep);
    transition: color .25s ease;
  }
  a.hal-design__pair-item:hover .hal-design__pair-title { color: var(--hal-gold-deep); }
  .hal-design__pair img {
    width: 100%;
    aspect-ratio: 3 / 2; /* 旧版 左右で同一比率のため高さは自動的に一致 */
    object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
  }
  a.hal-design__pair-item:hover img { transform: scale(1.04); filter: brightness(0.82); }
  .hal-design__pair-label {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 8px 10px;
    font-family: var(--hal-sans);
    font-size: 10.5px;
    letter-spacing: 0.05em;
    color: #f5f2ea;
    background: linear-gradient(180deg, rgba(18,16,13,0) 0%, rgba(18,16,13,.72) 100%);
    opacity: 0;
    transition: opacity .3s ease;
  }
  a.hal-design__pair-item:hover .hal-design__pair-label,
  a.hal-design__pair-item:focus-visible .hal-design__pair-label { opacity: 1; }
  .hal-dots { display: none; }
}
@media (max-width: 1023.98px) {
  .hal-design__pair { display: none; }
}

/* ============================================================
   §9 ご相談内容 — PC 3列グリッド / SP 1列（情報量が多いため）
   ============================================================ */
.hal-consult { padding-block: var(--hal-sec-y); background: var(--hal-bg-alt); border-top: 1px solid var(--hal-line-deep); } /* 旧版 ⑦ */
.hal-consult__grid {
  margin-top: 34px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.hal-card {
  border: 1px solid var(--hal-line-card);
  background: var(--hal-bg);
  padding: 28px 26px;
}
.hal-card__tag {
  font-family: var(--hal-mono);
  font-size: 10px;
  letter-spacing: 0.24em;
  color: var(--hal-gold);
}
.hal-card__title {
  font-family: var(--hal-serif);
  font-weight: 600;
  font-size: 19px;
  letter-spacing: 0.04em;
  color: var(--hal-sumi);
  margin: 10px 0 0;
}
.hal-card__desc {
  font-size: 12px;
  line-height: 1.7;
  color: var(--hal-muted);
  margin: 8px 0 0;
}
.hal-card__list {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--hal-body-deep);
}
.hal-card__link {
  display: inline-block;
  margin-top: 20px;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--hal-gold-deep);
  text-decoration: none;
  border-bottom: 1px solid #c9bda3;
  padding-bottom: 3px;
}
.hal-consult__note {
  font-size: 12px;
  line-height: 1.85;
  color: var(--hal-muted);
  margin: 24px 0 0;
}
@media (min-width: 768px) {
  .hal-consult__grid { grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: start; }
}
@media (min-width: 1024px) {
  .hal-consult { padding-block: 120px; }
  .hal-consult__grid { margin-top: 48px; gap: 24px; }
}

/* ============================================================
   §10 料金 — Slider化しない。中央の抑制的な金額ブロック
   ============================================================ */
.hal-price {
  padding-block: var(--hal-sec-y);
  /* v1.0.29 §I-04：承認済み bg_01.webp を背景に敷く。文字は焼き込まずHTMLのまま維持する。
     オーバーレイ色は承認済みパレット --hal-bg (#f5f2ea) と同一色。新規カラーは追加しない。 */
  background-color: var(--hal-bg);
  background-image:
    linear-gradient(rgba(245, 242, 234, 0.82), rgba(245, 242, 234, 0.82)),
    url("../../photos/bg_01.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: scroll;
  border-top: 1px solid var(--hal-line);
}
.hal-price .hal-container { max-width: 760px; }
.hal-price__block {
  margin-block: 44px;
  padding-block: 40px;
  border-top: 1px solid var(--hal-line-deep);
  border-bottom: 1px solid var(--hal-line-deep);
  text-align: center;
}
.hal-price__amount {
  font-family: var(--hal-serif);
  font-size: clamp(27px, 3vw, 34px);
  letter-spacing: 0.06em;
  color: var(--hal-sumi);
  line-height: 1.4;
}
.hal-price__amount small { font-size: 0.58em; }
.hal-price__cond {
  font-family: var(--hal-serif);
  font-size: 16px;
  color: var(--hal-body-deep);
  margin-top: 18px;
  letter-spacing: 0.04em;
}
.hal-price__fine { margin-top: 22px; font-size: 11.5px; line-height: 1.85; color: var(--hal-muted); }
.hal-assure {
  margin-top: 32px;
  padding: 26px 24px;
  background: var(--hal-bg-box);
  border: 1px solid var(--hal-line-deep);
}
.hal-assure__label {
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.2em;
  color: var(--hal-gold);
  margin-bottom: 16px;
}
.hal-assure__list {
  display: flex;
  flex-direction: column;
  gap: 13px;
  font-size: 12.5px;
  line-height: 1.75;
  color: #4a463d;
}
@media (min-width: 1024px) {
  .hal-price { padding-block: 120px; }
}

/* ============================================================
   §11 調査までの流れ — 縦型ストーリー。大きなStep番号＋進行線
   ============================================================ */
.hal-flow { padding-block: var(--hal-sec-y); background: var(--hal-bg-alt); border-top: 1px solid var(--hal-line-deep); } /* 旧版 ⑦ */
.hal-flow__media { margin-block: 30px; }
.hal-flow__media img { width: 100%; aspect-ratio: 16 / 7; height: auto; object-fit: cover; object-position: center; }
.hal-steps { margin-top: 40px; }
.hal-step {
  position: relative;
  display: grid;
  grid-template-columns: 56px 1fr;
  column-gap: 18px;
  padding-bottom: 34px;
}
.hal-step:last-child { padding-bottom: 0; }
.hal-step::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 40px;
  bottom: 6px;
  width: 1px;
  background: var(--hal-gold-line);
}
.hal-step:last-child::before { display: none; }
.hal-step__num {
  font-family: var(--hal-mono);
  font-size: 26px;
  letter-spacing: 0.1em;
  color: var(--hal-gold);
  line-height: 1.2;
}
.hal-step__title {
  font-family: var(--hal-serif);
  font-size: 17px;
  letter-spacing: 0.04em;
  color: var(--hal-sumi);
  padding-top: 4px;
}
.hal-flow__closing {
  font-family: var(--hal-serif);
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: var(--hal-sumi);
  margin: 40px 0 0;
}
@media (min-width: 1024px) {
  .hal-flow { padding-block: 120px; }
  .hal-flow__grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    column-gap: clamp(48px, 5vw, 88px);
    align-items: start;
    margin-top: 48px;
  }
  .hal-flow__media { margin: 0; position: sticky; top: 96px; }
  .hal-flow__media img { height: auto; aspect-ratio: 4 / 5; }
  .hal-step { grid-template-columns: 96px 1fr; column-gap: 28px; padding-bottom: 44px; }
  .hal-step::before { left: 47px; top: 64px; }
  .hal-step__num { font-size: 44px; }
  .hal-step__title { font-size: 19px; padding-top: 14px; }
}

/* ============================================================
   §12 相談担当者 / §13 体制 — 抑制的なステートメント
   ============================================================ */
.hal-counsel, .hal-capacity {
  padding-block: var(--hal-sec-y);
  background: var(--hal-bg);
  border-top: 1px solid var(--hal-line);
}
.hal-counsel .hal-container, .hal-capacity .hal-container { max-width: 780px; }
@media (min-width: 1024px) {
  .hal-counsel, .hal-capacity { padding-block: 110px; }
}

/* ============================================================
   §14 FAQ — details/summary（JS停止時もアクセス可能）
   ============================================================ */
.hal-faq { padding-block: var(--hal-sec-y); background: var(--hal-bg-alt); border-top: 1px solid var(--hal-line-deep); } /* 旧版 ⑦ */
.hal-faq .hal-container { max-width: 760px; }
.hal-faq__list { border-top: 1px solid var(--hal-line-deep); margin-top: 32px; }
.hal-faq__item { border-bottom: 1px solid var(--hal-line-deep); }
.hal-faq__item summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 32px 20px 0;
  display: flex;
  gap: 14px;
  align-items: baseline;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--hal-sumi);
  position: relative;
  min-height: 44px;
}
.hal-faq__item summary::-webkit-details-marker { display: none; }
.hal-faq__item summary::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 1px solid var(--hal-gold);
  border-bottom: 1px solid var(--hal-gold);
  transform: translateY(-70%) rotate(45deg);
  transition: transform .25s ease;
}
.hal-faq__item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.hal-faq__q { font-family: var(--hal-serif); color: var(--hal-gold); flex: none; }
.hal-faq__a {
  font-size: 12.5px;
  line-height: 1.9;
  color: var(--hal-body);
  margin: 0 0 20px;
  padding-left: 24px;
}
@media (min-width: 1024px) {
  .hal-faq { padding-block: 120px; }
}

/* ============================================================
   §15 予約への心理的障壁の解消 — Final CTA前の控えめなブリッジ
   ============================================================ */
.hal-bridge {
  padding-block: 64px;
  background: var(--hal-bg);
  border-top: 1px solid var(--hal-line);
}
.hal-bridge .hal-container { max-width: 680px; }
.hal-bridge__list { border-top: 1px solid var(--hal-line-deep); margin-top: 28px; }
.hal-bridge__row {
  display: flex;
  gap: 14px;
  align-items: baseline;
  padding: 17px 0;
  border-bottom: 1px solid var(--hal-line-deep);
}
.hal-bridge__row:last-child { border-bottom: 0; }
.hal-bridge__kanji {
  font-family: var(--hal-serif);
  color: var(--hal-gold);
  font-size: 13px;
  flex: none;
}
.hal-bridge__text { font-size: 13px; line-height: 1.7; color: var(--hal-body-deep); }
@media (min-width: 1024px) {
  .hal-bridge { padding-block: 110px; }
  .hal-bridge__list { border-bottom: 1px solid var(--hal-line-deep); }
  .hal-bridge__row:last-child { border-bottom: 0; }
}

/* ============================================================
   §16 Final CTA — PCは写真とコピーの分割。優先順位は既存維持
   ============================================================ */
.hal-final { position: relative; background: var(--hal-ink); }
.hal-final__media { position: relative; }
.hal-final__media > img { width: 100%; height: auto; }
.hal-final__scrim {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(16,14,12,.30) 0%, rgba(16,14,12,.15) 45%, rgba(27,24,19,.96) 100%);
}
.hal-final__copy { background: var(--hal-ink); padding: 36px var(--hal-pad) 52px; }
.hal-final__title {
  font-family: var(--hal-serif);
  font-weight: 500;
  font-size: clamp(26px, 2.8vw, 36px);
  line-height: 1.62;
  letter-spacing: 0.03em;
  color: var(--hal-on-ink);
  margin: 0;
}
.hal-final__text {
  font-size: 12.5px;
  line-height: 1.95;
  color: #e3ddd0;
  margin: 24px 0 0;
  max-width: 40em;
}
.hal-final__actions {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 28px 48px; /* 旧版 CTAと電話番号の余白を拡大し視線誘導を整理 */
}
.hal-final__actions .cta-hero {
  display: inline-block;
  border: 1px solid var(--hal-gold);
  background: var(--hal-gold);
  color: var(--hal-ink);
  font-size: 15.5px;
  letter-spacing: 0.12em;
  text-decoration: none;
  padding: 20px 40px;
}
.hal-final__tel-block { padding-top: 4px; }
.hal-final__tel-label {
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.24em;
  color: var(--hal-on-ink-mut);
}
.hal-final__tel {
  display: block;
  margin-top: 4px;
  font-family: var(--hal-serif);
  font-size: 20px;
  letter-spacing: 0.04em;
  color: #f3efe6;
  text-decoration: none;
}
/* 旧版 電話受付時間・番号非通知・直通番号案内 */
.hal-final__tel-note {
  margin-top: 10px;
  font-family: var(--hal-sans);
  font-size: 11px;
  line-height: 1.9;
  letter-spacing: 0.03em;
  color: #b9b0a0;
}
.hal-final__note { font-size: 11px; color: #d3ccbd; margin-top: 24px; letter-spacing: 0.02em; }
.hal-payment {
  margin-top: 38px;
  padding-top: 30px;
  border-top: 1px solid rgba(247, 244, 236, 0.16);
}
.hal-payment__title {
  font-family: var(--hal-serif);
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #e7e1d4;
}
.hal-payment__text { font-size: 12px; line-height: 1.85; color: var(--hal-on-ink-mut); margin: 12px 0 18px; }
.hal-payment__logos {
  width: 90%;
  max-width: 520px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.hal-payment__logos img { width: 520px; max-width: 100%; filter: saturate(.88) brightness(.95); }

@media (min-width: 1024px) {
  /* v1.0.48 §5.3：PC専用トリミングを解除し、slot06.jpeg.s8-1920.webp（2000×1500・4:3）の全体構図を表示する。
     max-height: 70svh と object-fit: cover による上下の切り取りを撤回。
     width:100% / height:auto のみとし、比率は元画像のまま（引き伸ばし・変形なし）。 */
  .hal-final__media > img {
    width: 100%;
    height: auto;
    display: block;
  }
  .hal-final__scrim {
    background: linear-gradient(180deg, rgba(16,14,12,.30) 0%, rgba(16,14,12,.15) 45%, rgba(27,24,19,.96) 100%);
  }
  .hal-final__copy {
    padding: 56px var(--hal-pad) 64px;
  }
  .hal-final__copy > * {
    max-width: 700px;
    margin-inline: auto;
  }
}

/* ============================================================
   フッター
   ============================================================ */
.hal-footer { padding: 56px 0 48px; background: var(--hal-ink); color: #a39c8d; }
/* OwnerDesignFix1 §B-2・§B-3 / Human Owner裁定6
   logo.png.s8-1536.webp（1536×1024）は上下左右に大きな透明余白を持ち、可視図柄は
   x232〜1339 / y336〜631（1108×296px）にある。旧実装は中央寄せのFlexだったため、
   ロゴ「画像ボックス」の左端は揃っても「可視図柄」の左端が住所より内側へずれていた。
   ここでは画像を加工せず、wrapperを可視図柄の実比率で切り出し、
   図柄の左端＝wrapperの左端＝住所の左端に一致させる。
   数値はすべて画像実寸からの比率で、固定pxの位置合わせは行っていない。 */
.hal-footer__logo {
  display: block;
  position: relative;
  width: 165px;                 /* 可視図柄の表示幅 */
  aspect-ratio: 1108 / 296;     /* 可視図柄の実比率 */
  height: auto;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.hal-footer__logo img {
  position: absolute;
  top: -113.514%;               /* -336 / 296 */
  left: -20.939%;               /* -232 / 1108 */
  width: 138.628%;              /* 1536 / 1108 */
  height: auto;
  max-width: none;
  flex: none;
}
.hal-footer__addr { font-size: 11px; line-height: 1.95; margin-top: 20px; }
/* Human Owner裁定1・3・4：住所 → 電話 → 営業時間 を1行ずつ独立させる。 */
.hal-footer__addr-line { display: block; }
.hal-footer__tel { color: inherit; text-decoration: none; }
.hal-footer__tel:hover { color: var(--hal-on-ink); }
.hal-footer__hours { display: block; }
.hal-footer__policy { font-size: 11px; line-height: 1.95; margin-top: 14px; color: #8b8478; }
.hal-footer__license {
  font-family: var(--hal-mono);
  font-size: 9px;
  line-height: 1.9;
  margin-top: 18px;
  color: #6e695e;
  letter-spacing: 0.04em;
}
/* 旧版 — ブランドサイト化フッター：サイト構成（下層は後工程でリンク設定） */
.hal-footer__nav {
  margin-top: 44px;
  padding-top: 36px;
  border-top: 1px solid rgba(247, 244, 236, 0.12);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 24px;
}
.hal-footer__navcol { min-width: 0; }
.hal-footer__navttl {
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.26em;
  color: var(--hal-gold);
  margin-bottom: 14px;
}
.hal-footer__navlist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hal-footer__navlist li {
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: #b3ab9b;
}
.hal-footer__navlist a { color: #b3ab9b; text-decoration: none; }
.hal-footer__navlist a:hover { color: var(--hal-on-ink); }
.hal-footer__legal {
  margin-top: 40px;
  padding-top: 26px;
  border-top: 1px solid rgba(247, 244, 236, 0.12);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 28px;
}
.hal-footer__legallist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  font-size: 11px;
  color: #8b8478;
}
.hal-footer__copy {
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: #6e695e;
}
/* OwnerDesignFix1 §B-4：Tabletで4列が潰れないよう 768〜1023px は 2×2 とし、
   1024px以上で4列へ展開する。 */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .hal-footer__nav { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .hal-footer__nav { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1024px) {
  .hal-footer__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
  }
  .hal-footer__id { max-width: 380px; }
  .hal-footer__nav {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    flex: 1;
    max-width: 640px;
  }
  .hal-footer__legal { width: 100%; }
}

/* ============================================================
   モーション — 抑制的なFade / Slide Up のみ（1秒以内・自動再生なし）
   ============================================================ */
.hal-reveal {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .45s ease, transform .45s ease;
}
.hal-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .hal-lp *, .hal-lp *::before, .hal-lp *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .hal-reveal { opacity: 1; transform: none; }
}

/* ============================================================
   印刷
   ============================================================ */
@media print {
  .hal-header { position: static !important; }
  .hal-lp { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .hal-lp img { break-inside: avoid; }
  .hal-reveal { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   旧版 Brushup Overrides — タイポグラフィ階層・情報密度
   （コピー本文・色・写真・CTA文言は不変更。サイズ/行間/余白のみ）
   ============================================================ */

/* セクション番号ラベル：判読性を一段引き上げ */
.hal-lp .hal-label,
.hal-lp .hal-assure__label { font-size: 10px; letter-spacing: 0.26em; }

/* 旧版 ⑦ 情報階層の全面再設計（実機検証済み）
   前バージョンの .hal-lp .hal-h2{margin-top:22px} が基底値24pxを縮小方向へ
   上書きしていたため、Phase2の改善が実機で反映されていなかった。
   本バージョンでは基底値を大幅に引き上げ、かつ構成要素ごとに個別クラスで
   間隔を管理する（単一の共通値に依存しない）。 */
.hal-lp .hal-label { display: block; margin-bottom: 18px; }
.hal-lp .hal-h2 { margin-top: 0; line-height: 1.5; }
.hal-lp .hal-lead { margin-top: 34px; max-width: 36em; }
.hal-lp .hal-lead + .hal-p,
.hal-lp .hal-h2 + .hal-p { margin-top: 32px; }
.hal-lp .hal-p + .hal-p { margin-top: 18px; }
.hal-lp .hal-p { line-height: 2.05; font-size: 14px; }
.hal-lp .hal-checklist { font-size: 14px; gap: 13px; margin-top: 34px; }

/* 画像とテキストの間隔（構成別）*/
.hal-lp .hal-design__rail { margin-top: 40px; }
.hal-lp .hal-quiet__media { margin-top: 38px; }
.hal-lp .hal-band__media { margin-top: 34px; }
.hal-lp .hal-choice .hal-lead { margin-top: 30px; }

/* カード・グリッド前の間隔（構成別）*/
.hal-lp .hal-price__block { margin-top: 40px; }
.hal-lp .hal-flow__grid { margin-top: 40px; }
.hal-lp .hal-faq__list { margin-top: 40px; }
.hal-lp .hal-capacity .hal-p { margin-top: 30px; }

/* PC：見出し階層を強調（H2上限を引き上げ、ラベルとの対比を強化） */
@media (min-width: 1024px) {
  .hal-lp .hal-label { margin-bottom: 22px; }
  .hal-lp .hal-h2 { font-size: clamp(27px, 2.7vw, 37px); }
  .hal-lp .hal-lead { font-size: clamp(15px, 1.3vw, 18px); margin-top: 38px; }
  .hal-lp .hal-lead + .hal-p,
  .hal-lp .hal-h2 + .hal-p { margin-top: 36px; }
}

/* FVコピー階層：サブコピーの字面を一段整える */
.hal-lp .hal-hero__sub { font-size: 14px; letter-spacing: 0.04em; }
.hal-lp .hal-final__text { font-size: 13.5px; }

/* 最終CTA主ボタン：終着点としての存在感（色・文言不変） */
.hal-lp .hal-final__actions .cta-hero { padding: 21px 46px; letter-spacing: 0.14em; }


/* ============================================================
   旧版 ⑦ セクション境界 — 背景微差＋細線＋余白切替（世界観準拠）
   ============================================================ */
.hal-lp .hal-choice,
.hal-lp .hal-consult,
.hal-lp .hal-flow,
.hal-lp .hal-faq { padding-top: calc(var(--hal-sec-y) + 12px); }

/* ============================================================
   旧版 ⑨ 関連導線（控えめなテキストリンク行）
   予約導線を妨げない補助回遊。カード化・強調色は使用しない
   ============================================================ */
.hal-related {
  margin-top: 40px;
  padding-top: 22px;
  border-top: 1px solid var(--hal-line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 36px;
}
.hal-related__label {
  flex: none;
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.28em;
  color: var(--hal-muted);
  padding-top: 5px;
}
.hal-related a {
  font-family: var(--hal-sans);
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--hal-body-deep);
  text-decoration: none;
  border-bottom: 1px solid var(--hal-line-deep);
  padding-bottom: 3px;
  transition: color .25s ease, border-color .25s ease;
}
.hal-related a:hover {
  color: var(--hal-gold-deep);
  border-bottom-color: var(--hal-gold-deep);
}
.hal-related a::after { content: "　→"; font-family: var(--hal-mono); font-size: 11px; }

/* ============================================================
   旧版 ⑥ FVコピー — 広幅PCでの右側空白を意図的な非対称構成へ
   1600px以上でのみ2カラム化（本文＋CTAを横並び）。
   それ未満は縦積みのまま（ブランドの静けさを優先し過度な分割はしない）
   ============================================================ */
@media (min-width: 1600px) {
  .hal-hero__copy {
    display: grid;
    grid-template-columns: minmax(0, 34em) auto;
    column-gap: clamp(48px, 6vw, 120px);
    align-items: end;
    max-width: 1360px;
    margin-inline: auto;
    padding-left: 196px; /* 旧版 ⑥ 窓枠1本目基準に統一 */
    padding-right: var(--hal-pad);
  }
  .hal-hero__copy-main { max-width: none; }
  .hal-hero__cta { margin-top: 0; }
}

/* ============================================================
   旧版 ⑧ 07調査設計／08料金 見出しのPC一行化
   font-size・letter-spacing・max-width・改行制御・コンテナ幅を組み合わせる。
   Tablet/Mobileは適切な改行を許可（縮小はしない）。
   ============================================================ */
.hal-h2--oneline { white-space: normal; }
@media (min-width: 1024px) {
  /* 旧版修正：`.hal-lp .hal-h2`（PC拡大則）より詳細度を上げないとサイズ指定が無効化され、
     1366px等で1行化フォントが適用されず横溢れする（旧版由来の潜在不具合） */
  .hal-lp .hal-h2--oneline {
    font-size: clamp(22px, 2.05vw, 29px); /* 通常見出しより控えめに縮小し過度な圧縮を避ける */
    letter-spacing: 0.01em;
    white-space: nowrap;
    max-width: none;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  /* コンテナ幅が狭い帯域は文字サイズをさらに一段だけ調整して1行を維持 */
  .hal-lp .hal-h2--oneline { font-size: clamp(20px, 1.9vw, 24px); }
}

/* ============================================================
   旧版 ⑩ 05整理 — 共感・自己投影コラムへの導線
   予約CTAより弱いトーンのカード型リンク行
   ============================================================ */
.hal-column-link {
  display: block;
  margin-top: 40px;
  padding: 20px 22px;
  border: 1px solid var(--hal-line);
  border-left: 2px solid var(--hal-gold-line);
  background: transparent;
  text-decoration: none;
  transition: border-color .25s ease, background-color .25s ease;
}
a.hal-column-link:hover { background: var(--hal-bg-alt); border-color: var(--hal-line-deep); }
.hal-column-link__label {
  display: block;
  font-family: var(--hal-mono);
  font-size: 9px;
  letter-spacing: 0.24em;
  color: var(--hal-muted);
}
.hal-column-link__title {
  display: block;
  margin-top: 8px;
  font-family: var(--hal-serif);
  font-size: 15px;
  letter-spacing: 0.03em;
  color: var(--hal-body-deep);
}
.hal-column-link__arrow {
  display: block;
  margin-top: 10px;
  font-family: var(--hal-sans);
  font-size: 11px;
  letter-spacing: 0.05em;
  color: var(--hal-gold-deep);
}

/* ============================================================
   旧版 ⑬ 11限定 — 主要コピーの格上げ（太字化・巨大化・金文字は不使用）
   余白・書体サイズ・短い補助罫線で視認性を高める
   ============================================================ */
.hal-capacity__principal {
  position: relative;
  margin-top: 26px;
  padding-top: 22px;
  font-family: var(--hal-serif);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: var(--hal-sumi);
}
.hal-capacity__principal::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 40px;
  height: 1px;
  background: var(--hal-gold-line);
}

/* ============================================================
   旧版 Phase5 実装ブロック
   （Owner正式指示 HAL_Akasaka_AI_System Premium LP Phase5 準拠）
   ============================================================ */

/* ------------------------------------------------------------
   §5 各セクションの文字色を共通修正：見出し色と本文色の役割入替
   - 見出し ← 従来の本文色（落ち着いた薄め #5c574e）
   - 本文   ← 従来の見出し色（濃く読みやすい #23211d）
   - CSS変数の全体置換は行わず、通常背景の本文セクションへのみ
     スコープ適用する。除外：FV／最終CTA／フォーム／ヘッダー／
     写真上の文字／黒背景上の文字／ボタン文字
   ------------------------------------------------------------ */
.hal-lp {
  --hal-heading-soft: #5c574e; /* 旧 --hal-body */
  --hal-text-strong:  #23211d; /* 旧 --hal-sumi */
}
/* 見出し → 落ち着いた薄めの色へ */
.hal-lp .hal-band .hal-h2,
.hal-lp .hal-quiet .hal-h2,
.hal-lp .hal-statement .hal-h2,
.hal-lp .hal-choice .hal-h2,
.hal-lp .hal-design .hal-h2,
.hal-lp .hal-consult .hal-h2,
.hal-lp .hal-consult .hal-card__title,
.hal-lp .hal-price .hal-h2,
.hal-lp .hal-flow .hal-h2,
.hal-lp .hal-counsel .hal-h2,
.hal-lp .hal-capacity .hal-h2,
.hal-lp .hal-faq .hal-h2,
.hal-lp .hal-bridge .hal-h2 {
  color: var(--hal-heading-soft);
}
/* 本文 → 濃く読みやすい色へ */
.hal-lp .hal-band .hal-p,
.hal-lp .hal-band .hal-lead,
.hal-lp .hal-band .hal-checklist,
.hal-lp .hal-quiet__text,
.hal-lp .hal-statement .hal-p,
.hal-lp .hal-choice .hal-p,
.hal-lp .hal-choice .hal-lead,
.hal-lp .hal-design .hal-p,
.hal-lp .hal-consult .hal-p,
.hal-lp .hal-consult .hal-card__list,
.hal-lp .hal-price .hal-p,
.hal-lp .hal-price .hal-assure__list,
.hal-lp .hal-flow .hal-p,
.hal-lp .hal-counsel .hal-p,
.hal-lp .hal-capacity .hal-p,
.hal-lp .hal-faq__a,
.hal-lp .hal-bridge__text {
  color: var(--hal-text-strong);
}
/* カード説明文は補足階層を保ちつつ一段濃く（muted → body-deep） */
.hal-lp .hal-consult .hal-card__desc { color: var(--hal-body-deep); }

/* ------------------------------------------------------------
   §7 Section01「違和感」— 具体例5文の強調
   本文より一段階濃い文字色（--hal-ink）＋ weight500 ＋ 行間・各文間隔 ＋ 控えめな左罫線
   青・赤・強背景・ボタン化・蛍光マーカーは不使用
   ------------------------------------------------------------ */
.hal-lp .hal-checklist--em {
  gap: 15px;
  margin-top: 32px;
}
.hal-lp .hal-checklist--em > div {
  color: var(--hal-ink);
  font-weight: 500;
  line-height: 1.8;
  padding-left: 14px;
  border-left: 1px solid var(--hal-gold-line);
}

/* ------------------------------------------------------------
   §8 Section02「提供するもの」— 2行の重要メッセージ強調
   PC/Tabletは自然な2行（各文=1行）／Mobileは不自然な位置で改行しない（自然折返し）
   ------------------------------------------------------------ */
.hal-lp .hal-em-message {
  margin-top: 28px;
  margin-bottom: 8px;
  color: var(--hal-ink);
  font-weight: 500;
  line-height: 2.05;
}


/* ------------------------------------------------------------
   §9 Section04「地域対応」— 小見出し「赤坂の非公開拠点。」中央配置
   上位見出しの階層（0.72em・薄め色）は維持。本文は中央揃えにしない
   ------------------------------------------------------------ */
.hal-lp .hal-statement__subhead {
  display: block;
  font-size: 0.72em;
  color: var(--hal-heading-soft);
  margin-top: 12px;
  text-align: center;
}

/* ------------------------------------------------------------
   §10 Section05「整理」— コラムリンクの認識性向上
   優しいオフホワイト背景＋境界線＋濃い文字。派手な塗り・強影・青緑は不使用
   ------------------------------------------------------------ */
.hal-lp .hal-column-link {
  background: #fbf9f3;
  border: 1px solid var(--hal-line-deep);
  border-left: 2px solid var(--hal-gold-line);
  padding: 22px 24px;
}
.hal-lp a.hal-column-link:hover,
.hal-lp a.hal-column-link:focus-visible {
  background: #f7f4ec;
  border-color: var(--hal-gold-line);
}
.hal-lp .hal-column-link__title { color: var(--hal-ink); font-size: 15.5px; }
.hal-lp .hal-column-link__arrow {
  color: var(--hal-gold-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(123, 106, 80, 0.55);
}

/* ------------------------------------------------------------
   §11-1 Section07 見出し位置 — セクション番号・大画像・本文と左端基準を統一
   コンテナ（--hal-pad）以外の字下げ・インデントを明示的に排除
   ------------------------------------------------------------ */
.hal-lp .hal-design > .hal-container .hal-label,
.hal-lp .hal-design > .hal-container .hal-h2--oneline {
  text-align: left;
  margin-left: 0;
  padding-left: 0;
  text-indent: 0;
}

/* ------------------------------------------------------------
   §11-2 Section07 港区・中央区リンク — 通常状態からリンクと認識可能に
   ------------------------------------------------------------ */
/* PC：写真下部の行動ラベルを常時表示（hover依存を廃止） */
@media (min-width: 1024px) {
  .hal-lp .hal-design__pair-label { opacity: 1; }
  .hal-lp .hal-design__pair-title {
    border-bottom: 1px solid var(--hal-line-deep);
    padding-bottom: 6px;
  }
}
/* Tablet/Mobile：非表示だったリンクを2カラムで表示し、タップ領域を確保 */
@media (max-width: 1023.98px) {
  .hal-lp .hal-design__pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 30px;
  }
  .hal-lp .hal-design__pair-item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    min-height: 44px;
  }
  .hal-lp .hal-design__pair img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }
  .hal-lp .hal-design__pair-title {
    margin-top: 10px;
    font-family: var(--hal-serif);
    font-size: 12.5px;
    letter-spacing: 0.05em;
    color: var(--hal-body-deep);
  }
  .hal-lp .hal-design__pair-label {
    position: static;
    opacity: 1;
    background: none;
    margin-top: 6px;
    padding: 0 0 8px;
    font-family: var(--hal-sans);
    font-size: 11px;
    letter-spacing: 0.04em;
    color: var(--hal-gold-deep);
    border-bottom: 1px solid var(--hal-line-deep);
  }
}

/* ------------------------------------------------------------
   §11-3 Section07 結論コピーの強調（調査設計力）
   本文より一段階濃い色＋weight500＋上下余白＋控えめな左罫線
   ------------------------------------------------------------ */
.hal-lp .hal-design__conclusion {
  margin-top: 32px;
  margin-bottom: 4px;
  padding: 2px 0 2px 14px;
  border-left: 1px solid var(--hal-gold-line);
  color: var(--hal-ink);
  font-weight: 500;
}

/* ------------------------------------------------------------
   §12（旧版・Owner緊急訂正反映） Section08「料金」最下部
   正式構成：GUIDE（分類ラベル・維持）＋ CASE ＋ 調査にかかる費用
   URL未確定の間は span（非リンク）で表示し、クリック・フォーカス・遷移なし。
   URL確定後は hal-link-config.js が a要素へ自動昇格（別リンク・別URL管理）
   ------------------------------------------------------------ */
.hal-lp .hal-related--guide { align-items: flex-start; }
.hal-lp .hal-related--guide .hal-related__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}
.hal-lp .hal-related__major {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
.hal-lp .hal-related__major-key {
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--hal-body-deep);
}
.hal-lp .hal-related__major-sub {
  font-size: 11.5px;
  letter-spacing: 0.04em;
  color: var(--hal-faint);
}
.hal-lp a.hal-related__major:hover .hal-related__major-key { color: var(--hal-gold-deep); }
/* URL未確定プレースホルダー（span）：リンク視覚表現・カーソル変化を与えない */
.hal-lp span.hal-related__major { cursor: default; }
/* URL確定後（a昇格後）は既存の .hal-related a 装飾（下線・矢印）が自動適用される */

/* ------------------------------------------------------------
   §13 FAQ見出し — 1280px以上は1行表示／1024pxも表示領域内で1行化
   コンテナ幅を適切に拡張し、フォントは必要最小限のみ調整。左端は崩さない
   ------------------------------------------------------------ */
@media (min-width: 1280px) {
  .hal-lp .hal-faq .hal-container { max-width: 800px; }
  .hal-lp .hal-faq .hal-h2 {
    font-size: 30px;
    letter-spacing: 0.015em;
    white-space: nowrap;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .hal-lp .hal-faq .hal-h2 {
    font-size: 26px;
    letter-spacing: 0.015em;
    white-space: nowrap;
  }
}

/* ------------------------------------------------------------
   §3-3 三本線メニュー（全デバイス共通）— PCでの展開パネル整列
   パネル内容をコンテンツ左端基準へ揃える（横ずれ防止）
   ------------------------------------------------------------ */
@media (min-width: 1024px) {
  .hal-header__panel {
    padding-inline: max(var(--hal-pad), calc((100% - var(--hal-max)) / 2 + var(--hal-pad)));
  }
  .hal-header__panel nav a { font-size: 13px; padding: 13px 2px; }
}

/* ------------------------------------------------------------
   旧版 最終整合：URL未確定導線のPending placeholder（非リンクspan）
   - 6キー（access / column_intro / seo_minato / seo_chuo / case_studies / cost_breakdown）共通
   - クリック不可・フォーカス不可・遷移不可。カーソルはリンク表示にしない
   - レイアウト・コピーは維持（hover等のリンク装飾はa要素限定のため、
     Site Configurationでの正式URL登録→a昇格後に自動で復帰する）
   ------------------------------------------------------------ */
.hal-lp span[data-hal-link-placeholder],
.hal-header__panel span[data-hal-link-placeholder] { cursor: default; }

/* ヘッダーメニュー「アクセス」：文字表示を維持した非リンク状態（既存メニュー項目と同一レイアウト） */
.hal-header__panel nav .hal-header__panel-nolink {
  font-family: var(--hal-sans);
  font-size: 14px;
  letter-spacing: 0.12em;
  color: var(--hal-on-ink-mut);
  padding: 15px 2px;
  border-bottom: 1px solid rgba(247, 244, 236, 0.08);
}
@media (min-width: 1024px) {
  .hal-header__panel nav .hal-header__panel-nolink { font-size: 13px; padding: 13px 2px; }
}

/* ============================================================
   Mobile完成品質ブラッシュアップ（Owner指示・Mobile専用スコープのみ）
   対象: max-width:767.98px のみ。Tablet(768–1023px)・Desktop(1024px+)には
   一切影響しない（既存のTablet/Desktop用ルールは無変更）。
   構造・コピー・LP世界観の変更なし。タップ領域とiOS自動ズーム防止のみ対応。
   ============================================================ */
@media (max-width: 767.98px) {
  /* v1.0.30 §4-5：Mobileの電話はアイコン単体（44×44px）へ変更したため旧指定を削除した。 */

  /* ③ Safe Area対応：viewport-fit=cover環境（ノッチ/ダイナミックアイランド機種）でのみ
     効果を持つ防御的な追加。通常環境ではenv()が0を返すため表示に変化はない */
  .hal-header__inner { padding-top: max(7px, env(safe-area-inset-top, 0px)); }
}

/* ============================================================
   見出し組版システム v3（Owner是正指示）
   ------------------------------------------------------------
   - 見出しの一律強制改行は撤廃し、幅帯別クラスで必要箇所のみ制御する
   - 本文・注記の意味単位改行は Mobile 専用クラス .hal-br-mobile を使用する
   - 改行は「その幅帯で実測上1行に収まらない場合のみ」付与する
   幅帯：sm=320–359 / md=360–389 / lg=390–767 / tablet=768–1023
   ============================================================ */
.hal-br-sm, .hal-br-md, .hal-br-lg, .hal-br-tablet, .hal-br-390up, .hal-br-374,
.hal-br-mobile { display: none; }
/* .hal-br-mobile：本文・注記の意味単位改行（Mobileのみ有効。Tablet/Desktopでは改行しない） */
@media (max-width: 767.98px) { .hal-br-mobile { display: inline; } }
@media (max-width: 374.98px) { .hal-br-374 { display: inline; } }
/* 360px以上（Mobile Standard／Large／Tablet／Desktop）で有効な分割点 */
@media (min-width: 360px) { .hal-br-390up { display: inline; } }
@media (max-width: 359.98px) { .hal-br-sm { display: inline; } }
@media (min-width: 360px) and (max-width: 389.98px) { .hal-br-md { display: inline; } }
@media (min-width: 390px) and (max-width: 767.98px) { .hal-br-lg { display: inline; } }
@media (min-width: 768px) and (max-width: 1023.98px) { .hal-br-tablet { display: inline; } }

@media (max-width: 767.98px) {
  /* v1.0.32：--hal-pad の二重定義（clamp(12px,3.6vw,20px) と clamp(20px,5.6vw,24px)）を解消し、
     hal-authority-hub.css 末尾の「v1.0.32 版面（左右余白）確定仕様」1か所へ集約した。 */

  /* 見出しサイズ：最低21pxを厳守しつつ、拡大を抑えて1行に収まる字数を確保する。
     390px以上で16字までが1行に収まる寸法へ調整（レバー④⑤） */
  .hal-h2 {
    font-size: clamp(21px, 5.2vw, 23px);
    letter-spacing: 0.008em;
    line-height: 1.5;
  }
  .hal-choice .hal-h2 { font-size: clamp(21px, 5.2vw, 23px); }
  .hal-hero__title  { font-size: clamp(24px, 6.6vw, 29px); letter-spacing: 0.008em; }
  .hal-form-title   { font-size: clamp(22px, 5.6vw, 25px); }
  .hal-final__title { font-size: clamp(21px, 5.2vw, 24px); letter-spacing: 0.006em; } /* Mobile全幅21px以上を厳守 */
  .hal-design .hal-h2--oneline { white-space: normal; }

  /* Section07（32字）：導入節＝アイブロー、結論節＝主見出しの2部構成 */
  .hal-h2--m-split .hal-h2__lead {
    display: block; font-size: clamp(14px, 3.9vw, 17px);
    letter-spacing: 0.01em; line-height: 1.6; color: var(--hal-body-deep);
  }
  .hal-h2--m-split .hal-h2__main {
    display: block; font-size: clamp(20px, 5.2vw, 24px); line-height: 1.5; margin-top: 3px;
  }

  /* v1.0.30 §4-2：Mobileのブランド表示は専用の短縮タイトル要素へ移行したため旧指定を削除した。 */
}

/* Mobile Small：最長2見出し専用の版面拡張（Owner指示のCTA専用レイアウト）
   最低21pxを確保したまま2行に収めるため、この2見出しのみ版面を左右へ広げ、
   字間を標準（0）へ戻して1行あたりの収容字数を確保する */
@media (max-width: 359.98px) {
  .hal-h2--m-split { margin-inline: -6px; }
  /* 最終CTA（27字）：最低21pxを厳守したまま2行に収めるため、
     この見出しに限りCTA専用の版面（左右余白）を確保し、字間を標準へ戻す。
     本文全体のガター・他セクションには一切影響しない */
  /* 最終CTA：意味単位「…ものを、」／「ここに置きに…」の2行を320pxでも成立させる。
     2行目15字を1行に収めるため、CTA見出しに限り版面を拡張し詰め組を適用する
     （本文ガター・他セクションには一切影響しない） */
  .hal-final__title {
    margin-inline: -15px;      /* CTA専用コンテナ幅の拡張 */
    font-size: 21px;           /* 最低21pxを厳守 */
    letter-spacing: -0.085em;  /* CTA専用の詰め組 */
    line-height: 1.45;         /* 直前ビルドと同一＝以降のセクション位置に影響なし */
  }
}

/* Desktop：10相談員・11限定は原則1行。font-sizeを縮小せず、
   見出しのfont-size上限のみ調整して1行に収める */
@media (min-width: 1024px) {
  .hal-counsel .hal-h2,
  .hal-capacity .hal-h2 { font-size: clamp(25px, 2.7vw, 34px); }
}

/* ------------------------------------------------------------
   最終CTA見出し：意味単位の2行構造（全幅共通）
   Mobile Small（320–359px）では確実に行を分けるためblock表示にする。
   360px以上は自然表示で同じ意味単位の2行が成立する。
   ------------------------------------------------------------ */
.hal-final-heading__line { display: block; }

/* ------------------------------------------------------------
   最終CTA：360–389pxでは21px化により2行目（15字）が実効幅を超えるため、
   CTA見出しに限り字間のみ最小限詰める（左端・版面・他セクションは不変）
   ------------------------------------------------------------ */
@media (min-width: 360px) and (max-width: 389.98px) {
  .hal-final__title { letter-spacing: -0.04em; }
}
/* 21px化に伴う見出しブロックの高さ増を相殺し、以降のセクション位置を不変に保つ
   （CTA専用のline-height調整。他セクションには一切影響しない） */
@media (min-width: 360px) and (max-width: 413.98px) {
  .hal-final__title { line-height: 1.55; }
}

/* ============================================================
   v1.0.11 ライブプレビュー是正（組版・可読性）
   ============================================================ */

/* §7/§9/§11 行単位管理：各行を独立ブロックとし、中央軸を完全一致させる */
.hal-heading-line { display: block; }
.hal-p--lines .hal-p__line { display: block; }

/* §6 主見出しの中央配置（01/02/03/04/07/08/09/10/11/12/13）
   text-alignだけでなく、見出しブロック自体をコンテンツ中央へ寄せる。
   セクション番号ラベル・本文・FAQ質問・カード本文・料金説明は対象外 */
.hal-lp .hal-band__head .hal-h2,
.hal-lp .hal-statement .hal-h2,
.hal-lp .hal-design .hal-h2,
.hal-lp .hal-price .hal-h2,
.hal-lp .hal-flow .hal-h2,
.hal-lp .hal-counsel .hal-h2,
.hal-lp .hal-capacity .hal-h2,
.hal-lp .hal-faq .hal-h2,
.hal-lp .hal-bridge .hal-h2 {
  text-align: center;
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
  text-indent: 0;
  width: 100%;
  max-width: 100%;
}
/* Section04の小見出しは既に中央。上位見出しとの軸を共有させる */
.hal-lp .hal-statement__subhead { text-align: center; }
/* Section07は左端統一の旧指定を解除し、中央配置へ統合 */
.hal-lp .hal-design > .hal-container .hal-h2--oneline { text-align: center; margin-left: auto; }

/* §12 Mobile本文の版面・可読性 */
@media (max-width: 767.98px) {
  /* v1.0.32：--hal-pad の定義は「v1.0.32 版面（左右余白）確定仕様」へ集約した。 */
  .hal-lp .hal-p,
  .hal-lp .hal-lead,
  .hal-lp .hal-quiet__text,
  .hal-lp .hal-faq__a,
  .hal-lp .hal-card__desc,
  .hal-lp .hal-flow__step-desc,
  .hal-lp .hal-bridge__text {
    font-size: 16px;
    line-height: 1.88;
    letter-spacing: 0.04em;
  }


  /* §5 ヘッダー：MENUを右へ寄せ、タイトルとの視覚距離と右端安全余白を確保 */
  .hal-header__menu-btn { padding-inline: 16px 2px; }

  /* §10 Section08料金：Mobile全幅1行（本文より明確に大きい流体サイズ） */
  .hal-lp .hal-price__amount { white-space: nowrap; font-size: clamp(23px, 6.2vw, 30px); letter-spacing: 0.01em; }
  /* §11 Section11リード：本文（16px）を下回らせない */
  .hal-lp .hal-capacity__principal { font-size: 16px; line-height: 1.9; letter-spacing: 0.03em; }
}

/* §8/§11 「375px以上で1行」の要件：該当帯域でのみ見出し・リード専用に
   版面（左右margin）と字間を最小限調整して1行を成立させる。
   375px未満は自然な2行（意味単位）へフォールバックする */
@media (min-width: 375px) and (max-width: 767.98px) {
  .hal-lp .hal-choice .hal-h2 { margin-inline: -14px; letter-spacing: -0.03em; }
  .hal-lp .hal-capacity__principal {
    white-space: nowrap;
    margin-inline: -14px;
    font-size: clamp(16px, 4.3vw, 18px);
    letter-spacing: 0.01em;
  }
}

/* §5 ヘッダー：タイトルとMENUの視覚距離を確保（Tablet帯まで適用） */
@media (max-width: 1023.98px) {
  .hal-header__inner { column-gap: 24px; }
}

/* §9 Section05コラム見出し：2行の中央軸を統一（カードの中央揃え設計に合わせる） */
.hal-lp .hal-column-link__title { display: block; text-align: center; }

/* ============================================================
   v1.0.11 最終是正（限定7項目）
   ============================================================ */
/* v1.0.30 §4-6：負のmarginによる画面端寄せは禁止のため削除した（旧①）。 */

/* ③④ 「1行に収める」見出し専用クラス：見出し専用の版面と字間のみで1行化し、
   21px以上を維持する（本文相当への縮小・transform縮小は行わない） */
@media (max-width: 767.98px) {
  .hal-lp .hal-h2--fit {
    margin-inline: -14px;
    letter-spacing: -0.02em;
    white-space: nowrap;
  }
  /* ⑤ 最終CTA：見出し専用版面を最大化し、可能な限り1行へ近づける */
  .hal-lp .hal-final__title {
    margin-inline: -14px;
    letter-spacing: -0.02em;
    font-size: clamp(21px, 5.4vw, 26px);
    line-height: 1.5;
  }
}
/* ③④ 320〜359pxでも1行化を試みる（字間のみさらに最小限詰める） */
@media (max-width: 359.98px) {
  .hal-lp .hal-h2--fit { letter-spacing: -0.05em; margin-inline: -16px; }
}
/* ④ Section09は本文系要素のため、見出し相当の階層を保ったまま1行化 */
.hal-lp .hal-flow__closing.hal-h2--fit { white-space: nowrap; }

/* ⑤ 最終CTA：320〜359pxでも意味単位2行を21pxで成立させる（CTA専用版面・詰め組） */
@media (max-width: 359.98px) {
  .hal-lp .hal-final__title { margin-inline: -20px; letter-spacing: -0.085em; }
}

/* ============================================================
   v1.0.11 Rev2 文章レイアウト最終ブラッシュアップ
   ============================================================ */
/* 最終CTA・フォームの中央軸を他セクションと統一 */
.hal-lp .hal-final__title,
.hal-lp .hal-final__text,
.hal-lp .hal-form-title,
.hal-lp .hal-form-lead { text-align: center; margin-inline: auto; }

/* フッター：3表記と対応エリアを均等配置（全幅で並びを整える） */
.hal-footer__policy { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; }
.hal-footer__policy-line { display: inline-block; white-space: nowrap; }

@media (max-width: 767.98px) {
  /* 日本語組版：語尾・助詞の孤立を抑え、行末の呼吸を整える */



}

/* ------------------------------------------------------------
   主見出し直下のリード文・導入文のみコンテンツ中央基準へ復旧
   （長文本文・FAQ・カード本文・箇条書き・料金説明・フォーム・
     フッター・ナビ・ボタン補足文は左揃えのまま維持する）
   ------------------------------------------------------------ */
.hal-lp .hal-lead,
.hal-lp .hal-em-message {
  width: 100%;
  max-width: 34em;
  margin-inline: auto;
  text-align: center;
}
/* Section02の重要メッセージ：4行を等間隔・同一中央軸で表示 */
.hal-lp .hal-em-message__line { display: block; }
.hal-lp .hal-em-message { line-height: 2.0; }

/* ============================================================
   v1.0.12 PC版ブラッシュアップ（第1回）
   ------------------------------------------------------------
   適用範囲：Desktop（1024px以上）のみ。
   Mobile（〜767.98px）／Tablet（768〜1023.98px）へは一切影響させない。
   コピー本文・写真・CTA文言・DOM構造・Desktop全体レイアウトは不変更。
   本ブロックで扱うのは text-align / max-width / margin と改行制御のみ。
   ============================================================ */

/* PC専用の意味単位改行（Mobile用 .hal-br-mobile と排他。Tabletでは双方とも非表示） */
.hal-br-pc { display: none; }
@media (min-width: 1024px) {
  .hal-br-pc { display: inline; }
}

@media (min-width: 1024px) {

  /* ---- ① Section02 リード ------------------------------------
     「考えすぎ」で済ませてきた、／パートナーの変化はありませんか。
     列幅489px・字送り18pxのため30字は1行に収まらない（30×18=540px）。
     font-size・列幅を変更せずOwner第二候補（意味単位2行）で確定する。 */

  /* ---- ② Section03 完全予約制／完全個室／完全非公開／少数対応 ---- */
  .hal-lp .hal-pillars { text-align: center; }

  /* ---- ④ Section04（赤坂の非公開拠点）本文 -------------------
     .hal-prose の 38em（608px）が中央配置の見出し（764px）より狭く、
     軸ずれと3行化の原因になっていた。版面を見出しと同一幅へ揃える。
     長文本文のため左揃えは維持する（既定の組版方針どおり）。 */
  .hal-lp .hal-statement .hal-prose {
    max-width: 100%;
    margin-inline: auto;
  }

  /* ---- ⑦ Section07（対応調査）見出し・リード・注記の中央配置 ---- */
  .hal-lp .hal-consult .hal-h2 {
    text-align: center;
    margin-inline: auto;
    padding-left: 0;
    padding-right: 0;
    text-indent: 0;
    width: 100%;
    max-width: 100%;
  }
  .hal-lp .hal-consult > .hal-container > .hal-reveal > .hal-p {
    text-align: center;
    margin-inline: auto;
  }
  .hal-lp .hal-consult__note {
    text-align: center;
    margin-inline: auto;
  }

  /* ---- ⑧ Section08（料金）高額請求への注記ブロックの中央配置 ---- */
  .hal-lp .hal-assure { text-align: center; }

  /* ---- ⑪ Section11（受託限定）主要コピーの中央配置 -------------
     補助罫線（::before）も中央基準へ移し、テキストとの軸を一致させる。 */
  .hal-lp .hal-capacity__principal { text-align: center; }
  .hal-lp .hal-capacity__principal::before {
    left: 50%;
    transform: translateX(-50%);
  }
  .hal-lp .hal-capacity .hal-p--lines { text-align: center; }

  /* ---- ⑮ 最終CTA：主見出しと説明文の余白拡大 ------------------
     24px → 44px。見出しを主役として自立させる。 */
  .hal-lp .hal-final__text { margin-top: 44px; }

}

/* ============================================================
   v1.0.12 画像2点限定実装
   ------------------------------------------------------------
   Section04 オフィス外観枠に実画像（slot_map.PNG.s8-896.webp）を配置する。
   枠の幾何（aspect-ratio 4/3・配置・余白・MAPラベル）は一切変更しない。
   frame は flex コンテナのため、img に明示的な寸法指定が必要。
   ============================================================ */
.hal-office-photo__frame > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ============================================================
   v1.0.12 PC版ブラッシュアップ（第2回）
   ------------------------------------------------------------
   適用範囲：Desktop（1024px以上）のみ。
   Mobile（〜767.98px）／Tablet（768〜1023.98px）へは一切影響させない。
   色設計・LP構造・写真・CTA内容・FAQ構造は不変更。
   ============================================================ */

/* PC専用の非表示改行（Mobile/Tabletでは従来どおり改行を維持する） */
@media (min-width: 1024px) {
  .hal-br-nopc { display: none; }
}

@media (min-width: 1024px) {

  /* ---- #00 各セクション主見出しのアンダーライン（全セクション統一） ----
     細い金線を見出し直下に中央配置。既存の金罫（40px）より短く、主張を抑える。 */
  .hal-lp .hal-h2::after {
    content: "";
    display: block;
    width: 52px;
    height: 1px;
    margin: 20px auto 0;
    background: var(--hal-gold);
    opacity: 0.45;
  }

  /* ---- #01 違和感チェックリストの中央揃え ----
     金の縦罫を項目テキストに密着させたまま、項目単位で中央へ寄せる。 */
  .hal-lp .hal-checklist--em > div {
    width: fit-content;
    margin-inline: auto;
  }

  /* ---- #02 提供するもの ---- */
  /* 「完全予約制。／完全個室。／完全非公開。／少数対応。」をPC表示から削除。
     Mobile・Tablet は変更禁止のため、HTMLからの物理削除ではなくPC限定の非表示とする。 */
  .hal-lp .hal-pillars { display: none; }
  .hal-lp .hal-band--flip .hal-band__body > p.hal-p:nth-of-type(1) { text-align: center; }
  .hal-lp .hal-em-message__line { display: inline; }

  /* ---- #02 / #04 本文内の控えめな強調（装飾は加えない） ---- */
  .hal-lp .hal-em {
    color: var(--hal-ink);
    font-weight: 500;
  }

  /* ---- #05 小見出しのアンダーライン（主見出しより短く・淡く） ---- */
  .hal-lp .hal-choice__sub::after,
  .hal-lp .hal-capacity__principal::after {
    content: "";
    display: block;
    width: 32px;
    height: 1px;
    margin: 16px auto 0;
    background: var(--hal-line-deep);
  }

  /* ---- #07 調査カード説明文の視認性向上（カードタイトル19pxは不変） ---- */
  .hal-lp .hal-consult .hal-card__desc { font-size: 13.5px; }

  /* ---- #11 補足文を1行表示へ ---- */
  .hal-lp .hal-capacity .hal-p--lines .hal-p__line { display: inline; }

  /* ---- #12 FAQ の中央揃え（details / summary 構造は不変） ---- */
  .hal-lp .hal-faq__item summary {
    justify-content: center;
    padding-inline: 32px;
  }
  .hal-lp .hal-faq__a { text-align: center; }

  /* ---- #13 予約の前に 各行の中央揃え（罫線・構造は不変） ---- */
  .hal-lp .hal-bridge__row { justify-content: center; }

  /* ---- 最終CTA ---- */
  /* 「胸の奥にあるもの」のみ視認性を上げる。他の文字サイズは不変。 */
  .hal-lp .hal-final__title-em { font-size: 1.18em; }
  /* CTA直下の注記をCTAへ近づける */
  .hal-lp .hal-final__note { margin-top: 14px; }
  /* 電話番号ブロックを右端へ寄せ、左右のバランスを取る */
  .hal-lp .hal-final__actions { justify-content: space-between; }
  /* お支払い方法の中央揃え */
  .hal-lp .hal-payment__title,
  .hal-lp .hal-payment__text { text-align: center; }

  /* ---- 非公開相談フォーム ---- */
  .hal-lp .hal-form-intro p:first-child { text-align: center; }
  /* .hal-field > label{display:block} により flex が無効化されているため、
     インライン整列で中央化する（display は変更しない＝指定外変更を避ける） */
  .hal-lp .hal-check { text-align: center; }

}

/* ============================================================
   v1.0.13 全デバイス ブラッシュアップ
   ------------------------------------------------------------
   Owner指示「PC版へ適用した最新デザインをTablet・Mobileにも反映」に基づき、
   v1.0.12 でDesktop限定としていた調整を全ブレークポイントへ展開する。
   単純な縮小ではなく、各デバイスの版面幅・字送りに合わせて値を個別に定める。
   色設計・コピー・DOM構造・写真・CTA内容は不変更。
   ============================================================ */

/* ---- ① セクション主見出しのアンダーライン（全デバイス）----
   見出しの版面幅に比例させ、上下限で暴れを抑える。
   Desktopの見出し幅は 489〜1064px と幅があるため、固定長では
   短く見える版面と長すぎる版面が同時に発生していた。 */
.hal-lp .hal-h2::after {
  content: "";
  display: block;
  height: 1px;
  background: var(--hal-gold);
  opacity: 0.45;
  width: clamp(56px, 18%, 88px);   /* Mobile 既定 */
  margin: 16px auto 0;
}

/* ---- ①' 小見出しのアンダーライン（主見出しと差別化・全デバイス）----
   主見出しの約6割の長さ／金ではなく淡い罫で階層を明示する。 */
.hal-lp .hal-choice__sub::after,
.hal-lp .hal-capacity__principal::after {
  content: "";
  display: block;
  height: 1px;
  background: var(--hal-line-deep);
  width: clamp(36px, 11%, 56px);
  margin: 13px auto 0;
}

/* ---- ② Section01 違和感リスト（全デバイス）----
   ブロック全体を中央に置き、各行の左端は揃える。装飾バーは削除。 */
.hal-lp .hal-checklist--em {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
.hal-lp .hal-checklist--em > div {
  width: auto;
  margin-inline: 0;
  text-align: left;
  padding-left: 0;
  border-left: 0;
}

/* ---- v1.0.12 のDesktop限定調整を全デバイスへ展開 ---- */
.hal-lp .hal-pillars { display: none; }                 /* #02 4項目の削除 */
.hal-lp .hal-band--flip .hal-band__body > p.hal-p:nth-of-type(1) { text-align: center; }
.hal-lp .hal-em { color: var(--hal-ink); font-weight: 500; }
.hal-lp .hal-bridge__row { justify-content: center; }
.hal-lp .hal-faq__item summary { justify-content: center; padding-inline: 32px; }
.hal-lp .hal-payment__title,
.hal-lp .hal-payment__text { text-align: center; }
.hal-lp .hal-check { text-align: center; }

/* ---- ⑥ 非公開フォーム 導入文3行を中央揃え（全デバイス）---- */
.hal-lp .hal-form-intro { text-align: center; }

/* ============================================================
   Tablet（768px以上）
   ============================================================ */
@media (min-width: 768px) {
  .hal-lp .hal-h2::after { width: clamp(72px, 15%, 120px); margin-top: 18px; }
  .hal-lp .hal-choice__sub::after,
  .hal-lp .hal-capacity__principal::after { width: clamp(44px, 9%, 76px); margin-top: 15px; }

  /* ④ Section04 本文を1行に収めるため版面を見出し幅へ揃える */
  .hal-lp .hal-statement .hal-prose { max-width: 100%; margin-inline: auto; }

  /* #02 重要メッセージ 2行化（Mobileは自然折返しのまま維持） */
  .hal-lp .hal-em-message__line { display: inline; }

  /* #11 補足文の1行化（Mobileは2行のまま維持） */
  .hal-lp .hal-capacity .hal-p--lines .hal-p__line { display: inline; }

  /* FAQ回答の中央揃え（Mobileは長文可読性のため左揃えを維持） */
  .hal-lp .hal-faq__a { text-align: center; }

  /* 最終CTA */
  .hal-lp .hal-final__title-em { font-size: 1.18em; }
  .hal-lp .hal-final__note { margin-top: 14px; }
  .hal-lp .hal-final__actions { justify-content: space-between; }

  /* ⑤ 調査カード説明文（Tabletはカード幅166pxのため抑えめに） */
  .hal-lp .hal-consult .hal-card__desc {
    font-size: 12.5px;
    line-height: 1.85;
    margin-top: 11px;
  }
}

/* ============================================================
   Desktop（1024px以上）
   ============================================================ */
@media (min-width: 1024px) {
  .hal-lp .hal-h2::after { width: clamp(80px, 15%, 140px); margin-top: 20px; }
  .hal-lp .hal-choice__sub::after,
  .hal-lp .hal-capacity__principal::after { width: clamp(48px, 9%, 84px); margin-top: 16px; }

  /* ⑤ 調査カード説明文（カード幅285px）
     字送りを1段上げ、行間と見出しからの距離を広げて可読性を確保する。
     カードタイトル19pxとの階層は維持する。 */
  .hal-lp .hal-consult .hal-card__desc {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.03em;
    margin-top: 12px;
  }
  .hal-lp .hal-consult .hal-card__list { margin-top: 20px; }
}

/* ============================================================
   Mobile（767.98px以下）— 各デバイス最適化
   ============================================================ */
@media (max-width: 767.98px) {
  /* ⑤ 調査カード説明文：タイトル19pxとの階層を明確にする */
  .hal-lp .hal-consult .hal-card__desc {
    font-size: 15px;
    line-height: 1.95;
    margin-top: 10px;
  }
}

/* ============================================================
   v1.0.13 ⑦ 最終CTA — 参考画像基準の最適化
   ------------------------------------------------------------
   参考画像の要点：主見出しが写真の下部に重なって配置され、
   独立した黒帯ではなく「写真の余韻の中に言葉が置かれる」構図になっている。
   DOM構造は変更せず、コピーブロックを写真下部へ重ねることで再現する。
   コピー文言・写真・色設計・CTA文言は不変更。
   ============================================================ */

/* 写真の下端へコピー先頭（主見出し）を重ねる。
   背景を単色墨から縦グラデーションへ変更し、写真から墨への移行を連続させる。 */
.hal-lp .hal-final__copy {
  position: relative;
  z-index: 1;
  margin-top: -132px;
  padding-top: 30px;
  background: linear-gradient(
    180deg,
    rgba(27, 24, 19, 0) 0%,
    rgba(27, 24, 19, 0.42) 26%,
    rgba(27, 24, 19, 0.88) 52%,
    var(--hal-ink) 72%
  );
}

/* 写真上での可読性を確保する最小限の陰。装飾は加えない。 */
.hal-lp .hal-final__title {
  text-shadow: 0 1px 18px rgba(12, 10, 8, 0.55);
}

/* 見出しが乗る帯を少し沈め、白文字とのコントラストを確保する */
.hal-lp .hal-final__scrim {
  background: linear-gradient(
    180deg,
    rgba(16, 14, 12, 0.30) 0%,
    rgba(16, 14, 12, 0.14) 38%,
    rgba(20, 17, 13, 0.52) 72%,
    rgba(27, 24, 19, 0.98) 100%
  );
}

@media (min-width: 768px) {
  .hal-lp .hal-final__copy { margin-top: -176px; padding-top: 36px; }
}

@media (min-width: 1024px) {
  .hal-lp .hal-final__copy { margin-top: -212px; padding-top: 44px; }

  /* 見出し → 本文の余韻を広げ、視線を無理なくCTAへ送る */
  .hal-lp .hal-final__text { margin-top: 52px; }

  /* CTAボタン：面積と可読性を上げCV導線を強化する。
     色・書体・角丸なしの意匠はブランド設計どおり据え置く。 */
  .hal-lp .hal-final__actions .cta-hero {
    font-size: 16.5px;
    letter-spacing: 0.15em;
    padding: 24px 58px;
  }
}

/* ============================================================
   v1.0.14 Premium 最終ブラッシュアップ（全デバイス）
   ------------------------------------------------------------
   デザイン変更ではなく、タイポグラフィ・視線誘導・余白・リズムの調整。
   LP構造・世界観・コピー・色設計は不変更。
   ============================================================ */

/* ---- ① Section01 テキストブロックの文字開始列を統一 ----
   見出し2行（.hal-lead--stack）と箇条書き5行（.hal-checklist--em）を
   同一幅・同一左端の柱に揃える。柱そのものは中央に配置し、中央構図は維持する。 */
.hal-lp .hal-lead--stack,
.hal-lp .hal-checklist--em {
  width: min(100%, 344px);
  max-width: 100%;
  margin-inline: auto;
  text-align: left;
}
.hal-lp .hal-lead--stack { margin-bottom: 0; }
.hal-lp .hal-checklist--em > div { width: auto; margin-inline: 0; }

/* ---- ④ Section05 2文それぞれへ独立したアンダーライン ---- */
.hal-lp .hal-choice__sub-line {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--hal-line-deep);
}
.hal-lp .hal-choice__sub-line + .hal-choice__sub-line { margin-top: 14px; }
/* 旧・段落単位の下線は役目を終えたため無効化 */
.hal-lp .hal-choice__sub::after { content: none; }

/* ---- ⑤ Section07 結論文の縦罫を削除 ---- */
.hal-lp .hal-design__conclusion {
  padding-left: 0;
  border-left: 0;
}

/* ---- ⑥ アンダーラインの整理 ----
   Section08（料金）／Section12（FAQ）の主見出し下線を削除。
   Section11（限定）は主見出しのみ残し、小見出しの下線を削除。 */
.hal-lp .hal-price .hal-h2::after,
.hal-lp .hal-faq .hal-h2::after,
.hal-lp .hal-capacity__principal::after { content: none; }

/* ---- ⑦ FAQ「Q」の開始位置を全項目で完全一致させる ----
   summary を固定幅の2カラムグリッドにすることで、設問の長短に関わらず
   Qの位置が変動しなくなる。details/summary 構造は不変更。 */
.hal-lp .hal-faq__item summary {
  display: grid;
  grid-template-columns: 1.4em 1fr;
  column-gap: 12px;
  align-items: baseline;
  justify-content: initial;
  width: min(100%, 620px);
  margin-inline: auto;
  padding-inline: 0 32px;
  text-align: left;
}
.hal-lp .hal-faq__q { text-align: left; }
.hal-lp .hal-faq__a {
  width: min(100%, 620px);
  margin-inline: auto;
  text-align: left;
  padding-left: calc(1.4em + 12px);
}

/* ---- ⑨ Section10・Section11 のリズム差 ----
   構造は変えず、字送り・行送り・余白でスクロールの単調さを解く。 */
.hal-lp .hal-capacity__principal {
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.9;
  letter-spacing: 0.07em;
}

@media (min-width: 768px) {
  .hal-lp .hal-choice__sub-line + .hal-choice__sub-line { margin-top: 17px; }
  .hal-lp .hal-choice__sub-line { padding-bottom: 11px; }
}

@media (min-width: 1024px) {
  .hal-lp .hal-lead--stack,
  .hal-lp .hal-checklist--em { width: min(100%, 352px); }

  /* ⑨ Section10 は密に、Section11 は間を置いて — 連続する2画面に呼吸差をつくる */
  .hal-lp .hal-counsel { padding-block: 96px 88px; }
  .hal-lp .hal-capacity { padding-block: 128px 116px; }
  .hal-lp .hal-capacity__principal { margin-top: 40px; }
  .hal-lp .hal-capacity .hal-p--lines { margin-top: 30px; }

  /* ---- ⑧ 最終CTA ---- */
  /* 電話番号ブロックを右へ送り、CTAとの左右バランスを整える。
     700px → 780px。ボタン⇔電話の間隔 78px → 158px。 */
  .hal-lp .hal-final__actions {
    max-width: min(780px, 100%);
    margin-inline: auto;
  }
  /* CTA直下の注記をボタン直下へ引き上げる。
     注記は行全体の下端を基準に配置されるため、電話ブロックとの高低差（46px）分を
     引き上げ、右側は電話ブロック列を避けて余白を確保する。 */
  .hal-lp .hal-final__note {
    max-width: min(780px, 100%);
    margin-inline: auto;
    margin-top: -34px;
    padding-right: 340px;
    text-align: left;
  }
}

/* Tablet（768〜1023.98px）での③2文目の1行化：
   版面712pxに対し48字が数px超過するため、字送りのみ僅かに詰める。
   本文サイズ・行送り・色は不変更。 */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .hal-lp .hal-statement .hal-prose > .hal-p { letter-spacing: 0.015em; }
}

/* v1.0.14 で幅指定した要素は、内側パディングを幅に含める（375px での 2px 溢れ対策） */
.hal-lp .hal-lead--stack,
.hal-lp .hal-checklist--em,
.hal-lp .hal-choice__sub-line,
.hal-lp .hal-faq__item summary,
.hal-lp .hal-faq__a,
.hal-lp .hal-final__note,
.hal-lp .hal-final__actions { box-sizing: border-box; }


/* ============================================================
   v1.0.15 — Premium 局所ブラッシュアップ（Human Owner 承認済み）
   ------------------------------------------------------------
   目的：情報階層 / セクション開始の認識 / スクロールリズム / 視認性 の向上。
   使用色は Approved HTML 既存カラーのみ（新規ブランドカラー追加 0件）。
   コピー・写真・CTA・書体・レイアウト構造・世界観は不変更。
   ============================================================ */

/* ---- 0. セクション背景トーン別トークン（相対マッピング）----
   明背景 #f5f2ea → 帯 #efeae0(-3.1pt) / ブロック #ece7db(-4.7pt)
   中間   #ece7db → 帯 #e6e0d2(-2.9pt) / ブロック #e2dccf(-4.3pt)
   暗背景 #1b1813 → 帯 rgba(255,255,255,.05) / ブロック rgba(255,255,255,.08) */
.hal-lp .hal-band,
.hal-lp .hal-quiet,
.hal-lp .hal-statement,
.hal-lp .hal-choice,
.hal-lp .hal-design,
.hal-lp .hal-price,
.hal-lp .hal-counsel,
.hal-lp .hal-capacity,
.hal-lp .hal-form-section {
  --hal-band-c:  var(--hal-bg-box);      /* #efeae0 */
  --hal-block-c: var(--hal-bg-alt);      /* #ece7db */
}
.hal-lp .hal-band--alt,
.hal-lp .hal-consult,
.hal-lp .hal-flow,
.hal-lp .hal-faq {
  --hal-band-c:  var(--hal-line);        /* #e6e0d2 */
  --hal-block-c: var(--hal-on-ink-sub);  /* #e2dccf */
}
.hal-lp .hal-hero,
.hal-lp .hal-final {
  --hal-band-c:  rgba(255, 255, 255, 0.05);
  --hal-block-c: rgba(255, 255, 255, 0.08);
}

/* ---- 1. 大見出し：アンダーライン全廃止 → 背景帯（セクション開始マーカー）---- */
.hal-lp .hal-h2::after { content: none !important; }
.hal-lp .hal-h2 {
  display: block;                 /* flex化は見出し内の意味単位改行を壊すため使用しない */
  text-align: center;
  min-height: 60px;
  padding: 12px clamp(14px, 2vw, 26px);
  background: var(--hal-band-c);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
}
/* 1行化見出しは版面が逼迫するため内側余白を抑える */
.hal-lp .hal-h2--oneline,
.hal-lp .hal-h2--fit { padding-inline: 12px; }

/* ---- 2. 小見出し：長方形ブロック（重要項目マーカー）---- */
.hal-lp .hal-choice__sub,
.hal-lp .hal-capacity__principal {
  background: var(--hal-block-c);
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  padding: 14px 24px;
}
.hal-lp .hal-choice__sub::after,
.hal-lp .hal-capacity__principal::after,
.hal-lp .hal-capacity__principal::before { content: none; }
/* 旧・行単位のアンダーラインを廃止（ブロック化により役目を終える）*/
.hal-lp .hal-choice__sub-line {
  padding-bottom: 0;
  border-bottom: 0;
}
.hal-lp .hal-choice__sub-line + .hal-choice__sub-line { margin-top: 4px; }

/* ---- 3. Section05 小見出しリード：行間を詰める（Typography 1.2–1.4 準拠）---- */
.hal-lp .hal-choice__sub { line-height: 1.38; }

/* ---- 4. Section03 秘匿本文：2文を独立行・中央揃え ---- */
.hal-lp .hal-quiet__text {
  text-align: center;
  max-width: 46em;
}

/* ---- 5. Section08 料金帯：背景のみ 3〜5% 濃く（文字・余白は不変更）---- */
.hal-lp .hal-price__block { background: var(--hal-band-c); }

/* ---- 6. Section09 進み方：ステップ群・結論文・CTA を中央へ ---- */
.hal-lp .hal-flow .hal-steps { width: fit-content; max-width: 100%; margin-inline: auto; }
.hal-lp .hal-flow__closing { text-align: center; }
.hal-lp .hal-flow .hal-cta-center { text-align: center; }
.hal-lp .hal-flow .hal-cta-center .hal-note { text-align: center; }

/* ---- 7. 最終CTA：見出し→本文の余白を 1.5〜2行分 追加 ---- */
.hal-lp .hal-final__text { margin-top: 67px; }

/* ---- 8. 最終CTA：支払い方法ブロックの距離を適正化 ---- */
.hal-lp .hal-payment__text { margin: 8px 0 12px; }
.hal-lp .hal-final__copy { padding-bottom: 34px; }

/* ---- 9. ヘッダー：電話番号の拡大（横幅 +15〜20% / 文字 +10〜15%）---- */
.hal-lp .hal-header__tel {
  font-size: 17px;              /* 15px → 17px（+13.3%）*/
  letter-spacing: 0.075em;      /* 0.06em → 0.075em */
  color: var(--hal-on-ink-sub); /* #b6ad9b → #e2dccf（コントラスト向上）*/
}

/* v1.0.30 §4-6：MENUは三本線の真下に文字（column）で確定。row-reverse・負marginの旧指定は削除した。 */
.hal-lp .hal-header__menu-bar,
.hal-lp .hal-header__menu-bar::before,
.hal-lp .hal-header__menu-bar::after { height: 2px; }   /* 1px → 2px */
.hal-lp .hal-header__menu-bar::before { top: -8px; }
.hal-lp .hal-header__menu-bar::after  { top:  8px; }
.hal-lp .hal-header__menu-btn[aria-expanded="true"] .hal-header__menu-bar::before { transform: translateY(8px) rotate(45deg); }
.hal-lp .hal-header__menu-btn[aria-expanded="true"] .hal-header__menu-bar::after  { transform: translateY(-8px) rotate(-45deg); }

/* ---- Mobile 375〜767.98px：既存の「1行表示」要件と両立させる ----
   .hal-capacity__principal は当帯域で white-space:nowrap のため、
   ブロック化に伴う左右余白ぶんだけ版面を広げて溢れを回避する。 */
@media (min-width: 375px) and (max-width: 767.98px) {
  .hal-lp .hal-capacity__principal {
    margin-inline: calc(var(--hal-pad) * -1);
    padding-inline: 8px;
  }
}

/* ---- Tablet 以上 ---- */
@media (min-width: 768px) {
  .hal-lp .hal-h2 { min-height: 62px; padding-block: 14px; }
}
/* ---- Desktop ---- */
@media (min-width: 1024px) {
  .hal-lp .hal-h2 { min-height: 64px; padding-block: 16px; }
  .hal-lp .hal-final__text { margin-top: 90px; }   /* 44px + 1.75行 */
  .hal-lp .hal-final__copy { padding-bottom: 42px; }
  .hal-lp .hal-choice .hal-choice__sub { width: fit-content; max-width: 100%; margin-inline: auto; }
}


/* ============================================================
   v1.0.16 — Owner実機監査修正（Human Owner 正式承認済み）
   ------------------------------------------------------------
   使用色は既存CSS変数および Approved HTML 既存カラーのみ。
   新規有彩色・グラデーション・影・強い枠線は追加しない。
   ============================================================ */

/* ---- 0. 重要情報帯の共通トークン（Section01/02/07 で統一）---- */
.hal-lp {
  --hal-em-band:  var(--hal-bg-alt);   /* #ece7db : Section背景 #f5f2ea より −4.7pt */
  --hal-em-pad-y: 18px;
  --hal-em-pad-x: 20px;
}

/* ---- 6.1 Header 電話番号：補足文を基準に拡大 ---- */
.hal-lp .hal-header__tel {
  font-size: 21px;
  letter-spacing: 0.19em;
  color: var(--hal-on-ink);
  font-weight: 500;
}

/* v1.0.30 §4-6：負のmarginによる画面端寄せは禁止のため削除した（旧6.2）。 */

/* ---- 7.1 Section01 大見出し：Section背景より明るい帯へ ---- */
.hal-lp .hal-band:not(.hal-band--alt) .hal-band__head .hal-h2 {
  background: var(--hal-on-ink);      /* #f7f4ec : #f5f2ea より +0.8pt（白へ飛ばさない） */
}

/* ---- 7.2 Section01 導入文：改行固定＋2行目1文字字下げ ---- */
.hal-lp .hal-lead__line { display: block; }
.hal-lp .hal-lead__line--indent { padding-left: 1em; }

/* ---- 7.3 / 7.4 Section01 重要項目5行：太字・中黒・背景帯 ---- */
.hal-lp .hal-checklist--em {
  width: auto;
  margin-inline: calc(var(--hal-em-pad-x) * -1);  /* Mobile：帯を左右へ逃がし本文左端と一致させる */
  padding: var(--hal-em-pad-y) var(--hal-em-pad-x);
  background: var(--hal-em-band);
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  gap: 10px;
}
.hal-lp .hal-checklist--em > div {
  display: grid;
  grid-template-columns: 1em 1fr;      /* 中黒位置を5行で厳密に一致させる */
  column-gap: 0;
  font-weight: 600;
  color: var(--hal-ink);
}
.hal-lp .hal-checklist--em > div::before {
  content: "・";
  display: block;
}

/* ---- 8.2 Section02 重要文2行：太字・背景帯（Section01と同一原則）---- */
.hal-lp .hal-em-message {
  padding: var(--hal-em-pad-y) var(--hal-em-pad-x);
  background: var(--hal-em-band);
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  font-weight: 600;
  line-height: 1.95;
}
.hal-lp .hal-em-message__line { display: block; }

/* ---- 12. Section07 調査設計力：背景帯（Section01/02と同一原則）---- */
.hal-lp .hal-design__conclusion {
  padding: var(--hal-em-pad-y) var(--hal-em-pad-x);
  background: var(--hal-em-band);
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  font-weight: 600;
  color: var(--hal-ink);
  margin-top: 26px;
  margin-bottom: 26px;
}

/* ---- 10. Section04 地域適応：情報階層の余白 ---- */
.hal-lp .hal-statement .hal-h2 { line-height: 1.7; }
.hal-lp .hal-statement__subhead { margin-top: 22px; }
.hal-lp .hal-statement .hal-prose > .hal-p:first-child { margin-top: 44px !important; }
.hal-lp .hal-statement__grid { margin-top: 56px; }
@media (max-width: 1023.98px) {
  .hal-lp .hal-statement .hal-prose > .hal-p:first-child { margin-top: 34px !important; }
  .hal-lp .hal-statement__grid { margin-top: 42px; }
  .hal-lp .hal-statement__subhead { margin-top: 18px; }
}

/* ---- 11. Section05 コラム枠：内容量に応じた高さへ ---- */
.hal-lp .hal-column-link { padding: 15px 24px; }
.hal-lp .hal-column-link__title { margin-top: 5px; }
.hal-lp .hal-column-link__arrow { margin-top: 7px; }

/* ---- 13.1 最終CTA：4行コピーの中央軸を揃える ---- */
.hal-lp .hal-final__title { text-align: center; }
.hal-lp .hal-final__title .hal-heading-line { display: block; }

/* ---- 13.2 支払い説明 → カードロゴ の距離 ---- */
.hal-lp .hal-payment { padding-top: 22px; }
.hal-lp .hal-payment__text { margin: 6px 0 8px; }

/* ---- 13.3 カードロゴ → 非公開相談フォーム の距離 ---- */
.hal-lp .hal-final__copy { padding-bottom: 24px; }

/* ============================================================
   7.5 / 8.3 / 9.3 写真と本文の上下端整列（横2列が成立する幅のみ）
   ------------------------------------------------------------
   head を独立行にしたグリッドへ変更し、media の上端／下端を
   body の上端／下端へ厳密に一致させる（計算値ではなくレイアウトで担保）。
   ============================================================ */
@media (min-width: 1024px) {
  .hal-lp .hal-band__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
      ".     head"
      "media body";
    align-items: start;
  }
  .hal-lp .hal-band--flip .hal-band__grid {
    grid-template-areas:
      "head  ."
      "body  media";
  }
  .hal-lp .hal-band__text { display: contents; }
  .hal-lp .hal-band__head { grid-area: head; }
  .hal-lp .hal-band__body { grid-area: body; margin-top: 0; }
  .hal-lp .hal-band__body > :first-child {
    margin-top: calc((1 - 1.9) * 0.5em);   /* half-leading を相殺し「文字上端」を写真上端へ合わせる */
  }
  .hal-lp .hal-band__grid { row-gap: 40px; }
  /* 重要項目帯は1行あたりの折返しを避けるため版面を拡張し、本文柱と左端を一致させる */
  .hal-lp .hal-lead--stack { width: min(calc(100% - (var(--hal-em-pad-x) * 2)), 460px); }
  .hal-lp .hal-checklist--em { width: min(100%, 500px); margin-inline: auto; }
  .hal-lp .hal-band__media { grid-area: media; margin: 0; align-self: start; }

  /* Section03（04 強い約束）：写真の下端を本文最終行の「文字下端」へ揃える */
  .hal-lp .hal-band--alt .hal-band__body > :last-child {
    margin-bottom: calc((1 - 1.9) * 0.5em);   /* half-leading を相殺 */
  }
  .hal-lp .hal-band--alt .hal-band__grid {
    grid-template-areas:
      "media head"
      "media body";
  }
  .hal-lp .hal-band--alt .hal-band__media { align-self: end; }
}


/* ============================================================
   v1.0.17 — Owner実機監査修正 第2次（Human Owner 正式承認済み）
   ------------------------------------------------------------
   使用色は既存CSS変数および既存実装カラーのみ。新規Webフォント・
   グラデーション・強い枠線・原色は追加しない。
   ============================================================ */

/* v1.0.30 §4-4：.hal-header__tel-block はDOMごと削除したため本指定も削除した。
   v1.0.56_R1 §11.4：上記削除時にセレクタと宣言ブロックのみが除去され、
   閉じ括弧が1つ孤立して残っていた（開き括弧707・閉じ括弧708）。
   直前の規則は 2780行で閉じる @media ブロックであり、この孤立閉じ括弧は
   トップレベルに置かれ、対応する開き括弧を持たない。
   削除しても、直前の @media ブロックと直後の
   `.hal-lp .hal-band:not(.hal-band--alt) .hal-band__head .hal-h2` の
   いずれにも構文上の影響はない。 */

/* ---- §6 Section01・02 大見出し背景の明度を引き上げ ----
   Section背景 #f5f2ea（HSL-L 93.9%）→ 見出し帯 #fcfaf4（HSL-L 97.3%）＝ +3.4pt
   純白 #FFFFFF は不使用。既存の暖色ニュートラル系統内。 */
.hal-lp .hal-band:not(.hal-band--alt) .hal-band__head .hal-h2 {
  background: #fcfaf4;
}

/* ---- §7 / §8 指定文章の独立背景帯（Section02・Section04）----
   .hal-em-message と同一トークンを使用する */
.hal-lp .hal-em-band {
  display: block;
  margin: 16px 0;
  padding: var(--hal-em-pad-y) var(--hal-em-pad-x);
  background: var(--hal-em-band);
  color: var(--hal-ink);
  font-weight: 600;
  border: 0;
  border-radius: 3px;
  box-shadow: none;
}

/* ---- §9 Section05 COLUMN 枠高の再縮小 ---- */
.hal-lp .hal-column-link {
  padding: 9px 24px;
  min-height: 0;
  height: auto;
}
.hal-lp .hal-column-link__label { line-height: 1.2; }
.hal-lp .hal-column-link__title { margin-top: 4px; line-height: 1.45; }
.hal-lp .hal-column-link__arrow { margin-top: 6px; line-height: 1.3; }

/* ---- §10 Section07 調査カード内の文字階層 ----
   カード見出し ＞ 調査項目 ＞ マイクロコピー */
.hal-lp .hal-consult .hal-card__title {
  font-size: 22px;          /* 19px → 22px（+3px）*/
  font-weight: 700;         /* 600 → 700 */
}
.hal-lp .hal-consult .hal-card__desc {
  font-size: 11px;          /* 12px → 11px（−1px）*/
  line-height: 1.72;
}
.hal-lp .hal-consult .hal-card__list {
  font-size: 14.5px;        /* 13px → 14.5px（+1.5px）*/
  gap: 10px;                /* 9px → 10px（+1px）*/
}
.hal-lp .hal-consult .hal-card__list > div { font-weight: 500; }
@media (max-width: 767.98px) {
  .hal-lp .hal-consult .hal-card__title { font-size: 21px; }
  .hal-lp .hal-consult .hal-card__list  { font-size: 14px; }
}

/* ---- §11 Section11・12 の背景色入れ替え（帯トークンも連動）---- */
.hal-lp .hal-flow {
  background: var(--hal-bg);
  border-top: 1px solid var(--hal-line);
  --hal-band-c:  var(--hal-bg-box);      /* #efeae0 */
  --hal-block-c: var(--hal-bg-alt);      /* #ece7db */
}
.hal-lp .hal-counsel {
  background: var(--hal-bg-alt);
  border-top: 1px solid var(--hal-line-deep);
  --hal-band-c:  var(--hal-line);        /* #e6e0d2 */
  --hal-block-c: var(--hal-on-ink-sub);  /* #e2dccf */
}

/* ---- §13 最終CTA キャッチコピーの最適化 ---- */
.hal-lp .hal-final__title {
  line-height: 1.8;
  letter-spacing: 0.06em;
  font-size: 18px;                                   /* Mobile 前半2行の基準 */
}
.hal-lp .hal-final__title .hal-heading-line:nth-child(3),
.hal-lp .hal-final__title .hal-heading-line:nth-child(4) { font-size: 21px; }   /* Mobile 後半2行 */
.hal-lp .hal-final__title .hal-heading-line:nth-child(3) { margin-top: 1em; }   /* 段落間＝1文字分 */
.hal-lp .hal-final__title-em { font-size: 1em; }     /* 二重拡大を解消 */
@media (min-width: 768px) {
  .hal-lp .hal-final__title { font-size: 21px; }
  .hal-lp .hal-final__title .hal-heading-line:nth-child(3),
  .hal-lp .hal-final__title .hal-heading-line:nth-child(4) { font-size: 24px; }
}
@media (min-width: 1024px) {
  .hal-lp .hal-final__title { font-size: 24px; }
  .hal-lp .hal-final__title .hal-heading-line:nth-child(3),
  .hal-lp .hal-final__title .hal-heading-line:nth-child(4) { font-size: 28px; }
}

/* ---- §14 最終CTA 主ボタンの視認性とホバー（当該ボタンのみ）---- */
.hal-lp .hal-final__actions .cta-hero {
  font-weight: 600;
  min-height: 44px;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .hal-lp .hal-final__actions .cta-hero:hover {
    background: var(--hal-gold);
    border-color: var(--hal-gold);
    color: var(--hal-ink);
    opacity: 0.88;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(197, 160, 89, 0.20);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hal-lp .hal-final__actions .cta-hero { transition: none; }
  .hal-lp .hal-final__actions .cta-hero:hover { transform: none; }
}

/* ---- §15 最終CTA マイクロコピー ---- */
.hal-lp .hal-final__note {
  font-size: 12.5px;
  line-height: 1.75;
  margin-top: 10px;
}

/* ---- §16 最終CTA 電話番号 ---- */
.hal-lp .hal-final__tel {
  font-weight: 600;
  letter-spacing: 0.07em;
  white-space: nowrap;
}
.hal-lp .hal-final__tel-note { opacity: 0.8; }


/* ============================================================
   v1.0.18 — Owner実機監査修正 第3次
   ------------------------------------------------------------
   §5 ヘッダー電話番号 / §6 見出し背景帯の減衰 / §7 Section08本文配置
   §8 最終CTAコピー / §9 支払い方法周辺 / §10-11 CTA・TEL・マイクロコピー
   ============================================================ */

/* ---- §5 ヘッダー電話番号：数字部分のみ 1文字分（実測 14.48px）左へ ----
   column flex ＋ align-items:center のため margin-right = 移動量×2 で中心を移動する。
   .hal-header__tel-note・MENU・タイトル・ヘッダー全体の位置は不変。 */
@media (min-width: 1024px) {
  .hal-lp .hal-header__tel { margin-right: 29px; }
}

/* ---- §6 指定Sectionの見出し背景帯を減衰（明度差 2〜4%）----
   色相維持・彩度を上げない・黄土方向へ寄せない。枠線/影/角丸/グラデーションは追加しない。
   対象：Section01(02共感導入) / Section02(03提供するもの) / Section04(06実在性)
        Section06(09.5対応調査) / Section10(12女性相談員) / Section11(13受託限定) / Section12(14FAQ)
   非対象（現状維持）：Section03(04強い約束) / 05(07面談で整理) / 07(09案件特性)
        / 08(10料金) / 09(11流れ) */
.hal-lp .hal-band:not(.hal-band--alt) .hal-band__head .hal-h2,
.hal-lp .hal-statement .hal-h2,
.hal-lp .hal-capacity .hal-h2 {
  background: #f1ede2;      /* base #f5f2ea(L93.9) → L91.6 : Δ2.4pt */
}
.hal-lp .hal-consult .hal-h2,
.hal-lp .hal-counsel .hal-h2,
.hal-lp .hal-faq .hal-h2 {
  background: #e8e2d3;      /* base #ece7db(L89.2) → L86.9 : Δ2.4pt */
}

/* ---- §7 Section08（料金）本文ブロック：中央配置・内部左揃え・行頭一致 ---- */
.hal-lp .hal-assure__list {
  width: fit-content;
  max-width: min(100%, 34em);   /* 実測に基づく本文量最適幅 */
  margin-inline: auto;
  text-align: left;
}
.hal-lp .hal-assure__list > li,
.hal-lp .hal-assure__list > div { text-align: left; }
/* v1.0.29 §I-03：Mobileでも中央配置＋内部左揃えを維持する */
@media (max-width: 767.98px) {
  .hal-lp .hal-assure__list { width: fit-content; max-width: 100%; margin-inline: auto; }
}

/* ---- §8 最終CTA コピー：4行を同一サイズ・ブロック中央・内部左揃え ---- */
.hal-lp .hal-final__title {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  text-align: left;
  font-size: 21px;                     /* Mobile：v1.0.17 後半2行と同サイズへ統一 */
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.hal-lp .hal-final__title .hal-heading-line { display: block; font-size: inherit; }
.hal-lp .hal-final__title .hal-heading-line:nth-child(3),
.hal-lp .hal-final__title .hal-heading-line:nth-child(4) { font-size: inherit; }
.hal-lp .hal-final__title .hal-heading-line:nth-child(3) { margin-top: 1.8em; }  /* 1行分の空間 */
.hal-lp .hal-final__title-em { font-size: 1em; }
@media (min-width: 768px) {
  .hal-lp .hal-final__title { font-size: 24px; }
}
@media (min-width: 1024px) {
  .hal-lp .hal-final__title {
    font-size: 28px;
    /* 背景写真の赤い塔部分へ寄せる。背景輝度が 4.5:1 を割らない範囲での最大上方移動量（実測 −37px）*/
    margin-top: -37px;
  }
}

/* ---- §9 支払い方法周辺 ----
   【根本原因】cards2.png（1040×693）は不透明領域が rows 297–358（高さ62px＝全体の8.9%）のみで、
   上下に 297px / 334px の透明余白を内包していた。表示幅520px時、上148.5px・下167.0px の
   不可視余白が発生し、CSS の margin を数px〜十数px 調整しても視覚的な距離が変わらなかった。
   → 画像の透明余白のみをトリミング（923×62／表示内容・比率・画質・ブランド表記は不変）し、
     可視領域＝画像矩形となる状態にしたうえで CSS 値を再設定する。 */
.hal-lp .hal-payment { margin-top: 30px; padding-top: 22px; }
.hal-lp .hal-payment__text { margin: 6px 0 18px; }     /* 説明文 → ロゴ可視上端 */
.hal-lp .hal-payment__logos { width: auto; max-width: 100%; }
.hal-lp .hal-payment__logos img { width: 462px; max-width: 100%; height: auto; display: block; }
.hal-lp .hal-final__copy { padding-bottom: 48px; }      /* ロゴ可視下端 → 支払いSection終端 */
@media (max-width: 1023.98px) {
  .hal-lp .hal-payment__text { margin: 6px 0 16px; }
  .hal-lp .hal-final__copy { padding-bottom: 42px; }
}
@media (max-width: 767.98px) {
  .hal-lp .hal-payment__text { margin: 6px 0 14px; }
  .hal-lp .hal-final__copy { padding-bottom: 36px; }
}

/* 支払いSection終端 → 非公開相談フォーム見出し（padding-top のみ調整。bottom は不変）*/
.hal-lp .hal-form-section { padding-top: 32px; }
@media (min-width: 768px)  { .hal-lp .hal-form-section { padding-top: 40px; } }
@media (min-width: 1024px) { .hal-lp .hal-form-section { padding-top: 55px; } }

/* ---- §10 CTA・TEL・マイクロコピーの配置 ---- */
.hal-lp .hal-final__actions { align-items: flex-end; }
.hal-lp .hal-final__cta-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.hal-lp .hal-final__cta-group .hal-final__note {
  margin-top: 11px;            /* CTA直下 10〜12px */
  margin-left: 0;
  padding-right: 0;
  max-width: 34em;
  text-align: left;
  font-size: 13px;
  line-height: 1.75;
  font-weight: 400;
}
@media (max-width: 767.98px) {
  .hal-lp .hal-final__actions { align-items: center; }
  .hal-lp .hal-final__cta-group { align-items: center; width: 100%; }
  .hal-lp .hal-final__cta-group .hal-final__note { text-align: center; }
}

/* ---- §11 主CTAの操作性 ---- */
.hal-lp .hal-final__actions .cta-hero {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;                       /* 本文 → 矢印の間隔 12〜16px */
  background-color: #B89452;
  color: #171717;                  /* コントラスト 6.31:1 */
  border: 1px solid #C8A968;
  border-radius: 2px;
  font-family: var(--hal-sans);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.06em;
  min-height: 68px;                /* PC 64〜72px */
  padding: 0 40px;
  box-shadow: none;
}
.hal-lp .hal-final__actions .cta-hero::after {
  content: "→";
  font-size: 0.82em;               /* 本文より1段階小さく */
  line-height: 1;
  speak: never;
}
@media (max-width: 767.98px) {
  .hal-lp .hal-final__actions .cta-hero {
    font-size: 15.5px;
    min-height: 60px;              /* Mobile 56〜64px */
    padding: 0 28px;
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .hal-lp .hal-final__actions .cta-hero {
    transition:
      background-color 0.3s ease,
      transform 0.3s ease,
      box-shadow 0.3s ease;
  }
  .hal-lp .hal-final__actions .cta-hero:hover {
    background-color: #C3A15F;
    border-color: #C8A968;
    color: #171717;
    opacity: 1;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.22);
  }
}
.hal-lp .hal-final__actions .cta-hero:focus-visible {
  outline: 2px solid #F7F4EC;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .hal-lp .hal-final__actions .cta-hero { transition: none; }
  .hal-lp .hal-final__actions .cta-hero:hover { transform: none; }
}

/* v1.0.30 §9：違和感セクションは縦1カラムへ変更したため、旧C-04の2カラム指定
   （grid-template-areas / order / display:contents / margin補正）をすべて削除した。
   確定仕様は hal-authority-hub.css 末尾の「v1.0.30 §9 違和感セクション」に集約している。 */
