
:root{
  --bg:#0b0b0c;
  --text:#eaeaea;
  --muted:#b7b7b7;
  --brand:#0E5F46; /* deep green */
  --gold:#D4AF37;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Noto Sans JP',Segoe UI,Arial,sans-serif;line-height:1.7}
a{color:var(--text);text-decoration:none}
a.btn{display:inline-block;padding:.9rem 1.3rem;border:1px solid var(--gold);border-radius:6px;font-weight:700}
a.btn:hover{background:rgba(212,175,55,.12)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;background:rgba(11,11,12,.8);backdrop-filter:saturate(160%) blur(6px);z-index:10;border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:flex;align-items:center;gap:18px;padding:10px 0}
header img.logo{height:36px}
nav{margin-left:auto;display:flex;gap:18px;font-size:.95rem}
.hero{position:relative;height:68vh;min-height:420px;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.hero::before{content:'';position:absolute;inset:0;background:url('assets/hero.jpg') center/cover no-repeat;filter:brightness(.40)}
.hero .headline{position:relative;text-align:center;padding:0 10px}
.hero h1{font-size:clamp(28px,5vw,48px);margin:0 0 10px;font-weight:800;letter-spacing:.02em}
.hero p{margin:0 0 22px;color:var(--muted)}
.section{padding:56px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.section h2{font-size:28px;margin:0 0 10px}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#111214;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:16px}
.list{margin:10px 0 0;padding-left:18px}
.list li{margin:4px 0}
.kv{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.kv .info{flex:1 1 380px}
.kv .map{flex:1 1 300px;min-height:260px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
footer{padding:26px 0;color:#9a9a9a;font-size:.9rem}
small{color:#8a8a8a}
.badge{display:inline-block;padding:.25rem .55rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#cfcfcf;font-size:.8rem}
hr.sep{border:0;border-top:1px dashed rgba(255,255,255,.15);margin:18px 0}

.hero .panel{background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:20px 22px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
header{background:#0a0a0b;opacity:.98}
