.language-switcher[data-astro-cid-a2mxz4y6]{position:relative}.language-button[data-astro-cid-a2mxz4y6]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1.5px solid var(--color-border, #e8e2db);border-radius:2px;color:var(--color-text, #2c2825);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .25s ease;box-shadow:none}.language-button[data-astro-cid-a2mxz4y6]:hover{background:var(--color-primary, #3d3632);border-color:var(--color-primary, #3d3632);color:#fff;box-shadow:none}.language-flag[data-astro-cid-a2mxz4y6]{font-size:1rem;line-height:1}.chevron[data-astro-cid-a2mxz4y6]{transition:transform .2s ease}.language-button[data-astro-cid-a2mxz4y6][aria-expanded=true] .chevron[data-astro-cid-a2mxz4y6]{transform:rotate(180deg)}.language-dropdown[data-astro-cid-a2mxz4y6]{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:1px solid var(--color-border, #e8e2db);border-radius:2px;box-shadow:0 4px 12px #00000014;min-width:180px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;z-index:9999;overflow:hidden}.language-dropdown[data-astro-cid-a2mxz4y6][aria-hidden=false]{opacity:1;visibility:visible;transform:translateY(0)}.language-option[data-astro-cid-a2mxz4y6]{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;color:var(--color-text, #2c2825);text-decoration:none;transition:all .15s ease;font-weight:500;font-size:.875rem}.language-option[data-astro-cid-a2mxz4y6]:hover{background-color:var(--color-bg, #f6f2ed);color:var(--color-secondary, #b07d62)}.language-option[data-astro-cid-a2mxz4y6].active{background-color:var(--color-bg, #f6f2ed);color:var(--color-secondary, #b07d62);font-weight:600;position:relative}.language-option[data-astro-cid-a2mxz4y6].active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:70%;background:var(--color-secondary, #b07d62);border-radius:0 2px 2px 0}.language-option[data-astro-cid-a2mxz4y6]:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.language-option[data-astro-cid-a2mxz4y6]:last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}.language-name[data-astro-cid-a2mxz4y6]{font-size:.875rem}@media (max-width: 1024px){.language-button[data-astro-cid-a2mxz4y6]{padding:.5rem .75rem;font-size:.8125rem;border-width:1.5px;background:#fff}.language-button[data-astro-cid-a2mxz4y6]:hover{background:var(--color-primary, #3d3632)}.language-flag[data-astro-cid-a2mxz4y6]{font-size:1rem}}@media (max-width: 640px){.language-button[data-astro-cid-a2mxz4y6] .language-name[data-astro-cid-a2mxz4y6]{display:none}.language-button[data-astro-cid-a2mxz4y6]{padding:.5rem .75rem;min-width:44px;justify-content:center}.language-flag[data-astro-cid-a2mxz4y6]{font-size:1.125rem}}:root{--warm-white: #fffdf8;--ivory: #faf7f2;--ivory-dark: #f2ece0;--ivory-mid: #ede5d4;--gold: #b8965a;--gold-light: #d4b07a;--gold-pale: #e8d5b0;--taupe: #8c7a6b;--taupe-dark: #5c4a3a;--brown: #3a2e24;--font-en: "Cormorant Garamond", "Marcellus", Georgia, serif;--font-jp: "Noto Serif JP", "Hiragino Mincho ProN", serif;--font-sans: "Noto Sans JP", system-ui, sans-serif;--transition: .3s ease;--color-primary: #3a2e24;--color-secondary: #b8965a;--color-accent: #d4b07a;--color-bg: #faf7f2;--color-bg-white: #fffdf8;--color-text: #443629;--color-text-secondary: #8c7a6b;--color-text-muted: #a89a8a;--color-border: #e8d5b0;--primary-purple: #3a2e24;--secondary-purple: #b8965a;--light-purple: #d4b07a;--accent-gold: #b8965a;--cream: #faf7f2;--warm-gray: #f2ece0;--text-dark: #443629;--text-light: #8c7a6b}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-jp);line-height:1.8;color:var(--color-text);background-color:var(--warm-white);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:var(--font-en),var(--font-jp);font-weight:500}img{max-width:100%}.lp-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto}.lp-ornament .line{display:block;height:1px;width:56px;background:var(--gold)}.lp-ornament .diamond{color:var(--gold);font-size:.55rem;line-height:1}.lp-ornament.wide .line{width:84px}.lp-ornament.light .line{background:#ffffff80}.lp-ornament.light .diamond{color:#ffffffb3}.lp-section-heading{text-align:center;margin-bottom:3.2rem}.lp-label{font-family:var(--font-en);font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.lp-title{font-family:var(--font-en),var(--font-jp);font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500;letter-spacing:.08em;color:var(--brown);line-height:1.4}.lp-btn-fill,.lp-btn-outline{display:inline-block;font-family:var(--font-jp);font-size:.85rem;letter-spacing:.14em;padding:.95em 2.6em;border:1px solid var(--gold);text-decoration:none;transition:background var(--transition),color var(--transition);text-align:center}.lp-btn-fill{background:var(--gold);color:var(--warm-white)}.lp-btn-fill:hover,.lp-btn-outline{background:transparent;color:var(--gold)}.lp-btn-outline:hover{background:var(--gold);color:var(--warm-white)}.site-header{position:sticky;top:0;z-index:1000;background:#faf7f2f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--gold-pale);transition:box-shadow var(--transition)}.site-header.scrolled{box-shadow:0 2px 20px #3a2e2414}.topbar{border-bottom:1px solid var(--gold-pale);background:var(--ivory)}.topbar-inner{max-width:1280px;margin:0 auto;padding:0 2.5rem;height:38px;display:flex;align-items:center;justify-content:space-between}.topbar-info{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.08em;color:var(--taupe)}.topbar-right{display:flex;align-items:center;gap:1rem}.topbar-ig{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-en);font-size:.7rem;letter-spacing:.15em;color:var(--taupe-dark);text-decoration:none;transition:color var(--transition)}.topbar-ig:hover{color:var(--gold)}.topbar-sep{width:1px;height:14px;background:var(--gold-pale)}.main-nav{max-width:1280px;margin:0 auto;padding:0 2.5rem;height:74px;display:flex;align-items:center;justify-content:center}.nav-side{display:flex;align-items:center;gap:1.8rem;flex:1;list-style:none}.nav-side.nav-left{justify-content:flex-end}.nav-side.nav-right{justify-content:flex-start}.nav-side a{font-family:var(--font-jp);font-size:.82rem;letter-spacing:.08em;color:var(--taupe-dark);text-decoration:none;white-space:nowrap;transition:color var(--transition)}.nav-side a:hover{color:var(--gold)}.nav-side a.nav-reserve{font-family:var(--font-en);letter-spacing:.18em;border:1px solid var(--gold);color:var(--gold);padding:.5em 1.4em}.nav-side a.nav-reserve:hover{background:var(--gold);color:var(--warm-white)}.nav-logo{flex-shrink:0;margin:0 2.4rem;text-align:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;line-height:1}.nav-logo-en{font-family:var(--font-en);font-size:1.5rem;letter-spacing:.32em;color:var(--brown);padding-left:.32em}.nav-logo-sub{font-family:var(--font-en);font-size:.5rem;letter-spacing:.34em;color:var(--gold);margin-top:.4rem}.mobile-bar,.mobile-menu{display:none}.floating-reserve{display:none;position:fixed;bottom:1.1rem;right:1.1rem;z-index:900;align-items:center;gap:.5rem;background:var(--gold);color:var(--warm-white);border-radius:50px;padding:.8rem 1.4rem;text-decoration:none;font-family:var(--font-jp);font-size:.82rem;letter-spacing:.06em;box-shadow:0 6px 18px #3a2e2440;transition:background var(--transition),transform var(--transition)}.floating-reserve:hover{background:var(--taupe-dark);transform:translateY(-2px)}.floating-reserve svg{flex-shrink:0}.site-footer{background:var(--brown);padding:4rem 1.5rem 2.5rem;text-align:center}.footer-inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.9rem}.footer-logo{width:56px;height:56px;border-radius:4px;background:var(--warm-white);padding:4px}.footer-name{font-family:var(--font-en);font-size:.85rem;letter-spacing:.28em;color:var(--gold-light);padding-left:.28em}.footer-tagline{font-family:var(--font-jp);font-size:.82rem;color:#fffdf8b3;letter-spacing:.04em}.footer-ornament{display:flex;align-items:center;gap:12px;margin:.4rem 0}.footer-ornament .line{display:block;width:50px;height:1px;background:#d8b07a80}.footer-ornament .diamond{color:var(--gold-light);font-size:.5rem}.footer-addr{font-size:.78rem;color:#fffdf88c;line-height:1.9}.footer-hours{font-size:.76rem;color:#fffdf873;letter-spacing:.04em}.footer-links{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:center;margin-top:.6rem}.footer-links a{font-family:var(--font-jp);font-size:.72rem;letter-spacing:.06em;color:#fffdf899;text-decoration:none;transition:color var(--transition)}.footer-links a:hover{color:var(--gold-light)}.footer-links .dot{color:#fffdf833;font-size:.65rem}.footer-copy{font-family:var(--font-en);font-size:.68rem;letter-spacing:.14em;color:#fffdf859;margin-top:1rem}@media (max-width: 1023px){.topbar,.main-nav{display:none}.mobile-bar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 1.1rem}.burger{background:none;border:none;cursor:pointer;padding:6px;display:flex;flex-direction:column;gap:5px}.burger span{display:block;width:24px;height:1.5px;background:var(--brown);transition:transform .3s,opacity .3s}.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-logo{font-family:var(--font-en);font-size:1.2rem;letter-spacing:.28em;color:var(--brown);text-decoration:none;padding-left:.28em}.mobile-reserve{font-family:var(--font-en);font-size:.72rem;letter-spacing:.16em;color:var(--gold);border:1px solid var(--gold);padding:.5em 1em;text-decoration:none;white-space:nowrap}.mobile-menu{display:block;background:var(--ivory);border-top:1px solid var(--gold-pale);overflow:hidden;max-height:0;transition:max-height .4s ease}.mobile-menu.open{max-height:560px}.mobile-menu ul{list-style:none;padding:1.2rem 0 1.8rem;display:flex;flex-direction:column;align-items:center;gap:.2rem}.m-link{display:block;font-family:var(--font-jp);font-size:.9rem;letter-spacing:.08em;color:var(--taupe-dark);text-decoration:none;padding:.7rem 0}.m-reserve{margin-top:.6rem;border:1px solid var(--gold);color:var(--gold);padding:.6em 2.2em}.m-lang{margin-top:.8rem}.floating-reserve{display:flex}}@media (max-width: 600px){.site-footer{padding:3rem 1.2rem 2rem}.footer-links{gap:.5rem}}
