:root{--color-background:#f8f8f4;--color-foreground:#111;--color-card:#fff;--color-card-foreground:#111;--color-primary:#006b3a;--color-primary-foreground:#fff;--color-secondary:#48b313;--color-secondary-foreground:#fff;--color-muted:#f1f5f2;--color-muted-foreground:#66736b;--color-accent:#e8f4ee;--color-accent-foreground:#111;--color-border:#d8e2dc;--color-input:#d8e2dc;--color-ring:#007a43;--color-destructive:#b3261e;--color-destructive-foreground:#fff;--color-primary-light:#e8f4ee;--color-primary-hover:#007a43;--color-brand-green-900:#004f2a;--color-brand-green-800:#006b3a;--color-brand-green-700:#007a43;--color-brand-green-100:#e8f4ee;--color-brand-lime:#48b313;--color-success:#007a43;--color-warning:#c27803;--color-border-subtle:#e5ece7;--shadow-card:0 8px 24px #11111114;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-full:9999px;--font-family-sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;--shadow-sm:0 2px 8px #1111110f;--shadow-md:0 8px 18px #11111117;--shadow-lg:0 16px 40px #11111124;--shadow-xl:0 22px 54px #11111129;--gradient-brand:linear-gradient(135deg, #004f2a 0%, #006b3a 55%, #2e9e3f 100%);--gradient-lime:linear-gradient(118deg, #006b3a 0%, #48b313 100%);--gradient-deep:linear-gradient(155deg, #00331b 0%, #004f2a 45%, #00733d 100%);--glass-bg:#ffffffb8;--glass-bg-strong:#ffffffdb;--glass-border:#ffffffa6;--shadow-green-sm:0 2px 12px -3px #004f2a24;--shadow-green-md:0 16px 38px -14px #004f2a38;--shadow-green-lg:0 30px 66px -18px #004f2a52;--glow-lime:0 0 0 1px #48b31340, 0 10px 26px -8px #48b31366;--color-footer-bg:var(--color-foreground);--color-footer-fg:var(--color-background)}*,:before,:after{box-sizing:border-box;border-color:var(--color-border);margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth}html[data-font-size=large]{font-size:1.2rem}body{font-family:var(--font-family-sans);color:var(--color-foreground);background-color:var(--color-background);font-size:1rem;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}@media (min-width:768px){.container{padding:0 2rem}}.card{background:var(--color-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-green-sm);padding:1.75rem;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s;position:relative}.card:hover{box-shadow:var(--shadow-green-lg);border-color:#48b31359;transform:translateY(-4px)}.card-static{background:var(--color-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.75rem;position:relative}.card-flat{background:var(--color-card);border:1px solid var(--color-border);box-shadow:none}.btn{border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.message-error{color:var(--color-destructive);border-radius:var(--radius-lg);background-color:#fef2f2;padding:.875rem 1rem;font-size:.875rem}.message-success{background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-lg);padding:.875rem 1rem;font-size:.875rem}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-foreground);box-shadow:0 2px 8px -2px #006b3a66}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px -2px #006b3a80}.btn-accent{background-color:var(--color-secondary);color:var(--color-secondary-foreground)}.btn-accent:hover{background-color:var(--color-primary-hover)}.btn-secondary{color:var(--color-foreground);border:1.5px solid var(--color-border);background-color:#0000}.btn-secondary:hover{background-color:var(--color-muted);border-color:var(--color-muted-foreground)}.btn-ghost{color:var(--color-muted-foreground);background:0 0}.btn-ghost:hover{color:var(--color-foreground);background-color:var(--color-accent)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-lg{border-radius:var(--radius-full);padding:1rem 2.5rem;font-size:1rem;font-weight:600}.input{width:100%;color:var(--color-foreground);background-color:var(--color-muted);border-radius:var(--radius-lg);border:1.5px solid #0000;outline:none;padding:.875rem 1.25rem;font-family:inherit;font-size:1rem;transition:border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),background-color .25s cubic-bezier(.4,0,.2,1)}.input::placeholder{color:#adadad}.input:hover{background-color:var(--color-accent)}.input:focus{background-color:var(--color-card);border-color:var(--color-primary);box-shadow:0 0 0 3px #006b3a1f}.text-display{font-family:var(--font-display), var(--font-jp-display), var(--font-family-sans);letter-spacing:-.03em;color:var(--color-foreground);font-size:clamp(3rem,6vw,4.5rem);font-weight:700;line-height:1.05}.text-headline{font-family:var(--font-display), var(--font-jp-display), var(--font-family-sans);letter-spacing:-.025em;color:var(--color-foreground);font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.15}.text-title{font-family:var(--font-display), var(--font-jp-display), var(--font-family-sans);letter-spacing:-.015em;color:var(--color-foreground);font-size:1.375rem;font-weight:600;line-height:1.3}.tnum{font-family:var(--font-display), var(--font-jp-display), var(--font-family-sans);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.text-body{color:var(--color-muted-foreground);font-size:1.0625rem;line-height:1.7}.text-caption{color:var(--color-muted-foreground);letter-spacing:.01em;font-size:.8125rem}.text-caption-lg{color:var(--color-muted-foreground);letter-spacing:.01em;font-size:.875rem}.text-overline{text-transform:uppercase;letter-spacing:.15em;color:var(--color-muted-foreground);font-size:.6875rem;font-weight:500}.home-hero-title{font-family:var(--font-display), var(--font-jp-display), var(--font-family-sans);font-size:2.75rem}@media (max-width:640px){.home-hero-title{letter-spacing:-.01em;font-size:1.625rem}}@media (max-width:360px){.home-hero-title{font-size:1.5rem}}.hero-shell{isolation:isolate;background:radial-gradient(58% 48% at 50% -4%, #48b3131f 0%, transparent 60%), radial-gradient(64% 56% at 86% 6%, #006b3a26 0%, transparent 56%), radial-gradient(72% 64% at 6% 36%, #004f2a1a 0%, transparent 60%), var(--color-background);position:relative;overflow:hidden}.hero-shell:before{content:"";z-index:-1;background-image:radial-gradient(#004f2a0e 1px,#0000 1.4px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(72% 58% at 50% 30%,#000 0%,#0000 76%);mask-image:radial-gradient(72% 58% at 50% 30%,#000 0%,#0000 76%)}.hero-shell:after{content:"";opacity:.05;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-orb{filter:blur(64px);opacity:.5;z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.hero-search{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px)saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius-full);box-shadow:var(--shadow-green-lg), inset 0 1px 0 #ffffffb3}.eyebrow-chip{border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-brand-green-800);letter-spacing:.08em;align-items:center;gap:.4rem;padding:.3rem .9rem;font-size:.75rem;font-weight:700;display:inline-flex}.area-pill{transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}.area-pill:hover{box-shadow:var(--shadow-green-sm);transform:translateY(-2px);background:var(--color-surface,#fff)!important;border-color:#48b31373!important}.text-gradient{background:linear-gradient(135deg,#004f2a 0%,#48b313 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}@media (max-width:768px){.text-display{font-size:clamp(2.25rem,8vw,3rem)}.text-headline{font-size:1.75rem}.text-title{font-size:1.25rem}}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(180px,auto);gap:1rem;display:grid}@media (max-width:1024px){.bento-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.bento-grid{grid-template-columns:1fr}}.bento-item{border-radius:var(--radius-lg);overflow:hidden}.bento-span-2{grid-column:span 2}.bento-span-3{grid-column:span 3}.bento-row-2{grid-row:span 2}@media (max-width:640px){.bento-span-2,.bento-span-3{grid-column:span 1}.bento-row-2{grid-row:span 1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes timerPulse{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 6px #ef444400}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.animate-fade-in{animation:.6s cubic-bezier(.4,0,.2,1) forwards fadeIn}.animate-fade-in-up{animation:.8s cubic-bezier(.4,0,.2,1) forwards fadeInUp}.animate-scale-in{animation:.6s cubic-bezier(.4,0,.2,1) forwards scaleIn}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s}.delay-3{animation-delay:.45s}.delay-4{animation-delay:.6s}.delay-5{animation-delay:.75s}.delay-6{animation-delay:.9s}.hero-content-padding{padding-top:6rem;padding-bottom:6rem}@media (max-width:640px){.hero-content-padding{padding-top:3rem;padding-bottom:3rem}}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-center{text-align:center}.text-right{text-align:right}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--color-muted) 25%, #e6e8ea 50%, var(--color-muted) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@supports (color:lab(0% 0 0)){.skeleton{background:linear-gradient(90deg, var(--color-muted) 25%, lab(91.8794% -.370264 -1.05916) 50%, var(--color-muted) 75%)}}.pulse-live{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-live}.seat-row{flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.seat-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.seat-open{background:var(--color-brand-lime);animation:2.2s ease-in-out infinite seatPulse}.seat-taken{background:var(--color-border)}.live-dot{background:var(--color-success);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.8s ease-in-out infinite seatPulse;display:inline-block}@keyframes seatPulse{0%,to{box-shadow:0 0 #48b3138c}55%{box-shadow:0 0 0 4px #48b31300}}@media (prefers-reduced-motion:reduce){.seat-open,.live-dot,.pulse-live{animation:none}}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .6s,transform .6s cubic-bezier(.22,.61,.36,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.progress-bar{background:var(--color-muted);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.truncate-3{-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:80px;right:1rem}.toast{pointer-events:auto;border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-lg);align-items:center;gap:.5rem;max-width:360px;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;animation:.3s cubic-bezier(.4,0,.2,1) forwards slideInRight;display:flex}.toast-success{border-left:4px solid var(--color-primary);color:var(--color-primary)}.toast-error{border-left:4px solid var(--color-destructive);color:var(--color-destructive)}.toast-exit{animation:.3s cubic-bezier(.4,0,.2,1) forwards slideOutRight}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted-foreground)}.navbar{z-index:100;width:100%;box-shadow:none;background:0 0;padding:.75rem 0;position:sticky;top:0}.navbar-content{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);min-height:64px;box-shadow:var(--shadow-green-md), inset 0 1px 0 #ffffffb3;justify-content:space-between;align-items:center;padding-top:0;padding-bottom:0;display:flex}.navbar-logo{flex-direction:row;flex-shrink:0;align-items:center;gap:.625rem;min-width:0;text-decoration:none;display:flex}.logo-text{letter-spacing:.08em;white-space:nowrap;color:var(--color-foreground);flex-direction:row;align-items:center;font-size:1.125rem;font-weight:700;display:inline-flex}.navbar-primary-actions{align-items:center;gap:.5rem;display:flex}.navbar-nav{align-items:center;gap:1.4rem;display:flex}.navbar-nav a{color:var(--color-muted-foreground);letter-spacing:.04em;font-size:.8125rem;font-weight:500;transition:color .25s cubic-bezier(.4,0,.2,1)}.navbar-nav a:hover{color:var(--color-foreground)}.navbar-actions{align-items:center;gap:.75rem;display:flex}.menu-btn{color:var(--color-foreground);cursor:pointer;z-index:60;background:0 0;border:none;padding:.5rem;display:none}.mobile-menu-overlay{-webkit-backdrop-filter:blur(16px);z-index:99;-webkit-overflow-scrolling:touch;background:#f8f8f4fa;padding:1.5rem;animation:.3s cubic-bezier(.4,0,.2,1) menuFadeIn;position:fixed;inset:88px 0 0;overflow-y:auto}.mobile-menu-container{flex-direction:column;gap:2rem;min-height:100%;display:flex}.mobile-menu-links{flex-direction:column;gap:.25rem;display:flex}.mobile-menu-actions{flex-direction:column;gap:.75rem;margin-top:auto;padding-bottom:2rem;display:flex}.mobile-nav-link{border-radius:var(--radius-lg);color:var(--color-foreground);align-items:center;gap:1rem;padding:1rem;font-size:1.0625rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:flex}.mobile-nav-link:hover{background:var(--color-muted)}@keyframes menuFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.navbar-nav,.navbar-primary-actions{display:none}.menu-btn{display:flex}}@media (max-width:768px){.navbar{padding:.5rem 0}.navbar-content{border-radius:var(--radius-md);min-height:56px}.mobile-menu-overlay{top:72px}.navbar-actions>span,.navbar-actions>.btn,.navbar-actions>a:not(.btn){display:none}.navbar-actions .menu-btn{display:flex}}html,body{overflow-x:hidden}select,input[type=text],input[type=email],input[type=tel],input[type=datetime-local]{box-sizing:border-box;max-width:100%}.badge{background:var(--color-muted);color:var(--color-muted-foreground);letter-spacing:.02em;border-radius:9999px;align-items:center;gap:.25rem;padding:.3125rem .75rem;font-size:.6875rem;font-weight:500;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-secondary{background:var(--color-secondary-light);color:var(--color-secondary)}.feature-tag{border-radius:var(--radius-full);background:var(--color-muted);min-width:0;max-width:100%;color:var(--color-muted-foreground);overflow-wrap:anywhere;word-break:break-word;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.feature-tag-success{background:var(--color-primary-light);color:var(--color-primary)}.feature-tag-warning{background:var(--color-secondary-light);color:var(--color-secondary)}.detail-layout{grid-template-columns:minmax(0,1fr) 340px;gap:2rem;display:grid}.detail-layout>*{min-width:0}.detail-sidebar{display:block}#mobile-cta{display:none}@media (max-width:900px){.detail-layout{grid-template-columns:minmax(0,1fr)!important}.detail-sidebar{display:none!important}#mobile-cta{display:block!important}}@media (max-width:640px){#mobile-cta .container{padding:0 1rem}}.ad-slot{border-radius:var(--radius-lg);width:100%;overflow:hidden}.ad-slot-home_hero_below{height:120px}.ad-slot-search_top,.ad-slot-search_inline{height:100px}.ad-slot-parlor_sidebar{height:200px}.ad-slot-footer_above{height:90px}@media (max-width:768px){.ad-slot-home_hero_below{height:90px}.ad-slot-search_top,.ad-slot-search_inline{height:80px}.ad-slot-footer_above{height:72px}}.section-padding{padding-top:6rem;padding-bottom:6rem}.section-padding-lg{padding-top:8rem;padding-bottom:8rem}@media (max-width:640px){.section-padding{padding-top:3rem;padding-bottom:3rem}.section-padding-lg{padding-top:4rem;padding-bottom:4rem}.card,.card-static{padding:1.25rem}.btn-lg{padding:.75rem 1.75rem;font-size:.9375rem}}.flex-responsive{gap:1rem;display:flex}@media (max-width:480px){.flex-responsive{flex-direction:column;align-items:stretch}.flex-responsive>*{text-align:center;justify-content:center;width:100%}}.parlor-card-image{height:180px}@media (max-width:640px){.parlor-card-image{height:140px}}.plan-tabs::-webkit-scrollbar{display:none}.skip-to-main:focus{outline:3px solid var(--color-ring);outline-offset:2px;left:0!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px;border-radius:var(--radius-sm)}a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}@media print{.navbar,.skip-to-main,footer,.no-print{display:none!important}body{font-size:10pt;color:#000!important;background-color:#fff!important}.print-only{display:block!important}main{margin:0!important;padding:0!important}*{box-shadow:none!important;border-color:#ccc!important}}.print-only{display:none}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
@font-face{font-family:displayFont;src:url(../media/bricolage_grotesque_wght-s.p.1iqnhac4m3hwo.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:displayFont Fallback;src:local(Arial);ascent-override:82.39%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:112.88%}.displayfont_e95223c1-module__CNbEya__className{font-family:displayFont,displayFont Fallback,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif}.displayfont_e95223c1-module__CNbEya__variable{--font-display:"displayFont", "displayFont Fallback", -apple-system, BlinkMacSystemFont, Hiragino Sans, Yu Gothic, sans-serif}
@font-face{font-family:jpDisplayFont;src:url(../media/zen_kaku_500_subset-s.p.2f0hysuymycw2.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:jpDisplayFont;src:url(../media/zen_kaku_700_subset-s.p.2u15-ahxsl7pq.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:jpDisplayFont Fallback;src:local(Arial);ascent-override:116.34%;descent-override:28.88%;line-gap-override:0.0%;size-adjust:99.71%}.jpdisplayfont_7f13672f-module__0FO8xW__className{font-family:jpDisplayFont,jpDisplayFont Fallback,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif}.jpdisplayfont_7f13672f-module__0FO8xW__variable{--font-jp-display:"jpDisplayFont", "jpDisplayFont Fallback", -apple-system, BlinkMacSystemFont, Hiragino Sans, Yu Gothic, sans-serif}