:root{--color-primary: #007a33;--color-primary-dark: #005928;--color-primary-soft: #e8f2ec;--color-primary-glow: rgba(0, 122, 51, .35);--color-bg: #f7f8f6;--color-bg-alt: #eef2ef;--color-paper: #fbfbf9;--color-ink: #141916;--color-text: #1c2420;--color-text-muted: #5c6860;--color-border: #d8e0da;--color-dark-bg: #0d120f;--color-dark-elevated: #161c18;--font-en: "DM Sans", system-ui, sans-serif;--font-ja: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--font-display: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--header-h: 4.25rem;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-ja);font-size:1rem;line-height:1.85;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}code{font-size:.88em;padding:.12em .4em;border-radius:4px;background:var(--color-primary-soft)}.site-header{position:sticky;top:0;z-index:100;background:#f7f8f6e0;-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid rgba(216,224,218,.65)}.site-header__inner{max-width:80rem;margin:0 auto;padding:.85rem clamp(1rem,4vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-header__brand{display:flex;flex-direction:column;gap:.05rem;text-decoration:none;color:inherit}.site-header__brand-en{font-family:var(--font-en);font-weight:600;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.site-header__brand-ja{font-size:.65rem;color:var(--color-text-muted);font-weight:500;letter-spacing:.14em}.site-header__nav{display:flex;flex-wrap:wrap;gap:.35rem 1.35rem;align-items:center}.site-header__link{font-family:var(--font-en);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);text-decoration:none;transition:color .25s var(--ease-out)}.site-header__link:hover{color:var(--color-primary)}.site-footer{margin-top:auto;background:var(--color-dark-bg);color:#c5d0c9;padding:clamp(2.5rem,6vw,4rem) 1.25rem;border-top:1px solid rgba(0,122,51,.2)}.site-footer__inner{max-width:48rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.site-footer__email{color:#fff;font-weight:500;font-size:1.05rem;letter-spacing:.04em;text-decoration:none;transition:opacity .2s}.site-footer__email:hover{opacity:.85}.site-footer__privacy{font-family:var(--font-en);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#7a8f82;text-decoration:none;transition:color .2s}.site-footer__privacy:hover{color:#fff}.site-footer__copy{margin:0;font-size:.72rem;letter-spacing:.12em;color:#4a5c52}.hero{position:relative;min-height:min(92vh,46rem);display:flex;align-items:stretch;justify-content:center;padding:0;overflow:hidden}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0d120f;background-image:linear-gradient(180deg,#08120e73,#08120e40 35%,#050c098c),linear-gradient(135deg,rgba(0,90,45,.35) 0%,transparent 45%,rgba(0,40,25,.4) 100%),url(/images/hero.png);background-size:cover;background-position:center 30%;background-repeat:no-repeat}.hero__grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.hero__frame{position:relative;z-index:1;width:100%;max-width:80rem;margin:0 auto;padding:clamp(5rem,12vh,7rem) clamp(1.25rem,5vw,3rem) clamp(3rem,8vh,5rem);display:flex;align-items:center;justify-content:center}.hero__content{text-align:center;max-width:38rem;animation:hero-in 1.1s var(--ease-out) both}@keyframes hero-in{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.hero__eyebrow{display:flex;flex-direction:column;align-items:center;gap:.65rem;margin-bottom:1.75rem}.hero__eyebrow-en{font-family:var(--font-en);font-size:.7rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#ffffff8c}.hero__eyebrow-line{width:1px;height:2.5rem;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent)}.hero__eyebrow-ja{font-size:.75rem;letter-spacing:.35em;color:#ffffffa6}.hero__title{margin:0 0 1.75rem;font-family:var(--font-display);font-size:clamp(1.85rem,6.5vw,3rem);font-weight:500;color:#fff;line-height:1.35;letter-spacing:.04em}.hero__team{margin:0 0 2.25rem;display:flex;flex-direction:column;gap:.35rem}.hero__team-en{font-family:var(--font-en);font-weight:600;font-size:clamp(1.1rem,2.5vw,1.45rem);color:#fff;letter-spacing:.2em;text-transform:uppercase}.hero__team-ja{font-size:.9rem;color:#ffffffc7;letter-spacing:.12em}.hero__scroll{margin:3.5rem 0 0;display:flex;flex-direction:column;align-items:center;gap:.75rem}.hero__scroll-line{width:1px;height:3rem;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent);animation:scroll-line 2.2s ease-in-out infinite}@keyframes scroll-line{0%,to{transform:scaleY(1);opacity:.5}50%{transform:scaleY(1.15);opacity:1}}.hero__scroll-text{font-family:var(--font-en);font-size:.6rem;letter-spacing:.42em;color:#ffffff59}.section{scroll-margin-top:var(--header-h);padding:clamp(3.5rem,9vw,6.5rem) clamp(1.25rem,5vw,2.5rem)}.section--intro{background:var(--color-bg)}.section--paper{background:var(--color-paper);box-shadow:inset 0 1px #fffc}.section--dark{background:var(--color-dark-bg);color:#e2eae4;position:relative}.section--dark:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 20% 80%,var(--color-primary-glow),transparent 50%);pointer-events:none;opacity:.4}.section--dark>*{position:relative;z-index:1}.section--schedule{background:linear-gradient(180deg,var(--color-bg-alt) 0%,var(--color-bg) 100%)}.section--cta{background:linear-gradient(165deg,#0a1610 0%,#0d1f14 40%,var(--color-primary-dark) 100%);color:#e8f0eb;position:relative;overflow:hidden}.section--cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.06),transparent 45%);pointer-events:none}.section--cta>*{position:relative;z-index:1}.section__inner{max-width:42rem;margin:0 auto}.section__inner--wide{max-width:56rem}.section__inner--reading{max-width:38rem}.section__head{margin-bottom:clamp(1.5rem,4vw,2.25rem)}.section__label{font-family:var(--font-en);font-size:.65rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--color-primary);margin:0 0 .85rem;display:flex;align-items:center;gap:1rem}.section__label:after{content:"";flex:1;max-width:4rem;height:1px;background:linear-gradient(90deg,var(--color-primary),transparent)}.section__head--on-dark .section__label{color:#78d4a0f2}.section__head--on-dark .section__label:after{background:linear-gradient(90deg,rgba(120,212,160,.6),transparent)}.section__title{margin:0;font-size:clamp(1.4rem,3.2vw,1.85rem);font-weight:600;line-height:1.35}.section__title--display{font-family:var(--font-display);font-weight:500;letter-spacing:.06em}.section__title--on-dark{color:#fff}.section__lead{margin:0 0 1.75rem;color:var(--color-text-muted);font-size:.95rem;line-height:1.9}.section__lead--on-dark{color:#e8f0ebbf}.intro-pull{margin:0 0 2rem;font-family:var(--font-display);font-size:clamp(1.05rem,2.4vw,1.25rem);font-weight:500;line-height:1.95;color:var(--color-ink);padding-left:1rem;border-left:3px solid var(--color-primary)}.prose{margin:0}.prose--relaxed p{line-height:2}.prose p{margin:0 0 1.1rem}.prose p:last-child{margin-bottom:0}.prose-list{margin:0;padding-left:1.35rem}.prose-list li{margin-bottom:.55rem}.prose-list li:last-child{margin-bottom:0}.prose-list--on-dark{color:#e8f0ebd1}.venue-list{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}@media(min-width:768px){.venue-list{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.venue-card{background:#161c18d9;border:1px solid rgba(255,255,255,.08);border-radius:2px;padding:1.5rem 1.35rem;display:flex;flex-direction:column;gap:1.25rem;min-height:11rem;transition:border-color .3s var(--ease-out),transform .3s var(--ease-out)}.venue-card:hover{border-color:#007a3373;transform:translateY(-2px)}.venue-card__index{font-family:var(--font-en);font-size:.65rem;font-weight:600;letter-spacing:.2em;color:#ffffff40}.venue-card__name{margin:0;flex:1;font-family:var(--font-display);font-size:1.05rem;font-weight:500;line-height:1.5;color:#fff;letter-spacing:.02em}.about-block{margin-bottom:clamp(2rem,5vw,3rem);padding-left:0;border-left:none}.about-block:last-child{margin-bottom:0}.about-block__title{margin:0 0 .85rem;font-family:var(--font-en);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary-dark)}.about-block .prose,.about-block .prose-list{color:var(--color-text)}.about-block--line{padding:1.5rem 1.35rem;background:#fff;border-radius:2px;border:1px solid var(--color-border);box-shadow:0 12px 40px #1419160a}.calendar-shell{max-width:800px;margin-left:auto;margin-right:auto;border-radius:2px;overflow:hidden;border:1px solid var(--color-border);background:#fff;box-shadow:0 4px 24px #1419160f,0 0 0 1px #ffffff80 inset}.calendar-shell__iframe{display:block;width:100%;max-width:800px;border:0}@media(max-width:840px){.calendar-shell{max-width:100%}}.calendar-shell__placeholder{padding:2.5rem;color:var(--color-text-muted);font-size:.95rem;line-height:1.9}.form-fields-hint{margin:0 0 1.75rem;font-size:.88rem;line-height:1.8}.apply-placeholder{padding:1.5rem;background:#ffffff0f;border:1px dashed rgba(255,255,255,.2);border-radius:2px;color:#e8f0ebbf;font-size:.9rem;line-height:1.85}.apply-placeholder code{background:#00000040;color:#c5e5d4}.section__inner--apply{max-width:min(100%,40rem)}.apply-embed{max-width:640px;margin-left:auto;margin-right:auto;border-radius:2px;overflow:hidden;background:#fff;box-shadow:0 12px 48px #0000002e,0 0 0 1px #ffffff0f inset}.apply-embed__iframe{display:block;width:100%;max-width:640px;border:0}@media(max-width:640px){.apply-embed{max-width:100%}}.apply-embed__fallback{margin:1rem 0 0;text-align:center;font-size:.85rem;color:#e8f0ebb3}.apply-embed__link{color:#c8e6d2f2;text-decoration:underline;text-underline-offset:3px}.apply-embed__link:hover{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;font-family:var(--font-en);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}.button--hero{background:#fff;color:var(--color-primary-dark);border-color:#fff;padding:1rem 2.25rem;font-size:.75rem;box-shadow:0 8px 32px #0003}.button--hero:hover{background:transparent;color:#fff;border-color:#ffffffd9;box-shadow:none}.button--hero-inverse{background:#fff;color:var(--color-primary-dark);border-color:#fff;box-shadow:0 6px 28px #00000026}.button--hero-inverse:hover{background:#ffffffeb}.button--outline-light{background:transparent;color:#fff;border-color:#ffffff59;align-self:flex-start;font-size:.65rem;padding:.55rem 1.1rem}.button--outline-light:hover{border-color:#78d4a0cc;color:#b8e8cc}.button--ghost{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.button--ghost:hover{background:var(--color-primary-soft)}.button--primary{background:var(--color-primary);color:#fff}.button--primary:hover{background:var(--color-primary-dark)}.button--large{padding:1.05rem 2rem;font-size:.78rem}.privacy-page{flex:1;padding:clamp(3rem,8vw,4.5rem) clamp(1.25rem,5vw,2rem) 4rem;background:var(--color-paper)}.privacy-page__inner{max-width:40rem;margin:0 auto}.privacy-page__title{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,1.85rem);font-weight:500}.privacy-page__note{margin:0 0 2rem;padding:1.1rem 1.25rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:2px;font-size:.88rem;color:#7c2d12;line-height:1.75}.privacy-article h2{margin:2.25rem 0 .85rem;font-family:var(--font-en);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-primary-dark)}.privacy-article h2:first-of-type{margin-top:0}.privacy-article p{margin:0 0 1rem;font-size:.95rem;line-height:1.9}
