
:root{
  --brand:#0d3b2e;--accent:#2ea36a;--bg:#ffffff;--fg:#1a1a1a;
  --muted:#6b7280;--card:#f8fafc;--radius:14px;--w:1100px;
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);
  font-family:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;line-height:1.75}
a{color:var(--accent);text-decoration:none}
a:hover{opacity:.9}
.site-header{position:sticky;top:0;z-index:20;background:#fff/92;backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid #eef2f7;display:flex;align-items:center;justify-content:space-between;padding:10px 16px}
.brand{display:flex;align-items:center;gap:10px;color:var(--brand)}
.brand img{width:84px;height:84px;border-radius:50%;object-fit:cover} /* smaller, circle */
.brand span{font-size:2.2rem;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,0.15)}
.nav a{margin-left:16px;color:var(--fg)}
.nav .cta{margin-left:12px;padding:8px 12px;border:1px solid var(--brand);border-radius:10px;color:var(--brand)}
main{max-width:var(--w);margin:0 auto;padding:24px 16px}
.section{margin:28px 0}
.hero{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;max-height:72vh}
@media (max-width:900px){ .hero{aspect-ratio:4/3;max-height:60vh} }
.hero picture, .hero img{width:100%;height:100%;display:block;object-fit:cover}
.hero .hero-text{position:absolute;left:20px;bottom:22px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.7)}
.hero h1{font-size:clamp(30px,4.8vw,50px);margin:0 0 10px}
.kicker{opacity:.95;font-size:1.2rem}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;font-weight:700}
.btn-primary{background:var(--accent);color:#fff}
.site-footer{border-top:1px solid #eef2f7;margin-top:36px;text-align:center;padding:16px;color:var(--muted)}
.site-footer a{margin:0 10px;color:var(--muted)}
