.page{--base-bg:#1e1813;--card-white:#2a231c;--main-orange:#e09a52;--orange-hover:#cf8943;--soft-beige-button:#322a22;--deep-green:#9bb585;--soft-green:#9bb5851f;--main-text:#f2ece1;--sub-text:#b8ad9c;--light-text:#8a8072;--border:#433a30;--radius-xl:16px;--radius-lg:12px;--radius-md:10px;--max-width:1000px;color:var(--main-text);background:linear-gradient(#16120f 0%,#1e1813 46%,#1a150f 100%);min-height:100vh;font-family:Noto Sans JP,system-ui,sans-serif;font-size:13.5px;line-height:2}.page *{box-sizing:border-box}.page a{color:inherit;text-decoration:none}.page h1,.page h2,.page h3{color:var(--main-text);letter-spacing:.01em;margin-top:0;font-weight:700;line-height:1.5}.page p{color:var(--sub-text);margin-top:0}.page button{cursor:pointer;font-family:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand,.eyebrow,.price-block span,.site-footer p,.food-caption span{font-family:var(--font-display),"Noto Sans JP",sans-serif}.ph{background:linear-gradient(135deg,#2a241e,#221d18 60%,#1d1814);align-items:flex-end;display:flex;position:relative}.ph-label{font-family:var(--font-display),sans-serif;color:#f2ece159;letter-spacing:.04em;padding:12px 14px;font-size:12px;font-weight:700}.hero-full{background:#141009;flex-direction:column;align-items:center;margin-top:-64px;padding-bottom:clamp(18px,4vh,40px);display:flex;position:relative}.hero-frame{aspect-ratio:1000/1357;width:100%;max-width:560px;position:relative;overflow:hidden}.hero-photo-full{background-position:50%;background-repeat:no-repeat;background-size:108%;position:absolute;inset:0}.hero-fade{pointer-events:none;background:linear-gradient(#0000 56%,#14100980 78%,#141009e6 93%,#141009 100%);position:absolute;inset:0}.hero-center{z-index:2;text-align:center;width:100%;max-width:560px;margin-top:clamp(-180px,-29vw,-100px);padding:0 24px;position:relative}.hero-meta{font-family:var(--font-display),sans-serif;letter-spacing:.2em;color:var(--main-orange);text-transform:uppercase;text-shadow:0 2px 12px #0009;margin:0 0 9px;font-size:.76rem;font-weight:600}.hero-tagline{color:#f5efe6;letter-spacing:.02em;text-shadow:0 2px 14px #000000b3;margin:0 0 22px;font-size:.95rem}.hero-buttons{justify-content:center;gap:8px;margin-top:0}.hero-buttons .btn{width:auto;min-width:0;min-height:42px;padding:0 20px;font-size:.84rem}.hero-buttons .btn-secondary{color:#f5efe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #f5efe673}.hero-buttons .btn-secondary:hover{background:#fff3}@media (min-width:860px){.page{--max-width:760px}.hero-full{flex-direction:column;align-items:center;width:min(100% - 24px,760px);margin-left:auto;margin-right:auto;padding:0 0 clamp(36px,5vh,64px);overflow:visible}.hero-frame{z-index:0;width:100%;max-width:720px;height:auto;box-shadow:none;border-radius:0;position:relative}.hero-photo-full{background-position:50%;background-size:108%}.hero-fade{background:linear-gradient(#1410091f 0%,#0000 30% 60%,#1410098c 84%,#16120f 100%);display:block}.hero-center{z-index:1;text-align:center;max-width:560px;margin-top:-210px;position:relative}.inline-cal-panel{max-width:440px;margin-left:auto;margin-right:auto}.page .site-header{padding-left:max(20px,50% - 380px);padding-right:max(20px,50% - 380px)}.page .header-nav{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.page .floating-cta{display:none}.page .header-reserve{align-items:center;display:inline-flex}}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#16120fb8;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0 auto;padding:14px clamp(16px,5vw,40px) 12px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;align-items:center;font-size:16px;font-weight:700;display:inline-flex}.brand-logo{width:auto;height:22px;display:block}.header-nav{color:var(--main-text);gap:4px 16px;font-size:13px;font-weight:700;display:flex}.header-nav a{padding:7px 4px}.header-nav a:hover{color:var(--deep-green)}.header-reserve{background:var(--main-orange);color:#fff;font-family:var(--font-display),sans-serif;letter-spacing:.02em;white-space:nowrap;cursor:pointer;border:none;border-radius:999px;padding:9px 20px;font-size:13px;font-weight:700;transition:background .2s;display:none}.header-reserve:hover{background:var(--orange-hover)}.section-pad{width:min(100% - 24px,var(--max-width));margin:0 auto;padding:clamp(72px,16vw,132px) 0}#food,#plan,#overview,#access,#reserve{position:relative}#food:before,#plan:before,#overview:before,#access:before{content:"";background:var(--border);width:40px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.eyebrow{color:var(--main-orange);font-family:var(--font-display),"Noto Sans JP",sans-serif;letter-spacing:.05em;text-transform:uppercase;margin:0 0 5px;font-size:clamp(1.5rem,5.2vw,2.1rem);font-weight:700;line-height:1.12}.eyebrow+h2{color:var(--sub-text);letter-spacing:.02em;margin:0 0 14px;font-family:Noto Sans JP,sans-serif;font-size:.8rem;font-weight:600;line-height:1.5}h1{margin-bottom:14px;font-size:clamp(1.5rem,5vw,1.85rem)}h2{margin-bottom:14px;font-size:clamp(1.25rem,4vw,1.6rem)}h3{margin-bottom:6px;font-size:.96rem;line-height:1.5}.hero{width:min(100% - 24px,var(--max-width));margin:0 auto;padding-top:8px}.hero-stack{gap:16px;display:grid}.hero-photo{border-radius:var(--radius-xl);height:clamp(180px,38vw,360px);overflow:hidden}.hero-en{font-family:var(--font-display),"Noto Sans JP",sans-serif;letter-spacing:.01em;color:var(--main-text);margin:0;font-size:clamp(1.9rem,7vw,3.8rem);font-weight:700;line-height:1.08}.hero-jp{color:var(--sub-text);max-width:520px;margin:20px 0 0;font-size:.82rem;font-weight:500;line-height:2}.button-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.btn{border:0;border-radius:999px;justify-content:center;align-items:center;min-width:134px;min-height:44px;font-size:.95rem;font-weight:700;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--main-orange);color:#fff}.btn-primary:hover{background:var(--orange-hover)}.btn-secondary{background:var(--soft-green);color:var(--deep-green)}.page a.btn-primary{color:#fff}.page a.btn-secondary{color:var(--deep-green)}.section-intro{max-width:620px;margin:0 0 clamp(40px,7vw,64px)}.food-shot{gap:10px;display:grid}.food-image{border-radius:var(--radius-lg);height:230px;overflow:hidden}.food-image-pair{gap:12px;display:grid}.food-image-pair .food-image{height:180px}.food-caption span{color:var(--main-text);letter-spacing:.02em;margin-bottom:4px;font-size:.95rem;font-weight:700;display:block}.food-caption p{color:var(--sub-text);margin-bottom:0;font-size:.82rem}.food-gallery,.food-side-stack{gap:16px;display:grid}.food-shot-large .food-image{height:320px}.info-panel{background:0 0;border:none;border-radius:0;padding:0;overflow:visible}.section-heading{max-width:720px;margin-bottom:20px}.section-heading.center{text-align:center;max-width:640px;margin-bottom:clamp(32px,6vw,52px);margin-left:auto;margin-right:auto}.plan-intro{color:var(--sub-text);margin:14px 0 0;font-size:.86rem;line-height:2}.plan-intro span{display:block}.plan-grid{gap:16px;display:grid}.drink-grid{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.price-block{text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card-white);flex-direction:column;justify-content:center;align-items:center;gap:9px;margin:0;padding:20px 14px;display:flex}.price-block span{color:var(--main-text);font-size:15px;font-weight:700}.price-block strong{font-family:var(--font-display),sans-serif;color:var(--main-orange);font-size:2.17rem;font-weight:700}.check-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.check-list li{color:var(--sub-text);padding-left:28px;position:relative}.check-list li:before{background:var(--main-orange);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:.72em;left:0}.check-list.small li{font-size:.86rem}.drink-option{border-top:1px solid var(--border);background:0 0;margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,40px)}.drink-change-note{color:var(--deep-green);margin-top:8px;font-weight:600}.course-cards{gap:14px;margin:0 0 18px;display:grid}.course-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card-white);padding:22px;position:relative}.course-card .check-list{gap:5px}.course-card .check-list li{padding-left:18px;line-height:1.65}.course-card .check-list.small li{font-size:.78rem}.course-card .check-list li:before{width:5px;height:5px;top:.62em}.course-card.is-popular{border-color:var(--border)}.course-badge{background:var(--main-orange);color:#fff;letter-spacing:.06em;border-radius:999px;padding:4px 13px;font-size:.7rem;font-weight:700;position:absolute;top:-12px;left:22px}.course-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px;display:flex}.course-en{font-family:var(--font-display),sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--main-text);margin:0;font-size:1.35rem;font-weight:700;line-height:1.12}.course-dishes{color:var(--sub-text);margin:0;font-size:.78rem}.course-price{align-items:baseline;gap:6px;margin:0 0 10px;display:flex}.course-price span{color:var(--sub-text);font-size:.76rem}.course-price strong{font-family:var(--font-display),sans-serif;color:var(--main-text);font-size:1.85rem;font-weight:700}.course-price small,.price-block strong small{color:var(--light-text);letter-spacing:.01em;font-size:.6rem;font-weight:400}.course-desc{margin:0 0 12px;font-size:.8rem}.plan-foot-note{color:var(--sub-text);margin:0;font-size:.8rem}.course-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.course-opt{text-align:left;flex-direction:column;display:flex;position:relative}.course-opt .course-opt-badge{background:var(--main-orange);color:#fff;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:.62rem;font-weight:700;display:inline-block;position:absolute;top:8px;right:8px}.course-opt .course-opt-name{color:var(--main-text);font-size:.98rem;font-weight:700;line-height:1.4;display:block}.course-opt .course-opt-name small{color:var(--sub-text);margin-top:2px;font-size:.72rem;font-weight:500;display:block}.course-opt .course-opt-price{font-family:var(--font-display),sans-serif;color:var(--main-text);margin-top:auto;padding-top:8px;font-size:1.1rem;font-weight:700;display:block}.course-opt .course-opt-price small{color:var(--sub-text);margin-left:1px;font-size:.7rem;font-weight:500}.course-opt[aria-pressed=true] .course-opt-name,.course-opt[aria-pressed=true] .course-opt-price{color:var(--main-orange)}.info-list{margin:0;display:grid}.info-list div{border-top:1px solid var(--border);grid-template-columns:130px 1fr;gap:18px;padding:13px 0;display:grid}.info-list dt{color:var(--main-text);font-weight:700}.info-list dd{color:var(--sub-text);margin:0}.ico{vertical-align:-3px;color:var(--deep-green);margin-right:7px;display:inline-block}.weather-note{border:1px solid var(--border);border-radius:var(--radius-md);background:#3f6b4f0d;margin-top:22px;padding:18px 20px}.weather-note strong{color:var(--deep-green);margin-bottom:6px;font-size:.92rem;display:block}.weather-note strong .ico{margin-right:6px}.weather-note p{color:var(--sub-text);margin:0;font-size:.84rem;line-height:1.95}.access-grid{gap:24px;display:grid}.access-map{border-radius:var(--radius-lg);height:clamp(220px,40vw,340px);overflow:hidden}.access-map iframe{border:0;width:100%;height:100%;display:block}.access-info{align-self:center}.access-store{margin-bottom:14px}.access-store-name{font-family:var(--font-display),"Noto Sans JP",sans-serif;color:var(--main-text);margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.access-store-sub{font-family:var(--font-display),sans-serif;letter-spacing:.14em;color:var(--main-orange);margin:2px 0 0;font-size:.78rem;font-weight:600}.access-link{color:var(--deep-green);border-bottom:1px solid var(--deep-green);margin-top:20px;padding-bottom:3px;font-size:.9rem;font-weight:700;transition:color .2s,border-color .2s;display:inline-block}.access-link:hover{color:var(--main-orange);border-color:var(--main-orange)}.faq-list{gap:12px;display:grid}.faq{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-white);overflow:hidden}.faq-q{text-align:left;width:100%;color:var(--main-text);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:700;display:flex}.faq-ic{color:var(--main-orange);flex-shrink:0;font-size:18px}.faq-a{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.faq.open .faq-a{grid-template-rows:1fr}.faq-a-inner{overflow:hidden}.faq-a p{margin:0;padding:0 16px 16px;font-size:.86rem;line-height:1.9}.faq-list.compact{gap:7px}.faq-list.compact .faq-q{padding:10px 14px;font-size:13px}.faq-list.compact .faq-ic{font-size:16px}.faq-list.compact .faq-a p{padding:0 14px 12px;font-size:.77rem;line-height:1.78}.faq-more,.cal-more{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);width:100%;color:var(--main-orange);background:0 0;padding:12px;font-size:.82rem;font-weight:700;transition:border-color .2s,background-color .2s;display:block}.faq-more{margin-top:2px}.cal-more{margin:6px 0 2px}.faq-more:hover,.cal-more:hover{border-color:var(--main-orange);background:#e09a520f}.private-note{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--soft-green);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:0 0 28px;padding:22px 24px;display:flex}.private-note-text strong{color:var(--deep-green);margin-bottom:4px;font-size:1rem;display:block}.private-note-text p{color:var(--sub-text);max-width:520px;margin:0;font-size:.85rem}.private-note-links{flex-wrap:wrap;gap:10px;display:flex}.pn-link{white-space:nowrap;border:1.5px solid var(--deep-green);min-height:44px;color:var(--deep-green);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 20px;font-size:.88rem;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.pn-link:hover{background:var(--deep-green);color:#fff}.pn-insta{border-color:var(--main-orange);color:var(--main-orange)}.pn-insta:hover{background:var(--main-orange);color:#fff}.private-note.slim{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--soft-green);color:var(--sub-text);margin:0 0 20px;padding:9px 14px;font-size:.76rem;line-height:1.65;display:block}.private-note.slim .pn-label{color:var(--deep-green);margin-right:6px;font-weight:700}.private-note.slim .pn-textlink{color:var(--main-orange);white-space:nowrap;border-bottom:1px solid #e09a5280;margin-left:10px;font-weight:700}.reserve-layout{align-items:start;gap:24px;display:grid}.reserve-panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none;background:0 0;padding:clamp(20px,4vw,32px)}.reserve-form{gap:clamp(24px,4vw,40px);display:grid}.reserve-block{gap:16px;display:grid}.reserve-block-head h3{color:var(--main-orange);letter-spacing:.04em;margin:0;font-size:.92rem}#reserve,#step-info{scroll-margin-top:84px}.people-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.slot-grid,.drink-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.option-card,.slot-card{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--main-text);font:inherit;text-align:left;background:0 0;padding:14px;font-weight:500;transition:border-color .18s,background-color .18s}.option-card:not(:disabled):hover,.slot-card:not(:disabled):hover{border-color:var(--main-orange)}.option-card[aria-pressed=true],.slot-card[aria-pressed=true]{border-color:var(--main-orange);color:var(--main-orange);background:#e09a5229}.option-card:disabled{cursor:not-allowed;opacity:.5}.option-card.people{text-align:center;font-size:1.05rem}.option-card.people small{color:var(--sub-text);margin-left:2px;font-size:.74rem;font-weight:400}.option-card span,.slot-card strong{font-size:1.05rem;display:block}.option-card small,.slot-card span{color:var(--sub-text);font-size:.78rem;font-weight:500;display:block}.slot-card.st-available span{color:var(--deep-green)}.slot-card.st-few span{color:#c98a2e}.field-grid{gap:14px;display:grid}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;top:auto;left:-9999px;position:absolute!important}.field{gap:7px;display:grid}.field span{color:var(--main-text);font-size:.92rem;font-weight:700}.field input,.field textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-white);width:100%;color:var(--main-text);font:inherit;resize:vertical;padding:12px 13px}.field input:focus,.field textarea:focus{border-color:#cf6e37a6;outline:2px solid #cf6e3738}.field-err{color:#b5635a;margin-top:5px;font-size:.74rem;font-style:normal;font-weight:500;display:block}.field.has-err input{border-color:#b5635a}.reserve-submit{width:100%;margin-top:6px}.reserve-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}.weather-check{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-white);cursor:pointer;color:var(--sub-text);align-items:flex-start;gap:11px;margin-top:18px;padding:14px 16px;font-size:.8rem;font-weight:400;line-height:1.8;display:flex}.weather-check input{width:18px;height:18px;accent-color:var(--main-orange);flex-shrink:0;margin-top:.25em}.weather-check i{color:var(--main-orange);margin-left:2px;font-style:normal}.weather-check.miss{background:#b5635a14;border-color:#b5635a}.form-message{color:var(--deep-green);margin:0;font-weight:700}.form-message.warn{color:#b5635a;border-radius:var(--radius-md);background:#b5635a1a;border:1px solid #b5635a4d;padding:11px 14px}.retry-link{color:var(--main-orange);background:0 0;border:0;margin-left:8px;padding:0;font-weight:700;text-decoration:underline}.inline-link{color:var(--deep-green);border-bottom:1px solid var(--deep-green);padding-bottom:1px;font-weight:700}.inline-link:hover{color:var(--main-orange);border-color:var(--main-orange)}.reserve-small-note{color:var(--light-text);margin:0;font-size:.82rem}.cal-note{margin-top:10px}.reserve-summary{gap:14px;display:grid}.summary-title{color:var(--main-text);margin:0 0 6px;font-size:.95rem;font-weight:700}.summary-tags{flex-wrap:wrap;gap:8px;display:flex}.sel-tag{color:var(--main-text);white-space:nowrap;background:#e09a5224;border:1px solid #e09a5266;border-radius:999px;align-items:center;padding:6px 13px;font-size:.82rem;font-weight:600;display:inline-flex}.summary-list{margin:0;display:grid}.summary-list div{border-top:1px solid var(--border);grid-template-columns:92px 1fr;gap:14px;padding:12px 0;display:grid}.summary-list dt{color:var(--main-text);font-weight:700}.summary-list dd{color:var(--sub-text);margin:0}.price-guide{border:1px solid var(--border);border-radius:var(--radius-md);background:#bd6a340d;flex-direction:column;gap:4px;margin-top:14px;padding:14px 16px;display:flex}.price-guide>span:first-child{color:var(--sub-text);font-size:.8rem}.pg-price{font-family:var(--font-display),sans-serif;color:var(--main-orange);font-size:1.15rem;font-weight:700}.pg-price small{color:var(--light-text);margin-left:4px;font-family:Noto Sans JP;font-size:.7rem;font-weight:400}.pg-note{color:var(--light-text);font-size:.74rem}.cal{gap:6px;display:grid}.cal-month{margin-bottom:14px}.cal-month-label{font-family:var(--font-display),"Noto Sans JP",sans-serif;color:var(--main-text);text-align:center;letter-spacing:.04em;padding:6px 0 12px;font-size:.95rem;font-weight:700}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0;display:grid}.cal-head{margin-bottom:2px}.cal-wd{text-align:center;color:var(--light-text);font-size:11px;font-weight:700}.cal-wd.sun{color:#c4736a}.cal-wd.sat{color:#6a8cc4}.cal-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--card-white);color:var(--main-text);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;transition:border-color .18s,transform .18s;display:flex}.cal-cell.empty{background:0 0;border:none}.cal-cell:not(:disabled):hover{border-color:#cf6e3780;transform:translateY(-1px)}.cal-cell:disabled{opacity:.5;cursor:not-allowed;background:#19140f}.cal-cell[aria-pressed=true]{border-color:var(--main-orange);background:#e09a5229}.cal-day{font-size:13px;font-weight:700}.cal-mark{font-size:12px}.cal-reason{color:var(--light-text);letter-spacing:.02em;font-size:9px;font-weight:700;line-height:1}.cal-cell.st-available .cal-mark{color:var(--deep-green)}.cal-cell.st-few .cal-mark{color:#c98a2e}.cal-cell.st-full .cal-reason{color:#b5635a}.cal-cell.st-closed .cal-reason{color:var(--sub-text)}.cal-cell.sun .cal-day{color:#c4736a}.cal-cell.sat .cal-day{color:#6a8cc4}.cal-legend{color:var(--sub-text);flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-top:14px;font-size:11px;display:flex}.cal-legend span{align-items:center;gap:5px;display:flex}.lg-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.lg-dot.o{background:var(--deep-green)}.lg-dot.f{background:#c98a2e}.lg-word{color:var(--light-text);font-weight:700}.done{text-align:center}.done-mark{background:var(--deep-green);color:#fff;border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 18px;font-size:28px;display:grid}.done .summary-list{text-align:left;max-width:340px;margin:20px auto}.done-notes{text-align:left;gap:12px;margin:24px 0;display:grid}.done-note{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-white);padding:16px 18px}.done-note strong{color:var(--main-text);margin-bottom:5px;font-size:.9rem;display:block}.done-note p{color:var(--sub-text);margin:0;font-size:.82rem;line-height:1.9}.done .btn{width:min(100%,280px);margin:8px auto 0;display:flex}.done-map{margin-bottom:4px}.confirm-lead{color:var(--sub-text);margin:0 0 20px;font-size:.9rem}.confirm-list{margin-bottom:24px}.turnstile-box{justify-content:center;min-height:1px;margin:0 0 14px;display:flex}.confirm-actions{gap:12px;display:flex}.confirm-actions .btn{flex:1}.site-footer{width:min(100% - 28px,var(--max-width));border-top:1px solid var(--border);margin:0 auto;padding:40px 0 56px}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px 24px;margin-bottom:24px;display:flex}.footer-contact{flex-wrap:wrap;gap:10px;margin:0 0 24px;display:flex}.footer-cta{border:1px solid var(--border);color:var(--main-text);border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.footer-cta svg{flex-shrink:0}.footer-cta.tel{background:var(--main-orange);color:#fff;border-color:var(--main-orange)}.footer-cta.tel:hover{background:var(--orange-hover);border-color:var(--orange-hover)}.footer-cta.ig:hover{border-color:var(--main-orange);color:var(--main-orange)}.footer-name{font-family:var(--font-display),"Noto Sans JP",sans-serif;color:var(--main-text);margin:0;font-size:1.2rem;font-weight:700;line-height:1.2}.footer-sub{font-family:var(--font-display),sans-serif;letter-spacing:.14em;color:var(--main-orange);margin:3px 0 0;font-size:.72rem;font-weight:600}.footer-ig{color:var(--deep-green);justify-content:center;align-items:center;transition:color .2s;display:inline-flex}.footer-ig:hover{color:var(--main-orange)}.footer-info{gap:0;margin:0 0 20px;display:grid}.footer-info div{border-top:1px solid var(--border);grid-template-columns:92px 1fr;gap:14px;padding:11px 0;display:grid}.footer-info dt{color:var(--main-text);font-size:.82rem;font-weight:700}.footer-info dd{color:var(--sub-text);margin:0;font-size:.82rem}.footer-maplink{color:var(--deep-green);border-bottom:1px solid var(--deep-green);margin-top:6px;padding-bottom:1px;font-weight:700;display:inline-block}.footer-maplink:hover{color:var(--main-orange);border-color:var(--main-orange)}.footer-bottom{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:12px;margin-top:8px;padding-top:18px;display:flex}.footer-legal{flex-wrap:wrap;align-items:baseline;gap:3px 14px;display:flex}.footer-copy{color:var(--light-text);font-size:.72rem;line-height:1.7}.footer-privacy{color:var(--light-text);font-size:.72rem;text-decoration:underline}.footer-privacy:hover{color:var(--sub-text)}.floating-cta{z-index:40;background:var(--main-orange);color:#fff;letter-spacing:.03em;opacity:0;pointer-events:none;border:0;border-radius:999px;justify-content:center;align-items:center;height:54px;padding:0 28px;font-size:.95rem;font-weight:700;transition:opacity .35s,transform .35s;display:inline-flex;position:fixed;bottom:24px;right:24px;transform:translateY(20px);box-shadow:0 8px 24px #bd6a3459}.floating-cta.show{opacity:1;pointer-events:auto;transform:translateY(0)}.floating-cta:hover{background:var(--orange-hover)}.rsv-modal{z-index:100;position:fixed;inset:0}.rsv-overlay{background:#0000008c;animation:.5s both rsv-overlay-in;position:absolute;inset:0}.rsv-modal.is-closing .rsv-overlay{animation:.45s both rsv-overlay-out}.rsv-sheet{background:var(--base-bg);border-radius:18px 18px 0 0;flex-direction:column;max-height:92svh;animation:.55s cubic-bezier(.22,.9,.28,1) both rsv-up;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -10px 40px #00000080}.rsv-modal.is-closing .rsv-sheet{animation:.5s cubic-bezier(.4,0,.7,.2) both rsv-down}@keyframes rsv-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes rsv-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes rsv-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes rsv-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}.rsv-sheet-head{border-bottom:1px solid var(--border);text-align:center;flex-shrink:0;padding:16px 16px 12px;position:relative}.rsv-grabber{background:var(--border);border-radius:999px;width:40px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.rsv-close{color:var(--main-text);cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:26px;line-height:1;position:absolute;top:10px;left:10px}.rsv-sheet-title{color:var(--main-text);margin:6px 0 0;font-size:1rem;font-weight:700}.rsv-status{text-align:center;color:var(--main-orange);border-bottom:1px solid var(--border);background:#e09a521a;flex-shrink:0;margin:0;padding:9px 16px;font-size:.8rem;font-weight:700}.rsv-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.rsv-pad{flex-direction:column;gap:clamp(20px,4vw,30px);padding:14px 16px 22px;display:flex}.rsv-foot{border-top:1px solid var(--border);background:var(--card-white);padding:12px 0 calc(12px + env(safe-area-inset-bottom));flex-shrink:0;gap:11px;display:grid}.rsv-field{gap:7px;display:grid}.rsv-field-label{color:var(--main-text);padding:0 16px;font-size:.82rem;font-weight:700}.hscroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:0 16px 2px;display:flex;overflow-x:auto}.hscroll::-webkit-scrollbar{display:none}.hchip{white-space:nowrap;cursor:pointer;border:1px solid var(--border);color:var(--sub-text);background:0 0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:8px 14px;font-size:.86rem;font-weight:700;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.hchip .hchip-mk{font-size:.66rem}.hchip.sel{border-color:var(--main-orange);color:var(--main-orange);background:#e09a5229}.hchip.off{opacity:.6;cursor:default;color:var(--light-text)}.hchip:disabled{opacity:.42;cursor:default}.hbtn{white-space:nowrap;cursor:pointer;border:1px solid var(--main-orange);background:var(--main-orange);color:#fff;border-radius:10px;flex:none;padding:10px 16px;font-size:.95rem;font-weight:700;transition:box-shadow .15s}.hbtn.sel{box-shadow:0 0 0 3px #e09a5273}.hbtn:disabled{cursor:default;background:var(--card-white);border-color:var(--border);color:var(--light-text)}.rsv-hint{color:var(--light-text);margin:1px 0 0;padding:0 16px;font-size:.74rem;line-height:1.6}.scroll-target{scroll-margin-top:12px}.reserve-inline{flex-direction:column;gap:clamp(22px,4vw,36px);display:flex}.reserve-inline .rsv-field-label,.reserve-inline .hscroll{padding-left:0;padding-right:0}.tbl-cal .cal-grid{gap:2px}.tbl-cal .cal-cell{aspect-ratio:1;cursor:default;opacity:1;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 0;transition:none;display:flex}.tbl-cal .cal-cell.tappable{cursor:pointer}.tbl-cal .cal-cell.empty,.tbl-cal .cal-cell[aria-pressed=true]{background:0 0;border:none}.tbl-cal .cal-cell:disabled{opacity:1;cursor:default;background:0 0}.tbl-cal .cal-day{color:var(--main-text);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:700;line-height:1;display:flex}.tbl-cal .cal-cell.sun .cal-day{color:#d98a82}.tbl-cal .cal-cell.sat .cal-day{color:#8fb0e0}.tbl-cal .cal-cell.mk-out .cal-day,.tbl-cal .cal-cell.mk-muted .cal-day{color:var(--light-text)}.tbl-cal .cal-cell.tappable:hover .cal-day{background:#e09a5229}.tbl-cal .cal-cell.sel .cal-day{background:var(--main-orange);color:#fff;box-shadow:0 0 0 2px #e09a5259}.tbl-cal .cal-mk{font-size:11px;font-weight:700;line-height:1}.tbl-cal .mk-ok .cal-mk,.tbl-cal .mk-few .cal-mk{color:var(--main-orange)}.tbl-cal .mk-tel .cal-mk{color:#c79b62}.tbl-cal .mk-x .cal-mk,.tbl-cal .mk-muted .cal-mk{color:var(--light-text)}.tbl-cal .mk-out .cal-mk{color:var(--border)}.tbl-cal .mk-soon .cal-mk{color:var(--light-text);letter-spacing:-.04em;font-size:8.5px}.tbl-cal .cal-cell.mk-soon .cal-day{color:var(--light-text)}.tbl-cal .cal-legend{gap:6px 12px;margin-top:16px;font-size:11px}.tbl-cal .cal-legend b{margin-right:3px;font-style:normal;font-weight:700}.tbl-cal .cal-legend .lg-ok{color:var(--main-orange)}.tbl-cal .cal-legend .lg-tel{color:#c79b62}.tbl-cal .cal-legend .lg-muted{color:var(--light-text)}.tbl-cal .cal-legend .lg-out{color:var(--sub-text)}.tbl-cal .cal-legend .lg-soon{color:var(--light-text);font-size:10px}.rsv-scroll .tbl-cal .cal-head{z-index:3;background:var(--base-bg);margin:0;padding:8px 0 6px;position:sticky;top:0}@media (min-width:760px){.rsv-sheet{border-radius:18px;width:720px;max-width:calc(100% - 32px);max-height:88vh;animation:.55s cubic-bezier(.22,.9,.28,1) both rsv-up-pc;bottom:20px;left:50%;right:auto}.rsv-modal.is-closing .rsv-sheet{animation:.5s cubic-bezier(.4,0,.7,.2) both rsv-down-pc}}@keyframes rsv-up-pc{0%{transform:translate(-50%,calc(100% + 28px))}to{transform:translate(-50%)}}@keyframes rsv-down-pc{0%{transform:translate(-50%)}to{transform:translate(-50%,calc(100% + 28px))}}@media (max-width:520px){h1{font-size:1.5rem}h2{font-size:1.24rem}.btn{width:100%;min-height:52px}.info-list div,.summary-list div,.footer-info div{grid-template-columns:1fr;gap:4px}.reserve-summary.is-empty{display:none}.floating-cta{height:60px;padding:0;padding-bottom:env(safe-area-inset-bottom);border-radius:0;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #5037231f}.page{padding-bottom:60px}.cal-grid{gap:5px}.cal-cell{border-radius:10px}.cal-day{font-size:15px}.people-grid{gap:8px}.slot-grid{gap:9px}.slot-card{min-height:64px}.drink-choice-grid,.course-choice-grid{grid-template-columns:1fr;gap:9px}.course-opt{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.course-opt .course-opt-price{white-space:nowrap;text-align:right;margin-top:0;padding-top:0}.course-opt .course-opt-badge{flex-shrink:0;order:1;position:static}.course-opt .course-opt-name{flex:1}.field input,.field textarea{padding:14px;font-size:16px}.confirm-actions{flex-direction:column}.section-pad{padding:clamp(40px,11vw,64px) 0}.brand{font-size:15px}.header-nav{gap:3px 11px;font-size:11px}.header-nav a{padding:7px 2px}.reserve-panel{padding:18px 14px}}@media (min-width:760px){.section-pad{padding:64px 0}h1{font-size:2.25rem}h2{font-size:1.9rem}.food-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.food-side-stack{display:contents}.food-side-stack .food-shot:last-child{grid-column:1/-1}.food-image,.food-shot-large .food-image{height:330px}.food-image-pair .food-image{height:260px}.food-side-stack .food-shot:last-child .food-image-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.plan-grid{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,72px)}.course-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}.access-grid{grid-template-columns:1.2fr 1fr;gap:32px}.reserve-layout{grid-template-columns:minmax(0,1fr) 340px}.reserve-summary{position:sticky;top:78px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
