/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.contents{display:contents}}:root{--ink:#211c19;--paper:#f8f3ea;--cream:#eee3d2;--red:#7d1f24;--red-dark:#591419;--gold:#aa7a3c;--line:#d8cbbc;--white:#fffdf9;--muted:#706760}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--paper);color:var(--ink);margin:0;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:16px;line-height:1.75}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline-offset:3px;outline:3px solid #d49237}.site-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f3eaf0;border-bottom:1px solid #7d1f241f;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;font-family:serif;font-size:20px;font-weight:700;line-height:1.2;text-decoration:none;display:flex}.brand small{letter-spacing:.14em;color:var(--muted);font-family:inherit;font-size:9px;font-weight:500;display:block}.brand-mark{color:#fff;background:var(--red);border-radius:50% 50% 46% 54%;place-items:center;width:39px;height:39px;font-family:serif;display:grid}.header-cta{color:#fff;background:var(--red);border-radius:4px;padding:10px 18px;font-size:14px;font-weight:700;text-decoration:none}.hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(30px,7vw,100px);max-width:1460px;min-height:670px;margin:auto;padding:70px clamp(24px,7vw,100px) 80px;display:grid;overflow:hidden}.hero-copy{z-index:2;position:relative}.eyebrow,.section-kicker{color:var(--red);letter-spacing:.2em;font-size:12px;font-weight:800}.hero h1{letter-spacing:.04em;margin:20px 0 24px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(38px,5.3vw,75px);font-weight:500;line-height:1.35}.hero h1 em{color:var(--red);font-style:normal;position:relative}.hero h1 em:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:-5px;left:0;right:0}.hero-lead{color:#554b44;max-width:570px;font-size:18px}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:34px;display:flex}.hero-note{color:var(--muted);font-size:13px}.button{cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;min-height:52px;padding:13px 24px;font-weight:800;text-decoration:none;transition:all .2s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button-primary{background:var(--red);color:#fff;box-shadow:0 9px 24px #7d1f2429}.button-primary:hover{background:var(--red-dark)}.button-secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.button-danger{color:#fff;background:#a5272f;width:100%}.button.full{width:100%;margin-top:22px}.hero-visual{place-items:center;min-height:520px;display:grid;position:relative}.hero-visual:before{content:"";background:linear-gradient(145deg,#d9c5a9,#f1e5d2);border-radius:50%;width:520px;height:520px;position:absolute;top:0;right:-9%}.hero-visual:after{content:"熊本";color:#7d1f240e;writing-mode:vertical-rl;letter-spacing:.1em;font-family:serif;font-size:155px;position:absolute;top:15px;right:-25px}.hero-photo{z-index:1;aspect-ratio:4/5;background:#dfccb0;border:1px solid #fffc;width:min(440px,88vw);position:relative;overflow:hidden;box-shadow:0 28px 70px #35221538}.hero-photo img{object-fit:cover;object-position:center center;width:100%;height:100%;transform:scale(1.03)}.hero-photo span{color:var(--red);letter-spacing:.2em;background:#faf7f1eb;padding:8px 12px;font-family:serif;font-size:12px;position:absolute;top:22px;left:22px}.address-notice{border:1px solid #dcc8ad;border-left:6px solid var(--red);background:#fff8ee;justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 40px);margin:0 auto 18px;padding:22px 26px;display:flex;box-shadow:0 8px 25px #3522150f}.address-notice p{margin:0}.address-notice-label{color:var(--red);font-size:17px;font-weight:800}.address-notice strong{margin:0 .25em;display:inline}.address-notice a{color:var(--red);text-underline-offset:4px;flex:none;font-size:14px;font-weight:800}.section-shell{grid-template-columns:1fr 1.65fr;gap:clamp(40px,8vw,120px);width:min(1120px,100% - 40px);margin:auto;padding:110px 0;display:grid}.section-shell h2,.booking-heading h2,.menu-band h2{margin:8px 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.4}.story-copy>p:first-child{margin-top:0;font-size:18px}.three-ways{border-top:1px solid var(--line);margin:36px 0;padding:0;list-style:none}.three-ways li{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:22px 0;display:flex}.three-ways li>span{background:var(--red);color:#fff;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-family:serif;display:grid}.three-ways strong{font-family:serif;font-size:18px}.three-ways p{color:var(--muted);margin:2px 0 0;font-size:14px}.menu-band{background:var(--ink);color:#fff}.menu-grid{align-items:center;padding:75px 0}.section-kicker.light{color:#dcb777}.price{color:#e1be82;margin:10px 0 0}.price strong{font-family:serif;font-size:52px;font-weight:500}.menu-details{border-left:1px solid #fff3;padding-left:clamp(25px,5vw,60px)}.menu-details>p{font-size:19px}.menu-details dl{margin:25px 0}.menu-details dl div{border-bottom:1px solid #ffffff26;justify-content:space-between;padding:10px 0;display:flex}.menu-details dd{color:#e1be82;margin:0}.menu-details small{color:#bdb5ae}.booking-section{background:#efe5d7;padding:110px 20px 120px}.booking-heading{text-align:center;margin-bottom:42px}.booking-heading p:last-child{color:var(--muted)}.booking-card{background:var(--white);border-radius:10px;width:min(820px,100%);margin:auto;padding:clamp(20px,5vw,48px);box-shadow:0 20px 50px #33231a1a}.steps{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0 0 30px;padding:0 0 28px;list-style:none;display:grid}.steps li{text-align:center;color:#968c84;font-size:12px;position:relative}.steps span{color:#756b64;background:#e5ddd3;border-radius:50%;place-items:center;width:28px;height:28px;margin:0 auto 7px;font-weight:800;display:grid}.steps li.active{color:var(--ink);font-weight:700}.steps li.active span{color:#fff;background:var(--red)}.form-step fieldset{border:0;min-width:0;margin:0 0 34px;padding:0}.form-step legend{margin-bottom:14px;font-family:serif;font-size:21px;font-weight:700}.date-options,.time-options{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.date-options button,.time-options button,.party-options button{border:1px solid var(--line);cursor:pointer;min-height:66px;color:var(--ink);background:#fff;border-radius:6px;padding:10px}.date-options button{flex-direction:column;display:flex}.date-options small,.time-options span{color:var(--muted);font-size:11px}.date-options button.selected,.time-options button.selected,.party-options button.selected{border:2px solid var(--red);color:var(--red);background:#fff7f3}.date-options button:disabled,.time-options button:disabled,.party-options button:disabled{cursor:not-allowed;color:#9b938d;opacity:.72;background:#f2efeb}.time-options button{flex-direction:column;align-items:center;display:flex}.time-options strong{font-size:21px}.time-options .few{color:#a15e00;font-weight:700}.party-options{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.party-options button{font-size:20px;font-weight:800}.party-options small{margin-left:2px;font-size:12px}.contact-hint,.empty-hint,.loading-text{color:var(--muted);font-size:13px}.field-error{margin:5px 0;font-size:13px;font-weight:700;color:#a11f28!important}.form-alert{color:#70161c;background:#fff0ee;border-left:4px solid #a5272f;border-radius:3px;margin-bottom:22px;padding:15px 18px}.form-alert p{margin:3px 0}.form-alert button{color:var(--red);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.selected-summary{background:#f4eee5;border-radius:5px;align-items:center;gap:12px;margin-bottom:28px;padding:14px 17px;display:flex}.selected-summary span{color:var(--red);font-size:11px;font-weight:800}.selected-summary strong{flex:1}.selected-summary button{cursor:pointer;background:0 0;border:0;text-decoration:underline}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid label>span{margin-bottom:6px;font-weight:700;display:block}.form-grid b{color:#fff;background:var(--red);border-radius:2px;margin-left:5px;padding:3px 5px;font-size:10px}.form-grid i{color:var(--muted);margin-left:5px;font-size:11px;font-style:normal;font-weight:500}.form-grid input:not([type=checkbox]),.form-grid textarea{background:#fff;border:1px solid #bdb3a9;border-radius:4px;width:100%;min-height:50px;padding:12px 13px}.form-grid textarea{resize:vertical;min-height:90px}.form-grid input[aria-invalid=true]{background:#fff8f7;border-color:#a11f28}.form-grid .wide{grid-column:1/-1}.check-row,.agree{cursor:pointer;align-items:flex-start;gap:11px;display:flex!important}.check-row input,.agree input{width:21px;height:21px;accent-color:var(--red);flex:none}.notice-box{background:#f4eee5;border-radius:6px;margin-top:28px;padding:22px}.notice-box h3{margin:0;font-family:serif}.notice-box ul{color:#5d554f;padding-left:20px;font-size:13px}.agree{border-top:1px solid var(--line);padding-top:16px;font-weight:800}.form-actions{gap:12px;margin-top:30px;display:flex}.form-actions .button{flex:1}.confirm-title{text-align:center;font-family:serif;font-size:25px}.confirm-list,.receipt{border-top:1px solid var(--line);margin:25px 0}.confirm-list div,.receipt div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:20px;padding:14px 0;display:grid}.confirm-list dt,.receipt dt{color:var(--muted);font-size:13px}.confirm-list dd,.receipt dd{word-break:break-word;margin:0;font-weight:700}.confirm-note,.small-note{color:var(--muted);font-size:13px}.info-cards{gap:15px;display:grid}.info-cards article{border:1px solid var(--line);background:#ffffff59;padding:25px}.info-cards span{color:var(--red);letter-spacing:.16em;font-size:11px;font-weight:800}.info-cards h3{margin:6px 0;font-family:serif;font-size:19px}.info-cards p{color:var(--muted);margin:0}footer{color:#d8d0ca;background:#161311;grid-template-columns:1fr auto;gap:30px;padding:52px clamp(24px,7vw,100px);display:grid}footer strong{color:#fff;font-family:serif;font-size:23px}footer p,footer small{color:#8e8580;margin:3px 0}footer nav{align-items:center;gap:20px;display:flex}footer nav a{font-size:13px}footer>small{grid-column:1/-1}.simple-page{background:linear-gradient(145deg,#efe2d1,#faf7f0);place-items:center;min-height:100vh;padding:50px 20px;display:grid}.result-card{text-align:center;background:#fff;border-radius:8px;width:min(650px,100%);padding:clamp(27px,6vw,55px);box-shadow:0 20px 60px #2e1c1424}.result-card h1{font-family:serif;font-size:clamp(28px,5vw,40px)}.result-mark{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;margin:auto;font-size:28px;display:grid}.result-mark.muted{background:#8a817a}.reservation-code{color:var(--red);font-family:monospace;font-size:18px}.arrival-box{text-align:left;background:#f5eee5;border-radius:4px;padding:18px}.arrival-box h2{margin:0;font-family:serif;font-size:19px}.result-card>.button{width:100%;margin-top:20px}.text-link{color:var(--red);margin-top:20px;display:inline-block}.document-page{width:min(780px,100% - 40px);margin:auto;padding:70px 0 100px}.document-page h1{font-family:serif;font-size:40px}.document-page h2{margin-top:36px;font-family:serif;font-size:21px}.admin-shell{background:#f3efe9;min-height:100vh;padding-bottom:80px}.admin-header{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;min-height:72px;padding:12px clamp(16px,4vw,50px);display:flex}.admin-header>div:first-child{align-items:center;gap:12px;display:flex}.admin-header strong{font-size:18px;display:block}.admin-header small{color:#a9a09a;display:block}.admin-user{text-align:right;font-size:12px}.admin-user span,.admin-user a{display:block}.admin-user a{color:#d9b77e}.admin-toolbar,.admin-tabs,.admin-summary,.reservation-board,.admin-add,.operations-grid,.admin-shell>.form-alert{width:min(1180px,100% - 28px);margin-left:auto;margin-right:auto}.admin-toolbar{justify-content:space-between;align-items:flex-end;padding:28px 0 18px;display:flex}.admin-toolbar label{font-size:12px;font-weight:800;display:block}.admin-toolbar input{border:1px solid var(--line);background:#fff;border-radius:4px;min-height:48px;padding:8px 12px}.admin-tabs{border-bottom:1px solid var(--line);margin-bottom:22px;display:flex}.admin-tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:13px 20px;font-weight:800}.admin-tabs button.active{color:var(--red);border-bottom:3px solid var(--red)}.admin-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.admin-summary article{background:#fff;border-radius:6px;padding:18px;box-shadow:0 5px 14px #3022190d}.admin-summary span,.admin-summary em{color:var(--muted);font-size:12px;font-style:normal;display:block}.admin-summary strong{font-size:29px}.admin-summary small{font-size:13px}.admin-summary em{color:var(--red);font-weight:700}.admin-add{background:#fff;border-radius:6px;margin-bottom:18px;padding:0 20px}.admin-add summary{cursor:pointer;color:var(--red);padding:16px 0;font-weight:800}.admin-add form{padding:0 0 20px}.admin-form-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.admin-form-grid label{font-size:12px;font-weight:700}.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.status-actions select,.setting-form input{border:1px solid var(--line);background:#fff;border-radius:3px;width:100%;min-height:43px;padding:8px;display:block}.admin-form-grid .wide{grid-column:1/-1}.reservation-board{gap:10px;display:grid}.reservation-row{background:#fff;border-left:5px solid #777;border-radius:5px;grid-template-columns:90px 1fr 160px;display:grid;overflow:hidden;box-shadow:0 4px 14px #2c1f170d}.reservation-row.status-arrived{border-left-color:#26724d}.reservation-row.status-cancelled{opacity:.6;border-left-color:#999}.reservation-row.status-no_show{border-left-color:#b26b1c}.reservation-time{background:#f2ece5;place-items:center;font-family:serif;font-size:24px;font-weight:800;display:grid}.reservation-main{padding:15px 18px}.reservation-main>div:first-child{align-items:center;gap:12px;display:flex}.reservation-main h2{margin:0;font-size:20px}.reservation-main h2 small{font-size:12px}.party-badge{background:var(--red);color:#fff;border-radius:20px;padding:3px 10px}.reservation-main p{margin:4px 0}.reservation-main a{color:#335e82}.reservation-main>small{color:var(--muted)}.allergy-alert{color:#a11f28;font-weight:800}.reservation-note{background:#fff5d9;padding:5px 8px}.status-actions{place-items:center;padding:14px;display:grid}.status-actions label{width:100%;font-size:11px;font-weight:800}.admin-empty{text-align:center;background:#fff;padding:50px}.operations-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.operations-grid>article{background:#fff;border-radius:6px;padding:25px}.operations-grid h2{font-family:serif}.operations-grid .button{margin:5px 5px 5px 0}.slot-toggle{border:1px solid var(--line);cursor:pointer;background:#fff;justify-content:space-between;width:100%;padding:13px;display:flex}.slot-toggle strong{color:var(--red)}.setting-form{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:10px;padding:14px 0;display:grid}.setting-form h3{color:var(--red);grid-column:1/-1;margin:0}.setting-form label{font-size:11px;font-weight:700}.setting-check{align-items:center;gap:8px;display:flex}.setting-check input{width:20px;min-height:20px}.setting-form .button{align-self:end}.admin-gate{text-align:center;place-content:center;min-height:100vh;padding:30px;display:grid}.admin-gate h1{font-family:serif}.admin-gate a{color:var(--red)}@media (width<=800px){.site-header{height:66px;padding:0 16px}.brand{font-size:17px}.brand-mark{width:34px;height:34px}.header-cta{padding:9px 12px;font-size:12px}.hero{grid-template-columns:1fr;gap:25px;min-height:auto;padding:50px 20px 75px}.hero h1{margin-top:13px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .button{width:100%}.hero-visual{order:-1;min-height:400px}.hero-visual:before{width:390px;height:390px;right:-70px}.hero-visual:after{font-size:110px}.hero-photo{aspect-ratio:5/6;width:min(330px,86vw)}.address-notice{flex-direction:column;align-items:flex-start;gap:10px;margin-top:-42px;padding:18px}.address-notice-label{font-size:16px}.section-shell{grid-template-columns:1fr;gap:28px;padding:76px 0}.menu-grid{padding:60px 0}.menu-details{border-top:1px solid #fff3;border-left:0;padding:25px 0 0}.booking-section{padding:78px 12px}.booking-card{padding:22px 16px}.booking-heading{padding:0 8px}.date-options{grid-template-columns:repeat(2,1fr)}.time-options{grid-template-columns:1fr}.time-options button{flex-direction:row;justify-content:space-between;padding:10px 18px}.party-options{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.form-actions{flex-direction:column-reverse}.confirm-list div,.receipt div{grid-template-columns:100px 1fr;gap:10px}footer{grid-template-columns:1fr}footer nav{flex-wrap:wrap}footer>small{grid-column:auto}.admin-summary{grid-template-columns:1fr 1fr}.admin-toolbar{align-items:stretch}.admin-toolbar .button{padding:8px 12px}.reservation-row{grid-template-columns:75px 1fr}.status-actions{border-top:1px solid var(--line);grid-column:1/-1}.admin-form-grid,.operations-grid,.setting-form{grid-template-columns:1fr}.admin-form-grid .wide,.setting-form h3{grid-column:auto}.admin-user span{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
