:root{--bg:#140d14;--card:#211521;--text:#f3e6ef;--muted:#b89ab0;--accent:#d9468f;--line:#3a2537}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.8}
a{color:var(--accent)}
.pr{background:#000;color:var(--muted);font-size:12px;text-align:center;padding:6px 16px}
header{border-bottom:1px solid var(--line);padding:16px}
header .inner,main,footer .inner{max-width:880px;margin:0 auto}
.logo{font-size:24px;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:.05em}
.logo span{color:var(--accent)}
nav a{margin-right:16px;color:var(--muted);text-decoration:none;font-size:14px}
main{padding:24px 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}
footer{border-top:1px solid var(--line);padding:24px 16px;color:var(--muted);font-size:13px}
#agegate{position:fixed;inset:0;background:rgba(10,5,10,.97);display:flex;align-items:center;justify-content:center;z-index:99;padding:16px}
#agegate .box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:32px;max-width:420px;text-align:center}
#agegate button{font-size:16px;padding:12px 28px;margin:8px;border-radius:999px;border:0;cursor:pointer}
.yes{background:var(--accent);color:#fff}.no{background:#444;color:#ddd}
.tag{display:inline-block;background:#2e1a2c;border:1px solid var(--line);color:var(--muted);font-size:12px;padding:2px 10px;border-radius:999px;margin:0 6px 6px 0}
.meta,.small{color:var(--muted);font-size:13px}
.kicker{color:var(--accent);font-size:13px;margin:0}
.lead{font-size:17px}
h1{font-size:24px;line-height:1.5}
h2{font-size:19px;border-left:4px solid var(--accent);padding-left:10px;margin-top:28px}
h3{font-size:17px;margin:4px 0}
h3 a{color:var(--text);text-decoration:none}
table.data{width:100%;border-collapse:collapse;font-size:14px}
table.data th,table.data td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
table.data th{width:30%;color:var(--muted);font-weight:normal}
.cta{text-align:center;margin:28px 0 12px}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:14px 24px;border-radius:999px;font-weight:700}
ul{padding-left:20px}
#agegate h2{border:0;padding:0;margin-top:0}
form.contact label{display:block;margin:14px 0;font-size:14px}
form.contact input,form.contact textarea{display:block;width:100%;margin-top:6px;padding:10px;border-radius:8px;border:1px solid var(--line);background:#150d15;color:var(--text);font-size:16px;font-family:inherit}
form.contact button{border:0;cursor:pointer;font-size:16px}
.req{background:var(--accent);color:#fff;font-size:11px;padding:1px 6px;border-radius:4px;margin-left:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{background:#4a1530;border:1px solid var(--accent);padding:10px;border-radius:8px}

.langbar{margin-top:6px;font-size:12px}.langbar a{color:var(--muted);text-decoration:none;margin-right:12px}
