/* ==========================================================================
   ふじみの会計事務所 ─ サイト共通スタイル（2026-10-16 デザイン刷新）
   ・このファイルが唯一の「見た目の生成元」。トップ・職業別LP・/faq/・/blog/ の全ページが
     </style> のあとで読み込む（tools/site_chrome.py が <link> を出す。LP・トップは tools/site_css.py、
     記事は tools/genblog.py、/faq/ は tools/faq_page.py）。
   ・各HTMLに残っている <style> より「あと」に読むので、同じクラス名はこちらが勝つ。
     ページ固有の部品（試算・図・軸など）は各HTMLの <style> のまま。色は :root の再定義で揃える。
   ・方針：紙＋1色（深い緑）。本文 17px／行間 1.85／1行 36〜40字。影・グラデーション・英語の小見出しは使わない。
   ・直したら tools/site_css.py を流す（?v= のハッシュが更新され、キャッシュが切り替わる）。
   ========================================================================== */

/* ── 1. トークン（各ページの :root を上書きする） ───────────────── */
:root{
  color-scheme: light only;

  /* 紙 */
  --paper:#FFFFFF;
  --paper-2:#F6F6F3;          /* 薄いウォームグレー（帯・面） */

  /* 文字・罫 */
  --n000:#FFFFFF;
  --n050:#F6F6F3;
  --n100:#E7E7E2;
  --n200:#DADAD4;
  --n300:#CFCFC8;
  --n400:#8E8E88;
  --n600:#5C5C57;             /* 補助文（白地で 6.7:1） */
  --n800:#333330;             /* 本文 */
  --n900:#1E1E1C;             /* 見出し */
  --b900:#1E1E1C;
  --b800:#000000;

  /* 1色：深い緑。LINEボタン・リンク・強調の面はすべてこれ */
  --green:#176B3F;            /* 白地で 6.6:1 */
  --green-d:#125433;
  --ac100:#DCEBE1;            /* 面（黒文字を載せる） */
  --ac050:#EEF5F0;            /* さらに淡い面 */

  /* 職業別LPの識別色（黄・テラコッタ・青・藤・ベージュ）を1色に統一する */
  --yl:var(--ac100);  --yl-d:var(--green);  --b100:var(--ac050);  --b050:#F6F8F6;
  --ac:var(--ac100);  --ac-d:var(--green);
  --c-oya:var(--ac100); --c-biy:var(--ac100); --c-fud:var(--ac100);
  --c-hjn:var(--ac100); --c-fkg:var(--ac100); --c-szk:var(--ac100);
  --ink:var(--green);  --ink-bg:var(--ac050);
  --amber:var(--green); --amber-bg:var(--ac050);

  /* 注意（赤）は警告の枠だけに残す */
  --red:#B3261E;
  --red-bg:#FBF1F0;

  /* 4px グリッド */
  --s25:2px; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px;

  --pad:clamp(16px,4.5vw,40px);
  --sec:clamp(56px,7vw,96px);

  /* 数字は等幅寄り（Noto Sans JP の tabular-nums）。Roboto Mono は読み込まない */
  --mono:"Noto Sans JP",system-ui,sans-serif;
  --r:8px;                    /* 角丸 */
}

/* ── 2. ベース ─────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px;
  background-color:var(--paper);color:var(--n900);overflow-x:clip;
}
body{
  margin:0;background-color:var(--paper);color:var(--n800);
  overflow-x:clip;max-width:100vw;
  font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI",sans-serif;
  font-size:17px;line-height:1.85;letter-spacing:.01em;
  font-variant-numeric:tabular-nums;font-feature-settings:"palt" 0;
  -webkit-font-smoothing:antialiased;
  padding-bottom:84px;            /* スマホ下部の固定バーぶん */
}
@media(min-width:900px){body{padding-bottom:0;}}
img{max-width:100%;display:block;}
a{color:var(--green);text-underline-offset:3px;text-decoration-thickness:1px;}
a:hover{color:var(--green-d);}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:3px;}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--n900);color:#fff;padding:12px 20px;border-radius:0 0 var(--s1) 0;font-weight:700;}
.skip:focus{left:0;}
p{margin:0 0 1.4em;}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.45;letter-spacing:.005em;color:var(--n900);overflow-wrap:anywhere;min-width:0;text-wrap:balance;}
h1{font-size:clamp(28px,4.6vw,42px);line-height:1.38;}
h2{font-size:clamp(22px,3.2vw,30px);}
h3{font-size:clamp(18px,2.2vw,20px);}
p,li{text-wrap:pretty;}
b,strong{color:var(--n900);}
small{font-size:.86em;}
table{font-variant-numeric:tabular-nums;}

.w{max-width:1100px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.w--n{max-width:720px;}            /* 17px × 約38字 ＋ 余白 */
.sec{padding:var(--sec) 0;background-color:transparent;}
.sec--tint,.sec--blue,.sec--ac{background-color:var(--paper-2);}
.sec--ink{background-color:var(--paper-2);color:var(--n900);}

/* 見出しブロック。英語の小見出し（Strengths など）はトップから外し、LPの日本語ラベルは小さく */
.ttl{margin-bottom:var(--s6);}
.ttl__n{
  font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--green);
  background:none;padding:0;margin:0 0 var(--s2);display:block;text-transform:none;
}
.ttl h2{font-size:clamp(23px,3.4vw,32px);line-height:1.42;}
.ttl__d{margin:var(--s4) 0 0;color:var(--n800);font-size:17px;max-width:40em;line-height:1.85;}

/* ── 3. ボタン（平ら・影なし） ─────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  font-family:inherit;font-weight:700;font-size:16px;padding:14px 26px;min-height:52px;letter-spacing:.01em;
  border-radius:var(--r);text-decoration:none;border:2px solid transparent;box-shadow:none;line-height:1.3;
  transition:background-color .2s,border-color .2s,color .2s;
}
.btn:active{transform:translateY(1px);}
.btn--l,.btn--line,.btn--p,.form__btn{background:var(--green);color:#fff;border-color:var(--green);box-shadow:none;}
.btn--l:hover,.btn--line:hover,.btn--p:hover{background:var(--green-d);border-color:var(--green-d);color:#fff;}
.btn--l:active,.btn--line:active,.btn--p:active{box-shadow:none;}
.btn--l,.btn--line{flex-wrap:wrap;row-gap:0;}
.btn--l .sub,.btn--line .sub{display:block;flex:0 0 100%;text-align:center;font-size:12px;font-weight:400;opacity:.92;margin-top:3px;}
.btn--o{border-color:var(--n300);color:var(--n900);background:#fff;}
.btn--o:hover{border-color:var(--n900);background:#fff;color:var(--n900);}
.btn--o .sub{display:block;flex:0 0 100%;text-align:center;font-size:12px;font-weight:400;color:var(--n600);margin-top:3px;}
.btn--o{flex-wrap:wrap;row-gap:0;}
.btn--s{padding:10px 18px;min-height:44px;font-size:14.5px;line-height:1;white-space:nowrap;}
.btn--txt{background:none;border:0;padding:8px 2px;min-height:44px;color:var(--green);font-size:15.5px;font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.btn--txt:hover{color:var(--green-d);}

/* ── 4. ヘッダ（全ページ共通。tools/site_chrome.py の HTML と対） ─── */
.hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--n100);}
.hd__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:10px var(--pad);min-height:60px;}
.hd__n{font-weight:700;font-size:16.5px;text-decoration:none;line-height:1.25;color:var(--n900);white-space:nowrap;}
.hd__n:hover{color:var(--n900);}
.hd__n span{display:block;font-size:11.5px;font-weight:400;color:var(--n600);margin-top:3px;letter-spacing:.02em;}
.hd__nav{display:none;gap:var(--s5);margin-left:auto;margin-right:var(--s4);}
@media(min-width:900px){.hd__nav{display:flex;}}
.hd__nav a{font-size:14.5px;font-weight:700;text-decoration:none;color:var(--n900);padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap;}
.hd__nav a:hover{border-bottom-color:var(--green);color:var(--n900);}
.hd__nav a[aria-current]{border-bottom-color:var(--green);color:var(--green);}
.hd__cta{display:none;}
@media(min-width:640px){.hd__cta{display:inline-flex;}}
.hd__sub,.hd__r,.hd__t,.hd__b{display:none !important;}   /* 旧ヘッダの部品（残っているページ用） */
/* ハンバーガー（JSなし。<details>） */
.hd__m{position:static;margin-left:auto;}
@media(min-width:900px){.hd__m{display:none;}}
.hd__mb{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border:1px solid var(--n300);border-radius:var(--r);font-size:14px;font-weight:700;color:var(--n900);background:#fff;}
.hd__mb::-webkit-details-marker{display:none;}
.hd__mi{display:inline-flex;flex-direction:column;gap:4px;width:18px;}
.hd__mi i{display:block;height:2px;background:var(--n900);border-radius:1px;transition:transform .2s,opacity .2s;}
.hd__m[open] .hd__mi i:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hd__m[open] .hd__mi i:nth-child(2){opacity:0;}
.hd__m[open] .hd__mi i:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.hd__mp{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--n100);padding:var(--s3) var(--pad) var(--s5);display:grid;gap:2px;box-shadow:0 12px 24px -16px rgba(0,0,0,.25);}
.hd__mp a{font-size:17px;font-weight:700;text-decoration:none;color:var(--n900);padding:12px 4px;border-bottom:1px solid var(--n100);}
.hd__mp a[aria-current]{color:var(--green);}
.hd__mp a.btn{border:2px solid var(--green);margin-top:var(--s4);padding:14px;color:#fff;justify-content:center;}
.hd__mp a.btn:hover{color:#fff;}

/* ── 5. パンくず・ページ内目次 ──────────────────── */
.bc{border-bottom:1px solid var(--n100);font-size:13px;}
.bc ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin:0;padding:var(--s3) 0;}
.bc li{display:flex;align-items:center;gap:var(--s2);color:var(--n600);}
.bc li+li::before{content:"›";color:var(--n400);}
.bc a{color:var(--n600);text-decoration:none;padding:var(--s1) 0;}
.bc a:hover{text-decoration:underline;color:var(--n900);}
.bc [aria-current]{color:var(--n900);font-weight:700;}

.pgtoc{background:var(--paper-2);border-top:1px solid var(--n100);border-bottom:1px solid var(--n100);padding:var(--s4) 0;}
.pgtoc__t{font-size:14px;letter-spacing:.02em;color:var(--n600);margin:0 0 var(--s2);font-weight:700;cursor:pointer;list-style:none;display:flex;gap:8px;align-items:baseline;}
.pgtoc__t::-webkit-details-marker{display:none;}
.pgtoc__t::after{content:"▾";margin-left:auto;color:var(--n400);font-size:14px;}
.pgtoc__d:not([open]) .pgtoc__t{margin-bottom:0;}
.pgtoc__d:not([open]) .pgtoc__t::after{content:"▸";}
.pgtoc__n{font-weight:400;color:var(--n600);}
.pgtoc ol{margin:0;padding:0;list-style:none;counter-reset:pgtoc;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px var(--s5);}
.pgtoc li{font-size:14.5px;line-height:1.7;display:flex;gap:8px;align-items:baseline;}
.pgtoc li::before{content:counter(pgtoc);counter-increment:pgtoc;color:var(--n400);font-size:12.5px;font-family:inherit;flex:0 0 1.4em;}
.pgtoc a{color:var(--n900);text-decoration:none;border-bottom:1px solid var(--n300);}
.pgtoc a:hover{border-bottom-color:var(--green);color:var(--green);}

/* ── 6. ヒーロー（トップ・LP共通の骨格） ───────────── */
.hero{padding:clamp(40px,6vw,72px) 0 clamp(40px,6vw,64px);}
.hero__g{display:grid;gap:var(--s6);}
@media(min-width:900px){.hero__g{grid-template-columns:1.25fr .75fr;gap:var(--s8);align-items:center;}}
.hero__e{font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--green);margin:0 0 var(--s4);display:block;}
.hero__e::after{display:none;}
.hero h1{font-size:clamp(30px,5vw,50px);line-height:1.32;letter-spacing:-.005em;margin:0;}
.hero h1 em{font-style:normal;color:var(--green);border-bottom:0;padding:0;}
.hero__d{margin:var(--s5) 0 0;font-size:17px;color:var(--n800);max-width:36em;line-height:1.9;}
.hero__b{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6);}
.hero__ph .imgbox{max-width:360px;margin-left:auto;}
@media(max-width:899px){.hero__ph .imgbox{max-width:260px;margin:0 auto;}}
/* 主訴求の数字（LP） */
.hero__stat{margin-top:var(--s6);border:1px solid var(--n200);background:var(--ac050);padding:var(--s4) var(--s5);border-radius:var(--r);display:block;}
.hero__stat .l{font-size:14px;color:var(--n600);margin:0 0 var(--s2);line-height:1.6;font-weight:400;}
.hero__stat .v{font-family:inherit;font-size:clamp(32px,6vw,52px);font-weight:700;line-height:1.05;margin:0;color:var(--n900);letter-spacing:-.01em;}
.hero__stat .u{font-size:15px;color:var(--n800);margin:var(--s3) 0 0;line-height:1.8;font-weight:400;}
.hero__open{margin:var(--s4) 0 0;font-size:15px;color:var(--n800);display:inline-flex;align-items:center;gap:var(--s2);}
.hero__open::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green);flex:none;}
.hero__open b{font-family:inherit;font-weight:700;color:var(--n900);}
/* 信頼の材料は小さく一列 */
.facts{border-top:1px solid var(--n100);margin-top:var(--s7);padding-top:var(--s4);}
.facts__g{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);}
.fact{padding:0;border:0 !important;display:flex;align-items:baseline;gap:8px;}
.fact__v{font-family:inherit;font-size:17px;font-weight:700;color:var(--n900);line-height:1.4;margin:0;}
.fact__v small{font-size:13px;font-weight:400;color:var(--n600);}
.fact__l{font-size:14px;color:var(--n600);line-height:1.5;margin:0;}
.fact__l br{display:none;}
@media(max-width:639px){
  .facts__g{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3) var(--s4);}
  .fact{display:block;padding:0;}
}
.imgbox{position:relative;overflow:hidden;background:var(--paper-2);border:1px solid var(--n100);border-radius:var(--r);}
.imgbox--45{aspect-ratio:4/5;}
.imgbox--43{aspect-ratio:4/3;}
.imgbox--11{aspect-ratio:1/1;}
.imgbox--wide{aspect-ratio:16/10;}
.imgbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.imgbox__ph{display:none;}

/* ── 7. 担当理由・強み・職業別カード（トップ） ─────────── */
.reason{padding:var(--s6) 0 0;}
.reason__c{display:flex;gap:var(--s5);align-items:flex-start;border:1px solid var(--n200);background:#fff;padding:var(--s5);border-radius:var(--r);}
.reason__ph{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;background:var(--paper-2);}
.reason__k{font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--green);margin:0 0 var(--s2);}
.reason__t{font-size:17px;font-weight:700;line-height:1.8;margin:0 0 var(--s2);color:var(--n900);}
.reason__s{font-size:14.5px;color:var(--n600);margin:0;line-height:1.8;}
.reason__s a{color:var(--green);}
@media(max-width:639px){.reason__c{flex-direction:column;gap:var(--s3);}.reason__ph{width:56px;height:56px;}}

.stg{display:grid;gap:var(--s5);}
@media(min-width:860px){.stg{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6);}}
.stg__c{border-top:2px solid var(--green);padding-top:var(--s4);}
.stg__n{font-family:inherit;font-size:14px;color:var(--green);font-weight:700;margin:0 0 var(--s2);}
.stg__c h3{font-size:clamp(18px,2.1vw,21px);line-height:1.55;margin:0 0 var(--s3);}
.stg__c p{font-size:16px;color:var(--n800);line-height:1.9;margin:0;}
.stg__c a{font-weight:700;color:var(--green);}

.svc{display:grid;gap:var(--s4);}
@media(min-width:760px){.svc{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);}}
@media(min-width:1024px){.svc{grid-template-columns:repeat(3,minmax(0,1fr));}}
.svc__c{display:flex;flex-direction:column;border:1px solid var(--n200);border-radius:var(--r);text-decoration:none;background:#fff;color:var(--n900);transition:border-color .2s;box-shadow:none;}
a.svc__c:hover{transform:none;box-shadow:none;border-color:var(--green);color:var(--n900);}
a.svc__c:active{transform:none;box-shadow:none;}
.svc__t{padding:var(--s3) var(--s5);font-size:14px;font-weight:700;color:var(--green);background:var(--ac050) !important;border-bottom:1px solid var(--n100);border-radius:var(--r) var(--r) 0 0;}
.svc__b{padding:var(--s5);flex:1;display:flex;flex-direction:column;}
.svc__b h3{font-size:clamp(18px,2.2vw,21px);margin-bottom:var(--s3);line-height:1.5;}
.svc__b p{font-size:15.5px;color:var(--n800);line-height:1.85;margin:0 0 var(--s4);}
.svc__l{list-style:none;padding:0;margin:0 0 var(--s5);font-size:14.5px;color:var(--n600);}
.svc__l li{padding-left:1.1em;position:relative;line-height:1.8;}
.svc__l li::before{content:"・";position:absolute;left:0;color:var(--n400);}
.svc__go{margin-top:auto;font-size:15px;font-weight:700;color:var(--green);}
.svc__go::after{content:" →";}
@media(max-width:639px){.svc__l{display:none;}.svc__b p{margin-bottom:var(--s3);}}

/* ── 8. 人・実績の内訳 ─────────────────────── */
.me{display:grid;gap:var(--s6);}
@media(min-width:860px){.me{grid-template-columns:280px minmax(0,1fr);gap:var(--s8);align-items:start;}}
.me__t{list-style:none;padding:0;margin:var(--s5) 0 0;border-top:1px solid var(--n100);}
.me__t li{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--n100);font-size:14px;}
.me__t span{color:var(--n600);}
.me__t b{font-family:inherit;font-weight:700;text-align:right;}
.me__q{font-size:clamp(20px,2.6vw,26px);font-weight:700;line-height:1.6;border-left:4px solid var(--green);padding-left:var(--s4);margin:0 0 var(--s5);color:var(--n900);}
.me__bd p{font-size:17px;color:var(--n800);line-height:1.95;}
.me__num{font-size:15px;color:var(--n600);border-top:1px solid var(--n100);padding-top:var(--s4);margin-top:var(--s5);line-height:1.85;}
.me__num small{display:block;font-size:13.5px;margin-top:var(--s2);}
.bunpu{margin-top:var(--s7);}
.bunpu h3{font-size:18px;margin:0 0 var(--s2);}
.bunpu__d{font-size:14.5px;color:var(--n600);margin:0 0 var(--s5);line-height:1.8;}
.bunpu__g{display:grid;gap:var(--s6);}
@media(min-width:860px){.bunpu__g{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8);}}
.bunpu__t2{margin-top:var(--s7) !important;}
.bunpu__h{font-size:14.5px;font-weight:700;color:var(--n600);margin:0 0 var(--s3);padding-bottom:var(--s2);border-bottom:2px solid var(--n900);}
.bunpu__h b{font-family:inherit;color:var(--n900);margin-left:var(--s2);}
.bunpu ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--s2);}
.bunpu li{display:grid;grid-template-columns:minmax(9em,13em) 1fr 3.4em;align-items:center;gap:var(--s3);font-size:14.5px;}
.bunpu__bar{height:10px;background:var(--n100);position:relative;border-radius:5px;overflow:hidden;}
.bunpu__bar i{position:absolute;inset:0 auto 0 0;background:var(--green);width:var(--w);border-radius:5px;}
.bunpu__n{font-size:13.5px;color:var(--n600);margin:var(--s3) 0 0;line-height:1.7;}
.bunpu__pct{font-family:inherit;font-size:14px;text-align:right;color:var(--n800);}
@media(max-width:639px){.bunpu li{grid-template-columns:1fr 3.4em;row-gap:4px;}.bunpu__bar{grid-column:1/-1;grid-row:2;}.bunpu__pct{grid-column:2;grid-row:1;}}

/* ── 9. 料金表・かんたん見積（トップ。tools/fees_section.py の HTML） ── */
.fee{margin-top:var(--s5);}
.fee h3{font-size:18px;margin:var(--s7) 0 var(--s3);padding-left:var(--s3);border-left:4px solid var(--green);line-height:1.5;}
.fee__w{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.fee table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:560px;}
.fee th,.fee td{padding:12px var(--s3);border-bottom:1px solid var(--n100);text-align:left;vertical-align:top;line-height:1.6;}
.fee thead th{font-size:13.5px;font-weight:700;color:var(--n600);border-bottom:2px solid var(--n900);white-space:nowrap;}
.fee tbody th{font-weight:700;white-space:nowrap;color:var(--n900);}
.fee td.n{text-align:right;font-family:inherit;white-space:nowrap;}
.fee td.hi{background:var(--ac050);font-weight:700;}
.fee__note{font-size:14.5px;color:var(--n600);line-height:1.8;margin:var(--s3) 0 0;}
.fee__inc{display:grid;gap:var(--s2);padding:0;margin:var(--s3) 0 0;list-style:none;font-size:15.5px;}
.fee__inc li{padding-left:1.5em;position:relative;line-height:1.75;}
.fee__inc li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700;}
.fee__inc--no li::before{content:"－";color:var(--n400);}
.fee__inc--jippi li::before{content:"＝";color:var(--n400);}
.fee__3{display:grid;gap:var(--s5);margin-top:var(--s7);}
@media(min-width:860px){.fee__3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6);}}
.fee__3 > div{border:1px solid var(--n200);border-radius:var(--r);padding:var(--s5);}
.fee__3 h3{margin-top:0;border:0;padding:0;font-size:17px;}
.fee__3 .fee__note{margin-top:var(--s3);}
.fee__pledge{border:1px solid var(--n200);padding:var(--s5);margin-top:var(--s6);background:var(--ac050);border-radius:var(--r);}
.fee__pledge h3{border:0;padding:0;margin:0 0 var(--s2);font-size:19px;}
.fee__pledge p{margin:0;font-size:16px;line-height:1.85;}
.fee__tax{font-size:15.5px;font-weight:700;margin:var(--s4) 0 0;padding:var(--s3) var(--s4);border-left:4px solid var(--green);background:var(--ac050);max-width:40em;border-radius:0 var(--r) var(--r) 0;color:var(--n900);}
/* スマホは横スクロールではなく、1行＝1枚のカードにする（td の data-l が列名） */
@media(max-width:639px){
  .fee__w{overflow:visible;}
  .fee table{min-width:0;display:block;}
  .fee thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .fee tbody,.fee tr,.fee th,.fee td{display:block;}
  .fee tr{border:1px solid var(--n200);border-radius:var(--r);padding:12px 14px 8px;margin-bottom:10px;background:#fff;}
  .fee tbody th{border:0;padding:0 0 8px;font-size:16.5px;white-space:normal;border-bottom:1px solid var(--n100);margin-bottom:6px;}
  .fee td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border:0;padding:4px 0;text-align:left !important;white-space:normal !important;font-size:15.5px;}
  .fee td::before{content:attr(data-l);color:var(--n600);font-size:14px;flex:1 1 auto;font-weight:400;}
  .fee td.n{font-weight:700;}
  .fee td.hi{background:none;}
}
/* かんたん見積 */
.est{margin-top:var(--s7);border:1px solid var(--n200);background:#fff;border-radius:var(--r);overflow:hidden;}
.est__h{padding:var(--s5);border-bottom:1px solid var(--n100);}
.est__h h3{margin:0 0 var(--s2);border:0;padding:0;font-size:19px;}
.est__h p{margin:0;font-size:15px;color:var(--n800);line-height:1.8;}
.est__b{display:grid;gap:var(--s5);padding:var(--s5);}
@media(min-width:860px){.est__b{grid-template-columns:1.1fr .9fr;gap:var(--s6);}}
.est__q{border:0;padding:0;margin:0 0 var(--s4);min-width:0;}
.est__q legend{font-size:14.5px;font-weight:700;color:var(--n600);margin-bottom:var(--s2);padding:0;}
.est__opts{display:flex;flex-wrap:wrap;gap:var(--s2);}
.est__opt{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--n300);border-radius:var(--r);padding:10px 14px;font-size:15px;cursor:pointer;background:#fff;min-height:44px;}
.est__opt:has(input:checked){border-color:var(--green);background:var(--ac050);font-weight:700;color:var(--n900);}
.est__opt input{margin:0;accent-color:var(--green);}
.est__note{font-size:14px;color:var(--n600);margin:var(--s2) 0 0;line-height:1.7;}
.est__r{background:var(--paper-2);padding:var(--s5);align-self:start;border-radius:var(--r);}
.est__row{display:flex;justify-content:space-between;gap:var(--s3);font-size:15px;padding:var(--s2) 0;border-bottom:1px solid var(--n100);}
.est__row b{font-family:inherit;white-space:nowrap;}
.est__tot{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-top:var(--s4);}
.est__tot span{font-size:14.5px;color:var(--n600);}
.est__tot b{font-family:inherit;font-size:clamp(24px,3.4vw,32px);color:var(--n900);}
.est__m{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-top:var(--s2);}
.est__m span{font-size:14.5px;color:var(--n600);}
.est__m b{font-family:inherit;font-size:19px;}
.est__sub{font-size:14px;color:var(--n600);margin:var(--s3) 0 0;line-height:1.7;}
.est__faq{font-size:15.5px;margin:var(--s5) 0 0;}

/* ── 10. 進め方・FAQ・事務所概要・読みもの導線 ────────── */
.flow{list-style:none;counter-reset:f;padding:0;margin:0;border-top:1px solid var(--n100);}
.flow li{counter-increment:f;border-bottom:1px solid var(--n100);padding:var(--s5) 0 var(--s5) 52px;position:relative;}
.flow li::before{
  content:counter(f);position:absolute;left:0;top:var(--s5);
  width:34px;height:34px;border:0;border-radius:50%;background:var(--green);color:#fff;
  font-family:inherit;font-weight:700;font-size:15px;line-height:34px;text-align:center;
  display:block;
}
.flow li::after{display:none;}
.flow h3{font-size:18.5px;margin-bottom:var(--s2);}
.flow p{font-size:16px;color:var(--n800);margin:0;line-height:1.85;}
.flow__ex{list-style:none;padding:0;margin:var(--s3) 0 0;display:grid;gap:4px;font-size:15px;color:var(--n800);}
.flow__ex li{counter-increment:none;border:0;padding:0 0 0 1.1em;position:relative;line-height:1.8;}
.flow__ex li::before{content:"・";position:absolute;left:0;top:0;width:auto;height:auto;border:0;border-radius:0;background:none;line-height:inherit;font-family:inherit;font-size:inherit;color:var(--n400);display:inline;}
.flow__reply{margin:var(--s3) 0 0;font-size:15px;color:var(--n600);}
.flow__faq{margin:var(--s6) 0 0;font-size:16px;}

.faq{border-top:1px solid var(--n100);}
.faq details{border-bottom:1px solid var(--n100);padding:0;}
.faq summary{
  list-style:none;cursor:pointer;padding:var(--s4) 44px var(--s4) 0;position:relative;
  font-weight:700;font-size:17px;line-height:1.7;min-height:44px;color:var(--n900);display:block;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{display:none;}
.faq summary::after{
  content:"";position:absolute;right:14px;top:calc(var(--s4) + 9px);width:9px;height:9px;
  border-right:2px solid var(--n600);border-bottom:2px solid var(--n600);transform:rotate(45deg);
}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq p,.faq .faq__a{font-size:16px;color:var(--n800);margin:0 0 var(--s4);line-height:1.9;max-width:44em;padding:0;}
.faq .faq__a a{font-size:14px;margin-left:8px;white-space:nowrap;color:var(--green);}
.faq--page details{padding:var(--s2) 0;}
.faq--page summary{font-size:17.5px;}
.faq--page .faq__a p{font-size:16.5px;line-height:1.95;}
.faq--page .faq__a a{font-size:inherit;margin:0;white-space:normal;}
.faq__links{margin:var(--s7) 0 0;font-size:15.5px;line-height:2;}

.info{width:100%;border-collapse:collapse;font-size:16px;}
.info th,.info td{padding:var(--s4) 0;border-bottom:1px solid var(--n100);text-align:left;vertical-align:top;}
.info th{width:8em;font-weight:700;color:var(--n600);font-size:14.5px;}
@media(max-width:539px){.info th,.info td{display:block;width:auto;padding:0;border:0;}.info th{padding-top:var(--s4);}.info td{padding-bottom:var(--s4);border-bottom:1px solid var(--n100);}}

.rd{list-style:none;padding:0;margin:0;border-top:1px solid var(--n100);display:grid;}
@media(min-width:820px){.rd{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s7);}}
.rd li{border-bottom:1px solid var(--n100);}
.rd a{display:block;padding:var(--s5) 0;text-decoration:none;color:var(--n900);transition:none;}
.rd a:hover{padding-left:0;}
.rd a:hover .rd__t{color:var(--green);}
.rd__k{font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:.02em;color:var(--green);margin:0 0 var(--s2);}
.rd__t{font-size:18px;font-weight:700;line-height:1.55;margin:0;}
.rd__d{font-size:15px;color:var(--n800);line-height:1.8;margin:var(--s2) 0 0;}
.soon{border:1px solid var(--n200);border-left:4px solid var(--green);padding:var(--s5);margin:0 0 var(--s6);border-radius:var(--r);background:#fff;}
.soon__k{font-family:inherit;font-size:14px;font-weight:700;color:var(--green);margin:0 0 var(--s2);}
.soon__t{font-size:19px;font-weight:700;line-height:1.5;margin:0 0 var(--s3);color:var(--n900);}
.soon__d{margin:0 0 var(--s4);line-height:1.85;font-size:16px;}
.soon__l{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15.5px;}
.soon__l a{color:var(--green);}

/* 囲みの補足（トップ「料金について」など） */
.box{margin-top:var(--s7);padding:var(--s5);border:1px solid var(--n200);border-radius:var(--r);background:#fff;}
.box h3{font-size:18px;margin:0 0 var(--s3);}
.box__h{font-size:15.5px;font-weight:700;margin:0 0 var(--s2);color:var(--n900);}
.box p{font-size:16px;color:var(--n800);margin:0 0 var(--s4);line-height:1.85;}
.box ul{font-size:16px;color:var(--n800);margin:0 0 var(--s4);padding-left:1.3em;line-height:1.85;}
.box .box__last{margin:0;}

/* 最後の呼びかけ。黒ベタをやめ、淡い面に */
.end{background:var(--ac050);color:var(--n900);text-align:center;border-top:1px solid var(--n100);}
.end h2{font-size:clamp(24px,3.8vw,34px);color:var(--n900);}
.end p{color:var(--n800);font-size:16.5px;margin:var(--s4) auto 0;max-width:34em;}
.end__t{display:inline-block;margin:var(--s6) 0 var(--s2);text-decoration:none;color:var(--n900);}
.end__t b{font-family:inherit;font-size:34px;display:block;line-height:1.12;color:var(--n900);}
.end__t span{font-size:14px;color:var(--n600);}
.end__b{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;margin-top:var(--s6);}
.end .form__note{color:var(--n600);font-size:14px;}
.end .form__note a{color:var(--green);}
.orsep{display:flex;align-items:center;gap:var(--s4);margin:var(--s7) 0 var(--s5);color:var(--n600);font-size:13.5px;}
.orsep::before,.orsep::after{content:"";flex:1;height:1px;background:var(--n200);}
.form__l{color:var(--n900);}
.form__l .req{color:var(--red);}
.form__n,.form__note{color:var(--n600);}
.form__i,.form__s,.form__t{border:1px solid var(--n300);border-radius:var(--r);}
.form__i:focus,.form__s:focus,.form__t:focus{outline:3px solid var(--green);outline-offset:2px;border-color:var(--green);}
.form__btn{box-shadow:none;border-radius:var(--r);background:var(--green);color:#fff;}
.form__btn:hover{background:var(--green-d);}

/* ── 11. 職業別LPの共通部品（各HTMLの <style> を上書き） ──────── */
.pains{list-style:none;padding:0;margin:0;border-top:1px solid var(--n100);columns:auto;display:grid;gap:0;}
@media(min-width:860px){.pains{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s7);columns:auto;}}
.pains li{border-top:0;border-bottom:1px solid var(--n100);padding:var(--s4) 0 var(--s4) 32px;position:relative;font-size:17px;line-height:1.8;break-inside:avoid;color:var(--n800);}
.pains li::before{content:"";position:absolute;left:0;top:calc(var(--s4) + 7px);width:16px;height:16px;border:2px solid var(--n300);border-radius:3px;font-size:0;color:transparent;}
.pains li b{color:var(--n900);}
.pull{padding:var(--s8) 0;text-align:center;}
.pull p{font-size:clamp(22px,3.6vw,34px);font-weight:700;line-height:1.6;max-width:22em;margin:0 auto;color:var(--n900);}
.pull span{display:block;font-size:clamp(15px,1.8vw,18px);font-weight:400;color:var(--n600);margin-top:var(--s4);}
.pull p .wd,.pull span .wd{color:inherit !important;transition:none;}
.chapter__k{font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--green);margin-bottom:var(--s2);}
.chapter h3{font-size:clamp(19px,2.4vw,24px);margin-bottom:var(--s3);line-height:1.5;}
.chapter p{font-size:17px;line-height:1.95;color:var(--n800);}
.chapter .mk,.body .mk{background:linear-gradient(transparent 60%,var(--ac100) 60%);font-weight:700;color:var(--n900);}
.prom{list-style:none;padding:0;margin:0;counter-reset:p;display:grid;gap:var(--s4);}
@media(min-width:900px){.prom{grid-template-columns:repeat(3,1fr);gap:var(--s6);}}
.prom li{border-top:2px solid var(--green);padding:var(--s4) 0 var(--s4);}
.prom li::before{counter-increment:p;content:"0" counter(p);font-family:inherit;font-size:14px;font-weight:700;color:var(--green);background:none;border:0;display:block;padding:0;margin-bottom:var(--s2);letter-spacing:.04em;}
.prom__when{font-size:14px;font-weight:700;color:var(--n600);margin:0 0 var(--s2);}
.prom h3{font-size:19px;margin-bottom:var(--s3);}
.prom p{font-size:16px;color:var(--n800);margin:0;line-height:1.85;}
.callout{margin-top:var(--s6);border:1px solid var(--red);background:var(--red-bg);padding:var(--s5);border-radius:var(--r);}
.callout h3{font-size:clamp(18px,2.4vw,22px);color:var(--red);margin-bottom:var(--s3);}
.callout p{margin:0;font-size:16px;color:var(--n800);line-height:1.85;}
.qt,.diff,.tbl{width:100%;border-collapse:collapse;font-size:15.5px;}
.qt th,.qt td,.diff th,.diff td,.tbl th,.tbl td{padding:12px var(--s3);border-bottom:1px solid var(--n100);vertical-align:top;line-height:1.6;}
.qt thead th,.diff thead th,.tbl thead th{border-bottom:2px solid var(--n900);font-size:14px;color:var(--n600);font-weight:700;}
.qt td{font-family:inherit;font-weight:700;}
.qt td:first-child{font-family:inherit;font-weight:400;}
.qt .save{color:var(--n900);}
.qt .net{color:var(--green);}
.diff tbody th,.tbl tbody th{font-weight:700;color:var(--n900);font-size:15px;}
.diff .us,.tbl .hi{background:var(--ac050);}
.diff .us strong,.tbl .hi strong{color:var(--n900);}
.diff__note{font-size:14.5px;color:var(--n600);margin:var(--s3) 0 0;line-height:1.8;}
.qtwrap,.diffwrap,.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border:1px solid var(--n100);border-radius:var(--r);}
.qtwrap table,.diffwrap table,.tblwrap table{margin:0;}
.qtwrap th:first-child,.qtwrap td:first-child,.diffwrap th:first-child,.diffwrap td:first-child,.tblwrap th:first-child,.tblwrap td:first-child{padding-left:var(--s4);}
.trade__c{border-top:2px solid var(--n200);}
.trade__c--o{border-top-color:var(--green);}
.trade__c--o .trade__v{color:var(--green);}
.trade__t{font-size:14.5px;}
.gapcol--aft{border-top-color:var(--green);}
.gapcol--aft .gapcol__t{color:var(--green);}
.gaparrow{color:var(--green);}
.vs__bar{border:1px solid var(--n200);background:var(--paper-2);border-radius:4px;overflow:hidden;}
.vs--save .vs__fill{background:var(--green);border:0;}
.vs--fee .vs__fill{background:var(--n300);border:0;}
.vs__tiny{background:var(--n800);}
.vs__net{border-top-color:var(--green);}
.vs__net .l,.vs__net .v{color:var(--green);}
.axis__tick--up .axis__v{color:var(--green);}
.axis__tick--up::before{background:var(--green);}
.axis__rise{border-color:var(--green);}
.axis__note--up,.axis__col--up h3{color:var(--green);}
.ba2__t--a{background:var(--ac100);color:var(--n900);}
.big{border:1px solid var(--n200);padding:var(--s5);margin-bottom:var(--s4);background:var(--ac050);border-radius:var(--r);}
.big__l{font-size:14px;font-weight:700;color:var(--n600);}
.big__v{font-family:inherit;color:var(--n900);}
.big__s{font-size:14px;}
.sim,.fc,.cal{border:1px solid var(--n200);border-radius:var(--r);overflow:hidden;background:#fff;}
.sim__h,.fc__h{padding:var(--s5);border-bottom:1px solid var(--n100);background:var(--paper-2);}
.sim__h h3,.fc__h h3{font-size:19px;}
.sim__h p,.fc__h p{font-size:14.5px;}
.cal__h{background:var(--ac050);color:var(--n900);border-bottom:1px solid var(--n100);}
.cal__h h3{color:var(--n900);}
.cal__h p{color:var(--n600);font-size:14.5px;}
.cal__t.is-key b{border-bottom-color:var(--green);}
.f__l{font-size:15px;}
.f__v{font-family:inherit;color:var(--green);}
.f__n,.fc__note{font-size:14px;}
.sc{font-family:inherit;font-size:12.5px;}
.opt span,.fc__opt span{border:1px solid var(--n300);border-radius:var(--r);font-size:14.5px;min-height:44px;}
.opt input:checked+span,.fc__opt input:checked+span{border-color:var(--green);background:var(--ac050);color:var(--n900);font-weight:700;box-shadow:inset 0 0 0 1px var(--green);}
.opt input:focus-visible+span,.fc__opt input:focus-visible+span{outline:3px solid var(--green);outline-offset:2px;}
input[type=range]::-webkit-slider-thumb{background:var(--green);}
input[type=range]::-moz-range-thumb{background:var(--green);}
.fc__r{background:var(--paper-2);border:0;border-radius:var(--r);}
.fc__tot{border-top:2px solid var(--n900);}
.fc__tot b{font-family:inherit;font-size:28px;}
.fc__row b{font-family:inherit;}
.fc__row,.fc__sub,.fc__inc ul{font-size:14.5px;}
.fc__inc li::before{color:var(--green);}
.duo .v,.quote__v,.f__v,.big__v,.plan__p,.rev__n,.mtr b,.rush b,.gapcol__v,.vs__v,.axis__v,.risk__v b,.cal__d,.hd__t b,.kp__v,.me__t b,.fact__v{font-family:inherit;}
.quote{border-top-color:var(--green);}
.quote__l{color:var(--green);}
.msg{background:var(--paper-2);border-radius:var(--r);font-size:15px;}
.msg b{color:var(--green);}
.disc{font-size:14px;}
.ba{border-top:1px solid var(--n100);}
.ba__c{color:var(--green);}
.ba__a{font-size:15.5px;}
.ba__b{font-size:17px;}
.rev__n{color:var(--n900);}
.rev__s{color:var(--green);}
.rev__k,.rev__src{font-size:14px;}
.mtr{border-top:1px solid var(--n100);}
.mtr li{font-size:15.5px;}
.mtr b{color:var(--n900);}
.order__c{border-top-color:var(--green);}
.order__t{color:var(--green);}
.order__c--ng{border-top-color:var(--red);}
.order__c--ng .order__t{color:var(--red);}
.order__d{font-size:15.5px;}
.risk__c{border:1px solid var(--n200);border-radius:var(--r);}
.risk__k{font-family:inherit;color:var(--green);font-size:14px;}
.risk__c p{font-size:15.5px;}
.risk__v{border-top-color:var(--n100);}
.risk__v b{font-family:inherit;}
.risk__v span{font-size:13.5px;}
/* 料金（LP） */
.plan{border-top:1px solid var(--n100);padding:var(--s5) 0;border-bottom:0;}
.plan+.plan{border-top:1px solid var(--n100);}
.plan__t{font-size:clamp(19px,2.4vw,22px);margin-bottom:var(--s2);}
.plan__t em{font-style:normal;font-family:inherit;color:var(--green);background:var(--ac050);border:1px solid var(--ac100);padding:0 var(--s2);margin-right:var(--s3);border-radius:4px;font-size:.9em;}
.plan__w{font-size:15px;color:var(--n600);margin:0 0 var(--s3);line-height:1.8;}
.plan__l{font-size:15px;}
.plan__l li{color:var(--n600);}
.plan__l li.on{color:var(--n900);}
.plan__l li.on::before{color:var(--green);}
.plan__sec{font-size:14.5px;font-weight:700;letter-spacing:.02em;color:var(--n600);margin:var(--s6) 0 var(--s3);padding-bottom:var(--s2);border-bottom:2px solid var(--n900);}
.plan__p{font-family:inherit;font-size:clamp(26px,4.4vw,36px);font-weight:700;color:var(--n900);line-height:1.1;letter-spacing:-.01em;}
.plan__p small{font-size:15px;color:var(--n600);font-weight:400;}
.plan__b{display:inline-block;font-size:13.5px;font-weight:700;color:var(--green);background:var(--ac050);border:1px solid var(--ac100);padding:2px var(--s3);margin-bottom:var(--s2);border-radius:4px;}
.pledge{margin-top:var(--s6);border:1px solid var(--n200);background:var(--ac050);padding:var(--s5);border-radius:var(--r);}
.pledge h3{font-size:clamp(18px,2.4vw,21px);margin-bottom:var(--s3);}
.pledge p{margin:0;font-size:16px;color:var(--n800);line-height:1.85;}
.rush h3{font-size:18px;}
.rush > p{font-size:15.5px;}
.rush ul{border-top:1px solid var(--n100);}
.rush li{font-size:15.5px;}
.rush b{color:var(--n900);}
.rush li:last-child b{color:var(--red);}
.fine{font-size:14px;color:var(--n600);}
.fine li::before{color:var(--n400);}
.cta-band{margin-top:var(--s7);border:1px solid var(--n200);background:var(--ac050);padding:var(--s5);display:grid;gap:var(--s4);border-radius:var(--r);}
@media(min-width:760px){.cta-band{grid-template-columns:1fr auto;align-items:center;gap:var(--s6);}}
.cta-band__t{font-size:clamp(18px,2.4vw,22px);font-weight:700;line-height:1.5;margin:0 0 var(--s2);color:var(--n900);}
.cta-band__d{font-size:15.5px;color:var(--n800);margin:0;line-height:1.8;}
.letter{max-width:40em;margin:0 auto;}
.letter p{font-size:17px;line-height:2.05;color:var(--n800);}
.letter__sig{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--n200);}
.letter__sig img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--paper-2);flex:none;}
.letter__sig b{font-weight:700;font-size:16.5px;display:block;color:var(--n900);}
.letter__sig span{font-size:13.5px;color:var(--n600);}
.async__cap,.office__c{font-size:14px;}
.order__g,.axis__legend{gap:var(--s5);}
.axis__lb,.axis__col p{font-size:14px;}
.kp__c{border:1px solid var(--n200);border-radius:var(--r);}
.kp__c--hi{border:2px solid var(--green);}
.kp__t{font-size:14px;}
/* スクロール演出（ぼかして浮かび上がる）はやめる。常に表示する */
.rv{opacity:1 !important;transform:none !important;filter:none !important;transition:none !important;}
.btn--txt{color:var(--green);}

/* ── 12. 読みもの（/blog/・/faq/）───────────────── */
.ah{padding:clamp(32px,5vw,56px) 0 var(--s5);border-bottom:1px solid var(--n100);}
.ah__k{font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--green);margin:0 0 var(--s3);}
.ah h1{font-size:clamp(26px,4.2vw,38px);line-height:1.4;}
.ah__lead{margin:var(--s5) 0 0;font-size:17px;color:var(--n800);line-height:1.95;}
.ah__meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin-top:var(--s5);font-size:14px;color:var(--n600);}
.ah__meta time{font-family:inherit;}
.byline{display:flex;gap:var(--s4);align-items:flex-start;margin-top:var(--s5);border-top:1px solid var(--n100);border-bottom:0;padding:var(--s4) 0 0;}
.byline img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;background:var(--paper-2);}
.byline__n{font-weight:700;font-size:15.5px;margin:0;color:var(--n900);}
.byline__n small{display:block;font-weight:400;font-size:13px;color:var(--n600);margin-top:2px;}
.byline__d{font-size:14px;color:var(--n600);margin:var(--s2) 0 0;line-height:1.75;}
.byline__d a{color:var(--green);}

.body{padding:var(--s6) 0 var(--sec);}
.body h2{font-size:clamp(22px,3vw,27px);margin:var(--s8) 0 var(--s4);padding:var(--s4) 0 0;border-top:2px solid var(--n900);line-height:1.5;}
.body h2:first-child{margin-top:0;}
.body h3{font-size:clamp(18px,2.2vw,21px);margin:var(--s6) 0 var(--s3);padding-left:var(--s3);border-left:4px solid var(--green);line-height:1.55;}
.body p{font-size:17px;line-height:1.95;color:var(--n800);margin:0 0 1.5em;}
.body strong,.body b{color:var(--n900);}
.body a:not(.btn):not(.rel__c){color:var(--green);text-underline-offset:3px;}
.body ul,.body ol{padding-left:1.5em;margin:0 0 1.5em;}
.body li{font-size:17px;line-height:1.9;color:var(--n800);margin-bottom:var(--s2);}
.body li::marker{color:var(--n400);}
.sum{border:1px solid var(--n200);border-left:4px solid var(--green);background:var(--ac050);padding:var(--s4) var(--s5);margin:0 0 var(--s6);border-radius:0 var(--r) var(--r) 0;}
.sum__t{font-size:14px;letter-spacing:.02em;color:var(--green);margin:0 0 6px;font-weight:700;}
.sum p:last-child{margin:0;font-size:16px;line-height:1.85;color:var(--n800);}
.toc{border:1px solid var(--n200);background:#fff;padding:var(--s5);margin:0 0 var(--s7);border-radius:var(--r);}
.toc__t{font-size:14px;font-weight:700;letter-spacing:.02em;margin:0 0 var(--s3);color:var(--n600);}
.toc ol{margin:0;padding-left:1.4em;}
.toc li{font-size:15.5px;line-height:1.9;margin-bottom:var(--s1);color:var(--n800);}
.toc li::marker{color:var(--n400);}
.toc a{color:var(--n900);text-decoration:none;border-bottom:1px solid var(--n300);}
.toc a:hover{border-bottom-color:var(--green);color:var(--green);}
.lead2{border-left:3px solid var(--n200);padding:var(--s2) 0 var(--s2) var(--s4);margin:var(--s5) 0 var(--s6);}
.lead2__t{margin:0 0 var(--s2);font-size:13.5px;letter-spacing:.02em;color:var(--n600);}
.lead2 ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.lead2 li{font-size:15.5px;line-height:1.6;}
.lead2__k{display:inline-block;min-width:3.6em;margin-right:var(--s3);font-family:inherit;font-size:13px;color:var(--n600);vertical-align:0;}
.lead2 a{color:var(--green);}
/* 表（記事）。横に長い表は表だけを横に流す */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:0 0 var(--s6);border:1px solid var(--n100);border-radius:var(--r);}
.tw table{min-width:520px;width:100%;border-collapse:collapse;font-size:15.5px;}
.tw th,.tw td{padding:12px var(--s4);border-bottom:1px solid var(--n100);text-align:left;vertical-align:top;line-height:1.6;}
.tw tr:last-child td,.tw tr:last-child th{border-bottom:0;}
.tw thead th{border-bottom:2px solid var(--n900);font-size:14px;color:var(--n600);background:var(--paper-2);}
.tw tbody th{font-weight:700;color:var(--n900);font-size:15px;}
.tw .hi{background:var(--ac050);}
.tw .hi strong{color:var(--n900);}
/* 図版 */
.fig{margin:0 0 var(--s6);border:1px solid var(--n200);padding:var(--s5) var(--s4) var(--s4);background:#fff;border-radius:var(--r);}
.fig__s{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
.fig svg{width:100%;min-width:560px;height:auto;display:block;}
.fig__n{font-size:13px;color:var(--n600);margin:var(--s2) 0 0;}
@media(min-width:640px){.fig__n{display:none;}}
.fig figcaption{font-size:14px;color:var(--n600);line-height:1.8;margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--n100);}
.fig .fg-bg{fill:var(--paper-2);}
.fig .fg-hi{fill:var(--ac050);}
.fig .fg-line{stroke:var(--n300);}
.fig .fg-axis{stroke:var(--n900);}
.fig .fg-t{fill:var(--n900);font-family:"Noto Sans JP",sans-serif;}
.fig .fg-s{fill:var(--n600);font-family:"Noto Sans JP",sans-serif;}
.fig .fg-n{fill:var(--n900);font-family:"Noto Sans JP",sans-serif;font-weight:700;}
.fig .fg-up{fill:var(--green);}
.fig .fg-dn{fill:var(--red);}
.fig .fg-ink{fill:var(--green);}
/* 注意・引用 */
.note{border:1px solid var(--n200);background:var(--paper-2);padding:var(--s5);margin:0 0 var(--s6);border-radius:var(--r);}
.note--w{border-color:var(--red);background:var(--red-bg);}
.note--s{border-color:var(--ac100);background:var(--ac050);}
.note__t{font-weight:700;font-size:16.5px;margin:0 0 var(--s3);color:var(--n900);}
.note--w .note__t{color:var(--red);}
.note--s .note__t{color:var(--green);}
.note p{margin:0 0 var(--s3);font-size:16px;line-height:1.9;}
.note p:last-child{margin-bottom:0;}
.src{border-left:4px solid var(--green);background:var(--ac050);padding:var(--s4) var(--s5);margin:0 0 var(--s6);border-radius:0 var(--r) var(--r) 0;}
.src__t{font-size:14px;font-weight:700;color:var(--green);letter-spacing:.02em;margin:0 0 var(--s3);}
.src blockquote{margin:0;font-size:16px;line-height:1.95;color:var(--n900);}
.src__c{font-size:13.5px;color:var(--n600);margin:var(--s3) 0 0;}
/* 記事内FAQ・出典・免責 */
.faq h2{font-size:clamp(20px,2.6vw,24px);margin-bottom:var(--s3);border:0;padding:0;}
.body .faq{margin:var(--s8) 0 var(--s2);border-top:0;}
.body .faq details{border-top:1px solid var(--n100);padding:var(--s2) 0;}
.body .faq details:last-of-type{border-bottom:1px solid var(--n100);}
.body .faq summary{font-size:16.5px;padding:var(--s3) 44px var(--s3) 0;}
.body .faq summary::after{top:calc(var(--s3) + 9px);}
.body .faq .faq__a{margin:0 0 var(--s3);font-size:16px;}
.refs{margin-top:var(--s8);border-top:2px solid var(--n900);padding-top:var(--s5);}
.refs h2{font-size:17px;margin:0 0 var(--s4);border:0;padding:0;}
.refs ol{padding-left:1.4em;margin:0;}
.refs li{font-size:14.5px;line-height:1.85;color:var(--n600);margin-bottom:var(--s3);overflow-wrap:anywhere;}
.refs a{color:var(--green);overflow-wrap:anywhere;word-break:break-all;}
.disc{margin-top:var(--s6);font-size:13.5px;color:var(--n600);line-height:1.85;border:1px solid var(--n100);background:var(--paper-2);padding:var(--s4);border-radius:var(--r);}
/* 記事末のご案内・関連 */
.cta{margin-top:var(--s8);border:1px solid var(--n200);padding:var(--s6);background:var(--ac050);box-shadow:none;border-radius:var(--r);}
.cta__t{font-size:clamp(19px,2.6vw,23px);margin:0 0 var(--s3);font-weight:700;color:var(--n900);}
.cta p{font-size:16px;color:var(--n800);margin:0 0 var(--s5);line-height:1.9;}
.cta__b{display:flex;flex-wrap:wrap;gap:var(--s3);}
.rel{margin-top:var(--s8);}
.rel h2{font-size:16px;letter-spacing:.02em;margin:0 0 var(--s4);border:0;padding:0;color:var(--n600);}
.rel__g{display:grid;gap:var(--s3);}
@media(min-width:700px){.rel__g{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);}}
.rel__c{display:block;border:1px solid var(--n200);padding:var(--s4) var(--s5);text-decoration:none;transition:border-color .2s;border-radius:var(--r);color:var(--n900);background:#fff;}
.rel__c:hover{border-color:var(--green);transform:none;color:var(--n900);}
.rel__k{font-family:inherit;font-size:13px;letter-spacing:.02em;color:var(--green);margin:0 0 var(--s2);font-weight:700;}
.rel__n{font-size:16px;font-weight:700;line-height:1.6;margin:0;color:var(--n900);}
.rel__d{font-size:14px;color:var(--n600);margin:var(--s2) 0 0;line-height:1.75;}
.rel--sib{margin-top:var(--s6);}
.rel__more{margin:var(--s4) 0 0;font-size:15px;}
.rel__more a{color:var(--green);}
/* 一覧 */
.idx{padding:clamp(32px,5vw,56px) 0 var(--sec);}
.idx__h{margin-bottom:var(--s6);}
.idx__h h1{font-size:clamp(28px,4.4vw,40px);}
.idx__h p{margin:var(--s4) 0 0;font-size:17px;color:var(--n800);max-width:40em;line-height:1.9;}
.cats{margin:0 0 var(--s6);}
.cats ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s2);}
.cats a{display:inline-block;border:1px solid var(--n300);padding:8px 14px;font-size:14.5px;text-decoration:none;color:var(--n900);border-radius:999px;transition:border-color .2s,background .2s;}
.cats a:hover{border-color:var(--green);background:var(--ac050);color:var(--green);}
.cls{margin:0 0 var(--s6);border-top:1px solid var(--n100);border-bottom:1px solid var(--n100);padding:var(--s4) 0;}
.cls ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);}
.cls a{font-size:14.5px;font-weight:700;text-decoration:none;color:var(--n900);border-bottom:2px solid transparent;padding-bottom:2px;}
.cls a:hover{border-bottom-color:var(--green);color:var(--green);}
.cls a[aria-current]{border-bottom-color:var(--green);color:var(--green);}
.posts__h{font-size:clamp(19px,2.4vw,22px);margin:var(--s7) 0 var(--s2);padding-bottom:var(--s2);border-bottom:2px solid var(--n900);display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.posts__n{font-family:inherit;font-size:13.5px;letter-spacing:0;color:var(--n600);margin-left:var(--s3);font-weight:400;}
.posts__lead{margin:0 0 var(--s3);font-size:15px;color:var(--n600);}
.posts__lp{font-size:14px;font-weight:400;}
.posts{list-style:none;padding:0;margin:0;border-top:1px solid var(--n100);}
.posts li{border-bottom:1px solid var(--n100);}
.posts a{display:block;padding:var(--s5) 0;text-decoration:none;color:var(--n900);transition:none;}
.posts a:hover{padding-left:0;}
.posts a:hover .post__t{color:var(--green);}
.post__m{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);font-size:13px;color:var(--n600);margin-bottom:var(--s2);}
.post__m time{font-family:inherit;}
.post__tag{background:var(--ac050);color:var(--green);padding:2px 10px;font-weight:700;letter-spacing:.02em;border-radius:999px;border:1px solid var(--ac100);}
.post__t{font-size:clamp(18px,2.4vw,21px);line-height:1.5;margin:0;font-weight:700;}
.post__d{font-size:15px;color:var(--n800);margin:var(--s2) 0 0;line-height:1.85;max-width:44em;}

/* ── 13. フッター・スマホ固定バー ────────────────── */
.ftnav{border-top:1px solid var(--n100);padding:var(--s7) 0 var(--s5);background:var(--paper-2);}
.ftnav__g{display:grid;gap:var(--s5);}
@media(min-width:700px){.ftnav__g{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6);}}
.ftnav h2{font-size:13.5px;letter-spacing:.04em;color:var(--n600);margin-bottom:var(--s3);font-weight:700;}
.ftnav ul{list-style:none;padding:0;margin:0;}
.ftnav li{margin-bottom:var(--s2);}
.ftnav a{font-size:14.5px;color:var(--n900);text-decoration:none;border-bottom:1px solid transparent;line-height:1.7;}
.ftnav a:hover{border-bottom-color:var(--green);color:var(--green);}
.ftnav a[aria-current]{color:var(--green);font-weight:700;}
.ft{border-top:1px solid var(--n100);color:var(--n600);font-size:13px;padding:var(--s5) 0;background:var(--paper-2);line-height:1.8;}
.ft__in{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:space-between;}
.ft a{color:var(--n600);margin-right:var(--s3);}
.ft a:hover{color:var(--green);}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:var(--s2);padding:10px var(--s3) calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--n100);backdrop-filter:blur(8px);}
@media(min-width:900px){.dock{display:none;}}
.dock a{flex:1;display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:var(--r);font-size:15.5px;font-weight:700;text-decoration:none;border:2px solid var(--n300);padding:8px 10px;color:var(--n900);background:#fff;}
.dock__1,.dock__2{background:#fff;color:var(--n900);border-color:var(--n300);}
.dock__3{flex:1.6;background:var(--green);color:#fff;border-color:var(--green);}
.dock a:active{transform:scale(.98);}

/* ── 14. スマホ（〜639px）の整え ───────────────── */
@media(max-width:639px){
  body{font-size:16.5px;}
  .hero{padding:28px 0 36px;}
  .hero h1{font-size:30px;line-height:1.35;}
  .hero__d{font-size:16px;line-height:1.85;}
  .hero__d .fold{display:inline;}
  .hero__b{flex-direction:column;align-items:stretch;gap:10px;margin-top:var(--s5) !important;}
  .hero__b .btn{width:100%;min-height:56px;padding:12px 18px;font-size:16px;line-height:1.3;}
  .hero__b .btn .sub{line-height:1.3;margin-top:3px;}
  .hero__stat .v{font-size:38px;}
  .sec{padding:44px 0;}
  .ttl{margin-bottom:var(--s5);}
  .ttl h2{font-size:23px;}
  .pgtoc{padding:12px 0;}
  .pgtoc li{font-size:14px;}
  .end__b .btn{width:100%;}
  .cta__b .btn{width:100%;}
  .fee h3{font-size:17px;}
  .est__b,.est__h{padding:var(--s4);}
  .body h2{margin-top:var(--s7);}
}

/* ── 15. 端末のダークモードでも紙の色を保つ（各HTMLの旧ブロックより後ろで上書き） ── */
@media (prefers-color-scheme: dark){
  html,body{background-color:#FFFFFF !important;color:#333330 !important;}
  .sec,.hero,.hd,.ft,.ftnav,.dock,.svc__c,.imgbox,.form__i,.form__s,.form__t,.opt span,.fc__opt span,
  .sim,.fc,.cal,.reason__c,.rel__c,.toc,.fig,.risk__c,.bc,.ah,.body,.idx,.posts li,.est,.kp__c,.soon,.hd__mp{background-color:#FFFFFF !important;}
  .form__i,.form__s,.form__t,.hd__mp a{color:#1E1E1C !important;}
  .sec--tint,.sec--blue,.sec--ac,.sec--ink,.pgtoc,.sim__h,.fc__h,.msg,.est__r,.fc__r,.disc,.note,.vs__bar,.ba2__t--b,.tw thead th{background-color:#F6F6F3 !important;}
  .sec--ink{color:#1E1E1C !important;}
  .end,.pledge,.fee__pledge,.cta,.cta-band,.hero__stat,.big,.sum,.src,.note--s,.tbl .hi,.diff .us,.tw .hi,.svc__t,.cal__h,.fee__tax,.post__tag,.fee td.hi{background-color:#EEF5F0 !important;color:#1E1E1C !important;}
  .callout,.note--w{background-color:#FBF1F0 !important;}
  .btn--l,.btn--line,.btn--p,.dock__3,.form__btn,.flow li::before,.hd__mp a.btn{background-color:#176B3F !important;color:#fff !important;}
  .btn--o,.dock__1,.dock__2{background-color:#FFFFFF !important;color:#1E1E1C !important;}
  .btn--txt{background:none !important;color:#176B3F !important;}
  .opt input:checked+span,.fc__opt input:checked+span,.est__opt:has(input:checked){background-color:#EEF5F0 !important;color:#1E1E1C !important;}
  .prom li::before,.plan__t em,.plan__b,.vs--save .vs__fill{background-color:#EEF5F0 !important;color:#176B3F !important;}
  .vs--save .vs__fill{background-color:#176B3F !important;}
  h1,h2,h3,h4,.post__t,.rel__n,.byline__n,.fact__v,.plan__p,.rev__n,.mtr b,.rush b,.f__v,.end__t b,.hero h1 em,.gapcol--aft .gapcol__t,.trade__c--o .trade__v,.hero__stat .v,.big__v,.qt .save,.vs--save .vs__v,.me__q,.cal__d,.cal__h h3,.end h2,.est__tot b{color:#1E1E1C !important;}
  .hero h1 em,.f__v,.trade__c--o .trade__v,.gapcol--aft .gapcol__t,.vs__net .l,.vs__net .v,.qt .net,.ttl__n,.hero__e,.ah__k,.rel__k,.rd__k,.stg__n,.reason__k,.src__t,.sum__t,.note--s .note__t,.chapter__k,.risk__k,.soon__k{color:#176B3F !important;}
  p,li,.body p,.body li,.chapter p{color:#333330 !important;}
  .ah__meta,.byline__d,.post__m,.refs li,.disc,.rel__d,.ft,.fact__l,.pgtoc__t{color:#5C5C57 !important;}
  .body a:not(.btn):not(.rel__c),.refs a,a{color:#176B3F !important;}
  .btn--l,.btn--line,.btn--p,.dock__3,.hd__mp a.btn{color:#fff !important;}
  .hd__nav a,.hd__n,.btn--o,.rel__c,.posts a,.rd a,.svc__c,.pgtoc a,.toc a,.ftnav a,.dock__1,.dock__2,.hd__mb{color:#1E1E1C !important;}
  .note--w .note__t,.callout h3,.risk__v b,.order__c--ng .order__t{color:#B3261E !important;}
  .vs--fee .vs__fill{background-color:#CFCFC8 !important;}
  .chapter h3.chapter__q{color:#333330 !important;border-left-color:#176B3F !important;}
}
