:root{color-scheme:light;--paper:#f8f9f5;--ink:#263d36;--muted:#58685f;--accent:#285b48;--line:#d6ded4;--wash:#eaf0e7;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.9}a{color:var(--accent);text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#dbe8d1}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5}h1{letter-spacing:.035em;font-size:clamp(1.9rem,4.5vw,3.25rem)}h2{font-size:clamp(1.35rem,3vw,1.8rem)}h3{font-size:1.15rem}img{max-width:100%;height:auto}.container{width:min(1080px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);padding-block:25px}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{color:var(--ink);letter-spacing:.12em;white-space:nowrap;align-items:center;gap:12px;font-size:1.45rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--accent);border-right:6px solid var(--accent);width:27px;height:27px;display:inline-block}.site-nav{flex-wrap:wrap;gap:8px 25px;font-size:.9rem;display:flex}.site-nav a{padding-block:8px;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline}.skip-link{z-index:10;background:#fff;padding:8px 16px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}main{min-height:60vh;padding-bottom:80px}.hero{max-width:850px;padding-block:clamp(55px,8vw,104px) 70px}.eyebrow{color:var(--accent);letter-spacing:.18em;margin-bottom:22px;font-size:.75rem;font-weight:700}.hero h1{margin-bottom:25px}.hero .lead{max-width:650px;margin-bottom:30px}.lead{color:var(--muted);font-size:1.05rem}.text-link{font-size:.9rem;font-weight:600;display:inline-block}.section{border-top:1px solid var(--line);margin-bottom:55px;padding-top:44px;scroll-margin-top:24px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:25px;display:flex}.section-heading h2{margin:0}.section-note,.meta{color:var(--muted);font-size:.85rem}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.category-card{border:1px solid var(--line);color:var(--ink);background:#fff;padding:25px 22px;text-decoration:none;display:block}.category-card:hover{border-color:var(--accent);background:var(--wash)}.category-number{letter-spacing:.12em;color:var(--accent);margin-bottom:25px;font-size:.75rem;display:block}.category-card h3{margin-bottom:12px;font-size:1rem}.category-card p{color:var(--muted);margin-bottom:18px;font-size:.85rem}.category-arrow{color:var(--accent)}.empty-state{background:var(--wash);border-left:3px solid #9aad97;padding:30px}.empty-state p{color:var(--muted);margin-bottom:0}.empty-state h3{margin-bottom:8px}.article-list{margin:0;padding:0;list-style:none}.article-list li{border-bottom:1px solid var(--line);padding-block:24px}.article-list h3{margin-block:8px}.article-list p{color:var(--muted);margin-bottom:0}.page-heading{padding-block:64px 36px}.page-heading h1{font-size:clamp(1.8rem,4vw,2.6rem)}.reading-width{max-width:740px;margin-inline:auto}.prose{overflow-wrap:anywhere}.prose h2{border-bottom:1px solid var(--line);margin-top:2.5em;padding-bottom:.5em}.prose h3{margin-top:2em}.prose p,.prose ul,.prose ol{margin-bottom:1.6em}.prose blockquote{background:var(--wash);border-left:3px solid #9aad97;margin-inline:0;padding:16px 24px}.prose blockquote p:last-child{margin-bottom:0}.prose pre{border-radius:4px;padding:20px;font-size:.85rem;overflow-x:auto}.prose :not(pre)>code{background:var(--wash);padding:.15em .35em;font-size:.9em}.prose table{border-collapse:collapse;max-width:100%;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:12px 18px}.prose th{background:var(--wash)}.article-back{margin-top:50px}.preview-notice{background:var(--wash);border:1px dashed var(--accent);padding:12px 20px}.site-footer{border-top:1px solid var(--line);padding-block:34px}.footer-title{letter-spacing:.12em;margin-bottom:4px;font-weight:700}.site-footer p{margin-bottom:4px}.site-footer small{color:var(--muted);font-size:.75rem}.footer-nav{flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:.8rem;display:flex}.footer-nav a{color:var(--ink)}.copyright{white-space:nowrap}.information-list{margin-block:0 1.8em}.information-list div{border-bottom:1px solid var(--line);grid-template-columns:minmax(7em,10em) 1fr;gap:20px;padding-block:12px;display:grid}.information-list dt{font-weight:700}.information-list dd{margin:0}.notice{background:var(--wash);border-left:3px solid #9aad97;padding:18px 22px}.notice p:last-child{margin-bottom:0}.contact-form{border:1px solid var(--line);background:#fff;gap:24px;margin-bottom:50px;padding:clamp(22px,5vw,38px);display:grid}.form-field{gap:8px;display:grid}.form-field label{font-weight:700}.form-field label span{color:var(--muted);margin-left:8px;font-size:.75rem;font-weight:400}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--ink);background:var(--paper);font:inherit;border:1px solid #9ead9f;border-radius:0;padding:11px 13px;line-height:1.6}.form-field textarea{resize:vertical}.field-note{color:var(--muted);margin:0;font-size:.8rem}.form-consent{align-items:flex-start;gap:10px;font-size:.9rem;display:flex}.form-consent input{flex:none;width:1.1rem;height:1.1rem;margin-top:.35rem}.submit-button{border:1px solid var(--accent);color:#fff;background:var(--accent);width:fit-content;font:inherit;cursor:pointer;padding:12px 24px;font-weight:700}.submit-button:hover{color:var(--ink);background:var(--wash)}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (width<=850px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.container{width:calc(100% - 40px)}.header-inner,.footer-inner{flex-direction:column;align-items:flex-start;gap:12px}.site-header{padding-block:20px}.site-nav{gap:8px 22px}.footer-nav{justify-content:flex-start}.information-list div{grid-template-columns:1fr;gap:2px}.hero{padding-block:48px}.category-grid{grid-template-columns:1fr;gap:12px}.category-card{padding:20px 24px}.category-number{margin-bottom:12px}.category-card p{margin-bottom:8px}.empty-state{padding:24px}.page-heading{padding-top:42px}}
