
:root{--kuro:#231610;--kuro2:#2e1f17;--washi:#EFE6D6;--kin:#B08A3E;--kin2:#c9a35a;--enji:#6E1A2B;--shu:#A8261C;--sumi:#2A1D16;--muted:#6b5a4b;--ai:#12365A;
--mincho:"Shippori Mincho","Noto Serif JP","Noto Serif CJK JP","Hiragino Mincho ProN","Yu Mincho",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--mincho);color:var(--sumi);background:var(--washi);line-height:1.9;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
/* backgrounds */
.bg-kuro{background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9 0.06' numOctaves='3' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.16 0 0 0 0 0.11 0 0 0 0 0.08 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23f)'/%3E%3C/svg%3E"),linear-gradient(160deg,#3a2a20 0%,#2a1b13 55%,#231610 100%);color:var(--washi);position:relative;overflow:hidden;overflow:clip}
.bg-washi{background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.035' numOctaves='4' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.45 0 0 0 0 0.33 0 0 0 0.22 0'/%3E%3C/filter%3E%3Cfilter id='q'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6 0.02' numOctaves='2' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.6 0 0 0 0 0.5 0 0 0 0 0.38 0 0 0 0.12 0'/%3E%3C/filter%3E%3Crect width='600' height='600' filter='url(%23p)'/%3E%3Crect width='600' height='600' filter='url(%23q)'/%3E%3C/svg%3E"),var(--washi);position:relative;overflow:hidden;overflow:clip}
.bg-kin{background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cg fill='none' stroke='%235a3608' stroke-width='1.4' opacity='.35'%3E%3Ccircle cx='0' cy='0' r='22'/%3E%3Ccircle cx='44' cy='0' r='22'/%3E%3Ccircle cx='0' cy='44' r='22'/%3E%3Ccircle cx='44' cy='44' r='22'/%3E%3Ccircle cx='22' cy='22' r='22'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(180deg,#7a4a0e,#c98a2e);color:var(--washi);position:relative;overflow:hidden;overflow:clip}
.bg-hishi{background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect width='40' height='40' fill='%23E4D6BE'/%3E%3Cg transform='rotate(45 20 20)' fill='none'%3E%3Crect x='5' y='5' width='30' height='30' stroke='%23d4c3a5' stroke-width='2'/%3E%3Crect x='13' y='13' width='14' height='14' stroke='%23d9c9ad' stroke-width='1.5'/%3E%3C/g%3E%3C/svg%3E");position:relative}
.sk{position:absolute;pointer-events:none;opacity:.75}
.sk.l1{width:120px;left:-24px;top:40px}.sk.l2{width:64px;left:70px;top:150px}.sk.r1{width:96px;right:-14px;top:24px;opacity:.45}
.sk.g1{width:110px;left:-20px;top:-10px;opacity:.6}
.sec{padding:64px 0;position:relative}
/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(22,14,10,.94);backdrop-filter:blur(4px);border-bottom:1px solid rgba(176,138,62,.35)}
.hd .in{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:1080px;margin:0 auto;padding:0 12px 0 16px}
.hd .logo{display:block;background:var(--ai);padding:5px 12px 6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);color:#fff;text-decoration:none;line-height:1.1;text-align:center}.hd .logo small{display:block;font-size:9px;letter-spacing:.24em;opacity:.9}.hd .logo b{display:block;font-size:19px;letter-spacing:.16em;font-weight:600;padding-left:.16em}
.hd .acts{display:flex;align-items:center;gap:6px}
.hd .tel{display:none;align-items:center;gap:6px;color:var(--washi);text-decoration:none;font-size:13px;border:1px solid var(--kin);padding:7px 10px;letter-spacing:.08em}
.hd .tel svg{width:15px;height:15px}
@media(min-width:1000px){.hd .tel{display:flex}}
.menu-btn{background:var(--enji);border:1px solid var(--kin);color:var(--washi);width:52px;height:44px;font:inherit;font-size:10px;letter-spacing:.1em;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.menu-btn i{display:block;width:22px;height:1.5px;background:var(--washi)}
.gnav{display:none}
.drawer{position:fixed;inset:0;z-index:60;background:rgba(18,11,8,.97);color:var(--washi);display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.drawer.open{display:flex}
.drawer a{text-decoration:none;font-size:20px;letter-spacing:.2em;padding:12px 24px}
.drawer a small{display:block;text-align:center;font-size:10px;letter-spacing:.3em;color:var(--kin)}
.drawer .x{position:absolute;top:10px;right:12px;background:none;border:1px solid var(--kin);color:var(--washi);width:48px;height:44px;font-size:22px;cursor:pointer}
@media(min-width:1000px){.menu-btn{display:none}.gnav{display:flex;gap:2px;margin-right:10px}
.gnav a{color:var(--washi);text-decoration:none;font-size:14px;letter-spacing:.14em;padding:8px 12px;text-align:center;line-height:1.3}
.gnav a small{display:block;font-size:9px;letter-spacing:.3em;color:var(--kin)}.gnav a:hover,.gnav a.on{color:var(--kin2)}}
/* headings */
.ttl{text-align:center;margin-bottom:34px;position:relative;z-index:1}
.ttl .en{margin:0 0 6px;font-size:12px;letter-spacing:.36em;color:var(--kin)}
.ttl .v{margin:0;font-size:28px;letter-spacing:.24em;line-height:1.4;font-weight:500;padding-left:.24em}
.ttl .bar{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px auto 0;width:180px}
.ttl .bar::before,.ttl .bar::after{content:"";flex:1;height:1px;background:var(--kin)}
.ttl .bar i{width:7px;height:7px;background:var(--kin);transform:rotate(45deg)}
.ttl .lead{margin:14px 0 0;font-size:15px;line-height:2}
@media(min-width:860px){.ttl .v{font-size:32px}}
.bg-washi .ttl .en,.bg-hishi .ttl .en{color:#8a6d33}
.waku{display:table;position:relative;padding:14px 36px;font-size:24px;letter-spacing:.16em;margin:0 auto 26px}
.waku svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.center{text-align:center}
/* hero */
.hero{position:relative;height:calc(100svh - 235px);min-height:420px;max-height:820px;overflow:hidden;background:#140d09}
.hero .sl{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.hero .sl.on{opacity:1;animation:zoom 7s ease-out forwards}
@keyframes zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 40%,rgba(0,0,0,.65))}
.hero .copy{position:absolute;right:16px;top:20px;z-index:2;writing-mode:vertical-rl;background:rgba(25,16,11,.62);color:var(--washi);padding:14px 9px;font-size:16px;letter-spacing:.22em;line-height:1.8;border:1px solid rgba(176,138,62,.55)}
@media(min-width:860px){.hero .copy{right:28px;top:28px;padding:20px 13px;font-size:21px;letter-spacing:.3em}}
.hero .name{position:absolute;left:18px;bottom:22px;z-index:2;color:var(--washi)}
.hero .name small{display:block;font-size:12px;letter-spacing:.3em;color:var(--kin2)}
.hero .name b{font-size:30px;letter-spacing:.14em;font-weight:600}
.hero-info{background:#160e0a;border-bottom:1px solid rgba(176,138,62,.4);color:var(--washi);display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;justify-content:space-between;padding:12px 18px;font-size:13px;letter-spacing:.06em}
.hero-info .btns{display:flex;gap:6px;width:100%}.hero-info .btns .btn{flex:1;padding:0 6px;font-size:13px;letter-spacing:.06em;gap:5px;min-width:0}.hero-info .btns .btn.line{flex:1.5}
@media(max-width:999px){.hero-info .btns .btn.red,.hero-info .btns .btn.line{display:none}.hero-info .btns{width:auto}.hero-info .btns .btn{flex:0 0 auto;padding:0 22px}}@media(min-width:700px){.hero-info .btns{width:auto}}
.dots{position:absolute;left:18px;bottom:96px;z-index:2;display:flex;gap:6px}.dots i{width:22px;height:2px;background:rgba(239,230,214,.35)}.dots i.on{background:var(--kin2)}
/* buttons */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;text-decoration:none;font-size:14px;letter-spacing:.12em;border:1px solid var(--kin);color:var(--washi);background:transparent;cursor:pointer;font-family:inherit}
.btn.red{background:var(--shu);border-color:var(--shu)}.btn.gold{background:var(--kin);color:#1c120c;border-color:var(--kin)}
.btn.dark{color:var(--sumi);border-color:var(--sumi)}
.btn.line{background:#06C755;border-color:#06C755;color:#fff}
.toast{position:fixed;left:50%;bottom:120px;transform:translateX(-50%);background:rgba(28,18,12,.95);color:var(--washi);border:1px solid var(--kin);padding:12px 18px;font-size:13px;z-index:80;opacity:0;transition:opacity .3s;pointer-events:none;max-width:88vw;text-align:center;line-height:1.7}.toast.on{opacity:1}
.btn .arw{display:inline-block;width:34px;height:1px;background:currentColor;position:relative}.btn .arw::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-right:1px solid currentColor;transform:skewX(45deg)}
/* about */
.about p{font-size:16px;line-height:2.1;margin:0 0 1.2em}
.about h3{font-size:21px;letter-spacing:.1em;margin:0 0 12px;font-weight:600}
.about .pic img{width:100%;max-width:520px;margin:0 auto}
.pt{display:grid;gap:18px;margin-top:8px}
.pt .n{font-size:13px;color:var(--kin);letter-spacing:.2em}
@media(min-width:860px){.about .two{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}}
/* dish */
.dish{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:44px;position:relative;z-index:1}.dish .ph{width:100%;max-width:320px;margin:0 auto}
.dish .ph{position:relative}.dish .ph img{width:100%;height:auto}
.fuda{position:absolute;left:-6px;top:-6px;z-index:2;background:var(--enji);color:var(--washi);font-size:11px;letter-spacing:.12em;padding:6px 6px;writing-mode:vertical-rl;border:1px solid var(--kin);line-height:1.2}
.nm{font-size:20px;font-weight:600;letter-spacing:.08em;margin:0;line-height:1.5}
.yomi{font-size:11px;letter-spacing:.2em;color:var(--kin);display:block}
.pr{font-size:19px;margin:4px 0 6px;letter-spacing:.04em;color:var(--kin2)}.pr small{font-size:11px}
.bg-washi .pr,.bg-hishi .pr{color:var(--shu)}
.ds{font-size:13.5px;line-height:1.95;margin:0}
.ex{font-size:12.5px;margin-top:8px;color:var(--kin2);line-height:1.7}
.bg-washi .ex{color:#8a6d33}
@media(min-width:860px){.dishes3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.dishes3 .dish{text-align:center}}
.manzoku{border:1px solid var(--kin);padding:16px 18px;margin-top:8px;font-size:14px;line-height:1.9;position:relative;z-index:1}
.manzoku b{color:var(--kin2);font-size:17px;letter-spacing:.1em}
/* new */
.newgrid{display:grid;gap:26px;position:relative;z-index:1}
.newgrid .dish{margin:0}.newgrid .pr{color:#fff3d6}.newgrid .ex{color:#ffe7b5}
.newtag{display:inline-block;background:var(--enji);border:1px solid #f0d49a;padding:2px 10px;font-size:11px;letter-spacing:.2em;margin-bottom:6px}
@media(min-width:860px){.newgrid{grid-template-columns:repeat(3,1fr)}.newgrid .dish{grid-template-columns:1fr;text-align:center}.newgrid .dish .ph img{max-width:280px;margin:0 auto}}
/* doors */
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;position:relative;z-index:1}
.door{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;text-decoration:none;color:var(--washi);border:1px solid rgba(176,138,62,.5)}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.door:hover img{transform:scale(1.05)}
.door::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55))}
.door span{position:absolute;z-index:2;left:12px;top:12px;writing-mode:vertical-rl;background:rgba(25,16,11,.75);border:1px solid var(--kin);padding:12px 7px;font-size:16px;letter-spacing:.24em}
.door em{position:absolute;z-index:2;right:12px;bottom:10px;font-style:normal;font-size:11px;letter-spacing:.3em;color:var(--kin2)}
@media(min-width:860px){.doors{grid-template-columns:repeat(4,1fr)}}
/* menu page */
.ways{display:grid;gap:30px;position:relative;z-index:1}
.way{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.way .kanji{font-size:44px;line-height:1;color:var(--kin2);writing-mode:vertical-rl;letter-spacing:.2em;justify-self:center}
.way h3{margin:0 0 6px;font-size:20px;letter-spacing:.12em}
.way p{margin:0;font-size:13.5px;line-height:1.95}
.way .items{margin-top:8px;font-size:13px;color:var(--kin2)}
.way .ph img{width:100%}
@media(min-width:860px){.ways{grid-template-columns:repeat(3,1fr)}.way{grid-template-columns:1fr;text-align:center}.way .ph img{max-width:260px;margin:0 auto}}
.tabs{display:flex;gap:6px;flex-wrap:wrap;position:sticky;top:var(--hdh,60px);z-index:20;padding:12px 0;background:linear-gradient(var(--washi),var(--washi) 80%,rgba(239,230,214,0))}
.tabs a{flex:1 1 auto;text-align:center;text-decoration:none;border:1px solid var(--sumi);padding:8px 10px;font-size:14px;letter-spacing:.16em;min-width:70px}
.tabs a:hover{background:var(--sumi);color:var(--washi)}
.cat{margin:34px 0 10px;scroll-margin-top:130px}
.cat-h{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.cat-h h3{margin:0;font-size:24px;letter-spacing:.2em;font-weight:600}
.cat-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--kin),transparent)}
.cat-h .en{font-size:11px;letter-spacing:.3em;color:#8a6d33}
.shina{list-style:none;margin:0;padding:0}
.shina li{display:grid;grid-template-columns:1fr;gap:10px;padding:22px 0 20px;border-bottom:1px dashed rgba(42,29,22,.28);align-items:start}
.shina li.nophoto{grid-template-columns:1fr}
.shina .ph{text-align:center}.shina .ph img{width:100%;max-width:400px;height:auto;margin:0 auto}
.row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.row .n{font-size:17px;font-weight:600;letter-spacing:.06em;flex:0 1 auto;min-width:5.5em}
.row .dot{flex:1;border-bottom:2px dotted rgba(42,29,22,.45);transform:translateY(-4px);min-width:18px}
.row .p{font-size:16px;color:var(--shu);white-space:nowrap;margin-left:auto}.row .p small{font-size:10px}
.shina .d{font-size:12.5px;line-height:1.8;margin:4px 0 0;color:#4a3a2e}
.shina .o{font-size:12px;color:#8a6d33;margin-top:3px}
.badge{display:inline-block;font-size:10px;letter-spacing:.12em;border:1px solid var(--enji);color:var(--enji);padding:0 6px;margin-left:6px;vertical-align:2px}
.badge.new{background:var(--enji);color:var(--washi)}
.note{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.9}
@media(min-width:860px){.shina{display:grid;grid-template-columns:repeat(3,1fr);column-gap:36px}.shina .ph img{max-width:100%}}
/* first */
.first{display:grid;gap:16px;position:relative;z-index:1}
.first div{border:1px solid rgba(42,29,22,.3);background:rgba(255,255,255,.35);padding:18px}
.first h3{margin:0 0 6px;font-size:18px;letter-spacing:.1em}.first p{margin:0;font-size:14px;line-height:1.95}
@media(min-width:860px){.first{grid-template-columns:repeat(3,1fr)}}
/* drink */
.nomi{border:1px solid var(--kin);padding:22px 18px;text-align:center;margin-bottom:24px;position:relative;z-index:1;background:rgba(0,0,0,.18)}
.nomi .t{font-size:24px;letter-spacing:.2em;margin:0}.nomi .s{font-size:13px;margin:4px 0 10px}
.nomi .p{font-size:34px;color:var(--kin2);letter-spacing:.04em}.nomi .p small{font-size:13px}
.nomi .k{font-size:13px;margin-top:8px;color:var(--washi);opacity:.9}
.dl{position:relative;z-index:1}
.dl h3{font-size:18px;letter-spacing:.2em;margin:24px 0 6px;border-bottom:1px solid rgba(176,138,62,.5);padding-bottom:6px}
.dl h3 small{font-size:10px;letter-spacing:.3em;color:var(--kin2);margin-left:10px}
.dl .r{display:flex;align-items:baseline;gap:8px;padding:9px 0;border-bottom:1px dashed rgba(239,230,214,.18);font-size:14px}
.dl .r .dot{flex:1;border-bottom:1px dotted rgba(239,230,214,.35);transform:translateY(-4px)}
.dl .r .p{color:var(--kin2);white-space:nowrap}
.dl .r .sub{font-size:11.5px;opacity:.75;margin-left:4px}
details.sake{border:1px solid rgba(176,138,62,.6);margin-top:18px}
details.sake summary{cursor:pointer;list-style:none;padding:14px 16px;font-size:16px;letter-spacing:.14em;display:flex;justify-content:space-between;align-items:center}
details.sake summary::-webkit-details-marker{display:none}
details.sake summary::after{content:"＋";color:var(--kin2)}details.sake[open] summary::after{content:"－"}
details.sake .in{padding:0 16px 14px}
.area{font-size:12px;letter-spacing:.3em;color:var(--kin2);margin:16px 0 2px}
@media(min-width:860px){.dl .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px}}
/* shop */
.shop-hero{position:relative;height:56svh;min-height:360px;max-height:640px;background-size:cover;background-position:center}
.shop-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.6))}
.shop-hero .cap{position:absolute;z-index:2;left:18px;bottom:22px;color:var(--washi)}
.shop-hero .cap small{display:block;font-size:12px;letter-spacing:.3em;color:var(--kin2)}
.shop-hero .cap b{font-size:32px;letter-spacing:.2em;font-weight:600}
.annai{text-align:center;position:relative;z-index:1}
.annai .tel{font-size:32px;letter-spacing:.06em;text-decoration:none;display:inline-block;margin:6px 0}
.annai .addr{font-size:16px;margin:0 0 6px}
.tbl{max-width:640px;margin:22px auto 0;text-align:left;border-top:1px solid rgba(42,29,22,.3)}
.tbl div{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:12px 4px;border-bottom:1px solid rgba(42,29,22,.3);font-size:14.5px}
.tbl dt,.tbl b{font-weight:600;letter-spacing:.12em;color:#5a4636}
.notice{max-width:640px;margin:18px auto 0;background:var(--enji);color:var(--washi);padding:14px 18px;font-size:15px;letter-spacing:.06em;border:1px solid var(--kin)}
.btnrow{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
.btnrow .btn{min-width:200px}
.gallery{display:grid;gap:12px;position:relative;z-index:1}
.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(176,138,62,.4)}
.gallery figcaption{font-size:12px;margin-top:6px;opacity:.85}
@media(min-width:860px){.gallery{grid-template-columns:1fr 1fr}}
.kuuki p{font-size:17px;letter-spacing:.1em;line-height:2.2;margin:18px 0 0;position:relative;z-index:1}
.access{max-width:640px;margin:24px auto 0;font-size:14px;line-height:2;text-align:left}
.access li{margin-bottom:4px}
/* story */
.story p{font-size:16px;line-height:2.2;margin:0 0 1.3em;position:relative;z-index:1}
.story .tbd{color:#8a6d33;border:1px dashed #b29a6c;padding:10px 14px;font-size:14px}
.story .img{margin:26px 0;position:relative;z-index:1}.story .img img{width:100%;border:1px solid rgba(176,138,62,.5)}
.story .img figcaption{font-size:12px;color:var(--muted);margin-top:6px}
/* スマホの分類ボタンは1段・横スライド（A・B共通） */
@media(max-width:999px){
.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:8px 0;gap:6px}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:0 0 auto;min-width:0;padding:6px 16px;font-size:13px;letter-spacing:.12em}
.cat{scroll-margin-top:calc(var(--hdh,60px) + 60px)}
.shina .ph img{max-width:min(100%,330px)}
}
/* ===== スマホ：ページのボタンを横に並べる ===== */
.snav,.swipe{display:none}
@media(max-width:999px){
.snav{display:flex;flex:1 1 auto;min-width:0;align-self:center;gap:6px;overflow-x:auto;margin-left:10px;padding:2px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hd .acts{display:none}
.hd .logo{flex:0 0 auto}
.snav::-webkit-scrollbar{display:none}
.snav a{flex:0 0 auto;color:var(--washi);text-decoration:none;font-size:12.5px;letter-spacing:.08em;border:1px solid rgba(176,138,62,.7);border-radius:999px;padding:6px 13px;white-space:nowrap}
.snav a.on{background:var(--kin);color:#1c120c;border-color:var(--kin);font-weight:600}
.tabs{top:var(--hdh,104px);margin-top:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:10px 0}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:0 0 auto;border-radius:999px;padding:8px 20px;background:rgba(255,255,255,.55)}
.tabs a:hover,.tabs a:active{background:var(--sumi);color:var(--washi)}
.cat{scroll-margin-top:calc(var(--hdh,104px) + 72px)}
.swipe{display:block;font-size:11.5px;letter-spacing:.14em;color:#8a6d33;text-align:right;margin:-6px 0 8px;position:relative;z-index:1}
.bg-kuro .swipe,.bg-kin .swipe{color:var(--kin2)}
}
/* news */
.news{background:var(--washi);padding:26px 0 6px;position:relative}
.news-in{border-top:2px solid var(--sumi);border-bottom:1px solid rgba(42,29,22,.35);padding:14px 4px 10px;position:relative;z-index:1}
.news-h{margin:0 0 6px;display:flex;align-items:baseline;gap:12px}.news-h b{font-size:20px;letter-spacing:.24em}.news-h span{font-size:11px;letter-spacing:.3em;color:#8a6d33}
.news ul{list-style:none;margin:0;padding:0}
.news li{display:grid;grid-template-columns:1fr;gap:2px;padding:12px 0;border-bottom:1px dashed rgba(42,29,22,.28)}
.news li:last-child{border-bottom:0}
.news time{font-size:12px;color:var(--enji);letter-spacing:.12em}
.news li a{text-decoration:none;font-size:14px;line-height:1.85}.news li a:hover{text-decoration:underline}
.news-n{font-size:12px;color:var(--muted);margin:8px 0 0}
@media(min-width:860px){.news li{grid-template-columns:110px 1fr;align-items:baseline}}
/* map */
.maps{display:grid;gap:24px;position:relative;z-index:1}
.mapbox{margin:0}.mapf{position:relative;width:100%;aspect-ratio:4/3;border:1px solid rgba(42,29,22,.35);background:#e8dfcf}
.mapf iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapbox figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:10px;font-size:13.5px}
.mapbox figcaption b{font-size:16px;letter-spacing:.12em}.mapbox figcaption span{color:var(--muted);font-size:12.5px;flex:1 1 100%}
.mapbox .btn{min-height:40px;font-size:13px}
@media(min-width:860px){.maps{grid-template-columns:1fr 1fr}}
.sec-map{padding-top:10px}
/* calendar */
.cal{max-width:460px;margin:28px auto 0;background:rgba(255,255,255,.55);border:1px solid rgba(42,29,22,.35);padding:18px 14px 14px;position:relative;z-index:1;color:var(--sumi)}
.cal-t{margin:0 0 10px;text-align:center;line-height:1.3}.cal-t b{font-size:30px;color:var(--enji);letter-spacing:.06em}.cal-t span{font-size:18px;margin-left:10px;letter-spacing:.2em}.cal-t small{display:block;font-size:12px;color:var(--muted);letter-spacing:.08em;margin-top:4px}
.cal table{width:100%;border-collapse:collapse;table-layout:fixed}
.cal th{font-size:12px;font-weight:600;padding:4px 0;border-bottom:1px solid rgba(42,29,22,.35)}
.cal td{text-align:center;padding:5px 0;font-size:15px}
.cal td span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%}
.cal .w0{color:var(--shu)}.cal .w6{color:#7a5a22}
.cal .k-tei{background:var(--enji);color:var(--washi)!important}
.cal .k-ten{background:var(--sumi);color:var(--kin2)!important}
.cal .k-sen{border:2px solid var(--kin);color:var(--sumi)!important;background:rgba(201,163,90,.18)}
.cal-l{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:12.5px;margin:12px 0 4px}.cal-l span{display:inline-flex;align-items:center;gap:5px}.cal-l i{display:inline-block;width:14px;height:14px;border-radius:50%}
.cal-n{font-size:12px;color:var(--muted);text-align:center;margin:6px 0 0;line-height:1.8}
/* ouchi / takeout */
.ouchi{margin-top:34px;border:1px solid var(--kin);padding:22px 16px;text-align:center;position:relative;z-index:1}.ouchi .t{margin:0 0 12px;font-size:20px;letter-spacing:.2em;color:var(--kin2)}.ouchi .btnrow{justify-content:center}
.to{display:grid;gap:22px;position:relative;z-index:1}.to img{width:100%;border:1px solid rgba(42,29,22,.25)}.to ul{margin:0;padding-left:1.2em;line-height:2;font-size:14.5px}.to .tbd{color:var(--muted);font-size:12.5px}
@media(min-width:860px){.to{grid-template-columns:1.1fr 1fr;align-items:start}}
/* shop links */
.links{display:grid;gap:14px;max-width:640px;margin:0 auto;position:relative;z-index:1}
.links a{display:block;border:1px solid var(--sumi);padding:16px 18px;text-decoration:none;font-size:15px;letter-spacing:.08em;background:rgba(255,255,255,.4)}
.links a small{display:block;margin-top:2px;font-size:12px;color:var(--muted);letter-spacing:.04em}
/* bottom bar & footer */
.cta{display:grid;grid-template-columns:1.3fr 1fr;gap:0;position:sticky;bottom:0;z-index:40}
.cta a{display:flex;align-items:center;justify-content:center;gap:6px;height:42px;text-decoration:none;color:var(--washi);font-size:14px;letter-spacing:.14em;border-top:1px solid var(--kin)}
.cta a:first-child{background:var(--shu)}.cta a.ln{background:#06C755;color:#fff}.cta a:last-child{background:#1c120c}
@media(min-width:1000px){.cta{display:none}}
.ft{padding:56px 0 30px;font-size:13.5px}
.ft .ban{display:table;margin:0 auto 28px;background:var(--ai);padding:12px 30px 18px;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 3px 10px rgba(0,0,0,.35)}
.ft .ban small{display:block;color:#fff;font-size:10.5px;letter-spacing:.22em;margin-bottom:6px}
.ft .ban b{display:block;color:#fff;font-size:30px;letter-spacing:.24em;font-weight:600;padding-left:.24em}
.ft .shops{display:grid;gap:22px;max-width:860px;margin:0 auto}
.ft .shops h4{margin:0 0 6px;font-size:16px;letter-spacing:.2em;color:var(--kin2);font-weight:500}
.ft .shops p{margin:0;line-height:1.9}
.ft .fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:30px 0 14px}
.ft .fnav a{text-decoration:none;font-size:13px;letter-spacing:.14em}
.ft .copy{text-align:center;font-size:11px;opacity:.6;margin:0}
@media(min-width:860px){.ft .shops{grid-template-columns:1fr 1fr 1fr}}
.fade{opacity:0;transform:translateY(16px);transition:opacity .9s,transform .9s}.fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none}.hero .sl{transition:none;animation:none}}

/* ===== 相原商店 追加 ===== */
.kari{display:inline-block;font-size:10.5px;letter-spacing:.08em;border:1px dashed #b29a6c;color:#8a6d33;padding:0 6px;margin-left:6px;vertical-align:2px;line-height:1.7;background:rgba(255,255,255,.4)}
.bg-kuro .kari,.bg-kin .kari{color:var(--kin2);border-color:var(--kin);background:transparent}
.steps{display:grid;gap:22px;position:relative;z-index:1;counter-reset:st}
.step{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}
.step .ph img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid rgba(176,138,62,.5)}
.step h3{margin:0 0 4px;font-size:18px;letter-spacing:.1em}
.step h3::before{counter-increment:st;content:counter(st);display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;background:var(--kin);color:#1c120c;font-size:14px;margin-right:8px;vertical-align:2px}
.step p{margin:0;font-size:14px;line-height:1.9}
@media(min-width:860px){.steps{grid-template-columns:repeat(3,1fr)}.step{grid-template-columns:1fr;text-align:center}.step .ph img{max-width:260px;margin:0 auto}}
.kotoba{max-width:720px;margin:0 auto;position:relative;z-index:1}
.kotoba p{font-size:15.5px;line-height:2.1;margin:0 0 1em}
.kotoba dl{margin:14px 0 0;display:grid;gap:10px}
.kotoba dl div{border-left:3px solid var(--kin);padding:4px 0 4px 14px}
.kotoba dt{font-weight:600;letter-spacing:.12em}.kotoba dt small{font-weight:400;font-size:12px;color:#8a6d33;margin-left:8px;letter-spacing:.06em}
.kotoba dd{margin:2px 0 0;font-size:14px;line-height:1.9}
.sake3{display:grid;gap:22px;position:relative;z-index:1}
.sake3 .card{background:rgba(255,255,255,.4);border:1px solid rgba(42,29,22,.25);padding:14px;text-align:center}
.sake3 .card img{height:200px;width:auto;max-width:100%;object-fit:contain;margin:0 auto 10px}
.sake3 .card h3{margin:0;font-size:22px;letter-spacing:.2em}
.sake3 .card .kura{font-size:12px;color:#8a6d33;letter-spacing:.1em;margin:2px 0 8px}
.sake3 .card p{margin:0;font-size:13.5px;line-height:1.9;text-align:left}
@media(min-width:760px){.sake3{grid-template-columns:repeat(3,1fr)}}
.board{display:grid;gap:22px;position:relative;z-index:1}
.board figure{margin:0}.board img{width:100%;max-width:420px;margin:0 auto;border:1px solid rgba(176,138,62,.5)}
.board figcaption{font-size:12px;opacity:.8;margin-top:6px;text-align:center}
@media(min-width:860px){.board{grid-template-columns:1fr 1fr;align-items:start}}
.event{border:1px solid var(--kin);padding:18px 16px;position:relative;z-index:1;background:rgba(0,0,0,.15);margin-bottom:16px}
.event .when{font-size:12px;letter-spacing:.2em;color:var(--kin2);margin:0}
.event h3{margin:4px 0 6px;font-size:19px;letter-spacing:.1em}
.event p{margin:0;font-size:14px;line-height:1.9}
.jikan{text-align:left;max-width:640px;margin:0 auto;position:relative;z-index:1;border-top:1px solid rgba(42,29,22,.35)}
.jikan div{display:grid;grid-template-columns:7.5em 1fr;gap:10px;padding:14px 4px;border-bottom:1px solid rgba(42,29,22,.35);font-size:15px}
.jikan b{letter-spacing:.12em;color:#5a4636}.jikan span small{display:block;font-size:12.5px;color:var(--muted)}
.jikan-n{max-width:640px;margin:10px auto 0;font-size:12px;color:var(--muted);position:relative;z-index:1}
.oneg{max-width:640px;margin:26px auto 0;border:1px solid var(--enji);background:rgba(255,255,255,.4);padding:14px 18px;position:relative;z-index:1}
.oneg p{margin:0;font-size:14px;line-height:2}
.okuri{display:grid;gap:22px;position:relative;z-index:1}
.okuri img{width:100%;border:1px solid rgba(42,29,22,.25)}
.okuri ul{margin:0;padding-left:1.2em;line-height:2.1;font-size:14.5px}
@media(min-width:860px){.okuri{grid-template-columns:1.1fr 1fr;align-items:start}}
.mei{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 0;padding:0;list-style:none;position:relative;z-index:1}
.mei li{border:1px solid rgba(176,138,62,.7);padding:4px 12px;font-size:14px;letter-spacing:.12em}
.hatachi{text-align:center;font-size:12.5px;letter-spacing:.06em;margin:18px 0 8px;opacity:.9}
.tate-copy{writing-mode:vertical-rl}

.ill{display:block;mix-blend-mode:multiply;height:auto;margin:0 auto;max-width:100%}
.withill{display:grid;gap:18px;align-items:center;position:relative;z-index:1}
.withill .ill{width:150px}
@media(min-width:760px){.withill{grid-template-columns:220px 1fr;gap:32px;max-width:860px;margin:0 auto}.withill .ill{width:200px}.withill.r{grid-template-columns:1fr 160px}.withill.r .ill{width:120px}}
.lead-ill{width:120px;margin:-6px auto 18px}
/* v2 */
.nenpyo{list-style:none;margin:0 auto;padding:0;max-width:820px;position:relative;z-index:1}
.nenpyo>li{display:grid;grid-template-columns:78px 1fr;gap:16px;padding:0 0 34px;position:relative}
.nenpyo>li::before{content:"";position:absolute;left:38px;top:34px;bottom:0;width:1px;background:var(--kin)}
.nenpyo>li:last-child::before{display:none}
.nenpyo .y{width:78px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--ai);color:#fff;font-size:15px;letter-spacing:.08em;position:relative;z-index:1}
.nenpyo .y.w{background:var(--enji);font-size:13px}
.nenpyo h3{margin:2px 0 6px;font-size:19px;letter-spacing:.1em;line-height:1.6}
.nenpyo p{margin:0 0 .6em;font-size:14.5px;line-height:2}
.nenpyo figure{margin:12px 0 0}.nenpyo figure img{width:100%;max-width:560px;border:1px solid rgba(176,138,62,.5)}
.nenpyo figcaption{font-size:12px;margin-top:6px;opacity:.85}
.bg-kuro .nenpyo .y{border:1px solid var(--kin)}
.grid3{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;position:relative;z-index:1}
.grid3 figure{margin:0}.grid3 img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid rgba(176,138,62,.4)}
.grid3 figcaption{font-size:12px;margin-top:4px;text-align:center}
@media(min-width:760px){.grid3{grid-template-columns:repeat(3,1fr);gap:14px}}
.pr2{display:grid;gap:22px;align-items:center;position:relative;z-index:1}
.pr2 img{width:100%;border:1px solid rgba(176,138,62,.45)}
.pr2 h3{margin:0 0 8px;font-size:20px;letter-spacing:.12em}
.pr2 p{margin:0 0 .8em;font-size:14.5px;line-height:2}
@media(min-width:860px){.pr2{grid-template-columns:1fr 1fr;gap:44px}.pr2.rev>:first-child{order:2}}
.menu2{list-style:none;margin:0;padding:0;position:relative;z-index:1}
.menu2 li{display:flex;align-items:baseline;gap:10px;padding:14px 0;border-bottom:1px dashed rgba(42,29,22,.28);font-size:15.5px}
.menu2 li .dot{flex:1;border-bottom:1px dotted rgba(42,29,22,.4);transform:translateY(-4px)}
.menu2 li .p{color:var(--shu);white-space:nowrap}
.menu2 li small{display:block;font-size:12.5px;color:var(--muted);line-height:1.7}
.menu2 li>div{flex:0 1 auto}
.bigset{display:grid;gap:18px;align-items:center;border:1px solid var(--kin);padding:16px;background:rgba(255,255,255,.35);position:relative;z-index:1;margin-bottom:26px}
.bigset img{width:100%;border:1px solid rgba(176,138,62,.45)}
.bigset .t{font-size:13px;letter-spacing:.24em;color:#8a6d33;margin:0}.bigset h3{margin:2px 0 6px;font-size:26px;letter-spacing:.16em}
.bigset .p{font-size:34px;color:var(--shu);margin:0}.bigset .p small{font-size:13px}
.bigset p{margin:0 0 .5em;font-size:14.5px;line-height:1.9}
@media(min-width:760px){.bigset{grid-template-columns:1.1fr 1fr;padding:22px;gap:30px}}
.panday{display:grid;gap:16px;align-items:center;border:2px solid var(--kin);padding:16px;background:rgba(255,255,255,.4);position:relative;z-index:1}
.panday img{width:100%;aspect-ratio:4/3;object-fit:cover}
.panday .yo{display:inline-block;background:var(--enji);color:var(--washi);padding:2px 12px;font-size:13px;letter-spacing:.2em}
.panday h3{margin:8px 0 6px;font-size:22px;letter-spacing:.14em}.panday p{margin:0;font-size:14.5px;line-height:2}
@media(min-width:760px){.panday{grid-template-columns:1fr 1.2fr;gap:30px;padding:22px}}
.quote{max-width:720px;margin:26px auto 0;text-align:center;font-size:18px;line-height:2;letter-spacing:.1em;position:relative;z-index:1}
.quote::before,.quote::after{content:"";display:block;width:60px;height:1px;background:var(--kin);margin:12px auto}
.quote small{display:block;font-size:12.5px;letter-spacing:.14em;color:#8a6d33}
.bg-kuro .quote small{color:var(--kin2)}
.door.door3{aspect-ratio:3/4}
@media(min-width:860px){.doors.d3{grid-template-columns:repeat(3,1fr)}}
.doors.d3{grid-template-columns:repeat(3,1fr)}
.shiharai{max-width:760px;margin:16px auto 0;font-size:13.5px;line-height:1.9;position:relative;z-index:1}
.hero .name b .kaisha{font-size:15px;letter-spacing:.12em;font-weight:500;margin-right:.5em;vertical-align:.25em}
.grid3.small{grid-template-columns:repeat(3,1fr);gap:8px;max-width:1040px;margin:0 auto}
.grid3.small figcaption{font-size:11px}
@media(min-width:760px){.grid3.small{grid-template-columns:repeat(6,1fr);gap:10px}}
.grid3.small{display:block;columns:2;column-gap:10px;max-width:820px;margin:0 auto}
.grid3.small figure{break-inside:avoid;margin:0 0 12px}
.grid3.small img{aspect-ratio:auto;height:auto;object-fit:contain}
@media(min-width:760px){.grid3.small{columns:3;column-gap:14px}}
.logo b .yu,.ban b .yu{font-size:.55em;letter-spacing:0;margin-right:.1em;vertical-align:.2em;font-weight:500}
.logo b .yu,.ban b .yu{font-size:1em;vertical-align:0;margin-right:0;font-weight:inherit;letter-spacing:inherit}
.panday.haitatsu .mark{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#12365A;color:#fff;font-size:44px;letter-spacing:.3em;padding-left:.3em;border:1px solid var(--kin)}
@media(max-width:759px){.panday.haitatsu .mark{aspect-ratio:auto;height:90px;font-size:32px}}
@media(min-width:760px){.panday.haitatsu{grid-template-columns:220px 1fr}.panday.haitatsu .mark{aspect-ratio:1/1;font-size:38px}}
@media(max-width:759px){.logo b .yu,.ban b .yu{font-size:.55em;letter-spacing:0;vertical-align:.2em;margin-right:.1em;font-weight:500}.ban b{white-space:nowrap}}
@media(max-width:759px){.doors.d3{grid-template-columns:1fr;gap:12px}.doors.d3 .door{aspect-ratio:16/10}.doors.d3 .door img{object-position:center 40%}}
@media(max-width:759px){.doors.d3 .door img[src*="sankura2026tate"]{object-position:center 72%}}
