:root{--ink:#1a1a1a;--ink-soft:#63655d;--bg:#f2f3f0;--panel:#fff;--line:#e4e3db;--line-strong:#d3d2c8;--lime:#cdfc54;--lime-deep:#bceb3e;--blue:#4805f8;--blue-soft:#ece7fe;--blue-ink:#3a05c4;--green:#4e7d2c;--green-bg:#edf3e4;--amber:#b9791a;--amber-bg:#f8f0dd;--red:#b23b30;--red-bg:#f7e9e6;--mono:"Space Mono",ui-monospace,monospace;--jp:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--accent:var(--ink);--accent-bg:#efefea;--radius:16px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--jp);color:var(--ink);background:var(--bg);line-height:1.8;-webkit-font-smoothing:antialiased}img{max-width:100%}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.wrap{max-width:960px}.narrow,.wrap{margin:0 auto;padding:0 20px}.narrow{max-width:780px}.theme-a{--accent:var(--ink);--accent-bg:#efefea}.theme-b{--accent:var(--blue);--accent-bg:var(--blue-soft)}.hidden{display:none!important}@media (prefers-reduced-motion:no-preference){.fade{animation:fade .4s ease both}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.site-head{background:var(--panel);border-bottom:1px solid var(--line-strong);position:-webkit-sticky;position:sticky;top:0;z-index:50}.site-head .inner{gap:26px;height:64px}.brand,.site-head .inner{display:flex;align-items:center}.brand{font-weight:900;font-size:17px;letter-spacing:.01em;gap:9px}.brand .dot{width:11px;height:11px;border-radius:50%;background:var(--lime);border:1.5px solid var(--ink)}.nav{display:flex;gap:22px;margin-left:auto;align-items:center}.nav a{font-size:14px;font-weight:500;color:var(--ink-soft)}.nav a:hover{color:var(--ink)}.nav .btn-sm{background:var(--ink);color:#fff;padding:9px 16px;border-radius:8px;font-weight:700;font-size:13.5px}.nav .btn-sm:hover{background:#000;color:var(--lime)}.site-foot{background:var(--ink);color:#9ea097;margin-top:80px;padding:44px 0 34px;font-size:13px}.site-foot a{color:#c9cbc4;text-decoration:underline}.site-foot .cols{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}.site-foot .disc{max-width:52ch;line-height:1.9;color:#8a8c84;font-size:12px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--blue);margin:0 0 12px}.section-title{font-size:26px;font-weight:900;margin:0 0 8px;letter-spacing:.01em}.section-lede{color:var(--ink-soft);font-size:15px;margin:0 0 28px;max-width:64ch}.card{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;gap:10px;border:none;border-radius:10px;font-weight:700;font-size:16px;padding:15px 28px;transition:background .18s,transform .12s}.btn-lime{background:var(--lime);color:var(--ink)}.btn-lime:hover{background:var(--lime-deep);transform:translateY(-1px)}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-ink);transform:translateY(-1px)}.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#000;transform:translateY(-1px)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.hero{background:var(--ink);color:#fff;padding:70px 0 62px}.hero h1{font-size:42px;font-weight:900;margin:0;line-height:1.35;letter-spacing:.01em}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:#c9cbc4;margin:20px 0 30px;font-size:16px;max-width:60ch}.hero .acts{display:flex;gap:12px;flex-wrap:wrap}.hero .free{margin:22px 0 0;font-size:12.5px;color:#8a8c84}.credit{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;margin:34px 0 0;border-top:1px solid #333;border-bottom:1px solid #333}.credit .item{padding:20px 22px 18px;border-right:1px solid #333}.credit .item:last-child{border-right:none}.credit .ttl{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:900;color:#fff;margin:0 0 6px}.credit .ttl .ic{width:20px;height:20px;flex:none;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:11px;font-weight:900}.credit .d{margin:0;font-size:12.5px;color:#9ea097;line-height:1.75}@media(max-width:720px){.credit{grid-template-columns:1fr}.credit .item{border-right:none;border-bottom:1px solid #333}.credit .item:last-child{border-bottom:none}}.home-sec{padding:66px 0 0}.grid2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid2,.grid3{display:grid;gap:16px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.tile{padding:26px 24px;display:flex;flex-direction:column;height:100%;transition:transform .14s,box-shadow .2s}.tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(26,26,26,.5)}.tile .tag{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;padding:4px 10px;border-radius:20px;align-self:flex-start;margin-bottom:14px}.tile.a .tag{background:var(--ink);color:var(--lime)}.tile.b .tag{background:var(--blue-soft);color:var(--blue-ink)}.tile h3{font-size:19px;font-weight:900;margin:0 0 8px;line-height:1.5}.tile p{font-size:14px;color:var(--ink-soft);margin:0 0 18px;flex:1 1}.tile .go{border-radius:10px;font-weight:700;font-size:14.5px;padding:12px 16px;text-align:center;display:block}.tile.a .go{background:var(--lime);color:var(--ink)}.tile.a .go:hover{background:var(--lime-deep)}.tile.b .go{background:var(--blue);color:#fff}.tile.b .go:hover{background:var(--blue-ink)}.note-center{font-size:12.5px;color:var(--ink-soft);text-align:center;margin:16px 0 0}.ex-card{padding:24px;display:flex;flex-direction:column;height:100%;transition:transform .14s,box-shadow .2s,border-color .2s}.ex-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(26,26,26,.45);border-color:var(--ink)}.ex-no{font-family:var(--mono);font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.06em}.ex-card h3{font-size:17px;font-weight:900;margin:6px 0 8px;line-height:1.55}.ex-card .lead{font-size:13.5px;color:var(--ink-soft);flex:1 1;margin:0 0 14px}.ex-meta{display:flex;gap:10px;align-items:center;font-size:11.5px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:12px}.pill{background:var(--accent-bg);color:var(--ink);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.ex-head{background:var(--ink);color:#fff;padding:56px 0 46px}.ex-head .room{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--lime);margin:0 0 14px}.ex-head h1{font-size:34px;font-weight:900;margin:0;line-height:1.45}.ex-head .lead{color:#c9cbc4;margin:18px 0 0;font-size:15.5px;max-width:60ch}.ex-body{padding:44px 0 0}.block{margin-bottom:36px}.block h2{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--blue);margin:0 0 14px}.prose{font-size:16.5px;line-height:2}.prose p{margin:0 0 18px}.prose strong{background:linear-gradient(transparent 62%,var(--lime) 62%);font-weight:700}.branch{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:30px 28px}.branch .q{font-size:21px;font-weight:900;margin:0 0 6px;line-height:1.6}.branch .hint{font-size:13px;color:var(--ink-soft);margin:0 0 20px}.choices{display:flex;flex-direction:column;gap:12px}.choice{border:1.5px solid var(--line-strong);border-radius:12px;background:var(--panel);text-align:left;width:100%;padding:0;overflow:hidden;transition:border-color .15s}.choice.open,.choice:hover{border-color:var(--ink)}.choice-head{display:flex;align-items:center;gap:12px;padding:15px 18px}.choice-head .mk{width:26px;height:26px;flex:none;border-radius:50%;border:2px solid var(--ink-soft);color:var(--ink-soft);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700}.choice.open .choice-head .mk{background:var(--ink);color:var(--lime);border-color:var(--ink)}.choice .lab{font-weight:700;font-size:15.5px}.choice .sm{display:block;font-weight:400;font-size:13px;color:var(--ink-soft);margin-top:2px}.choice .reveal{padding:0 18px 18px 56px}.verdict{font-size:12px;font-weight:700;padding:3px 11px;border-radius:20px;display:inline-block;margin-bottom:8px}.verdict.good{background:var(--green-bg);color:var(--green)}.verdict.warn{background:var(--amber-bg);color:var(--amber)}.verdict.bad{background:var(--red-bg);color:var(--red)}.reveal .prose{font-size:14.5px;line-height:1.95}.reveal .prose p{margin:0 0 10px}.branch-note{margin:18px 0 0;padding-top:14px;border-top:1px dashed var(--line-strong)}.branch-note,.locked{font-size:13px;color:var(--ink-soft)}.locked{margin-top:14px;text-align:center}.outcome{background:var(--panel);border:1px solid var(--line-strong);border-left:4px solid var(--lime);padding:28px}.lessons,.outcome{border-radius:var(--radius)}.lessons{background:var(--ink);color:#f3f4ef;padding:30px 28px}.lessons h2{color:var(--lime);margin-bottom:16px}.lessons ul{margin:0;padding:0;list-style:none}.lessons li{padding:10px 0 10px 24px;position:relative;border-bottom:1px solid #333;font-size:15px}.lessons li:last-child{border-bottom:none}.lessons li:before{content:"";position:absolute;left:0;top:19px;width:10px;height:2px;background:var(--lime)}.checklist{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:28px}.checklist ul{margin:0;padding:0;list-style:none}.checklist li{padding:9px 0 9px 30px;position:relative;font-size:15px;border-bottom:1px solid var(--line)}.checklist li:last-child{border-bottom:none}.checklist li:before{content:"□";position:absolute;left:2px;color:var(--blue);font-size:16px}.cta{background:var(--ink);color:#f3f4ef;border-radius:var(--radius);padding:38px 32px;margin-top:40px}.cta .k{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--lime);margin:0 0 10px}.cta h3{margin:0 0 12px;font-size:22px;color:#fff;line-height:1.55}.cta p{margin:0 0 22px;font-size:14.5px;color:#c9cbc4;max-width:62ch}.cta .sub{display:block;margin-top:14px;font-size:12px;color:#8a8c84}.cta-soft{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:24px;margin-top:34px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.cta-soft p{margin:0;font-size:14px;color:var(--ink-soft);flex:1 1;min-width:260px}.cta-soft a{white-space:nowrap;font-size:14px;font-weight:700;color:var(--blue);text-decoration:underline}.quiz-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.qcount{font-family:var(--mono);font-size:13px;color:var(--ink-soft)}.qcat{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--accent)}.bar{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:24px}.bar>i{display:block;height:100%;background:var(--accent);transition:width .35s ease}.qcard{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:32px 30px 26px}.qlayer{font-size:12px;color:var(--accent);background:var(--accent-bg);display:inline-block;padding:4px 12px;border-radius:20px;margin-bottom:14px}.qlayer,.qtext{font-weight:700}.qtext{font-size:21px;margin:0 0 24px;line-height:1.6}.opts{flex-direction:column;gap:10px}.opt,.opts{display:flex}.opt{align-items:center;gap:14px;text-align:left;width:100%;background:var(--panel);border:1.5px solid var(--line-strong);border-radius:12px;padding:15px 18px;font-size:16px;color:var(--ink);transition:border-color .15s,background .15s}.opt:hover{border-color:var(--accent);background:#fbfbf9}.opt .mk{width:24px;height:24px;flex:none;border-radius:50%;border:2px solid;display:grid;place-items:center;font-size:13px;font-weight:700}.opt.clear{color:var(--green)}.opt.vague{color:var(--amber)}.opt.na{color:var(--ink-soft)}.opt .lab{color:var(--ink);font-weight:500}.opt .sub{color:var(--ink-soft);font-size:12.5px;margin-left:auto;text-align:right}.backrow{margin-top:18px}.ghost{background:none;border:none;color:var(--ink-soft);font-size:13px;text-decoration:underline;padding:6px 0}.ghost:hover{color:var(--ink)}.rcard{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden}.rtop{padding:26px 30px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--accent-bg)}.rtop .cid{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.rtop h3{margin:6px 0 0;font-size:18px;font-weight:900}.score{display:flex;align-items:baseline;gap:8px;justify-content:flex-end}.score .num{font-family:var(--mono);font-weight:700;font-size:50px;line-height:.9}.score .den{font-family:var(--mono);color:var(--ink-soft);font-size:16px}.chip{font-size:11.5px;font-weight:700;padding:3px 11px;border-radius:20px}.chip.ok{color:var(--green);background:var(--green-bg)}.chip.caution{color:var(--amber);background:var(--amber-bg)}.chip.critical{color:var(--red);background:var(--red-bg)}.chip.na{color:var(--ink-soft);background:var(--line)}.verdict-chip{font-weight:900;font-size:15px;padding:5px 14px;border-radius:20px;margin-top:8px;display:inline-block}.rbody{padding:8px 30px 28px}.vital{padding:20px 0;border-bottom:1px solid var(--line)}.vital:last-child{border-bottom:none}.vhead{display:flex;align-items:center;gap:12px;margin-bottom:10px}.vhead .name{font-weight:700;font-size:16px}.vhead .n{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-left:auto}.vbar{height:8px;background:var(--line);border-radius:5px;overflow:hidden}.vbar>i{display:block;height:100%;transition:width .7s cubic-bezier(.2,.7,.2,1)}.vbar>i.ok{background:var(--green)}.vbar>i.caution{background:var(--amber)}.vbar>i.critical{background:var(--red)}.findings{margin-top:14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.findings h4{margin:0 0 6px;font-size:11.5px;font-weight:700;color:var(--red)}.findings.warn h4{color:var(--amber)}.flag{font-size:13.5px;padding:4px 0 4px 18px;position:relative;line-height:1.7}.flag:before{content:"—";position:absolute;left:0;color:var(--ink-soft)}.mech{display:block;margin-top:12px;padding:13px 15px;border-left:3px solid var(--accent);background:var(--panel);border-radius:0 10px 10px 0}.mech .k{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--accent)}.mech .t{font-weight:700;font-size:14.5px;margin:3px 0 0}.mech .d{font-size:13px;color:var(--ink-soft);margin:3px 0 0;line-height:1.7}.bridge{margin-top:26px;background:var(--blue-soft);border:1px solid #d8cefb;border-radius:var(--radius);padding:28px}.bridge h3{margin:0 0 8px;font-size:19px;color:var(--blue-ink)}.bridge p{margin:0 0 18px;font-size:14px;color:#4a417a}.restart{display:block;margin:22px auto 0;background:none;border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:10px;padding:11px 22px;font-size:13.5px}.restart:hover{border-color:var(--ink);color:var(--ink)}.basis{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin:22px 0 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.basis span{font-size:12.5px;color:var(--ink-soft)}.basis b{color:var(--ink);font-weight:700}.page-head{padding:56px 0 8px}.page-head h1{font-size:34px;font-weight:900;margin:0 0 12px;line-height:1.4}.page-head .lead{color:var(--ink-soft);font-size:16px;max-width:62ch;margin:0}.svc-block{margin-top:40px}.svc-block h2{font-size:22px;font-weight:900;margin:0 0 14px}.step{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}.step .no{font-family:var(--mono);font-weight:700;color:var(--blue);font-size:13px;padding-top:3px;min-width:74px}.step h4{margin:0 0 4px;font-size:16px}.step p{margin:0;font-size:14px;color:var(--ink-soft)}.legal h2{font-size:18px;margin:32px 0 8px}.legal li,.legal p{font-size:14.5px;color:var(--ink-soft)}@media(max-width:860px){.grid3{grid-template-columns:1fr 1fr}.hero h1{font-size:32px}}@media(max-width:600px){.nav{gap:14px}.nav a:not(.btn-sm){display:none}.hero{padding:48px 0 44px}.hero h1{font-size:27px}.grid2,.grid3{grid-template-columns:1fr}.ex-head h1{font-size:25px}.page-head h1{font-size:26px}.qtext{font-size:19px}.branch .q{font-size:18px}.score .num{font-size:40px}.rtop{align-items:flex-start}.opt .sub{display:none}.prose{font-size:15.5px}.choice .reveal{padding-left:18px}}