.public-studio{--public-ink:#213a2c;--public-paper:#f4f1ea;--public-rose:#d8b6ad;--public-line:#d9d9ce;background:var(--public-paper);color:var(--public-ink);min-height:100dvh;font-family:Hiragino Sans,Noto Sans JP,Meiryo,sans-serif}.public-studio a{color:inherit;text-decoration:none}.public-studio a:focus-visible{outline-offset:4px;outline:3px solid #a36558}.public-header{z-index:2;background:#f9f8f3;border-bottom:1px solid #d8dbd1;align-items:center;gap:20px;min-height:82px;padding:13px max(5vw,24px);display:flex;position:relative}.public-logo{background:#284936;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding-bottom:7px;font:32px Georgia,serif;display:grid;color:#fff!important}.public-logo span{color:#d8b6ad}.public-header>span{letter-spacing:.07em;font-size:14px;font-weight:700}.public-header>a:last-child{border-bottom:1px solid;margin-left:auto;padding:8px 0;font-size:12px;font-weight:700}.public-hero{isolation:isolate;background:#e9eee6;min-height:610px;padding:clamp(72px,9vw,135px) max(7vw,30px) 75px;position:relative;overflow:hidden}.public-hero:before{content:"";aspect-ratio:1;z-index:-1;border:1px solid #a8bcaa;border-radius:50%;width:min(55vw,720px);position:absolute;top:-10vw;right:-6vw;box-shadow:0 0 0 5vw #e2e9e0,0 0 0 calc(5vw + 1px) #bbcab9}.public-hero:after{content:"";aspect-ratio:1;opacity:.75;z-index:-1;background:#d7b9af;border-radius:50%;width:min(26vw,320px);position:absolute;bottom:-17%;right:16%}.public-kicker{letter-spacing:.35em;color:#6b806c;margin:0 0 29px;font-size:11px;font-weight:700}.public-hero h1{letter-spacing:.07em;text-wrap:balance;max-width:820px;margin:0 0 30px;font-family:Georgia,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(42px,7.3vw,105px);font-weight:400;line-height:1.18}.public-description{white-space:pre-wrap;color:#3c5243;max-width:640px;margin:0;font-size:clamp(14px,1.2vw,17px);line-height:2.2}.public-hero-actions{flex-wrap:wrap;gap:12px;margin-top:44px;display:flex}.public-primary,.public-secondary{justify-content:center;align-items:center;gap:36px;min-height:50px;padding:13px 20px;font-size:13px;font-weight:700;display:inline-flex}.public-primary{background:#284936;color:#fff!important}.public-secondary{color:#284936;border:1px solid #829784}.public-primary:hover{background:#173722}.public-secondary:hover{background:#f7faf5}.public-location{color:#52705a;margin:38px 0 0;font-size:12px}.public-section{max-width:1280px;margin:0 auto;padding:96px max(5vw,24px)}.public-section-heading{border-bottom:1px solid var(--public-line);grid-template-columns:190px 1fr auto;align-items:end;gap:22px;margin-bottom:36px;padding-bottom:23px;display:grid}.public-section-heading p{letter-spacing:.18em;color:#8c7770;margin:0 0 8px;font-size:11px;font-weight:700}.public-section-heading h2{margin:0;font-family:Georgia,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(29px,3.7vw,48px);font-weight:400;line-height:1.3}.public-section-heading>span{color:#6b7e70;padding-bottom:7px;font-size:11px}.public-class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.public-class-card{background:#fff;border:1px solid #e6e5de;flex-direction:column;min-height:245px;padding:30px 32px;display:flex}.public-class-card:nth-child(2n){background:#f0e9e2}.public-class-top{color:#7c8b77;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.public-class-top>span{border:1px solid #d2dccf;padding:5px 9px}.public-class-top small{font-size:11px}.public-class-card h3{margin:28px 0 8px;font-family:Georgia,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(23px,2.6vw,34px);font-weight:400}.public-class-card>p{color:#64776a;margin:0;font-size:12px}.public-times{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:24px;display:flex}.public-times span{background:#eff3eb;padding:7px 10px;font-size:11px}.public-class-card:nth-child(2n) .public-times span{background:#fbf7f1}.public-availability{padding-top:20px}.public-occurrences{grid-template-columns:1fr 1fr;column-gap:38px;display:grid}.public-occurrences>div{border-bottom:1px solid var(--public-line);grid-template-columns:95px minmax(0,1fr) 110px 60px;align-items:center;gap:12px;min-height:69px;font-size:12px;display:grid}.public-occurrences time{font-weight:700}.public-occurrences strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.public-occurrences span{color:#5b6f61}.public-occurrences small{color:#4c7958;text-align:right;font-size:11px}.public-schedule-note,.public-empty{color:#748076;margin:22px 0 0;font-size:12px;line-height:1.9}.public-contact{color:#fff;background:#274936;grid-template-columns:1fr auto;align-items:end;gap:15px;min-height:340px;margin-top:45px;padding:62px max(7vw,30px);display:grid}.public-contact p{color:#a7c1a9;letter-spacing:.23em;grid-column:1/-1;margin:0;font-size:11px}.public-contact h2{margin:0;font-family:Georgia,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(30px,4.4vw,58px);font-weight:400;line-height:1.4}.public-contact a{color:#274936;white-space:nowrap;background:#f1ece3;padding:15px 23px;font-size:13px;font-weight:700}.public-contact span{color:#b6c9b6;grid-column:1/-1;font-size:12px}.public-footer{color:#667569;justify-content:space-between;gap:18px;padding:30px max(5vw,24px);font-size:11px;display:flex}.public-footer strong{color:#274936}@media (max-width:850px){.public-section-heading{grid-template-columns:1fr}.public-section-heading p{margin:0}.public-class-grid,.public-occurrences,.public-contact{grid-template-columns:1fr}.public-contact a{justify-self:start}.public-hero:before{width:75vw;top:0;right:-28vw}.public-hero:after{width:40vw;bottom:-5%;right:-12%}}@media (max-width:520px){.public-header{min-height:70px}.public-header>span{font-size:12px}.public-header>a:last-child{font-size:10px}.public-hero{min-height:560px;padding-top:85px}.public-hero h1{font-size:clamp(40px,10vw,58px)}.public-description{font-size:14px}.public-hero-actions{display:grid}.public-secondary,.public-primary{width:100%}.public-section{padding-top:70px;padding-bottom:60px}.public-class-card{padding:25px}.public-occurrences>div{grid-template-columns:83px 1fr 65px;gap:7px;font-size:11px}.public-occurrences span{display:none}.public-contact{padding-top:55px;padding-bottom:55px}.public-footer{flex-direction:column}}@media (prefers-reduced-motion:no-preference){.public-primary,.public-secondary,.public-contact a{transition:background-color .18s,transform .18s}.public-primary:hover,.public-secondary:hover,.public-contact a:hover{transform:translateY(-2px)}}.public-trial{padding-top:30px}.public-trial-intro{color:#5f7162;max-width:760px;margin:0 0 28px;font-size:13px;line-height:1.9}.public-trial-form{background:#fff;border:1px solid #e6e5de;max-width:850px;padding:clamp(24px,4vw,48px)}.public-trial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.public-trial-grid label{color:#344c3a;gap:9px;font-size:12px;font-weight:700;display:grid}.public-trial-grid label span{color:#879489;font-size:10px;font-weight:400}.public-trial-grid input,.public-trial-grid select,.public-trial-grid textarea{min-height:45px;font:inherit;color:#213a2c;background:#fbfcf9;border:1px solid #d7ddd3;border-radius:2px;padding:12px 13px}.public-trial-grid textarea{resize:vertical}.public-trial-grid input:focus,.public-trial-grid select:focus,.public-trial-grid textarea:focus{outline-offset:2px;outline:2px solid #87a48c}.public-trial-wide{grid-column:1/-1}.public-trial-consent{color:#5a6e5d;align-items:start;gap:11px;margin:26px 0;font-size:11px;line-height:1.8;display:flex}.public-trial-consent input{accent-color:#284936;margin-top:4px}.public-trial-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.public-trial-submit{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.public-trial-submit button{color:#fff;cursor:pointer;background:#284936;border:0;padding:16px 27px;font-size:13px;font-weight:700}.public-trial-submit button:disabled{opacity:.55;cursor:wait}.public-trial-submit p{margin:0;font-size:12px}.public-trial-submit .success{color:#276b41}.public-trial-submit .error{color:#a14f48}@media (max-width:650px){.public-trial-grid{grid-template-columns:1fr}.public-trial-wide{grid-column:auto}.public-trial-form{padding:24px}}.public-policy{background:#fffdf9;border:1px solid #ded9d2;border-radius:12px;margin:24px 0;padding:24px}.public-policy p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.public-policy summary{cursor:pointer;padding:12px 0}
