:root{--num:"JetBrains Mono","Inter","SF Pro Text",system-ui,monospace;--ac:#2D385F;--ac-bg:#eceff6;--pri:#2D385F;--pri-h:#384878}
.top .mark{background:#2D385F}
.wb{word-break:keep-all;overflow-wrap:anywhere}
.rd{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
.dw{background:#d9dcd8;border-radius:12px;padding:20px}
.dwi{position:relative;background:#f8f7f2;box-shadow:0 0 0 1px #c9c9c0;aspect-ratio:1080/1000}
.sv{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#1d2430}
.t3{stroke-width:3}.t2{stroke-width:2}.t1{stroke-width:1.4}.cl{stroke-width:1.2;stroke-dasharray:22 6 4 6}.dsh{stroke-dasharray:10 6}
.tx{fill:#1d2430;stroke:none;font-size:22px;font-family:"Noto Sans JP",sans-serif}.tx text{font-family:"JetBrains Mono","Noto Sans JP",monospace}
.s19{font-size:19px}.s18{font-size:18px}.s17{font-size:17px}.s22{font-size:22px}.bd{font-weight:700}
.s17 text,.s18 text{font-family:"Noto Sans JP",sans-serif}
.bx{position:absolute;border:2.5px solid #2563eb;background:rgba(37,99,235,.10);cursor:pointer;padding:0}
.bx span{position:absolute;left:-2.5px;bottom:100%;background:#2563eb;color:#fff;font-size:13px;font-weight:700;padding:2px 7px;white-space:nowrap;border-radius:3px 3px 0 0}
.bx.w{border-color:#d97f00;background:rgba(224,138,0,.12)}.bx.w span{background:#d97f00}
.bx.on{box-shadow:0 0 0 4px rgba(37,99,235,.3)}.bx.w.on{box-shadow:0 0 0 4px rgba(217,127,0,.3)}
.bx.lr span{left:auto;right:-2.5px}
#bxs.off{display:none}
.zm{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px;flex-wrap:wrap}
.pn{background:var(--sf);border:1px solid var(--ln);border-radius:14px;padding:22px}
.pn .k{margin:0;font-size:12.5px;color:var(--mu)}.pn h3{margin:2px 0 10px;font-size:22px}
.kv{width:100%;border-collapse:collapse;font-size:14px}.kv td{padding:9px 0;border-bottom:1px solid var(--ln2)}.kv td:last-child{text-align:right;font-weight:700}
.kv tr.on td{background:#eef3fd}.kv tr{cursor:pointer}
.kv .wn{color:#c26a00}.kv .okc{color:#2563eb}
.chk{margin-top:12px}
.chk .al{border:1px solid #f0c98a;background:#fff8ec;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.7}
.chk .al b{display:block;color:#a65a00;font-size:13.5px}
.chk .al .btn{margin-top:8px}
.chk .okm{border:1px solid #bfe0cc;background:#f0f9f3;border-radius:10px;padding:10px 14px;font-size:13px;color:#17663a}
.fq{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:center;margin-top:14px}
.fk{font-size:13px;color:var(--mu);font-weight:600}
.fq .seg{max-width:100%;overflow-x:auto}.fq .seg button{flex:1 0 auto}
.tot{margin-top:14px;background:#f2f4f8;border-radius:12px;padding:14px 16px}
.tot div{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;padding:3px 0}.tot div span:last-child{font-family:var(--num)}
.tot b{font:800 30px var(--num);color:#2D385F}
.btn.big{width:100%;height:46px;margin-top:12px;font-size:14.5px}
.qw{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.doc{background:#fff;border:1px solid var(--ln);border-radius:6px;padding:44px 48px;box-shadow:0 10px 30px rgba(20,30,60,.06)}
.doc h2{text-align:center;font-size:24px;letter-spacing:.4em;margin:0 0 24px}
.dh{display:flex;justify-content:space-between;gap:20px;font-size:13.5px;line-height:1.8}
.dh .to b{font-size:18px;border-bottom:1px solid #222;padding-bottom:2px}
.dh .fr{text-align:right}
.dsum{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #2D385F;margin:24px 0 14px;padding-bottom:8px}.dsum b{font:800 30px var(--num);color:#2D385F}
.doc table{width:100%;border-collapse:collapse;font-size:13.5px}.doc th{background:#f3f4f7;text-align:left;padding:8px 10px;font-weight:600;font-size:12.5px}.doc td{padding:9px 10px;border-bottom:1px solid var(--ln2)}.doc .r{text-align:right;font-family:var(--num)}
.doc .nt{margin-top:18px;font-size:12.5px;color:var(--ink2);line-height:1.8;background:#f8f8f6;padding:10px 14px;border-radius:6px}
@media (max-width:1100px){.rd,.qw{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.dw{padding:8px}.bx span{font-size:9.5px;padding:1px 4px}.bx{border-width:2px}.pn{padding:16px}.doc{padding:22px 16px}.doc h2{font-size:19px}.dh{flex-direction:column}.dh .fr{text-align:left}.doc .hs{display:none}}
/* スマホの上部バー（タブを2段目に） */
@media (max-width:640px){
  .top-in{flex-wrap:wrap;height:auto;padding:10px 12px 0;row-gap:4px}
  .tabs{order:3;width:100%;margin:0;height:40px}.tabs button{flex:1;justify-content:center;padding:0 4px;font-size:12px}.tabs button svg.i{display:none}
}
