:root{--ink:#173536;--muted:#526766;--line:#dce7e2;--green:#155d52;--mint:#eaf4ee;--cream:#fff9f0;--orange:#944816;--paper:#fffdf9;--focus:#944816;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:var(--green);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,input{font:inherit}
.v2-site-header{height:65px;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:0 clamp(16px,4vw,56px);background:#fff}.v2-brand{text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:.03em}.v2-site-header>span{font-size:.8rem;color:var(--muted)}
.v2-layout{max-width:1240px;margin:auto;display:grid;grid-template-columns:225px minmax(0,760px);gap:clamp(30px,5vw,75px);padding:0 26px 60px}.v2-side{padding-top:70px}.v2-side>p{font-size:.8rem;letter-spacing:.13em;color:var(--muted);font-weight:700}.v2-side nav{display:grid;gap:4px;position:sticky;top:22px}.v2-side a{padding:11px 12px;text-decoration:none;border-radius:8px;color:var(--ink);font-size:.91rem;line-height:1.55}.v2-side a span{font-size:.75rem;color:var(--orange);font-weight:800;margin-right:5px}.v2-side a:hover,.v2-side a[aria-current]{background:var(--mint);color:var(--green)}.v2-side a[aria-current]{font-weight:750}.v2-layout main{min-width:0}.v2-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.79rem;margin:31px 0 29px;color:var(--muted)}.v2-breadcrumb a{color:var(--muted)}
.v2-eyebrow{color:var(--orange);font-weight:800;letter-spacing:.07em;font-size:.79rem;margin:0 0 10px}.v2-hero h1,.v2-hub h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2rem,3.4vw,2.65rem);line-height:1.38;letter-spacing:.035em;margin:0 0 18px}.v2-lead{font-size:1.06rem;line-height:1.9;max-width:44em;margin:0 0 15px}.v2-law{font-size:.76rem;color:var(--muted);margin:0 0 22px}.v2-goals{border-left:3px solid #d69661;background:#fff9f0;padding:14px 18px;margin:22px 0 25px}.v2-goals b{font-size:.86rem}.v2-goals ul{margin:7px 0 0;padding-left:1.25em;font-size:.87rem;line-height:1.65}
.v2-toc{border-block:1px solid var(--line);padding:10px 0;margin-bottom:20px}.v2-toc summary{cursor:pointer;font-weight:700;font-size:.87rem}.v2-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:14px 0 6px;font-size:.86rem}.v2-section{scroll-margin-top:30px;padding-top:14px}.v2-section h2,.v2-sources h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.5rem,2.4vw,1.85rem);line-height:1.42;margin:36px 0 22px;border-bottom:1px solid var(--line);padding-bottom:12px}.v2-section h2 span{font:700 .75rem/1.4 "Yu Gothic",Meiryo,sans-serif;color:var(--orange);vertical-align:middle;margin-right:8px}.v2-section h3{font-size:1.17rem;margin:28px 0 12px;line-height:1.5}.v2-section p{line-height:1.9;margin:0 0 17px;font-size:1rem}.v2-section strong{color:var(--green);font-weight:750}.v2-section ul{line-height:1.75}.v2-section li{margin-bottom:7px}
.v2-comic{width:min(64%,430px);margin:27px auto 31px;text-align:center}.v2-comic img{display:block;width:100%;height:auto;border-radius:5px;box-shadow:0 10px 35px #153b3418}.v2-comic figcaption,.v2-caption{font-size:.78rem!important;color:var(--muted);line-height:1.55!important;margin:10px 0!important}.v2-figure{margin:28px 0;background:#f4f9f5;border:1px solid var(--line);border-radius:10px;padding:20px}.v2-figure figcaption{font-weight:800;margin-bottom:17px}.v2-time-axis{display:flex;justify-content:space-between;border-bottom:1px dashed #96b8aa;padding:0 3px 8px;font-size:.72rem;color:var(--muted)}.v2-timeline{display:grid;grid-template-columns:55px 1fr;gap:10px;align-items:center;margin:14px 0;font-size:.8rem;font-weight:800}.v2-line{border-radius:6px;padding:7px 10px;min-height:35px;font-size:.75rem;font-weight:650;display:flex;align-items:center}.v2-line.term{background:#d2e6db;width:68%}.v2-line.whole{background:#b4d5c5;width:100%}.v2-line.endowment{background:#f5dfbe;width:68%}.v2-payline{border:1px dashed #608f7b;border-radius:5px;padding:5px 8px;margin-top:5px;font-size:.72rem;font-weight:500;min-height:29px}.v2-payline.term,.v2-payline.endowment{width:68%}.v2-payline.pay-short{width:60%}.v2-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v2-role-grid>div{display:flex;flex-direction:column;gap:8px;background:white;border:1px solid #bad2c4;border-top:4px solid #52937e;border-radius:8px;padding:14px;min-height:126px}.v2-role-grid b{font-size:.93rem}.v2-role-grid span{font-size:.79rem;line-height:1.55}.v2-tax-branch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2-tax-branch>div{background:white;border:1px solid #bad2c4;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:.83rem;line-height:1.6}.v2-tax-branch .v2-tax-start{grid-column:1/-1;background:#d8eae0;font-weight:800;text-align:center;display:block}.v2-tax-branch ul{padding-left:1.2em;margin:5px 0 0}.v2-tax-branch li{margin:0 0 3px}
.v2-table-wrap{max-width:100%;overflow-x:auto;margin:22px 0}.v2-table-wrap table{border-collapse:collapse;width:100%;font-size:.88rem;line-height:1.65}.v2-table-wrap caption{text-align:left;font-weight:750;margin-bottom:7px}.v2-table-wrap th,.v2-table-wrap td{padding:10px;border:1px solid #ccddd4;text-align:left;vertical-align:top}.v2-table-wrap thead{background:#e6f2ea}.v2-table-wrap tbody th{white-space:nowrap;background:#f7faf6}.v2-question{margin:30px 0;padding:0 0 28px;border-bottom:1px solid var(--line)}.v2-question h3{color:var(--orange);font-size:.98rem}.v2-question>p{font-size:.94rem}.v2-options{display:grid;gap:8px;margin:16px 0}.v2-option{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px;cursor:pointer;font-size:.92rem;line-height:1.55}.v2-option:has(input:checked){border-color:var(--green);background:var(--mint)}.v2-option input{margin-top:4px;accent-color:var(--green);flex:none}.v2-check{border:0;background:var(--green);color:white;font-weight:700;border-radius:7px;padding:10px 18px;min-height:44px;cursor:pointer}.v2-check:hover{background:#0e443c}.v2-feedback{margin:13px 0 3px!important;font-weight:750}.v2-feedback[data-result="wrong"]{color:#a34224}.v2-answer{background:#f5f8f4;padding:12px 17px;margin-top:12px;border-radius:7px;font-size:.85rem}.v2-answer p{font-size:.89rem}.v2-answer ul{margin:5px 0;padding-left:1.25em}.v2-summary{padding-left:1.3em}.v2-page-nav{display:flex;justify-content:space-between;gap:15px;margin:38px 0 20px}.v2-page-nav a{background:var(--mint);padding:13px 15px;border-radius:8px;text-decoration:none;font-weight:700;max-width:49%;line-height:1.5}.v2-page-nav a:last-child{margin-left:auto}.v2-sources{margin-top:54px;border-top:2px solid var(--line);padding-top:4px}.v2-sources h2{font-size:1.13rem;border:none;margin:16px 0}.v2-sources ul{font-size:.82rem;line-height:1.7;padding-left:1.3em}.v2-sources li{margin:5px 0}.v2-sources p{font-size:.76rem;color:var(--muted);line-height:1.6}.v2-hub{max-width:760px;margin:70px auto;padding:0 22px}.v2-hub-list{display:grid;gap:8px;margin:29px 0}.v2-hub-list>a{border:1px solid var(--line);padding:18px;text-decoration:none;display:flex;gap:18px;align-items:center;border-radius:9px}.v2-hub-list>a:hover{background:var(--mint)}.v2-hub-list>a span:last-child{margin-left:auto}footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:25px;font-size:.75rem}
@media(max-width:900px){.v2-layout{display:block;max-width:800px;padding:0 25px 50px}.v2-side{display:none}}
@media(max-width:560px){.v2-site-header{height:57px;padding:0 16px}.v2-brand{font-size:.86rem}.v2-site-header>span{font-size:.68rem}.v2-layout{padding:0 16px 42px}.v2-breadcrumb{margin:20px 0 22px}.v2-hero h1{font-size:1.95rem}.v2-lead{font-size:.98rem;line-height:1.75}.v2-goals{padding:12px 14px}.v2-toc nav{grid-template-columns:1fr}.v2-section h2{margin-top:29px;font-size:1.48rem}.v2-section h3{font-size:1.08rem}.v2-section p{font-size:.95rem;line-height:1.83}.v2-comic{width:100%;max-width:400px}.v2-figure{padding:13px;margin:20px -2px}.v2-role-grid{grid-template-columns:1fr}.v2-role-grid>div{min-height:0}.v2-tax-branch{grid-template-columns:1fr}.v2-tax-branch .v2-tax-start{grid-column:auto}.v2-table-wrap table{font-size:.79rem}.v2-table-wrap th,.v2-table-wrap td{padding:7px}.v2-page-nav{display:grid}.v2-page-nav a{max-width:none}.v2-page-nav a:last-child{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
