/* White editorial direction / 2026-10-01. Loaded after the structural styles. */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--paper:#faf9f7;--ink:#262522;--muted:#746f69;--line:#e2ded9;--font-title:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;color-scheme:light}
body{background:#fff;color:var(--ink);font-size:14px}
h1,h2{font-family:var(--font-title);font-weight:500;letter-spacing:.075em;line-height:1.85}
h2{font-size:clamp(28px,3vw,40px)}
h3{font-weight:600;letter-spacing:.025em}
.section{padding:120px 0}
.eyebrow{font-size:12px;letter-spacing:.17em;color:var(--red)}
.micro{font-size:11px;letter-spacing:.13em}
.section-top{border-color:var(--line);margin-bottom:65px;padding-top:20px}
.section-top>.micro{opacity:1;color:#817c76}
.intro-grid{gap:10%;margin-bottom:65px}
.intro-text{color:#726c65;font-size:14px;line-height:2.25}
.button{min-height:72px;padding:20px 25px;font-size:13px;font-weight:500;letter-spacing:.035em}
.button small{font-size:10px;letter-spacing:.025em}
.arrow{font-size:23px}
.header{height:91px;background:rgba(255,255,255,.97);border-bottom:1px solid #eae7e3;padding-inline:5%}
.brand strong{font-size:27px;color:#252522}
.brand>span{color:#706b65;font-size:9px;letter-spacing:.1em}
.header nav{font-size:11px;gap:34px;font-weight:400}
.header nav>a:not(.nav-book):hover{color:var(--red)}
.nav-book{border:0;background:var(--red);color:white;padding:15px 24px}
.nav-book span{color:white;margin-left:25px}
.nav-book:hover{background:#aa1718}
.hero{background:var(--paper);min-height:740px;display:flex;isolation:isolate}
.hero-photo{width:49%;height:calc(100% - 88px);top:0;right:0;object-position:65% center;filter:saturate(.68);z-index:-3}
.hero-shade{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 49%,rgba(250,249,247,.78) 54%,rgba(250,249,247,0) 65%);z-index:-2}
.hero-body{padding:80px 0 138px}
.hero-body>.eyebrow{color:#827870;font-size:11px;margin-bottom:36px;letter-spacing:.15em}
.red-line{width:30px;height:1px}
.hero-category{font:500 16px/1 var(--font-en);letter-spacing:.18em;color:#6c635c;margin-bottom:24px}
.hero-category span{font-size:15px;color:var(--red);margin-inline:12px}
.hero h1{font-size:clamp(35px,3.35vw,49px);line-height:1.95;letter-spacing:.045em;text-shadow:none;font-weight:500;max-width:650px}
.underlined{color:var(--red)}
.underlined:after{display:none}
.hero-description{font-size:13px;line-height:2.25;color:#726c65;margin:27px 0 31px}
.hero .button{width:354px}
.hero-note{color:#7b746d;font-size:10px;letter-spacing:.03em;margin-top:17px}
.hero-note>span{color:#bcb3a9}
.hero-bottom{bottom:30px;color:#655f59;border-top:1px solid #ddd7cf;padding-top:23px;align-items:center}
.hero-bottom>span{font:500 13px/1 var(--font-en);letter-spacing:.19em}
.hero-bottom>a{font-size:10px;letter-spacing:.13em}
.photo-credit{right:18px;bottom:120px;color:#4f4942;text-shadow:0 1px 5px #fff9;font-size:9px}
.location-strip{background:#fff;border:0;border-bottom:1px solid var(--line);color:#766d64;padding-block:20px}
.location-strip>span:first-child{font-size:12px;letter-spacing:.13em}
.location-strip b{color:var(--red)}
.why{background:#fff;color:var(--ink)}
.why .intro-text{color:#726c65}
.why .section-top,.stations .section-top,.session .section-top,.price .section-top{border-color:var(--line)}
.reasons{gap:34px}
.reasons article{border-top:1px solid #cfc4b8;padding:28px 0 0}
.reasons article+article{border-left:0;padding-left:0}
.big-number{font:400 50px/1 var(--font-title);font-style:italic;color:#b9a999;margin-bottom:27px}
.reasons h3{font-family:var(--font-title);font-size:24px;font-weight:500;line-height:1.75;margin-bottom:22px}
.reasons .micro{font-size:10px}
.reasons article>p:last-child{font-size:13px;line-height:2.2;color:#756d65}
.stations{background:var(--paper);color:var(--ink)}
.station-layout{gap:9%;grid-template-columns:1fr 1.1fr}
.station-photo{top:119px;height:550px;background:#ebe8e3}
.station-photo img{filter:saturate(.4) brightness(1.03);object-position:40% center}
.station-photo:after{background:linear-gradient(transparent,#0008);inset:65% 0 0}
.station-photo figcaption{color:#fff;left:27px;bottom:25px}
.station-photo figcaption>span{font-size:46px;font-weight:500;letter-spacing:.04em}
.station-photo figcaption small{font-size:10px;letter-spacing:.13em}
.station-list details{border-color:#dcd6cd}
.station-list details:first-child{border-color:#c9beb0}
.station-list summary{font-size:21px;font-weight:500;padding:22px 0;color:#28251f}
.station-list summary:hover,.station-list details[open]>summary{color:var(--red)}
.station-number{color:#928372;font-size:13px}
.station-list summary small{font-size:10px;color:#8b8074}
.station-detail{font-size:12px}
.station-detail>p{color:#655e56}
.station-detail dt{color:#968879;font-size:11px}
.station-detail dd{color:#625a50;font-size:11px}
.station-foot{font-family:var(--font-title);color:#766d62;font-size:17px;line-height:2.4}
.station-foot strong{color:#3a342d;font-weight:500;border-bottom:1px solid var(--red)}
.session{background:#fff;color:var(--ink)}
.time-mark b{font-size:125px;font-weight:500;color:#c9b9a8}
.time-mark>span{color:#8c7c69;font-size:11px}
.session-lead{font-size:14px;color:#7c7166;margin-top:27px}
.session-grid{gap:9%}
.session-grid figure img{filter:saturate(.7);height:490px}
.session-grid figcaption{color:#97897a;font-size:9px}
.steps li{border-color:var(--line);padding-block:25px}
.steps li>span{font-size:28px;font-weight:500}
.steps .micro{color:#9a8b7a;font-size:10px}
.steps h3{font-family:var(--font-title);font-size:21px;font-weight:500}
.steps li>div>p:last-child{color:#756c61;font-size:12px;line-height:2.1}
.floor-line{border-color:var(--line);padding:36px 0;margin-top:65px}
.floor-line>div>span{color:#8b7b68;font-size:10px}
.floor-line strong{color:#4e4438;font-size:34px;font-weight:500;letter-spacing:.06em}
.floor-line strong>span{font-family:var(--font-title);font-size:12px;font-weight:500}
.floor-cross{font-weight:300}
.floor-line>p{font-family:var(--font-title);font-size:15px;font-weight:400;color:#756652;line-height:2}
.price{background:var(--paper);color:var(--ink)}
.price-grid{gap:9%;align-items:stretch}
.first-price{background:#fff;border:1px solid #d9cbc1}
.price-tag{background:#f0e7e1;color:#8f3026;font-size:11px;padding:13px 34px;letter-spacing:.08em}
.price-card-body{padding:34px}
.price-card-body>.micro{color:#99897a;font-size:10px}
.first-price h3{font-size:32px;font-weight:500;color:#393029}
.price-card-body>p:not(.micro):not(.price-number){color:#837669}
.price-number{font-size:74px;font-weight:400;color:#3d342c}
.price-number small{color:#8f8072;font-size:10px}
.price-card-body .button{font-size:13px}
.repeat-prices article{border-color:#d8cfc5;padding:27px 0}
.repeat-prices .micro{color:#9a8b7c;font-size:10px}
.repeat-prices h3{font-size:18px;font-weight:500}
.repeat-prices h3 span{color:#8a7664;border-color:#d8cfc5;font-size:10px}
.repeat-prices .price-number{font-size:49px}
.price-sub{color:#8a7c6f;font-size:10px}
.price-notes{color:#8b7d6d;font-size:10px;line-height:2.1}
.coaches{color:var(--ink)}
.coaches h2{font-size:32px}
.coach-description{font-size:13px;color:#796e63;line-height:2.2}
.coach-roster{border-color:var(--line);padding-block:25px}
.coach-roster>div+div{border-color:var(--line)}
.coach-roster b{font-size:22px;font-weight:500;color:#4e4438;letter-spacing:.08em}
.coach-roster span{color:#94816d;font-size:10px}
.supervisor img{filter:saturate(.55);aspect-ratio:1.04}
.supervisor .micro{font-size:9px;letter-spacing:.15em}
.supervisor strong{font-family:var(--font-title);font-size:24px;font-weight:500;letter-spacing:.1em}
.supervisor figcaption>span:last-child{color:#8f7b66;font-size:10px}
.faq{background:var(--paper);color:var(--ink)}
.faq h2{font-size:32px}
.faq-list details,.faq-list details:first-child{border-color:#dcd3c8}
.faq-list summary{font-size:13px;font-weight:500;padding-block:25px}
.faq-list .q{font-family:var(--font-title);font-size:20px;font-weight:400}
.faq-list details>p{color:#7a6d5f;font-size:12px;line-height:2.1}
.closing{background:#fff;color:var(--ink);padding:110px 0 115px}
.closing:before{height:48px}
.closing .eyebrow{color:#8c7c6c;font-size:11px}
.closing-en{font-weight:500;letter-spacing:.035em;font-size:clamp(60px,8vw,110px);color:#d9cfc4;margin:28px 0}
.closing-en span{color:#aa7869}
.closing h2{font-size:28px;letter-spacing:.04em}
.closing-inner>p:not(.eyebrow):not(.closing-en){color:#807266;font-size:12px}
.closing .button{max-width:395px}
.line-link{font-size:11px;border-color:#bca794;color:#81664e}
.line-link:hover{color:var(--red)}
footer{background:var(--paper);color:#887a6b;border-color:var(--line);padding-top:55px}
.footer-brand strong{color:#4c4136;font-size:22px;letter-spacing:.1em}
.footer-brand span{font-size:10px}
.footer-small{border-color:#ded5c9;font-size:10px}
.copyright{color:#998875;font-size:10px}
.mobile-book{box-shadow:0 -4px 20px #80654909;border-color:var(--line)}
@media(max-width:1000px){.hero{min-height:705px}.hero-photo{width:53%;object-position:64% center}.hero-shade{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 42%,rgba(250,249,247,.92) 49%,rgba(250,249,247,0) 68%)}.hero h1{font-size:36px}.header nav{gap:20px}.reasons h3{font-size:22px}.coaches h2{font-size:28px}.session-grid{gap:6%}.time-mark b{font-size:110px}.floor-line{gap:23px}.floor-line>p{font-size:13px}}
@media(max-width:700px){
  html{scroll-padding-top:77px}.section{padding:73px 0}.header{height:73px;padding-inline:6%}.brand strong{font-size:22px}.brand>span{font-size:8px}.nav-book{padding:12px 15px;font-size:10px}.nav-book span{margin-left:13px}.header nav{gap:0}
  .hero{min-height:0;display:flex;flex-direction:column;padding-bottom:68px;overflow:hidden}
  .hero-photo{position:relative;inset:auto;width:100%;height:292px;object-position:62% 47%;filter:saturate(.65);z-index:0;order:0}
  .hero-shade{top:240px;bottom:auto;height:55px;background:linear-gradient(0deg,var(--paper),rgba(250,249,247,0));z-index:1;pointer-events:none}
  .hero-body{padding:16px 0 0;order:1;z-index:2}
  .hero-body>.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:19px}.red-line{width:24px}.hero-category{font-size:13px;letter-spacing:.16em;margin-bottom:13px}.hero-category span{font-size:13px}
  .hero h1{font-size:clamp(26px,7.25vw,36px);line-height:1.85;letter-spacing:.015em;max-width:100%;font-weight:500}
  .hero-description{font-size:12px;line-height:2.05;margin:20px 0 24px}.hero-description>.mobile-only{display:none}
  .hero .button{width:100%;padding:18px 20px;font-size:12px;min-height:76px}.button small{font-size:9px}.hero-note{font-size:9px;margin-top:15px;color:#8c7d70}.hero-note>span{padding-inline:7px}
  .hero-bottom{bottom:21px;padding-top:14px}.hero-bottom>span{font-size:10px;letter-spacing:.08em}.hero-bottom>a{font-size:8px}.hero-bottom>a span{font-size:16px;margin-left:8px}.photo-credit{top:14px;bottom:auto;right:13px;z-index:2;color:#4d443a;font-size:7px}
  .location-strip{padding-block:18px;gap:7px;font-size:9px}.location-strip>span:first-child{font-size:11px}
  h2{font-size:28px;line-height:1.8;letter-spacing:.035em}.section-top{margin-bottom:33px;padding-top:16px}.section-top .eyebrow{font-size:10px}.section-top>.micro{font-size:8px;letter-spacing:.02em}.intro-grid{margin-bottom:36px}.intro-text{font-size:12px;line-height:2.2;margin-top:22px}
  .reasons{display:block}.reasons article,.reasons article+article{padding:26px 0 28px 62px;border-color:var(--line)}.big-number{font-size:34px;top:30px;margin:0;color:#bca997}.reasons .micro{font-size:9px;margin-bottom:10px}.reasons h3{font-size:20px;line-height:1.8;margin-bottom:14px}.reasons article>p:last-child{font-size:12px;line-height:2.1}
  .station-photo{position:relative;top:auto;height:315px;margin-bottom:30px}.station-photo figcaption{left:22px;bottom:20px}.station-photo figcaption>span{font-size:37px}.station-photo figcaption small{font-size:8px}.station-list summary{font-size:21px;padding:20px 0}.station-list summary small{font-size:9px}.station-detail dl{grid-template-columns:94px 1fr}.station-detail dt,.station-detail dd{font-size:10px}.station-detail>p{font-size:12px}.station-foot{font-size:13px;line-height:2.2;margin-top:42px}
  .session-heading{align-items:center;gap:12px}.session-heading h2{font-size:25px;line-height:1.85;letter-spacing:.015em}.time-mark b{font-size:79px}.time-mark>span{font-size:7px;letter-spacing:.05em}.session-lead{font-size:12px;line-height:2.1;margin:24px 0 29px}.session-grid figure img{height:290px;object-position:62% center}.session-grid figcaption{font-size:8px}.steps{margin-top:33px}.steps li{padding:23px 0;gap:20px}.steps li>span{font-size:25px}.steps .micro{font-size:9px}.steps h3{font-size:19px}.steps li>div>p:last-child{font-size:12px;line-height:2}.floor-line{margin-top:28px;padding-block:27px;gap:10px}.floor-line>div>span{font-size:8px}.floor-line strong{font-size:27px}.floor-line strong>span{font-size:11px}.floor-line>p{font-size:12px}
  .price-card-body{padding:27px}.price-tag{padding:12px 27px;font-size:10px}.first-price h3{font-size:31px}.price-number{font-size:65px}.price-card-body .button{font-size:12px}.repeat-prices h3{font-size:17px}.repeat-prices .price-number{font-size:46px}.price-notes{font-size:10px;line-height:2}
  .coaches h2{font-size:26px}.coach-description{font-size:12px;line-height:2.2}.coach-roster{padding-block:23px}.coach-roster b{font-size:21px}.supervisor img{aspect-ratio:1}.supervisor strong{font-size:21px}.supervisor figcaption>span:last-child{font-size:9px}
  .faq h2{font-size:28px}.faq-list summary{font-size:12px;padding:23px 0}.faq-list .q{font-size:18px}.faq-list details>p{font-size:12px}
  .closing{padding:76px 0 78px}.closing-en{font-size:clamp(49px,12.5vw,78px);letter-spacing:.01em;margin:28px 0 22px}.closing h2{font-size:22px;line-height:1.85;letter-spacing:.015em}.closing-inner>p:not(.eyebrow):not(.closing-en){font-size:11px}.closing .button{padding:19px;font-size:12px}.line-link{font-size:11px}
  footer{padding-top:39px;padding-bottom:105px}.footer-brand strong{font-size:20px}.footer-brand span,.access{font-size:10px}.footer-small{font-size:9px}.copyright{font-size:9px}.mobile-book{padding-top:10px;background:#fff}.mobile-book>a{font-size:11px;padding:12px 24px;gap:18px}.mobile-book>span{color:#85715e}.mobile-book b{color:#3d3025}
}
