:root{--ink:#1a1714;--mute:#6a635b;--paper:#f4efe6;--card:#fffaf3;--line:#d9d0c3;--brass:#b0792c;--brass2:#8a5c18;--oak:#3c2a1a;--max:880px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Gothic","YuGothic","Meiryo",sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
a:hover{color:var(--brass2)}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.vis{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.topbar{background:var(--oak);color:#f4efe6;font-size:.78rem;letter-spacing:.08em}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding:8px 0}
.mast{background:var(--card);border-bottom:1px solid var(--line)}
.mast-row{min-height:78px;display:flex;align-items:center;gap:28px}
.mark{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.04em}
.mark img{width:34px;height:34px}
.mark b{font-size:.68rem;font-weight:600;color:var(--mute);letter-spacing:.14em}
.mast-row nav{margin-left:auto;display:flex;gap:22px}
.mast-row nav a{color:var(--mute);font-weight:700;font-size:.95rem}
.mast-row nav a.on,.mast-row nav a:hover{color:var(--ink)}
.btn{display:inline-block;background:var(--brass);border:1px solid var(--brass);color:#fff;padding:.72rem 1.1rem;font:inherit;font-weight:700;cursor:pointer}
.btn:hover{background:var(--brass2);border-color:var(--brass2);color:#fff}
.btn-s{padding:.48rem .8rem;font-size:.88rem}
.btn-line{background:transparent;color:var(--oak);border-color:var(--oak)}
.btn-line:hover{background:var(--oak);color:#fff}
.hero{padding:40px 0 0}
.hero-copy{padding:0 0 24px}
.k{margin:0 0 12px;color:var(--brass2);font-size:.75rem;font-weight:800;letter-spacing:.18em}
h1{margin:0;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.25;letter-spacing:.02em;font-weight:800}
.lead{font-size:1.02rem;color:var(--mute);max-width:36rem}
.hero-acts{display:flex;gap:18px;align-items:center;margin-top:22px;flex-wrap:wrap}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.hero-meta div{border-top:1px solid var(--line);padding-top:10px}
.hero-meta strong{display:block;font-size:1.2rem}
.hero-meta span{color:var(--mute);font-size:.78rem}
.hero-pic{position:relative}
.hero-pic img{width:100%;height:280px;object-fit:cover;filter:saturate(.85)}
.cap{position:absolute;left:24px;bottom:24px;background:rgba(60,42,26,.92);color:#f4efe6;padding:14px 16px;max-width:240px}
.band{background:var(--oak);color:#f4efe6;padding:14px 0;overflow:hidden;white-space:nowrap}
.band b{color:var(--brass);padding:0 14px}
.sec{padding:78px 0}
.sec-oak{background:var(--oak);color:#f4efe6}
.sec-oak .k{color:var(--brass)}
.sec-oak p{color:#d9cfc2}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:var(--card);border:1px solid var(--line);padding:24px}
.card h3{margin:10px 0 8px;font-size:1.2rem}
.card p{color:var(--mute);margin:0}
.sku{display:grid;grid-template-columns:1fr;gap:0}
.sku a{background:var(--card);border:1px solid var(--line);overflow:hidden}
.sku a:hover{color:inherit;border-color:var(--brass)}
.sku img{width:100%;height:210px;object-fit:cover;filter:saturate(.8)}
.sku div{padding:18px 20px 22px}
.sku span{color:var(--brass2);font-size:.78rem;font-weight:800}
.sku strong{display:block;margin-top:12px;color:var(--brass2)}
.quote{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.35;margin:0;font-weight:700}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between}
.faq p{color:var(--mute);max-width:40rem}
.stance{background:#efe6d6;padding:56px 0 52px;text-align:center}
.stance h2{margin:0 auto 14px;max-width:22ch;font-size:clamp(1.45rem,2.8vw,2.05rem);line-height:1.28}
.stance p{margin:0 auto;max-width:40rem;color:var(--mute)}
.stance-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px auto 0;max-width:40rem}
.stance-pills span{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.48rem 1rem;font-size:.86rem}
.cta-row{background:var(--brass);color:#1a1714;padding:64px 0}
.cta-row .k{color:#3c2a1a}
.mail{background:#2b2118;color:#f4efe6;padding:28px 0}
.mail-box{display:flex;align-items:center;justify-content:space-between;gap:28px}
.mail-box h2{margin:0 0 6px;font-size:1.22rem}
.mail-box p{margin:0;color:#cbb9a6;font-size:.9rem;max-width:28rem}
.mail form{display:flex;gap:8px;flex-shrink:0}
.mail input{width:248px;border:0;border-radius:8px;padding:.72rem .9rem;font:inherit}
.pageh{padding:40px 0 28px}
.pageh img{width:100%;height:220px;object-fit:cover;margin-top:18px}
.legal{max-width:720px}
.legal h2{margin-top:36px}
.legal p{color:var(--mute)}
code{background:#efe6d6;padding:.1rem .35rem}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}
form.box{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);padding:28px}
form.box label{display:grid;gap:6px;font-weight:700}
form.box input,form.box textarea,form.box select{width:100%;border:1px solid #cfc3b2;padding:.72rem;font:inherit}
form.box .chk{display:flex;gap:8px;font-weight:400;color:var(--mute);align-items:flex-start}
form.box .chk input{width:auto;margin-top:5px}
.hours dt{color:var(--mute)}
.hours dd{margin:0;font-weight:700}
.hours div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}
foot.site,footer.site{background:var(--card);border-top:1px solid var(--line);padding:48px 0 18px}
.fg{display:grid;grid-template-columns:1.4fr .7fr .9fr 1fr;gap:28px}
.fg h2{font-size:.8rem;letter-spacing:.1em;color:var(--mute)}
.fg a,.fg span,.fg p{display:block;color:var(--mute);margin:.4rem 0;font-size:.92rem}
.fb{display:flex;justify-content:space-between;margin-top:28px;padding-top:14px;border-top:1px solid var(--line);color:var(--mute);font-size:.85rem}
.fb button{border:0;background:none;color:var(--brass2);cursor:pointer;font:inherit}
.ck{position:fixed;z-index:20;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;gap:16px;background:var(--oak);color:#fff;padding:16px 18px}
.ck[hidden]{display:none}
.ck button{border:1px solid #fff;background:transparent;color:#fff;padding:.45rem .7rem;font:inherit;cursor:pointer}
.ck .btn{background:var(--brass);border-color:var(--brass)}
@media(max-width:860px){.grid2,.grid3,.grid4,.contact,.fg,.hero-meta,.mail-box{grid-template-columns:1fr}.mail-box{flex-direction:column;align-items:stretch}.mail input{width:100%}.mast-row{flex-wrap:wrap;padding:12px 0}.mast-row nav{width:100%;margin:0;overflow:auto}.hero-pic img,.pageh img{height:200px}.ck{display:block}}
