:root{
  --ink:#0A0E1A;--muted:#5C6679;--line:#E4E8F0;--brand:#2F5BEA;--brand-soft:#EEF2FE;
  --cta:#FF5A1F;--soft:#F6F8FC;--ok:#0FA968;
  --font:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Meiryo",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);line-height:1.95;font-size:16px;background:#fff;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
.bar{border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:9}
.bar .in{width:min(1020px,92vw);margin-inline:auto;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:9px;font-weight:900;font-size:17px;color:var(--ink);text-decoration:none}
.logo i{width:25px;height:25px;border-radius:8px;background:linear-gradient(135deg,var(--brand),#7C5CFF);display:grid;place-items:center;color:#fff;font-size:12.5px;font-style:normal}
.cta-sm{background:var(--cta);color:#fff;text-decoration:none;font-weight:800;font-size:13.5px;padding:10px 20px;border-radius:999px;white-space:nowrap}
main{width:min(820px,92vw);margin:clamp(34px,5vw,56px) auto clamp(56px,8vw,88px)}
.crumb{font-size:12.5px;color:var(--muted);margin-bottom:16px}
h1{font-size:clamp(24px,3.6vw,34px);font-weight:800;letter-spacing:-.01em;line-height:1.5}
.meta{color:var(--muted);font-size:13px;margin-top:12px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.summary{background:var(--brand-soft);border-radius:14px;padding:22px 24px;margin:28px 0;font-size:15px;line-height:1.9}
.summary > b:first-child{display:block;font-size:13px;letter-spacing:.1em;color:var(--brand);margin-bottom:10px}
.summary li b,.summary p b{display:inline;font-size:inherit;letter-spacing:normal;color:var(--ink);margin:0}
.summary ul{margin:0 0 0 1.2em}
.summary li{margin:6px 0}
.toc{border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin:28px 0;font-size:14.5px}
.toc b{display:block;font-size:13px;font-weight:800;margin-bottom:10px}
.toc ol{margin-left:1.3em}
.toc li{margin:6px 0}
h2{font-size:clamp(19px,2.4vw,24px);font-weight:800;margin:52px 0 6px;line-height:1.55;letter-spacing:-.01em}
h2::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--brand);margin-bottom:16px}
h3{font-size:17px;font-weight:800;margin:32px 0 10px;line-height:1.6}
.answer{font-size:16.5px;line-height:1.95;margin:14px 0 20px;padding-left:16px;border-left:3px solid var(--brand);color:#151B2C;font-weight:600}
p{margin:14px 0;color:#232B3D}
ul,ol{margin:14px 0 14px 1.4em;color:#232B3D}
li{margin:8px 0}
table{width:100%;border-collapse:collapse;margin:22px 0;font-size:14.5px}
th,td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
th{background:var(--soft);font-weight:800}
td.good{color:#0B7A4B;font-weight:700}
.note{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-size:13.5px;color:var(--muted);margin:22px 0;line-height:1.85}
.cta-box{background:linear-gradient(135deg,#0A0E1A,#1B2340);color:#fff;border-radius:18px;padding:clamp(26px,4vw,36px);margin:48px 0 0;text-align:center}
.cta-box h3{color:#fff;margin:0 0 10px;font-size:20px}
.cta-box p{color:#A8B2C8;font-size:14.5px;margin:0 auto 22px;max-width:46ch}
.cta-box a{display:inline-block;background:var(--cta);color:#fff;text-decoration:none;font-weight:800;padding:15px 34px;border-radius:999px}
footer{border-top:1px solid var(--line);padding:28px 0;text-align:center;font-size:12.5px;color:var(--muted)}
footer a{margin:0 10px}
.disc{font-size:11.5px;color:#8C97AE;margin-top:14px;line-height:1.85;max-width:70ch;margin-inline:auto}
