:root{--canvas:#FFFFFF;--paper:#FFFFFF;--ink:#16212E;--ink2:#44586D;--line:#D5E2F0;--panel:#E8F1FC;--accent:#0A5FCC;--accent2:#0E9B57;--mut:#5C6D7F;--band:#2E3338;--band-ink:#EDEFF1;--gothic:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;--display:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}
/* 型スケール（レシピ実測から決めた。正本 _factory/RECIPES.md）
   実測: ASOBISYSTEM ジャンプ率6倍 / Shopify 6.9倍 / Stripe 2.75倍 / Airbnb 2倍。
   艦隊の旧版は 26px÷15.5px = **1.7倍**しかなく、見出しと本文が同じ大きさに見えて
   ページ全体が均一な灰色の塊になっていた（＝「ワクワクしない」の実体）。
   日本語なので海外の 12〜14px 本文・weight 300 はそのまま使えない:
     本文は15.5px維持 / ラベルだけ10〜11px / **見出しを上げてジャンプ率を稼ぐ**。 */
:root{color-scheme:light;
  --fs-label:10.5px;   /* 極小ラベル。Stripeは10pxを91箇所、これが密度と品を作る */
  --fs-meta:11.5px;
  --fs-body:15.5px;
  --fs-lead:16px;
  --fs-h3:19px;
  --fs-h2:23px;
  --fs-h1:clamp(33px,7.4vw,52px);      /* 375pxで33px=2.1倍 / 広い画面で52px=3.4倍（旧1.7倍） */
  --fs-display:clamp(38px,8.4vw,78px); /* FVの主役。ここで殴る */
  --fs-num:clamp(30px,4.6vw,46px);     /* 収録の数字 */
  --sp-sec:clamp(38px,6vw,84px);       /* セクション間。実測: ASOBI 180px / 旧版26〜38px */
}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--gothic);line-height:1.75;font-size:var(--fs-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:9px 14px;z-index:100;font-weight:700}
.skip:focus{left:8px;top:8px}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px}
.mono{font-family:var(--mono);letter-spacing:.02em}
b,strong{font-weight:700}

/* 広告表記（ステマ規制対応・標準装備） */
.ad-tag{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;border:1px solid var(--ink2);color:var(--ink2);padding:0 5px;margin-right:7px;vertical-align:2px}
.pr-notice{font-size:12.5px;color:var(--ink2);border:1px solid var(--line);background:var(--panel);padding:8px 12px;margin:14px 0}
.cta-box{border:2px solid var(--ink);padding:18px 20px;margin:26px 0}
.cta-box h3{margin:0 0 6px;font-size:16.5px}
.cta-box p{margin:0 0 12px;font-size:14px;color:var(--ink2)}
.cta-box .go{display:inline-block;font-weight:700;font-size:14px;border:1.5px solid var(--ink);padding:9px 16px;background:var(--paper)}
.cta-box .go:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* masthead */
.mast{background:var(--paper);position:sticky;top:0;z-index:30}
.mast .top{display:flex;align-items:center;gap:14px;padding:12px 0}
.brand{display:flex;align-items:baseline;gap:10px;min-width:0}
.brand .bname{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:.04em;white-space:nowrap}
.brand small{font-family:var(--mono);font-size:9.5px;color:var(--mut);letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mast .r{margin-left:auto;display:flex;gap:10px;align-items:center}
.demo{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#fff;background:var(--accent);padding:3px 8px;white-space:nowrap}
.catnav{display:flex;border-top:1px solid var(--line);overflow-x:auto;font-size:13px}
.catnav a{font-weight:700;padding:9px 14px 9px 0;margin-right:14px;white-space:nowrap;color:var(--ink2)}
.catnav a.on,.catnav a:hover{color:var(--accent)}
.catnav a.on{box-shadow:inset 0 -3px 0 var(--accent2)}

/* hero */
.hero{background:var(--paper);padding:var(--sp-sec) 0 calc(var(--sp-sec) * .8);border-bottom:1px solid var(--line)}
.hero .k{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.16em;color:var(--accent);margin:0 0 14px;font-weight:700}
/* 日本語の折り返し: 文節で折る。放置すると「〜を、」が2行目頭に孤立する（泣き別れ）。
   サイズは --fs-h1（本文の約3.4倍）。実測した参考は6〜7倍だが、日本語で96pxにすると
   1行3文字で改行が破綻するため上限52px。ジャンプ率は文字サイズだけでなく
   「10px級の極小ラベルを大量に置く」（Stripe実測 10px×91）でも稼ぐ。 */
.hero h1{font-family:var(--display);font-weight:700;font-size:var(--fs-h1);line-height:1.34;letter-spacing:.01em;margin:0 0 18px;max-width:19em;
         word-break:auto-phrase;text-wrap:balance;overflow-wrap:anywhere}
.hero .lede{font-size:var(--fs-lead);color:var(--ink2);max-width:36em;margin:0;word-break:auto-phrase;text-wrap:pretty}
.hero .note{font-family:var(--mono);font-size:11px;color:var(--mut);margin:16px 0 0}
/* 収録: ビルド時に数えた実数だけを置く欄（手書きの数字は入れない） */
/* auto幅＋gap34pxだと、数字を大きくした時に「15 15 4」と隣とくっついて読めなくなる。
   列を等分にして、数字が何桁でも間隔が保たれるようにする。 */
.hstat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;
       margin:30px 0 0;padding-top:20px;border-top:1px solid var(--line);max-width:44em}
.hstat .hs{display:flex;flex-direction:column;gap:3px}
.hstat .v{font-family:var(--mono);font-size:var(--fs-num);font-weight:700;line-height:1;
          color:var(--accent);letter-spacing:-.02em}
/* 日付は「量」ではないので、本数と同じ大きさで並べると数字の意味が混ざる */
.hstat .hs.dt .v{font-size:clamp(15px,1.8vw,18px);color:var(--ink2);padding-top:5px}
.hstat .l{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--mut)}

/* 入口モジュール（艦ごとの固有構造） */
.entry{background:var(--paper);padding:26px 0 34px;border-bottom:2px solid var(--ink)}
.entry .eh{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--accent);font-weight:700;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline}
.entry .eh small{font-size:9.5px;color:var(--mut);letter-spacing:.1em;font-weight:400}

/* steps型 */
.e-steps{display:grid;grid-template-columns:repeat(var(--stepcols,4),1fr);gap:0;border:1px solid var(--line)}
.e-step{padding:14px 16px;border-right:1px solid var(--line);background:var(--paper)}
.e-step:last-child{border-right:0}
.e-step .no{font-family:var(--mono);font-size:10.5px;color:var(--accent);font-weight:700;letter-spacing:.1em}
.e-step .nm{display:block;font-weight:700;font-size:14.5px;margin:4px 0 4px}
.e-step .ds{font-size:12px;color:var(--ink2);margin:0}
a.e-step:hover .nm{color:var(--accent)}
a.e-step:hover{background:var(--panel)}

/* blocks型 */
.e-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.e-block{display:flex;gap:14px;align-items:baseline;padding:13px 4px;border-bottom:1px solid var(--line)}
.e-block .no{font-family:var(--mono);font-size:11px;color:var(--mut);font-weight:700;min-width:2.4em}
.e-block .nm{font-weight:700;font-size:15px}
.e-block .ds{font-size:12.5px;color:var(--ink2)}
a.e-block:hover .nm{color:var(--accent)}
.e-blocks .soon{font-family:var(--mono);font-size:9.5px;color:var(--mut);border:1px solid var(--line);padding:0 5px;margin-left:auto;white-space:nowrap}
.e-blocks .cnt{font-family:var(--mono);font-size:9.5px;font-weight:700;color:#fff;background:var(--accent);padding:1px 6px;margin-left:auto;white-space:nowrap}

/* matrix型（台帳） */
.e-matrix{width:100%;border-collapse:collapse;font-size:13.5px}
.e-matrix th,.e-matrix td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.e-matrix thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink2);background:var(--panel)}
.e-matrix tbody th{font-weight:700;background:var(--paper);white-space:nowrap}
.e-matrix tbody th a:hover{color:var(--accent)}
.e-matrix td{color:var(--ink2);font-size:12.5px;line-height:1.5}
.e-matrix .mx-cnr{font-size:9.5px;color:var(--mut);font-weight:400;letter-spacing:.04em}
/* 制度名（固有名詞）は折らない。折ると「業務改善助/成金」のように意味が変わる */
.e-matrix .mx-a{display:block;font-weight:700;color:var(--accent);padding:1px 0;white-space:nowrap}
.e-matrix .mx-a:hover{text-decoration:underline}
/* 「—」は装飾ではなく「この交差に記事がまだ無い」という情報。
   --line（罫線色）だとコントラスト1.33で読めず、情報が消える。--mut まで上げる。 */
.e-matrix .mx-0{color:var(--mut);font-family:var(--mono);text-align:center}
.e-matrix .mx-g{display:block;font-family:var(--mono);font-size:10px;color:var(--mut);font-weight:400;margin-top:4px;letter-spacing:.04em}
.e-matrix .mx-g:hover{color:var(--accent)}
.mx-note{font-family:var(--mono);font-size:10.5px;color:var(--mut);margin:9px 0 0;line-height:1.6}

/* chips型（角丸なし・矩形） */
.e-chips{display:flex;flex-wrap:wrap;gap:8px}
.e-chips a{border:1.5px solid var(--ink);padding:7px 13px;font-weight:700;font-size:13.5px;background:var(--paper)}
.e-chips a:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* カテゴリ索引（記事0でも死なない正直な索引） */
.catsec{padding:34px 0 40px}
/* .sh は catsec 以外（カテゴリページの本文内など）でも使う。
   .catsec 配下に限定していたため、カテゴリページで素のh2として巨大に出ていた。 */
.sh{font-family:var(--sh-font,var(--mono));font-size:var(--fs-sh,11.5px);letter-spacing:var(--sh-ls,.14em);color:var(--accent);font-weight:var(--sh-w,700);margin:0 0 4px;padding-bottom:8px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.sh small{font-size:9.5px;color:var(--mut);letter-spacing:.08em;font-weight:400;text-align:right}
.cat-row{display:grid;grid-template-columns:3.2em 1fr;gap:0 18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.cat-row .no{font-family:var(--mono);font-size:13px;color:var(--mut);font-weight:700}
.cat-row h2{font-family:var(--display);font-size:19px;margin:0 0 5px;letter-spacing:.01em;
            display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
a.cat-row:hover{background:var(--panel)}
a.cat-row:hover h2{color:var(--accent)}
.cat-row h2 .cn{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--accent);
                border:1px solid var(--accent);padding:1px 6px;letter-spacing:.06em}
.cat-row .bl{font-size:13.5px;color:var(--ink2);margin:0 0 6px;max-width:44em}
.cat-row .tp{font-family:var(--mono);font-size:11px;color:var(--mut);margin:0}
.cat-row .tp b{color:var(--ink2);font-weight:700}

/* 台帳の行（記事カード）— このメディア固有の物差しを一等地に出す。
   左=金額/率（記事タイトルに実在するものだけ）、右=見出し＋所管・確認日・出典数。 */
.led{border-top:2px solid var(--ink)}
.art-row{display:grid;grid-template-columns:5.6em 1fr;gap:0 20px;padding:18px 0 16px;border-bottom:1px solid var(--line);align-items:start}
.art-row:hover{background:var(--panel)}
.art-row:hover .ar-t{color:var(--accent)}
.ar-l{display:flex;flex-direction:column;gap:7px;padding-top:3px}
.ar-no{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--mut);letter-spacing:.06em}
.ar-amt{font-family:var(--mono);font-weight:700;line-height:.95;color:var(--accent);font-size:25px;letter-spacing:-.02em;display:flex;align-items:baseline;gap:1px}
.ar-amt i{font-style:normal;font-size:11.5px;letter-spacing:0}
.ar-t{font-family:var(--display);font-size:18.5px;line-height:1.42;margin:0 0 6px;letter-spacing:.01em;word-break:auto-phrase;text-wrap:pretty}
.ar-d{font-size:13.5px;color:var(--ink2);margin:0 0 9px;max-width:44em;word-break:auto-phrase;
      display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 記事内の章を並べる（このメディアが「読み物」でなく「引く台帳」であることを見せる欄） */
.ar-toc{margin:0 0 9px;display:flex;flex-wrap:wrap;gap:5px 0;align-items:center;font-size:11.5px;line-height:1.5}
.ar-toc span{color:var(--ink2);padding-right:9px;margin-right:9px;border-right:1px solid var(--line);white-space:nowrap;
             max-width:15em;overflow:hidden;text-overflow:ellipsis}
.ar-toc span:last-child{border-right:0;margin-right:0}
.ar-toc .mo{font-family:var(--mono);color:var(--mut);font-size:10.5px}
.ar-m{font-family:var(--mono);font-size:10.5px;color:var(--mut);margin:0;display:flex;flex-wrap:wrap;gap:4px 11px;align-items:center}
.ar-m b{color:var(--ink2);font-weight:700}
.ar-m .ag{color:var(--accent);font-weight:700}
/* 「／」は項目の区切りで、読む対象ではない（装飾）。ただし .35 だと比1.59まで落ちて
   区切りとして機能しなくなるため .55 まで上げる */
.ar-m .dot{opacity:.55}
.ar-cat{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;font-weight:700;color:var(--ink2);border:1px solid var(--line);padding:1px 6px;background:var(--paper)}

/* 創刊準備中（正直な空状態） */
.prelaunch{border:1px dashed var(--mut);padding:18px 20px;margin:30px 0 6px;background:var(--paper)}
.prelaunch .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--accent);font-weight:700;margin:0 0 6px}
.prelaunch p{margin:0;font-size:13.5px;color:var(--ink2)}

/* 約束ストリップ */
.policy-strip{background:var(--band);color:var(--band-ink);padding:26px 0}
.policy-strip .in{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}
.policy-strip .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;font-weight:700;opacity:.85}
.policy-strip p{margin:0;font-size:13.5px;line-height:1.7}
.policy-strip a{border:1px solid var(--band-ink);padding:8px 14px;font-size:12.5px;font-weight:700;white-space:nowrap}
.policy-strip a:hover{background:var(--band-ink);color:var(--band)}

/* 記事・下層 */
.pagehead{padding:34px 0 8px}
.pagehead .k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:700;margin:0 0 10px}
.pagehead h1{font-family:var(--display);font-size:var(--fs-h1);line-height:1.34;margin:0 0 14px;letter-spacing:.01em;
             word-break:auto-phrase;text-wrap:balance;overflow-wrap:anywhere;max-width:19em}
.pagehead .dek{font-size:15px;color:var(--ink2);max-width:40em;margin:0 0 8px;word-break:auto-phrase;text-wrap:pretty}
.pagehead .meta{font-family:var(--mono);font-size:11px;color:var(--mut);margin:10px 0 0}
.body-sec{padding:10px 0 46px}
.art-body{max-width:720px}
.art-body h2{font-family:var(--display);font-size:20px;margin:38px 0 12px;padding-top:16px;border-top:2px solid var(--ink);letter-spacing:.01em;
             word-break:auto-phrase;text-wrap:pretty}
.art-body h2 .no{font-family:var(--mono);font-size:12px;color:var(--accent);margin-right:10px}
.art-body h2 .en{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--mut);font-weight:400;margin-bottom:2px}
.art-body p{margin:0 0 15px}
.art-body ul{margin:0 0 15px;padding-left:1.3em}
.art-body li{margin:0 0 6px}
.kv{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 18px}
.kv th{font-family:var(--mono);font-size:11px;color:var(--ink2);text-align:left;white-space:nowrap;vertical-align:top;padding:8px 14px 8px 0;border-bottom:1px solid var(--line);width:9em;font-weight:700}
.kv td{padding:8px 0;border-bottom:1px solid var(--line)}
.callout{border-left:3px solid var(--accent);background:var(--panel);padding:12px 15px;margin:0 0 16px;font-size:13.5px}
.qa{margin:0 0 16px;border:1px solid var(--line)}
.qa .q{font-weight:700;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel)}
.qa .a{padding:10px 14px;font-size:14px}

/* 記事の要点欄（値は記事の中にあるものだけ） */
.facts{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin:16px 0 0;
       display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.facts .ft{padding:11px 16px 11px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.facts .ft:last-child{border-right:0}
.facts .fk{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--mut)}
.facts .fv{font-size:13.5px;color:var(--ink);line-height:1.45}
.facts .fv .big{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--accent);letter-spacing:-.01em}
.facts .fv .mono{font-family:var(--mono)}

/* 目次（章の構造を本文の前に見せる） */
.toc{border:1px solid var(--line);background:var(--panel);padding:14px 17px 13px;margin:22px 0 4px}
.toc .tt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--accent);font-weight:700;margin:0 0 8px}
.toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:26px}
.toc li{margin:0 0 5px;break-inside:avoid;font-size:13px;line-height:1.5}
.toc a{display:flex;gap:8px;align-items:baseline;color:var(--ink2)}
.toc a:hover{color:var(--accent)}
.toc .tn{font-family:var(--mono);font-size:10.5px;color:var(--mut);font-weight:700;flex:0 0 auto}

/* 関連記事（記事末を行き止まりにしない） */
.rel{margin-top:40px;padding-top:4px}
.rel .rt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--accent);font-weight:700;
         margin:0 0 4px;padding-bottom:8px;border-bottom:2px solid var(--ink)}

/* 制度解説の標準欄: 最終確認日＋官公庁出典 */
.checked-box{border:1px solid var(--accent);padding:12px 15px;margin:18px 0;font-size:13px;background:var(--paper)}
.checked-box .cb-t{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--accent);font-weight:700;margin:0 0 6px}
.checked-box ul{margin:4px 0 0;padding-left:1.2em}
.checked-box .dt{font-family:var(--mono);color:var(--ink2)}
.src-list{border-top:2px solid var(--ink);margin-top:34px;padding-top:12px}
.src-list .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--mut);font-weight:700}
.src-list ul{margin:8px 0 0;padding-left:1.2em;font-size:12.5px}
.src-list a{color:var(--accent);word-break:break-all}

/* gsec (About等) */
.gsec{padding:20px 0 8px;border-bottom:1px solid var(--line);margin-bottom:14px}
.gsec h2{font-family:var(--display);font-size:19px;margin:0 0 10px}
.gsec h2 .no{font-family:var(--mono);font-size:12px;color:var(--accent);margin-right:10px}
.gsec p{margin:0 0 12px;font-size:14.5px}
.gsec ul{margin:0 0 12px;padding-left:1.3em;font-size:14.5px}
.legal-line{border:2px solid var(--ink);padding:14px 16px;font-weight:700;font-size:14.5px;margin:6px 0 18px;background:var(--paper)}

/* footer */
footer{background:var(--band);color:var(--band-ink);margin-top:40px}
footer .in{padding:30px 0 34px;font-size:12px;line-height:1.8}
footer .fname{font-family:var(--display);font-weight:700;font-size:15px}
footer .fdemo{font-family:var(--mono);font-size:10px;letter-spacing:.1em;opacity:.8;margin-left:10px}
footer .flinks{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:4px 18px;font-weight:700;font-size:12px}
footer .flinks a:hover{text-decoration:underline}
footer .fnote{opacity:.75;margin:12px 0 0;font-size:11.5px}

/* 404 */
.nf{padding:70px 0;text-align:left}
.nf .big{font-family:var(--mono);font-size:clamp(40px,8vw,72px);font-weight:700;color:var(--line)}
.nf h1{font-family:var(--display);font-size:24px;margin:6px 0 12px}
.nf a{color:var(--accent);font-weight:700}

/* 出現の動き。
   ★初期状態をずらさない。「先にCSSで9px下げ、JSで戻す」書き方は、
     IntersectionObserver が発火しない環境（バックグラウンドタブ等。実測で0発火を確認）で
     行がずれたまま残る。よって **見えた要素にだけ入場アニメを1回再生する** 形にする。
     アニメが再生されなければ何も起きない＝最初から正しい位置。
   透過フェードは使わない: 背景に色がある場所でフェード途中がグレーに見えるため。 */
@keyframes riseIn{from{transform:translateY(9px)}to{transform:none}}
html.mo .art-row.in,html.mo .e-block.in,html.mo .e-step.in,html.mo .e-matrix tbody tr.in{
  animation:riseIn .42s cubic-bezier(.22,.7,.3,1) both}
.hstat .v{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){
  html.mo .art-row.in,html.mo .e-block.in,html.mo .e-step.in,html.mo .e-matrix tbody tr.in{animation:none}
}

/* mobile */
@media(max-width:820px){
 .e-steps{grid-template-columns:1fr 1fr}
 .e-step{border-bottom:1px solid var(--line)}
 .policy-strip .in{grid-template-columns:1fr;gap:12px}
}
@media(max-width:560px){
 .wrap{padding:0 16px}
 .hero{padding:calc(var(--sp-sec) * .72) 0 calc(var(--sp-sec) * .6)}
 /* ここに font-size を手で書かない。書くとトークン(--fs-h1)が無効になり、
    ジャンプ率を1箇所で制御できなくなる（実際 1.7倍→1.55倍に下がっていた） */
 /* 見出しの <br> は「広い画面で2行に割る」ための手置き。375pxではその位置が合わず、
    「を、」だけが行に取り残される（実測で発生）。スマホでは br を無効にして
    word-break:auto-phrase の文節折りに任せる。 */
 .hero h1 br,.pagehead h1 br{display:none}
 /* リードが1行17文字×6行で壁になる。字を少し詰めて行数を減らす（文章は削らない） */
 .hero .lede{font-size:14.5px;line-height:1.85}
 .hero .note{margin-top:14px;line-height:1.7}
 .e-steps{grid-template-columns:1fr}
 .e-blocks{grid-template-columns:1fr}
 .brand small{display:none}
 .cat-row{grid-template-columns:2.4em 1fr}
 /* 台帳マトリクス: 4列×375pxだと制度名が1文字ずつ折れ、表が画面3枚分になる。
    スマホでは表を「業種ごとの縦カード」に畳み、列名はセル側(data-col)から出す。 */
 .e-matrix,.e-matrix thead,.e-matrix tbody,.e-matrix tr,.e-matrix th,.e-matrix td{display:block;width:auto}
 .e-matrix thead{display:none}
 .e-matrix tbody tr{border:1px solid var(--line);margin-bottom:10px;background:var(--paper)}
 .e-matrix tbody th{border:0;border-bottom:2px solid var(--ink);font-size:15px;padding:10px 13px;background:var(--panel);white-space:normal}
 .e-matrix td{border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:5.4em 1fr;gap:0 11px;padding:8px 13px;font-size:13px}
 .e-matrix td:before{content:attr(data-col);font-family:var(--mono);font-size:9.5px;color:var(--mut);letter-spacing:.04em;padding-top:3px}
 .e-matrix tbody tr td:last-child{border-bottom:0}
 /* 制度名は固有名詞。折ると「業務改善助/成金」になって意味が変わる（実測で4件発生）。
    inline のままだと途中で折れるので inline-block ＋ nowrap にする。 */
 .e-matrix .mx-a{display:inline-block;margin-right:12px;line-height:1.85;white-space:nowrap}
 .e-matrix .mx-0{text-align:left}
 /* 入口見出し: 説明文を右に置くと本文とぶつかる。スマホは縦に積む */
 .entry .eh{flex-direction:column;align-items:flex-start;gap:3px}
 .entry .eh small{text-align:left}
 .sh{flex-direction:column;align-items:flex-start;gap:3px}
 .sh small{text-align:left}
 /* 収録: 4列だと1列あたり80pxで日付が折れる。2×2に組む */
 .hstat{grid-template-columns:1fr 1fr;gap:16px 20px;margin-top:22px}
 /* 要点は2列・目次は1列（375pxで2段組にすると1行6文字になる） */
 .facts{grid-template-columns:1fr 1fr}
 .facts .ft{padding:10px 12px 10px 0}
 .facts .ft:nth-child(2n){border-right:0}
 /* 項目数が奇数のとき、最後の1つが半分だけ残って右が空く。全幅に伸ばす */
 .facts .ft:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
 .toc ol{columns:1}
 .art-body{max-width:none}
 /* 台帳の行: 375pxで左カラムを取ると本文が1行9文字になる。番号と金額は見出しの上に横並び */
 .art-row{grid-template-columns:1fr;gap:0;padding:16px 0 14px}
 .ar-l{flex-direction:row;align-items:baseline;gap:10px;margin-bottom:6px;padding-top:0}
 .ar-amt{font-size:20px}
 .ar-t{font-size:17px;line-height:1.4}
 .ar-toc span{max-width:11em}
 .ar-m{font-size:10px;gap:3px 9px}
}

.mast{border-bottom:1px solid var(--ink)}
.mast .top{border-bottom:1px solid var(--line)}
.brand .bname{letter-spacing:.1em}
/* 帳簿の方眼。文字の背後をわざわざ白く抜かない（抜くと罫が途切れて汚い）。
   罫は --panel 相当まで薄くして、その上に直接組む。 */
.hero{border-bottom:1px solid var(--ink);
      background-image:linear-gradient(var(--panel) 1px,transparent 1px),
                       linear-gradient(90deg,var(--panel) 1px,transparent 1px);
      background-size:27px 27px;background-position:-1px -1px}
/* 見出しサイズは --fs-h1 に一本化。variant で px を書き直さない */
.hstat{border-top-color:var(--ink)}
.entry{border-bottom-width:1px}
.entry .eh,.sh{border-bottom-width:1px}
.cat-row .no:not(.kind):before{content:"第"}
.cat-row .no:not(.kind):after{content:"類"}
.cat-row .no.kind{font-size:10.5px;letter-spacing:.08em;color:var(--accent);opacity:.75}

:root{--fs-sh:clamp(23px,3.2vw,34px);--sh-font:var(--gothic);--sh-w:500;--sh-ls:.01em;
      --fs-body:16px;--fs-lead:16.5px}
/* セクション見出し: 大きく・太くせず・中央。罫と字間を外す（小さいラベルに見せない） */
.sh{flex-direction:column;align-items:center;text-align:center;gap:6px;
    border-bottom:0;padding-bottom:0;margin:0 0 24px;line-height:1.45;color:var(--ink)}
.sh>span,.sh small{font-size:14px;font-weight:400;color:var(--mut);
    letter-spacing:0;font-family:var(--gothic)}
.sec .sh,.entry .eh{border-left:0;padding-left:0}
/* 地は白。淡い青は帯だけに使う（参考の面積比） */
.hero{background:#F2F8FE}
/* 角丸は5pxで統一。ピルは使わない */
.e-chips a,.ar-cat,.cat-row h2 .cn,.cta-box .go,.hn-b,.hd,.dl,.fw-l{border-radius:5px}
.hero .k{border-radius:5px;padding:5px 12px}
/* 大きいCTAを2つ横に（実測 500×82・20px） */
.cta2 a{min-height:76px;border-radius:5px}
.cta2 a>span{font-size:19px}
.cta2 a small{font-size:12.5px;font-weight:400}
/* 見出しは .sh と同じ扱いにする（役割が同じ物を2通りに書かない） */
.entry .eh{font-family:var(--gothic);font-size:var(--fs-sh);letter-spacing:.01em;
    font-weight:500;color:var(--ink);flex-direction:column;align-items:center;
    text-align:center;gap:6px;border-bottom:0;padding-bottom:0;margin:0 0 24px;line-height:1.45}
.entry .eh>span,.entry .eh small{font-size:14px;font-weight:400;color:var(--mut);letter-spacing:0}
/* 角丸は参考の実測どおり5pxに統一（4pxが23箇所に散っていた） */
.ar-cat,.checked-box,.cta-box .go,.qa,.callout,.dl-s,.hn-b,.e-chips a,
.hd,.dl,.fw-l,.fw-s,.hstat .hs{border-radius:5px}
/* ledger の装飾を外す（参考には方眼も「第◯類」も無い） */
.hero{background-image:none;background:#F2F8FE;border-bottom:1px solid #E3EBF5}
.cat-row .no:not(.kind):before,.cat-row .no:not(.kind):after{content:""}
/* 面は「白 + 1px の薄い罫 + 5px」。影は使わない（参考は影ゼロ） */
.hstat{border-top:0;display:grid;gap:12px}
.hstat .hs{background:#fff;border:1px solid #E3EBF5;border-radius:5px;
    padding:16px 18px;align-items:center;text-align:center}
.hd,.dl,.qa,.checked-box,.callout{background:#fff;border:1px solid #E3EBF5}
/* 色の面積を参考に寄せる（実測: 参考は面積1位がオレンジ／自分は暗い帯だった） */
.policy-strip{background:#F2F8FE;color:var(--ink)}/* フッター: 参考は rgb(248,250,250) のほぼ白＋濃い文字。こちらは真逆の暗い帯で、   **ページ全体で一番広い色面**になっていた（実測 269,640＝オレンジの3倍）。*/footer{background:#F8FAFA!important;color:var(--ink)!important;border-top:1px solid #E3EBF5}footer a{color:var(--accent)!important}footer .fname{color:var(--ink)!important}footer .fdemo{color:var(--warm-d)!important}footer .fnote{color:var(--ink2)!important}footer .flinks a{color:var(--accent)!important}footer .r,footer small,footer .c{color:var(--mut)!important}
.policy-strip .t{color:var(--accent)}
.ctaband{background:#fff;padding:calc(var(--sp-sec) * .8) 0}
.cb{display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:6px;max-width:620px;margin:0 auto;min-height:92px;padding:18px 26px;
    background:var(--warm);color:var(--warm-ink);border-radius:5px;
    text-decoration:none;text-align:center;position:relative}
.cb b{font-size:clamp(18px,2.4vw,23px);font-weight:700;line-height:1.4}
.cb small{font-size:13px;font-weight:400;line-height:1.65;opacity:.92}
.cb::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;
    border-top:2.5px solid currentColor;border-right:2.5px solid currentColor;
    transform:translateY(-50%) rotate(45deg)}
.cb:hover{filter:brightness(1.05)}
/* FVの2つのCTAは同じ幅で揃える（文字数で幅が変わらないように） */
.cta2{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:640px}
@media(max-width:700px){.cta2{grid-template-columns:1fr}.cb{min-height:84px}}
:root{--warm:#FF8A00;--warm-ink:#3A1C00;--warm-d:#B35400;--warm-t:#FFF3E3}.e-matrix tbody th a{color:var(--accent)}.checked-box{border-color:var(--accent2)}.checked-box .cb-t{color:var(--accent2)}.e-matrix thead th{background:var(--panel);color:var(--accent)}.e-matrix tbody tr:hover td{background:#F7FBFF}.ar-amt{font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN",Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:800;font-size:20px;letter-spacing:-.01em;white-space:nowrap;background:transparent;color:#A64B00;border-left:4px solid var(--warm);border-radius:0;padding:1px 0 1px 9px;display:inline-flex;align-items:baseline;gap:2px}.ar-amt i{font-style:normal;font-size:.62em;letter-spacing:.01em;margin-left:1px}.demo{background:var(--warm)!important;color:var(--warm-ink)!important;border-color:var(--warm-d)!important}.fdemo{background:transparent!important;color:#FFA640!important;font-weight:700}.hero .k{background:var(--accent);color:#FFFFFF;border-color:var(--accent);padding:5px 16px;border-radius:99px;display:inline-block}.hero .hs{background:#fff;border:1px solid #E3EBF5;border-radius:5px;padding:16px 16px;text-align:center;align-items:center}.hero .hs .v{color:var(--accent)}.hero .hs .l{color:var(--ink2)}footer{background:var(--band);color:var(--band-ink)}footer a{color:#BFD8F2}footer a:hover{color:#FFFFFF}footer .fname{color:#FFFFFF}footer .fnote{color:#A9C6E6}footer .policy-strip{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2)}.sec .sh,.entry .eh{color:var(--accent);padding-left:12px;border-left:5px solid var(--accent)}.art-row .no{background:var(--panel);color:var(--accent);padding:2px 8px;border-radius:5px;font-weight:800}.catnav{scrollbar-width:thin}.catnav::-webkit-scrollbar{height:5px}.catnav::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.catsec,.mast .wrap{position:relative}.catnav .on{color:var(--accent);border-bottom:3px solid var(--accent)}.hantei{background:var(--panel);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:34px 0 40px}.hantei .hn-lede{font-size:15px;line-height:1.9;color:var(--ink2);max-width:41em;margin:0 0 22px}.hn-t{width:100%;border-collapse:collapse;background:#FFFFFF;font-size:13.5px}.hn-t th,.hn-t td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}.hn-t thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;background:var(--panel);color:var(--accent)}.hn-t tbody th{font-weight:700;width:24%}.hn-t tbody th a{color:var(--accent)}.hn-m{white-space:nowrap;font-weight:800;width:14%}.hn-m.o{color:#0B7A45}.hn-m.t{color:#8A5A00}.hn-m.x{color:#A32B1C}.hn-c{white-space:nowrap;font-weight:700;color:var(--warm-d);width:16%}.hn-w{color:var(--ink2);line-height:1.7;font-size:12.5px}.hn-w b{color:var(--ink)}.hn-note{font-size:11.5px;line-height:1.8;color:var(--mut);margin:16px 0 0}.hn-none{background:#FFFFFF;border:1px dashed var(--line);padding:18px;font-size:13.5px;color:var(--ink2)}.dlsec{background:var(--band);color:#FFFFFF;padding:38px 0 44px}.dlsec .sh{color:#FFFFFF!important;border-left-color:var(--warm)!important}.dl-lede{font-size:14px;line-height:1.85;color:#BFD8F2;max-width:44em;margin:0 0 24px}.dl-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);border-radius:6px;overflow:hidden}.dl{background:var(--band);padding:15px 18px;display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:baseline}.dl-h{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}.dl-h b{font-size:16px;font-weight:700}.dl-h b a{color:#FFFFFF;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}.dl-h b a:hover{border-bottom-color:#FFFFFF}.dl-h small{font-size:11.5px;color:#9FBEDF}.dl-s{font-family:var(--mono);font-size:10px;letter-spacing:.08em;font-weight:700;padding:3px 8px;border-radius:5px;white-space:nowrap}.dl.open .dl-s{background:var(--warm);color:var(--warm-ink)}.dl.soon .dl-s{background:rgba(255,255,255,.16);color:#DCE9F7}.dl.done .dl-s{background:rgba(255,255,255,.08);color:#7F9DBE}.dl.tbd .dl-s{background:rgba(255,255,255,.08);color:#7F9DBE}.dl.done{opacity:.62}.dl-b{grid-column:1/-1;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.dl-d{font-family:var(--mono);font-size:19px;font-weight:700;color:#FFFFFF;letter-spacing:.01em}.dl.done .dl-d{color:#9FBEDF}.dl-cap{font-size:12.5px;font-weight:700;color:#FFA640}.dl-n{font-size:11.5px;color:#A9C6E6;line-height:1.7}.dl-note{font-size:11.5px;color:#9FBEDF;margin:18px 0 0;line-height:1.8}@media(max-width:640px){.hn-t,.hn-t thead,.hn-t tbody,.hn-t tr,.hn-t th,.hn-t td{display:block;width:auto}.hn-t thead{display:none}.hn-t tbody tr{border:1px solid var(--line);margin-bottom:10px;background:#FFFFFF}.hn-t tbody th,.hn-t tbody td{border:0;border-bottom:1px solid var(--line);width:auto}.dl{grid-template-columns:1fr}.dl-d{font-size:17px}}:root{--sp-sec:76px}.hantei{padding:78px 0 84px!important}.dlsec{padding:82px 0 88px!important}.entry{padding:72px 0 76px!important}.catsec{padding:66px 0 70px!important}.policy-strip{padding:52px 0!important}.e-matrix td,.pr-notice,.e-block .ds,.policy-strip a,.hn-w,.catnav,.cat-row .no,.toc li,.checked-box{font-size:13.5px}.hero .note,.e-block .no,.cat-row .tp,.pagehead .k,.e-step .ds,.ar-no,.art-body h2 .no,.gsec h2 .no,.dl-n,.hn-note,.dl-note{font-size:11.5px}.e-step .nm,.gsec p,.gsec ul,.legal-line,.cta-box p,.cta-box .go,.qa .a,.dl-lede,.hn-lede{font-size:15px}@media(max-width:640px){:root{--sp-sec:48px}.cat-row h2,.gsec h2{font-size:20.5px}.hantei{padding:46px 0 50px!important}.dlsec{padding:48px 0 52px!important}.entry{padding:44px 0 46px!important}.catsec{padding:40px 0 44px!important}.policy-strip{padding:38px 0!important}}.hero-g{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:48px;align-items:start}.hero-l{min-width:0}@media(max-width:860px){.hero-g{grid-template-columns:1fr;gap:26px}}.hero .k{border-radius:5px!important}.ar-cat,.cat-row h2 .cn,.e-chips a,.cta-box .go{border-radius:5px!important}.cta2 a{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 26px;border-radius:5px;font-size:15.5px;font-weight:700;text-decoration:none;border:2px solid transparent}.cta2 .p{background:var(--warm);color:var(--warm-ink);border-color:var(--warm-d)}.cta2 .p:hover{background:#FFA033}.cta2 .s{background:#FFFFFF;color:var(--accent);border-color:var(--accent)}.cta2 .s:hover{background:var(--panel)}.cta2 small{display:block;font-size:11px;font-weight:400;opacity:.8;margin-top:1px}.hantei .cta2{margin-top:24px}.dlsec .cta2 .p{border-color:var(--warm)}.dlsec .cta2 .s{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.5)}.dlsec .cta2 .s:hover{background:rgba(255,255,255,.1)}.catnav .on{color:var(--warm-d)!important;border-bottom-color:var(--warm)!important}.ar-cat{background:var(--warm-t)!important;color:var(--warm-d)!important;border:1px solid var(--warm)!important}@media(max-width:640px){.cta2 a{width:100%;justify-content:center}}.hantei{background:#FFFFFF!important;border-top:1px solid var(--line)!important;border-bottom:0!important}.dlsec{background:#FFFFFF!important;color:var(--ink)!important;border-top:1px solid var(--line)}.policy-strip{background:var(--panel)!important}.dlsec .sh{color:var(--accent)!important;border-left-color:var(--accent)!important}.dl-lede{color:var(--ink2)}.dl-list{background:transparent;border:0;gap:10px}.dl{background:#FFFFFF;border:1px solid var(--line);border-left:5px solid var(--line);border-radius:5px;padding:15px 18px}.dl.open{border-left-color:var(--warm)}.dl.soon{border-left-color:var(--accent)}.dl.done{opacity:1;border-left-color:#C9D3DD;background:#FBFCFD}.dl-h b{color:var(--ink)}.dl-h b a{color:var(--accent);border-bottom-color:rgba(10,95,204,.35)}.dl-h b a:hover{border-bottom-color:var(--accent)}.dl-h small{color:var(--mut)}.dl.open .dl-s{background:var(--warm);color:var(--warm-ink)}.dl.soon .dl-s{background:var(--panel);color:var(--accent)}.dl.done .dl-s,.dl.tbd .dl-s{background:#EEF1F4;color:var(--mut)}.dl-d{color:var(--ink)}.dl.done .dl-d{color:var(--mut)}.dl-cap{color:var(--warm-d)}.dl-n{color:var(--mut)}.dl-note{color:var(--mut)}.dlsec .cta2 .s{background:#FFFFFF;color:var(--accent);border-color:var(--accent)}.dlsec .cta2 .s:hover{background:var(--panel)}.hn-t thead th{background:var(--panel);color:var(--accent)}.entry,.catsec{border-top:1px solid var(--line)}.catsec:first-of-type{border-top:0}html{scrollbar-gutter:stable both-edges}.hero .wrap .hero-g{grid-template-columns:minmax(0,1fr) 352px;gap:36px}.hero h1{text-wrap:balance;word-break:auto-phrase}.hero .lede{max-width:34em}.hd{background:#fff;border:1px solid var(--ink);border-top:3px solid var(--ink)}.hd-h{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--ink);padding:11px 14px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline;background:var(--panel)}.hd-h span{font-size:9.5px;font-weight:400;color:var(--mut);letter-spacing:.04em}.hd-l2{list-style:none;margin:0;padding:0}.hd-i{padding:11px 14px;border-bottom:1px solid var(--line);display:grid;gap:3px}.hd-i:last-child{border-bottom:0}.hd-d{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hd-d b{font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:.01em;color:var(--ink)}.hd-s{font-size:10.5px;font-weight:700;letter-spacing:.04em}.hd-i.open .hd-s{color:var(--warm-d)}.hd-i.soon .hd-s{color:var(--accent)}.hd-l{font-size:10.5px;color:var(--mut);margin-left:auto;font-family:var(--mono)}.hd-i.open .hd-l{color:var(--warm-d);font-weight:700}.hd-m{font-size:13px;line-height:1.55;display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}.hd-m a{color:var(--accent);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(10,95,204,.3)}.hd-m a:hover{border-bottom-color:var(--accent)}.hd-a{font-size:11px;color:var(--mut)}.hd-c{font-size:11.5px;font-weight:700;color:var(--warm-d);font-family:var(--mono)}.hd-more{display:block;padding:9px 14px;font-size:11.5px;color:var(--accent);text-decoration:none;border-top:1px solid var(--ink);background:#FBFCFE}.hd-more:hover{background:var(--panel)}@media(max-width:860px){.hero .wrap .hero-g{grid-template-columns:1fr;gap:24px}}.hn-form{margin:0 0 24px}.hn-row{display:flex;align-items:flex-start;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.hn-row:last-child{border-bottom:0}.hn-lb{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--accent);min-width:172px;padding-top:11px}.hn-seg{display:flex;gap:8px;flex-wrap:wrap;flex:1}.hn-b{min-height:44px;background:#fff;border:1.5px solid var(--line);padding:8px 14px;font-family:inherit;font-size:14px;font-weight:700;color:var(--ink2);cursor:pointer;line-height:1.3;text-align:left;border-radius:5px}.hn-b small{display:block;font-size:10.5px;font-weight:400;color:var(--mut);margin-top:1px}.hn-b:hover{border-color:var(--accent);color:var(--accent)}.hn-b.on{background:var(--accent);border-color:var(--accent);color:#fff}.hn-b.on small{color:#CFE0F5}.hn-b:focus-visible{outline:3px solid rgba(10,95,204,.4);outline-offset:2px}.hn-ind .hn-b{font-size:13px;padding:7px 11px}@media(max-width:860px){.hn-row{flex-direction:column;gap:8px;padding:12px 0}.hn-lb{min-width:0;padding-top:0}.hn-b{font-size:15px}.hn-ind .hn-b{font-size:13.5px}}[hidden]{display:none !important}.hd-i[hidden]{display:none !important}/* flow */.fwsec{padding:var(--sp-sec) 0;background:#F2F8FE}.fw-cast{display:grid;grid-template-columns:1fr minmax(150px,300px) 1fr;align-items:center;gap:10px;max-width:760px;margin:0 auto 10px}.fw-p{margin:0;text-align:center}.fw-p svg{width:clamp(74px,11vw,104px);height:auto;fill:var(--accent);display:block;margin:0 auto 10px}.fw-p svg .p2{fill:var(--warm)}.fw-p svg .ln{stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round}.fw-p figcaption b{display:block;font-size:16px;font-weight:700;line-height:1.5}.fw-p figcaption span{display:block;font-size:12.5px;color:var(--mut);margin-top:3px}.fw-x{display:flex;flex-direction:column;gap:9px}.fw-a{position:relative;display:block;text-align:center;font-size:13px;font-weight:700;color:#fff;background:var(--accent);padding:6px 16px 6px 10px;border-radius:5px 0 0 5px}.fw-a::after{content:'';position:absolute;right:-13px;top:0;border:14px solid transparent;border-left-color:var(--accent);border-right-width:0}.fw-a.rev{background:var(--warm);color:var(--warm-ink);padding:6px 10px 6px 16px;border-radius:0 5px 5px 0}.fw-a.rev::after{right:auto;left:-13px;border-left-color:transparent;border-right-color:var(--warm);border-left-width:0;border-right-width:14px}.fw-mid{text-align:center;font-size:13.5px;color:var(--mut);max-width:44em;margin:14px auto 30px;line-height:1.85}.fw-l{list-style:none;margin:0 auto;padding:0;max-width:820px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:5px;overflow:hidden}.fw-s{display:grid;grid-template-columns:60px 1fr;gap:16px;background:#fff;padding:17px 20px;align-items:start}.fw-n{font-family:var(--mono);font-size:21px;font-weight:700;color:var(--accent);line-height:1.2;letter-spacing:.02em}.fw-t b{display:block;font-size:16.5px;font-weight:700;margin:0 0 5px;line-height:1.5}.fw-t p{margin:0;font-size:14px;line-height:1.85;color:var(--ink2)}.fw-t p b{display:inline;font-size:inherit}.fw-s.warn{background:#FFF8EE}.fw-s.warn .fw-n{color:var(--warm-d)}.fw-s.warn .fw-t p b{color:var(--warm-d)}.fw-s.money{background:#F3FAF6}.fw-s.money .fw-n{color:var(--accent2)}.fw-s.money .fw-t p b{color:#0A6F42}.fw-note{max-width:820px;margin:16px auto 0;font-size:12.5px;color:var(--mut);line-height:1.8}@media(max-width:700px){.fw-cast{grid-template-columns:1fr;gap:4px}.fw-x{flex-direction:row;justify-content:center;margin:6px 0}.fw-a{padding:5px 12px 5px 8px;font-size:12px}.fw-p svg{width:64px;margin-bottom:6px}.fw-p figcaption b{font-size:14.5px}.fw-s{grid-template-columns:42px 1fr;gap:11px;padding:14px 14px}.fw-n{font-size:17px}.fw-t b{font-size:15.5px}.fw-t p{font-size:13.5px}}/* flow-fix */.fw-p svg .ln2{stroke:#F2F8FE;stroke-width:2.6;fill:none}.fw-x{width:100%}.fw-a{width:100%;box-sizing:border-box}.entry .eh{border-left:0!important;padding-left:0!important;color:var(--ink)!important}.sec .sh{border-left:0!important;padding-left:0!important}/* compare */.cpsec{padding:var(--sp-sec) 0;background:#fff}.cp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #E3EBF5;border-radius:5px}.cp{width:100%;min-width:660px;border-collapse:collapse;background:#fff;font-size:14px}.cp thead th{background:#F4F7FA;color:var(--ink2);font-size:12.5px;font-weight:700;text-align:left;padding:11px 14px;border-bottom:1px solid #E3EBF5;white-space:nowrap}.cp tbody th,.cp tbody td{padding:14px;border-bottom:1px solid #EDF2F7;vertical-align:top;text-align:left;font-weight:400}.cp tbody tr:last-child th,.cp tbody tr:last-child td{border-bottom:0}.cp tbody th{min-width:270px}.cp tbody th a{font-weight:700;font-size:15px;color:var(--accent);text-decoration:none}.cp tbody th a:hover{text-decoration:underline}.cp-c{display:block;margin-top:5px;font-size:12.5px;line-height:1.7;color:var(--mut)}.cp-c b{color:var(--ink2)}.cp-k{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:5px;white-space:nowrap}.cp-k.hojo{background:#E8F1FC;color:#0A4E9E}.cp-k.josei{background:#E6F5EC;color:#0A6F42}.cp-k.yushi{background:#FFF0E0;color:#8A4200}.cp td small{display:block;margin-top:5px;font-size:11.5px;color:var(--mut)}.cp-cap{font-weight:700;white-space:nowrap}.cp-w{font-size:13px;font-weight:700;white-space:nowrap}.cp-w.open{color:var(--warm-d)}.cp-w.soon{color:var(--accent)}.cp-w.done{color:var(--mut)}.cp-w.tbd{color:var(--mut)}.cp-note{margin:14px 0 0;font-size:12.5px;line-height:1.8;color:var(--mut)}@media(max-width:700px){.cp{font-size:13.5px}.cp tbody th{min-width:230px}.cp tbody th,.cp tbody td{padding:12px 11px}}/* sp-fix */.cb{padding-right:46px;padding-left:46px}.cp-scroll{position:relative}.cp-hint{display:none;margin:8px 0 0;font-size:12px;color:var(--mut)}@media(max-width:760px){.cp-hint{display:block}.cb{padding-right:38px;padding-left:16px}.cb::after{right:14px}}/* card-spec *//* 罫は「地の色を隙間から見せる」のではなく**各枠が自分で持つ**。   地で描くと、枠が足りない時に**地がそのまま空の灰色の穴**として出る   （PCで1度直したのに、スマホの2列でまた出た＝作りの問題）。*/.ar-spec{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:1px;background:#fff;border:1px solid #E3EBF5;border-radius:5px;overflow:hidden;margin:12px 0 10px}.ar-sp{background:#fff;box-shadow:0 0 0 1px #E3EBF5;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.ar-sp .k{font-size:11px;color:var(--mut);letter-spacing:.02em;line-height:1.4}.ar-sp .v{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.45;overflow:hidden;text-overflow:ellipsis}.ar-sp .v.num{font-family:var(--mono);letter-spacing:.01em}.ar-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}.ar-p{font-size:11.5px;font-weight:700;color:var(--ink2);background:#F4F7FA;border:1px solid #E3EBF5;border-radius:5px;padding:3px 9px;white-space:nowrap}@media(max-width:700px){.ar-spec{grid-template-columns:repeat(2,1fr)}.ar-sp{padding:7px 9px}.ar-sp .v{font-size:13px}}/* cap-chart */.ccsec{padding:var(--sp-sec) 0;background:#F2F8FE}.cc-l{list-style:none;margin:0 auto;padding:0;max-width:860px;display:grid;gap:18px}.cc-l li{display:grid;grid-template-columns:1fr;gap:6px}.cc-n{font-size:15.5px;font-weight:700;line-height:1.5}.cc-n a{color:var(--accent);text-decoration:none}.cc-n a:hover{text-decoration:underline}.cc-b{display:flex;align-items:center;gap:12px}.cc-b span{display:block;height:22px;background:var(--accent);border-radius:0 3px 3px 0;min-width:6px}.cc-b b{font-family:var(--mono);font-size:17px;font-weight:700;white-space:nowrap;color:var(--ink)}.cc-m{font-size:12.5px;color:var(--mut);line-height:1.7}.cc-warn{max-width:860px;margin:26px auto 0;background:#FFF8EE;border:1px solid #F5DCBA;border-radius:5px;padding:14px 16px;font-size:13.5px;line-height:1.85;color:var(--ink2)}.cc-warn b{color:var(--warm-d)}.cc-out{max-width:860px;margin:22px auto 0}.cc-out h3{font-size:13px;font-weight:700;color:var(--mut);margin:0 0 10px;letter-spacing:.04em}.cc-out ul{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:#E3EBF5;border:1px solid #E3EBF5;border-radius:5px;overflow:hidden}.cc-out li{background:#fff;padding:11px 14px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:baseline}.co-v{font-family:var(--mono);font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap}.co-n{font-size:14px;font-weight:700}.co-n a{color:var(--accent);text-decoration:none}.co-w{grid-column:1/-1;font-size:12.5px;color:var(--mut);line-height:1.7}@media(max-width:700px){.cc-b b{font-size:15px}.cc-n{font-size:14.5px}.cc-out li{grid-template-columns:1fr}}/* money-fig */.mfig{max-width:860px;margin:18px auto 0;padding:0}/* SVGの文字は幅に比例して拡大する。上限を付けないと、広い画面で   金額が40pxになり**セクション見出し(34px)を超える**＝階層が壊れる（実測して発覚）。   viewBoxの640を超えて拡大させない。*/.mfig svg{width:100%;max-width:640px;height:auto;display:block;margin:0 auto;font-family:var(--gothic)}.mfig .m-lb{font-size:20px;font-weight:700;fill:var(--ink)}.mfig .m-am{font-size:30px;font-weight:700;fill:var(--ink);font-family:var(--mono);dominant-baseline:auto}.mfig .m-mm{font-size:17px;fill:var(--mut)}.mfig .m-out{fill:#44586D}.mfig .m-in{fill:var(--accent)}.mfig .m-net{fill:var(--warm)}.mfig .m-dot{fill:#C7D6E8}.mfig .m-dot.on{fill:var(--warm)}.mfig .m-ln{stroke:#C7D6E8;stroke-width:2}.mfig .m-st{font-size:17px;fill:var(--mut)}.mfig .m-st.on{font-size:19px;font-weight:700;fill:var(--warm-d)}.mfig figcaption{margin:12px 2px 0;font-size:12.5px;line-height:1.8;color:var(--mut)}.mfig figcaption b{color:var(--ink2)}/* money-fig-sp */@media(max-width:700px){.mfig .m-lb{font-size:23px}.mfig .m-mm{font-size:21px}.mfig .m-st{font-size:21px}.mfig .m-st.on{font-size:23px}.mfig .m-am{font-size:32px}}/* size-fig */.szsec{padding:var(--sp-sec) 0;background:#fff}.szfig{max-width:880px;margin:0 auto}.szfig svg{width:100%;max-width:800px;height:auto;display:block;margin:0 auto;font-family:var(--gothic)}.szfig .sz-lb{font-size:19px;font-weight:700;fill:var(--ink);text-anchor:end}.szfig .sz-hd{font-size:15px;fill:var(--mut);text-anchor:middle;font-family:var(--mono)}.szfig .sz-lg{font-size:16px;fill:var(--ink2)}.szfig .sz{stroke:#fff;stroke-width:1}.szfig .sz-o{fill:#0A5FCC}.szfig .sz-t{fill:#8FBBEC}/* 4段を明度だけで分けるのは無理（片方を離すともう片方が近づく＝実測1.18）。   「業種による」は**形**で分ける＝破線の枠。色覚に依存しない。*/.szfig .sz-v{fill:#fff;stroke:var(--accent);stroke-width:2;stroke-dasharray:5 3}.szfig .sz-x{fill:#F1F4F7}.sz-key{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px}.sz-key li{display:flex;gap:9px;align-items:baseline;font-size:13px;line-height:1.6}.sz-key li span{font-family:var(--mono);font-size:12px;color:var(--mut);min-width:14px;font-weight:700}.sz-key a{color:var(--accent);text-decoration:none}.sz-key a:hover{text-decoration:underline}.szfig figcaption{margin:14px 2px 0;font-size:12.5px;line-height:1.8;color:var(--mut)}@media(max-width:700px){.sz-key{grid-template-columns:1fr}.szfig .sz-lb{font-size:23px}.szfig .sz-lg{font-size:19px}.szfig .sz-hd{font-size:20px}}/* de-bold */.hero .k,.pagehead .k,.policy-strip .t,.policy-strip a,.prelaunch .t,.src-list .t,.legal-line,.skip,.hd-s,.hn-lb,.sz-key li span,.ar-p,.dl-s,.cp-k,footer .fname,footer .flinks a,.nf a,.toc .tt,.toc .tn,.kv th,.hn-t tbody th,.cp thead th,.hn-b{font-weight:500}.hn-b.on{font-weight:700}.footer .fname,footer .fname{font-weight:700}/* 詳細度: BASE_CSS の .e-matrix .mx-a に勝つ必要がある（1では負ける・実測で確認）*/.e-matrix .mx-a{color:var(--ink2);font-weight:400}.e-matrix .mx-a.own{color:var(--accent);font-weight:700}.e-matrix td{vertical-align:top}.mx-a.own::before{content:'●';font-size:8px;vertical-align:2px;margin-right:5px;color:var(--warm)}.art-row.ar-noamt{grid-template-columns:52px 1fr}.mx-note .mx-lg{color:var(--warm);font-size:9px;vertical-align:2px}/* dl-list-fix */.dl-list{background:transparent!important;border:0!important;border-radius:5px!important;gap:10px!important;overflow:visible!important}/* art-center */.art-body{margin-left:auto;margin-right:auto}/* 🔴 最初は .pagehead 全部に当てたら、**カテゴリページの見出しまで720に絞られ**、   全幅の記事一覧とズレた（直したはずの問題を別の場所に作った）。   本文が720の**記事ページだけ**に限定する。:has() で「.art-body を持つページ」を指す。*/body:has(.art-body) .pagehead h1,body:has(.art-body) .pagehead .dek,body:has(.art-body) .pagehead .k,body:has(.art-body) .pagehead .meta,body:has(.art-body) .facts{max-width:720px;margin-left:auto;margin-right:auto}
/* ===== rk 器（rakkoma 2026-10-12 実測）===== */
body.rk{font-family:"Noto Sans JP",sans-serif;color:#333;background:#fff;line-height:1.5;font-size:16px}
.rk :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0;padding:0}
.rk :where(ul,ol){list-style:none}
.rk [hidden]{display:none!important}
.rk a{text-decoration:none}
.rk .rk-in{max-width:1280px;margin:0 auto;padding:0 10px}
/* 上部（告知帯51＋ヘッダー行50＋罫1・sticky） */
.rk-top{position:sticky;top:0;z-index:1020;background:#fff}
.rk-an{background:#fffdeb;border-bottom:1px solid #ddd;min-height:51px;display:flex;align-items:center;justify-content:center;padding:8px 20px;line-height:1.5}
.rk-anc{min-width:120px;margin-right:8px;text-align:center;border-radius:5px;color:#fff;display:inline-block;font-size:10px;line-height:1.2;padding:3px;background:var(--rk2)}
.rk-ant{font-size:14.4px;color:#333}
.rk-ant a{color:#333}
.rk-anl{list-style:none;margin:0;padding:0}
.rk-anl li{display:flex;align-items:center;justify-content:center}
.rk-anl li[hidden]{display:none}
.rk-anl li:not([hidden])~li:not([hidden]){display:none}
.rk-ant small{font-size:12px;color:#666;margin-left:8px}
.rk-ant a{text-decoration:underline}
.rk-ant a:hover{opacity:.6}
.rk-anx{width:30px;height:30px;min-width:30px;border-radius:50%;border:0;background:none;color:#282828;display:flex;align-items:center;justify-content:center;margin-left:10px;font-size:15px;cursor:pointer;font-weight:700}
.rk-anx:hover{background:rgba(0,0,0,.15)}
.rk-h{border-bottom:1px solid #ccc;background:#fff}
.rk-hin{height:50px;display:flex;align-items:center;padding:0 16px;max-width:1440px;margin:0 auto}
.rk-logo{display:flex;align-items:center;gap:8px;color:#333;line-height:1}
.rk-logo .mk{width:34px;height:34px;border-radius:6px;background:var(--rk1);color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex:none}
.rk-logo span{display:flex;flex-direction:column;gap:3px}
.rk-logo small{font-size:10px;color:#555;white-space:nowrap}
.rk-logo b{font-size:21px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.rk-hr{margin-left:auto;display:flex;align-items:center;gap:12px}
.rk-hb{display:inline-flex;align-items:center;justify-content:center;width:134px;height:34px;border-radius:5px;color:#fff!important;font-size:16px;white-space:nowrap;transition:opacity .4s}
.rk-hb.b{background:var(--rk1)}.rk-hb.o{background:var(--rk2)}
.rk-hb:hover{opacity:.5;transition:opacity .2s}
.rk-hl{font-size:16px;color:#333;white-space:nowrap;padding:0 4px}
.rk-hl:hover{color:var(--rk1d)}
.rk-hm{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;position:relative}
.rk-hm i,.rk-hm i::before,.rk-hm i::after{display:block;width:20px;height:3px;background:#333;border-radius:2px}
.rk-hm i{position:relative}.rk-hm i::before,.rk-hm i::after{content:"";position:absolute;left:0}
.rk-hm i::before{top:-7px}.rk-hm i::after{top:7px}
.rk-hm.on{background:var(--rk1)}.rk-hm.on i,.rk-hm.on i::before,.rk-hm.on i::after{background:#fff}
.rk-menu{position:absolute;right:16px;top:calc(100% + 6px);width:370px;background:#fff;border-radius:5px;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:1100;max-height:calc(100dvh - 120px);overflow:auto;padding:8px 0}
.rk-menu small{display:block;font-size:12px;color:#777;padding:12px 20px 6px}
.rk-menu a{display:block;padding:12px 20px;border-bottom:1px solid #eee;color:#333;font-size:15px}
.rk-menu a:hover{background:var(--rk1t)}
.rk-menu a.cb{background:var(--rk1);color:#fff;border:0}.rk-menu a.co{background:var(--rk2);color:#fff;border:0}
.rk-hin{position:relative}
@media(max-width:991px){.rk-hb,.rk-hl{display:none}}
/* 実績バー（24px・13/700）＝記事データから数えた値 */
.rk-ach{display:flex;align-items:center;gap:0;padding:0 16px;height:30px;font-size:13px;color:#333;background:#fff;max-width:1440px;margin:0 auto}
.rk-ach span{padding:0 10px;border-left:1px solid #ccc;line-height:1}
.rk-ach span:first-child{padding-left:0;border-left:0}
.rk-ach b{font-weight:700;margin-left:4px}
.rk-ach b.r{color:#e74c3c}
/* FV（#f2f2f2 の帯・中身1080×340・見出し48/700） */
.rk-fvw{background:#f2f2f2}
.rk-fv{position:relative;max-width:1080px;min-height:340px;margin:0 auto;padding:20px 30px 40px}
.rk-fvt{font-size:48px;font-weight:700;line-height:1.4;color:#333;word-break:auto-phrase}
.rk-fvs{font-size:16px;line-height:1.5;margin-top:6px}
.rk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 16px}
.rk-chips a{font-size:13px;background:#fff;border:1px solid var(--rk1);color:var(--rk1);padding:5px 10px;border-radius:5px;white-space:nowrap;transition:opacity .4s}
.rk-chips a:hover{opacity:.6}
.rk-srch{display:flex;align-items:center;gap:8px;max-width:783px}
.rk-srch label{position:relative;flex:1}
.rk-srch svg{position:absolute;left:12px;top:12px;width:16px;height:16px;color:#999}
.rk-srch input{width:100%;height:40px;border-radius:5px;padding:8px 10px 8px 36px;background:#fff;border:1px solid #616161;font:inherit;font-size:15px;color:#333}
.rk-srch button{flex:none;width:248px;height:40px;background:var(--rk1);color:#fff;border:0;border-radius:5px;cursor:pointer;font:inherit;font-size:16px}
.rk-srch button:hover{opacity:.8}
.rk-fvl{display:inline-block;margin-top:22px;font-size:15px;color:var(--rk1)}
.rk-fvl::after{content:"";display:inline-block;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:8px;vertical-align:2px}
.rk-fvl:hover{opacity:.6}
.rk-fvart{position:absolute;right:-110px;bottom:0;width:261px;max-height:330px;display:flex;align-items:flex-end;pointer-events:none}
.rk-fv:has(.rk-fvart) .rk-fvt,.rk-fv:has(.rk-fvart) .rk-fvs{max-width:760px}
.rk-fvart img{max-width:100%;max-height:330px;width:auto;height:auto;display:block;margin-left:auto}
.rk-cnt{font-size:14px;color:#555;margin-top:10px}
/* 大CTA×3（330×82・r5・丸札・右矢印・hover で .5） */
.rk-ctas{max-width:1050px;margin:0 auto;padding:70px 0 50px;display:flex;justify-content:center;gap:20px}
.rk-ctaw{position:relative;width:330px}
.rk-badge{position:absolute;left:50%;top:-18px;transform:translateX(-50%);z-index:1;background:#fff;border:1px solid var(--rk2);border-radius:9999px;padding:2px 10px;font-size:13px;white-space:nowrap;color:#333}
.rk-badge::after{content:"";position:absolute;left:50%;bottom:-6px;width:9px;height:9px;background:#fff;border-right:1px solid var(--rk2);border-bottom:1px solid var(--rk2);transform:translateX(-50%) rotate(45deg)}
.rk-cta{display:flex;align-items:center;justify-content:center;height:82px;border-radius:5px;color:#fff!important;position:relative;padding:0 44px 0 30px;transition:opacity .3s}
.rk-cta:hover{opacity:.5}
.rk-cta.b{background:var(--rk1)}.rk-cta.o{background:var(--rk2)}
.rk-cta span{display:flex;flex-direction:column;align-items:center;text-align:center;letter-spacing:2px;line-height:1.3}
.rk-cta b{font-size:22px;font-weight:400}
.rk-cta small{font-size:14px}
.rk-cta::after{content:"";position:absolute;right:22px;top:50%;width:9px;height:9px;border-top:3px solid #fff;border-right:3px solid #fff;transform:translateY(-50%) rotate(45deg)}
/* 参考は左80px欄にキャラ（::before）。絵は欄の中に収め、文字は欄の右から始める */
.rk-cta:has(.art){padding-left:96px}
.rk-cta:has(.art) span{letter-spacing:1px}
.rk-cta b{white-space:nowrap}
.rk-cta .art{position:absolute;left:10px;bottom:0;width:76px;height:96px;display:flex;align-items:flex-end;justify-content:center}
.rk-cta .art img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
@media(max-width:767px){.rk-cta:has(.art){padding-left:18vw}.rk-cta .art{width:14vw;height:17vw;left:2vw}}
/* 正方形の画像（記事データの文字と数字だけで組む） */
.rk-th{container-type:inline-size;position:relative;aspect-ratio:1/1;width:100%;background:var(--rk1t);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;color:#333}
/* 正方形に収める計算（cqw=辺の1%）: 帯 7.4×1.2×2行＋余白7 ≒25／札1枚 5.3＋8.5＋余白3.6＋枠1.6 ≒19×3＋間5.2 ≒62／外余白8 → 合計95 */
.rk-thb{background:var(--rk1);color:#fff;font-weight:700;font-size:7.4cqw;line-height:1.2;text-align:center;padding:3.2cqw 3cqw 3.8cqw;white-space:nowrap;overflow:hidden}
.rk-thb span{display:block;overflow:hidden;text-overflow:clip}
.rk-thx{flex:1;display:flex;gap:3cqw;padding:4cqw 4.5cqw;min-height:0;overflow:hidden}
.rk-thf{display:flex;flex-direction:column;justify-content:center;gap:2.6cqw;flex:1;min-width:0}
.rk-thf li{background:#fff;border:.8cqw solid var(--rk1);border-radius:2.2cqw;padding:1.6cqw 3cqw 2cqw;line-height:1.15}
.rk-thf small{display:block;font-size:4.6cqw;font-weight:700;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-thf b{display:block;font-size:7.4cqw;font-weight:700;color:var(--rk1d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-thf b i{font-style:normal;font-size:5cqw;margin-left:.5cqw}
/* 絵がある時（参考の案件画像＝左に札・右下に人物）: 絵は右下に敷き、札は左60%に。札の字を一段小さくして10字まで入れる */
.rk-thx{position:relative}
.rk-thi{position:absolute;right:2cqw;bottom:0;width:46%;height:74%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.rk-thi img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
.rk-thx:has(.rk-thi) .rk-thf{flex:0 0 62%;position:relative;z-index:1;justify-content:flex-start}
.rk-thx:has(.rk-thi) .rk-thf small{font-size:4.2cqw}
.rk-thx:has(.rk-thi) .rk-thf b{font-size:6.2cqw}
.rk-thx:has(.rk-thi) .rk-thf b i{font-size:4.2cqw}
.rk-thn{position:absolute;right:3cqw;bottom:2cqw;font-size:4cqw;color:#999}
/* 新着スライダー（正方形175・下に額・3秒で送る） */
.rk-sl{padding:0 0 10px;overflow:hidden}
.rk-slt{display:flex;gap:25px;padding:0 16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.rk-slt::-webkit-scrollbar{display:none}
.rk-slt a{flex:none;width:175px;scroll-snap-align:start;color:#333;text-align:center}
.rk-slt .rk-th{border-radius:8px}
.rk-slp{display:block;font-size:16px;font-weight:700;color:#e74c3c;margin-top:8px;line-height:1.3}
.rk-slp small{font-size:12px;color:#777;font-weight:400;display:block}
.rk-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.rk-dots i{width:10px;height:10px;border-radius:50%;background:#ccc;display:block}
.rk-dots i.on{background:var(--rk1)}
/* 段（中身1260・見出し36/400 中央・下余白50） */
.rk-sec{padding:90px 0 80px}
.rk-sec.t40{padding-top:40px}
.rk-tt{text-align:center;font-size:36px;font-weight:400;line-height:1;color:#333;margin:0 0 50px}
.rk-tt small{display:block;font-size:16px;color:#555;margin-top:16px;line-height:1.5}
.rk-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 14px;max-width:1050px}
.rk-tab{font-size:13px;background:#fff;border:1px solid var(--rk1);color:var(--rk1);padding:5px 10px;border-radius:5px;cursor:pointer;font-family:inherit;line-height:1.5;transition:opacity .4s}
.rk-tab:hover{opacity:.6}
.rk-tab.on{background:var(--rk1);color:#fff}
/* 案件カード（grid 270＋1fr×3・枠1px #969696・r5・画像1:1 230） */
.rk-lw{max-width:1050px;margin:0 auto;padding:0 10px}
.rk-list>li{margin-bottom:20px}
.rk-card{display:block;background:#fff;border:1px solid #969696;border-radius:5px;color:#333!important}
.rk-cg{display:grid;grid-template-columns:270px 1fr 1fr 1fr;grid-template-areas:"label label state state" "graf transfer transfer transfer" "graf name name name" "graf price price price" "graf business business business" "graf info info info" "tags tags tags tags" "summary summary summary summary"}
.rk-lb{grid-area:label;min-height:10px}
.rk-st{grid-area:state;display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:10px 20px 0 0;font-size:13px;color:#999;line-height:1;flex-wrap:wrap}
.rk-st b{color:#333;font-weight:700}
.rk-new{background:#0c3;color:#fff;border-radius:20px;font-size:11px;padding:3px 6px;line-height:1;display:inline-block}
.rk-gf{grid-area:graf;padding:20px 20px 10px}
.rk-gf .rk-th{width:230px}
.rk-tr{grid-area:transfer;padding:10px 20px 0 0}
.rk-tr span{display:inline-block;font-size:11px;line-height:1.2;padding:3px 6px;border:1px solid #f6993f;color:#c94d00;background:#fff;border-radius:2px}
.rk-nm{grid-area:name;padding:8px 20px 0 0}
.rk-nm h3{font-size:18px;font-weight:400;line-height:1.5;letter-spacing:.02em;color:#333}
.rk-pr{grid-area:price;display:flex;align-items:baseline;gap:6px;padding:8px 20px 0 0;line-height:1.5;flex-wrap:wrap}
.rk-pr small{font-size:13px;color:#555}
.rk-pr b{font-size:28px;font-weight:500;color:#333}
.rk-pr i{font-style:normal;font-size:15px;font-weight:500}
.rk-bz{grid-area:business;display:flex;gap:16px;flex-wrap:wrap;padding:6px 20px 0 0;font-size:13px;color:#555}
.rk-bz span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#bbb;margin-right:6px;vertical-align:1px}
.rk-if{grid-area:info;padding:10px 20px 0 0}
.rk-ss{border:1px solid #eee;border-radius:5px;display:flex}
.rk-s{flex:1;min-width:0;padding:14px 10px;text-align:center;line-height:1.3}
.rk-s+.rk-s{border-left:1px solid #eee}
.rk-sl2{font-size:14px;font-weight:500;color:#333;display:flex;align-items:center;justify-content:center;gap:5px}
.rk-sl2 i{width:10px;height:10px;border-radius:2px;display:inline-block;background:var(--rk1)}
.rk-s:nth-child(2) .rk-sl2 i{background:var(--rk2)}.rk-s:nth-child(3) .rk-sl2 i{background:#38c172}
.rk-sv{font-size:16px;font-weight:700;color:#333;margin-top:6px;overflow-wrap:anywhere}
.rk-tg{grid-area:tags;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 20px 20px}
.rk-tg span{font-size:11px;padding:4px 6px;border-radius:5px;background:#fff;border:1px solid #ccc;line-height:1.25;white-space:nowrap}
.rk-sm{grid-area:summary;background:var(--rk1t);padding:20px;border-radius:0 0 5px 5px}
.rk-smh{color:var(--rk1);font-size:16px;display:flex;align-items:center;gap:6px;line-height:1.6}
.rk-smh i{width:15px;height:15px;border:2px solid var(--rk1);border-radius:3px;display:inline-block;position:relative}
.rk-smh i::after{content:"";position:absolute;left:3px;top:3px;width:5px;height:5px;background:var(--rk1)}
.rk-smt{font-size:14px;line-height:1.7;color:#333;margin-top:4px}
.rk-more{text-align:center;margin:20px 0 0}
.rk-more button,.rk-more a{display:inline-block;width:92%;max-width:500px;padding:10px;background:var(--rk1);color:#fff!important;border:0;border-radius:5px;font:inherit;font-size:16px;cursor:pointer}
.rk-more button:hover,.rk-more a:hover{opacity:.6}
.rk-hits{max-width:1050px;margin:0 auto 14px;padding:0 10px;text-align:center;font-size:14px;color:#555}
/* 分類バナー（4枚） */
.rk-cb{display:flex;justify-content:center;gap:24px;margin:50px auto 0;max-width:1050px;flex-wrap:wrap}
.rk-cb a{width:160px;background:var(--rk1t);border-radius:8px;padding:14px 10px 12px;text-align:center;color:#333;border:1px solid transparent;transition:opacity .4s}
.rk-cb a:hover{opacity:.6}
.rk-cb small{display:block;font-size:12px;color:var(--rk1);font-weight:700}
.rk-cb small::before{content:"＼ "}.rk-cb small::after{content:" ／"}
.rk-cb b{display:block;font-size:18px;font-weight:700;margin-top:4px;line-height:1.3}
.rk-cb span{display:block;font-size:12px;color:#777;margin-top:4px}
/* 理由カード（影 0 0 5px・左130欄に70px の数字） */
.rk-rs{max-width:1260px;margin:0 auto}
.rk-r{box-shadow:0 0 5px rgba(0,0,0,.2);display:flex;align-items:center;background:#fff;padding:30px 60px;margin-bottom:20px}
.rk-rn{width:130px;flex:none;text-align:center;color:var(--rk1);font-size:70px;line-height:1;padding-right:10px}
.rk-rc{border-left:1px solid #ccc;padding-left:40px;flex:1}
.rk-rc h3{font-size:24px;font-weight:400;line-height:1.5;margin-bottom:8px}
.rk-rc p{font-size:16px;line-height:1.5}
/* 扱う範囲（譲渡形態の器: 3列・枠1px #ccc・見出し帯 #eee） */
.rk-tf{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:20px;max-width:1260px;margin:0 auto}
.rk-tfi{border:1px solid #ccc;background:#fff}
.rk-tfi h3{background:#eee;font-size:18px;font-weight:700;text-align:center;padding:12px;line-height:1.4}
.rk-tfi p{padding:16px 20px 6px;font-size:15px;line-height:1.6}
.rk-tfi a{display:block;padding:0 20px 18px;font-size:14px;color:var(--rk1)}
.rk-tfi a::before{content:"› "}
/* FAQ（1行・白・影・Q・下矢印・400ms で開く） */
.rk-qas{max-width:1050px;margin:0 auto}
.rk-q{background:#fff;box-shadow:0 0 5px rgba(0,0,0,.2);margin-bottom:20px;padding:10px 40px}
.rk-qq{display:flex;align-items:center;width:100%;border:0;background:none;text-align:left;font:inherit;color:#333;padding:6px 0;cursor:pointer;gap:15px}
.rk-qq i{flex:none;width:37px;height:37px;border-radius:50%;background:var(--rk1);color:#fff;font-style:normal;font-size:18px;display:flex;align-items:center;justify-content:center}
.rk-qq span{font-size:18px;line-height:1.5;flex:1}
.rk-qq::after{content:"";width:10px;height:10px;border-right:2px solid #333;border-bottom:2px solid #333;transform:rotate(45deg);flex:none;margin-right:6px}
.rk-qa{overflow:hidden;height:0;transition:height .4s ease}
.rk-qa>div{background:#f6f6f6;padding:20px;margin:10px 0 6px}
.rk-qa p{font-size:16px;line-height:1.6}
.rk-qa a{display:inline-block;margin-top:8px;font-size:14px;color:var(--rk1)}
/* お知らせ（箱1050・枠1px #ddd・r5・内余白30） */
.rk-nt{border:1px solid #ddd;border-radius:5px;padding:30px;max-width:1050px;margin:0 auto}
.rk-nti{display:flex;gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid #eaeaea;flex-wrap:wrap}
.rk-nti:last-child{border-bottom:0}
.rk-nti b{font-weight:700;font-size:15px;white-space:nowrap}
.rk-ntb{display:inline-block;border-radius:5px;padding:4px 6px;font-size:10px;line-height:1;color:#fff;min-width:56px;text-align:center}
.rk-ntb.n{background:var(--rk1)}.rk-ntb.u{background:#31b0d5}.rk-ntb.d{background:#ea0000}
.rk-nti a{color:#333;font-size:16px;line-height:1.5;flex:1;min-width:60%}
.rk-nti a:hover{text-decoration:underline}
/* About（キャラ画像の欄は絵がある時だけ） */
.rk-ab{display:flex;gap:40px;align-items:center;max-width:1050px;margin:0 auto}
.rk-ab .art{width:35%;flex:none}.rk-ab .art img{width:100%;display:block}
.rk-ab p{font-size:16px;line-height:1.75;margin-bottom:16px}
/* ピックアップ（3列×2・色札30px・題16・額20/700） */
.rk-pk{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1260px;margin:0 auto}
.rk-pk a{display:flex;flex-direction:column;color:#333}
.rk-pkl{height:30px;padding:0 15px;border-radius:5px 5px 0 0;display:flex;align-items:center;color:#fff;font-size:13px;background:var(--rk1)}
.rk-pk a:nth-child(3n+2) .rk-pkl{background:var(--rk2)}.rk-pk a:nth-child(3n) .rk-pkl{background:#3bb276}
.rk-pkc{border:1px solid #ddd;border-top:0;border-radius:0 0 5px 5px;padding:15px;min-height:115px;display:flex;flex-direction:column;flex:1}
.rk-pkt{font-size:16px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rk-pkp{margin-top:auto;align-self:flex-end;font-size:20px;font-weight:700;line-height:1.5}
.rk-pkp small{font-size:13px;font-weight:400;color:#555;margin-right:6px}
.rk-pkp::after{content:"";display:inline-block;width:8px;height:8px;border-top:2px solid var(--rk1);border-right:2px solid var(--rk1);transform:rotate(45deg);margin-left:8px;vertical-align:2px}
/* 参考記事（4列×2・画像16:9・題14） */
.rk-ra{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1260px;margin:0 auto}
.rk-ra a{display:block;color:#333;transition:opacity .4s}
.rk-ra a:hover{opacity:.5}
.rk-rai{aspect-ratio:16/9;border-radius:5px;background:var(--rk1);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:6% 8%;gap:6px;overflow:hidden}
.rk-rai small{font-size:12px;opacity:.85}
.rk-rai b{font-size:19px;line-height:1.35;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rk-rat{font-size:14px;line-height:1.5;margin-top:8px}
/* 連絡（売却募集の器） */
.rk-ct{max-width:1050px;margin:0 auto;text-align:center}
.rk-ct p{font-size:16px;line-height:1.75}
.rk-ct3{display:flex;justify-content:center;gap:16px;margin:24px 0}
.rk-ct3 div{border:1px solid #ddd;border-radius:5px;padding:14px 18px;font-size:14px;font-weight:700;min-width:180px}
.rk-ctl{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:12px}
.rk-ctl a{color:var(--rk1);font-weight:700}
.rk-ctl a::before{content:"› "}
/* 案内帯（#e3effc） */
.rk-help{background:var(--rk1t);text-align:center;padding:40px 16px;font-size:16px;line-height:1.7}
.rk-help a{color:var(--rk1);font-weight:700}
/* フッター（#333・左296＋4列・13px #d5d5d5） */
.rk-f{background:#333;color:#fff}
.rk-fm{display:flex;gap:40px;max-width:1260px;margin:0 auto;padding:40px 10px 20px}
.rk-fs{width:296px;flex:none}
.rk-fs .rk-logo{color:#fff}.rk-fs .rk-logo small{color:#ddd}
.rk-fs p{font-size:13px;line-height:1.75;margin-top:16px;color:#fff}
.rk-fn{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.rk-fct{font-size:13px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.5}
.rk-fl a{display:block;font-size:13px;line-height:26px;color:#d5d5d5!important}
.rk-fl a:hover{color:#fff!important;text-decoration:underline}
.rk-fnote{max-width:1260px;margin:0 auto;padding:0 10px 20px;font-size:12px;line-height:1.7;color:#d5d5d5}
.rk-f2{border-top:1px solid #656565;padding:16px 10px;text-align:center;font-size:13px;color:#fff}
/* ===== 下層 ===== */
.rk-main{max-width:1280px;margin:0 auto;padding:40px 10px 0}
.rk-bc{display:flex;white-space:nowrap;overflow-x:auto;margin:0 0 20px;font-size:13px;color:#777;scrollbar-width:none}
.rk-bc::-webkit-scrollbar{display:none}
.rk-bc a{color:var(--rk1)}
.rk-bc li+li::before{content:"›";margin:0 8px;color:#999}
.rk-lp{display:flex;gap:40px;align-items:flex-start}
.rk-side{width:268px;flex:none;border:1px solid #ddd;border-radius:5px;overflow:hidden}
.rk-sideh{background:#f6f6f6;padding:12px 15px;font-size:13px;font-weight:700;display:flex;justify-content:space-between;align-items:center;margin:0}
.rk-sidel a{display:block;padding:9px 15px;font-size:13px;color:#333;border-top:1px solid #eee}
.rk-sidel a.on{background:var(--rk1);color:#fff}
.rk-sidel a:hover{background:var(--rk1t)}
.rk-lmain{flex:1;min-width:0}
.rk-lmain .rk-lw{max-width:none;padding:0}
.rk-lt{font-size:36px;font-weight:400;text-align:center;line-height:1.3;margin:0 0 20px}
.rk-dt h1{font-size:24px;font-weight:400;line-height:1.4;color:#333}
.rk-lbls{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}
.rk-lbl{display:inline-block;border:1px solid #ccc;border-radius:5px;font-size:12px;padding:3px 9px;line-height:1.4;background:#fff}
.rk-lbl.b{background:var(--rk1);border-color:var(--rk1);color:#fff}
.rk-lbl.o{border-color:#f6993f;color:#c94d00}
.rk-dinfo{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#999}
.rk-dh{display:flex;gap:30px;margin-top:24px}
.rk-dhl{width:50%;flex:none}.rk-dhr{flex:1;min-width:0}
.rk-dhl .rk-th{max-width:630px}
.rk-dtb{width:100%;border-collapse:collapse;font-size:14px}
.rk-dtb th,.rk-dtb td{border:1px solid #ccc;padding:10px 12px;text-align:left;vertical-align:middle;line-height:1.5}
.rk-dtb th{background:#eee;font-weight:400;font-size:13px;width:30%}
.rk-dtb td b{font-size:22px;font-weight:700}
.rk-pl{display:flex;gap:10px;margin-top:40px}
.rk-pl a{flex:1;background:#f6f6f6;border-radius:5px;text-align:center;height:44px;display:flex;align-items:center;justify-content:center;color:#333;font-size:14px;position:relative}
.rk-pl a:hover{background:#ddd}
.rk-pl a::after{content:"";position:absolute;right:15px;top:calc(50% - 5px);width:7px;height:7px;border-right:2px solid #333;border-bottom:2px solid #333;transform:rotate(45deg)}
.rk-ds{margin-top:50px}
.rk-dtt{font-size:26px;font-weight:400;line-height:1.3;color:#333;margin:0 0 20px}
.rk-intro{border:2px solid var(--rk1);border-radius:5px;padding:20px 24px 20px 24px}
.rk-intro p{font-size:16px;line-height:1.7}
.rk .art-body{max-width:none;font-size:14px;line-height:1.7}
.rk .art-body h2{font-size:22px;font-weight:700;color:#333;background:var(--rk1t);border:0;border-bottom:4px solid var(--rk1);border-radius:5px 5px 0 0;padding:15px 15px 15px 20px;margin:40px 0 18px;line-height:1.4;letter-spacing:0}
.rk .art-body h2 .en,.rk .art-body h2 .no{display:none}
.rk .art-body p{font-size:16px;line-height:1.9;margin:0 0 1.2em}
.rk .art-body ul{list-style:disc;padding-left:1.4em;margin:0 0 1em}
.rk-srcs ul{padding-left:1.4em;font-size:14px;line-height:1.8;list-style:disc}
.rk-srcs a{color:var(--rk1);word-break:break-all}
.rk-chk{border:1px solid #ccc;border-radius:5px;overflow:hidden;font-size:14px}
.rk-chk div{display:flex;border-bottom:1px solid #ccc}
.rk-chk div:last-child{border-bottom:0}
.rk-chk span{width:22%;background:#eee;padding:10px;flex:none}
.rk-chk p{padding:10px 15px;flex:1;line-height:1.6}
.rk-chk a{color:var(--rk1)}
.rk-rel{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rk-rel a{display:flex;gap:14px;border:1px solid #ddd;border-radius:5px;padding:12px;color:#333}
.rk-rel a:hover{opacity:.6}
.rk-rel .rk-th{width:96px;flex:none}
.rk-rel b{font-weight:400;font-size:15px;line-height:1.5}
.rk-rel span{display:block;font-size:14px;font-weight:700;color:#e74c3c;margin-top:4px}
/* ===== 中間幅 ===== */
@media(max-width:1024px){
 .rk-fv{max-width:650px;padding:20px 0 40px}.rk-fvt{font-size:36px}.rk-fvart{display:none}
 .rk-ctas{flex-wrap:wrap}
 .rk-cg{grid-template-areas:"label label state state" "graf transfer transfer transfer" "graf name name name" "graf price price price" "graf business business business" "info info info info" "tags tags tags tags" "summary summary summary summary"}
 .rk-if{padding-left:20px}
 .rk-pk{grid-template-columns:repeat(2,1fr)}.rk-ra{grid-template-columns:repeat(3,1fr)}
 .rk-fm{flex-direction:column}.rk-fs{width:auto}
 .rk-lp{flex-direction:column}.rk-side{width:100%}
}
/* ===== SP（767px以下・文字は vw 基準） ===== */
@media(max-width:767px){
 body.rk{font-size:3.7vw}
 .rk-an{min-height:56px;justify-content:space-between;padding:6px 3.75vw}.rk-anc{display:none}.rk-ant{font-size:13px;text-align:left}
 .rk-hin{padding:0 3.75vw}
 .rk-logo .mk{width:28px;height:28px;font-size:13px}.rk-logo b{font-size:17px}.rk-logo small{font-size:9px}
 .rk-hm{width:27px;height:27px}
 .rk-menu{position:fixed;left:0;right:0;width:auto;top:auto;border-radius:0;max-height:calc(100dvh - 110px)}
 .rk-ach{justify-content:center;height:auto;padding:8px 2vw;font-size:3.3vw;border-bottom:1px solid #ccc}
 .rk-fv{min-height:0;padding:5vw}
 .rk-fvt{font-size:7.5vw;line-height:1.3;text-align:center}
 .rk-fvs{font-size:3.75vw;margin-top:4vw}
 .rk-chips{justify-content:center;gap:2.5vw;margin:5vw 0}
 .rk-chips a{font-size:3.6vw;padding:1.5vw 2.5vw}
 .rk-srch{gap:2vw}
 .rk-srch button{width:30%;font-size:3.6vw;height:11.3vw;line-height:1.2}
 .rk-srch input{height:11.3vw;font-size:3.8vw}.rk-srch svg{top:3.7vw}
 .rk-fvl{font-size:3.9vw;margin-top:4vw}
 .rk-ctas{flex-direction:column;align-items:center;gap:7vw;padding:9vw 5vw 6vw}
 .rk-ctaw{width:80vw}
 .rk-cta{height:14vw;padding:0 10vw}
 .rk-cta b{font-size:4.3vw}.rk-cta small{font-size:2.7vw}
 .rk-badge{font-size:3.2vw}
 .rk-slt{gap:4vw;padding:0 3.75vw}
 .rk-slt a{width:40vw}
 .rk-slp{font-size:4vw}
 .rk-sec{padding:9.375vw 0}.rk-sec.t40{padding-top:9.375vw}
 .rk-tt{font-size:5vw;margin-bottom:5vw}.rk-tt small{font-size:3.2vw;margin-top:2vw}
 .rk-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:0 3.75vw;scrollbar-width:none}
 .rk-tab{font-size:3.4vw;flex:none}
 .rk-lw{padding:0}
 .rk-list>li{margin:0}
 .rk-card{border:0;border-top:1px solid #969696;border-radius:0;padding:0 3.75vw 5vw}
 .rk-list>li:last-child .rk-card{border-bottom:1px solid #969696}
 .rk-cg{grid-template-columns:100%;grid-template-areas:"label" "state" "transfer" "name" "price" "graf" "business" "info" "tags" "summary"}
 .rk-st{justify-content:flex-start;padding:3vw 0 0;font-size:3vw;gap:3vw}
 .rk-tr,.rk-nm,.rk-pr,.rk-bz,.rk-if{padding-right:0}
 .rk-nm h3{font-size:4.3vw}
 .rk-pr b{font-size:6.2vw}
 .rk-gf{padding:3vw 0 0}.rk-gf .rk-th{width:100%}
 .rk-if{padding-left:0}
 .rk-ss{display:block}
 .rk-s{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:3vw}
 .rk-s+.rk-s{border-left:0;border-top:1px solid #eee}
 .rk-sl2{font-size:3.7vw}.rk-sv{margin-top:0;font-size:4.2vw;text-align:right}
 .rk-tg{padding:3vw 0 0;justify-content:flex-start}
 .rk-sm{margin-top:4vw;border-radius:5px;padding:4vw}
 .rk-smh{font-size:3.7vw}.rk-smt{font-size:3.5vw}
 .rk-hits{font-size:3.5vw}
 .rk-cb{gap:3vw;padding:0 3.75vw}.rk-cb a{width:calc(50% - 1.5vw)}
 .rk-rs{padding:0 4vw}
 .rk-r{padding:4vw;align-items:flex-start}
 .rk-rn{width:50px;font-size:9vw;padding:0}
 .rk-rc{padding-left:4vw}.rk-rc h3{font-size:4.6vw}.rk-rc p{font-size:3.75vw;line-height:1.6}
 .rk-tf{grid-template-columns:1fr;padding:0 4vw}
 .rk-qas{padding:0 4vw}.rk-q{padding:2vw 3.5vw;margin-bottom:3vw}
 .rk-qq i{width:7vw;height:7vw;font-size:3.6vw}.rk-qq span{font-size:3.8vw}
 .rk-qa p{font-size:3.6vw}
 .rk-nt{border-radius:0;border-left:0;border-right:0;padding:4vw}
 .rk-nti a{font-size:3.8vw;min-width:100%}
 .rk-ab{flex-direction:column;padding:0 4vw}.rk-ab .art{width:60%}
 .rk-ab p{font-size:3.8vw}
 .rk-pk{grid-template-columns:1fr 1fr;gap:3.75vw;padding:0 4vw}
 .rk-pkl{height:6.5vw;font-size:3vw;padding:0 2.5vw}.rk-pkc{padding:2.5vw;min-height:0}
 .rk-pkt{font-size:3.4vw}.rk-pkp{font-size:3.8vw}.rk-pkp small{display:none}
 .rk-ra{grid-template-columns:1fr 1fr;gap:3.75vw;padding:0 4vw}
 .rk-rai b{font-size:3.8vw}.rk-rai small{font-size:2.8vw}.rk-rat{font-size:3.3vw}
 .rk-ct{padding:0 4vw}.rk-ct p{font-size:3.8vw}.rk-ct3{flex-direction:column;align-items:stretch}
 .rk-fm{padding:8vw 5vw 4vw;gap:6vw}
 .rk-fn{grid-template-columns:1fr;gap:0}
 .rk-fct{border-top:1px solid #474747;padding:12px 0;margin:0;cursor:pointer;position:relative}
 .rk-fct::after{content:"";position:absolute;right:4px;top:50%;width:8px;height:8px;border-right:2px solid #bbb;border-bottom:2px solid #bbb;transform:translateY(-70%) rotate(45deg)}
 .rk-fc .rk-fl{display:none}.rk-fc.on .rk-fl{display:block}
 .rk-fl a{line-height:44px;border-top:1px solid #444;padding-left:8px}
 .rk-main{padding:5vw 3.75vw 0}
 .rk-lt{font-size:5.3vw}
 .rk-dt h1{font-size:4.4vw}
 .rk-dh{flex-direction:column;gap:5vw}.rk-dhl{width:100%}
 .rk-pl{flex-wrap:wrap}.rk-pl a{flex:0 0 calc(50% - 5px);font-size:3.4vw}
 .rk-dtt{font-size:4.6vw}
 .rk .art-body h2{font-size:4.8vw}.rk .art-body p{font-size:3.9vw}
 .rk-rel{grid-template-columns:1fr}
 .rk-chk span{width:31%}
}
/* 艦固有の段（判定器・締切・規模差など builder の既存部品）を参考の段の器にそろえる */
.rk section.hantei,.rk section.dlsec,.rk section.szsec,.rk section.fwsec,.rk section.ccsec,.rk section.cpsec,.rk section.entry{padding:90px 0 80px;background:#fff;border:0;margin:0}
.rk section .sh,.rk section.entry .eh{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:36px;font-weight:400;color:#333;margin:0 0 50px;line-height:1;letter-spacing:0;font-family:inherit;border:0;padding:0}
.rk section .sh span,.rk section .sh small,.rk section.entry .eh small{display:block;margin-top:16px;font-size:16px;font-weight:400;color:#555;line-height:1.5;letter-spacing:0}
@media(max-width:767px){.rk section.hantei,.rk section.dlsec,.rk section.szsec,.rk section.fwsec,.rk section.ccsec,.rk section.cpsec,.rk section.entry{padding:9.375vw 0}
 .rk section .sh,.rk section.entry .eh{font-size:5vw;margin-bottom:5vw}.rk section .sh span,.rk section .sh small{font-size:3.2vw;margin-top:2vw}}
@media(prefers-reduced-motion:reduce){.rk *{transition:none!important;scroll-behavior:auto!important}}
