:root { --brand:#2e7d32; }
*{box-sizing:border-box}
html,body{height:100%}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI",sans-serif;margin:0;color:#222;line-height:1.75;background:#fff}
a{color:var(--brand)}
header{background:var(--brand);color:#fff}
header .wrap{max-width:960px;margin:0 auto;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.brand img{display:block;height:28px;width:auto;border-radius:6px;background:#fff}
nav a{color:#fff;text-decoration:none;margin-left:16px;font-weight:600}
nav a:first-child{margin-left:0}
nav a.active{text-decoration:underline}
main{max-width:960px;margin:0 auto;padding:40px 20px}
.hero{padding:40px 24px;background:#f6fbf6;border:1px solid #e3efe3;border-radius:14px}
.hero h2{margin-top:0;font-size:clamp(22px,3vw,32px)}
.cta{display:inline-block;margin-top:16px;padding:12px 18px;border-radius:999px;background:var(--brand);color:#fff;text-decoration:none;font-weight:600}
footer{background:#f5f5f5;color:#555}
footer .wrap{max-width:960px;margin:0 auto;padding:24px 20px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-nav a{color:#444;text-decoration:none;margin-right:16px}
.footer-nav a:last-child{margin-right:0}
.section{margin-top:24px}
h1,h2,h3{line-height:1.35}
ul{padding-left:1.2rem}
.note{margin-top:20px;font-size:14px;color:#666}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
