/* このファイルは生成物。色・書体・余白は content/theme.json、部品は kit/components.css を編集する */
:root {
  --paper: #FFFFFF;
  --surface: #FFFFFF;
  --soft: #F4F6F8;       /* 要点・目次・CTAの面 */
  --warm: #FAF7F1;       /* 読者の言葉の面 */
  --ink: #1C2024;
  --ink-2: #4F5862;
  --ink-3: #6B7480;       /* 出典の括弧書き(本文より小さく薄く) */
  --rule: #E3E7EB;
  --rule-strong: #C9D0D7;
  --blue: #16508F;       /* ブランドの紺: 見出しの印・図の強調・ロゴ */
  --blue-tint: #EAF1F8;
  --link: #1A5FB4;       /* 本文のリンク */
  --cta: #C2410C;       /* 相談先ボタンだけ(ほかに使わない) */
  --cta-dark: #9A330A;
  --green: #C2410C;
  --green-dark: #9A330A;
  --yellow: #F2C94C;
  --marker: #FFF3C4;
  --radius: 10px;
  --radius-s: 6px;
  --measure: 42em;
  --font: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;
  --font-display: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;
  --grid: #FFFFFF;
}

/* キット共通の部品スタイル v3(2026-09-26 全面刷新)。
   方針: 白い紙に、太さの差だけで階層をつくる。箱・罫線・アイコン・番号は「読むのを助けるときだけ」。
   色は content/theme.json のトークン(:root に生成)。記事の検査が見る class 名は変えていない。 */

/* ---------- 土台 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--font); font-size: 16px; line-height: 1.85; letter-spacing: 0.04em;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
@media (min-width: 768px) { body { font-size: 17px; line-height: 1.95; } }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--link); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3, .artcard__t, .hubrow__t, .door__t, .cta__title, .feature__t, .home-sec__t { font-feature-settings: "palt" 1; letter-spacing: 0.02em; word-break: auto-phrase; }
.num, td, .tabular { font-variant-numeric: tabular-nums; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: #fff; padding: 12px 16px; z-index: 10; }
.skip:focus { left: 8px; }
.ic { width: 18px; height: 18px; flex: 0 0 auto; }
.note { font-size: 14px; color: var(--ink-2); line-height: 1.8; }
.sec-title { font-size: 15px; font-weight: 700; margin: 56px 0 12px; }
/* 本文中の出典の括弧書き: 読む流れを止めないよう、小さく薄く */
.cite { font-size: 0.8em; color: var(--ink-3); letter-spacing: 0.01em; font-weight: 400; }
.cite a { color: var(--ink-3); }
strong .cite, .answer__lead .cite { font-weight: 400; }

/* ---------- ヘッダー・フッター ---------- */
.site-header { background: #fff; border-bottom: 1px solid var(--rule); }
.site-header__inner { max-width: 1160px; margin: 0 auto; padding: 0 20px; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.logo { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; min-height: 48px; }
.logo svg { width: 26px; height: 26px; flex: none; }
.logo span { font-weight: 700; font-size: 19px; letter-spacing: 0.06em; white-space: nowrap; line-height: 1.3; }
.logo small { display: block; font-weight: 400; font-size: 11px; letter-spacing: 0.04em; color: var(--ink-3); }
.site-nav { display: flex; gap: 2px; }
.site-nav a { color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 500; padding: 10px 12px; min-height: 44px; display: inline-flex; align-items: center; border-radius: var(--radius-s); white-space: nowrap; }
.site-nav a:hover { background: var(--soft); }
@media (max-width: 720px) { .site-nav .hide-sp { display: none; } }
@media (max-width: 420px) { .site-header__inner { padding: 0 12px; gap: 6px; } .logo { gap: 7px; } .logo svg { width: 22px; height: 22px; } .logo small { display: none; } .logo span { font-size: 16px; letter-spacing: 0.04em; } .site-nav a { padding: 10px 7px; font-size: 13px; } }

.site-footer { background: var(--soft); color: var(--ink-2); font-size: 14px; padding: 48px 0 56px; margin-top: 96px; border-top: 1px solid var(--rule); }
.site-footer a { color: var(--ink); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer__inner { max-width: 1160px; margin: 0 auto; padding: 0 20px; display: grid; gap: 28px; }
@media (min-width: 760px) { .site-footer__inner { grid-template-columns: 1.5fr 1fr 1fr; } }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li a { display: inline-block; padding: 6px 0; }
.site-footer .small { font-size: 13px; line-height: 1.8; }
.site-footer__policy { font-size: 12.5px; margin: 12px 0 0; }

/* ---------- パンくず ---------- */
.crumbs { max-width: 1160px; margin: 0 auto; padding: 14px 20px 0; font-size: 12.5px; color: var(--ink-3); }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.crumbs li + li::before { content: "›"; margin: 0 8px; }
.crumbs a { color: var(--ink-3); text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }

/* ---------- 記事の骨格 ---------- */
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 20px; }
.article-layout { max-width: 1160px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 64px; }
@media (min-width: 1180px) { .article-layout { grid-template-columns: minmax(0, 720px) 250px; justify-content: center; } }
.prose { min-width: 0; }
.prose p { margin: 0 0 1.4em; }
.prose ul, .prose ol { padding-left: 1.3em; margin: 0 0 1.4em; }
.prose li { margin-bottom: 0.45em; }
.prose li::marker { color: var(--ink-3); }
.prose strong { font-weight: 700; }
.prose h2 + p.short { font-size: 1.06em; }

/* 記事の頭: 分類 → 題 → 補足 → 署名行 → PR */
.article-head { padding: 28px 0 8px; }
.article-head__hubp { margin: 0 0 10px; }
.article-head__hub { display: inline-block; font-size: 13px; font-weight: 700; color: var(--blue); text-decoration: none; letter-spacing: 0.06em; }
.article-head__hub:hover { text-decoration: underline; }
.article-head h1 { font-size: 26px; line-height: 1.5; font-weight: 700; margin: 0 0 14px; }
@media (min-width: 768px) { .article-head h1 { font-size: 34px; line-height: 1.45; } }
.article-head h1 .sub { display: block; font-size: 16px; font-weight: 400; line-height: 1.8; color: var(--ink-2); margin-top: 14px; letter-spacing: 0.03em; }
@media (min-width: 768px) { .article-head h1 .sub { font-size: 17px; } }
.byline { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; font-size: 13px; color: var(--ink-2); margin: 18px 0 0; padding: 14px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.byline a { color: var(--ink); font-weight: 700; text-decoration: none; }
.byline a:hover { text-decoration: underline; }
.pr-band { margin: 12px 0 0; font-size: 12.5px; line-height: 1.7; color: var(--ink-2); }
.pr-band strong { font-weight: 700; color: var(--ink); }
.pr-band strong::before { content: "PR"; display: inline-block; font-size: 10.5px; line-height: 1; padding: 3px 5px 2px; margin-right: 6px; border: 1px solid var(--ink-2); border-radius: 3px; vertical-align: 1px; letter-spacing: 0.04em; }

/* 図(ヒーロー・本文) */
.hero { margin: 28px 0 32px; }
.hero img, .fig-img img { width: 100%; max-width: 600px; margin: 0 auto; border-radius: var(--radius-s); box-shadow: 0 0 0 1px var(--rule); }
.hero figcaption, figure.fig figcaption, .fig-img figcaption { font-size: 12.5px; color: var(--ink-3); line-height: 1.7; margin: 10px auto 0; max-width: 600px; }
figure { margin: 0; }
figure.fig { margin: 8px 0 36px; }
.fig__no { font-weight: 700; color: var(--ink-2); margin-right: 6px; }
.fig-img--flow img { max-width: 360px; }
.fig-img--answer { margin: 48px 0 0; }
.fig-img--answer img { max-width: 400px; margin: 0; }
.fig-img--answer figcaption { margin-left: 0; }

/* 結論(要点) */
.answer { background: var(--soft); border-radius: var(--radius); padding: 22px 22px 8px; margin: 0 0 20px; }
@media (min-width: 768px) { .answer { padding: 28px 32px 12px; } }
.answer__label { font-size: 13px; font-weight: 700; color: var(--blue); letter-spacing: 0.1em; margin: 0 0 8px; }
.answer__lead { font-size: 18px; font-weight: 700; line-height: 1.7; margin: 0 0 14px !important; }
@media (min-width: 768px) { .answer__lead { font-size: 20px; } }
.answer ul { margin: 0 0 14px; padding-left: 1.2em; }
.answer li { margin-bottom: 0.6em; }
.answer p:last-child { margin-bottom: 12px; }

/* 分かること・分からないこと(折りたたみ) */
.know { margin: 0 0 36px; border: 1px solid var(--rule); border-radius: var(--radius); font-size: 15px; line-height: 1.8; }
.know > summary { cursor: pointer; list-style: none; padding: 14px 18px; font-weight: 700; font-size: 14.5px; display: flex; align-items: center; justify-content: space-between; min-height: 48px; }
.know > summary::-webkit-details-marker { display: none; }
.know > summary::after { content: "+"; font-size: 20px; font-weight: 400; color: var(--ink-3); }
.know[open] > summary::after { content: "−"; }
.know__cols { display: grid; gap: 0; border-top: 1px solid var(--rule); }
@media (min-width: 720px) { .know__cols { grid-template-columns: 1fr 1fr; } }
.know__col { padding: 14px 18px 16px; }
.know__col--no { border-top: 1px solid var(--rule); background: var(--soft); border-radius: 0 0 var(--radius) var(--radius); }
@media (min-width: 720px) { .know__col--no { border-top: 0; border-left: 1px solid var(--rule); border-radius: 0 0 var(--radius) 0; } }
.know__label { font-size: 13px; font-weight: 700; margin: 0 0 6px !important; color: var(--ink-2); }
.know ul { margin: 0 !important; padding-left: 1.2em; }
.know li { margin-bottom: 4px; }

/* 見出し */
.prose h2 { font-size: 22px; line-height: 1.55; font-weight: 700; margin: 72px 0 22px; padding-top: 20px; position: relative; }
.prose h2::before { content: ""; position: absolute; left: 0; top: 0; width: 40px; height: 4px; border-radius: 2px; background: var(--blue); }
@media (min-width: 768px) { .prose h2 { font-size: 26px; margin-top: 88px; } }
.prose h3 { font-size: 18px; line-height: 1.6; font-weight: 700; margin: 44px 0 14px; }
@media (min-width: 768px) { .prose h3 { font-size: 20px; } }
.prose h2 .no { display: none; }

/* 目次 */
.toc { border: 1px solid var(--rule); border-radius: var(--radius); padding: 0; margin: 0 0 40px; font-size: 15px; line-height: 1.6; }
.toc > summary { cursor: pointer; list-style: none; padding: 14px 18px; font-weight: 700; display: flex; align-items: center; justify-content: space-between; min-height: 48px; }
.toc > summary::-webkit-details-marker { display: none; }
.toc > summary::after { content: "+"; font-size: 20px; font-weight: 400; color: var(--ink-3); }
.toc[open] > summary::after { content: "−"; }
.toc ol { list-style: none; margin: 0; padding: 4px 18px 12px; counter-reset: t; border-top: 1px solid var(--rule); }
.toc li { counter-increment: t; display: grid; grid-template-columns: 2em 1fr; margin: 0; }
.toc li::before { content: counter(t); color: var(--ink-3); font-size: 13px; padding-top: 11px; font-variant-numeric: tabular-nums; }
.toc a { display: block; padding: 8px 0; color: var(--ink); text-decoration: none; }
.toc a:hover { color: var(--link); text-decoration: underline; }
.side { display: none; }
@media (min-width: 1180px) { .side { display: block; } }
.side-toc { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-top: 28px; }
.side-toc .toc { border: 0; font-size: 13.5px; margin: 0; }
.side-toc .toc > summary { padding: 0 0 10px; min-height: 0; font-size: 12px; letter-spacing: 0.12em; color: var(--ink-3); }
.side-toc .toc > summary::after { display: none; }
.side-toc .toc ol { border-top: 0; padding: 0; border-left: 2px solid var(--rule); }
.side-toc .toc li { grid-template-columns: 1fr; }
.side-toc .toc li::before { display: none; }
.side-toc .toc a { padding: 7px 0 7px 14px; margin-left: -2px; border-left: 2px solid transparent; color: var(--ink-2); line-height: 1.55; }
.side-toc .toc li.is-current a { color: var(--ink); font-weight: 700; border-left-color: var(--blue); }

/* ---------- 表 ---------- */
.table-block { margin: 8px 0 40px; }
.table-block__title { font-size: 15px; font-weight: 700; margin: 0 0 10px; line-height: 1.6; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table.spec { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.65; letter-spacing: 0.02em; }
table.spec th, table.spec td { padding: 11px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule); }
table.spec thead th { background: var(--soft); font-size: 13px; font-weight: 700; color: var(--ink-2); border-bottom: 1px solid var(--rule-strong); }
table.spec thead th:first-child { border-radius: var(--radius-s) 0 0 0; }
table.spec thead th:last-child { border-radius: 0 var(--radius-s) 0 0; }
table.spec tbody th { font-weight: 700; }
table.spec td.r, table.spec th.r { text-align: right; white-space: nowrap; }
table.spec tr.em td { background: var(--blue-tint); font-weight: 700; }
table.spec td:first-child { font-weight: 500; }
.source { font-size: 12.5px; color: var(--ink-3); margin: 10px 0 0; line-height: 1.75; letter-spacing: 0.02em; }
.source a { color: var(--ink-3); }
@media (max-width: 640px) {
  table.spec { font-size: 14px; }
  table.spec.compact { font-size: 13px; }
  table.spec.compact th, table.spec.compact td { padding: 8px 5px; }
  table.spec.compact thead th { font-size: 11.5px; }
  table.spec .hide-sp { display: none; }
  /* 文章の多い表は1行=1枚 */
  table.spec.stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  table.spec.stack, table.spec.stack tbody, table.spec.stack tr, table.spec.stack td { display: block; width: 100%; }
  table.spec.stack tr { border: 1px solid var(--rule); border-radius: var(--radius); margin-bottom: 12px; overflow: hidden; }
  table.spec.stack tr.em { border-color: var(--blue); }
  table.spec.stack td { display: grid; grid-template-columns: 7em 1fr; gap: 10px; padding: 9px 14px; text-align: left !important; white-space: normal !important; }
  table.spec.stack td:last-child { border-bottom: 0; }
  table.spec.stack td::before { content: attr(data-label); font-size: 12px; font-weight: 700; color: var(--ink-3); line-height: 1.6; padding-top: 1px; }
  table.spec.stack td:first-child { background: var(--soft); font-weight: 700; grid-template-columns: 1fr; }
  table.spec.stack td:first-child::before { display: none; }
  table.spec.stack tr.em td { background: transparent; }
  table.spec.stack tr.em td:first-child { background: var(--blue-tint); }
}

/* ---------- 注意書き・読者の言葉・FAQ ---------- */
.callout { background: var(--soft); border-radius: var(--radius); padding: 18px 20px; margin: 0 0 32px; font-size: 15.5px; line-height: 1.85; }
.callout p:last-child, .callout ul:last-child { margin-bottom: 0; }
.callout > p:first-child > strong:only-child { display: block; font-size: 13px; color: var(--ink-2); letter-spacing: 0.04em; margin-bottom: 2px; }
.callout--voice { background: var(--warm); position: relative; padding: 20px 22px 20px 58px; }
.callout--voice::before { content: "“"; position: absolute; left: 18px; top: 6px; font-size: 52px; line-height: 1; color: #C9B98F; font-family: Georgia, "Times New Roman", serif; }
.callout--voice .voice-label { font-size: 13px; color: var(--ink-2); margin: 0 0 6px; }
.callout--voice .voice-label .ic { display: none; }
.callout--memo ul, .callout--check ul { margin: 6px 0 0; padding-left: 1.2em; font-size: 14.5px; }
.ic-label { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; font-weight: 700; font-size: 14px; }
.ic-label .ic { color: var(--ink-3); }

.faq { margin: 0 0 40px; border-top: 1px solid var(--rule); }
.faq details { border-bottom: 1px solid var(--rule); }
.faq summary { padding: 16px 36px 16px 0; font-weight: 700; cursor: pointer; min-height: 48px; list-style: none; display: grid; grid-template-columns: 2em 1fr; position: relative; line-height: 1.7; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: "Q"; color: var(--blue); font-weight: 700; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font-size: 22px; font-weight: 400; color: var(--ink-3); }
.faq details[open] summary::after { content: "−"; }
.faq details > div { padding: 0 0 18px 2em; font-size: 15.5px; }
.faq details > div p:last-child { margin-bottom: 0; }

/* ---------- 相談先の案内(CTA) ---------- */
.cta { background: var(--soft); border-radius: 14px; padding: 22px 18px 18px; margin: 44px 0; }
@media (min-width: 768px) { .cta { padding: 28px 28px 22px; } }
.cta__eyebrow { font-size: 12px; color: var(--ink-3); margin: 0 0 6px; letter-spacing: 0.06em; }
.cta__eyebrow::before { content: "PR"; display: inline-block; font-size: 10.5px; line-height: 1; padding: 3px 5px 2px; margin-right: 8px; border: 1px solid var(--ink-3); border-radius: 3px; vertical-align: 1px; }
.cta__title { font-size: 18px; font-weight: 700; margin: 0 0 10px; line-height: 1.6; }
@media (min-width: 768px) { .cta__title { font-size: 20px; } }
.cta__choose { display: flex; align-items: flex-start; gap: 8px; font-size: 14.5px; line-height: 1.75; margin: 0 0 16px; color: var(--ink-2); }
.cta__choose .ic { display: none; }
.cta__flow { font-size: 13.5px; color: var(--ink-2); margin: 0 0 16px; line-height: 1.7; }
.cta__flow ol { margin: 4px 0 0; padding-left: 1.3em; }
.svc-list { display: grid; gap: 12px; }
@media (min-width: 640px) { .svc-list--2 { grid-template-columns: 1fr 1fr; } .svc-list--3 { grid-template-columns: repeat(3, 1fr); } }
.svc { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius); padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.cta--compact .svc__rows { font-size: 14px; color: var(--ink-2); }
.svc__name { display: flex; gap: 10px; align-items: flex-start; margin: 0; line-height: 1.5; }
.svc__ic { display: none; }
.svc__name strong { display: block; font-size: 18px; font-weight: 700; }
.svc__tag { display: block; font-size: 12.5px; color: var(--ink-3); margin-top: 2px; }
.svc__rows { margin: 0; display: grid; gap: 10px; font-size: 14px; line-height: 1.7; }
.svc__rows dt { font-weight: 700; color: var(--ink-3); font-size: 12px; }
.svc__rows dd { margin: 0; }
.svc__rows dd small { display: block; color: var(--ink-3); font-size: 12px; }
.svc__rows dd ol { margin: 0; padding-left: 1.2em; }
.btn { display: flex; align-items: center; justify-content: center; gap: 8px; text-align: center; min-height: 56px; padding: 12px 18px; border-radius: var(--radius-s); font-weight: 700; font-size: 16px; line-height: 1.45; text-decoration: none; letter-spacing: 0.03em; }
.btn--card { margin-top: auto; background: var(--cta); color: #fff; box-shadow: 0 2px 0 var(--cta-dark); }
.btn--card::after { content: "›"; font-size: 22px; line-height: 1; font-weight: 400; margin-top: -2px; }
.btn--card:hover { background: var(--cta-dark); }
.btn--primary { background: var(--cta); color: #fff; }
.btn--secondary { background: #fff; color: var(--link); border: 1.5px solid var(--link); }
.cta__more { font-size: 13.5px; margin: 12px 0 0; }
.cta__legal { font-size: 12px; color: var(--ink-3); margin: 14px 0 0; line-height: 1.7; }
.cta--compact .svc__rows dt { display: none; }
.cta strong, .svc__name strong { background: none; }

/* 比較表(順位なし)。PC=2列のカード、スマホ=縦積み */
.cmp { margin: 24px 0 40px; }
.cmp__reason, .cmp__both { font-size: 14.5px; line-height: 1.75; margin: 0 0 12px; color: var(--ink-2); display: block; }
.cmp__reason .ic, .cmp__both .ic { display: none; }
.cmp__table { border-collapse: collapse; width: 100%; font-size: 14px; }
.cmp__table, .cmp__table tbody, .cmp__table tr, .cmp__table th, .cmp__table td { display: block; }
.cmp__table thead { display: none; }
.cmp__table tbody { display: grid; gap: 14px; }
@media (min-width: 640px) { .cmp__table tbody { grid-template-columns: 1fr 1fr; } }
.cmp__table tr { border: 1px solid var(--rule); border-radius: var(--radius); padding: 18px; background: #fff; display: flex; flex-direction: column; }
.cmp__table th, .cmp__table td { border: 0; padding: 6px 0; text-align: left; line-height: 1.7; }
.cmp__table tbody th { border-bottom: 1px solid var(--rule); padding-bottom: 12px; margin-bottom: 6px; }
.cmp__ic { display: none; }
.cmp__table tbody th strong { display: block; font-size: 18px; }
.cmp__table tbody th small { display: block; font-weight: 400; color: var(--ink-3); font-size: 11.5px; margin-top: 2px; }
.cmp__table td::before { content: attr(data-label); display: block; font-weight: 700; font-size: 12px; color: var(--ink-3); }
.cmp__table td[data-label="申し込み"] { margin-top: auto; padding-top: 12px; }
.cmp__table td[data-label="申し込み"]::before { display: none; }
.cmp__table .btn--card { font-size: 15px; min-height: 54px; width: 100%; }

/* 1社ずつの解説 */
.svcblock { border-top: 1px solid var(--rule); padding-top: 24px; margin: 40px 0 48px; }
.svcblock__h { display: flex; align-items: center; gap: 8px; font-size: 21px !important; margin: 0 0 8px !important; }
.svcblock__h .ic { display: none; }
.svcblock__pos { font-size: 15px; color: var(--ink-2); margin: 0 0 16px; }
.svcblock__info th { width: 11em; background: var(--soft); font-size: 13px; }
.svcblock__fit { display: grid; gap: 12px; margin: 18px 0; }
@media (min-width: 640px) { .svcblock__fit { grid-template-columns: 1fr 1fr; } }
.svcblock__fit > div { border: 1px solid var(--rule); border-radius: var(--radius); padding: 14px 16px; }
.svcblock__fit ul { margin: 6px 0 0; padding-left: 1.2em; font-size: 14.5px; }
.svcblock__q { font-size: 15px; }
.svcblock__cta { background: var(--soft); border-radius: var(--radius); padding: 18px; margin: 18px 0 8px; }
.svcblock__cta > p:first-child { font-weight: 700; margin: 0 0 12px; }
.svcblock__more { font-size: 14.5px; }
.cmp strong, .svcblock strong { background: none; }

/* ---------- 記事の終わり ---------- */
.next { display: block; margin: 56px 0 0; padding: 20px 22px; border: 1px solid var(--rule); border-radius: var(--radius); }
.next__label { font-size: 12.5px; font-weight: 700; color: var(--ink-3); letter-spacing: 0.08em; margin: 0 0 4px; }
.next a { font-weight: 700; font-size: 17px; text-decoration: none; color: var(--ink); }
.next a:hover { color: var(--link); text-decoration: underline; }
.related__list { list-style: none; padding: 0; margin: 0 0 8px; border-top: 1px solid var(--rule); }
.related__list li { border-bottom: 1px solid var(--rule); }
.related__list a { display: block; padding: 14px 2px; text-decoration: none; color: var(--ink); font-weight: 500; line-height: 1.65; }
.related__list a:hover { color: var(--link); text-decoration: underline; }
.related__list .code { display: none; }
.hubs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; }
.hubs a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid var(--rule); border-radius: 999px; text-decoration: none; color: var(--ink); font-size: 14px; }
.hubs a:hover { border-color: var(--ink-3); }
.hubs .code, .hubs .state { display: none; }
.hubs a .ic { width: 16px; height: 16px; color: var(--ink-3); }
.editor { background: var(--soft); border-radius: var(--radius); padding: 22px; margin-top: 56px; font-size: 14px; line-height: 1.8; display: block; }
.editor__mark { display: none; }
.editor .editor__title { font-size: 16px !important; margin: 0 0 4px !important; padding: 0 !important; }
.editor .editor__title::before { display: none !important; }
.facts-mini { margin: 12px 0; font-size: 13px; line-height: 1.7; }
.facts-mini div { display: grid; grid-template-columns: 9.5em 1fr; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--rule); }
.facts-mini div:first-child { border-top: 1px solid var(--rule); }
.facts-mini dt { font-weight: 700; color: var(--ink-2); }
.facts-mini dd { margin: 0; }
@media (max-width: 480px) { .facts-mini div { grid-template-columns: 1fr; gap: 0; } }
.history { font-size: 13px; color: var(--ink-2); }
.history ul, .history ol { padding-left: 1.3em; margin: 4px 0 12px; }
.history .ic { display: none; }
.history a { color: var(--ink-2); }

/* ---------- 固定ページ・ハブ ---------- */
.page { max-width: 760px; margin: 0 auto; padding: 28px 20px 40px; }
.page h1 { font-size: 26px; line-height: 1.5; margin: 12px 0 20px; font-weight: 700; }
@media (min-width: 768px) { .page h1 { font-size: 32px; } }
.ic-h1 { display: flex; align-items: center; gap: 10px; }
.ic-h1 .ic { display: none; }
.page h2 { font-size: 20px; margin: 48px 0 12px; }
.page dl.facts { display: grid; grid-template-columns: 8em 1fr; margin: 0 0 24px; border-top: 1px solid var(--rule); }
.page dl.facts dt, .page dl.facts dd { margin: 0; padding: 12px 8px; border-bottom: 1px solid var(--rule); }
.page dl.facts dt { font-weight: 700; font-size: 14px; color: var(--ink-2); }
.page--hub { max-width: 880px; }
.hub-lead { font-size: 16.5px; color: var(--ink-2); max-width: 40em; }
.hub-count { font-size: 13px; color: var(--ink-3); margin: 32px 0 8px; }
.hubrows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.hubrow { display: block; padding: 24px 2px; border-bottom: 1px solid var(--rule); color: var(--ink); text-decoration: none; }
.hubrow__main { display: flex; flex-direction: column; gap: 6px; }
.hubrow__kw { font-size: 12.5px; color: var(--ink-3); }
.hubrow__t { font-size: 19px; font-weight: 700; line-height: 1.55; }
.hubrow:hover .hubrow__t { color: var(--link); text-decoration: underline; text-underline-offset: 0.2em; }
.hubrow__l { font-size: 15px; line-height: 1.8; color: var(--ink-2); }
.hubrow__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--ink-3); }
.hubrow__fig, .hubrow__code, .hubrow__go { display: none; }

/* ---------- トップ ---------- */
.home { max-width: 1160px; margin: 0 auto; padding: 0 20px; }
.home-hero { display: grid; gap: 28px; padding: 40px 0 36px; border-bottom: 1px solid var(--rule); }
@media (min-width: 960px) { .home-hero { grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: center; padding: 64px 0 56px; } }
.home-hero__eyebrow { font-size: 13px; font-weight: 700; color: var(--blue); letter-spacing: 0.08em; margin: 0 0 14px; }
.home-hero h1 { font-size: 30px; line-height: 1.45; font-weight: 700; margin: 0 0 18px; }
@media (min-width: 768px) { .home-hero h1 { font-size: 44px; line-height: 1.35; } }
.home-hero__lead { font-size: 16px; color: var(--ink-2); margin: 0 0 26px; max-width: 34em; }
@media (min-width: 768px) { .home-hero__lead { font-size: 17.5px; } }
.home-hero__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-main, .btn-sub { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 12px 22px; border-radius: var(--radius-s); font-weight: 700; font-size: 15.5px; text-decoration: none; }
.btn-main { background: var(--ink); color: #fff; }
.btn-main:hover { background: #000; }
.btn-sub { background: #fff; color: var(--ink); border: 1px solid var(--rule-strong); }
.btn-sub:hover { border-color: var(--ink); }
.btn-shindan { display: inline-flex; align-items: center; gap: 8px; background: var(--ink); color: #fff; padding: 12px 22px; border-radius: var(--radius-s); font-weight: 700; text-decoration: none; font-size: 15.5px; min-height: 52px; }
.btn-shindan .ic { display: none; }
.home-facts { background: var(--soft); border-radius: 16px; padding: 22px 24px; }
.home-facts__t { font-size: 12.5px; font-weight: 700; color: var(--ink-3); letter-spacing: 0.1em; margin: 0 0 6px; }
.home-facts ul { list-style: none; margin: 0; padding: 0; }
.home-facts li { padding: 14px 0; }
.home-facts li + li { border-top: 1px solid var(--rule-strong); }
.home-facts__v { display: block; font-size: 40px; font-weight: 700; line-height: 1.1; color: var(--blue); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.home-facts__l { display: block; font-size: 14.5px; font-weight: 500; margin-top: 6px; line-height: 1.6; }
.home-facts__s { display: block; font-size: 12px; color: var(--ink-3); margin-top: 2px; }
.home-facts__s a { color: var(--ink-3); }
.home-pr { font-size: 12.5px; color: var(--ink-3); margin: 14px 0 0; }
.home-pr strong { color: var(--ink-2); }
.home-sec { margin: 64px 0 0; }
.home-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 18px; }
.home-sec__t { font-size: 22px; font-weight: 700; margin: 0; line-height: 1.5; }
@media (min-width: 768px) { .home-sec__t { font-size: 26px; } }
.home-sec__more { font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.home-sec__more:hover { text-decoration: underline; }
.home-sec__lead { font-size: 15px; color: var(--ink-2); margin: -8px 0 18px; }
.doors { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 640px) { .doors { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .doors { grid-template-columns: repeat(3, 1fr); } }
.door { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 20px 20px 18px; border: 1px solid var(--rule); border-radius: var(--radius); color: var(--ink); text-decoration: none; transition: border-color .15s; }
.door:hover { border-color: var(--ink-3); }
.door__ic { display: none; }
.door__t { font-size: 17px; font-weight: 700; line-height: 1.5; }
.door__a { font-size: 14px; color: var(--ink-2); line-height: 1.7; }
.door__to { margin-top: auto; padding-top: 8px; font-size: 13.5px; font-weight: 700; color: var(--link); }
.door--shindan { background: var(--soft); border-color: var(--soft); }
.artcards { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 32px; }
@media (min-width: 640px) { .artcards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .artcards { grid-template-columns: repeat(3, 1fr); } }
.artcard { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 20px 0 22px; border-top: 1px solid var(--rule); color: var(--ink); text-decoration: none; }
.artcard__t { font-size: 17px; font-weight: 700; line-height: 1.6; }
.artcard:hover .artcard__t { color: var(--link); text-decoration: underline; text-underline-offset: 0.2em; }
.artcard__l { font-size: 14px; color: var(--ink-2); line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.artcard__meta { margin-top: auto; padding-top: 4px; font-size: 12.5px; color: var(--ink-3); display: flex; flex-wrap: wrap; gap: 2px 12px; }
.artcard__hub { font-size: 12.5px; font-weight: 700; color: var(--blue); }
.feature { display: grid; gap: 20px; border: 1px solid var(--rule); border-radius: 16px; padding: 18px; color: var(--ink); text-decoration: none; }
@media (min-width: 860px) { .feature { grid-template-columns: 420px minmax(0, 1fr); gap: 36px; padding: 24px; align-items: center; } }
.feature img { width: 100%; height: auto; border-radius: var(--radius-s); box-shadow: 0 0 0 1px var(--rule); }
.feature__tag { font-size: 12.5px; font-weight: 700; color: var(--blue); letter-spacing: 0.08em; }
.feature__t { display: block; font-size: 22px; font-weight: 700; line-height: 1.5; margin: 6px 0 10px; }
@media (min-width: 768px) { .feature__t { font-size: 26px; } }
.feature:hover .feature__t { color: var(--link); text-decoration: underline; text-underline-offset: 0.2em; }
.feature__l { display: block; font-size: 15.5px; color: var(--ink-2); line-height: 1.8; }
.feature__meta { display: block; font-size: 12.5px; color: var(--ink-3); margin-top: 12px; }
.home-end { margin: 80px 0 0; background: var(--soft); border-radius: 16px; padding: 32px 24px; text-align: center; }
.home-end__t { font-size: 20px; font-weight: 700; margin: 0 0 8px; }
.home-end p { margin: 0 0 18px; color: var(--ink-2); }
.home-policy { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 760px) { .home-policy { grid-template-columns: repeat(4, 1fr); } }
.home-policy li { border-top: 2px solid var(--ink); padding-top: 12px; font-size: 14px; color: var(--ink-2); line-height: 1.75; }
.home-policy b { display: block; color: var(--ink); font-size: 15.5px; margin-bottom: 4px; }

/* ---------- 診断 ---------- */
.q-card { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius); padding: 22px; margin: 16px 0; }
.q-meta { font-size: 13px; color: var(--ink-3); display: flex; justify-content: space-between; margin: 0 0 8px; }
.q-bar { height: 6px; background: var(--soft); margin: 0 0 18px; border-radius: 3px; overflow: hidden; }
.q-bar span { display: block; height: 100%; background: var(--blue); transition: width .2s; }
.q-title { font-size: 19px; font-weight: 700; margin: 0 0 16px; line-height: 1.6; }
.q-options { display: grid; gap: 10px; }
.q-options button { font: inherit; text-align: left; min-height: 56px; padding: 12px 16px; background: #fff; border: 1px solid var(--rule-strong); border-radius: var(--radius-s); color: var(--ink); cursor: pointer; line-height: 1.55; }
.q-options button:hover, .q-options button:focus-visible { border-color: var(--blue); background: var(--blue-tint); }
.q-back { font: inherit; font-size: 14px; background: none; border: none; color: var(--link); text-decoration: underline; padding: 12px 0; min-height: 44px; cursor: pointer; }
.result-type { font-size: 13px; color: var(--blue); font-weight: 700; letter-spacing: 0.08em; margin: 0; }
.result-title { font-size: 24px; margin: 4px 0 16px; line-height: 1.5; }

/* ---------- お問い合わせフォーム ---------- */
.form { background: #fff; border: 1px solid var(--rule); border-radius: var(--radius); padding: 22px; margin: 24px 0; }
.form-row { margin: 0 0 22px; border: 0; padding: 0; min-width: 0; }
.form-row > label, .form-row legend { display: block; font-weight: 700; font-size: 15px; margin-bottom: 6px; padding: 0; }
.form .req, .form .opt { font-size: 11px; font-weight: 700; padding: 1px 6px; margin-left: 6px; vertical-align: 2px; border: 1px solid; border-radius: 3px; }
.form .req { color: #8A1C1C; border-color: #8A1C1C; }
.form .opt { color: var(--ink-3); border-color: var(--rule-strong); }
.form input[type=text], .form input[type=email], .form input[type=url], .form textarea { width: 100%; font: inherit; font-size: 16px; padding: 12px; min-height: 48px; border: 1px solid var(--rule-strong); border-radius: var(--radius-s); background: #fff; color: var(--ink); }
.form input:focus, .form textarea:focus { border-color: var(--link); outline: 2px solid var(--blue-tint); }
.choices { display: grid; gap: 8px; }
.choice { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 12px; border: 1px solid var(--rule-strong); border-radius: var(--radius-s); cursor: pointer; font-weight: 400; font-size: 15px; line-height: 1.5; }
.choice input { width: 20px; height: 20px; flex: none; accent-color: var(--blue); }
.choice:has(input:checked) { border-color: var(--blue); background: var(--blue-tint); }
.form-hint { font-size: 13px; color: var(--ink-3); margin: 6px 0 0 !important; line-height: 1.6; }
.form-error { font-size: 13px; color: #8A1C1C; font-weight: 700; margin: 6px 0 0 !important; }
.form-error:empty { display: none; }
.form-submit { width: 100%; border: 0; cursor: pointer; font: inherit; font-weight: 700; background: var(--ink); color: #fff; }
.form-submit:disabled { opacity: .6; cursor: wait; }
.form-status { margin: 12px 0 0 !important; font-weight: 700; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* 長い URL・英数字の折り返し */
.prose a, .source a, .cmp a, .svcblock a, .history a { overflow-wrap: anywhere; word-break: break-word; }
.source .cite { font-size: 1em; color: inherit; }
.prose .related__list { padding-left: 0; }
.fig-img--answer figcaption { display: none; }
/* 塗りボタンは記事の最後の案内と比較表だけ。冒頭・途中の案内は枠線(ベンチマーク: 主1・従3の型) */
.btn--card[data-pos="top"], .btn--card[data-pos="mid"], .btn--card[data-pos="detail"] { background: #fff; color: var(--cta); border: 1.5px solid var(--cta); box-shadow: none; }
.btn--card[data-pos="top"]:hover, .btn--card[data-pos="mid"]:hover, .btn--card[data-pos="detail"]:hover { background: #FFF4EE; }
.hero { margin: 0 0 28px; }
.answer + .hero { margin-top: 4px; }
@media (max-width: 767px) { .prose h2 { font-size: 23px; } .prose h3 { font-size: 18px; } }

/* Astra: clear routes to answers, compact comparisons, readable evidence. */
body{letter-spacing:.015em;color:#202a30}
.home-hero{padding-top:44px;padding-bottom:36px;gap:38px;grid-template-columns:1.45fr .8fr}
.home-hero h1{font-size:40px;line-height:1.55;letter-spacing:.015em}
.home-scene{width:100%;height:auto;align-self:center}
.home-hero__btns .btn-main{display:none}
.home-hero__btns{margin-top:16px}
.home-hero__btns .btn-sub{padding:0;border:0;font-size:14px;text-decoration:underline;min-height:32px}
.home-sec{margin-top:48px}
.doors{gap:0;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong)}
.door{border:0;border-radius:0;box-shadow:none;background:white;padding:22px 20px;border-bottom:1px solid var(--rule);height:100%}
.door__a{display:none}.door__t{font-size:18px}.door__to{margin-top:8px}
.home-facts--after{margin:48px 0;background:#f6f7f5;border-radius:0;padding:22px}
.home-facts--after ul{display:grid;grid-template-columns:1fr 1fr;gap:24px}.home-facts--after li+li{border-top:0;padding-top:0}.home-facts__v{font-size:30px}
.artcard__t{font-size:18px}.artcard__meta{font-size:12px}.home-policy{font-size:14px}
.article-head{padding-top:18px}.article-head__hubp{display:none}.article-head h1{margin-bottom:12px}
.byline{padding:8px 0;gap:4px 14px;border-top:0;font-size:12px}.pr-band{font-size:13px;margin-top:10px}
.answer{background:#f3f6f5;border-radius:0;border-left:3px solid #284e54;padding:16px 20px 12px;margin:14px 0 0}
.answer__label{font-size:12px;margin-bottom:6px!important;color:#36555c}.answer__lead{font-size:18px!important;line-height:1.8;margin-bottom:0!important}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 24px;border:1px solid var(--rule-strong)}
.quick-links a{padding:13px 12px;text-decoration:none;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:8px;align-items:center;line-height:1.5}
.quick-links a+a{border-left:1px solid var(--rule-strong)}.quick-links a:hover{background:var(--blue-tint)}
.fig-img--answer{margin:20px 0 24px}.fig-img--answer img{max-width:360px;margin:auto}.fig-img--answer figcaption{display:block;font-size:13px;margin:8px auto;max-width:360px}
.figure-detail,.answer-notes,.evidence{border-bottom:1px solid var(--rule);margin:12px 0 20px;font-size:14px}
.figure-detail summary,.answer-notes summary,.evidence summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--link);font-weight:500}
.figure-detail figure{margin:20px 0}.toc{border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);border-radius:0;margin:12px 0}.toc>summary{padding:12px 0}
.consult-link{font-size:14px;padding:14px 0;margin-bottom:20px!important;color:var(--ink-2)}
.prose h2{margin-top:52px;padding-top:16px}.prose p{margin-bottom:1.2em}
.source,.cite{font-size:14px;line-height:1.8;color:#53616a}.source-ref{font-size:12px;white-space:nowrap}.evidence li{margin-bottom:14px;scroll-margin-top:25px}
.table-scroll{overflow-x:auto;border-bottom:1px solid var(--rule)}
.prefecture-table .table-scroll{max-height:620px;overflow:auto}
table.spec thead th{position:sticky;top:0;z-index:2;font-size:14px;background:#edf1f3}
table.spec td{font-size:15px}table.spec td:first-child{white-space:nowrap}.table-help{font-size:13px!important;color:var(--ink-2)}
.pref-picker{margin:18px 0}.pref-picker label{display:block;font-size:15px;font-weight:700;margin-bottom:6px}.pref-picker select{font:inherit;min-height:48px;width:100%;border:1px solid #8a969e;border-radius:3px;padding:8px;background:#fff}.pref-result{font-size:14px;margin:8px 0!important}.pref-result:empty{display:none}
.prefecture-table table{table-layout:fixed}.prefecture-table th:first-child{width:20%}.prefecture-table td{white-space:nowrap}.selected-pref td{background:#fff1c8!important;font-weight:700}.selected-pref{outline:2px solid #284e54;outline-offset:-2px}
.compare-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr}.compare-choice{padding:18px;border:1px solid #cdd5d9;border-radius:4px;display:flex;flex-direction:column;background:white}
.compare-choice .compare-choice__name{margin:0 0 14px!important;font-size:20px!important}.compare-choice dl{margin:0 0 10px;font-size:14px}.compare-choice dl>div{display:grid;grid-template-columns:5.5em 1fr;padding:8px 0;border-top:1px solid var(--rule);gap:8px}.compare-choice dt{font-size:12px;color:#4f5862}.compare-choice dd{margin:0;line-height:1.7}
.compare-choice details{font-size:14px;margin-top:auto;margin-bottom:12px}.compare-choice summary{cursor:pointer;color:var(--link);padding:10px 0;min-height:44px}.compare-choice .btn{font-size:14px;min-height:48px;padding:12px 8px}.compare-choice details p{margin:10px 0}
.registration-note{margin:24px 0 42px;padding:20px;background:#f3f6f5;font-size:14px}.registration-note .registration-note__title{margin:0 0 12px!important;font-size:17px!important}.registration-note ol{padding-left:1.5em}.registration-note .source{font-size:13px}
.hubrow__kw{color:#315763;font-size:13px;font-weight:500}.hubrow__l{font-size:15px}.hubrow{padding:22px 0}.hub-lead{max-width:40em}
@media(max-width:767px){
.home-hero{padding-top:26px;padding-bottom:20px;display:block}.home-hero h1{font-size:27px;line-height:1.55}.home-hero__eyebrow{margin-bottom:14px}.home-hero__lead{font-size:15px;margin:16px 0}.home-scene{display:none}.home-sec{margin-top:30px}.doors{display:block}.door{padding:14px 0}.door__t{font-size:17px}.door__to{font-size:12px;margin-top:4px}.door--shindan{background:white}.home-facts--after ul{display:block}.home-facts--after li+li{border-top:1px solid var(--rule);padding-top:16px}.home-facts--after{margin:30px 0}.feature img{display:none}.feature{display:block}.artcards{display:block}
.article-head h1{font-size:25px;line-height:1.5}.article-head{padding:18px 0 8px}.crumbs{font-size:11px;padding-top:10px}.byline{font-size:12px}.pr-band{font-size:12px;line-height:1.8}.answer{padding:14px 16px}.answer__lead{font-size:17px!important}.quick-links a{font-size:13px;padding:12px 9px;display:block}.quick-links span{display:block}.quick-links{margin-bottom:18px}.prose h2{margin-top:40px}.consult-link{font-size:13px;padding:6px 0}
table.spec.compact{font-size:14px}table.spec.compact td{font-size:14px;padding:10px 6px}table.spec.compact thead th{font-size:12px;padding:9px 5px}.prefecture-table .table-scroll{max-height:520px}.prefecture-table td{font-size:13px!important;padding:12px 3px!important}.prefecture-table th{font-size:12px!important;padding:10px 3px!important}
.compare-grid{grid-template-columns:1fr;gap:14px}.compare-choice{padding:16px}.compare-choice .compare-choice__name{font-size:19px!important}.compare-choice dl>div{grid-template-columns:5em 1fr}.source{font-size:13px}.fig-img--answer figcaption{font-size:12px}.site-footer{margin-top:56px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:767px){.prefecture-table td{font-size:14px!important}.prefecture-table th{font-size:14px!important;line-height:1.5}.prefecture-table td:not(:first-child){text-align:right}.prefecture-table th:first-child{width:21%}.prefecture-table th{word-break:normal}.pr-band a{white-space:nowrap}}

/* Generated editorial hero image, 2026-09-26 */
.home-scene{border-radius:0;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply}

/* Give the editorial illustration more presence without changing the text column. */
@media(min-width:769px){.home-scene{width:118%;max-width:none;transform:translateX(-8%);}}

/* Illustrated entries: meaningful text remains the accessible link name. */
.door{display:flex;flex-direction:row;align-items:flex-start;gap:14px}.door__image{width:88px;height:88px;flex:0 0 88px;object-fit:contain;mix-blend-mode:multiply}.door__copy{display:block;min-width:0}.door__copy .door__t{display:block}.door__copy .door__to{display:block}
@media(min-width:801px){.door__copy .door__t{min-height:3em}}
@media(max-width:800px){.door{display:flex;gap:14px}.door__image{width:76px;height:76px;flex-basis:76px}.door__copy .door__t{font-size:16px;line-height:1.6}.door__copy .door__to{font-size:12px;line-height:1.6}}
/* Shared Astra design: diagnosis, results and service choices */
.diagnosis-page{max-width:900px;margin:0 auto;padding-bottom:56px}.diagnosis-intro{display:grid;grid-template-columns:1fr 140px;gap:24px;align-items:center;margin:12px 0 16px}.diagnosis-intro h1{font-size:32px;line-height:1.5;margin:8px 0 12px}.diagnosis-intro p{margin:0;font-size:16px;line-height:1.8}.diagnosis-intro img{width:140px;height:140px;object-fit:contain}.diagnosis-kicker{font-size:13px!important;font-weight:700;color:var(--blue);letter-spacing:.04em}.diagnosis-privacy{font-size:13px;color:var(--ink-2);margin:0 0 8px}.diagnosis-note{font-size:13px;color:var(--ink-2);margin-bottom:26px}.diagnosis-note summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.diagnosis-note p{font-size:14px;line-height:1.8}.q-card{padding:30px;border:1px solid var(--rule);border-radius:6px;background:#fff;margin:0}.q-card .q-title{font-size:23px;line-height:1.6;font-weight:700;margin:16px 0 24px}.q-meta{font-size:13px;color:var(--ink-2)}.q-bar{height:4px;background:#e8edf1;border-radius:0;margin-bottom:24px}.q-bar span{background:var(--blue)}.q-options{gap:10px}.q-options button{border-radius:4px;font-size:16px;padding:16px 18px;min-height:56px;display:flex;align-items:center;gap:14px}.q-options button[data-j]::before{content:'';width:16px;height:16px;border:1px solid #9aa6af;border-radius:50%;flex-shrink:0}.q-options button:hover::before{background:var(--blue);box-shadow:inset 0 0 0 3px #fff}.q-options #go{background:var(--blue);color:white;justify-content:center;border-color:var(--blue);font-weight:700}.q-back{font-size:14px;padding:12px 0;min-height:44px;color:var(--blue);text-underline-offset:4px}.is-answering .diagnosis-intro img,.is-answering .diagnosis-intro>div>p:not(.diagnosis-kicker),.is-answering .diagnosis-note,.is-result .diagnosis-intro,.is-result .diagnosis-privacy,.is-result .diagnosis-note{display:none}.is-answering .diagnosis-intro{display:block}.is-answering .diagnosis-intro h1{font-size:20px}.diagnosis-result{border:0}.result-summary{display:flex;align-items:center;gap:22px;padding:26px 0;border-bottom:1px solid var(--rule)}.result-summary img{width:112px;height:112px;object-fit:contain;flex-shrink:0}.result-summary .result-type{font-size:13px;margin:0 0 8px;letter-spacing:0}.result-summary .result-title{font-size:27px;line-height:1.6;margin:0;border:0;padding:0}.result-lead{font-size:16px;line-height:1.95;margin:24px 0}.result-actions{margin:30px 0}.result-actions h3,.result-agents h3{margin:0 0 16px;font-size:21px}.result-actions ol{list-style:none;counter-reset:steps;padding:0;display:grid;gap:0}.result-actions li{counter-increment:steps;display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:16px;line-height:1.8}.result-actions li::before{content:counter(steps,decimal-leading-zero);font-size:13px;font-weight:700;color:var(--blue);padding-top:3px}.result-question{background:#f0f4f6;border-left:3px solid var(--blue);padding:22px 24px;margin:30px 0}.result-question p{margin:0 0 8px;font-size:16px;line-height:1.9}.result-question strong{background:none}.result-agents.cta{background:none;padding:30px 0 0;border:0;border-top:1px solid var(--rule);border-radius:0;margin:40px 0 20px}.registration-detail{margin:20px 0;font-size:14px;line-height:1.8;color:var(--ink-2)}.registration-detail summary{cursor:pointer;color:var(--blue)}.svc-list{gap:20px}.svc-list>.compare-choice{min-width:0}.compare-choice{padding:22px;border-radius:5px;box-shadow:none}.compare-choice .compare-choice__name{font-size:21px!important;line-height:1.5!important;margin:0 0 16px!important;padding:0!important}.compare-choice dl{font-size:14px;line-height:1.75}.compare-choice details{font-size:14px;line-height:1.8}.compare-choice details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px}.compare-choice details summary::before{content:'＋';font-weight:700}.compare-choice details[open] summary::before{content:'−'}.compare-choice .btn{font-size:14px;padding:13px 12px;line-height:1.6;min-height:48px}.compare-choice details p{font-size:14px;line-height:1.8;margin:12px 0}.cta--cards{border-radius:5px}.cta__flow{margin-top:12px}.btn{word-break:normal;overflow-wrap:anywhere}.svcblock__cta .btn{font-size:15px}.svcblock__info{width:100%;table-layout:fixed}.svcblock__info th{width:30%;overflow-wrap:anywhere}.svcblock__info td{overflow-wrap:anywhere}
@media(max-width:767px){.diagnosis-page{padding-bottom:32px}.diagnosis-intro{grid-template-columns:1fr 76px;gap:8px}.diagnosis-intro img{width:76px;height:90px}.diagnosis-intro h1{font-size:24px}.diagnosis-intro p{font-size:15px}.q-card{padding:20px 16px}.q-card .q-title{font-size:20px;margin:12px 0 20px}.q-options button{font-size:15px;padding:14px 12px}.result-summary{gap:14px;align-items:flex-start;padding:16px 0}.result-summary img{width:72px;height:80px}.result-summary .result-title{font-size:21px}.result-summary .result-type{font-size:12px}.result-lead,.result-actions li{font-size:15px}.result-question{padding:18px 16px}.result-question p{font-size:15px}.svc-list--2,.svc-list--3{grid-template-columns:1fr}.compare-choice{padding:20px}.compare-choice .btn{font-size:14px}.result-agents .cta__choose{font-size:14px}.cta{padding:18px 14px}.svcblock__info th{font-size:12px}.svcblock__info td{font-size:14px}.diagnosis-page .next{margin-top:28px}}

.svc-list,.compare-grid{align-items:start}.compare-choice summary{list-style:none}.compare-choice summary::-webkit-details-marker{display:none}
.is-answering .next{display:none}

/* Classification headings sit outside the article reading column. */
.home-category{margin-top:64px}
.home-category .home-sec__head{align-items:center;margin-bottom:14px}
.home-category .home-sec__t{color:#214e70;position:relative;padding-bottom:14px;font-size:28px}
.home-category .home-sec__t::after{content:'';position:absolute;bottom:0;left:0;width:44px;height:3px;background:#214e70}
.home-category .home-sec__lead{margin:0 0 24px;font-size:14px;line-height:1.8}
.home-category .artcards{margin-left:36px;padding-left:22px;border-left:1px solid #d8e2e9;gap:0 26px}
.home-category .artcard{padding-top:18px;padding-bottom:22px}
.home-category .artcard__t{font-size:17px;color:var(--ink)}
.home-category .home-sec__more{white-space:nowrap;font-size:13px}
@media(max-width:767px){
 .home-category{margin-top:44px}
 .home-category .home-sec__t{font-size:24px;padding-bottom:12px}
 .home-category .home-sec__head{gap:8px;flex-wrap:wrap}
 .home-category .home-sec__lead{font-size:13px;margin-bottom:18px}
 .home-category .artcards{margin-left:14px;padding-left:16px}
 .home-category .artcard__t{font-size:17px;line-height:1.7}
 .home-category .artcard__l{font-size:14px}
 .home-category .home-sec__more{font-size:12px}
}

/* Trial article covers: titles remain selectable, accessible HTML. */
.article-cover{position:relative;display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:#f5f2ec;border:1px solid #e2e6e8;border-radius:4px;margin-bottom:6px}
.article-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.article-cover__title{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;background:rgba(255,255,255,.95);border-top:2px solid #214e70;font-size:17px;font-weight:700;line-height:1.55;color:#182c3b}
.artcard:hover .article-cover img{transform:scale(1.025)}
.artcard:hover .article-cover__title{text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){.article-cover__title{font-size:17px;padding:10px 12px}.home-category .article-cover{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.article-cover img{transition:none}.artcard:hover .article-cover img{transform:none}}

/* Global category navigation */
.site-nav{align-items:center}.nav-categories{display:flex;align-items:center;gap:0}.site-nav .nav-categories a{font-size:13px;padding:12px 9px}.site-nav a[aria-current]{color:#214e70;background:#edf3f7;font-weight:700}.site-nav .nav-diagnosis{color:#214e70;border-left:1px solid var(--rule);border-radius:0;margin-left:6px;font-size:13px}.nav-browse{display:none;position:relative}.nav-browse summary{list-style:none;cursor:pointer;font-size:14px;font-weight:700;padding:12px 8px;min-height:44px;display:flex;align-items:center;gap:8px;color:var(--ink)}.nav-browse summary::-webkit-details-marker{display:none}.nav-browse summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.nav-browse[open] summary{color:var(--blue)}.nav-browse[open] summary>span{transform:rotate(180deg)}.nav-browse__panel{position:absolute;right:0;top:calc(100% + 8px);width:260px;padding:12px 16px;background:white;border:1px solid var(--rule);border-radius:5px;box-shadow:0 10px 28px #18334218;z-index:30}.nav-browse__panel>p{margin:4px 8px 10px;font-size:12px;color:var(--ink-2)}.site-nav .nav-browse__panel a{display:flex;justify-content:space-between;padding:12px 8px;font-size:15px;border-top:1px solid #edf0f2;border-radius:0;min-height:48px}
@media(max-width:1050px){.nav-categories{display:none}.nav-browse{display:block}}
@media(max-width:420px){.nav-browse summary{font-size:13px;padding:10px 5px;gap:4px}.site-nav .nav-diagnosis{font-size:12px;padding:10px 5px;margin-left:0}.site-header__inner{gap:4px}.nav-browse__panel{right:-58px;width:min(280px,calc(100vw - 32px))}}
/* Equal image and title tracks for article covers. */
.article-cover{display:grid;grid-template-rows:auto 88px;aspect-ratio:auto}
.article-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;min-height:0}
.article-cover__title{position:static;display:flex;align-items:center;height:88px;box-sizing:border-box;background:#fff;padding:12px 14px;line-height:1.55}
@media(max-width:767px){.article-cover{grid-template-rows:auto 88px}.article-cover__title{height:88px;padding:10px 12px}}
/* Horizontal article browsing; native scrolling also works without JavaScript. */
.article-slider{margin-left:36px;padding-left:22px;border-left:1px solid #d8e2e9;min-width:0}
.article-slider__controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 12px}
.article-slider__hint{font-size:12px;color:var(--ink-2);margin-right:auto}
.article-slider__controls button{width:44px;height:44px;border:1px solid #b6c7d4;border-radius:50%;background:white;color:#214e70;font-size:22px;cursor:pointer}
.article-slider__controls button:hover:not(:disabled){background:#edf3f7}
.article-slider__controls button:disabled{opacity:.3;cursor:default}
.home-category .article-slider .artcards{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 52px)/3);gap:26px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0;margin:0;padding:0 0 14px;border:0;scrollbar-width:thin;scrollbar-color:#a9bbc9 #f1f4f6}
.article-slider .artcards>li{scroll-snap-align:start;min-width:0}
.article-slider .artcard{height:100%;box-sizing:border-box}
.article-slider .artcards:focus-visible,.article-slider__controls button:focus-visible{outline:2px solid #214e70;outline-offset:3px}
@media(min-width:768px) and (max-width:999px){.home-category .article-slider .artcards{grid-auto-columns:calc((100% - 26px)/2)}}
@media(max-width:767px){.article-slider{margin-left:14px;padding-left:16px}.home-category .article-slider .artcards{grid-auto-columns:88%;gap:16px}.article-slider__controls{gap:6px}.article-slider__hint{font-size:11px}.article-slider__controls button{width:40px;height:40px}.article-slider .article-cover__title{font-size:16px}}
.article-cover__title{align-items:flex-start}
/* Shared editorial images: list previews and compact article opening. */
.hubrows .hubrow{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px;align-items:start;padding:26px 0}
.hubrow__image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid #e2e6e8;border-radius:4px}
.hubrow__main:only-child{grid-column:1/-1}
.service-logo{display:flex;align-items:center;justify-content:flex-start;width:220px;height:64px;max-width:100%;flex-shrink:0;margin:0 0 18px;padding:8px 12px;box-sizing:border-box;border-radius:4px;background:#fff}
.service-logo img{display:block;width:100%;height:48px;object-fit:contain;object-position:left center}
.service-logo--dark img{object-position:center}
.service-logo--dark{background:#163c57;justify-content:center;width:176px}
.service-name-link{font-weight:700;text-decoration:underline;text-underline-offset:3px}.service-name-link span{font-size:.8em}
.table-service-logo{display:flex;align-items:center;width:150px;max-width:100%;height:46px;margin-bottom:10px;padding:6px;box-sizing:border-box;border-radius:3px}.table-service-logo img{max-width:100%;max-height:34px;object-fit:contain}.table-service-logo--dark{background:#163c57}
.prose .article-illustration{margin:16px 0 20px;max-width:680px}
.prose .article-illustration img{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:320px;object-fit:cover;object-position:center;border-radius:4px}
@media(min-width:768px){.prose .article-head:has(.service-logo)+.article-illustration img{max-height:240px}}
.article-slider .article-cover{grid-template-rows:auto var(--cover-title-height,auto)}
.article-slider .article-cover__title{height:var(--cover-title-height,auto);min-height:88px}
@media(max-width:767px){.hubrows .hubrow{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:22px 0}.hubrow__image{aspect-ratio:4/3}.hubrow__t{font-size:16px;line-height:1.65}.hubrow__kw{font-size:11px}.hubrow__l{font-size:13px;line-height:1.75}.hubrow__meta{font-size:11px}.prose .article-illustration{margin:12px 0 16px}.prose .article-illustration img{aspect-ratio:16/9;max-height:200px}}

.agent-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #ccd8df;margin:24px 0 40px}
.agent-index>a{display:flex;flex-direction:column;gap:5px;padding:18px 16px;border-bottom:1px solid #ccd8df;text-decoration:none;color:#193a52;min-width:0}
.agent-index>a:hover{background:#f0f5f8}.agent-index strong{font-size:17px;line-height:1.55}.agent-index span{font-size:12px;color:#526674}.agent-index small{font-size:14px;line-height:1.7;color:#344b5c}
.prose .agent-profile{padding:30px;margin:32px 0 44px;border:1px solid #c9d5dd;border-top:4px solid #365e7b;border-radius:4px;scroll-margin-top:100px}
.agent-profile__brand{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.agent-type{font-size:12px;line-height:1.6;background:#edf3f6;color:#35526a;padding:5px 9px}
.agent-profile__brand .service-logo{margin-bottom:0}
.article-picks{margin:20px 0 30px;padding:20px 22px;border:1px solid #ccd8df;border-top:3px solid #365e7b;background:#f6f8fa;border-radius:4px}
.prose .article-picks__title{font-size:19px;font-weight:700;margin:0 0 8px;color:#244b68}.prose .article-picks__note{font-size:12px;line-height:1.7;margin:0 0 14px;color:#52616e}
.article-pick{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px 0;border-top:1px solid #dce3e8}.article-pick .service-logo{width:150px;height:48px;margin:0;padding:6px 8px}.article-pick .service-logo img{height:36px}.article-pick strong{font-size:15px;line-height:1.6}.prose .article-pick p{font-size:13px;line-height:1.7;margin:4px 0 0}.article-pick__link{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;font-weight:700;white-space:nowrap;text-underline-offset:4px}.prose .article-picks__foot{font-size:13px;margin:12px 0 0;line-height:1.8}
@media(max-width:767px){.article-picks{padding:16px}.article-pick{grid-template-columns:110px minmax(0,1fr);gap:8px 12px}.article-pick .service-logo{width:110px;height:44px;padding:5px}.article-pick .service-logo img{height:34px}.article-pick__link{grid-column:2;justify-content:flex-start}.prose .article-picks__title{font-size:17px}.article-pick strong{font-size:14px}}
/* Cards in the same row share logo, title, fact, disclosure and CTA tracks. */
@media(min-width:768px){
 .svc-list,.compare-grid{align-items:stretch;row-gap:0;column-gap:20px}
 .svc-list>.compare-choice,.compare-grid>.compare-choice{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;margin-bottom:20px;align-self:stretch}
 .compare-choice>dl{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
 .compare-choice>dl>div{align-content:start}
 .compare-choice>details{margin-top:0;align-self:start}
 .compare-choice>.btn,.compare-choice>.cta-link>.btn{align-self:stretch;display:flex;align-items:center;justify-content:center}
}
.prose .agent-profile h3{margin:20px 0 12px;padding:0;border:0;font-size:25px}.prose .agent-profile__fit{font-weight:700;color:#244d6a;margin:0 0 18px}
.agent-profile dl{margin:24px 0}.agent-profile dl>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 0;border-top:1px solid #dfe6ea}.agent-profile dt{font-size:14px;font-weight:700;color:#536676}.agent-profile dd{margin:0;font-size:16px;line-height:1.8}
.prose .agent-profile__cta{display:flex;justify-content:center;gap:12px;background:#b9470d;color:white;font-size:17px;font-weight:700;padding:17px 20px;text-decoration:none;border-radius:5px;max-width:520px;margin:26px auto 18px;text-align:center;line-height:1.6}.agent-profile__cta:hover{background:#963809}.prose .agent-profile .source{font-size:12px;line-height:1.8;margin-bottom:0}
@media(max-width:600px){.agent-index{grid-template-columns:1fr}.agent-index>a{padding:16px 8px}.prose .agent-profile{padding:20px 17px;margin:28px 0}.agent-profile__brand{gap:12px}.prose .agent-profile h3{font-size:22px}.agent-profile dl>div{grid-template-columns:1fr;gap:5px}.agent-profile dd{font-size:15px}.prose .agent-profile__cta{font-size:16px;padding:15px 12px}}

/* 見出しではない部品の題(2026-09-27: 見出しの規則により h2/h3 から p に。見た目は同じ) */
.compare-choice__name, .registration-note__title, .editor__title { font-weight: 700; line-height: 1.5; }
/* 記事の冒頭の画像の説明文(見出しと画像の規則 D-013 で追加) */
.prose .article-illustration__caption{font-size:12.5px;color:var(--ink-3);line-height:1.7;margin:8px 0 0}

/* クリックの記録の包む要素(kit/layout.mjs の wrapCtaLinks)。見た目は変えない */
.cta-link{display:contents}

/* 2026-09-29 オーナーの指示(PM 経由、4サイト共通): 押すところは塗りのボタンにする(背景はサイトの主の行動色 --cta #C2410C、文字は白。コントラスト比 5.18:1(実測))。
   冒頭の相談先の欄の「公式サイトへ」と、ヘッダーの比較への入口(相談先を比べる)。比較の記事の各社の欄のボタン(.agent-profile__cta・.btn--card)は以前から塗り */
.prose .article-picks .article-pick__link,.article-picks .article-pick__link{background:var(--cta);color:#fff;padding:0 16px;border-radius:6px;text-decoration:none;box-shadow:0 2px 0 var(--cta-dark)}
.prose .article-picks .article-pick__link:hover,.article-picks .article-pick__link:hover{background:var(--cta-dark);color:#fff}
.article-picks .article-pick__link:focus-visible{outline:2px solid #214e70;outline-offset:2px}
@media(max-width:767px){.article-picks .article-pick__link{justify-self:start;width:max-content;min-height:44px}}
.site-nav a.nav-compare{background:var(--cta);color:#fff;font-weight:700;margin-left:6px;padding:8px 12px;min-height:40px}
.site-nav a.nav-compare:hover,.site-nav a.nav-compare[aria-current="true"]{background:var(--cta-dark);color:#fff}
.nav-browse__panel a.nav-compare{background:var(--cta);color:#fff;font-weight:700;border-top:0;border-radius:6px;margin-top:6px}
.nav-browse__panel a.nav-compare:hover{background:var(--cta-dark);color:#fff}
/* 2026-09-29 オーナーの指示(PM 経由): トップのテーマごとの記事は、横にめくらず、すべて一度に見せる(PC 3列、タブレット 2列、スマホ 1列) */
.home-category .article-grid{margin-left:36px;padding-left:22px;border-left:1px solid #d8e2e9;min-width:0}
.home-category .article-grid .artcards{display:grid;grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;overflow:visible;margin:0;padding:0;border:0}
.home-category .article-grid .artcard{height:100%;box-sizing:border-box}
@media(min-width:768px) and (max-width:999px){.home-category .article-grid .artcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.home-category .article-grid{margin-left:14px;padding-left:16px}.home-category .article-grid .artcards{grid-template-columns:minmax(0,1fr);gap:16px}}

/* 決定 D-044(2026-09-29): 答えの数字を大きく、太く。答えのすぐ下の「この記事で分かること」 */
.answer__lead strong{font-size:1.4em;color:var(--blue);font-weight:800;line-height:1.3}
.quick-links__title{grid-column:1/-1;margin:0;padding:8px 12px;font-size:12px;font-weight:700;color:var(--ink-2);background:var(--soft);border-bottom:1px solid var(--rule-strong)}
/* 決定 D-045(2026-09-29): 答えから相談先の欄へのつなぎ。1行の文と、行動色の下向きの三角 */
.answer-bridge{display:flex;flex-direction:column;align-items:center;gap:4px;margin:-8px 0 0;text-align:center}
.answer-bridge__text{margin:0;font-size:14px;font-weight:700;color:var(--ink);line-height:1.6}
.answer-bridge__arrow{display:block;width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:14px solid var(--cta)}
.answer-bridge + .article-picks{margin-top:4px}
@media(max-width:767px){.answer-bridge__text{font-size:13px}.answer-bridge__arrow{border-left-width:14px;border-right-width:14px;border-top-width:12px}}

/* 診断結果: 3社の比較でも本文幅とボタン位置を保つ */
.result-agents .svc-list--3{grid-template-columns:1fr}.result-agent-reason{font-size:15px;line-height:1.8;color:var(--ink);margin:0 0 16px}.result-agents .compare-choice{display:flex;flex-direction:column}.result-agents .compare-choice>.btn,.result-agents .compare-choice>.cta-link{margin-top:auto}.result-compare{font-weight:700;text-decoration:underline}
@media(min-width:1100px){.result-agents .svc-list--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.result-disclosure{font-size:13px;color:var(--ink-2)} @media(min-width:1100px){.result-agents .result-agent-reason{min-height:54px}.result-agents .compare-choice dl>div{min-height:100px}.result-agents .compare-choice .btn{min-height:60px}}
