:root{--bg:#f4efe6;--bg-deep:#e9e1d2;--paper:#fbf8f1;--ink:#26221e;--ink-soft:#5f574d;--line:#d6cbb6;--line-soft:#e6ddcb;--shu:#b0402c;--shu-soft:#d9776a;--gold:#9c8447;--max:1080px;--serif:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:.04em;-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.3 0 0 0 0 0.22 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");margin:0;font-size:15.5px;line-height:2}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:.12em;margin:0;font-weight:500}p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);background:#f4efe6e6;position:sticky;top:0}.header .wrap{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{align-items:center;display:flex}.brand img{object-fit:contain;width:auto;height:52px}.nav{font-family:var(--serif);letter-spacing:.14em;gap:30px;font-size:14px;display:flex}.nav a{padding:6px 0;position:relative}.nav a:after{content:"";background:var(--shu);height:1px;transition:right .3s;position:absolute;bottom:0;left:0;right:100%}.nav a:hover:after{right:0}.nav-toggle{border:1px solid var(--line);font:inherit;font-family:var(--serif);letter-spacing:.1em;color:var(--ink);background:0 0;padding:8px 14px;display:none}.hero{background:#1e1a16;height:min(84vh,760px);min-height:440px;position:relative;overflow:hidden}.hero img{object-fit:cover;width:100%;height:100%}.hero:after{content:"";background:linear-gradient(#18130e40,#18130e1f 45%,#18130ec7);position:absolute;inset:0}.hero-text{color:#f6f1e8;z-index:1;position:absolute;bottom:56px;left:0;right:0}.hero-text h1{letter-spacing:.24em;font-size:clamp(28px,4.6vw,46px);font-weight:500;line-height:1.3}.hero-text p{letter-spacing:.32em;opacity:.8;text-transform:uppercase;margin:10px 0 0;font-size:13px}.hero-logo{z-index:1;margin:0;position:absolute;bottom:64px;left:clamp(16px,2.5vw,48px)}.hero-logo img{filter:drop-shadow(0 4px 14px #0006);width:clamp(130px,12vw,200px);height:auto}.hero-text p:first-child{margin-top:0}.hero-tate{z-index:1;writing-mode:vertical-rl;color:#f6f1e8;font-family:var(--serif);letter-spacing:.4em;text-shadow:0 2px 12px #00000073;padding-top:34px;font-size:clamp(16px,1.6vw,21px);line-height:1.6;position:absolute;top:56px;right:clamp(24px,4vw,64px)}.hero-tate:before{content:"";opacity:.8;background:#f6f1e8;width:1px;height:24px;position:absolute;top:0;left:50%}.hero.sub{height:320px;min-height:260px}.hero.sub .hero-text{bottom:44px}.section{padding:96px 0;position:relative}.section.alt{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#fbf8f1b3}.section-title{margin-bottom:44px}.section-title .num{font-family:var(--serif);color:var(--shu);letter-spacing:.2em;vertical-align:middle;margin-right:10px;font-size:13px;display:inline-block}.section-title small{color:var(--gold);letter-spacing:.36em;vertical-align:middle;font-size:11px;display:inline-block}.section-title h2{margin-top:10px;font-size:clamp(26px,3vw,34px);line-height:1.4}.section-title.center{text-align:center}.lead{color:var(--ink-soft);max-width:640px}.lead.center{text-align:center;margin:0 auto}.grid2{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.photo{background:var(--bg-deep);position:relative;overflow:hidden}.photo img{aspect-ratio:4/3;object-fit:cover;width:100%}.about{grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;display:grid}.about-photos{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}.about-photos .photo:first-child{grid-column:1/3}.about-photos .photo:first-child img{aspect-ratio:16/10}.about-photos .photo:nth-child(3){margin-top:28px}.about-tate{writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:.5em;color:var(--gold);opacity:.9;font-size:12px;position:absolute;top:96px;left:24px}.about-tate:after{content:"";background:var(--gold);width:1px;height:48px;margin:14px auto 0;display:block}.gallery{position:relative}.gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:18px;padding-bottom:4px;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{scroll-snap-align:start;background:var(--bg-deep);flex:0 0 calc(33.3333% - 12px);margin:0;position:relative;overflow:hidden}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery-btn{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;font-size:24px;line-height:1;font-family:var(--serif);background:#fbf8f1f0;border-radius:50%;justify-content:center;align-items:center;padding:0 0 3px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-btn.prev{left:-14px}.gallery-btn.next{right:-14px}.gallery-dots{justify-content:center;gap:10px;margin-top:18px;display:flex}.gallery-dots button{background:var(--line);cursor:pointer;border:0;border-radius:50%;width:6px;height:6px;padding:0;transition:transform .2s}.gallery-dots button.on{background:var(--shu);transform:scale(1.4)}.info{background:var(--paper);border:1px solid var(--line);padding:36px 34px;position:relative}.info:before{content:"";border:1px solid var(--line-soft);pointer-events:none;position:absolute;inset:6px}.info dl{grid-template-columns:6.5em 1fr;gap:14px 18px;margin:0;display:grid}.info dt{font-family:var(--serif);color:var(--gold);letter-spacing:.24em;padding-top:3px;font-size:13px}.info dt:before{content:"・";color:var(--shu);margin-right:2px}.info dd{margin:0}.info .tel{font-family:var(--serif);letter-spacing:.12em;font-size:26px}.note{color:var(--ink-soft);font-size:13px;line-height:1.8}.btn{font-family:var(--serif);letter-spacing:.16em;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:14px 32px;font-size:15px;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.btn-shu{background:var(--shu);color:#fff;border:1px solid var(--shu)}.btn-shu:hover{background:#963524;border-color:#963524}.btn-line{border:1px solid var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--paper)}.btn-row{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.btn{text-align:center}.menu-group{margin-bottom:72px}.menu-group h3{align-items:center;gap:14px;margin-bottom:26px;font-size:24px;display:flex}.menu-group h3:before{content:"";background:var(--shu);flex:none;width:10px;height:10px;transform:rotate(45deg)}.menu-group h3:after{content:"";background:var(--line);flex:1;height:1px;margin-left:8px}.menu-list{margin:0;padding:0;list-style:none}.menu-list li{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:14px;padding:14px 0;display:flex}.menu-list .name{font-family:var(--serif);white-space:nowrap;letter-spacing:.1em;font-size:17px}.menu-list .dots{border-bottom:1px dotted var(--line);flex:1;transform:translateY(-6px)}.menu-list .price{font-family:var(--serif);white-space:nowrap;font-size:17px}.menu-list .price:before{content:"¥";color:var(--ink-soft);margin-right:3px;font-size:12px}.menu-list .detail{color:var(--ink-soft);flex-basis:100%;margin-top:-8px;font-size:13px}.menu-list.wrap-detail li{flex-wrap:wrap}.course{background:var(--paper);border:1px solid var(--line);padding:28px 24px 24px;position:relative}.course:before{content:"";background:var(--shu);height:2px;position:absolute;top:-1px;left:24px;right:24px}.course h4{justify-content:space-between;gap:12px;margin:0 0 6px;font-size:19px;display:flex}.course .price{color:var(--shu)}.course p{color:var(--ink-soft);margin:6px 0 0;font-size:13.5px;line-height:1.8}.course .sub{color:var(--gold);font-size:13px}.nabe-table{border-collapse:collapse;background:var(--paper);border:1px solid var(--line);width:100%;font-size:15px}.nabe-table th,.nabe-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:13px 16px}.nabe-table th{background:var(--bg-deep);font-family:var(--serif);letter-spacing:.16em;font-size:13px;font-weight:500}.nabe-table td:first-child{font-family:var(--serif)}.nabe-table td.p{font-family:var(--serif);white-space:nowrap}.ponzu-size{border-top:1px solid var(--line);font-family:var(--serif);margin:28px 0 14px;padding-top:22px;font-size:18px}.ponzu-size span{color:var(--ink-soft);font-size:14px}.ponzu-price{grid-template-columns:1fr 1fr;gap:14px;margin:0 0 12px;display:grid}.ponzu-price div{background:var(--paper);border:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;padding:20px 12px 16px;display:flex;position:relative}.ponzu-price div.online{border-color:var(--shu-soft)}.ponzu-price div.online:before{content:"";background:var(--shu);height:2px;position:absolute;top:-1px;left:16px;right:16px}.ponzu-price small{font-family:var(--serif);color:var(--gold);letter-spacing:.2em;white-space:nowrap;margin-bottom:6px;font-size:12px}.ponzu-price strong{font-family:var(--serif);letter-spacing:.02em;white-space:nowrap;font-size:34px;font-weight:500;line-height:1.1}.ponzu-price strong em{margin-left:2px;font-size:16px;font-style:normal}.ponzu-price span{color:var(--ink-soft);white-space:nowrap;margin-top:6px;font-size:12px}.insta{border:1px solid var(--line);background:var(--paper);max-width:720px;margin:32px auto 0;padding:6px}.insta-frame{height:0;padding-top:calc(66.67% + 162px);position:relative;overflow:hidden}.insta-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (max-width:800px){.insta-frame{padding-top:calc(66.67% + 146px)}}.map{border:1px solid var(--line);background:var(--paper);padding:6px;position:relative}.map iframe{border:0;width:100%;height:380px;display:block}.footer{color:#e9e2d5;border-top:3px solid var(--shu);background:#26221e;margin-top:48px;padding:44px 0 22px}.footer .wrap{grid-template-columns:auto 1fr auto;align-items:center;gap:32px;display:grid}.footer-logo{width:130px;height:auto}.footer h2{letter-spacing:.24em;font-size:22px}.footer p{color:#c9c0b0;margin:4px 0 0;font-size:13.5px;line-height:1.8}.footer .links{font-family:var(--serif);letter-spacing:.12em;flex-direction:column;gap:8px;font-size:14px;display:flex}.footer .links a{border-bottom:1px solid #0000}.footer .links a:hover{border-bottom-color:#c9c0b0}.copy{text-align:center;color:#8f877a;letter-spacing:.2em;margin-top:30px;font-size:11px}@media (max-width:800px){body{font-size:15px}.nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;display:none;position:absolute;top:72px;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--line-soft);padding:15px 24px}.nav a:after{display:none}.nav-toggle{display:block}.hero{height:72vh}.hero-logo{bottom:96px;left:20px}.hero-logo img{width:140px}.hero-tate{font-size:15px;top:28px;right:20px}.grid2,.grid3,.about{grid-template-columns:1fr;gap:28px}.about-photos .photo:nth-child(3){margin-top:0}.about-tate{display:none}.section{padding:64px 0}.info{padding:24px 20px}.info dl{grid-template-columns:1fr;gap:2px}.info dt{margin-top:14px}.gallery-item{flex-basis:84%}.gallery-btn.prev{left:6px}.gallery-btn.next{right:6px}.ponzu-price{grid-template-columns:1fr 1fr;gap:10px}.ponzu-price strong{font-size:28px}.ponzu-price span,.ponzu-price small{white-space:normal}.footer .wrap{grid-template-columns:1fr;justify-items:start;gap:22px}.footer-logo{width:110px}.nabe-table{font-size:14px}.nabe-table th,.nabe-table td{padding:10px 8px}.menu-group{margin-bottom:52px}}
