:root{--bg:#fff;--bg-soft:#f4f6f9;--bg-card:#fff;--text:#16191d;--text-soft:#56606b;--border:#e0e5ea;--accent:#17456e;--accent-soft:#eaf1f7;--safety:#d2691e;--safety-soft:#fdf1e7;--warn-bg:#fff8e6;--warn-border:#e8d9a8;--max:43rem;--radius:12px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#13171b;--bg-soft:#1b2026;--bg-card:#1b2026;--text:#e7ebef;--text-soft:#a4aeb8;--border:#2c333b;--accent:#7fb3dc;--accent-soft:#1c2833;--safety:#e79a5c;--safety-soft:#2a2018;--warn-bg:#26220f;--warn-border:#4a4222}}:root[data-theme=dark]{--bg:#13171b;--bg-soft:#1b2026;--bg-card:#1b2026;--text:#e7ebef;--text-soft:#a4aeb8;--border:#2c333b;--accent:#7fb3dc;--accent-soft:#1c2833;--safety:#e79a5c;--safety-soft:#2a2018;--warn-bg:#26220f;--warn-border:#4a4222}:root[data-theme=light]{--bg:#fff;--bg-soft:#f4f6f9;--bg-card:#fff;--text:#16191d;--text-soft:#56606b;--border:#e0e5ea;--accent:#17456e;--accent-soft:#eaf1f7;--safety:#d2691e;--safety-soft:#fdf1e7;--warn-bg:#fff8e6;--warn-border:#e8d9a8}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);letter-spacing:.01em;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;font-size:16px;line-height:1.9}.wrap{max-width:var(--max);margin:0 auto;padding:0 1.15rem}h1{letter-spacing:-.01em;margin:0 0 1rem;font-size:1.6rem;line-height:1.55}h2{border-top:1px solid var(--border);margin:3rem 0 1rem;padding-top:1.6rem;font-size:1.22rem;line-height:1.6}h3{margin:2rem 0 .6rem;font-size:1.05rem}p{margin:0 0 1.15rem}a{color:var(--accent);text-underline-offset:3px}ul,ol{margin:0 0 1.2rem;padding-left:1.3rem}li{margin-bottom:.5rem}strong{font-weight:700}.pr-bar{background:var(--bg-soft);border-bottom:1px solid var(--border);color:var(--text-soft);text-align:center;padding:.5rem 0;font-size:.74rem;line-height:1.6}.site-header{border-bottom:1px solid var(--border);padding:.9rem 0}.site-header .row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.site-title{color:var(--text);font-size:1rem;font-weight:700;text-decoration:none}.site-tagline{color:var(--text-soft);font-size:.74rem}.site-nav{flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.site-nav a{color:var(--text-soft);text-decoration:none}.site-nav a:hover{color:var(--accent)}.author-box{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);margin:1.5rem 0;padding:1.1rem 1.15rem;font-size:.9rem;line-height:1.85}.author-box .label{letter-spacing:.08em;color:var(--text-soft);border:1px solid var(--border);border-radius:4px;margin-bottom:.6rem;padding:.1rem .45rem;font-size:.68rem;display:inline-block}.author-box .disclaimer{color:var(--text-soft);margin:.7rem 0 0;font-size:.78rem}.qa{margin:1.6rem 0}.qa-item{border-bottom:1px solid var(--border);padding:1.3rem 0}.qa-item:first-child{border-top:1px solid var(--border)}.qa-q{margin:0 0 .6rem;font-weight:700;line-height:1.7}.qa-a{margin:0 0 .7rem}.qa-more{font-size:.86rem;text-decoration:none}.qa-more:after{content:" →"}.checkbox-card{background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);margin:1.6rem 0;padding:1.2rem 1.15rem}.checkbox-card ul{margin:.8rem 0;padding:0;list-style:none}.checkbox-card li{padding-left:1.7rem;line-height:1.75;position:relative}.checkbox-card li:before{content:"□";font-size:1.05rem;position:absolute;top:0;left:0}.checkbox-card .note{color:var(--text-soft);margin:.8rem 0 0;font-size:.82rem}.table-scroll{margin:1.3rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.88rem}th,td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.65rem .7rem;line-height:1.7}th{background:var(--bg-soft);font-weight:700}.cta{background:var(--accent);color:#fff;text-align:center;border-radius:var(--radius);margin:1.3rem 0 .5rem;padding:.95rem 1.1rem;font-weight:700;line-height:1.6;text-decoration:none;display:block}.cta[data-pending=true]{background:var(--bg-soft);color:var(--text-soft);border:1px dashed var(--border);font-weight:400}.cta-note{color:var(--text-soft);text-align:center;margin:0 0 1.6rem;font-size:.76rem}.branch{border-left:3px solid var(--border);margin:1.2rem 0;padding:.15rem 0 .15rem 1rem}.branch .case{margin:0 0 .35rem;font-weight:700}.branch .ans{color:var(--text-soft);margin:0 0 1.2rem}.callout{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);margin:1.4rem 0;padding:1rem 1.1rem;font-size:.9rem;line-height:1.85}.steps{counter-reset:step;margin:1.3rem 0;padding:0;list-style:none}.steps>li{counter-increment:step;margin-bottom:1.5rem;padding-left:2.4rem;position:relative}.steps>li:before{content:counter(step);background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.82rem;font-weight:700;display:grid;position:absolute;top:.15rem;left:0}.steps .st-title{margin:0 0 .3rem;font-weight:700}.steps p{margin:0 0 .4rem}.card-list{gap:.85rem;margin:1.3rem 0;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--bg-card);padding:1rem 1.1rem;text-decoration:none;display:block}.card:hover{border-color:var(--accent)}.card .cat{color:var(--text-soft);letter-spacing:.06em;font-size:.7rem}.card .ttl{margin:.25rem 0 .3rem;font-weight:700;line-height:1.6}.card .desc{color:var(--text-soft);margin:0;font-size:.84rem;line-height:1.75}.feature{border:2px solid var(--accent);border-radius:var(--radius);margin:1.4rem 0;padding:1.2rem 1.15rem}.feature .kicker{letter-spacing:.08em;color:var(--accent);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.stance{background:var(--bg-soft);border-radius:var(--radius);color:var(--text-soft);margin:2rem 0;padding:1.1rem 1.15rem;font-size:.88rem;line-height:1.9}.wrap h2{border-top:none;border-left:4px solid var(--accent);margin:3rem 0 1rem;padding-top:0;padding-left:.75rem}.hero{background:linear-gradient(180deg, var(--accent-soft), transparent);border-bottom:1px solid var(--border);margin:0 0 1.6rem;padding:1.6rem 0 1.4rem}.hero-img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--bg-soft);width:100%;height:auto;margin:0 0 1.1rem;display:block}.hero .cat{background:var(--accent);color:#fff;letter-spacing:.06em;border-radius:999px;margin-bottom:.7rem;padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-block}.hero h1{margin:0 0 .9rem}.hero .sub{color:var(--text-soft);margin:0;font-size:.95rem;line-height:1.9}.worries{margin:1.2rem 0;padding:0;list-style:none}.worries li{background:var(--bg-soft);border-left:3px solid var(--safety);border-radius:0 8px 8px 0;margin-bottom:.5rem;padding:.6rem .85rem;font-size:.93rem;line-height:1.75}.toc{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);margin:1.8rem 0;padding:1rem 1.15rem;font-size:.9rem}.toc .toc-ttl{letter-spacing:.04em;color:var(--text-soft);margin:0 0 .6rem;font-size:.82rem;font-weight:700}.toc ol{margin:0;padding-left:1.2rem}.toc li{margin-bottom:.4rem;line-height:1.7}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}.talk{align-items:flex-start;gap:.7rem;margin:1.3rem 0;display:flex}.talk .icon{text-align:center;border:2px solid var(--accent);background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:50%;flex:0 0 46px;place-items:center;font-size:.68rem;font-weight:700;line-height:1.2;display:grid}.talk .icon-img{object-fit:cover;background:var(--bg-soft);padding:0}.talk .body{flex:1;min-width:0}.talk .who{color:var(--text-soft);margin:0 0 .25rem;font-size:.7rem}.talk .bubble{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;font-size:.93rem;line-height:1.85;position:relative}.talk .bubble p{margin:0 0 .7rem}.talk .bubble p:last-child{margin:0}.talk .bubble:before,.talk .bubble:after{content:"";border:8px solid #0000;position:absolute;top:14px}.talk .bubble:before{border-right-color:var(--border);left:-17px}.talk .bubble:after{border-right-color:var(--bg-soft);left:-15px}.talk.reader{flex-direction:row-reverse}.talk.reader .icon{border-color:var(--text-soft);background:var(--bg-soft);color:var(--text-soft)}.talk.reader .who{text-align:right}.talk.reader .bubble{background:var(--bg-card)}.talk.reader .bubble:before{border-right-color:#0000;border-left-color:var(--border);left:auto;right:-17px}.talk.reader .bubble:after{border-right-color:#0000;border-left-color:var(--bg-card);left:auto;right:-15px}.figure{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);margin:1.6rem 0;overflow:hidden}.figure svg{width:100%;max-width:26rem;height:auto;margin:0 auto;padding:.9rem .6rem;display:block}.figure figcaption{color:var(--text-soft);border-top:1px solid var(--border);background:var(--bg-soft);padding:.6rem .9rem;font-size:.78rem;line-height:1.7}.checks{margin:1.2rem 0;padding:0;list-style:none}.checks li{margin-bottom:.7rem;padding-left:1.9rem;line-height:1.8;position:relative}.checks li:before{content:"✓";background:var(--accent);color:#fff;border-radius:4px;place-items:center;width:1.3rem;height:1.3rem;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.entry-list{gap:.7rem;margin:1.3rem 0;display:grid}.entry{border:1px solid var(--border);border-left:4px solid var(--safety);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-card);color:var(--text);padding:.9rem 1rem;text-decoration:none;display:block}.entry:hover{border-color:var(--accent);border-left-color:var(--safety)}.entry .q{margin:0 0 .3rem;font-size:.94rem;font-weight:700;line-height:1.7}.entry .a{color:var(--text-soft);margin:0;font-size:.83rem;line-height:1.75}.entry .a:after{content:" →";color:var(--accent);font-weight:700}.byline{color:var(--text-soft);border-bottom:1px solid var(--border);margin:0 0 1.6rem;padding-bottom:.9rem;font-size:.82rem;line-height:1.8}.byline .date{display:block}.art-foot{color:var(--text-soft);border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1rem;font-size:.8rem;line-height:1.85}.note-list{gap:.7rem;margin:1.3rem 0;display:grid}.note-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);padding:.9rem 1rem;text-decoration:none;display:block}.note-item:hover{border-color:var(--accent)}.note-item .badge{border:1px solid var(--border);color:var(--text-soft);border-radius:999px;margin-bottom:.4rem;padding:.1rem .5rem;font-size:.68rem;font-weight:700;display:inline-block}.note-item .badge.paid{border-color:var(--safety);color:var(--safety);background:var(--safety-soft)}.note-item .ttl{margin:0 0 .3rem;font-size:.93rem;font-weight:700;line-height:1.65}.note-item .lead-txt{color:var(--text-soft);margin:0;font-size:.83rem;line-height:1.75}.note-item .lead-txt:after{content:" →";color:var(--accent);font-weight:700}.cta-box{border:2px solid var(--accent);border-radius:var(--radius);background:var(--bg-card);margin:1.8rem 0;padding:1.2rem 1.15rem}.cta-box .tag{background:var(--safety-soft);color:var(--safety);border:1px solid var(--safety);border-radius:999px;margin-bottom:.6rem;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.cta-box .lead-in{margin:0 0 .6rem;font-weight:700;line-height:1.7}.cta-box p{font-size:.9rem}.ad-disclosure{color:var(--text-soft);margin:2.5rem 0 0;font-size:.8rem;line-height:1.85}.page-meta{color:var(--text-soft);margin:-.4rem 0 1.8rem;font-size:.78rem}.policy h2{font-size:1.12rem}.policy p,.policy li{font-size:.94rem}.contact-box{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);margin:1.5rem 0;padding:1.1rem 1.15rem;font-size:.9rem;line-height:1.85}.contact-box .addr{word-break:break-all;font-weight:700}.contact-box .pending{color:var(--text-soft);font-weight:400}.deflist{border-top:1px solid var(--border);margin:1.4rem 0;font-size:.92rem}.deflist>div{border-bottom:1px solid var(--border);gap:1rem;padding:.7rem 0;display:flex}.deflist dt{color:var(--text-soft);flex:0 0 7.5rem;font-size:.86rem;font-weight:700;line-height:1.9}.deflist dd{flex:1;margin:0}.site-footer{border-top:1px solid var(--border);color:var(--text-soft);margin-top:3.5rem;padding:1.8rem 0 3rem;font-size:.8rem}.site-footer .fnav{flex-wrap:wrap;gap:1rem;margin:0 0 1rem;display:flex}.site-footer a{color:var(--text-soft)}.site-footer .disc{line-height:1.85}main{padding:1.8rem 0 0}.lead{font-size:1.02rem;line-height:1.95}@media (width>=40rem){body{font-size:17px}h1{font-size:1.95rem}h2{font-size:1.35rem}}
