:root{--color-accent:#ffc316;--color-bg:#ffc73c;--color-text:#fff;--color-text-muted:#919191;--color-text-body:#efefef;--color-dark:#1e1e1e;--color-dark-mid:#3d3d3d;--font-serif-jp:"Noto Serif JP", serif;--font-sans-jp:"Noto Sans JP", sans-serif;--font-en:"Geologica", sans-serif;--font-size-base:16px;--line-height-base:1.6;--spacing-unit:8px;--max-width:100%;--content-padding:clamp(24px, 5vw, 80px);--container-max-width:1280px;--container-max-width-sm:1000px;--container-padding:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);line-height:var(--line-height-base)}body{font-family:var(--font-sans-jp);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;position:relative}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.js-fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px);&.is-visible{opacity:1;transform:translateY(0)}}.sp-only{display:none;@media(width<=600px){display:inline}}.container{width:100%;max-width:var(--container-max-width);padding-inline:var(--container-padding);margin-inline:auto}.container__inner{width:100%;max-width:var(--container-inner-max-width);background-color:#000;margin-inline:auto}@keyframes circleFloat{0%{transform:scale(1)translate(0)}to{transform:scale(1) translate(var(--float-x,10px),var(--float-y,-15px))}}.bg-circle{pointer-events:none;z-index:-1;opacity:0;background-color:#141414;border-radius:50%;transition:opacity 1.4s,transform 1.4s;position:absolute;transform:scale(.6);&.is-visible{opacity:1;animation:circleFloat var(--float-dur,5s) var(--float-delay,0s) ease-in-out infinite alternate;transform:scale(1)}}.section-heading{flex-direction:column;align-items:center;gap:16px;margin-bottom:48px;display:flex}.section-heading__icon{width:24px;height:25px;display:block;& svg{width:30px;height:30px;fill:var(--color-accent)}}.section-heading__en{font-family:var(--font-en);letter-spacing:5px;color:var(--color-accent);font-size:.8125rem;font-weight:700}.section-heading__ja{font-family:var(--font-serif-jp);letter-spacing:8px;color:var(--color-text-muted);font-size:1.125rem;font-weight:700}.loader{z-index:9999;background-color:#000;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0;&.is-hidden{opacity:0;pointer-events:none}}.loader__svg{width:clamp(120px,28vw,200px);height:clamp(120px,28vw,200px)}.loader__path{fill:#272727}.header__toggle{z-index:200;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;width:40px;height:40px;padding:4px;transition:opacity .4s;display:flex;position:fixed;top:12px;left:clamp(24px,5vw,64px);&.is-visible{opacity:1;pointer-events:auto}}.header__toggle-line{background-color:var(--color-text);height:1px;transition:transform .4s,opacity .4s,width .4s;display:block;&:first-child{width:28px}&:nth-child(2){width:20px}&:nth-child(3){width:28px}}.header__toggle[aria-expanded=true] .header__toggle-line{&:first-child{width:28px;transform:translateY(7px)rotate(45deg)}&:nth-child(2){opacity:0;width:0}&:nth-child(3){width:28px;transform:translateY(-7px)rotate(-45deg)}}.header{@media(width<=820px){z-index:150;opacity:0;pointer-events:none;justify-content:center;align-items:center;height:64px;transition:opacity .4s;display:flex;position:fixed;top:0;left:0;right:0;&:before{content:"";-webkit-backdrop-filter:blur(8px);z-index:-1;background:#0009;position:absolute;inset:0}&.is-visible{opacity:1;pointer-events:auto}}}.header__title{display:none;@media(width<=820px){font-family:var(--font-serif-jp);font-size:var(--font-size-base);color:#fff;letter-spacing:.2em;pointer-events:none;font-weight:600;display:block}}.header__instagram{display:none;@media(width<=820px){color:var(--color-text-body);transition:color .2s;display:block;position:absolute;right:clamp(24px,5vw,64px);& svg{width:22px;height:22px;display:block}&:hover{color:#fff}}}.header__scrim{z-index:140;opacity:0;pointer-events:none;background-color:#00000080;transition:opacity .5s;position:fixed;inset:0;&.is-open{opacity:1;pointer-events:auto}}.header__overlay{z-index:150;backdrop-filter:blur(16px);pointer-events:none;background-color:#0a0a0abf;justify-content:flex-start;align-items:center;width:clamp(260px,40vw,400px);padding-left:clamp(40px,8vw,80px);transition:transform .5s cubic-bezier(.76,0,.24,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);@media(width<=600px){width:95vw}&.is-open{pointer-events:auto;transform:translate(0)}}.header__nav{flex-direction:column;align-items:flex-start;gap:clamp(20px,4vh,36px);display:flex}.header__nav-link{font-family:var(--font-en);letter-spacing:.2em;color:var(--color-text);opacity:0;font-size:clamp(1.1rem,2.5vw,1.75rem);font-weight:300;transition:opacity .4s,transform .4s,color .2s;transform:translate(-16px);&:hover{color:var(--color-accent)}}.header__nav-link-ja{font-family:var(--font-sans-jp);letter-spacing:.1em;color:var(--color-text-muted);margin-top:2px;font-size:.65em;font-weight:400;display:block}.header__overlay.is-open .header__nav-link{opacity:1;transform:translate(0)}.header__nav-instagram{color:var(--color-text-body);opacity:0;transition:opacity .4s,transform .4s,color .2s;display:block;transform:translate(-20px);& svg{width:clamp(1.4rem,3vw,2rem);height:clamp(1.4rem,3vw,2rem);display:block}&:hover{color:#fff}}.header__overlay.is-open .header__nav-instagram{opacity:1;transform:translate(0)}.footer{text-align:center;padding-block:24px}.footer__copy{font-family:var(--font-sans-jp);color:var(--color-text-body);font-size:.75rem}.hero{height:100svh;min-height:600px;max-height:700px;position:relative;overflow:hidden}.hero__bg{background-image:var(--hero-bg-image);width:100%;height:130%;transform:translateY(var(--hero-parallax-offset,0px));will-change:transform;background-position:50%;background-size:cover;position:absolute;top:-15%;left:0;overflow:hidden;@media(width<=820px){background-position:100% 0;background-size:cover}&:before{content:"";background-color:#000;width:100%;min-width:1000px;height:100%;position:absolute;transform:skew(-25deg)translate(-53%);@media(width<=820px){background-color:#00000080;transform:skew(0)translate(0)}}}.hero__content{z-index:1;justify-content:center;align-items:center;width:50%;height:100%;display:flex;position:absolute;@media(width<=820px){width:100%}}.hero__logo{width:430px;height:430px;color:var(--color-text);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;& svg{fill:#272727;z-index:0;pointer-events:none;width:clamp(320px,45vw,480px);height:clamp(320px,45vw,480px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);@media(width<=820px){fill:#000;opacity:.5}}}.hero__logo-name{z-index:1;font-family:var(--font-serif-jp);letter-spacing:.4em;text-indent:.4em;font-size:clamp(3rem,8vw,4rem);font-weight:600;line-height:1.2;position:relative}.hero__logo-en{z-index:1;font-family:var(--font-en);letter-spacing:.8em;text-indent:.45em;font-size:.875rem;position:relative}.hero__logo-line{z-index:1;border:none;border-top:1px solid var(--color-accent);width:133px;margin:16px 0;position:relative}.hero__logo-tagline{z-index:1;font-family:var(--font-serif-jp);font-size:1.25rem;font-weight:300;position:relative}.lead{padding-block:clamp(48px,8vw,96px);padding-inline:var(--content-padding);position:relative;overflow:hidden;&:before{content:"";background-color:#ffffff0d;background-image:var(--bg-texture-image);opacity:.2;filter:blur(6px);width:100%;height:160%;transform:translateY(var(--lead-parallax-offset,0px));will-change:transform;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;top:-30%;left:0}}.lead__inner{text-align:center;margin-inline:auto}.lead__title{font-family:var(--font-serif-jp);color:var(--color-text);margin-bottom:24px;font-size:2rem;font-weight:500;line-height:1.4;@media(width<=600px){font-size:1.5rem}}.lead__body{font-family:var(--font-sans-jp);color:var(--color-text-body);font-size:1rem;line-height:1.9;& span{margin-bottom:8px;display:block}}.activities{padding-block:clamp(48px,8vw,96px);padding-inline:var(--content-padding)}.activities__inner{max-width:var(--container-max-width);margin-inline:auto;margin-bottom:80px}.activities__content{align-items:center;gap:clamp(24px,5vw,80px);display:flex;@media(width<=820px){flex-direction:column}}.activities__image{opacity:0;flex-shrink:0;width:520px;max-width:100%;transition:opacity .6s,transform .6s;transform:scale(.85);&.is-visible{opacity:1;transform:scale(1)}& img{aspect-ratio:1;object-fit:cover;border-radius:50%;width:100%}}.activities__text{flex:1;min-width:0}.activities__catch{font-family:var(--font-serif-jp);color:var(--color-text);margin-bottom:32px;font-size:2rem;font-weight:500;line-height:1.6;@media(width<=600px){text-align:center;font-size:1.5rem}}.activities__body{font-family:var(--font-sans-jp);color:var(--color-text-body);font-size:1rem;line-height:2}.activities__gallery{max-width:var(--container-max-width);grid-template-columns:repeat(4,1fr);gap:clamp(20px,3.5vw,48px);margin-inline:auto;display:grid;@media(width<=820px){grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,32px)}}.activities__gallery li{opacity:0;transition:opacity .6s,transform .6s;transform:scale(.85);&.is-visible{opacity:1;transform:scale(1)}}.activities__gallery img{aspect-ratio:1;object-fit:cover;border-radius:50%;width:100%;display:block}.gallery-backdrop{z-index:99;background:#000000b8;display:none;position:fixed;inset:0;&.is-visible{display:block}}@media(width<=600px){.activities__gallery li.is-shrunk{transition:transform .3s!important;transform:scale(.85)!important}}.schedule{padding-block:clamp(48px,8vw,96px);padding-inline:var(--content-padding)}.schedule__inner{max-width:1000px;margin-inline:auto}.schedule__list{flex-direction:column;display:flex}.schedule__item{border-bottom:1px solid #fff3;align-items:center;gap:32px;padding-block:20px;display:flex;&:first-child{border-top:1px solid #fff3}@media(width<=600px){flex-direction:column;align-items:flex-start;gap:8px}}.schedule__date{font-family:var(--font-serif-jp);color:var(--color-text);white-space:nowrap;min-width:181px;font-size:1rem}.schedule__venue{flex-direction:column;gap:4px;display:flex}.schedule__venue-name{font-family:var(--font-serif-jp);color:var(--color-text);font-size:1rem}.schedule__venue-address{font-family:var(--font-sans-jp);color:var(--color-text-body);align-items:baseline;font-size:1rem;display:flex}.schedule__venue-zip{flex-shrink:0;margin-right:16px}.schedule__venue-map{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem;text-decoration:none;&:hover{text-decoration:underline}}.member{padding-block:clamp(48px,8vw,96px);padding-inline:var(--content-padding)}.member__inner{max-width:var(--max-width);margin-inline:auto}.member__lead{margin-inline:auto;max-width:900px;margin-bottom:48px}.member__lead-title{font-family:var(--font-serif-jp);color:var(--color-text);text-align:center;margin-bottom:24px;font-size:2rem;font-weight:400;line-height:1.89;@media(width<=600px){font-size:1.5rem}}.member__lead-body{font-family:var(--font-sans-jp);color:var(--color-text-body);font-size:1rem;line-height:2.3}.member__cards{max-width:var(--container-max-width);grid-template-columns:repeat(3,1fr);gap:24px;margin-inline:auto;display:grid;@media(width<=900px){grid-template-columns:1fr}}.member__card{background-color:#ffffff08;border-top:1px solid #d32f2f;margin-bottom:32px;padding:32px;@media(width<=600px){padding:16px}flex-direction:column;gap:8px;display:flex;&:nth-child(2){border-color:var(--color-accent)}}.member__card-title{font-family:var(--font-serif-jp);color:var(--color-text);letter-spacing:2px;font-size:1.25rem;font-weight:400;line-height:1.4}.member__card-body{font-family:var(--font-sans-jp);color:#ffffffb3;letter-spacing:-.15px;font-size:.875rem;line-height:1.43}.member__card-list{flex-direction:column;gap:8px;display:flex;& li{font-family:var(--font-sans-jp);color:#ffffffb3;letter-spacing:-.15px;font-size:.875rem;line-height:1.43}}@media(width<=600px){.member__card-list .schedule__venue-map{margin-top:4px;margin-left:0;display:block}.schedule__venue-address{flex-wrap:wrap;font-size:.8rem}.schedule__venue-address .schedule__venue-map{width:100%;margin-top:4px;margin-left:0}}.member__map{width:100%;max-width:var(--container-max-width);@media(width<=600px){display:none}height:400px;margin-inline:auto;overflow:hidden;& img{object-fit:cover;width:100%;height:100%;display:block}& iframe{width:100%;height:100%;display:block}}.faq{padding-block:clamp(48px,8vw,96px);padding-inline:var(--content-padding)}.faq__inner{max-width:1000px;margin-inline:auto}.faq__section{margin-bottom:48px}.faq__section-heading{font-family:var(--font-serif-jp);color:var(--color-accent);border-bottom:1px solid var(--color-accent);margin-bottom:8px;padding-block:8px;font-size:1.1rem}.faq__list{flex-direction:column;display:flex}.faq__item{border-bottom:1px solid #fff3}.faq__question{font-family:var(--font-sans-jp);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:16px;padding-block:20px;font-size:1rem;display:flex;&:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}}.faq__question-label{font-family:var(--font-en);flex-shrink:0;font-size:2rem;font-weight:500;line-height:1}.faq__toggle-icon{flex-shrink:0;width:16px;height:16px;position:relative;&:before,&:after{content:"";background-color:var(--color-text);transition:transform .3s,opacity .3s;position:absolute;top:50%;left:50%}&:before{width:16px;height:1px;transform:translate(-50%,-50%)}&:after{width:1px;height:16px;transform:translate(-50%,-50%)}}.faq__item.is-open .faq__toggle-icon:after{opacity:0;transform:translate(-50%,-50%)rotate(90deg)}.faq__answer{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.faq__item.is-open .faq__answer{grid-template-rows:1fr}.faq__answer-inner{font-family:var(--font-sans-jp);color:var(--color-text-body);align-items:baseline;gap:16px;padding-bottom:0;padding-left:40px;font-size:1rem;line-height:1.8;transition:padding-bottom .3s;display:flex;overflow:hidden}.faq__item.is-open .faq__answer-inner{padding-bottom:28px}.faq__answer-label{font-family:var(--font-en);color:var(--color-accent);flex-shrink:0;font-size:2rem;font-weight:500;line-height:1}.faq__answer-bar{background-color:var(--color-accent);flex-shrink:0;align-self:stretch;width:1px;display:inline-block}.faq__answer-text{flex:1;min-width:0}.contact{padding-block:clamp(48px,8vw,96px);padding-inline:var(--content-padding)}.contact__inner{max-width:var(--container-max-width);margin-inline:auto}.contact__form-area{max-width:720px;margin-inline:auto;position:relative}.contact__overlay{background-color:#000c;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;&[hidden]{display:none}}.contact__form{flex-direction:column;gap:32px;display:flex}.contact__row{grid-template-columns:1fr 1fr;gap:24px;display:grid;@media(width<=600px){grid-template-columns:1fr}}.contact__field{flex-direction:column;gap:8px;display:flex}.contact__label{font-family:var(--font-sans-jp);color:var(--color-text-body);letter-spacing:.05em;font-size:.875rem}.contact__input{color:var(--color-text);font-family:var(--font-sans-jp);background:0 0;border:none;border-bottom:1px solid #ffffff4d;outline:none;width:100%;padding-block:12px;font-size:1rem;transition:border-color .2s;&:focus{border-bottom-color:var(--color-accent)}}.contact__input--textarea{resize:vertical;min-height:160px}.contact__radios{flex-wrap:wrap;gap:32px;padding-block:8px;display:flex;@media(width<=600px){flex-direction:column;gap:16px}}.contact__radio{cursor:pointer;font-family:var(--font-sans-jp);color:var(--color-text-body);align-items:center;gap:10px;font-size:1rem;display:flex;& input[type=radio]{appearance:none;border:1px solid #fff6;border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:border-color .2s;position:relative;&:after{content:"";background-color:var(--color-accent);border-radius:50%;width:9px;height:9px;transition:transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}&:checked{border-color:var(--color-accent);&:after{transform:translate(-50%,-50%)scale(1)}}}&:hover input[type=radio]{border-color:#ffffffb3}}.contact__submit{border:1px solid var(--color-accent);color:var(--color-text);font-family:var(--font-sans-jp);cursor:pointer;letter-spacing:.1em;background:0 0;border-radius:9999px;align-self:center;padding:14px 48px;font-size:1rem;transition:background-color .2s,color .2s;&:hover{background-color:var(--color-accent);color:#000}}.contact__error{font-family:var(--font-sans-jp);color:#f87171;font-size:.8rem;&[hidden]{display:none}}.contact__result{font-family:var(--font-sans-jp);color:#fff;text-align:center;font-size:1rem;line-height:1.8}.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}.aio-summary{padding-block:clamp(24px,4vw,48px);padding-inline:var(--content-padding);background-color:#000}.aio-summary__inner{max-width:var(--container-max-width-sm);margin-inline:auto}.aio-summary__text{font-family:var(--font-sans-jp);color:var(--color-text-body);letter-spacing:.04em;font-size:clamp(.875rem,1.5vw,1rem);line-height:1.9}.footer{padding-block:clamp(32px,5vw,64px);padding-inline:var(--content-padding);background-color:var(--color-dark);border-top:1px solid var(--color-dark-mid)}.footer__info{max-width:var(--container-max-width-sm);margin-inline:auto;flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.footer__org{font-family:var(--font-serif-jp);color:var(--color-text);letter-spacing:.1em;font-size:1.125rem;font-weight:600}.footer__desc{font-family:var(--font-sans-jp);color:var(--color-text-muted);font-size:.8125rem;& span{display:block;@media(width<=600px){display:inline}}line-height:1.8}.footer__address{font-family:var(--font-sans-jp);color:var(--color-text-muted);font-size:.8125rem;font-style:normal;& a{color:var(--color-text-muted);text-underline-offset:2px;text-decoration:underline;&:hover{color:var(--color-accent)}}}.footer__copy{max-width:var(--container-max-width-sm);font-family:var(--font-sans-jp);color:var(--color-text-muted);letter-spacing:.05em;margin-inline:auto;font-size:.75rem}
