/* ============================================================
   採用デザイン「強」 — すべての theme-b に常時適用
   参考: 円満相続（osd-souzoku.jp）の再現仕様書
   取り入れたのは A18 の4点だけ:
     ① 全体の構成と節の区切り方  ② 余白の取り方
     ③ 文字の大きさと太さの差    ④ 色面の使い方
   色は ASC のロゴ確定色のみ。参考サイトの紫は一切使わない。
   参考サイトのルート font-size（clamp(9px,100vw/120,16px)）は
   1080/1081px で 36% 跳ねる事故なので持ち込まない。寸法は px で固定し、
   見出しだけ連続した clamp() で伸縮させる（境目で跳ねない）。
   ============================================================ */

/* 会社概要を対象に加え、既存ページの詳細度（0,2,1）は維持する。 */

/* ── 0. トークン ───────────────────────────────────────────
   新しい色は作らない。罫線と「地の第二段」はロゴ確定色の
   グレー #9499a7 と地 #f6f5f2 の中間として導出した値。      */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) {
  --indigo: #252a57;
  --green: #252a57;
  --line: #cfd0d5;        /* #9499a7 を地 #f6f5f2 で約40%に薄めた罫線 */
  --cta: #3880b6;         /* CTAの水色。先生の指示で濃紺化の対象外（QA項目8・9）。3つのボタンがこれを使う */
  --surface-2: #ecebe8;   /* 地 #f6f5f2 を一段落とした面 */
  line-height: 1.8;
  letter-spacing: 0.03em;
}

/* ── 1. 地と面 ─────────────────────────────────────────────
   参考サイトの骨格その1。ページ全体を地色で通し、
   罫線も影もない白のベタ面だけでブロックを立てる。
   セクションごとの交互色はやめ、「地＋白い面」に一本化する。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) :is(.reasons, .services, .greeting, .faq, .access, .access.alt-surface) {
  background: var(--bg);
}

/* ── 2. 文字の大きさと太さの差 ─────────────────────────────
   参考サイトはウェイト2段（標準／太）しか使わない。
   行間 1.8・字間 0.03em、見出しは行間 1.4・字間 0.04em。      */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) :is(h1, h2, h3, h4, h5, h6) {
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-weight: 700;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .prose { font-size: 17px; line-height: 1.85; }
/* 本文のまとまり（.prose）の読み幅と段落間は、ここだけで決める。
   段落間 1.75em（約30px）は行間 31.5px とほぼ等しく、段落が段落として読める。
   1em（17px）だと行間の半分で、段落の集まりが1枚の塊に見えていた。
   読み幅 47em は 17px で約44字。和文の適正な行長（35〜45字）に収まる。
   以前はこの2つが strong.css・lead.css・top.css・site.css の4箇所に
   別々の値で書かれ、TOP と会社概要のごあいさつで段落間が食い違っていた。2026-10-13。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .prose > * { max-width: 47em; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .prose p + p { margin-top: 1.75em; }

/* ── 3. 節の頭（参考サイト 5.4）─────────────────────────────
   ● 12px の丸 ＋ 英字ラベル小 ＋ 1px のヘアライン ＋ 大きな日本語見出し。
   いまは英字が26〜34pxの主、日本語が15pxグレーの従で、参考サイトと
   主従が逆になっている。ここを反転させるのがこの案の芯。            */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .sec-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding-block: 9px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--navy);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .sec-label::before,
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .header-free::before { content: none; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .sec-title {
  font-size: clamp(27px, 3.4vw, 44px);
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 1em;   /* 参考サイトと同じ「文字サイズ連動」のアキ */
}

/* 中見出し。英字ラベルを持たないので、丸だけを受け継ぐ */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance-section h3,
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq h3 {
  display: flex;
  align-items: baseline;
  gap: 14px;
  font-size: clamp(20px, 2.1vw, 27px);
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--navy);
  margin-bottom: 1em;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance-section h3::before { content: none; }

/* ── 4. 余白のリズム（参考サイト 4.2）─────────────────────
   上下 96px、SP はちょうど半分の 48px。参考サイトの 80/120・40/60 と
   同じ「PCの半分がSP」という作り。                                  */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) section { padding: 96px var(--space-4b); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance { padding-top: 96px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance-section { margin-top: 80px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .sec-title + .inheritance-section + .inheritance-section { margin-top: 80px; }
/* 大見出しの直後だけは、見出し自身の 1em のアキに任せる */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .sec-title + .inheritance-section { margin-top: 0; }

/* 参考サイトは本文列いっぱいにブロックを置く（.inner-sm の上限を解除している）。
   48rem の中央寄せ上限を外し、左端を全ブロックで揃える。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance :is(.sec-label, .sec-title, .prose, .inheritance-section) {
  max-width: none;
  margin-inline: 0;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .prose,
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline { line-height: 1.8; }

/* ── 5. ヘッダー（参考サイト 5.1）─────────────────────────
   左右にインセットを取り、下端だけ 16px の角丸で浮く白い面。      */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) header {
  background: transparent;
  box-shadow: none;
  border-bottom: 0;
  backdrop-filter: none;
  padding: 0 16px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .header-inner {
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(10px);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 2px 10px rgba(37, 42, 87, 0.07);
  padding: 14px 32px 16px;
  row-gap: 12px;   /* U9: ヘッダー上段↔ナビは row-gap 一本化 */
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) nav { font-size: 15px; letter-spacing: 0.04em; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) nav a { font-weight: 400; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) nav a[aria-current="page"] { font-weight: 700; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .header-cta {
  background: var(--cta);
  border-radius: 8px;
  padding: 12px 20px;
  font-size: 14px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .header-cta:hover { background: var(--cta); filter: brightness(0.92); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .header-tel-num { font-variant-numeric: tabular-nums; }

/* ── 6. ヒーロー ──────────────────────────────────────────
   写真と明るいスクリムは A7 の選定どおり据え置き。文字の差だけ立てる。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .hero h1 {
  font-size: clamp(25px, 3.6vw, 44px);
  line-height: 1.4;
  letter-spacing: 0.04em;
  margin-bottom: 20px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .hero p {
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.8;
  margin-bottom: 32px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .hero .note { font-size: 13px; }

/* ── 7. ボタン（参考サイト 5.7）─────────────────────────── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .btn-primary {
  background: var(--cta);
  border-radius: 8px;
  padding: 18px 36px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .btn-primary:hover { filter: brightness(0.93); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .btn-white {
  border-radius: 8px;
  padding: 18px 36px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--navy);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .fixed-cta { border-radius: 8px; padding: 14px 22px; font-size: 14px; background: var(--cta); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .fixed-cta:hover { filter: brightness(0.93); }

/* ── 8. 強み（白いベタ角丸カード＋番号ピル）────────────────
   参考サイトのステップ番号ピル（白文字・アクセント地・999px）を、
   番号が単独の要素になっているここで正確に再現する。            */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .reasons .grid { gap: 16px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .reason {
  background: var(--surface);
  border-top: 0;
  border-radius: 16px;
  padding: 36px 32px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .reason .num {
  display: inline-block;
  background: var(--indigo);
  color: var(--surface);
  border-radius: 999px;
  padding: 4px 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
  margin-bottom: 20px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .reason h3 {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-bottom: 12px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .reason p { font-size: 15.5px; line-height: 1.85; color: var(--ink); }

/* ── 9. 業務内容 ──────────────────────────────────────────
   TOP は細線の行、業務内容ページは白いカード。番号はどちらもピル。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-group + .svc-group { margin-top: 72px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-group h3.group {
  font-size: 15px;
  letter-spacing: 0.12em;
  color: var(--navy);
  margin-bottom: 20px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-names li {
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-cat-num,
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc .num {
  background: var(--indigo);
  color: var(--surface);
  border-radius: 999px;
  padding: 3px 14px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-cat-name { font-size: 17px; font-weight: 700; color: var(--navy); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-more { font-size: 15px; margin-top: 28px; }

:is(body.theme-b:not(.page-about), body.theme-b.page-about) .services .grid { gap: 16px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc {
  background: var(--surface);
  border: 0;
  border-radius: 16px;
  padding: 32px;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0 20px;
  row-gap: 0;
  align-items: start;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc .num {
  grid-row: 1 / span 12;
  height: fit-content;
  padding-top: 3px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc h4 {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin: 0 0 14px;
}
/* 参考サイト 5.5.5 の箇条書き（10px の塗り円＋16px のアキ）*/
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-list {
  list-style: none;
  display: grid;
  gap: 9px;
  padding-left: 0;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-list > li {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  font-size: 15px;
  line-height: 1.75;
  color: var(--ink);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-list > li::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--indigo);
  margin-top: 0.58em;
}

/* ── 10. 相続CTAの帯 → 地に浮く紺の面 ───────────────────── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus { background: var(--bg); padding: 0 var(--space-4b); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus .inner {
  background: var(--navy);
  border-radius: 16px;
  padding: 40px;
  min-height: 0;
  gap: 32px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus h2 { font-size: clamp(19px, 2vw, 24px); line-height: 1.4; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus p { font-size: 15px; line-height: 1.8; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus a {
  background: var(--surface);
  color: var(--navy);
  border-radius: 8px;
  padding: 14px 24px;
  font-size: 15px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus a:hover { filter: brightness(0.96); }

/* ── 11. ごあいさつ・プロフィール ────────────────────────── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .profile-career {
  background: var(--surface);
  border: 0;
  border-radius: 16px;
  padding: 32px;
  margin-top: 32px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .career-title {
  font-size: 15px;
  letter-spacing: 0.08em;
  color: var(--navy);
  margin: 0 0 14px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .career-list { list-style: none; padding-left: 0; font-size: 15px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .career-list > li {
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .career-list > li:last-child { border-bottom: 0; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .career-facts { margin-top: 20px; padding-top: 20px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .profile-role { font-size: 13px; letter-spacing: 0.12em; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .profile-name { font-size: 22px; color: var(--navy); margin: 6px 0 0; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .profile-more { margin-top: 28px; font-size: 15px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .profile-more a { color: var(--navy); font-weight: 700; }

/* ── 12. 会社案内（白い面に収めた定義リスト）──────────────── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl {
  border-top: 0;
  background: var(--surface);
  border-radius: 16px;
  padding: 10px 32px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl div { font-size: 15px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl div:last-child { border-bottom: 0; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .map-slot { border-radius: 16px; background: var(--surface-2); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .map-slot strong { font-size: 15px; }

/* ── 13. よくある質問（白いカード＋丸いQ/Aのしるし）────────── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-list {
  margin-top: 0;
  border-top: 0;
  display: grid;
  gap: 16px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-item {
  background: var(--surface);
  border-bottom: 0;
  border-radius: 16px;
  padding: 32px 36px;
}
/* ごあいさつにも他の節と同じ白いベタ面を与える。5節のうち4節が
   16px の角丸・枠線なし・影なしの面を持っており、ごあいさつだけ地色に
   直置きで外れていた（実測）。このファイル冒頭の「地＋白い面に一本化する」
   骨格に戻す。読み幅 47em で右に 161px 空いていた分も面の内側に入る。
   当てるのは文章だけの TOP のあいさつ文に限る。会社概要の .greeting は
   写真と2列（.greeting-cols）なので対象外。2026-10-13。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .greeting:not(:has(.greeting-cols)) .greeting-copy {
  background: var(--surface);
  border-radius: 16px;
  padding: 32px 36px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-q {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: var(--navy);
  padding-left: 46px;
  margin: 0 0 14px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-q::before {
  content: "Q";
  left: 0;
  top: -1px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--indigo);
  color: var(--surface);
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-a {
  font-size: 16px;
  line-height: 1.85;
  color: var(--ink);
  padding-left: 46px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-a::before {
  content: "A";
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--surface-2);
  color: var(--navy);
  opacity: 1;
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
/* V7: 回答の2段落目以降に A のしるしは出さない（既存の決定を維持） */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-a + .faq-a { margin-top: 14px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-a + .faq-a::before { content: none; }

/* ── 14. こんなご要望に（白いベタ角丸カード）──────────────── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .concern-panel {
  background: var(--surface);
  border: 0;
  border-radius: 16px;
  padding: 40px;
}
/* 本文の先頭に ☑ が入っているので、しるしを足さずぶら下げだけ整える */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .check-list li {
  padding-left: 1.7em;
  text-indent: -1.7em;
  font-size: 17px;
  line-height: 1.8;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .check-list li + li { margin-top: 14px; }

/* ── 15. 流れ（参考サイト 5.5 — この案の核心）────────────────
   縦線＋小さな点を、白いベタ角丸カードの連なりに置き換える。
   左列に見出しを上下中央で立て、右列に本文。カード間は 16px。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline {
  list-style: none;
  display: grid;
  gap: 16px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li {
  position: relative;
  border-left: 0;
  background: var(--surface);
  border-radius: 16px;
  padding: 40px;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  column-gap: 52px;
  row-gap: 0;
}
/* 旧・縦線上の小さな点は出さない（自分の擬似要素を無効化するだけ） */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li::before { content: none; }

:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li > .step-label {
  grid-column: 1;
  grid-row: 1 / span 24;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* 番号が見出しの文字列に含まれているので折り返しが起きる。
     auto-phrase で文節の切れ目に折り、カタカナ語の途中で割らない
     （「ご提案（アフ／ターフォロー）」を防ぐ） */
  word-break: auto-phrase;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: var(--navy);
  font-variant-numeric: tabular-nums;
}
/* 参考サイトは番号ピルを見出しの上に 16px のアキで置く。
   こちらは番号が見出しの文字列に含まれていて切り出せないため、
   同じ位置・同じ形のアクセントのしるしだけを置いて位置関係を踏襲する。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li > .step-label::before { content: none; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li > p { grid-column: 2; font-size: 16.5px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li > p + p { margin-top: 1em; }

:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance-note {
  margin-top: 28px;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--muted);
}

/* ── 16. お悩み⇔対応の対構成 ──────────────────────────────
   A21: 左右の対構成は確定。文字サイズと間隔だけを整える。        */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-list { border-top: 1px solid var(--line); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-head {
  padding-bottom: 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--muted);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-item {
  padding: 26px 0;
  font-size: 16.5px;
  line-height: 1.85;
  border-bottom: 1px solid var(--line);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-q { color: var(--muted); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-a { color: var(--navy); font-weight: 400; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-a p + p { margin-top: 10px; }

/* ── 17. ページ内の相談案内（参考サイト 5.7 の白いパネル）──── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta {
  background: var(--surface);
  border: 0;
  border-radius: 16px;
  padding: 56px 40px;
  text-align: center;
  box-shadow: 0 0 24px rgba(37, 42, 87, 0.08);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta h3 {
  justify-content: center;
  font-size: clamp(21px, 2.3vw, 30px);
  margin-bottom: 0.5em;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta > p {
  color: var(--navy);
  font-weight: 700;
  font-size: 17px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions {
  justify-content: center;
  align-items: stretch;
  gap: 16px;
  margin-top: 28px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions a[href^="tel:"] {
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 13px 32px;
  background: var(--surface);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions a[href^="tel:"] > span:first-child {
  font-size: 13px;
  color: var(--muted);
}
/* 参考サイトは電話番号だけを 32px・太字・アクセント色で立てる */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions a[href^="tel:"] > span:last-child {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--indigo);
  font-variant-numeric: tabular-nums;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions a[href^="tel:"]:hover { background: var(--surface-2); }

/* ── 18. お問い合わせ（紺の面 → 地に浮く白いパネル）────────
   参考サイト 5.7 の CTA は「地の上に白いパネル＋ごく薄い影」。
   文字色・フォーム部品の色をまとめて反転させる。                */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact {
  background: var(--bg);
  color: var(--ink);
  padding: 96px var(--space-4b);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact .inner {
  background: var(--surface);
  border-radius: 16px;
  padding: 56px 48px;
  box-shadow: 0 0 24px rgba(37, 42, 87, 0.08);
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact h2 {
  color: var(--navy);
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1.4;
  margin-bottom: 14px;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact p { color: var(--ink); opacity: 1; font-size: 17px; margin-bottom: 24px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact .ways {
  color: var(--ink);
  opacity: 1;
  font-size: 15px;
  margin-top: 24px;
  line-height: 2;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact .ways a {
  color: var(--navy);
  font-weight: 700;
  border-bottom-color: var(--line);
  font-variant-numeric: tabular-nums;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact-form { max-width: 744px; margin-top: 40px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact .cf-label { color: var(--navy); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .cf-req { background: var(--indigo); color: var(--surface); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .cf-opt { background: var(--surface-2); color: var(--muted); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .cf-input { border-color: var(--line); border-radius: 8px; }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .cf-input:focus-visible,
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .cf-submit:focus-visible { outline-color: var(--indigo); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .cf-submit {
  background: var(--indigo);
  color: var(--surface);
  border-radius: 8px;
  padding: 18px 48px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .cf-submit:hover { filter: brightness(0.93); }
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact .cf-note { color: var(--muted); opacity: 1; }

/* ── 19. フッター ─────────────────────────────────────────── */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) footer { padding: 48px var(--space-4b); font-size: 13px; }

/* ============================================================
   20. PC だけの指定（site.css が 720px 以下で別の値を持つ箇所は
       ここに入れて、SP 側の指定を踏み潰さない）
   ============================================================ */
@media (min-width: 721px) {
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance :is(.issue-head, .issue-item) { gap: 24px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-a {
    border-left: 1px solid var(--line);
    padding-left: 32px;
  }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .greeting-cols { gap: 56px; }
  /* 地図は情報の面と同じ高さまで伸ばして、2つの面の下端を揃える */
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details {
    gap: 40px;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    align-items: stretch;
  }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .map-slot iframe { height: 100%; min-height: 340px; }
  /* 列幅と列間隔は site.css の会社案内の共通指定に従う。 */
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl div {
    padding: 18px 0;
  }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions { display: flex; flex-wrap: wrap; }
}

/* 相続CTAの3列は狭くなると収まらないので、960px で縦積みに切り替える。
   ここで文字サイズは変えないので、境目で文字が跳ねることはない。 */
@media (max-width: 960px) {
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus .inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding: 32px 28px;
  }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus h2 { white-space: normal; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus a {
    justify-self: start;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* ── 21. 720px 以下（参考サイトの「PCのちょうど半分」に倣う）── */
@media (max-width: 720px) {
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) section { padding: 48px var(--space-4b); }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance { padding-top: 48px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance-section { margin-top: 40px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .sec-title + .inheritance-section + .inheritance-section { margin-top: 40px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact { padding: 48px var(--space-4b); }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus { padding: 0 var(--space-4b); }

  :is(body.theme-b:not(.page-about), body.theme-b.page-about) header { padding: 0 8px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .header-inner {
    border-radius: 0 0 12px 12px;
    padding: 10px 16px 12px;
  }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .header-cta { padding: 9px 14px; font-size: 12px; }

  /* 流れ：1列に縦積み。番号と見出しが上、本文が下（参考サイトと同じ） */
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li {
    grid-template-columns: minmax(0, 1fr);
    padding: 28px 22px;
    border-radius: 14px;
  }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li > .step-label {
    grid-column: 1;
    grid-row: auto;
    align-self: stretch;
    margin-bottom: 20px;
    font-size: 18px;
  }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li > p { grid-column: 1; font-size: 16px; }

  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .concern-panel { padding: 28px 22px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .check-list li { font-size: 16px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .issue-item { padding: 20px 0; font-size: 16px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta { padding: 36px 22px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions a[href^="tel:"] { padding: 13px 18px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta-actions a[href^="tel:"] > span:last-child { font-size: 23px; }

  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .reason { padding: 28px 24px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc { padding: 26px 22px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc-group + .svc-group { margin-top: 48px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-item { padding: 26px 22px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .greeting:not(:has(.greeting-cols)) .greeting-copy { padding: 26px 22px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-q { padding-left: 40px; font-size: 17px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-a { padding-left: 40px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) :is(.faq-q, .faq-a)::before { width: 26px; height: 26px; font-size: 13px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .profile-career { padding: 24px 22px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl { padding: 4px 22px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl div { font-size: 15px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact .inner { padding: 32px 20px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact-form { margin-top: 28px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .btn-primary,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .btn-white { padding: 16px 28px; font-size: 15px; }
}

/* 380px 以下。左右の食い込みをなくす */
@media (max-width: 380px) {
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) section,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact { padding-inline: var(--space-4); }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .focus { padding-inline: var(--space-4); }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .timeline > li { padding: 24px 18px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .concern-panel,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .inheritance .page-cta,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .faq-item,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .greeting:not(:has(.greeting-cols)) .greeting-copy,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .reason,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .profile-career,
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .contact .inner { padding-inline: 18px; }
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl { padding-inline: 18px; }
}

/* 「提案型の税務コンサルティ／ング」のようにカタカナ語の途中で割れるのを防ぐ（統括者が追記） */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .reason h3 { word-break: auto-phrase; }

/* ───────────────────────────────────────────────
   TOP ごあいさつ：写真列が無い1列の長文なので、読み物として組む（統括者が追記）
   1. 行長を和文の適正（約36字）に詰め、**左右対称に中央へ置く**。
      片側だけ空くと「崩れ」に読まれ、対称だと「意図」に読まれる。
   2. 冒頭の「はじめまして」を入口にする。本文と同寸だと14行の塊に見える。
   文章は変更しない。
   ─────────────────────────────────────────────── */
/* ごあいさつの器は他の節と同じ幅にする。読み幅は .prose > * の 47em が持つので、
   器を狭める必要がない。以前は器に max-width: 40em を当てていたが、961px 以上では
   top.css が打ち消しており、721〜960px だけ 640px の中央寄せが生き残っていた。
   白いベタ面を敷いた時点で、他の節（x=24 w=720）とのずれが見えるようになった。
   2026-10-13 に実測して削除した。
   残す知見: 読み幅の指定は文章の器に当てるもので、図を含む器に当ててはいけない。
   会社概要の .greeting は写真と略歴を横に組んだ2列（.greeting-cols）が入っており、
   器ごと 40em まで狭めると写真が243px を占めて文章の列が210px しか残らず、
   1行が12〜16字で割れた（2026-10-08 の指摘「会社概要のプロフィールが拡大されすぎている」）。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .greeting .profile-intro {
  max-width: none;
}
/* TOPのあいさつ文は、1文目をリード文として大きくしていた。2026-10-13 に本文を
   先生の原稿（あいさつ.pptx 10/11 版）の全文へ差し替えたところ、1文目が
   「はじめまして」という6文字の書き出しになり、節見出し「ごあいさつ」の下に
   見出しがもう一段あるように見えた。リード文という前提が崩れたので規則を外し、
   書き出しも本文と同じ大きさにする。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) .greeting .profile-more {
  max-width: none;
  margin-top: 1.8em;
}

/* 見出し全体を文節の切れ目で折る。カタカナ語や複合語の途中で割れるのを防ぐ（統括者が追記）。
   個別対処だと原稿が増えるたびに同じ事故が出るため、見出し一括で当てる。 */
:is(body.theme-b:not(.page-about), body.theme-b.page-about) :is(h1, h2, h3, h4, .step-label, .sec-title, .issue-a-title, .situation-label) {
  word-break: auto-phrase;
}

/* 長い語を分割せずに収める。住所欄は縦並び、小幅の業務カードは左右の余白を縮める。 */
@media (min-width: 721px) and (max-width: 960px) {
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .access-details dl div {
    grid-template-columns: minmax(0, 1fr); gap: var(--space-1h);
  }
}
@media (max-width: 360px) {
  :is(body.theme-b:not(.page-about), body.theme-b.page-about) .svc { padding-inline: 6px; }
}
