@font-face{font-family:Dela;src:url('assets/fonts/delagothicone/DelaGothicOne-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Kaisei;src:url('assets/fonts/kaiseidecol/KaiseiDecol-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Noto;src:url('assets/fonts/notosansjp/NotoSansJP[wght].ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f3e1b6;--paper-light:#fff5da;--gold:#d0a65f;--ink:#422b1e;--red:#aa241c;--line:#8d693d;--heading:Dela,'Yu Gothic',sans-serif;--serif:Kaisei,'Yu Mincho',serif;--body:Noto,'Yu Gothic','Meiryo',sans-serif;--wide:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:1rem;line-height:1.9;background-image:url('assets/paper.svg');overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9a1d16;outline-offset:5px}button{border:0}a:hover{text-decoration:none}.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:8px 20px;background:var(--paper-light);border:2px solid var(--red)}.skip-link:focus{top:10px}.demo-strip{height:30px;background:var(--ink);color:var(--paper-light);text-align:center;font-size:.75rem;line-height:30px;letter-spacing:.12em}.site-header{position:absolute;top:30px;left:0;right:0;z-index:40;color:var(--ink)}.header-inner{max-width:var(--wide);margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;padding:13px 24px 0;gap:10px 26px}.phone-box{display:flex;align-items:center;gap:12px;font-family:var(--serif);line-height:1.5}.phone-mark{font-family:serif;font-size:3rem;line-height:1}.phone-box small{display:block;font-size:.8125rem}.phone-box [data-phone]{display:block;font-size:1.125rem;margin-top:5px}.brand{grid-column:2;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.1}.brand-kicker{font-family:var(--serif);font-size:.875rem;letter-spacing:.12em;margin-bottom:5px}.brand-name{font-family:var(--heading);font-size:3.5rem;letter-spacing:.02em;color:var(--red);text-shadow:1px 1px 0 var(--paper-light),2px 2px 0 var(--ink)}.brand-name small{font-size:1.1rem;vertical-align:middle;display:inline-block;width:2.3em;line-height:1.3;margin-right:12px;letter-spacing:.04em}.brand-reading{font-family:var(--serif);font-size:.875rem;letter-spacing:.35em;margin-top:8px}.header-reserve{justify-self:end;background:var(--red);color:var(--paper-light);padding:10px 24px;text-align:center;border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.6}.header-reserve span{display:block;font-family:var(--body);font-size:.75rem}.main-nav{grid-column:1/-1;display:flex;justify-content:center;gap:15px;align-items:center;padding:8px 0;font-family:var(--serif);font-size:1.125rem}.main-nav a{display:block;position:relative;padding:5px 20px;z-index:1;white-space:nowrap}.main-nav a:before{content:'';position:absolute;inset:2px 0;background:var(--red);z-index:-1;clip-path:polygon(2% 18%,18% 7%,38% 13%,62% 4%,85% 9%,96% 20%,100% 71%,84% 88%,57% 93%,30% 89%,5% 96%,0 53%);opacity:0;transition:opacity .15s}.main-nav a:hover,.main-nav a[aria-current],.main-nav a:focus-visible{color:var(--paper-light)}.main-nav a:hover:before,.main-nav a[aria-current]:before,.main-nav a:focus-visible:before{opacity:1}.menu-toggle{display:none}.is-scrolled .site-header,.inner-page .site-header{position:fixed;top:0;background:var(--gold);background-image:url('assets/paper.svg');border-bottom:2px solid var(--ink);box-shadow:0 2px 6px #422b1e24}.is-scrolled .header-inner,.inner-page .header-inner{display:flex;gap:22px;min-height:70px;padding:8px 25px}.is-scrolled .brand,.inner-page .brand{flex:none}.is-scrolled .brand-name,.inner-page .brand-name{font-size:1.75rem;text-shadow:none}.is-scrolled .brand-name small,.inner-page .brand-name small{font-size:.65rem;margin-right:5px;width:2.2em}.is-scrolled .brand-kicker,.is-scrolled .brand-reading,.is-scrolled .phone-box,.is-scrolled .header-reserve,.inner-page .brand-kicker,.inner-page .brand-reading,.inner-page .phone-box,.inner-page .header-reserve{display:none}.is-scrolled .main-nav,.inner-page .main-nav{margin-left:auto;font-size:1rem;gap:0;padding:0}.is-scrolled .main-nav a,.inner-page .main-nav a{padding:5px 14px}.booking-tab{position:fixed;z-index:50;right:0;top:40%;background:var(--red);color:var(--paper-light);padding:23px 14px 20px;border:2px solid var(--ink);border-right:0;box-shadow:-4px 4px 0 #422b1e3b;text-align:center;line-height:1.5}.booking-tab>span{font-family:var(--serif);font-size:1.125rem;writing-mode:vertical-rl;letter-spacing:.14em}.booking-tab small{display:block;writing-mode:vertical-rl;font-size:.75rem;margin:12px auto 0}.hero{padding:0 70px 34px;text-align:center;position:relative;isolation:isolate;background:repeating-conic-gradient(from -10deg at 50% 48%,#e4bd70 0deg 15deg,#f3d99e 15deg 30deg);border-bottom:5px solid var(--ink)}.hero:before{content:'';position:absolute;inset:0;background:url('assets/paper.svg');pointer-events:none;opacity:.8;z-index:-1}.masthead-space{height:174px}.hero-heading{display:flex;justify-content:center;gap:14px;align-items:center;margin:0 auto 17px}.hero-heading>span{font-family:var(--serif);font-size:1.25rem}.hero-heading h1{font-family:var(--heading);font-size:1.65rem;line-height:1.4}.game-frame{max-width:960px;margin:auto;padding:15px 56px 0;background:#d2aa59;border:3px solid var(--ink);box-shadow:inset 0 0 0 5px #f9e4a9,inset 0 0 0 8px #9c7136,9px 10px 0 #422b1e42;position:relative;border-radius:34px 34px 21px 21px}.game-frame:before{content:'';position:absolute;inset:12px 34px 69px;border:2px solid #765123;border-radius:5px;pointer-events:none}.photo-window{position:relative;overflow:hidden;aspect-ratio:16/9;border:7px solid var(--ink);outline:3px solid #ffe9ae;background:var(--ink)}.photo-track{height:100%;display:flex;flex-direction:column;transition:transform .65s cubic-bezier(.4,0,.2,1);will-change:transform}.hero-slide{flex:0 0 100%;width:100%;height:100%;object-fit:cover}.frame-side{position:absolute;top:28%;writing-mode:vertical-rl;font-family:var(--serif);font-size:1.125rem;letter-spacing:.14em}.frame-side-left{left:14px}.frame-side-right{right:14px}.frame-bottom{min-height:78px;display:flex;align-items:center;justify-content:center;gap:28px;padding:13px 0;position:relative}.frame-caption{font-family:var(--serif);font-size:1.4rem}.slide-controls{display:flex;gap:8px}.slide-controls button{border:2px solid var(--ink);border-radius:50%;width:44px;height:44px;line-height:1;font-size:.75rem;background:#f6df9b;box-shadow:inset 0 -4px 0 #b08a3d}.slide-controls button[data-slide=pause]{background:var(--red);color:var(--paper-light);box-shadow:inset 0 -4px 0 #722018}.slide-controls button:hover{filter:brightness(1.09)}.hero-footnote{font-family:var(--serif);font-size:1.125rem;margin-top:20px}.scroll-cue{display:inline-block;border-bottom:1px solid currentColor;font-size:.8125rem;margin-top:10px;letter-spacing:.1em}.notice-band{background:var(--red);color:var(--paper-light);display:flex;justify-content:center;align-items:center;gap:28px;padding:17px 75px;font-size:1rem}.notice-band>span{font-family:var(--serif);font-size:1.125rem;border-right:1px solid #f3e1b680;padding-right:28px}.notice-band button{background:none;color:inherit;text-align:left;padding:0}.notice-band button:hover{text-decoration:underline;text-underline-offset:5px}.notice-band small{font-size:.75rem;color:#f8ddaa}.welcome-section{min-height:660px;position:relative;padding:115px max(70px,calc((100% - 1080px)/2));color:var(--paper-light);isolation:isolate;overflow:hidden;border-bottom:3px solid var(--ink)}.welcome-photo{position:absolute;inset:0;z-index:-2}.welcome-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.36);transition:filter .9s ease}.welcome-photo.is-lit img{filter:grayscale(0) brightness(.75)}.welcome-section:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#27180fe8 0%,#27180fa8 40%,#27180f15 100%);z-index:-1}.eyebrow{font-family:var(--serif);font-size:1rem;letter-spacing:.13em;margin-bottom:20px}.display-title{font-family:var(--heading);font-size:clamp(2rem,4vw,3.45rem);line-height:1.6;letter-spacing:.025em;margin-bottom:24px}.welcome-copy>p:not(.eyebrow){font-size:1.125rem;line-height:2.1}.paper-button,.red-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:12px 28px;font-family:var(--serif);font-size:1.125rem;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s;line-height:1.6;text-align:center}.paper-button{background:var(--paper);color:var(--ink);margin-top:32px}.red-button{background:var(--red);color:var(--paper-light)}.paper-button:hover,.red-button:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--ink)}.round-seal{position:absolute;right:13%;top:38%;width:155px;height:155px;display:grid;place-content:center;border:3px double var(--paper);border-radius:50%;font-family:var(--serif);font-size:1.75rem;line-height:1.55;text-align:center;transform:rotate(-9deg);background:#aa241ccb;color:var(--paper-light)}.pending-reveal{opacity:0;transform:translateY(14px);transition:opacity .45s,transform .45s}.pending-reveal.is-visible{opacity:1;transform:none}.site-footer{padding:72px 75px 35px;text-align:center;background:var(--ink);color:var(--paper);border-top:5px solid #bc8c45}.footer-brand{font-family:var(--heading);font-size:2rem;line-height:1.5}.site-footer>p{margin-top:15px;font-family:var(--serif)}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 35px;margin:25px 0 30px;font-size:.9375rem}.site-footer nav a:hover{text-decoration:underline}.site-footer .demo-note{font-family:var(--body);font-size:.8125rem;color:#e5ce9f;max-width:760px;margin:20px auto}.motion-toggle{display:block;margin:20px auto 25px;background:none;border:1px solid #dbbd83;color:var(--paper);font-size:.8125rem;padding:6px 16px}.site-footer>small{font-size:.75rem;color:#d5ba87}.back-top{position:fixed;right:18px;bottom:22px;z-index:35;width:50px;height:50px;border:2px solid var(--ink);border-radius:50%;background:var(--paper-light);font-family:var(--serif);font-size:.875rem;opacity:0;visibility:hidden;transition:opacity .2s}.is-scrolled .back-top,.inner-page .back-top{opacity:1;visibility:visible}.content-dialog{max-width:640px;width:calc(100% - 40px);padding:55px 40px 40px;border:3px solid var(--ink);background:var(--paper-light);color:var(--ink);box-shadow:10px 10px 0 #422b1e55}.content-dialog::backdrop{background:#24160fba}.content-dialog h2{font-family:var(--heading);font-size:1.8rem;line-height:1.65;margin-bottom:20px}.content-dialog p{margin-top:14px}.dialog-close{position:absolute;right:17px;top:14px;background:var(--red);color:var(--paper-light);padding:4px 14px;font-size:.875rem}.reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reduce-motion .pending-reveal{opacity:1;transform:none}.reduce-motion .tone-photo img{filter:grayscale(0) brightness(.75)}
@media(min-width:901px){body{font-size:1.125rem}}
@media(max-width:1100px){.header-inner{gap:8px 15px}.main-nav{gap:3px;font-size:1rem}.main-nav a{padding:5px 14px}.phone-box [data-phone]{font-size:.95rem}.phone-mark{font-size:2.3rem}.header-reserve{padding:10px 15px}.is-scrolled .main-nav a,.inner-page .main-nav a{padding:5px 10px}.hero{padding-left:65px;padding-right:65px}.frame-caption{font-size:1.15rem}.frame-bottom{gap:16px}}
@media(max-width:900px){.header-inner{padding:12px 22px 0;grid-template-columns:1fr auto 1fr;gap:5px}.phone-box,.header-reserve{display:none}.brand-name{font-size:2.7rem}.brand-name small{font-size:.85rem;margin-right:7px}.brand-kicker,.brand-reading{font-size:.75rem}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-self:end;grid-column:3;grid-row:1;background:transparent;font-size:.75rem;gap:5px;min-width:48px;min-height:48px}.menu-bars{width:25px;height:17px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);position:relative}.menu-bars:before{content:'';position:absolute;top:6px;left:0;width:25px;border-top:2px solid var(--ink)}.main-nav{display:none;position:absolute;top:100%;left:10px;right:10px;background:var(--paper-light);border:2px solid var(--ink);padding:15px;box-shadow:4px 5px 0 #422b1e55;font-size:1.125rem}.main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.main-nav a{text-align:center;padding:10px 20px}.is-scrolled .header-inner,.inner-page .header-inner{display:grid;grid-template-columns:1fr auto;min-height:66px;padding:8px 20px}.is-scrolled .brand,.inner-page .brand{grid-column:1;justify-self:start}.is-scrolled .brand-name,.inner-page .brand-name{font-size:1.6rem}.is-scrolled .menu-toggle,.inner-page .menu-toggle{grid-column:2;grid-row:1}.is-scrolled .main-nav,.inner-page .main-nav{font-size:1.125rem;margin-left:0;padding:15px}.is-scrolled .main-nav a,.inner-page .main-nav a{padding:10px 20px}.masthead-space{height:139px}.hero{padding:0 22px 28px}.hero-heading h1{font-size:1.35rem}.hero-heading>span{font-size:1rem}.game-frame{padding:12px 30px 0;border-radius:25px 25px 15px 15px;box-shadow:inset 0 0 0 4px #f9e4a9,inset 0 0 0 6px #9c7136,6px 7px 0 #422b1e42}.game-frame:before{inset:9px 18px 68px}.frame-side{font-size:.8125rem;letter-spacing:.05em}.frame-side-left{left:6px}.frame-side-right{right:6px}.photo-window{border-width:5px;aspect-ratio:4/3}.frame-bottom{flex-direction:column;gap:8px;padding:12px 0}.frame-caption{font-size:1.15rem}.slide-controls button{width:38px;height:38px}.hero-footnote{font-size:1rem}.notice-band{padding:16px 25px;gap:15px;flex-wrap:wrap;justify-content:flex-start}.notice-band>span{padding-right:15px}.notice-band small{display:none}.welcome-section{min-height:580px;padding:80px 35px}.welcome-section:before{background:linear-gradient(90deg,#27180fe8,#27180f76)}.welcome-copy>p:not(.eyebrow){font-size:1rem}.round-seal{right:8%;top:24%;width:115px;height:115px;font-size:1.25rem}.booking-tab{top:auto;bottom:12px;left:16px;right:16px;border:2px solid var(--ink);box-shadow:4px 4px 0 #422b1e5c;padding:9px 15px;display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px}.booking-tab>span,.booking-tab small{writing-mode:horizontal-tb;margin:0}.booking-tab>span{font-size:1.125rem;letter-spacing:.06em}.site-footer{padding:60px 25px 110px}.back-top{right:16px;bottom:80px;width:42px;height:42px}.content-dialog{padding:52px 25px 28px}}
@media(max-width:480px){.brand-name{font-size:2.3rem}.header-inner{padding-left:15px;padding-right:15px}.hero{padding-left:15px;padding-right:15px}.hero-heading{gap:8px}.hero-heading>span{font-size:.875rem}.hero-heading h1{font-size:1.125rem}.game-frame{padding:10px 13px 0}.game-frame:before,.frame-side{display:none}.photo-window{border-width:4px}.frame-caption{font-size:1.05rem;white-space:normal}.hero-footnote{font-size:.875rem}.notice-band{padding:14px 20px;font-size:.875rem;gap:8px}.notice-band>span{font-size:1rem}.notice-band button{flex-basis:100%;font-size:.875rem}.welcome-section{padding:76px 25px;min-height:620px}.display-title{font-size:2rem}.round-seal{width:84px;height:84px;top:auto;right:20px;bottom:22px;font-size:1rem}.paper-button,.red-button{font-size:1rem;min-height:54px;padding:12px 21px}.welcome-copy>p:not(.eyebrow){font-size:1rem}.footer-brand{font-size:1.6rem}.site-footer nav{gap:12px 22px}.content-dialog h2{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.pending-reveal{opacity:1;transform:none}.tone-photo img{filter:grayscale(0) brightness(.75)}}

/* 各ページに共通する紙面と写真の配置 */
[hidden]{display:none!important}
.wide{max-width:var(--wide);width:100%;margin-inline:auto}
.section-pad{padding:105px 70px}
.section-pad.wide{padding-inline:32px}
.section-heading{text-align:center;margin-bottom:55px;position:relative}
.section-heading .display-title{margin-bottom:18px}
.section-heading>p:last-child:not(.eyebrow){font-size:1rem}
.wave-pattern{background-image:radial-gradient(circle at 50% 100%,transparent 38%,#7c55251a 39%,#7c55251a 40%,transparent 41%),radial-gradient(circle at 50% 100%,transparent 61%,#7c552513 62%,#7c552513 63%,transparent 64%),url('assets/paper.svg');background-size:90px 45px,90px 45px,240px 240px}
.photo-card{border:6px solid var(--ink);background:var(--paper-light);box-shadow:5px 6px 0 #422b1e30}
.photo-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.photo-card figcaption{padding:12px 17px;font-family:var(--serif);font-size:1rem;color:var(--ink);line-height:1.8}
.center-link{text-align:center;margin-top:40px}
.text-link{display:inline-block;color:var(--red);border-bottom:1px solid currentColor;font-family:var(--serif);font-size:1rem;line-height:1.7;background:none;padding:5px 0;min-height:35px}
.text-link:hover{color:#781810;border-bottom-width:2px}
.small-print{font-size:.8125rem;line-height:1.8;margin-top:20px}
.speech-tag{position:relative;display:inline-block;font-family:var(--serif);font-size:1.125rem;padding:9px 20px;border:3px solid var(--ink);background:var(--paper-light);color:var(--ink);margin-bottom:25px;line-height:1.6}
.speech-tag:after{content:'';position:absolute;width:15px;height:15px;bottom:-10px;left:30px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg);background:var(--paper-light)}
/* トップ：料理の重なり・宴会・店舗情報 */
.menu-feature{padding-bottom:125px;overflow:hidden}
.menu-feature-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}
.food-collage{position:relative;min-height:410px}
.food-base{width:95%;transform:rotate(-5deg);margin-top:25px}
.skewers-cutout{position:absolute;width:76%;bottom:-43px;left:-16px;z-index:2}
.karaage-cutout{position:absolute;width:48%;bottom:-18px;right:-10px;z-index:3}
.food-stamp{position:absolute;left:-15px;top:7px;z-index:4;width:106px;height:106px;display:grid;place-content:center;background:var(--red);color:var(--paper-light);font-family:var(--serif);font-size:1.25rem;line-height:1.5;text-align:center;clip-path:polygon(50% 0,60% 7%,75% 5%,82% 17%,95% 24%,93% 40%,100% 50%,93% 60%,95% 75%,82% 82%,75% 95%,60% 93%,50% 100%,40% 93%,25% 95%,18% 82%,5% 75%,7% 60%,0 50%,7% 40%,5% 25%,18% 18%,25% 5%,40% 7%)}
.menu-feature-copy{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:10px}
.menu-text h3{font-family:var(--serif);font-size:1.75rem;margin-bottom:20px;line-height:1.6}
.menu-text p{font-size:1rem;line-height:2}
.price-note{margin:25px 0;color:var(--red)}
.price-note strong{font-family:var(--heading);font-weight:400;font-size:2.15rem}
.price-note small{font-size:.75rem;color:var(--ink)}
.menu-text .red-button{font-size:1rem;padding-inline:20px}
.beer-cutout{width:100%;transform:rotate(6deg)}
.small-dish-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:100px}
.small-dish-pair figure{position:relative;border:5px solid var(--ink);background:var(--paper-light)}
.small-dish-pair img{width:100%;aspect-ratio:3/2;object-fit:cover}
.small-dish-pair figcaption{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-family:var(--serif)}
.small-dish-pair figcaption span{font-size:.9375rem}
.small-dish-pair h3{font-size:1.5rem;line-height:1.6}
.course-feature{position:relative;background:var(--ink);color:var(--paper-light);padding-top:150px;padding-bottom:130px;clip-path:polygon(0 5%,100% 0,100% 100%,0 100%)}
.course-feature-inner{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:center}
.party-photo{transform:rotate(3deg);border-color:var(--paper);background:var(--paper)}
.course-feature-copy .display-title{font-size:clamp(2rem,3.7vw,3.2rem)}
.course-feature-copy>p:not(.eyebrow){font-size:1rem}
.course-price{margin-top:28px;color:#eaca81;line-height:1.5}
.course-price small{display:block;font-size:1rem}
.course-price strong{font-family:var(--heading);font-size:3rem;font-weight:400}
.course-price strong span{font-size:1.4rem}
.course-price>span{display:block;font-size:.75rem;color:var(--paper)}
.course-feature-copy .paper-button{box-shadow:5px 5px 0 #160d09}
.bulb-border{position:absolute;bottom:16px;left:0;right:0;height:25px;background:radial-gradient(circle at 50% 50%,#e2b755 0 6px,#ac803d 7px 9px,transparent 10px);background-size:35px 25px;border-top:1px solid #9e793c}
.shop-section{position:relative;isolation:isolate}
.shop-background{position:absolute;inset:0;z-index:-2}
.shop-background img{height:100%;width:100%;object-fit:cover;opacity:.26}
.shop-background:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f3e1b642 0%,#f3e1b685 30%,#f3e1b6e8 70%,var(--paper) 100%)}
.mist-mark{position:relative;display:block;width:180px;height:30px;margin:0 auto 28px;border-top:3px solid var(--red);border-radius:50% 45%;opacity:.82}
.mist-mark:before,.mist-mark:after{content:'';position:absolute;left:0;right:0;height:20px;border-top:2px solid var(--red);border-radius:45% 55%}
.mist-mark:before{top:8px;left:23px;right:-15px}
.mist-mark:after{top:17px;left:-25px;right:32px}
.shop-paper{max-width:820px;margin:auto;padding:42px 50px;background:var(--paper-light);background-image:url('assets/paper.svg');border:1px solid var(--line);box-shadow:7px 8px 0 #75522224}
.paper-caption{text-align:center;font-family:var(--serif);font-size:1.7rem;margin-bottom:30px;color:var(--red)}
.info-table{margin:0}
.info-table>div{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid #8d693d55}
.info-table>div:first-child{border-top:1px solid #8d693d55}
.info-table dt{font-size:1rem;font-weight:600}
.info-table dd{margin:0;font-size:1rem}
.info-table dd small{display:block;font-size:.75rem;color:#705238;margin-top:2px}
.shop-paper>.paper-button{display:flex;width:max-content;max-width:100%;margin:35px auto 0}
.access-section{border-top:1px solid #9a724d55;background:#e8ca89;background-image:url('assets/paper.svg')}
.access-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}
.access-copy>p:not(.eyebrow){font-size:1rem}
.access-buttons{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px}
.access-buttons .paper-button{margin:0}
.access-buttons .paper-button,.access-buttons .red-button{font-size:1rem;padding-inline:22px}
.map-placeholder{height:370px;position:relative;isolation:isolate;overflow:hidden;background:#eadbae;border:3px solid var(--ink);box-shadow:7px 8px 0 #422b1e35;display:grid;place-content:center;text-align:center}
.map-streets{position:absolute;inset:-100px;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0px 84px,#fff7de 85px 102px,transparent 103px 160px),repeating-linear-gradient(90deg,transparent 0px 62px,#fff7de 63px 80px,transparent 81px 150px);transform:rotate(-16deg);opacity:.85}
.map-label{padding:25px 20px;background:#fff5daf2;border:1px solid #8d693d66;box-shadow:5px 5px 0 #422b1e24}
.map-label>span{display:block;width:65px;height:65px;border-radius:50%;background:var(--red);color:var(--paper-light);font-family:var(--serif);font-size:1.4rem;line-height:65px;margin:0 auto 15px;border:2px solid var(--ink)}
.map-label strong{display:block;font-weight:500;font-size:1.125rem}
.map-label small{font-size:.8125rem}
.news-list{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.news-card{display:grid;grid-template-columns:40% 1fr;gap:22px;border-top:2px solid var(--ink);border-bottom:1px solid #8d693d66;padding:23px 0}
.news-card img{width:100%;height:100%;object-fit:cover;min-height:190px}
.news-card>div>p:not(.news-meta){font-size:.9375rem;line-height:1.8;margin:12px 0}
.news-card h3{font-family:var(--serif);font-size:1.4rem;line-height:1.65}
.news-meta{display:flex;gap:12px;align-items:center;font-size:.75rem;margin-bottom:13px}
.news-meta time{color:var(--red)}
.news-meta span{border:1px solid #8d693d66;padding:0 7px}
.social-section{padding:50px 70px;background:var(--paper-light);border-top:1px solid var(--ink)}
.social-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}
.social-inner .eyebrow{margin-bottom:6px}
.social-inner h2{font-family:var(--serif);font-size:1.75rem;line-height:1.7}
.social-buttons{display:flex;gap:25px}
.social-button{min-width:200px;padding:14px 22px;border:2px solid var(--ink);background:transparent;line-height:1.7;text-align:center}
.social-button>span{font-size:1.45rem;font-weight:600}
.social-button small{display:block;font-size:.8125rem}
.line-button{border-color:#28553a;color:#28553a}
.line-button:hover{background:#e8eacb}
.instagram-button{border-color:var(--red);color:var(--red)}
.instagram-button:hover{background:#f2dec0}
/* 下層ページ */
.inner-page{padding-top:70px}
.page-intro{padding:40px 70px 54px;text-align:center;border-bottom:1px solid #8d693d55;background:linear-gradient(180deg,#dfba73aa,transparent);background-image:linear-gradient(180deg,#dfba7380,transparent),url('assets/paper.svg')}
.breadcrumbs{display:flex;gap:12px;max-width:var(--wide);margin:0 auto 37px;text-align:left;font-size:.8125rem}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.page-intro .eyebrow{margin-bottom:12px}
.page-intro h1{font-family:var(--heading);font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.55;color:var(--red);margin-bottom:14px}
.page-lead{font-family:var(--serif);font-size:1.2rem;line-height:1.8}
.page-intro .mist-mark{margin-top:26px;margin-bottom:0}
.intro-collage{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}
.intro-words .display-title{font-size:clamp(2rem,3.5vw,3rem)}
.intro-words>p{font-size:1.125rem;line-height:2}
.intro-photos{padding:15px 5px 0 20px}
.intro-photos>figure:first-child{transform:rotate(3deg)}
.entrance-card{width:65%;margin-top:-60px;margin-left:-25px;position:relative;transform:rotate(-5deg)}
.story-row{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.story-row .display-title{font-size:clamp(2rem,3.5vw,2.9rem)}
.story-row>div>p:not(.eyebrow):not(.story-number){font-size:1.125rem;line-height:2}
.story-number{font-family:var(--serif);font-size:3rem;color:var(--red);line-height:1;margin-bottom:25px}
.story-row .text-link{margin-top:24px}
.story-tinted{background:#e2c28b;background-image:url('assets/paper.svg')}
.story-reverse>div:first-child{order:2}
.story-reverse>div:last-child{order:1}
.two-food-photos{padding:10px 15px}
.two-food-photos img{width:91%;border:5px solid var(--ink);transform:rotate(-4deg);box-shadow:5px 6px 0 #422b1e22}
.two-food-photos img+img{margin:-25px 0 0 auto;position:relative;transform:rotate(4deg)}
.room-gallery-section{background:var(--ink);color:var(--paper-light)}
.room-gallery{max-width:1080px;display:grid;grid-template-columns:1fr 1fr;gap:38px}
.room-gallery .photo-card{border-color:var(--paper);background:var(--paper)}
.room-gallery figcaption h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:8px}
.room-gallery figcaption p{font-family:var(--body);font-size:.9375rem;line-height:1.8}
.faq-section{max-width:900px}
.faq-section details{border-bottom:1px solid #8d693d80}
.faq-section details:first-of-type{border-top:1px solid #8d693d80}
.faq-section summary{padding:20px 5px;font-size:1.125rem;cursor:pointer;font-family:var(--serif)}
.faq-section details>p{font-size:1rem;margin:0 25px 22px}
.faq-section details>.text-link{margin:0 25px 22px}
.menu-category-nav{position:sticky;top:70px;z-index:25;display:flex;justify-content:center;gap:35px;background:var(--paper-light);border-bottom:1px solid var(--line);padding:16px 20px;font-family:var(--serif);font-size:1.125rem}
.menu-category-nav a{padding:2px 20px;border-bottom:2px solid transparent}
.menu-category-nav a:hover,.menu-category-nav a:focus-visible{color:var(--red);border-bottom-color:var(--red)}
.menu-disclaimer{font-size:.8125rem;text-align:center;padding:24px 25px 0}
.menu-category{scroll-margin-top:80px}
.menu-category-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}
.price-list>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-bottom:1px dashed #8d693d80;padding:14px 0;font-size:1.0625rem}
.price-list>div:first-child{border-top:1px dashed #8d693d80}
.price-list strong{font-family:var(--serif);font-size:1.3rem;font-weight:400;white-space:nowrap;color:var(--red)}
.price-list .small-print{margin-top:14px}
.yakitori-caption{display:flex;gap:45px;align-items:center;max-width:870px;margin:50px auto 0}
.yakitori-caption img{width:43%;transform:rotate(-4deg)}
.yakitori-caption h3{font-family:var(--serif);font-size:1.65rem;margin-bottom:12px;line-height:1.6}
.yakitori-caption p{font-size:1rem}
.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.dish-card{background:var(--paper-light);border:1px solid var(--line)}
.dish-card>img{width:100%;aspect-ratio:3/2;object-fit:cover}
.cutout-dish>img{object-fit:contain;padding:12px;background:var(--paper)}
.dish-card>div{padding:23px 24px}
.dish-card h3{font-family:var(--serif);font-size:1.5rem;line-height:1.7}
.dish-card p{font-size:.9375rem;margin:10px 0 15px}
.dish-card strong{font-family:var(--serif);font-size:1.65rem;font-weight:400;color:var(--red)}
.side-price-list{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:0 45px;margin-top:50px}
.side-price-list>div:nth-child(2){border-top:1px dashed #8d693d80}
.drinks-grid{display:grid;grid-template-columns:.75fr 1fr;gap:50px;align-items:center;max-width:920px;margin:auto}
.beer-menu-picture{display:flex;flex-direction:column;align-items:center}
.beer-menu-picture img{max-height:350px;width:auto;max-width:75%;object-fit:contain;transform:rotate(-6deg)}
.beer-menu-picture .speech-tag{margin-top:25px}
.page-cta{padding:65px 30px 80px;background:#e2c28b;background-image:url('assets/paper.svg');text-align:center;border-top:1px solid var(--line)}
.page-cta p{font-family:var(--serif);font-size:1.125rem;margin-bottom:15px}
.page-cta h2{font-family:var(--serif);font-size:1.7rem;line-height:1.7;margin-bottom:30px}
.course-lead{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center;padding:60px 32px 20px}
.course-lead-copy .display-title{font-size:clamp(2rem,3.3vw,2.8rem)}
.course-lead-copy p{font-size:1rem}
.course-plans{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.course-plan{display:flex;flex-direction:column;border:3px solid var(--ink);background:var(--paper-light);box-shadow:6px 7px 0 #422b1e30}
.plan-heading{padding:27px 26px;background:var(--ink);color:var(--paper)}
.plan-heading>p:first-child{font-family:var(--serif);font-size:.9375rem;letter-spacing:.05em}
.plan-heading h2{font-family:var(--serif);font-size:1.8rem;line-height:1.6;margin-top:10px}
.plan-price{font-family:var(--heading);font-size:2.7rem;line-height:1.5;margin-top:10px;color:#eaca80}
.plan-price span{display:block;font-family:var(--body);font-size:.8125rem;color:var(--paper)}
.course-plan>figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
.plan-body{padding:28px 30px 35px;flex:1;display:flex;flex-direction:column}
.plan-body ul{font-size:1rem;line-height:2;margin:0 0 25px;padding-left:1.4em}
.plan-body li::marker{color:var(--red)}
.plan-body>p{font-size:.9375rem;margin-bottom:25px}
.plan-body .red-button{font-size:1rem;margin-top:auto;padding-inline:14px;width:100%}
.notes-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:center;max-width:1000px}
.notes-grid p:not(.eyebrow){font-size:1rem}
.drink-plan-price{margin:27px 0 20px}
.drink-plan-price strong{display:block;font-family:var(--serif);font-size:1.8rem;font-weight:400;color:var(--red)}
.drink-plan-price span{display:block;font-size:.8125rem}
.drink-plan-photo img{height:380px;width:auto;margin:auto;object-fit:contain;max-width:100%}
.course-guide{max-width:950px}
/* 予約デモ：白い中央フォーム */
.reservation-page{background:#f7f6f1;background-image:none}
.reservation-page .page-intro{background:#fff}
.reservation-section{padding:60px 25px 90px}
.form-shell{max-width:740px;margin:auto;background:#fff;padding:38px 45px 48px;border:1px solid #a3907a;box-shadow:0 5px 20px #422b1e12;scroll-margin-top:95px}
.form-demo-note{font-size:.875rem;line-height:1.8;background:#f6ebd4;border-left:4px solid var(--red);padding:15px 18px;margin-bottom:30px}
.form-steps{list-style:none;display:flex;justify-content:space-between;gap:10px;padding:0;margin:0 0 38px;border-bottom:1px solid #b8a998}
.form-steps li{padding:0 3px 16px;font-size:.9375rem;display:flex;align-items:center;gap:9px;border-bottom:3px solid transparent;color:#705c4a}
.form-steps li[aria-current]{color:var(--red);border-bottom-color:var(--red)}
.form-steps li span{width:26px;height:26px;border:1px solid currentColor;border-radius:50%;font-size:.8125rem;line-height:24px;text-align:center}
.form-shell h2{font-family:var(--serif);font-size:1.55rem;line-height:1.7;margin-bottom:20px}
.form-required-note{font-size:.8125rem;margin-bottom:25px}
.form-row{margin:23px 0}
.form-row label:not(.checkbox-label){font-size:1rem;display:flex;align-items:center;gap:12px;margin-bottom:9px}
.form-row input:not([type=checkbox]),.form-row select,.form-row textarea{display:block;width:100%;min-height:49px;border:1px solid #a7937c;background:#fff;border-radius:0;color:var(--ink);font-size:1rem;padding:10px 12px}
.form-row textarea{resize:vertical}
.form-row input::placeholder,.form-row textarea::placeholder{color:#837465;font-size:.9375rem}
.form-row small{display:block;font-size:.8125rem;line-height:1.7;margin-top:8px}
.required-tag,.optional-tag{font-size:.75rem;padding:1px 7px;font-weight:400;line-height:1.6}
.required-tag{background:var(--red);color:#fff}
.optional-tag{background:#eee9e2;color:#5c4b3c}
.form-row-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.checkbox-label{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:.9375rem;cursor:pointer}
.checkbox-label input{width:20px;height:20px;flex:none;margin-top:5px;accent-color:var(--red)}
.checkbox-label:has(input:disabled){color:#80756a}
.form-submit{width:100%;margin-top:20px;min-height:57px}
.form-error{font-size:.9375rem;color:#871d17;background:#fff0e9;border:1px solid #aa241c;padding:12px 16px;margin:20px 0}
.form-actions{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.form-actions .paper-button{margin-top:0}
.form-actions .paper-button,.form-actions .red-button{font-size:1rem;flex:1;min-width:190px;padding:12px 18px}
.form-total{padding:20px 0;color:var(--red);font-family:var(--serif);font-size:1.4rem;border-bottom:1px solid #8d693d55}
.form-shell #reservationComplete{text-align:center}
.form-shell #reservationComplete p{font-size:1rem;margin:18px 0}
.complete-stamp{display:grid;place-content:center;width:75px;height:75px;border:3px double var(--red);border-radius:50%;color:var(--red);font-family:var(--serif);font-size:1.4rem;margin:10px auto 25px;transform:rotate(-6deg)}
.reservation-phone{text-align:center;font-size:.875rem;margin:28px 0 0}
.reservation-page .site-footer{padding-bottom:45px}
.reservation-page .back-top{bottom:22px}
#reservationFields{border:0;padding:0;margin:0;min-inline-size:0}
@media(max-width:1100px){
  .menu-feature-grid{gap:35px;grid-template-columns:1fr 1fr}
  .menu-feature-copy{grid-template-columns:1fr 115px}
  .food-collage{min-height:340px}
  .small-dish-pair figcaption{display:block}
  .small-dish-pair h3{margin-top:5px}
  .course-feature-inner,.access-grid{gap:45px}
  .social-button{min-width:165px}
  .social-buttons{gap:16px}
  .news-card{grid-template-columns:1fr;gap:18px}
  .news-card img{height:auto;aspect-ratio:16/9}
}
@media(max-width:900px){
  .section-pad{padding:75px 30px}
  .section-pad.wide{padding-inline:25px}
  .section-heading{margin-bottom:38px}
  .menu-feature-grid{grid-template-columns:1fr;gap:45px;max-width:610px}
  .food-collage{min-height:410px}
  .menu-feature-copy{grid-template-columns:1fr 160px;gap:25px}
  .menu-text h3{font-size:1.65rem}
  .menu-text p{font-size:1rem}
  .small-dish-pair{margin-top:60px;gap:25px}
  .small-dish-pair h3{font-size:1.25rem}
  .small-dish-pair figcaption{padding:14px 17px}
  .course-feature{padding-top:100px;clip-path:polygon(0 3%,100% 0,100% 100%,0 100%)}
  .course-feature-inner{grid-template-columns:1fr;gap:55px;max-width:610px}
  .course-feature-copy{text-align:center}
  .course-feature-copy>p:not(.eyebrow){font-size:1rem}
  .course-price strong{font-size:2.7rem}
  .shop-paper{padding:30px 30px}
  .info-table>div{grid-template-columns:115px 1fr;gap:20px}
  .access-grid{grid-template-columns:1fr;gap:40px;max-width:610px}
  .access-copy{text-align:center}
  .access-buttons{justify-content:center}
  .map-placeholder{height:330px}
  .news-list{gap:28px}
  .news-card h3{font-size:1.25rem}
  .social-section{padding:42px 30px}
  .social-inner{display:block;text-align:center}
  .social-buttons{margin-top:25px;justify-content:center}
  .social-button{min-width:200px}
  .inner-page{padding-top:66px}
  .page-intro{padding:28px 25px 38px}
  .breadcrumbs{margin-bottom:25px}
  .page-lead{font-size:1rem}
  .intro-collage{grid-template-columns:1fr;gap:40px;max-width:630px}
  .intro-words{text-align:center}
  .intro-words>p{font-size:1rem}
  .intro-photos{padding:15px 15px 0 35px}
  .story-row{grid-template-columns:1fr;gap:38px;max-width:630px}
  .story-row>div:last-child{text-align:center}
  .story-row>div>p:not(.eyebrow):not(.story-number){font-size:1rem}
  .story-reverse>div:first-child{order:0}
  .story-reverse>div:last-child{order:1}
  .two-food-photos{display:flex;gap:20px;padding:10px}
  .two-food-photos img{width:48%;aspect-ratio:3/2;object-fit:cover}
  .two-food-photos img+img{margin:0}
  .room-gallery{gap:25px}
  .room-gallery figcaption h3{font-size:1.25rem}
  .room-gallery figcaption p{font-size:.875rem}
  .menu-category-nav{top:66px;gap:5px;font-size:1rem;padding:12px 14px}
  .menu-category-nav a{padding:4px 20px}
  .menu-category{scroll-margin-top:120px}
  .menu-category-grid{grid-template-columns:1fr;gap:35px;max-width:630px;margin:auto}
  .yakitori-caption{gap:25px;margin-top:35px}
  .yakitori-caption h3{font-size:1.35rem}
  .yakitori-caption p{font-size:.9375rem}
  .speech-tag{font-size:1rem}
  .dish-grid{grid-template-columns:1fr 1fr;gap:22px;max-width:630px}
  .dish-card>div{padding:18px 20px}
  .dish-card h3{font-size:1.3rem}
  .dish-card p{font-size:.875rem}
  .drinks-grid{grid-template-columns:.7fr 1fr;gap:30px}
  .beer-menu-picture img{max-width:100%}
  .price-list>div{font-size:1rem}
  .price-list strong{font-size:1.2rem}
  .course-lead{grid-template-columns:1fr;gap:35px;padding:40px 30px 0;max-width:630px}
  .course-lead-copy{text-align:center}
  .course-plans{gap:26px}
  .plan-heading{padding:23px 20px}
  .plan-heading h2{font-size:1.45rem}
  .plan-price{font-size:2.2rem}
  .plan-body{padding:23px 22px 28px}
  .notes-grid{grid-template-columns:1fr 230px;gap:25px}
  .drink-plan-photo img{height:300px}
}
@media(max-width:650px){
  .section-pad{padding:64px 24px}
  .section-pad.wide{padding-inline:24px}
  .menu-feature-grid{gap:36px}
  .food-collage{min-height:320px}
  .food-base{width:95%;margin-top:12px}
  .food-stamp{width:85px;height:85px;font-size:1rem;left:-8px;top:-14px}
  .skewers-cutout{bottom:-25px;left:-14px}
  .karaage-cutout{bottom:-8px;right:-15px}
  .menu-feature-copy{grid-template-columns:1fr 110px;gap:12px}
  .menu-text h3{font-size:1.35rem;margin-bottom:14px}
  .menu-text p{font-size:.9375rem;line-height:1.9}
  .menu-text .red-button{font-size:.9375rem;padding:12px 15px}
  .price-note{margin:20px 0}
  .price-note strong{font-size:1.65rem}
  .small-dish-pair{grid-template-columns:1fr;gap:28px;margin-top:55px}
  .small-dish-pair figcaption{display:flex;align-items:center;gap:12px;padding:14px 17px}
  .small-dish-pair figcaption span{font-size:.8125rem}
  .small-dish-pair h3{font-size:1.3rem;margin:0}
  .course-feature{padding-top:90px;padding-bottom:90px}
  .course-feature-inner{gap:38px}
  .party-photo{transform:rotate(2deg)}
  .shop-paper{padding:25px 22px}
  .paper-caption{font-size:1.3rem}
  .info-table>div{grid-template-columns:1fr;gap:4px;padding:15px 0}
  .info-table dt{font-size:.875rem;color:#786047}
  .info-table dd{font-size:1rem}
  .map-placeholder{height:300px}
  .map-label{padding:22px 16px}
  .map-label strong{font-size:1rem}
  .access-buttons{gap:14px}
  .access-buttons .paper-button,.access-buttons .red-button{flex:1;padding-inline:12px;font-size:.9375rem}
  .news-list{grid-template-columns:1fr;gap:30px}
  .news-card{grid-template-columns:34% 1fr;gap:18px;padding:20px 0}
  .news-card img{height:100%;min-height:190px;aspect-ratio:auto}
  .news-card h3{font-size:1.2rem}
  .news-card>div>p:not(.news-meta){font-size:.875rem}
  .news-meta{gap:8px;font-size:.75rem;flex-wrap:wrap}
  .social-section{padding:40px 24px}
  .social-inner h2{font-size:1.4rem}
  .social-buttons{gap:15px}
  .social-button{min-width:0;flex:1;padding:12px 10px}
  .social-button>span{font-size:1.25rem}
  .social-button small{font-size:.75rem}
  .page-intro h1{font-size:2.2rem}
  .intro-photos{padding:10px 6px 0 20px}
  .entrance-card{width:73%;margin-top:-35px;margin-left:-20px}
  .photo-card{border-width:4px;box-shadow:4px 5px 0 #422b1e24}
  .photo-card figcaption{padding:11px 14px;font-size:.875rem}
  .story-row{gap:32px}
  .story-number{font-size:2.3rem}
  .two-food-photos{display:block;padding:10px 10px 0 0}
  .two-food-photos img{width:83%}
  .two-food-photos img+img{margin:-25px 0 0 auto}
  .room-gallery{grid-template-columns:1fr;gap:30px}
  .faq-section summary{font-size:1rem;padding:18px 3px}
  .faq-section details>p{font-size:.9375rem;margin-left:15px;margin-right:15px}
  .menu-category-nav a{padding-inline:14px;font-size:.9375rem}
  .menu-category-grid{gap:28px}
  .yakitori-caption{display:block;text-align:center}
  .yakitori-caption img{width:82%;max-width:370px;margin:0 auto 25px}
  .dish-grid{grid-template-columns:1fr}
  .dish-card h3{font-size:1.4rem}
  .dish-card p{font-size:.9375rem}
  .side-price-list{grid-template-columns:1fr;margin-top:35px}
  .side-price-list>div:nth-child(2){border-top:0}
  .drinks-grid{grid-template-columns:1fr;gap:30px}
  .beer-menu-picture img{height:270px}
  .price-list>div{font-size:1rem;gap:15px}
  .price-list strong{font-size:1.2rem}
  .page-cta{padding:55px 24px 65px}
  .page-cta h2{font-size:1.4rem}
  .course-lead{padding:35px 24px 0}
  .course-plans{grid-template-columns:1fr;gap:35px}
  .plan-heading h2{font-size:1.75rem}
  .plan-price{font-size:2.5rem}
  .notes-grid{grid-template-columns:1fr;text-align:center;gap:25px}
  .drink-plan-photo img{height:270px}
  .drink-plan-price strong{font-size:1.6rem}
  .reservation-section{padding:35px 16px 60px}
  .form-shell{padding:26px 22px 32px}
  .form-steps{gap:6px}
  .form-steps li{gap:5px;font-size:.8125rem;padding-bottom:12px}
  .form-steps li span{width:22px;height:22px;line-height:20px;font-size:.75rem}
  .form-shell h2{font-size:1.3rem}
  .form-demo-note{font-size:.8125rem;padding:12px 14px}
  .form-row-pair{grid-template-columns:1fr;gap:20px}
  .form-actions{gap:17px}
  .form-actions .paper-button,.form-actions .red-button{flex-basis:100%;min-width:0}
  .form-total{font-size:1.2rem}
}
@media(max-width:360px){
  .food-collage{min-height:255px}
  .menu-feature-copy{grid-template-columns:1fr 80px;gap:8px}
  .menu-text h3{font-size:1.2rem}
  .menu-text p{font-size:.9375rem}
  .small-dish-pair figcaption{display:block}
  .small-dish-pair h3{margin-top:3px}
  .news-card{grid-template-columns:1fr}
  .news-card img{aspect-ratio:3/2;height:auto;min-height:0}
  .social-buttons{flex-direction:column}
  .form-shell{padding-inline:17px}
  .form-steps li{font-size:.75rem}
}

/* 小さい画面でも写真操作の文字を折り返さず、指で押せる大きさに保つ */
.slide-controls button{padding:0;white-space:nowrap;min-width:44px;min-height:44px}
html:has(body.reduce-motion){scroll-behavior:auto!important}

/* 参考の写真比率、木目、年季のある和紙を基準にした再構成 */
:root{--paper:#ddbb72;--paper-light:#f3dda1;--gold:#daa12d;--ink:#301a0f;--red:#a92113}
body{background-color:#ddbb72;background-image:url('assets/backgrounds/washi.png');background-size:1254px auto}
.hero{padding:0 0 22px;background:#d99622 url('assets/backgrounds/rays.png') center/cover;border-bottom:0}
.hero:before{display:none}
.masthead-space{height:190px}
.hero-heading{margin-bottom:16px;color:#fff7dc;text-shadow:2px 2px 0 #6f2d13}
.hero-heading h1{font-family:var(--serif)}
.game-frame{width:84%;max-width:1600px;padding:10px 20px 0;border:2px solid #c99637;border-radius:0;background:transparent;box-shadow:none}
.game-frame:before{display:none}
.photo-window{aspect-ratio:3.4/1;border:2px solid #744e1e;outline:2px solid #ecca71}
.hero-slide{object-position:50% 50%}
.frame-side{color:#fff5d4;text-shadow:1px 1px #66240e;font-weight:700;top:15%;font-size:1rem}
.frame-side-left{left:-47px}.frame-side-right{right:-47px}
.frame-bottom{min-height:57px;padding:8px 0;gap:24px}.frame-caption{font-size:1.1rem;color:#fff3cc;text-shadow:1px 1px #772e12}
.slide-controls{gap:32px}.slide-controls button{border:3px solid #a52213;background:radial-gradient(circle at 40% 30%,#535353,#171717 65%);color:#fff;box-shadow:inset 0 0 0 3px #cbb898,0 0 0 2px #f1d397}
.slide-controls button[data-slide=pause]{background:radial-gradient(circle at 40% 30%,#484848,#161616 65%);box-shadow:inset 0 0 0 3px #cbb898}
.hero-footnote{margin-top:8px;color:#fff5d1;font-size:1rem;text-shadow:1px 1px #67270c}.scroll-cue{color:#fff5d1}
.brand{background:#a62216 url('assets/backgrounds/wood.png') center/cover;background-blend-mode:soft-light;padding:9px 48px 14px;border-bottom:4px solid #e8bb51;clip-path:polygon(0 0,100% 0,88% 100%,12% 100%)}
.brand-name{color:#fff3d1;text-shadow:2px 2px #571506}.brand-kicker,.brand-reading{color:#ffe6a2}
.header-inner{max-width:1400px}.phone-box{color:#ffe5a2;text-shadow:1px 1px #6b3211}.phone-box small{background:#a42416;color:white;padding:2px 10px;text-shadow:none}
.main-nav a{color:#fff;font-weight:700;text-shadow:1px 1px #301a0f;font-size:1rem}
.is-scrolled .site-header,.inner-page .site-header{background:#d4a555 url('assets/backgrounds/washi.png') center 40%/cover;border-bottom:1px solid #8e5526}
.is-scrolled .brand,.inner-page .brand{background:none;clip-path:none;padding:0;border:0}
.is-scrolled .brand-name,.inner-page .brand-name{color:#9e2214}
.header-reserve,.booking-tab{border:3px solid #e7b74d;background:#a82113 url('assets/backgrounds/wood.png') center/cover;background-blend-mode:soft-light;box-shadow:none}
.paper-button,.red-button{position:relative;border:4px solid #d1a14d;background:#a82113 url('assets/backgrounds/wood.png') center/cover;background-blend-mode:soft-light;color:#fff9e8;box-shadow:none;padding:13px 42px 13px 27px;font-weight:700;text-shadow:1px 1px #6b1f10}
.paper-button:after,.red-button:after{content:'›';position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:25px;height:25px;line-height:22px;text-align:center;border-radius:50%;color:#3f2317;background:#fff;text-shadow:none;font-family:Arial,sans-serif;font-size:28px}
.paper-button:hover,.red-button:hover{box-shadow:0 0 0 2px #f8d779;transform:translateY(-1px)}
.dark-wood,.course-feature,.room-gallery-section,.site-footer,.plan-heading{background:#2d170e url('assets/backgrounds/wood.png') center/cover;color:#fff5dc}
.dark-wood{position:relative}.retro-title{font-family:var(--serif);font-weight:700;font-size:clamp(2.6rem,4.6vw,4.5rem);line-height:1.45;color:#fff8e8;text-shadow:4px 4px 0 #a32014;margin-bottom:30px}
.retro-title em,.retro-title>span{font-style:normal;color:#ebb73d}.retro-title em{font-size:1.14em}
.beer-story{padding-top:90px;padding-bottom:65px}.beer-story-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;max-width:1100px}.beer-story-copy{padding-left:45px}.beer-story-copy>p:not(.eyebrow){color:#efbd55;font-size:1rem;line-height:2}.beer-story-copy .red-button{margin-top:30px}.beer-story-picture{width:100%;height:660px;object-fit:contain;transform:rotate(-7deg);filter:drop-shadow(9px 10px 0 #a32014)}
.food-table-story{padding-top:45px;padding-bottom:110px}.food-table-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;max-width:1180px}.food-table-inner figure img{width:100%;min-height:380px;object-fit:cover}.food-table-inner .retro-title{font-size:clamp(2.4rem,3.6vw,3.5rem)}.food-table-inner p{font-size:1rem;line-height:2}.food-table-inner .price-note{color:#ecc265}.price-note small{display:block;color:#eed7a1;font-size:.8rem}.food-table-inner .red-button{margin-top:10px}
.bulb-border{left:0;right:0;bottom:0;height:16px;border:0;background-color:#b52214;background-image:radial-gradient(circle at 50% 50%,#fff9d8 0 4px,#ffec97 5px,#d3922c 6px,transparent 7px);background-size:19px 16px}
.dish-stories{background:#ba9455 url('assets/backgrounds/washi.png') center/cover;padding-top:85px;padding-bottom:125px}.dish-stories .section-heading .retro-title{font-size:clamp(2rem,3.7vw,3.5rem)}.dish-stories .section-heading>p{color:#fff6e1}.dish-story{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;max-width:950px;margin:65px auto 110px}.dish-story:last-child{margin-bottom:0}.dish-story-photo img{width:100%;height:360px;object-fit:contain}.dish-story-photo:has(img[src*="sashimi"]) img,.dish-story-photo:has(img[src*="egg"]) img{object-fit:cover;border:3px solid #4c2816}.dish-story-copy h3{font-family:var(--serif);font-weight:700;font-size:2rem;color:#fff7de;text-shadow:3px 3px #9d2517;margin:6px 0 20px}.dish-story-copy p{font-size:1rem;line-height:2;color:#372011}.dish-story-copy .text-link{color:#681a12;margin-top:15px}.dish-story-reverse .dish-story-photo{order:2}.dish-story-reverse .dish-story-copy{order:1;text-align:right}
.speech-tag{border:0;background:transparent url('assets/speech-retro.svg') center/100% 100% no-repeat;font-family:var(--serif);font-weight:700;color:#392014;text-align:center;min-width:265px;padding:26px 32px 40px;font-size:1.5rem;line-height:1.4;transform:rotate(-5deg);margin-bottom:12px}.speech-tag:after{display:none}.dish-story-reverse .speech-tag{transform:rotate(5deg)}
.wave-pattern{background-image:url('assets/wave-retro.svg'),url('assets/backgrounds/washi.png');background-size:160px 80px,1254px auto;background-blend-mode:multiply,normal}
.dish-stories.wave-pattern{background-size:160px 80px,cover}
.course-feature{padding:0;clip-path:polygon(0 7%,100% 0,100% 100%,0 100%);margin-top:-75px;position:relative;overflow:hidden}.course-feature-inner{display:grid;grid-template-columns:36% 64%;gap:0;min-height:650px;width:100%;max-width:none}.course-feature-copy{padding:100px 30px 75px max(35px,calc((100vw - 1280px)/2));z-index:1}.course-feature-copy .retro-title{font-size:clamp(2rem,3vw,3.3rem)}.course-feature-copy .eyebrow{color:#ecc77c}.course-feature-copy>p:not(.eyebrow){font-size:1rem;line-height:2}.course-feature-copy .course-price{margin-top:25px}.party-photo{transform:none;border:0;background:none;height:100%;margin-left:-50px;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);box-shadow:none}.party-photo img{width:100%;height:100%;min-height:650px;object-fit:cover;object-position:50% center;aspect-ratio:auto}
.shop-section{padding:0;position:relative;background:#c9a16b;isolation:isolate}.shop-background{display:grid;grid-template-columns:1fr 1fr;inset:0}.shop-background img{opacity:1;height:100%;width:100%;object-fit:cover;object-position:center}.shop-background:after{background:linear-gradient(180deg,#e3bb6578,#dfb76399 55%,#d9b569ef)}.shop-paper{max-width:750px;min-height:850px;position:relative;margin:auto;border:0;border-radius:0;box-shadow:none;padding:65px 65px 80px;background:#d7ad62 url('assets/backgrounds/washi.png') center/cover}.shop-paper .section-heading{margin-bottom:32px}.shop-paper .display-title{font-family:var(--serif);font-weight:700;font-size:3.1rem;color:#341c10}.paper-caption{font-size:1.5rem;color:#552213;margin-bottom:32px}.info-table>div{border-bottom:1px solid #523416;padding:22px 0;grid-template-columns:125px 1fr}.info-table>div:first-child{border-top:1px solid #523416}.shop-paper .info-table dd{font-size:1rem}.shop-paper .info-table dt{font-size:.9rem}.shop-paper .info-table dd small{color:#4f321b}
.page-intro,.story-tinted,.page-cta,.access-section,.news-section,.social-section{background-color:#d6ad62;background-image:url('assets/backgrounds/washi.png');background-size:cover}
.page-intro h1,.display-title{font-family:var(--serif);font-weight:700}.page-intro h1{color:#9f2314;text-shadow:2px 2px #efd58c}
.intro-welcome{background-color:#cfa361}.intro-photos{display:grid;gap:30px;padding:0}.intro-photos .photo-card,.entrance-card{width:100%;transform:none!important;margin:0!important}.photo-card{box-shadow:none;border:4px solid #4b2818}.two-food-photos{display:grid;gap:25px;padding:0}.two-food-photos img,.two-food-photos img+img{width:100%;margin:0;transform:none;box-shadow:none;aspect-ratio:3/2;object-fit:cover}.story-tinted .two-food-photos{max-width:520px}.room-gallery-section .display-title{color:#fff4d7;text-shadow:3px 3px #9e2716}.plan-heading{color:#fff1cb}.course-plan{box-shadow:none}.plan-body{background:#e6c785 url('assets/backgrounds/washi.png') center/cover}.dish-card{background:#ebcd8b url('assets/backgrounds/washi.png') center/cover}.cutout-dish>img{background:transparent}.story-row .display-title{color:#6e2014;text-shadow:2px 2px #efd793}.page-cta .red-button{margin-top:12px}
@media(max-width:1100px){.main-nav a{padding-inline:10px}.beer-story-copy{padding-left:0}.beer-story-picture{height:550px}.course-feature-copy{padding-left:35px}.shop-paper{max-width:700px;padding-inline:45px}}
@media(max-width:900px){.hero{padding:0 16px 24px}.masthead-space{height:155px}.game-frame{width:100%;padding:8px 8px 0}.photo-window{aspect-ratio:2.6/1}.frame-side{display:none}.frame-caption{font-size:1rem}.frame-bottom{flex-direction:row;gap:16px;min-height:65px}.slide-controls{gap:10px}.hero-heading{flex-direction:column;gap:2px}.brand{padding:9px 32px 13px}.is-scrolled .brand,.inner-page .brand{padding:0}.phone-box{display:none}.main-nav a{color:#512714;text-shadow:none}.beer-story-inner{grid-template-columns:1fr 1fr;gap:20px}.beer-story{padding:65px 30px}.beer-story-picture{height:440px}.beer-story .retro-title{font-size:2.6rem}.beer-story-copy>p:not(.eyebrow){font-size:.95rem}.food-table-inner{grid-template-columns:1fr;gap:30px}.food-table-inner>div{text-align:center}.food-table-inner figure{max-width:700px;margin:auto}.food-table-inner figure img{min-height:0}.dish-story{gap:35px;margin-bottom:70px}.dish-story-photo img{height:300px}.speech-tag{min-width:220px;font-size:1.25rem;padding:23px 25px 34px}.course-feature{margin-top:-40px}.course-feature-inner{grid-template-columns:42% 58%;min-height:600px}.course-feature-copy{padding:80px 20px 70px 30px;text-align:left}.course-feature-copy .retro-title{font-size:2.25rem}.party-photo{margin-left:-25px}.party-photo img{min-height:600px}.shop-paper{width:72%;max-width:700px;padding:50px 35px;min-height:800px}.shop-paper .display-title{font-size:2.7rem}.shop-paper .info-table>div{grid-template-columns:100px 1fr;gap:15px}.two-food-photos{display:grid}.two-food-photos img,.two-food-photos img+img{width:100%}}
@media(max-width:650px){.hero{padding:0 12px 20px}.masthead-space{height:150px}.photo-window{aspect-ratio:1.9/1}.game-frame{border-width:1px;padding:5px 5px 0}.frame-bottom{flex-direction:column;gap:10px;padding:13px 0}.hero-heading h1{font-size:1.4rem}.frame-caption{font-size:1.05rem}.beer-story-inner{grid-template-columns:1fr;gap:15px}.beer-story-copy{text-align:center}.beer-story{padding:60px 24px 35px}.beer-story .retro-title{font-size:2.5rem}.beer-story-picture{height:400px;max-width:85%;margin:auto;transform:rotate(-5deg)}.food-table-story{padding:35px 24px 70px}.food-table-inner .retro-title{font-size:2.15rem}.dish-stories{padding:65px 24px 80px}.dish-stories .section-heading .retro-title{font-size:2rem}.dish-story{display:flex;flex-direction:column;gap:20px;margin:45px auto 70px}.dish-story .dish-story-photo,.dish-story-reverse .dish-story-photo{order:0;width:100%}.dish-story .dish-story-copy,.dish-story-reverse .dish-story-copy{order:1;text-align:center;width:100%}.dish-story-photo img{height:auto;max-height:330px}.dish-story-copy h3{font-size:1.75rem}.speech-tag{min-width:235px;font-size:1.35rem}.course-feature{margin-top:-30px;clip-path:polygon(0 2%,100% 0,100% 100%,0 100%)}.course-feature-inner{display:flex;flex-direction:column;min-height:0}.course-feature-copy{padding:75px 25px 50px;text-align:center}.course-feature-copy .retro-title{font-size:2.35rem}.party-photo{width:100%;height:auto;margin:0;clip-path:polygon(0 7%,100% 0,100% 100%,0 100%)}.party-photo img{height:auto;min-height:0;aspect-ratio:3/2}.course-feature .bulb-border{bottom:0}.shop-paper{width:88%;padding:48px 25px 65px;min-height:0}.shop-paper .display-title{font-size:2.35rem}.shop-paper .info-table>div{display:block;padding:18px 0}.shop-paper .info-table dd{margin-top:5px}.shop-paper .info-table dt{color:#42240f}.paper-caption{font-size:1.2rem}.shop-background img{object-position:60% center}.intro-photos{gap:24px}.two-food-photos img,.two-food-photos img+img{width:100%;margin:0;transform:none}.paper-button,.red-button{padding:12px 32px 12px 18px;border-width:3px}.retro-title{text-shadow:3px 3px #a32014}.header-reserve,.booking-tab{border-width:3px}.plan-body .red-button{padding-right:26px}.course-feature-copy .red-button{margin-top:22px}}

/* 承認された追加写真と、内側ページの斜め構成 */
.beer-story-inner:has(.beer-hand-picture){grid-template-columns:.9fr 1.2fr;max-width:1280px}.beer-hand-picture{height:650px;transform:rotate(-4deg);max-width:100%;filter:drop-shadow(10px 10px 0 #a32014)}
.table-beer-accent{display:flex;gap:18px;align-items:center;margin:28px 0 0}.table-beer-accent img{height:175px;width:auto;max-width:40%;object-fit:contain;transform:rotate(5deg)}.table-beer-accent figcaption{font-family:var(--serif);font-size:1.15rem;color:#eabf60}
.course-lead{max-width:none;width:100%;padding:0;display:grid;grid-template-columns:40% 60%;gap:0;background:#30190f url('assets/backgrounds/wood.png') center/cover;color:#fff4d8;overflow:hidden}
.course-lead>figure{order:2;border:0;box-shadow:none;background:none;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);margin-left:-40px}.course-lead>figure img{height:590px;aspect-ratio:auto;object-fit:cover}.course-lead-copy{order:1;padding:65px 40px 65px max(35px,calc((100vw - 1280px)/2))}.course-lead-copy .speech-tag{font-size:1.3rem;min-width:240px}.course-lead-copy .retro-title{font-size:clamp(2.2rem,3vw,3.2rem)}.course-lead-copy>p{color:#fff3d5;line-height:2}
@media(max-width:900px){.beer-story-inner:has(.beer-hand-picture){grid-template-columns:1fr 1fr}.beer-hand-picture{height:480px}.course-lead-copy{padding:55px 25px 55px 30px;text-align:left}.course-lead>figure img{height:580px}.course-lead-copy .retro-title{font-size:2.2rem}}
@media(max-width:650px){.beer-story-inner:has(.beer-hand-picture){grid-template-columns:1fr}.beer-hand-picture{height:380px;max-width:100%}.table-beer-accent{justify-content:center}.table-beer-accent img{height:140px}.course-lead{display:flex;flex-direction:column}.course-lead-copy{padding:45px 24px;text-align:center}.course-lead>figure{margin:0;width:100%;clip-path:polygon(0 6%,100% 0,100% 100%,0 100%)}.course-lead>figure img{height:auto;aspect-ratio:3/2}.course-lead-copy .speech-tag{min-width:235px}.course-lead-copy .retro-title{font-size:2.3rem}}

/* 横長の主画面では顔と入口の看板を見せ、ビールは手前へ大きく出す */
.hero-slide[src*="02-beer-moment"]{object-position:50% 25%}
.hero-slide[src*="03-entrance"]{object-position:50% 18%}
.beer-story{overflow:hidden}
@media(min-width:951px){.beer-story-inner:has(.beer-hand-picture){grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.beer-hand-picture{width:125%;max-width:none;justify-self:start}}

/* 吹き出しの形を文字幅に合わせ、和紙上の細い文字を読みやすくする */
.dish-stories .section-heading p{color:#3b2115}

/* 参考のように大きく斜めへ切り替え、左の文字には余白を取る */
@media(min-width:951px){.course-feature{clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}.course-feature-copy{padding-top:130px}}


/* 手で掲げる乾杯の構図 */
.beer-story-inner:has(.beer-toast-visual){grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);max-width:1280px}
.beer-toast-visual{position:relative;margin:0;min-width:0;isolation:isolate}
.beer-toast-visual .beer-hand-picture{display:block;width:130%;max-width:none;height:700px;object-fit:contain;transform:none;rotate:-10deg;transform-origin:40% 65%;filter:drop-shadow(12px 16px 0 #a32014)}
.beer-toast-burst{position:absolute;left:8%;top:1%;width:190px;height:105px;z-index:1;rotate:-10deg;pointer-events:none}
.beer-toast-burst i{position:absolute;display:block;width:27px;height:85px;background:#fff5de;clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(5px 5px 0 #a32014);transform-origin:50% 100%}
.beer-toast-burst i:nth-child(1){left:30px;bottom:0;rotate:-33deg}
.beer-toast-burst i:nth-child(2){left:95px;bottom:0;rotate:6deg;background:#efb83e;height:105px}
.beer-toast-burst i:nth-child(3){left:150px;bottom:0;rotate:43deg;height:70px}
@media(max-width:950px){.beer-story-inner:has(.beer-toast-visual){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.beer-toast-visual .beer-hand-picture{width:125%;height:500px}.beer-toast-burst{scale:.75;transform-origin:0 0;left:10%;top:0}}
@media(max-width:650px){.beer-story-inner:has(.beer-toast-visual){grid-template-columns:1fr;gap:55px}.beer-toast-visual{width:100%;margin:0 auto}.beer-toast-visual .beer-hand-picture{width:115%;height:auto;max-width:none;max-height:430px;margin:0;rotate:-9deg}.beer-toast-burst{left:3%;top:-28px;scale:.55}}

/* 料理の古紙札：太い朱色の見出しと読みやすい墨色本文 */
.food-copy-ticket,.story-copy-ticket{position:relative;min-width:0;background:#eed6a0 url('assets/backgrounds/washi.png') center/cover;color:#352015;border:1px solid #86562d;padding:38px 35px 36px;box-shadow:4px 6px 10px #1f110f30,inset 0 0 0 7px #e6c78e,inset 0 0 0 8px #997144}
.food-copy-ticket:before{content:'夕凪の定番';display:block;border-bottom:1px solid #946235;padding:0 0 13px;margin-bottom:25px;font-family:var(--serif);font-weight:700;font-size:.9rem;letter-spacing:.18em;color:#752918}
.food-copy-ticket[data-ticket]:before{content:'夕凪の定番　其の' attr(data-ticket)}
.food-table-inner .food-copy-ticket:before{display:none}.ticket-kicker{font-family:var(--serif);font-weight:700;color:#922a18;letter-spacing:.1em;border-bottom:1px solid #93622e;margin-bottom:24px;padding-bottom:14px}
.food-copy-ticket .retro-title,.dish-story-copy h3{font-family:var(--heading);font-weight:400;color:#942819;text-shadow:none;font-size:clamp(2rem,3.1vw,3rem);line-height:1.5;margin:8px 0 22px}
.food-copy-ticket .retro-title em{color:#3d2114;font-size:1.03em}.food-table-inner .food-copy-ticket p,.dish-story-copy p{color:#302017;font-size:1.05rem;line-height:2}
.food-copy-ticket .price-note{color:#812916!important;border-block:1px solid #ad8155;padding:15px 0;margin:25px 0}.food-copy-ticket .price-note small{color:#614630}.food-copy-ticket .table-beer-accent figcaption{color:#782c1a;font-weight:700}.dish-story-reverse .dish-story-copy{text-align:left}
.dish-story-copy .text-link{color:#8f2616;font-size:1.05rem;font-weight:600}.dish-stories .section-heading .retro-title{color:#472317;text-shadow:none;font-family:var(--heading);font-weight:400}.dish-stories .section-heading .retro-title em{color:#9d2718}.dish-stories .section-heading>p{font-size:1.1rem;font-weight:500;color:#4f2d1b}
.story-copy-ticket .story-number{font-family:var(--serif);font-weight:700;color:#9b2c1b;border-bottom:1px solid #98724d;padding-bottom:15px;margin-bottom:25px}.story-row .story-copy-ticket .display-title{font-family:var(--heading);font-weight:400;color:#87291a;text-shadow:none}.story-row .story-copy-ticket>p:not(.story-number){color:#392217}
/* 吹き出しは固定画像ではなく、内容の高さに追従する角張った札 */
.speech-tag,.dish-story-copy .speech-tag,.course-lead-copy .speech-tag,.beer-menu-picture .speech-tag{display:inline-block;position:relative;isolation:isolate;width:auto;height:auto;min-width:0;max-width:100%;min-height:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;padding:13px 18px;margin:0 0 24px;border:3px solid #482719;background:#fff5d9;background-image:none;box-shadow:3px 4px 0 #7b4a2930;border-radius:0;clip-path:none;transform:none;rotate:-1deg;color:#3d2318;font-family:var(--serif);font-weight:700;font-size:clamp(1rem,1.7vw,1.4rem);line-height:1.6;text-align:center;text-shadow:none}
.speech-tag:before{content:none;display:none;background:none;clip-path:none}.speech-tag:after{content:'';display:block;position:absolute;left:24px;right:auto;top:auto;bottom:-12px;width:18px;height:18px;background:#fff5d9;border:0;border-right:3px solid #482719;border-bottom:3px solid #482719;transform:skewY(18deg) rotate(35deg);z-index:-1}
.dish-story-reverse .speech-tag{transform:none;rotate:1deg}.beer-menu-picture .speech-tag{margin-top:28px}.course-lead-copy .speech-tag{background:#fff0c8;color:#402116}
/* 切抜きは敷き台、四角い写真は古いプリントの余白で使い分ける */
.dish-story-photo{position:relative;isolation:isolate;padding:18px 14px 26px;min-width:0;rotate:-2deg;filter:drop-shadow(5px 8px 5px #38211435)}
.dish-story-photo:has(img[src*="yakitori"]):before,.dish-story-photo:has(img[src*="karaage"]):before{content:'';position:absolute;inset:22% 2% 8%;z-index:-1;border:6px double #986c37;border-radius:50%;background:#3d2419 url('assets/backgrounds/wood.png') center/cover;box-shadow:0 7px 10px #3a1e1238}
.dish-story-photo img{position:relative;filter:drop-shadow(3px 5px 4px #2d190f33)}
.dish-story-reverse .dish-story-photo{rotate:2deg}
.dish-story-photo:has(img[src*="sashimi"]),.dish-story-photo:has(img[src*="egg"]){background:#f1dfb6 url('assets/backgrounds/washi.png') center/cover;border:2px solid #765335;padding:13px 13px 30px;box-shadow:inset 0 0 0 5px #e9d3a4}
.dish-story-photo:has(img[src*="sashimi"]) img,.dish-story-photo:has(img[src*="egg"]) img{border:1px solid #876440;filter:none}
.food-print{padding:15px 15px 35px;background:#e8d0a4 url('assets/backgrounds/washi.png') center/cover;border:2px solid #94603a;box-shadow:6px 8px 12px #10090570;rotate:-2deg;min-width:0}.food-table-inner .food-print img{border:1px solid #63401f}
.photo-card:not(.party-photo),.intro-photos .photo-card,.room-gallery .photo-card{padding:10px 10px 0;border:3px solid #59361f;background:#e6d0a5 url('assets/backgrounds/washi.png') center/cover;box-shadow:4px 6px 8px #321b102d;rotate:-1deg}
.photo-card:not(.party-photo)>img{border:1px solid #896849}.photo-card:not(.party-photo) figcaption{padding:14px 12px 18px;color:#432819}.intro-photos .photo-card:nth-child(2),.room-gallery .photo-card:nth-child(2){rotate:1deg}
.two-food-photos{gap:32px}.two-food-photos img,.two-food-photos img+img{padding:10px 10px 24px;border:2px solid #59361f;background:#eedabb;box-shadow:4px 6px 9px #321b1033;rotate:-1.5deg}.two-food-photos img+img{rotate:1.5deg}
.news-card figure{padding:7px 7px 17px;border:1px solid #735130;background:#ecd7ae;rotate:-1deg;box-shadow:3px 4px 6px #321b1022}.news-card img{border:1px solid #8d6a48}
.dish-card{border:2px solid #755333;box-shadow:3px 4px 7px #321b1024;min-width:0}.dish-card-photo{padding:10px 10px 18px;background:#ead1a2}.dish-card-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid #9a7756;rotate:-1deg}.dish-card:nth-child(2) .dish-card-photo img{rotate:1deg}.dish-card h3{font-weight:700;color:#8e2919}.dish-card>div{padding:24px}.dish-card p{color:#392416;font-size:1rem;line-height:1.9}
.cutout-dish .dish-card-photo{position:relative;isolation:isolate;background:transparent;padding:15px}.cutout-dish .dish-card-photo:before{content:'';position:absolute;inset:27% 7% 11%;border:5px double #9b7747;border-radius:50%;background:#4c2b19 url('assets/backgrounds/wood.png') center/cover;z-index:-1;box-shadow:0 5px 8px #321b1033}.cutout-dish .dish-card-photo img{border:0;object-fit:contain;background:transparent;filter:drop-shadow(3px 5px 3px #2c170e35)}
.yakitori-caption>img{background:#b88c48 url('assets/backgrounds/washi.png') center/cover;padding:18px 12px;border:5px double #775131;box-shadow:4px 6px 8px #321b1026;rotate:-2deg;transform:none}
.yakitori-caption>div{min-width:0;background:#efdaac url('assets/backgrounds/washi.png') center/cover;padding:25px;border:1px solid #976d42}.yakitori-caption h3{color:#902b18;font-weight:700}.yakitori-caption p{color:#382416}
.beer-menu-picture,.drink-plan-photo{position:relative;isolation:isolate;min-width:0;padding-bottom:30px}.beer-menu-picture:before,.drink-plan-photo:before{content:'';position:absolute;bottom:22px;left:12%;right:12%;height:55px;z-index:-1;background:#654025 url('assets/backgrounds/wood.png') center/cover;border:4px double #a78651;border-radius:50%;box-shadow:0 8px 10px #321b102c}.beer-menu-picture img,.drink-plan-photo img{filter:drop-shadow(4px 6px 4px #321b1035)}
.course-plan>figure{padding:11px 11px 22px;background:#e9d0a2}.course-plan>figure img{border:1px solid #865737}.plan-heading h2{font-weight:700}.plan-body ul,.plan-body>p{color:#352215}
/* 大きい主写真、背景内観、斜めの宴会はカード化しない */
.photo-window{box-shadow:inset 0 0 0 1px #efd692,0 5px 10px #54281355}.welcome-photo img{box-shadow:none}.party-photo{padding:0;rotate:0}.party-photo img,.course-lead>figure img{border:0;box-shadow:inset 0 0 25px #321b1033}.course-lead>figure.photo-card{padding:0;border:0;rotate:0;background:none;box-shadow:none}.table-beer-accent img{filter:drop-shadow(3px 5px 4px #38221445)}
@media(max-width:900px){.food-copy-ticket,.story-copy-ticket{padding:30px 25px}.dish-story{gap:35px}.food-copy-ticket .retro-title,.dish-story-copy h3{font-size:2.2rem}.food-table-inner .food-print{margin:0 auto 15px}.food-table-inner .food-copy-ticket{text-align:left}.yakitori-caption{gap:24px}}
@media(max-width:650px){.food-copy-ticket,.story-copy-ticket{padding:27px 22px;box-shadow:3px 4px 7px #321b1024,inset 0 0 0 5px #e6c78e,inset 0 0 0 6px #997144}.food-copy-ticket .retro-title,.dish-story-copy h3{font-size:1.8rem;line-height:1.6}.dish-story .dish-story-copy,.dish-story-reverse .dish-story-copy{text-align:left}.food-table-inner .food-copy-ticket p,.dish-story-copy p{font-size:1rem;line-height:1.95}.food-copy-ticket:before{font-size:.85rem;letter-spacing:.07em;margin-bottom:23px}.speech-tag,.dish-story-copy .speech-tag,.course-lead-copy .speech-tag,.beer-menu-picture .speech-tag{min-width:0;width:auto;max-width:100%;padding:11px 14px;font-size:1.05rem;line-height:1.7;white-space:normal;margin-bottom:24px;rotate:0}.dish-story-reverse .speech-tag{rotate:0}.dish-story-photo{width:100%;padding:12px 8px 18px;rotate:-1deg}.dish-story-reverse .dish-story-photo{rotate:1deg}.dish-story-photo:has(img[src*="sashimi"]),.dish-story-photo:has(img[src*="egg"]){padding:9px 9px 21px}.food-print{padding:10px 10px 24px;rotate:-1deg}.photo-card:not(.party-photo),.intro-photos .photo-card,.room-gallery .photo-card{padding:7px 7px 0;rotate:0}.two-food-photos img,.two-food-photos img+img{padding:8px 8px 20px;rotate:0}.dish-card-photo{padding:8px 8px 15px}.dish-card>div{padding:20px}.yakitori-caption>div{padding:22px;text-align:left}.yakitori-caption>img{padding:14px 10px;width:90%;margin-bottom:28px}.news-card figure{padding:5px 5px 13px;rotate:0}.course-plan>figure{padding:8px 8px 18px}.course-lead>figure.photo-card{padding:0;rotate:0}.story-row .story-copy-ticket .display-title{font-size:1.8rem}.food-copy-ticket .table-beer-accent{gap:12px}.food-copy-ticket .table-beer-accent figcaption{font-size:1rem}}
@media(max-width:360px){.food-copy-ticket,.story-copy-ticket{padding:25px 17px}.food-copy-ticket .retro-title,.dish-story-copy h3{font-size:1.65rem}.speech-tag,.dish-story-copy .speech-tag,.course-lead-copy .speech-tag,.beer-menu-picture .speech-tag{padding:10px 12px;font-size:1rem}.food-copy-ticket:before{letter-spacing:0;font-size:.8rem}.yakitori-caption>div{padding:18px}}

/* 古紙の濃淡を抑え、説明文が模様に埋もれないようにする */
.food-copy-ticket,.story-copy-ticket{background-image:linear-gradient(#fff3d4bd,#f3e2bcbf),url("assets/backgrounds/washi.png");background-size:cover;color:#302017}
.food-table-inner .food-copy-ticket p,.dish-story-copy p{font-weight:500}

/* お品書きと写真の添え書きも明るい古紙で読む */
.dish-card>div,.photo-card:not(.party-photo) figcaption{background-image:linear-gradient(#fff3d4c9,#f3e2bcc9),url("assets/backgrounds/washi.png");background-size:cover}
.dish-card h3{font-family:var(--heading);font-weight:400;font-size:1.35rem;line-height:1.6}.dish-card strong{font-weight:700;color:#8b2718}

/* 価格の縁取り、意味のまとまりを保つ見出し、店舗情報の読みやすさ */
.course-price strong,.plan-price{color:#f6c95e;-webkit-text-stroke:2px #fff2d1;paint-order:stroke fill;text-shadow:3px 3px 0 #8b2318,0 3px 8px #170b0699}
.course-price strong span,.plan-price span{-webkit-text-stroke:0;text-shadow:none}
.price-list strong,.dish-card strong,.price-note strong,.drink-plan-price strong{font-weight:700;-webkit-text-stroke:2px #fff4da;paint-order:stroke fill;text-shadow:1px 2px 0 #a7734255}
.form-total strong,.summary-total strong{-webkit-text-stroke:1px #fff4da;paint-order:stroke fill}
.heading-phrase{display:inline-block;white-space:nowrap;max-width:100%}.retro-title>.heading-phrase{color:inherit}
.course-feature-copy{container-type:inline-size}.course-feature-copy .course-title{font-size:clamp(1.2rem,10.5cqi,2.9rem);line-height:1.65;letter-spacing:0}.course-title>.headline-line{display:block;color:inherit;white-space:nowrap}.course-title>.headline-line em{color:#efb73e;font-size:1.12em}
.shop-paper{background-image:linear-gradient(#fff2d5c9,#f7e7c2c9),url("assets/backgrounds/washi.png");background-size:cover;color:#302017}.shop-paper .section-heading .eyebrow{color:#77371e;font-weight:700}.shop-paper .paper-caption{color:#432215;font-weight:700}.shop-paper .info-table dt{font-size:1rem;font-weight:700;color:#542b19}.shop-paper .info-table dd{font-size:1.0625rem;font-weight:500;color:#261b14;line-height:1.9}.shop-paper .info-table dd small{font-size:.8125rem;color:#503923;font-weight:500}.shop-paper .info-table>div{border-color:#72503599}.shop-paper .info-table a{color:#8a2518;font-weight:700}
@media(max-width:650px){.course-feature-copy .course-title{font-size:clamp(1.2rem,10.5cqi,2.1rem)}.shop-paper .info-table dt{font-size:.9375rem}.shop-paper .info-table dd{font-size:1rem}.course-price strong,.plan-price{-webkit-text-stroke:1.5px #fff2d1}}

.course-feature-copy,.course-lead-copy{min-width:0}.course-lead-copy{container-type:inline-size}.course-lead-copy .retro-title{font-size:clamp(1.2rem,10.5cqi,2.8rem)}
h1,h2,h3{text-wrap:balance}
@media(max-width:650px){.course-feature-copy,.course-lead-copy{width:100%}.welcome-copy .display-title{font-size:clamp(1.5rem,8vw,2rem)}.intro-words .display-title{font-size:clamp(1.35rem,7vw,2rem)}}

/* アクセス欄は淡い生成りの古紙にして、強い染みを抑える */
.access-section{background-color:#f2e5c9;background-image:linear-gradient(#f5ead1de,#eee1c3de),url("assets/backgrounds/washi.png");background-size:cover;background-position:center;background-blend-mode:normal;border-top-color:#b1976a66}
.access-copy .eyebrow{color:#784d2e}.access-copy p{color:#39271b}

/* フッターの店名を木目から浮き上がらせる */
.site-footer .footer-brand{color:#fff1cb;-webkit-text-stroke:2px #5b1d10;paint-order:stroke fill;text-shadow:2px 2px 0 #8f2916,0 3px 5px #130804;letter-spacing:.06em}

/* 年季は控えめにし、背景全体に清潔感を持たせる */
:root{--calm-paper:linear-gradient(#f5ecd8e0,#efe3cbe0),url("assets/backgrounds/washi.png");--calm-card:linear-gradient(#faf1dfe6,#f2e8d1e6),url("assets/backgrounds/washi.png");--calm-wood:linear-gradient(#28160d80,#28160d80),url("assets/backgrounds/wood.png")}
body{background-color:#f0e3c9;background-image:var(--calm-paper);background-size:1254px auto}
.page-intro,.story-tinted,.page-cta,.access-section,.news-section,.social-section,.dish-stories,.intro-welcome,.plan-body,.dish-card{background-color:#f1e4c9;background-image:var(--calm-paper);background-size:cover;background-blend-mode:normal}
.wave-pattern{background-color:#f1e4c9;background-image:linear-gradient(#f5e9d3d9,#f0e0c7d9),url("assets/wave-retro.svg"),url("assets/backgrounds/washi.png");background-size:cover,160px 80px,1254px auto;background-blend-mode:normal}
.food-copy-ticket,.story-copy-ticket,.shop-paper,.dish-card>div,.photo-card:not(.party-photo) figcaption{background-color:#f5ead3;background-image:var(--calm-card);background-size:cover}
.food-print,.photo-card:not(.party-photo),.dish-story-photo:has(img[src*="sashimi"]),.dish-story-photo:has(img[src*="egg"]),.yakitori-caption>img,.yakitori-caption>div{background-color:#eedeC0;background-image:var(--calm-paper);background-size:cover}
.is-scrolled .site-header,.inner-page .site-header{background-color:#dcb774;background-image:linear-gradient(#e9c988b3,#dfb974b3),url("assets/backgrounds/washi.png");background-size:cover}
.hero{background-image:linear-gradient(#efb94466,#eeb33d66),url("assets/backgrounds/rays.png");background-size:cover}
.dark-wood,.course-feature,.room-gallery-section,.site-footer,.plan-heading,.course-lead{background-color:#28160d;background-image:var(--calm-wood);background-size:cover}
.dish-story-photo:has(img[src*="yakitori"]):before,.dish-story-photo:has(img[src*="karaage"]):before,.cutout-dish .dish-card-photo:before,.beer-menu-picture:before,.drink-plan-photo:before{background-image:linear-gradient(#40281780,#40281780),url("assets/backgrounds/wood.png");background-size:cover}

.wave-pattern{background-image:url("assets/wave-soft.svg"),var(--calm-paper);background-size:160px 80px,cover,1254px auto;background-position:0 0,center,center;background-repeat:repeat,no-repeat,repeat}

/* 看板と顔を切らず、写真全体と文字を見せる。 */
.hero .photo-window{aspect-ratio:3/2}
.hero .hero-slide{object-fit:contain;object-position:center}
.hero-heading{width:fit-content;max-width:calc(100% - 32px);padding:10px 26px;background:var(--calm-card);border:1px solid #a77838;box-shadow:3px 3px 0 #7b401d45;color:#4b2515;text-shadow:none}
.hero-heading h1{color:#8f2416;text-shadow:none}
.frame-caption,.hero-footnote,.scroll-cue{background:#fff3dded;color:#4b2515;text-shadow:none;padding:7px 18px;border:1px solid #a77838}
.hero-footnote{width:fit-content;max-width:calc(100% - 32px);margin:16px auto 0}
.scroll-cue{margin-top:10px}
.frame-side{padding:13px 7px;background:#fff3dded;border:1px solid #a77838;color:#4b2515;text-shadow:none}
.slide-controls button{font-size:0}
@media(min-width:901px){
  .hero .game-frame{width:calc(100% - 220px)}
  .site-header .phone-box{display:flex;position:fixed;left:0;top:40%;width:94px;padding:16px 7px;flex-direction:column;gap:7px;background:var(--calm-card);border:2px solid #bd8738;border-left:0;color:#592913;box-shadow:3px 3px 0 #57261145;text-shadow:none;text-align:center;z-index:51}
  .site-header .phone-box .phone-mark{font-size:2rem}
  .site-header .phone-box small{font-size:.75rem;line-height:1.7}
  .site-header .phone-box [data-phone]{font-size:.8125rem;font-weight:700;line-height:1.7}
  .header-inner>.brand{grid-row:1}
  .site-header .header-reserve{position:absolute;right:16px;top:25px}
  .site-header .main-nav{width:fit-content;margin-inline:auto;padding-inline:12px;background:#fff3dde8;border:1px solid #a77838;color:#582811;text-shadow:none}
  .is-scrolled .site-header .main-nav,.inner-page .site-header .main-nav{margin-left:auto;margin-right:0;background:none;border:0}
}
@media(max-width:900px){
  .hero .photo-window{aspect-ratio:3/2}
  .hero-heading{padding:9px 18px}
  .frame-caption{font-size:1rem;padding:6px 12px}
  .hero-footnote{font-size:.9375rem;padding:8px 12px}
}

@media(min-width:901px){
  .hero .masthead-space{height:230px}
  .site-header .phone-box{top:190px}
  .site-header .main-nav a{color:#582811;text-shadow:none}
  .site-header .main-nav a:hover,.site-header .main-nav a[aria-current],.site-header .main-nav a:focus-visible{color:#fff1d0}
}
