
:root{
  --bg:#0f1115; --bg2:#151922; --ink:#e8e3d7; --muted:#b8b3a8; --gold:#c9a34a; --ivory:#f5f2eb;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family: -apple-system,BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', sans-serif; line-height:1.6}
a{color:var(--ivory);text-decoration:none}
a:hover{opacity:.9}
.container{max-width:1160px;margin:0 auto;padding:24px}
.topbar{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #2a2f39;background:rgba(10,12,16,.6);backdrop-filter:saturate(150%) blur(8px);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:34px}
.brand strong{letter-spacing:.12em}
.nav a{margin:0 10px;color:var(--muted)}
.cta{padding:10px 16px;border:1px solid var(--gold);color:var(--ivory);border-radius:999px}
.hero{position:relative}
.hero img{width:100%;display:block;border-bottom:1px solid #2a2f39}
.hero .overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;background:linear-gradient(180deg,rgba(15,17,21,.45),rgba(15,17,21,.85))}
.hero h1{font-size:42px;margin:0 0 8px 0;letter-spacing:.06em}
.hero p{color:var(--muted);max-width:760px;margin:0 auto 16px}
.section{padding:48px 0;border-bottom:1px solid #1e232d;background:var(--bg)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.card{grid-column:span 4;background:var(--bg2);border:1px solid #242a35;border-radius:14px;overflow:hidden}
.card img{width:100%;display:block}
.card .pad{padding:16px}
.meta{color:var(--muted);font-size:14px}
.h2{font-size:28px;margin:0 0 10px 0}
.btn{display:inline-block;margin-top:6px;padding:10px 14px;border:1px solid #2b303b;border-radius:10px}
.btn.gold{border-color:var(--gold);color:var(--ivory)}
.footer{padding:24px;border-top:1px solid #2a2f39;color:var(--muted);font-size:14px}
.kv{display:grid;grid-template-columns: 1fr 1fr;gap:20px}
.kv .box{background:var(--bg2);border:1px solid #242a35;border-radius:14px;padding:20px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #2a2f39;padding:10px;text-align:left;color:var(--ink)}
.badge{display:inline-block;border:1px solid #3a3f4b;border-radius:999px;padding:4px 10px;color:var(--muted);font-size:12px}
.form input,.form textarea, .form select{width:100%;padding:12px;border-radius:10px;border:1px solid #2a2f39;background:#0d0f14;color:var(--ink)}
.form label{display:block;margin:14px 0 6px}
.form button{padding:12px 16px;border-radius:10px;border:1px solid var(--gold);background:transparent;color:var(--ivory)}
.small{font-size:13px;color:var(--muted)}
