:root{--ink:#26342d;--muted:#64716a;--paper:#faf8f2;--line:#d9ddd4;--green:#2f6651;--pale:#e5eee7}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;line-height:1.8}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:4}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner,footer{max-width:1080px;margin:auto;padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-weight:700;font-size:1.15rem;text-decoration:none;letter-spacing:.03em}.brand small{display:block;color:var(--muted);font-size:.65rem;font-weight:500;line-height:1.2}nav{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.9rem}.disclosure{margin:0;background:#f1eee5;color:#545a50;text-align:center;font-size:.8rem;padding:.35rem 1rem}main{max-width:1080px;margin:auto;padding:0 1.25rem 5rem}.hero{padding:6rem 0 5rem;max-width:760px}.eyebrow{color:var(--green);font-weight:700;font-size:.82rem;letter-spacing:.08em}.hero h1{font-family:Georgia,Hiragino Mincho ProN,serif;line-height:1.4;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:.03em;margin:.3rem 0 1rem}.hero>p:not(.eyebrow){color:var(--muted);max-width:620px}.button{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:.72rem 1.25rem;border-radius:2px;font-weight:700;margin-top:1rem}.button:hover{background:#245340}section{margin:3.5rem 0}.section-heading h2,article h1{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.5;margin:.1rem 0 1.2rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{display:block;background:#fff;border:1px solid var(--line);padding:1.25rem;text-decoration:none;min-height:150px}.card:hover{border-color:var(--green)}.card h3{margin:0}.card p,.card span{color:var(--muted);font-size:.88rem}.card span{color:var(--green);font-weight:700}.text-link{margin-top:1.3rem}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.category-grid a{background:var(--paper);padding:1.5rem;text-decoration:none}.category-grid span,.category-grid strong{display:block}.category-grid span{font-size:.8rem;color:var(--muted)}.category-grid strong{font-size:1.1rem}.breadcrumb{font-size:.85rem;color:var(--muted);padding-top:1.5rem}.breadcrumb a{color:var(--muted)}article{max-width:800px;margin:0 auto;padding-top:1rem}article h1{font-family:Georgia,Hiragino Mincho ProN,serif}article h2{font-size:1.35rem;margin-top:3rem;border-left:4px solid var(--green);padding-left:.7rem}.info{padding:1.25rem;background:#fff;border:1px solid var(--line)}.info dl{margin:0}.info dt{font-weight:700;margin-top:1rem}.info dt:first-child{margin-top:0}.info dd{margin:.15rem 0}.source{font-size:.82rem;color:var(--muted)}.source span{font-weight:700;margin-right:.5rem}.muted{color:var(--muted)}.offer{background:var(--pale);border-left:4px solid var(--green);margin:3rem 0;padding:1.25rem}.offer h2{border:0;margin:0;padding:0;font-size:1.15rem}.faq dt{font-weight:700;margin-top:1rem}.faq dd{margin:.3rem 0}.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;padding:0;list-style:none}.area-list a{display:block;background:#fff;border:1px solid var(--line);padding:1rem;text-decoration:none}.form{display:grid;gap:1rem}.form label{font-weight:700}.form input,.form textarea{width:100%;padding:.7rem;border:1px solid #9ea8a0;font:inherit}.notice{padding:1rem;background:#fff3d9}table{border-collapse:collapse;width:100%;min-width:560px;background:#fff;font-size:.92rem}th,td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left}thead th{background:var(--pale);font-weight:700;white-space:nowrap}tbody tr:nth-child(2n){background:var(--paper)}footer{border-top:1px solid var(--line);align-items:flex-start;color:var(--muted);font-size:.85rem}footer nav{display:grid;gap:.4rem}@media(max-width:640px){.header-inner{align-items:flex-start;flex-direction:column;gap:.7rem}.header-inner nav{gap:.75rem;font-size:.8rem}.hero{padding:3.5rem 0}.card-grid,.category-grid,.area-list{grid-template-columns:1fr}footer{flex-direction:column;gap:1rem}.info{padding:1rem}}
