:root{--navy:#17263b;--navy-soft:#263a53;--accent:#a56b45;--cream:#f7f4ed;--gray:#f4f5f6;--line:#dde1e5;--text:#26313d;--muted:#65707c;--white:#fff;--radius:10px;--shadow:0 12px 34px rgba(23,38,59,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--white);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit}p,h1,h2,h3{margin-top:0}p{margin-bottom:1.4em}h1,h2,h3{color:var(--navy);font-weight:650;line-height:1.42;letter-spacing:.025em}h1{font-size:clamp(2.15rem,5vw,4.25rem)}h2{font-size:clamp(1.55rem,3vw,2.35rem)}h3{font-size:1.18rem}.container{width:min(1120px,calc(100% - 48px));margin-inline:auto}.container--narrow{width:min(760px,calc(100% - 48px))}.eyebrow{margin:0 0 16px;color:var(--accent);font-size:.73rem;font-weight:750;letter-spacing:.18em}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96)}.site-header__inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}.brand__mark{width:13px;height:13px;border:3px solid var(--accent);border-radius:50%}.brand__name{color:var(--navy);font-size:1.03rem;font-weight:700;letter-spacing:.06em}.global-nav{display:flex;align-items:center;gap:24px}.global-nav a{position:relative;color:#45515e;font-size:.83rem;text-decoration:none;white-space:nowrap}.global-nav a:after{position:absolute;right:0;bottom:-8px;left:0;height:2px;background:var(--accent);content:"";opacity:0;transform:scaleX(.4);transition:.2s}.global-nav a:hover:after,.global-nav a[aria-current=page]:after{opacity:1;transform:scaleX(1)}.hero{background:linear-gradient(115deg,var(--cream),#fff 68%)}.hero__inner{min-height:620px;padding-block:120px;display:flex;flex-direction:column;justify-content:center}.hero h1{max-width:900px;margin-bottom:28px}.hero__lead{max-width:680px;color:#56616d;font-size:1.05rem}.draft-label{display:inline-block;margin-left:8px;padding:1px 7px;border:1px solid #c9b8aa;border-radius:20px;color:#846248;font-size:.65rem;vertical-align:middle}.button-row{display:flex;align-items:center;gap:26px;margin-top:22px}.button{display:inline-flex;min-height:50px;padding:11px 24px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;font-weight:650;text-decoration:none}.button--primary{color:#fff;background:var(--navy)}.button--primary:hover{background:var(--navy-soft)}.button--outline{border-color:var(--navy);color:var(--navy)}.button--light{color:var(--navy);background:#fff}.button--disabled{border-color:#8a96a3;color:#d4dae1;background:transparent;cursor:not-allowed}.text-link{display:inline-block;color:var(--navy);font-weight:700;text-decoration-color:#aeb6bf;text-underline-offset:5px}.text-link span{color:var(--accent)}.text-link--disabled{color:var(--muted);text-decoration:none}.section{padding-block:104px}.section--topless{padding-top:24px}.section--warm{background:var(--cream)}.section--gray{background:var(--gray)}.section--cta{color:#e8edf2;background:var(--navy)}.section--cta h2,.section--cta .eyebrow{color:#fff}.split-intro,.cta-panel{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:center}.split-intro p:last-of-type,.cta-panel p{max-width:570px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.section-heading h2{margin-bottom:0}.card-grid{display:grid;gap:20px}.card-grid--four{grid-template-columns:repeat(4,1fr)}.card-grid--two{grid-template-columns:repeat(2,1fr)}.card{padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.card__number{display:block;margin-bottom:36px;color:#a8b0b8;font-family:Georgia,serif;font-size:1.45rem}.card__label{margin-bottom:8px;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.1em}.compact-card h3{margin-bottom:0}.detail-card{min-height:260px}.detail-card__top{display:flex;justify-content:space-between}.detail-card h2,.recruiting-card h2,.activity-card h2{font-size:1.55rem}.name-list{border-top:1px solid #cfd4d8}.name-list__item{padding:22px 4px;display:flex;justify-content:space-between;border-bottom:1px solid #cfd4d8}.name-list__item span{color:var(--navy);font-weight:650}.name-list__item small{color:var(--muted)}.profile-teaser{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:9%;align-items:center}.profile-placeholder{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #d7d9d7;border-radius:var(--radius);color:#8c9294;background:linear-gradient(135deg,#eeece7,#f8f7f3)}.profile-placeholder span{font-family:Georgia,serif;font-size:1.1rem;letter-spacing:.15em}.profile-placeholder small{font-size:.7rem}.profile-placeholder--large{aspect-ratio:1;width:100%;max-width:340px}.cta-panel .button{margin-top:12px}.config-note{display:block;margin-top:9px;color:#818b96;font-size:.72rem}.section--cta .config-note{color:#b7c0ca}.page-hero{padding:105px 0 76px;background:linear-gradient(115deg,var(--cream),#fff)}.page-hero h1{margin-bottom:22px}.page-hero p:not(.eyebrow){max-width:680px;color:#596572}.page-next{margin-top:64px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:var(--radius);background:var(--cream)}.page-next p{margin:0;color:var(--navy);font-weight:650}.status{display:inline-block;margin-bottom:24px;padding:4px 11px;border-radius:20px;font-size:.72rem;font-weight:750}.status--open{color:#2e664b;background:#e4f2e9}.status--soon{color:#7d5e31;background:#f4ead8}.status--closed{color:#66707a;background:#e9ecee}.recruiting-card,.activity-card{min-height:240px}.activity-card{display:flex;flex-direction:column;justify-content:space-between}.link-pending{display:inline-block;color:var(--muted);font-size:.82rem;font-weight:650}.config-note--page{margin-top:28px}.profile-header{display:grid;grid-template-columns:280px 1fr;gap:9%;align-items:center}.profile-body{display:grid;gap:28px}.content-block{padding:40px 0;border-bottom:1px solid var(--line)}.content-block--muted{padding:40px;border:1px dashed #c8cdd1;border-radius:var(--radius);background:var(--gray)}.link-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.link-cards a{padding:26px;display:grid;grid-template-columns:1fr auto;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius)}.link-cards small{grid-column:1/-1;color:var(--accent);letter-spacing:.12em}.link-cards strong{color:var(--navy)}.link-cards span{color:var(--accent)}.contact-list{border-top:1px solid var(--line)}.contact-item{padding:46px 0;display:grid;grid-template-columns:70px 1fr;gap:16px;border-bottom:1px solid var(--line)}.contact-item>span{color:var(--accent);font-family:Georgia,serif;font-size:1.4rem}.contact-item h2{font-size:1.55rem}.contact-item--accent{margin-top:24px;padding:40px;border:0;border-radius:var(--radius);background:var(--cream)}.site-footer{padding-top:70px;color:#c4ccd5;background:#101c2b}.site-footer__inner{padding-bottom:50px;display:flex;justify-content:space-between;gap:40px}.site-footer__name{margin-bottom:4px;color:#fff;font-weight:700;letter-spacing:.06em}.site-footer__note{margin:0;font-size:.82rem}.footer-nav{display:flex;flex-wrap:wrap;gap:20px 30px}.footer-nav a{font-size:.82rem;text-decoration:none}.site-footer__bottom{padding-block:18px;border-top:1px solid #324052}.site-footer__bottom small{font-size:.72rem}
@media(max-width:900px){.site-header__inner{min-height:74px;display:block;padding-block:16px}.global-nav{margin-top:15px;padding-bottom:3px;gap:20px;overflow-x:auto}.global-nav a{font-size:.78rem}.hero__inner{min-height:auto;padding-block:90px}.card-grid--four{grid-template-columns:repeat(2,1fr)}.profile-header{grid-template-columns:220px 1fr}}
@media(max-width:640px){body{font-size:15px}.container,.container--narrow{width:min(100% - 32px,1120px)}h1{font-size:2.15rem}.section{padding-block:72px}.section--topless{padding-top:16px}.page-hero{padding:70px 0 54px}.hero__inner{padding-block:76px}.hero h1 br{display:none}.button-row{align-items:flex-start;flex-direction:column}.split-intro,.cta-panel,.profile-teaser,.profile-header{grid-template-columns:1fr;gap:32px}.card-grid--four,.card-grid--two,.link-cards{grid-template-columns:1fr}.card{padding:26px}.detail-card,.recruiting-card,.activity-card{min-height:auto}.section-heading{align-items:flex-start;flex-direction:column}.profile-placeholder--large{max-width:240px}.page-next{padding:28px;align-items:flex-start;flex-direction:column}.contact-item{grid-template-columns:42px 1fr}.contact-item--accent{padding:28px 22px}.site-footer__inner{flex-direction:column}.footer-nav{flex-direction:column;gap:12px}}
.recruiting-grid{grid-auto-rows:1fr}.recruiting-card{min-height:300px;display:flex;align-self:stretch;flex-direction:column}.recruiting-card h2{min-height:2.84em;margin-bottom:18px}.recruiting-card>p{margin-bottom:12px}.recruiting-card__meta{display:block;color:var(--accent);font-weight:700;letter-spacing:.04em}.recruiting-card__action{margin-top:auto;padding-top:18px}.workshop-detail-card{padding:42px}.workshop-copy{max-width:820px}.workshop-details{margin:28px 0 0;border-top:1px solid var(--line)}.workshop-detail{padding:14px 0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--line)}.workshop-detail dt{color:var(--navy);font-weight:700}.workshop-detail dd{margin:0}.workshop-actions{gap:12px;flex-wrap:wrap}.ki-detail-section+.ki-detail-section{margin-top:42px;padding-top:42px;border-top:1px solid var(--line)}.ki-detail-section>h2{font-size:1.55rem}.ki-course-grid,.ki-school-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ki-course,.ki-school-session{padding:26px;border-radius:var(--radius);background:var(--gray)}.ki-course h2,.ki-school-session h3{margin-bottom:14px;font-size:1.3rem}.ki-course p:last-child{margin-bottom:0}.ki-school-session__date{color:var(--navy);font-weight:700}.ki-school-session .workshop-details{margin-top:18px}.ki-invitation p{margin-bottom:.55em}.ki-invitation p:last-child{margin-top:24px;margin-bottom:0}
.recruiting-card>.status{align-self:flex-start}
@media(max-width:640px){.recruiting-card{min-height:300px}.workshop-detail-card{padding:28px 22px}.workshop-detail{grid-template-columns:1fr;gap:2px}.workshop-actions .button{width:100%}.ki-course-grid,.ki-school-grid{grid-template-columns:1fr}.ki-course,.ki-school-session{padding:22px}.ki-detail-section+.ki-detail-section{margin-top:32px;padding-top:32px}}
.official-links-section{background:var(--cream)}.official-links__heading{margin-bottom:34px;display:flex;align-items:end;justify-content:space-between;gap:40px}.official-links__heading h2,.official-links__heading p{margin-bottom:0}.official-links__heading>p{max-width:440px;color:var(--muted);font-size:.9rem;text-align:right}.official-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d5d4cf}.official-link{min-height:68px;padding:14px 12px 14px 4px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid #d5d4cf;color:var(--navy);font-size:.88rem;font-weight:650;text-decoration:none}.official-link:not(:nth-child(4n)){margin-right:20px}.official-link__icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfc4c8;border-radius:50%;color:#4b5967;font-size:.67rem;font-weight:750;letter-spacing:.02em}.official-link__arrow{color:var(--accent);font-size:.82rem;transition:transform .18s}.official-link:hover .official-link__arrow{transform:translate(2px,-2px)}
@media(max-width:760px){.official-links__heading{align-items:flex-start;flex-direction:column;gap:12px}.official-links__heading>p{text-align:left}.official-links{grid-template-columns:repeat(2,minmax(0,1fr))}.official-link:not(:nth-child(4n)){margin-right:0}.official-link:nth-child(odd){margin-right:16px}}
@media(max-width:420px){.official-link{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;font-size:.8rem}.official-link:nth-child(odd){margin-right:12px}.official-link__icon{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.shop-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.shop-card__image{aspect-ratio:1;display:block;overflow:hidden;background:var(--gray)}.shop-card__image img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .25s}.shop-card__image:hover img{transform:scale(1.015)}.shop-card__body{padding:32px}.shop-card__body h2{font-size:1.55rem}.shop-price{margin:22px 0;color:var(--navy);font-size:1.15rem;font-weight:700;letter-spacing:.04em}.shop-price--large{margin:26px 0;font-size:1.45rem}.shop-support-links{margin-top:52px;padding-top:28px;border-top:1px solid var(--line)}.shop-support-links p{margin-bottom:8px;color:var(--muted);font-size:.9rem}.shop-product{display:grid;grid-template-columns:minmax(280px,480px) 1fr;gap:8%;align-items:center}.shop-product__image{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.shop-product__image img{width:100%;height:auto;display:block}.shop-product__intro h1{font-size:clamp(2rem,4.5vw,3.5rem)}.shop-purchase-note{margin-top:10px;display:block;color:var(--muted)}.shop-description p:last-child{margin-bottom:0}.shop-specs{margin:24px 0 0;border-top:1px solid var(--line)}.shop-specs div{padding:16px 0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--line)}.shop-specs dt{color:var(--navy);font-weight:700}.shop-specs dd{margin:0}.shop-page-next{flex-wrap:wrap}.legal-notice{margin-bottom:34px;padding:24px 28px;border-left:3px solid var(--accent);background:var(--cream)}.legal-notice strong{color:var(--navy)}.legal-notice p{margin:6px 0 0}.legal-list{margin:0;border-top:1px solid var(--line)}.legal-list>div{padding:20px 0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;border-bottom:1px solid var(--line)}.legal-list dt{color:var(--navy);font-weight:700}.legal-list dd{margin:0;white-space:pre-line}.legal-list .is-pending{color:#8a653f;font-weight:700}
@media(max-width:640px){.shop-grid,.shop-product{grid-template-columns:1fr}.shop-card__body{padding:26px}.shop-product{gap:34px}.shop-product__image{max-width:420px}.shop-specs div,.legal-list>div{grid-template-columns:1fr;gap:4px}.shop-page-next{gap:16px}.shop-page-next .text-link{width:100%}}
.shop-handling-note{margin-top:-.7em;color:var(--muted);font-size:.84rem}.shop-shipping{margin-top:28px;padding:22px 24px;border-radius:var(--radius);background:var(--cream)}.shop-shipping p{margin:0;display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px}.shop-shipping p+p{margin-top:6px}.shop-shipping strong{color:var(--navy)}.shop-shipping small{margin-top:10px;display:block;color:var(--muted)}.legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}.legal-list a{color:var(--navy);text-underline-offset:4px}.privacy-body h2{font-size:1.55rem}.privacy-list{margin:0;padding-left:1.3em}.privacy-list li+li{margin-top:6px}
@media(max-width:640px){.shop-shipping{padding:20px}.shop-shipping p{grid-template-columns:64px minmax(0,1fr)}.legal-links{align-items:flex-start;flex-direction:column}.page-next .legal-links{width:100%}}

/* Blog */
.blog-list{border-top:1px solid var(--line)}.blog-entry{padding:42px 0;border-bottom:1px solid var(--line)}.blog-entry h2{margin:8px 0 12px;font-size:clamp(1.35rem,2.5vw,1.8rem)}.blog-entry h2 a{text-decoration:none}.blog-entry p{color:var(--muted)}.blog-date{color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.08em}.blog-title{max-width:720px;margin-bottom:20px}.blog-author{display:inline-block;margin:0 0 0 18px;color:var(--muted);font-size:.82rem}.reading-body{font-size:1.04rem;line-height:2}.reading-body p{margin-bottom:2em;white-space:pre-line}.reading-body h2{margin:3em 0 1em;font-size:1.55rem}.reading-body ul{margin:0 0 2em;padding-left:1.4em}.reading-body li+li{margin-top:.5em}

.blog-image{margin:2.5em 0}.blog-image img{width:100%;height:auto;display:block;border-radius:var(--radius)}

/* Personal session */
.session-body>.content-block:first-child{padding-top:18px}.session-body .content-block h2{font-size:1.55rem}.session-fees{margin:26px 0;border-top:1px solid var(--line)}.session-fees>div{padding:20px 4px;display:flex;align-items:baseline;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.session-fees dt{color:var(--navy);font-size:1.15rem;font-weight:700}.session-fees dd{margin:0;color:var(--navy);font-size:1.25rem;font-weight:700}.session-steps{margin:28px 0 34px;padding:0;list-style:none;counter-reset:session-step}.session-steps li{position:relative;padding:0 0 28px 58px;counter-increment:session-step}.session-steps li:before{position:absolute;top:-3px;left:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);content:counter(session-step);font-family:Georgia,serif}.session-steps li:not(:last-child):after{position:absolute;top:37px;bottom:2px;left:18px;width:1px;background:var(--line);content:""}.session-steps strong{color:var(--navy);font-size:1.05rem}.session-steps p{margin:5px 0 0;color:var(--muted)}#fees,#application{scroll-margin-top:24px}
@media(max-width:640px){.blog-entry{padding:32px 0}.reading-body{font-size:1rem;line-height:1.95}.reading-body h2{margin-top:2.5em}.blog-author{display:block;margin:8px 0 0}.session-fees>div{padding:17px 2px}.session-steps li{padding-left:50px}}
