:root{--color-deep-green: #064e3b;--color-deep-green-muted: #0b5b44;--color-forest-gradient: linear-gradient(135deg, #072f25 0%, #064e3b 45%, #0f766e 100%);--color-sand: #d6c7a1;--color-gold: #caa969;--color-mist: rgba(255, 255, 255, .85);--color-ink: #10231b;--color-leaf: #3b8f7a;--shadow-soft: 0 20px 50px rgba(6, 78, 59, .13);--font-body: "Noto Serif JP", "Zen Maru Gothic", "Hiragino Mincho ProN", serif;--font-sans: "Work Sans", "Noto Sans JP", system-ui, -apple-system, sans-serif;--max-width: 1100px;--section-padding: min(10vw, 4rem);--transition-slow: all .45s ease;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{padding:0;margin:0;background:var(--color-forest-gradient);color:var(--color-mist);font-family:var(--font-body);font-size:16px;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover,a:focus-visible{text-decoration:underline;text-decoration-color:var(--color-gold);text-decoration-thickness:2px}::selection{background:#c6a46240;color:var(--color-mist)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 50% 20%,rgba(214,199,161,.08) 0%,transparent 70%);z-index:-1}.grid{display:grid;gap:2.5rem}.section-heading{display:grid;gap:.4rem;margin-bottom:2rem}.section-heading span{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:#d6c7a1d9}.section-heading h2{margin:0;font-size:clamp(1.875rem,5vw,2.75rem);font-weight:600;letter-spacing:.03em}.tag{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .85rem;border-radius:999px;background:#d6c7a126;color:var(--color-sand);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.9rem 1.9rem;border-radius:999px;border:1px solid rgba(202,169,105,.8);background:var(--color-gold);color:var(--color-ink);font-family:var(--font-sans);font-weight:600;letter-spacing:.02em;transition:var(--transition-slow)}.button.secondary{background:transparent;color:var(--color-sand);border-color:#d6c7a166}.button:hover,.button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 25px #064e3b59}.button.secondary:hover,.button.secondary:focus-visible{background:#064e3b80;box-shadow:inset 0 0 0 1px #d6c7a199}.card{position:relative;padding:1.8rem;border-radius:20px;background:#10231ba6;backdrop-filter:blur(12px);border:1px solid rgba(214,199,161,.12);box-shadow:var(--shadow-soft)}.card:after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;border:1px solid rgba(214,199,161,.08);mask:linear-gradient(#000 0 30%,transparent 70%)}.flow>*+*{margin-top:1.25rem}.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;letter-spacing:.32em;text-transform:uppercase;color:var(--color-sand)}.eyebrow:before{content:"";width:24px;height:1px;background:currentColor}@media (min-width: 768px){.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.shell{position:relative;z-index:1;padding:1.4rem clamp(1.5rem,5vw,3rem)}.header{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;position:sticky;top:0;background:#072f25a6;backdrop-filter:blur(18px);border-bottom:1px solid rgba(214,199,161,.18)}.brand{display:flex;align-items:center;gap:.85rem;color:var(--color-sand);font-family:var(--font-sans)}.brand strong{font-size:1rem;letter-spacing:.06em}.brand small{display:block;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d6c7a11f;border:1px solid rgba(214,199,161,.3);font-size:1.2rem;font-weight:600}.nav-links{display:none;gap:1.4rem;font-family:var(--font-sans);font-size:.95rem}.header-actions{display:flex;align-items:center;gap:.8rem}.lang-toggle{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.18em;color:#d6c7a1c7;background:transparent;border:none;padding:.4rem .8rem;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:var(--transition-slow)}.lang-toggle:hover,.lang-toggle:focus-visible{border-color:#d6c7a180;color:var(--color-sand)}.header-cta{display:none}main{padding-bottom:5rem}.footer{display:grid;gap:2rem;background:#072f25d9;border-top:1px solid rgba(214,199,161,.15)}.footer-title{font-size:1.2rem;letter-spacing:.1em;margin-bottom:.5rem}.footer-grid{display:grid;gap:1.8rem}.footer-grid h3{margin:0 0 .7rem;font-family:var(--font-sans);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:#d6c7a1cc}.footer-grid p,.footer-grid ul{margin:0;padding:0;list-style:none;font-size:.88rem}.footer-grid li+li{margin-top:.5rem}@media (min-width: 768px){.shell{padding-inline:clamp(3rem,6vw,5.5rem)}.nav-links{display:flex}.header-cta{display:inline-flex}main{padding-bottom:6.5rem}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.header{gap:3rem}.header-actions{gap:1.2rem}}.section-gap:where(.astro-j7pv25f6){padding-block:4.5rem}.hero:where(.astro-j7pv25f6){display:grid;gap:3rem;padding-top:5rem}.hero-pattern:where(.astro-j7pv25f6){position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(214,199,161,.18),transparent 55%),radial-gradient(circle at 80% 10%,rgba(202,169,105,.08),transparent 60%),linear-gradient(135deg,#064e3b26,#0b5b4400);opacity:.9;z-index:-1}.hero-content:where(.astro-j7pv25f6){display:grid;gap:1.2rem;position:relative;z-index:1}.hero:where(.astro-j7pv25f6) h1:where(.astro-j7pv25f6){margin:0;font-size:clamp(2.15rem,9vw,3.6rem);line-height:1.12;letter-spacing:.02em}.hero-sub:where(.astro-j7pv25f6){margin:0;font-size:1.02rem;max-width:38ch}.hero-actions:where(.astro-j7pv25f6){display:flex;flex-wrap:wrap;gap:1rem}.hero-metrics:where(.astro-j7pv25f6){display:grid;gap:1rem}.metric-card:where(.astro-j7pv25f6){padding:1.4rem}.metric-value:where(.astro-j7pv25f6){margin:0;font-size:2rem;font-weight:600;color:var(--color-gold)}.metric-icon:where(.astro-j7pv25f6){margin:0;font-size:2.5rem}.metric-label:where(.astro-j7pv25f6){margin:.2rem 0 0;font-family:var(--font-sans);letter-spacing:.12em;font-size:.8rem;text-transform:uppercase}.metric-description:where(.astro-j7pv25f6){margin:.8rem 0 0;font-size:.92rem;color:#ffffffc7}.hero-visual:where(.astro-j7pv25f6){display:grid;gap:1.5rem}.visual-frame:where(.astro-j7pv25f6){position:relative;min-height:260px;border-radius:24px;overflow:hidden;border:1px solid rgba(214,199,161,.18);background:linear-gradient(135deg,#064e3be6,#0f766e8c)}.visual-gradient:where(.astro-j7pv25f6){position:absolute;inset:0;background-image:linear-gradient(180deg,#d6c7a126,#0c3329e6),url(https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=900&q=80);background-size:cover;background-position:center;filter:saturate(.72);mix-blend-mode:screen}.visual-caption:where(.astro-j7pv25f6){position:absolute;bottom:1.4rem;left:1.4rem;padding:.55rem 1rem;border-radius:999px;background:#10231bb3;border:1px solid rgba(214,199,161,.42);font-family:var(--font-sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.visual-thumbs:where(.astro-j7pv25f6){display:grid;gap:1rem}.visual-thumbs:where(.astro-j7pv25f6) div:where(.astro-j7pv25f6){padding:1rem 1.2rem;border-left:2px solid rgba(214,199,161,.35)}.before-after:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin-top:0;font-size:1.2rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-sand)}.before-after:where(.astro-j7pv25f6) ul:where(.astro-j7pv25f6){padding-left:1rem;margin:.8rem 0 0;display:grid;gap:.65rem}.concept:where(.astro-j7pv25f6){position:relative}.concept-grid:where(.astro-j7pv25f6){display:grid;gap:1.5rem}.concept-card:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin-top:0;font-size:1.3rem}.palette:where(.astro-j7pv25f6){display:flex;gap:.6rem;flex-wrap:wrap}.palette:where(.astro-j7pv25f6) span:where(.astro-j7pv25f6){display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:16px;background:var(--swatch);font-size:.72rem;font-family:var(--font-sans);letter-spacing:.05em;box-shadow:inset 0 0 0 1px #10231b26}.concept-list:where(.astro-j7pv25f6){margin:0;padding-left:1rem;display:grid;gap:.6rem}.interaction-note:where(.astro-j7pv25f6){display:grid;gap:.9rem;padding:1rem 1.1rem;border-radius:16px;background:#072f2599}.experience-grid:where(.astro-j7pv25f6){gap:1.2rem}.experience-card:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin:.4rem 0 1rem;font-size:1.35rem}.experience-card:where(.astro-j7pv25f6) .card-detail:where(.astro-j7pv25f6){margin-top:1rem;font-size:.9rem;color:#d6c7a1b3}.step-icon:where(.astro-j7pv25f6){margin:0 0 1rem;font-size:3rem;text-align:center}.dynamic-grid:where(.astro-j7pv25f6){display:grid;gap:1.2rem}.dynamic-card:where(.astro-j7pv25f6)[data-time=Morning]{border-left:3px solid rgba(214,199,161,.35)}.dynamic-card:where(.astro-j7pv25f6)[data-time=Day]{border-left:3px solid rgba(15,118,110,.55)}.dynamic-card:where(.astro-j7pv25f6)[data-time=Night]{border-left:3px solid rgba(202,169,105,.65)}.dynamic-time:where(.astro-j7pv25f6){font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:#d6c7a1b3}.dynamic-card:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin:.6rem 0 .4rem;font-size:1.4rem}.dynamic-accent:where(.astro-j7pv25f6){display:inline-flex;margin-top:1rem;padding:.45rem .9rem;border-radius:999px;background:#d6c7a11f;border:1px solid rgba(214,199,161,.2);font-family:var(--font-sans);font-size:.78rem;letter-spacing:.08em}.course-grid:where(.astro-j7pv25f6){gap:1.2rem}.course-card:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin:0;font-size:1.4rem}.course-meta:where(.astro-j7pv25f6){margin:.4rem 0 0;font-family:var(--font-sans);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:#d6c7a1cc}.course-ideal:where(.astro-j7pv25f6){margin:.6rem 0 1rem;font-size:.95rem;color:#d6c7a1b3}.course-card:where(.astro-j7pv25f6) ul:where(.astro-j7pv25f6){margin:0;padding-left:1rem;display:grid;gap:.55rem}.course-result:where(.astro-j7pv25f6){margin:1rem 0 1.5rem;font-size:.95rem;color:#ffffffd1}.results-grid:where(.astro-j7pv25f6){gap:1.2rem}.result-card:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin-top:0;font-size:1.25rem}.voice-grid:where(.astro-j7pv25f6){gap:1.2rem}.voice-card:where(.astro-j7pv25f6){background:#10231bb8;border-radius:28px;padding:2rem 1.6rem;position:relative}.voice-card:where(.astro-j7pv25f6):before{content:"";position:absolute;inset:18px;border-radius:24px;border:1px dashed rgba(214,199,161,.2);pointer-events:none}.voice-message:where(.astro-j7pv25f6){margin:0;font-size:1rem}.voice-name:where(.astro-j7pv25f6){margin:1.2rem 0 0;font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase}.voice-role:where(.astro-j7pv25f6){margin:.3rem 0 0;font-size:.85rem;color:#d6c7a1a6}.reservation-wrapper:where(.astro-j7pv25f6){display:grid;gap:2rem}.reservation-progress:where(.astro-j7pv25f6){position:relative;padding:1.5rem 1.8rem;border-radius:20px;background:#10231b99;border:1px solid rgba(214,199,161,.12)}.reservation-progress:where(.astro-j7pv25f6) ol:where(.astro-j7pv25f6){margin:0;padding:0;list-style:none;display:grid;gap:1.5rem}.reservation-progress:where(.astro-j7pv25f6) li:where(.astro-j7pv25f6) span:where(.astro-j7pv25f6){display:block;font-family:var(--font-sans);font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:#d6c7a1b3}.reservation-progress:where(.astro-j7pv25f6) li:where(.astro-j7pv25f6) strong:where(.astro-j7pv25f6){display:block;margin-top:.4rem;font-size:1.15rem}.reservation-form:where(.astro-j7pv25f6){display:grid;gap:1.1rem}.reservation-form:where(.astro-j7pv25f6) label:where(.astro-j7pv25f6),.reservation-form:where(.astro-j7pv25f6) fieldset:where(.astro-j7pv25f6){display:grid;gap:.5rem;font-size:.92rem}.reservation-form:where(.astro-j7pv25f6) input:where(.astro-j7pv25f6),.reservation-form:where(.astro-j7pv25f6) select:where(.astro-j7pv25f6),.reservation-form:where(.astro-j7pv25f6) textarea:where(.astro-j7pv25f6){padding:.75rem .9rem;border-radius:12px;border:1px solid rgba(214,199,161,.25);background:#072f25a6;color:var(--color-mist);font-family:var(--font-sans);font-size:.95rem}.reservation-form:where(.astro-j7pv25f6) input:where(.astro-j7pv25f6):focus-visible,.reservation-form:where(.astro-j7pv25f6) select:where(.astro-j7pv25f6):focus-visible,.reservation-form:where(.astro-j7pv25f6) textarea:where(.astro-j7pv25f6):focus-visible{outline:2px solid rgba(202,169,105,.6);outline-offset:2px}.cta-switcher:where(.astro-j7pv25f6){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.cta-switcher:where(.astro-j7pv25f6) input:where(.astro-j7pv25f6){position:absolute;opacity:0;pointer-events:none}.cta-switcher:where(.astro-j7pv25f6) label:where(.astro-j7pv25f6){text-align:center;padding:.65rem .5rem;border-radius:12px;background:#d6c7a11f;border:1px solid transparent;font-family:var(--font-sans);font-size:.83rem;letter-spacing:.12em;text-transform:uppercase;transition:var(--transition-slow)}.cta-switcher:where(.astro-j7pv25f6) input:where(.astro-j7pv25f6):checked+label:where(.astro-j7pv25f6){background:#caa9692e;border-color:#caa96966}.reservation-intro:where(.astro-j7pv25f6){margin:.3rem 0 .2rem;font-size:.92rem;color:#ffffffbf}.reservation-checklist:where(.astro-j7pv25f6){border-radius:14px;border:1px solid rgba(214,199,161,.2);background:#072f2580;padding:1rem 1.2rem}.reservation-checklist:where(.astro-j7pv25f6) legend:where(.astro-j7pv25f6){font-family:var(--font-sans);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase}.reservation-checklist:where(.astro-j7pv25f6) ul:where(.astro-j7pv25f6){margin:.5rem 0 0;padding-left:1.2rem;display:grid;gap:.5rem;font-size:.9rem}.info-grid:where(.astro-j7pv25f6){gap:1.2rem}.info-card:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin-top:0;font-size:1.3rem;margin-bottom:1rem}.hours-list:where(.astro-j7pv25f6){margin:0;padding:0;display:grid;gap:.8rem}.hours-item:where(.astro-j7pv25f6){display:grid;grid-template-columns:100px 1fr;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(214,199,161,.1)}.hours-item:where(.astro-j7pv25f6):last-child{border-bottom:none}.hours-item:where(.astro-j7pv25f6) dt:where(.astro-j7pv25f6),.hours-item:where(.astro-j7pv25f6) dd:where(.astro-j7pv25f6){margin:0}.hours-item:where(.astro-j7pv25f6) dt:where(.astro-j7pv25f6){font-weight:600}.access-address:where(.astro-j7pv25f6){margin:0 0 1rem;line-height:1.8}.access-note:where(.astro-j7pv25f6){margin:0;font-size:.9rem;color:#d6c7a1cc}.reservation-info:where(.astro-j7pv25f6){margin:0;padding-left:1rem;display:grid;gap:.6rem}@media (min-width: 768px){.hero:where(.astro-j7pv25f6){grid-template-columns:1.3fr 1fr;align-items:center}.hero-metrics:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}.visual-frame:where(.astro-j7pv25f6){min-height:340px}.visual-thumbs:where(.astro-j7pv25f6){grid-template-columns:repeat(2,minmax(0,1fr))}.concept-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}.experience-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(4,minmax(0,1fr))}.dynamic-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}.course-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}.results-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}.voice-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-wrapper:where(.astro-j7pv25f6){grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.info-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.section-gap:where(.astro-j7pv25f6){padding-block:6rem}.hero:where(.astro-j7pv25f6){padding-top:7rem}.hero-content:where(.astro-j7pv25f6){gap:1.5rem}.hero:where(.astro-j7pv25f6) h1:where(.astro-j7pv25f6){font-size:clamp(3.2rem,5vw,4rem)}.visual-frame:where(.astro-j7pv25f6){min-height:420px}.metric-card:where(.astro-j7pv25f6){padding:1.6rem}}
