/* STATICE / desktop-first revision / 2026-10-09 */
:root{--paper:#faf8f5;--plum:#705879;--lavender:#ede6ef;--ink:#29272b;--muted:#665e69;--line:#d7ced8;--serif:'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.95 var(--sans);overflow-wrap:anywhere}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-weight:500;line-height:1.55}
h1,h2{font-family:var(--serif)}
h2{font-size:clamp(32px,2.85vw,42px);letter-spacing:.025em}
h3{font-size:25px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #306e75;outline-offset:5px}
img{display:block;width:100%;max-width:100%;height:auto}
figure,.prose{min-width:0}
figcaption,.fine{font-size:12px;line-height:1.8;color:var(--muted)}
figcaption{margin-top:12px}
p+p{margin-top:1.2em}
.wrap{width:calc(100% - 112px);max-width:1240px;margin-inline:auto}
.section{padding-block:112px}
.prose h2,.prose h3{margin-bottom:28px}
.prose strong{font-weight:600}
.large{font-size:22px}
.skip{position:fixed;top:-100px;left:16px;padding:12px;background:white;z-index:20}
.skip:focus{top:12px}
.sample-bar{background:var(--lavender);color:#57435f;text-align:center;padding:6px 16px;font-size:12px}
.header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:25px}
.wordmark{font:38px/1.1 Georgia,'Times New Roman',serif;letter-spacing:.15em;color:#48344f}
.wordmark span{display:block;font:12px/1.6 var(--sans);letter-spacing:.08em;margin-top:10px}
.header nav{display:flex;align-items:center;gap:28px;font-size:13px}
.nav-section{padding-block:12px;border-bottom:1px solid transparent}
.nav-section:hover{border-color:var(--plum)}
.nav-contact{border:1px solid var(--line);padding:10px 18px;color:var(--plum)}
.text-link{font-size:12px;border-bottom:1px solid var(--line);padding-block:10px;white-space:nowrap}
.flower-banner{margin-bottom:0}
.flower-banner img{height:88px;object-fit:cover;object-position:center 60%}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;padding-block:36px 64px;align-items:center;border-bottom:1px solid var(--line)}
.hero-tag{font-size:16px;line-height:1.75;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px;color:#62566a}
.hero-tag br{display:none}
.hero-tag>span{margin-right:1em}
.hero h1{font-size:clamp(38px,3.65vw,54px);line-height:1.55;letter-spacing:.01em;white-space:nowrap}
.mobile-break,.small-break{display:none}
.hero-sub{font-size:20px;line-height:1.8;margin-top:22px}
.hero-description{max-width:490px;margin-top:18px;font-size:15px}
.button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:60px;padding:16px 22px;border:1px solid var(--plum);border-radius:0;background:var(--plum);color:white;text-align:left;font-size:14px;font-weight:500;line-height:1.65;cursor:pointer;transition:background .2s}
.button>span:last-child{flex-shrink:0;font-size:20px}
.button:hover{background:#56415f}
.button:disabled{background:#ddd5df;border-color:#bbb0c0;color:#514857;cursor:default}
.hero .button{max-width:380px;margin-top:26px}
.hero-note{font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}
.hero-visual{padding:0 16px 0 0}
.hero-visual img{max-height:562px;object-fit:contain;border-radius:48% 48% 0 0;background:#e8e1eb}
.hero-visual figcaption{text-align:right}
.chapter{display:flex;gap:28px;align-items:baseline;margin:0 0 48px;padding-top:20px;border-top:1px solid var(--line);color:#927c9d;font:400 52px/1.2 Georgia,'Times New Roman',serif;letter-spacing:.025em}
.chapter-number{flex-shrink:0;font:italic 60px/1.1 Georgia,serif;letter-spacing:-.065em;padding-right:3px}
.chapter-name{overflow-wrap:normal}
.why{display:grid;grid-template-columns:1fr 1fr;gap:0 90px;padding-bottom:62px}
.why>.chapter,.membership>.chapter,.origin>.chapter{grid-column:1/-1}
.why h2{font-size:clamp(32px,3vw,44px)}
.why .prose{max-width:540px}
.why .large{font-family:var(--serif);font-size:27px}
.flow-wrap{padding-bottom:100px}
.flow{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-top:1px solid #608a8d}
.flow li{position:relative;padding:24px 16px 0 0;font-size:17px}
.flow li:before{content:'';position:absolute;left:0;top:-5px;width:9px;height:9px;border:1px solid #608a8d;border-radius:50%;background:var(--paper)}
.flow li span{display:block;font:italic 17px Georgia,serif;color:#4d7174;margin-bottom:12px}
.activities{padding-top:20px}
.section-heading{margin-bottom:60px}
.activities>.section-heading h2{margin-left:25%;font-size:42px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.magazine{grid-template-columns:1fr 1fr}
.magazine figure{background:#eee8ed;padding:28px 50px 22px}
.magazine figure img{max-height:510px;object-fit:contain}
.activity-title,.activity h3.activity-title{font:500 32px/1.5 var(--sans);margin-bottom:20px}
.magazine h3.activity-title{font-size:27px}
.magazine .activity-title>span{display:block;font:48px/1.3 Georgia,serif;letter-spacing:.06em;margin-top:4px}
.prose .activity-lead{font:23px/1.7 var(--serif);margin:0 0 24px}
.ruled-list{list-style:none;padding:0;margin:28px 0}
.ruled-list li{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}
.ruled-list li:first-child{border-top:1px solid var(--line)}
.outline-link{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--plum);padding:14px 0;font-size:14px;color:#5e4567}
.education{margin-top:80px;padding:48px;background:#eeefea}
.education .split{grid-template-columns:.9fr 1.1fr;gap:60px}
.education figure img{height:360px;object-fit:cover;object-position:center 38%}
.education h3{font:32px/1.6 var(--serif)}
.activity{padding-top:72px;margin-top:72px;border-top:1px solid var(--line)}
.activity figure img{height:430px;object-fit:cover;object-position:center 40%}
.visit .prose{padding-right:20px}
.proof{background:var(--lavender)}
.proof>.wrap{display:grid;grid-template-columns:1.2fr 1fr;column-gap:64px}
.proof .chapter,.stats,.proof .fine,.visit-record{grid-column:1/-1}
.proof h2 br:nth-of-type(2){display:none}
.proof-intro{align-self:end;font-size:18px;margin:0 0 10px}
.stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:42px;margin-top:52px;margin-bottom:28px}
.stats>div{border-top:1px solid #c9bdce;padding:25px 0 0}
.stats dt{font-size:14px;color:#574660}
.stats dd{font-size:17px;color:#5e4567}
.stats strong{font:400 clamp(65px,6vw,86px)/1.3 Georgia,serif;letter-spacing:-.04em}
.stats dd p{font:15px/1.85 var(--sans);color:var(--ink);max-width:290px}
.visit-record{display:flex;gap:32px;align-items:center;border-top:1px solid #c9bdce;padding-top:22px;margin-top:28px}
.visit-record span{font-size:16px;color:#5e4567}
.visit-record strong{font-size:20px;font-weight:500}
.corporate{background:#302d34;color:var(--paper)}
.corporate>.wrap{display:grid;grid-template-columns:1fr 1fr;column-gap:90px}
.corporate .chapter{grid-column:1/-1;color:#bea8c9;border-color:#68616b}
.corporate h2{grid-column:1;grid-row:2;font-size:44px}
.partnership-local{grid-column:1;grid-row:3;color:#e6d9eb;font-size:20px;margin-top:24px}
.corporate-copy{grid-column:2;grid-row:2/4;align-self:center}
.corporate-copy .large{font-size:20px}
.values{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:60px}
.values article{border-top:1px solid #68616b;padding-top:24px}
.values article>span{font:italic 17px Georgia,serif;color:#c8b8cf}
.values h3{font:32px/1.5 var(--serif);margin:12px 0 20px}
.values p{font-size:15px;color:#e6e0e9}
.corporate-closing{grid-column:1/-1;font:30px/1.8 var(--serif);text-align:center;margin-top:56px}
.corporate-closing br{display:none}
.membership{display:grid;grid-template-columns:1fr 1fr;gap:0 90px}
.membership>.prose{padding-top:30px}
.membership-detail{border-top:2px solid var(--plum);background:#f0eaf1;padding:32px 38px}
.membership-detail h3{font-size:20px}
.price{font:64px/1.5 Georgia,serif;letter-spacing:-.025em;color:#5e4567;margin-top:8px}
.price span{font:15px var(--sans);letter-spacing:0}
.membership-detail>.fine:last-child{margin-top:16px}
.sponsor{background:#f0edf0}
.sponsor .section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end}
.sponsor .section-heading h2{font-size:36px}
.sponsor .section-heading>p{font-size:15px}
.sponsor-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
.sponsor-list article{display:flex;gap:24px;border-top:1px solid var(--line);padding:30px 0}
.sponsor-list article>span{flex:0 0 24px;font:italic 18px/1.8 Georgia,serif;color:var(--plum)}
.sponsor-list h3{font-size:22px;margin-bottom:16px}
.sponsor-list p{font-size:15px}
.sponsor-list p.fine{font-size:12px}
.sponsor-end{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--line);padding-top:34px}
.sponsor-end>p{font:26px/1.6 var(--serif)}
.sponsor-end .button{max-width:380px}
.origin{display:grid;grid-template-columns:1fr 1fr;gap:32px 90px}
.origin>.chapter{margin-bottom:8px}
.origin-heading{grid-column:1;grid-row:2}
.origin figure{grid-column:1;grid-row:3}
.origin>.prose{grid-column:2;grid-row:2/4;align-self:center}
.signature{border-top:1px solid var(--line);padding-top:24px;font-size:13px}
.signature strong{font-size:21px;letter-spacing:.1em;margin-left:8px}
.final-message{text-align:center;background:#e9e2ec}
.final-message h2{font-size:44px}
.final-message .large{font:28px/1.75 var(--serif);margin-top:28px}
.final-prose{max-width:650px;margin:32px auto}
.final-message .button{max-width:380px;margin:32px auto 0}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.contact-heading{font:48px/1.2 Georgia,serif;letter-spacing:.035em;color:var(--plum);margin-bottom:28px}
.contact h2{font-size:32px}
.contact-note{font-size:13px;color:var(--muted);margin-top:26px}
.field{margin-top:22px}
.field label{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:9px}
.field label span{font-size:12px;color:#684c73;letter-spacing:.05em}
.field label .optional{color:var(--muted)}
input,select,textarea{display:block;width:100%;max-width:100%;min-height:50px;border:1px solid #918393;border-radius:0;padding:12px;background:#fffefa;color:var(--ink);font-size:16px}
textarea{resize:vertical}
form .button{margin-top:28px}
form>.fine{margin-top:10px}
#form-status:not(:empty){padding:18px;border-left:3px solid #608a8d;background:#e9eeea;font-size:14px;margin-top:20px}
.footer{background:#eeeaee;padding-block:48px 36px}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.footer-top .wordmark{font-size:30px}
.footer-top .fine{margin-top:22px}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;border-top:1px solid var(--line);margin-top:28px;padding-top:24px;font-size:12px;color:var(--muted)}
.footer-bottom>span{white-space:nowrap;letter-spacing:.1em}
.sticky{display:none}
@media(max-width:1100px){
 .wrap{width:calc(100% - 72px)}.header nav{gap:18px}.nav-section{display:none}
 .hero{gap:36px}.hero-tag br{display:initial}.hero h1{font-size:clamp(30px,3.7vw,38px)}.hero-visual{padding:0}
 .split,.why,.membership,.origin,.contact,.corporate>.wrap{column-gap:48px}
 .chapter{font-size:44px}.chapter-number{font-size:54px}.education{padding:32px}.education .split{gap:36px}
 .membership-detail{padding:28px}.price{font-size:54px}.corporate h2{font-size:36px}.activities>.section-heading h2{margin-left:15%}
}
@media(max-width:799px){
 html{scroll-padding-top:20px}.wrap{width:calc(100% - 48px);max-width:600px}.section{padding-block:72px}
 h2{font-size:29px}.large{font-size:21px}.header{padding-block:20px;gap:16px}.wordmark{font-size:30px}.wordmark span{font-size:12px}
 .header nav{gap:0}.nav-contact{display:none}.sample-bar{line-height:1.7}.sample-bar span{display:inline}
 .flower-banner img{height:auto;aspect-ratio:2172/553;object-fit:cover}
 .hero{display:flex;flex-direction:column;gap:28px;padding-block:26px 40px;align-items:stretch}
 .hero-tag{font-size:16px;padding-bottom:22px;margin-bottom:24px}.hero h1{font-size:clamp(30px,7.9vw,45px);white-space:normal;line-height:1.55}
 .hero-sub{font-size:18px;margin-top:20px}.hero-description{font-size:16px;max-width:none}.hero .button{max-width:none;margin-top:24px}
 .hero-note{font-size:13px}.hero-visual{width:100%;max-width:430px;align-self:center}.hero-visual img{max-height:none}.hero-visual figcaption{text-align:left}
 .chapter{gap:18px;font-size:clamp(24px,6.5vw,38px);margin-bottom:32px;padding-top:18px;letter-spacing:.015em}
 .chapter-number{font-size:38px}.why,.split,.membership,.origin,.contact{display:block}
 .why h2{font-size:29px}.why .prose{margin-top:30px}.why .large{font-size:24px}.why{padding-bottom:42px}
 .flow-wrap{padding-bottom:64px}.flow{grid-template-columns:1fr 1fr;gap:28px 20px;border:0}
 .flow li{border-top:1px solid #608a8d;font-size:15px;padding:18px 0 0}.flow li span{font-size:15px}
 .activities{padding-top:12px}.section-heading{margin-bottom:34px}.activities>.section-heading h2{margin-left:0;font-size:30px}.small-break{display:initial}
 .magazine figure{padding:20px 24px}.magazine figure img{max-height:none}.magazine>.prose{margin-top:32px}
 .activity-title,.activity h3.activity-title{font-size:28px}.magazine h3.activity-title{font-size:24px}.magazine .activity-title>span{font-size:43px}
 .education{padding:28px 22px;margin-top:48px}.education .split{display:block}.education figure img{height:auto}.education .prose{margin-top:28px}.education h3{font-size:25px}
 .activity{margin-top:48px;padding-top:48px;display:flex;flex-direction:column;gap:28px;align-items:stretch}.visit figure{order:-1}.visit .prose{padding:0}.activity figure img{height:auto}
 .proof>.wrap{display:block}.proof h2{font-size:30px}.proof h2 br:nth-of-type(2){display:initial}.proof-intro{margin-top:24px;font-size:16px}
 .stats{display:block;margin-block:32px 24px}.stats>div{padding:22px 0}.stats strong{font-size:68px}.stats dd p{max-width:none;font-size:16px}.visit-record{display:block}.visit-record span{display:block}.visit-record strong{font-size:19px}
 .corporate>.wrap{display:block}.corporate h2{font-size:32px}.partnership-local{font-size:18px}.corporate-copy{margin-top:30px}.corporate-copy .large{font-size:19px}
 .values{display:block;margin-top:36px}.values article{padding-block:24px}.values h3{font-size:28px;margin-block:10px 14px}.corporate-closing{font-size:24px;margin-top:22px}.corporate-closing br{display:initial}
 .membership>.prose{padding:0}.membership-detail{margin-top:34px;padding:26px 24px}.price{font-size:52px}.price span{font-size:13px}
 .sponsor .section-heading{display:block}.sponsor .section-heading h2{font-size:clamp(24px,7.4vw,29px)}.sponsor .section-heading>p{margin-top:24px}.sponsor-list{display:block}.sponsor-list article{gap:16px}.sponsor-list h3{font-size:20px}
 .sponsor-end{display:block}.sponsor-end>p{font-size:24px}.sponsor-end .button{max-width:none;margin-top:24px}
 .origin>.chapter{margin-bottom:32px}.origin figure{margin-top:28px}.origin>.prose{margin-top:28px}
 .final-message h2{font-size:clamp(23px,6vw,32px)}.final-message .large{font-size:23px}.final-prose{text-align:left}.final-prose p{font-size:15px}
 .contact-heading{font-size:36px}.contact h2{font-size:28px}.contact form{margin-top:36px}
 .footer{padding-bottom:110px}.footer-top{flex-wrap:wrap}.footer-bottom{display:block}.footer-bottom>span{display:block;margin-top:20px}
 .sticky{display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;padding:10px 20px max(10px,env(safe-area-inset-bottom));background:#faf8f5f5;border-top:1px solid var(--line)}
 .sticky[hidden]{display:none}.sticky .button{min-height:48px;padding-block:10px}
}
@media(max-width:359px){.wrap{width:calc(100% - 36px)}.wordmark{font-size:26px}.button{font-size:13px;padding-inline:14px}.chapter{gap:12px;font-size:23px}.chapter-number{font-size:34px}.membership-detail{padding-inline:18px}.price{font-size:46px}.price span{font-size:12px}}
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:arrive .7s ease both}
 .chapter.is-seen>.chapter-number,.chapter.is-seen>.chapter-name{animation:chapter-float-in 1000ms cubic-bezier(.22,.61,.36,1) both}
 @keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
 @keyframes chapter-float-in{0%{opacity:.55;transform:translateY(18px)}70%{opacity:1;transform:translateY(-2px)}100%{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Append — 2026-10-10: keep the flower banner only in the mobile layout. */
@media (min-width:800px) {
  .flower-banner { display:none; }
}
