/*! 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{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#1d1d1b;--brown:#3f302a;--paper:#f7f3ec;--ivory:#fffdf9;--line:#d8d1c7;--muted:#746e68;--rose:#a9696b;--rose-soft:#f3e5e3;--sage:#75866f;--sage-soft:#e7ede4;--terra:#aa654d;--terra-soft:#f3e3dc;--beige:#a6876a;--beige-soft:#eee4d7;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--paper);color:var(--ink);margin:0;font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,Arial,sans-serif;line-height:1.7;overflow-x:hidden}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}.reservation-app{min-height:100vh}.reservation-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f3ecf0;border-bottom:1px solid #3f302a2e;justify-content:space-between;align-items:center;height:84px;padding:0 clamp(24px,6vw,88px);display:flex;position:sticky;top:0}.logo{color:var(--ink);font-family:Georgia,serif;font-size:29px;line-height:1;text-decoration:none}.logo span{letter-spacing:.16em;margin-top:5px;font:8px sans-serif;display:block}.reservation-header>div{letter-spacing:.24em;color:var(--brown);font-size:10px}.intro{background:var(--ink);color:#faf7f1;padding:65px max(7vw,28px);position:relative;overflow:hidden}.intro:after{content:"";border:1px solid #d3b9a842;border-radius:50%;width:270px;height:270px;position:absolute;top:-130px;right:-50px}.kicker{letter-spacing:.24em;color:#bba89b;margin:0 0 16px;font-size:9px}.intro h1,.section-title h1,.complete-screen h1{font-family:var(--serif);letter-spacing:.035em;font-weight:400}.intro h1{margin:0;font-size:clamp(34px,5vw,55px);line-height:1.45}.intro>p:last-child{color:#c9c5bd;margin:18px 0 0;font-size:12px}.reservation-steps{grid-template-columns:repeat(4,1fr);max-width:820px;margin:0 auto;padding:28px 24px;display:grid}.reservation-steps>div{color:#a7a29c;align-items:center;gap:9px;display:flex;position:relative}.reservation-steps>div:not(:last-child):after{content:"";background:var(--line);height:1px;position:absolute;top:15px;left:72%;right:-10%}.reservation-steps i{background:var(--paper);z-index:1;border:1px solid;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-style:normal;display:grid}.reservation-steps span{flex-direction:column;font-size:8px;line-height:1.35;display:flex}.reservation-steps em{letter-spacing:.1em;font-style:normal}.reservation-steps b{color:inherit;font-size:11px}.reservation-steps .current{color:var(--rose)}.reservation-steps .current i{background:var(--rose);border-color:var(--rose);color:#fff;box-shadow:0 0 0 4px var(--rose-soft)}.reservation-steps .current b{color:var(--brown)}.reservation-steps .done{color:var(--sage)}.reservation-steps .done i{background:var(--sage);border-color:var(--sage);color:#fff}.step-page{max-width:1040px;margin:auto;padding:42px 24px 100px}.section-title{align-items:flex-start;gap:22px;margin-bottom:32px;display:flex}.section-title>span{border-bottom:1px solid var(--brown);color:var(--brown);padding:4px 14px 4px 0;font-size:10px}.section-title p{letter-spacing:.19em;color:var(--rose);margin:0;font-size:9px}.section-title h1{color:var(--brown);margin:3px 0;font-size:34px}.section-title small{color:var(--muted);font-size:12px}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:22px;display:grid}.filter-grid button{border:1px solid var(--line);background:#fffdf999;border-radius:2px;min-height:46px;padding:8px 10px;font-size:11px;transition:background-color .18s,border-color .18s,transform .18s}.filter-grid button.active{background:var(--rose-soft);color:#6f4141;border-color:#cda6a3}.booking-menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.booking-menu{--tone:var(--beige);--soft:var(--beige-soft);background:var(--ivory);border:1px solid var(--tone);position:relative}@supports (color:color-mix(in lab, red, red)){.booking-menu{border:1px solid color-mix(in srgb,var(--tone) 36%,white)}}.booking-menu{border-radius:4px;padding:29px 27px 26px;animation:.22s both card-in;overflow:hidden;box-shadow:0 8px 28px #49362b09}.tone-beige{--tone:var(--beige);--soft:var(--beige-soft)}.tone-sage{--tone:var(--sage);--soft:var(--sage-soft)}.tone-rose{--tone:var(--rose);--soft:var(--rose-soft)}.tone-blush{--tone:#a98078;--soft:#f0e4df}.tone-terra{--tone:var(--terra);--soft:var(--terra-soft)}.tone-special{--tone:var(--brown);--soft:#eee6df;border-color:var(--brown)}.menu-accent{background:var(--tone);opacity:.72;height:4px;position:absolute;top:0;left:0;right:0}.menu-copy>p{letter-spacing:.19em;color:var(--tone);margin:0;font-size:9px;font-weight:600}.menu-copy h2{font-family:var(--serif);color:var(--brown);margin:6px 0;font-size:22px;font-weight:400}.menu-copy>span{color:var(--muted);font-size:12px}.tag-row{flex-wrap:wrap;gap:6px;margin:14px 0 19px;display:flex}.tag-row i{color:var(--tone);font-size:9px;font-style:normal}@supports (color:color-mix(in lab, red, red)){.tag-row i{color:color-mix(in srgb,var(--tone) 88%,black)}}.tag-row i{background:var(--soft);border-radius:99px;padding:3px 8px}.plan-list{gap:7px;display:grid}.plan-list button{text-align:left;background:#fffefa;border:1px solid #ddd7ce;border-radius:2px;grid-template-columns:22px 1fr auto;align-items:center;min-height:53px;padding:8px 12px;transition:background-color .18s,border-color .18s,transform .16s;display:grid;position:relative}.plan-list button>i{border:1px solid #c8c1b8;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;font-style:normal;display:grid}.plan-list button>b{font-size:13px;font-weight:500}.plan-list button>strong{color:var(--brown);font-size:15px}.plan-list button>small{background:var(--tone);color:#fff;border-radius:99px;padding:1px 7px;font-size:8px;position:absolute;top:-8px;right:9px}.plan-list button.selected{background:var(--soft);border-color:var(--tone)}.plan-list button.selected>i{background:var(--tone);border-color:var(--tone);color:#fff}.menu-cta{border:1px solid var(--brown);background:var(--brown);color:#fff;justify-content:space-between;align-items:center;width:100%;min-height:52px;margin-top:14px;padding:12px 17px;font-size:13px;text-decoration:none;transition:background-color .18s,transform .16s;display:flex}.menu-cta.consult{color:var(--brown);background:#fffaf4}.selected-bar{border:1px solid var(--line);border-left:4px solid var(--rose);background:var(--ivory);border-radius:2px;margin-bottom:20px;padding:14px 20px}.selected-bar>span{letter-spacing:.15em;color:var(--rose);font-size:8px}.selected-bar>div{align-items:center;gap:25px;display:flex}.selected-bar strong{color:var(--brown);margin-left:auto}.selected-bar button{background:0 0;border:0;min-height:44px;font-size:11px;text-decoration:underline}.calendar-card,.form-card,.confirm-card{background:var(--ivory);border:1px solid #ddd7ce;border-radius:3px;padding:32px;box-shadow:0 8px 30px #49362b09}.month-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.month-head strong{font-family:var(--serif);color:var(--brown);font-size:20px;font-weight:400}.month-head button{border:1px solid var(--line);background:#fff;border-radius:50%;min-width:44px;height:44px;font-size:23px}.date-strip{border-bottom:1px solid var(--line);scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;gap:7px;padding:18px 1px 20px;display:flex;overflow-x:auto}.date-strip::-webkit-scrollbar{display:none}.date-strip button{background:var(--paper);scroll-snap-align:start;border:1px solid #0000;border-radius:3px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:76px;min-height:78px;transition:background-color .18s,border-color .18s,transform .16s;display:flex}.date-strip button:disabled{opacity:.42}.date-strip small{font-size:9px}.date-strip b{font-size:19px}.date-strip i{color:var(--sage);font-size:8px;font-style:normal}.date-strip button.selected{background:var(--rose);border-color:var(--rose);color:#fff}.date-strip button.selected i{color:#fff}.slots-head{justify-content:space-between;align-items:end;padding:26px 0 15px;display:flex}.slots-head p{letter-spacing:.14em;color:var(--rose);margin:0;font-size:8px}.slots-head h2{font-family:var(--serif);color:var(--brown);margin:2px 0;font-weight:400}.slots-head>span{font-size:10px}.slots-head>span i{background:var(--sage);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.time-grid button{background:var(--sage-soft);border:1px solid #c9d2c5;border-radius:3px;justify-content:center;align-items:center;gap:12px;min-height:64px;transition:background-color .18s,border-color .18s,transform .16s;display:flex}.time-grid button b{font-size:14px}.time-grid button span{color:var(--sage);font-size:8px}.time-grid button:disabled{color:#acaeaa;background:#eeefec;border-color:#e1e2df}.time-grid button:disabled span{color:#aaa}.time-grid button.selected{background:var(--rose);border-color:var(--rose);color:#fff}.time-grid button.selected span{color:#fff}.buffer-note{color:var(--muted);margin:17px 0 0;font-size:10px}.sticky-action{background:var(--ivory);border:1px solid var(--line);grid-template-columns:1fr 235px;align-items:center;gap:12px;max-width:580px;margin:24px auto 0;padding:12px;display:grid}.sticky-action>div{flex-direction:column;display:flex}.sticky-action>div b{color:var(--brown);font-size:12px}.sticky-action>div span{color:var(--muted);font-size:10px}.solid-btn,.line-btn{border-radius:2px;justify-content:center;align-items:center;width:100%;min-height:56px;padding:13px 22px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .18s,transform .16s;display:flex}.solid-btn{border:1px solid var(--brown);background:var(--brown);color:#fff}.solid-btn:disabled{opacity:.34;cursor:not-allowed}.line-btn{border:1px solid var(--brown);color:var(--brown);background:0 0;margin-top:9px}.form-card{max-width:720px;margin:auto}.field{margin-bottom:24px;display:block}.field>span{color:var(--brown);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.field>span i{background:var(--rose);color:#fff;margin-left:10px;padding:2px 6px;font-size:8px;font-style:normal}input,textarea{border:1px solid var(--line);background:#fff;border-radius:2px;width:100%;min-height:54px;padding:13px}input:focus,textarea:focus{outline:2px solid var(--rose-soft);border-color:var(--rose)}textarea{resize:vertical;height:110px}.radio-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.radio-row label input{opacity:0;width:0;position:absolute}.radio-row span{border:1px solid var(--line);background:#fff;place-items:center;min-height:52px;display:grid}.radio-row input:checked+span{background:var(--rose-soft);border-color:var(--rose);color:#6f4141}.two-actions{grid-template-columns:1fr 2fr;gap:10px;max-width:720px;margin:27px auto 0;display:grid}.two-actions>button:first-child{border:1px solid var(--brown);background:0 0;min-height:56px}.confirm-card{max-width:720px;margin:auto}.data-row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;padding:19px 0;display:grid}.data-row:first-child{padding-top:0}.data-row dt{color:var(--muted);font-size:11px}.data-row dd{white-space:pre-line;color:var(--brown);margin:0;font-weight:500}.policy{background:var(--beige-soft);max-width:720px;margin:18px auto;padding:18px;font-size:12px}.policy p{margin:5px 0}.demo-label{text-align:center;color:var(--muted);font-size:10px}.complete-screen{text-align:center;max-width:720px;margin:auto;padding:90px 24px}.complete-icon{border:1px solid var(--rose);width:68px;height:68px;color:var(--rose);border-radius:50%;place-items:center;margin:0 auto 28px;font-size:23px;display:grid}.complete-screen h1{color:var(--brown);font-size:38px}.complete-lead{color:var(--muted);font-size:13px}.receipt{text-align:left;border-top:1px solid var(--brown);margin:40px 0 20px}.cancel-note{text-align:left;background:var(--beige-soft);margin-bottom:24px;padding:20px;font-size:12px}.text-btn{background:0 0;border:0;min-height:44px;margin-top:16px;text-decoration:underline}.reservation-footer{background:var(--ink);color:#faf7f1;grid-template-columns:1fr auto;gap:10px;padding:50px max(7vw,25px);display:grid}.reservation-footer .logo{color:#fff}.reservation-footer p,.reservation-footer a,.reservation-footer small{color:#c5c1bb;font-size:9px;text-decoration:none}.reservation-footer small{grid-column:1/-1}.sp{display:none}.page-fade{animation:.2s both page-in}button:active,.menu-cta:active,.solid-btn:active,.line-btn:active{transform:scale(.98)}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media (max-width:680px){.reservation-header{height:62px;padding:0 17px}.logo{font-size:23px}.reservation-header>div{font-size:8px}.intro{padding:30px 18px 34px}.intro:after{width:170px;height:170px;top:-100px;right:-55px}.intro h1{font-size:29px;line-height:1.42}.intro>p:last-child{margin-top:12px;font-size:10px}.intro .kicker{margin-bottom:9px}.sp{display:block}.reservation-steps{padding:18px 10px 14px}.reservation-steps>div{gap:5px;min-width:0}.reservation-steps>div:not(:last-child):after{top:13px;left:75%;right:-7%}.reservation-steps i{flex:0 0 27px;width:27px;height:27px;font-size:9px}.reservation-steps span{min-width:0}.reservation-steps em{display:none}.reservation-steps b{white-space:nowrap;font-size:9px}.reservation-steps .current b{font-size:10px;font-weight:700}.step-page{padding:26px 13px 76px}.step-2 .step-page{padding-bottom:155px}.section-title{gap:12px;margin-bottom:22px}.section-title>span{padding-right:9px}.section-title h1{margin:1px 0;font-size:26px}.section-title small{font-size:10px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:15px}.filter-grid button{min-height:44px;padding:7px;font-size:10px}.filter-grid button:first-child{grid-column:1/-1}.booking-menu-list{grid-template-columns:1fr;gap:11px}.booking-menu{padding:24px 18px 19px}.menu-copy h2{font-size:20px}.menu-copy>span{font-size:11px}.tag-row{margin:11px 0 14px}.plan-list button{min-height:52px}.menu-cta{min-height:52px;font-size:13px}.selected-bar{margin-bottom:14px;padding:11px 13px}.selected-bar>div{flex-wrap:wrap;gap:5px 12px}.selected-bar>div b{width:100%;font-size:12px}.selected-bar strong{margin-left:0;font-size:13px}.selected-bar button{margin-left:auto}.calendar-card,.form-card,.confirm-card{padding:17px 13px}.month-head{padding-bottom:12px}.month-head button{width:44px;height:44px}.date-strip{gap:6px;margin:0 -13px;padding:14px 13px 16px}.date-strip button{flex:0 0 62px;min-width:62px;min-height:72px}.date-strip b{font-size:18px}.slots-head{padding:20px 0 12px}.slots-head h2{font-size:19px}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.time-grid button{gap:8px;min-height:58px}.sticky-action{z-index:40;max-width:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9f7;border-width:1px 0 0;grid-template-columns:1fr 1.25fr;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #3f302a1a}.sticky-action>div{min-width:0}.sticky-action>div b,.sticky-action>div span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sticky-action .solid-btn{min-height:52px;padding:9px;font-size:11px}.two-actions{grid-template-columns:1fr}.two-actions>button:first-child{order:2;min-height:52px}.data-row{grid-template-columns:98px 1fr;padding:16px 0}.complete-screen{padding:65px 18px}.complete-screen h1{font-size:29px}.reservation-footer{grid-template-columns:1fr}.date-strip,.filter-grid{scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.filter-grid::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-fade,.booking-menu{animation:none!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}select{font:inherit;border:1px solid var(--line);width:100%;min-height:54px;color:var(--ink);background:#fff;border-radius:2px;padding:13px}.field>span i.optional{border:1px solid var(--line);color:var(--muted);background:0 0}select:focus{outline:2px solid var(--rose-soft);border-color:var(--rose)}.previsit-note{background:linear-gradient(135deg,var(--rose-soft),#f7eee9);border-left:3px solid var(--rose);text-align:left;margin:34px -10px 25px;padding:25px 24px}.previsit-note p{letter-spacing:.18em;color:var(--rose);margin:0 0 7px;font-size:8px}.previsit-note h2{font-family:var(--serif);color:var(--brown);margin:0;font-size:18px;font-weight:400;line-height:1.65}.previsit-fields{border-bottom:1px solid var(--line);margin-bottom:24px}.arrival-guide{text-align:left;background:var(--rose-soft);border-left:3px solid var(--rose);margin:32px 0 20px;padding:22px;font-size:12px}.arrival-guide b{font-family:var(--serif);color:var(--brown);font-size:17px}.arrival-guide p{margin:7px 0 0}.phone-link{background:var(--brown);color:#fff;justify-content:center;align-items:center;min-height:48px;margin-top:14px;text-decoration:none;display:flex}.arrival-guide+.receipt{margin-top:28px}@media (max-width:680px){.previsit-note{margin:29px -5px 22px;padding:21px 16px}.previsit-note h2{font-size:16px}.arrival-guide{padding:18px 16px}}
