.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:end}.intro-copy{max-width:620px}.intro-copy p{margin:0 0 18px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid var(--line)}.feature-card{min-width:0;padding:32px clamp(0px,2vw,30px) 10px;border-right:1px solid var(--line)}.feature-card:first-child{padding-left:0}.feature-card:last-child{border-right:0}.feature-card .label{color:var(--muted);font-size:11px;letter-spacing:.16em}.feature-card h3{margin:35px 0 12px;font-size:21px}.feature-card p{margin:0}
.training-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:70px}.training-card{background:var(--paper)}.training-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.training-card-copy{padding:clamp(28px,4vw,58px)}.training-card .mode{color:var(--muted);font-size:11px;letter-spacing:.16em}.training-card h3{margin:16px 0;font-family:"Yu Mincho",YuMincho,serif;font-size:clamp(30px,3vw,45px);font-weight:500}.training-card strong{display:inline-block;margin-top:16px;padding:7px 13px;border-left:4px solid var(--lime)}
.space-digest{min-height:760px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--ink);color:#fff}.space-digest-media{min-height:600px}.space-digest-media img{width:100%;height:100%;object-fit:cover}.space-digest-copy{align-self:center;padding:80px var(--pad)}.space-digest-copy p{color:#d9dad4}.space-digest-copy .text-link{border-color:#fff}.equipment-inline{display:flex;flex-wrap:wrap;gap:9px;margin:30px 0 0;padding:0;list-style:none}.equipment-inline li{padding:7px 10px;border:1px solid rgba(255,255,255,.25);font-size:10px;letter-spacing:.1em}
.trainer-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:70px}.trainer-mini img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.82)}.trainer-mini p{margin:12px 0 2px;color:var(--muted);font-size:10px;letter-spacing:.14em}.trainer-mini h3{margin:0;font-size:14px}
.price-digest-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.3)}.price-digest-item{padding:28px clamp(0px,2vw,30px);border-right:1px solid rgba(255,255,255,.2)}.price-digest-item:first-child{padding-left:0}.price-digest-item:last-child{border:0}.price-digest-item p{margin:0;color:#cfd1cb;font-size:11px;letter-spacing:.14em}.price-digest-item strong{display:block;margin-top:20px;color:#fff;font-size:clamp(32px,4vw,58px);line-height:1.1}.price-digest-item small{color:var(--lime)}
.simple-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;padding:0;border-top:1px solid var(--line);list-style:none;counter-reset:steps}.simple-steps li{position:relative;min-height:210px;padding:30px;border-right:1px solid var(--line);counter-increment:steps}.simple-steps li:first-child{padding-left:0}.simple-steps li:last-child{border:0}.simple-steps li::before{content:"0" counter(steps);color:#748020;font-size:11px;font-weight:700;letter-spacing:.12em}.simple-steps h3{margin:50px 0 8px}.simple-steps p{margin:0}
.info-band{position:relative;overflow:hidden;background:var(--ink-soft);color:#fff}.info-band::after{content:"FUKUOKA";position:absolute;left:-.04em;bottom:-.28em;color:rgba(255,255,255,.045);font-size:clamp(130px,25vw,390px);font-weight:700;line-height:1;letter-spacing:-.09em}.info-grid{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.info-list{margin:0}.info-list>div{display:grid;grid-template-columns:130px 1fr;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.22)}.info-list dt{color:#c7c9c2;font-size:12px}.info-list dd{margin:0}.dummy-note{color:#c7c9c2!important;font-size:12px}
.reason-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:70px 0 0;padding:0;list-style:none}.reason-list li{min-height:270px;padding:34px;background:var(--paper);border-top:4px solid var(--lime)}.reason-list span{color:var(--muted);font-size:11px;letter-spacing:.14em}.reason-list h3{margin:48px 0 12px;font-family:"Yu Mincho",YuMincho,serif;font-size:28px;font-weight:500}.recommend-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin:60px 0 0;padding:0;list-style:none}.recommend-list li{position:relative;padding:20px 0 20px 30px;border-top:1px solid rgba(255,255,255,.25)}.recommend-list li::before{content:"";position:absolute;left:0;top:31px;width:10px;height:10px;background:var(--lime)}
.trainer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:72px}.trainer-card img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.84)}.trainer-card .trainer-number{margin:14px 0 3px;color:var(--muted);font-size:10px;letter-spacing:.14em}.trainer-card h3{margin:0 0 10px;font-size:15px}.trainer-card p:last-child{margin:0;font-size:13px}
.service-block{padding:var(--space) var(--pad)}.service-block-inner{width:min(100%,var(--content));margin:auto}.service-details{margin:28px 0 0;padding:0;list-style:none}.service-details li{position:relative;padding:12px 0 12px 24px;border-top:1px solid var(--line)}.service-details li::before{content:"";position:absolute;left:0;top:23px;width:8px;height:8px;background:var(--lime)}.compare-wrap{overflow-x:auto;margin-top:65px}.compare-table{width:100%;min-width:680px;border-collapse:collapse}.compare-table th,.compare-table td{padding:19px 24px;border-bottom:1px solid rgba(255,255,255,.22);text-align:left}.compare-table thead th{border-top:1px solid rgba(255,255,255,.35);color:var(--lime);font-size:12px;letter-spacing:.12em}.compare-table tbody th{width:25%;color:#cfd1cb;font-size:13px;font-weight:500}
.floor-map{margin-top:70px;padding:clamp(16px,3vw,38px);background:#deddd5}.floor-map img{width:100%}.floor-caption{display:flex;justify-content:space-between;gap:30px;margin-top:20px}.floor-caption p{margin:0}.floor-caption span{color:var(--muted);font-size:11px;letter-spacing:.14em}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 18px;margin-top:80px}.equipment-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.equipment-card p{margin:15px 0 3px;color:var(--muted);font-size:10px;letter-spacing:.14em}.equipment-card h3{margin:0 0 8px;font-size:20px}.equipment-card small{color:var(--text)}.amenities{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;padding:0;border-top:1px solid var(--line);list-style:none}.amenities li{padding:24px 18px;border-right:1px solid var(--line);font-size:13px}.amenities li:first-child{padding-left:0}.amenities li:last-child{border:0}.facility-note{margin-top:28px;padding:18px 22px;background:#e1e2da}
.price-hero-panel{display:grid;grid-template-columns:1fr 1fr;gap:55px 9vw;margin-top:72px}.main-fee{padding-top:25px;border-top:1px solid rgba(255,255,255,.35)}.main-fee p{margin:0;color:#cfd1cb;font-size:12px;letter-spacing:.16em}.main-fee strong{display:block;color:#fff;font-size:clamp(72px,10vw,145px);line-height:1.15;letter-spacing:-.07em}.main-fee strong span{margin-right:8px;font-size:.35em;vertical-align:top}.main-fee small{display:inline-block;padding:8px 13px;background:var(--lime);color:var(--ink);font-weight:700}.sub-fees{margin:0}.sub-fees>div{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.25)}.sub-fees dt{color:#d9dad4;font-size:13px}.sub-fees dd{margin:0;font-size:24px}.billing-example{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin-top:58px;padding:32px 38px;border:1px solid rgba(255,255,255,.25);background:#242723}.billing-example p{margin:0;color:#fff}.billing-example span{color:#c7c9c2;font-size:13px}.billing-example strong{color:#fff;font-size:clamp(44px,6vw,78px);line-height:1}.billing-example small{display:block;color:var(--lime);text-align:right}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}.rule-card{padding:32px;background:var(--paper);border-top:4px solid var(--lime)}.rule-card span{color:var(--muted);font-size:11px;letter-spacing:.14em}.rule-card h3{margin:38px 0 12px;font-size:21px}.rule-card p{margin:0}.notice-box{margin-top:45px;padding:26px 30px;border:1px solid var(--line)}.notice-box p{margin:0 0 8px}.notice-box p:last-child{margin-bottom:0}
.flow-list{display:grid;grid-template-columns:repeat(4,1fr);margin:68px 0 0;padding:0;border-top:1px solid var(--line);list-style:none;counter-reset:guide}.flow-list li{min-height:260px;padding:30px;border-right:1px solid var(--line);counter-increment:guide}.flow-list li:first-child{padding-left:0}.flow-list li:last-child{border:0}.flow-list li::before{content:"STEP 0" counter(guide);color:#748020;font-size:11px;font-weight:700;letter-spacing:.14em}.flow-list h3{margin:52px 0 10px;font-size:20px}.visit-flow{display:grid;grid-template-columns:repeat(5,1fr);margin:70px 0 0;padding:0;list-style:none}.visit-flow li{position:relative;padding:24px 25px;border-top:1px solid rgba(255,255,255,.28)}.visit-flow li:not(:last-child)::after{content:"→";position:absolute;right:-8px;top:25px;color:var(--lime)}.visit-flow span{color:var(--lime);font-size:10px;letter-spacing:.14em}.visit-flow h3{margin:30px 0 8px}.visit-flow p{margin:0;color:#d7d9d2;font-size:14px}.bring-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:55px}.bring-item{padding:28px;background:var(--paper-deep)}.bring-item span{color:#748020;font-size:11px;font-weight:700}.bring-item h3{margin:28px 0 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:60px}.choice-card{padding:clamp(30px,5vw,62px);background:var(--paper-deep)}.choice-card span{color:var(--muted);font-size:11px;letter-spacing:.14em}.choice-card h3{margin:18px 0;font-family:"Yu Mincho",YuMincho,serif;font-size:clamp(30px,4vw,48px);font-weight:500}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.faq-list{padding-top:5px}.faq-item{border-top:1px solid #8f938a}.faq-item:last-child{border-bottom:1px solid #8f938a}.faq-item h3{margin:0}.faq-item button{width:100%;min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border:0;background:transparent;color:var(--ink);text-align:left;font-weight:500}.faq-item button span::before{content:"Q";margin-right:18px;color:#687313;font-size:12px;font-weight:800}.faq-item i{position:relative;flex:0 0 22px;width:22px;height:22px}.faq-item i::before,.faq-item i::after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--ink);transition:.25s}.faq-item i::after{transform:rotate(90deg)}.faq-item button[aria-expanded=true] i::after{transform:rotate(0)}.faq-answer{padding:0 30px 25px 34px}.faq-answer p{margin:0}
@media(max-width:1024px){.trainer-grid,.trainer-strip{grid-template-columns:repeat(5,220px);overflow-x:auto;padding-bottom:16px;scroll-snap-type:x mandatory}.trainer-card,.trainer-mini{scroll-snap-align:start}.reason-list,.rules-grid{grid-template-columns:1fr 1fr}.faq-layout{grid-template-columns:1fr}}
@media(max-width:768px){.intro-grid,.info-grid{grid-template-columns:1fr;gap:48px}.feature-grid,.simple-steps,.price-digest-grid{display:block;margin-top:55px}.feature-card,.simple-steps li,.price-digest-item{min-height:0;padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.feature-card h3,.simple-steps h3{margin-top:24px}.training-cards{grid-template-columns:1fr;margin-top:50px}.space-digest{grid-template-columns:1fr;min-height:0}.space-digest-media{min-height:330px;height:65vw}.space-digest-copy{padding-top:70px;padding-bottom:80px}.trainer-strip{grid-template-columns:repeat(5,min(72vw,290px));margin-right:calc(var(--pad)*-1)}.price-digest-item{border-color:rgba(255,255,255,.22)}.info-band::after{right:-.16em;left:auto;top:60px;bottom:auto;font-size:31vw;writing-mode:vertical-rl}.reason-list,.recommend-list,.equipment-grid,.rules-grid,.choice-grid{grid-template-columns:1fr}.reason-list li{min-height:230px}.recommend-list{gap:0}.trainer-grid{display:block;overflow:visible;padding:0}.trainer-card{margin-bottom:44px}.trainer-card h3{font-size:17px}.service-block{padding-top:94px;padding-bottom:94px}.floor-caption{display:block}.floor-caption span{display:block;margin-bottom:8px}.equipment-grid{gap:45px}.amenities{grid-template-columns:1fr 1fr}.amenities li{border-bottom:1px solid var(--line)}.price-hero-panel{grid-template-columns:1fr}.billing-example{grid-template-columns:1fr;padding:28px}.billing-example small{text-align:left}.flow-list{display:block}.flow-list li{min-height:0;padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.flow-list h3{margin-top:25px}.visit-flow{display:block}.visit-flow li{padding:24px 0}.visit-flow li:not(:last-child)::after{content:"↓";right:0;top:auto;bottom:-13px}.bring-grid{grid-template-columns:1fr 1fr}.faq-answer{padding-left:0;padding-right:10px}}
@media(max-width:390px){.training-card-copy,.rule-card,.bring-item{padding:25px 22px}.trainer-strip{grid-template-columns:repeat(5,76vw)}.amenities,.bring-grid{grid-template-columns:1fr}.sub-fees>div{display:block}.sub-fees dd{margin-top:8px}.main-fee strong{font-size:70px}.faq-item button{font-size:15px}}

/* Readability and mobile interaction refinements */
.trainer-more{display:contents}.trainer-toggle{display:none}
.compare-cards{display:none}
.intro-grid .section-title{font-size:clamp(34px,4.3vw,64px)}
.faq-layout{grid-template-columns:minmax(460px,.9fr) 1.1fr;gap:clamp(56px,7vw,110px)}
.faq-layout .section-title{font-size:clamp(40px,3.5vw,52px)}

@media(min-width:1025px){
  #about-title{font-size:clamp(34px,4vw,58px)}
  #about-title .heading-line:nth-child(2),#space-title,#self-title{white-space:nowrap}
  #space-title,#self-title{font-size:clamp(36px,4vw,58px)}
}

@media(max-width:1024px){.faq-layout{grid-template-columns:1fr}}

@media(max-width:768px){
  .intro-grid .section-title{font-size:clamp(29px,8.5vw,40px)}
  .trainer-strip,.trainer-grid{display:block;margin-right:0;overflow:visible;padding-bottom:0}
  .trainer-mini--desktop{display:none}
  .trainer-mini,.trainer-card{width:100%;margin-bottom:44px}
  .trainer-mini h3,.trainer-card h3{font-size:16px}
  .trainer-more{display:grid;grid-template-columns:1fr;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .45s var(--ease),opacity .3s ease}
  .trainer-more.is-open{max-height:3200px;opacity:1;visibility:visible}
  .trainer-toggle{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:700}
  .trainer-toggle i{position:relative;width:15px;height:15px}
  .trainer-toggle i::before,.trainer-toggle i::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:currentColor;transition:transform .25s}
  .trainer-toggle i::after{transform:rotate(90deg)}
  .trainer-toggle[aria-expanded=true] i::after{transform:rotate(0)}
  .compare-wrap{display:none}
  .compare-cards{display:grid;gap:14px;margin-top:50px}
  .compare-card{padding:26px 22px;border:1px solid rgba(255,255,255,.24);background:#242723}
  .compare-card h3{margin:0 0 18px;color:var(--lime);font-size:20px;letter-spacing:.08em}
  .compare-card dl{margin:0}
  .compare-card dl>div{display:grid;grid-template-columns:94px 1fr;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.16)}
  .compare-card dt{color:#bfc2ba;font-size:12px}
  .compare-card dd{margin:0;color:#fff;font-size:14px}
  .floor-map{margin:52px calc(var(--pad)*-.45) 0;padding:12px}
  .floor-map img{width:100%;aspect-ratio:3/2;object-fit:cover}
  .floor-caption{padding:0 8px 5px}
  .amenities{grid-template-columns:1fr 1fr;border:1px solid var(--line)}
  .amenities li,.amenities li:first-child,.amenities li:last-child{padding:18px 14px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .amenities li:nth-child(2n){border-right:0}
  .amenities li:nth-last-child(-n+2){border-bottom:0}
  .facility-note{padding:15px 12px;font-size:13px;letter-spacing:-.02em;word-break:keep-all}
  .faq-layout .section-title{font-size:clamp(29px,8vw,40px)}
  .bring-item:nth-child(2) h3{font-size:15px;white-space:nowrap}
  #faq-q7{font-size:14px;gap:12px}
  #faq-q7 span::before{margin-right:12px}
  .section:has(.trainer-strip) #trainers-title{font-size:32px}
  #why-title{font-size:30px}
  .section:has(.trainer-strip) #trainers-title .phrase,#why-title .phrase,body:has(.price-hero-panel) .final-cta #final-title .sp-copy .phrase{white-space:nowrap}
  body:has(.price-hero-panel) .final-cta #final-title .sp-copy .phrase{font-size:35px}
  #equipment-title{font-size:clamp(27px,7.4vw,31px)}
  #rules-title{font-size:23px;word-break:keep-all;overflow-wrap:normal}
  .footer-info p:last-child{width:130px;word-break:keep-all;overflow-wrap:normal}
}

@media(max-width:340px){
  .reason-list li:nth-child(2) h3{font-size:25px;white-space:nowrap}
  .choice-card h3{font-size:24px;white-space:nowrap}
  #faq-q7{font-size:13px;gap:10px}
  #faq-q7 span::before{margin-right:10px}
  #why-title{font-size:23px}
  .section:has(.trainer-strip) #trainers-title{font-size:25px}
  body:has(.price-hero-panel) .final-cta #final-title .sp-copy .phrase{font-size:28px}
  #equipment-title{font-size:23px}
  #rules-title{font-size:20px}
  #trainers-title{font-size:25px}
  #how-title{font-size:27px}
  .final-cta h2{font-size:28px}
  .facility-note{font-size:12px}
  .compare-card dl>div{grid-template-columns:82px 1fr}
}

@media(prefers-reduced-motion:reduce){.trainer-more,.trainer-toggle i::after{transition:none!important}}
