:root{--ink:#14181f;--mute:#5c6570;--paper:#f7f4ee;--red:#c21f2e;--red2:#9a1622;--rule:#d8d2c6;--max:1040px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","MS PMincho",serif;line-height:1.75}
body::before{content:"";display:block;height:5px;background:var(--red)}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
img{max-width:100%;display:block}
.sheet{width:min(var(--max),calc(100% - 36px));margin:0 auto}
.vis{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.head{border-bottom:1px solid var(--rule);padding:10px 0}
.head-row{display:flex;align-items:center;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;letter-spacing:.08em}
.logo img{width:32px;height:32px;flex:none}
.logo em{font-style:normal;color:var(--red);font-size:.68rem;margin-left:0;letter-spacing:.16em}
.head nav{margin-left:auto;display:flex;gap:18px;font-family:"Yu Gothic","Meiryo",sans-serif;font-size:.88rem;font-weight:700}
.head nav a.on{color:var(--red);border-bottom:2px solid var(--red)}
.btn{display:inline-block;background:var(--red);color:#fff;padding:.62rem 1rem;font-family:"Yu Gothic","Meiryo",sans-serif;font-weight:700;border:1px solid var(--red);cursor:pointer}
.btn:hover{background:var(--red2);color:#fff}
.btn-s{padding:.42rem .72rem;font-size:.82rem}
.btn-g{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-g:hover{background:var(--ink);color:#fff}
.cover{padding:56px 0 48px;border-bottom:1px solid var(--rule)}
.cover h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.2;margin:0;font-weight:700}
.dateline{font-family:"Yu Gothic","Meiryo",sans-serif;font-size:.78rem;letter-spacing:.14em;color:var(--red);margin:0 0 14px}
.deck{font-size:1.15rem;max-width:40rem;color:#3a4048}
.cover-pic{margin-top:32px}
.cover-pic img{width:100%;height:420px;object-fit:cover;filter:grayscale(.15) contrast(1.05)}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;padding:36px 0;align-items:start}
.cols img{width:100%;height:180px;object-fit:cover}
.rule-h{border-top:3px solid var(--ink);padding-top:12px;font-size:.9rem;letter-spacing:.18em}
h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.3;margin:8px 0 14px}
.mods{display:grid;gap:0;border-top:1px solid var(--rule)}
.mod{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--rule)}
.mod img{width:120px;height:88px;object-fit:cover}
.mod h3{margin:0 0 6px;font-size:1.25rem}
.mod p{margin:0;color:var(--mute);font-family:"Yu Gothic","Meiryo",sans-serif;font-size:.92rem}
.yen{font-family:"Yu Gothic","Meiryo",sans-serif;font-weight:800;color:var(--red)}
.staff{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.staff article{border:1px solid var(--rule);background:#fff}
.staff img{height:220px;width:100%;object-fit:cover;filter:grayscale(.25)}
.staff div{padding:16px}
.staff span{font-family:"Yu Gothic","Meiryo",sans-serif;font-size:.75rem;color:var(--red);letter-spacing:.1em}
.qna details{border-bottom:1px solid var(--rule);padding:14px 0;font-family:"Yu Gothic","Meiryo",sans-serif}
.qna summary{cursor:pointer;font-weight:700}
.ink{background:#14181f;color:#f7f4ee;padding:56px 0}
.ink .dateline{color:#e8b4b8}
.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px}
form.ed{display:grid;gap:12px;font-family:"Yu Gothic","Meiryo",sans-serif}
form.ed label{display:grid;gap:5px;font-weight:700}
form.ed input,form.ed textarea,form.ed select{border:1px solid #c9c2b6;padding:.7rem;font:inherit;background:#fff}
form.ed .chk{display:flex;gap:8px;font-weight:400;align-items:flex-start}
form.ed .chk input{width:auto;margin-top:4px}
.legal{max-width:700px;font-family:"Yu Gothic","Meiryo",sans-serif}
.legal h2{margin-top:32px}
code{background:#efe8dc;padding:.12rem .3rem}
.pageh{padding:48px 0;border-bottom:1px solid var(--rule)}
.pageh img{width:100%;height:320px;object-fit:cover;margin-top:24px;filter:grayscale(.12)}
footer.site{border-top:4px solid var(--ink);padding:36px 0 16px;font-family:"Yu Gothic","Meiryo",sans-serif}
.fg{display:grid;grid-template-columns:1.3fr .8fr .9fr 1fr;gap:22px}
.fg h2{font-size:.78rem;letter-spacing:.12em;margin:0 0 8px}
.fg a,.fg span,.fg p{display:block;color:var(--mute);margin:.35rem 0;font-size:.9rem}
.fb{display:flex;justify-content:space-between;margin-top:22px;padding-top:12px;border-top:1px solid var(--rule);font-size:.82rem;color:var(--mute)}
.fb button{border:0;background:none;color:var(--red);cursor:pointer;font:inherit}
.ck{position:fixed;z-index:20;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;gap:14px;background:#14181f;color:#fff;padding:14px 16px;font-family:"Yu Gothic","Meiryo",sans-serif}
.ck[hidden]{display:none}
.ck button{border:1px solid #fff;background:transparent;color:#fff;padding:.4rem .65rem;font:inherit;cursor:pointer}
.ck .btn{background:var(--red);border-color:var(--red)}
@media(max-width:800px){.cols,.mod,.staff,.form-grid,.fg{grid-template-columns:1fr}.head-row{flex-wrap:wrap}.head nav{width:100%;margin:8px 0 0}.cover-pic img,.pageh img{height:240px}.ck{display:block}}
