:root{
  --fitness-ink:#1d1d1f;
  --fitness-muted:#5f6368;
  --fitness-cream:#f5f1e9;
  --fitness-blue:#1d6687;
  --fitness-orange:#ed6200;
}
body.fitness-page{margin:0;color:var(--fitness-ink);background:#fff;font-family:Arial,"Noto Sans JP",sans-serif}
body.fitness-page main{overflow:hidden}
.fitness-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.fitness-hero{position:relative;min-height:640px;background:#e8e0d1;overflow:hidden}
.fitness-hero picture,.fitness-hero img{display:block;width:100%;height:100%}
.fitness-hero img{position:absolute;inset:0;object-fit:cover;object-position:left center}
.fitness-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,0) 28%,rgba(0,0,0,.10) 46%,rgba(0,0,0,.44) 68%,rgba(0,0,0,.68) 100%)}
.fitness-hero-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;min-height:640px}
.fitness-hero-copy{max-width:590px;color:#fff;padding:72px 0;text-align:left}
.fitness-kicker{font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;color:#fff}
.fitness-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.035em;margin:0 0 24px;font-weight:700}
.fitness-hero-lead{font-size:clamp(20px,2.1vw,28px);line-height:1.42;margin:0 0 14px;max-width:560px}
.fitness-hero-sub{font-size:17px;line-height:1.7;margin:0 0 30px;max-width:560px;color:rgba(255,255,255,.9)}
.fitness-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fitness-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 32px;border-radius:4px;font-size:16px;font-weight:800;text-decoration:none!important}
.fitness-btn-primary{background:var(--fitness-orange);color:#fff!important;border:1px solid var(--fitness-orange)}
.fitness-btn-primary:hover{background:#d85600;border-color:#d85600}
.fitness-btn-secondary{background:rgba(255,255,255,.08);color:#fff!important;border:1px solid rgba(255,255,255,.78)}
.fitness-hero-note{margin:14px 0 0;font-size:14px;color:rgba(255,255,255,.82)}
.fitness-intro{padding:78px 0 72px;background:#fff}
.fitness-intro-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:52px;align-items:center}
.fitness-eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fitness-blue);margin:0 0 12px}
.fitness-intro h2,.fitness-benefit-copy h2,.fitness-skill-copy h2,.fitness-start h2,.fitness-final-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.025em;margin:0 0 18px}
.fitness-intro p,.fitness-benefit-copy p,.fitness-skill-copy p,.fitness-start p{font-size:18px;line-height:1.72;color:#3f4347;margin:0 0 16px}
.fitness-video{aspect-ratio:16/9;width:100%;border:0;display:block;box-shadow:0 16px 42px rgba(0,0,0,.14);background:#111}
.fitness-benefits{padding:34px 0 82px;background:var(--fitness-cream)}
.fitness-benefit{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;padding:46px 0;border-bottom:1px solid rgba(29,29,31,.12)}
.fitness-benefit:last-child{border-bottom:0}
.fitness-benefit:nth-child(even) .fitness-benefit-media{order:2}
.fitness-benefit-media img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:3px}
.fitness-benefit-copy{padding:12px 0}
.fitness-benefit-copy h2{font-size:clamp(34px,3.4vw,48px);margin-bottom:14px}
.fitness-benefit-copy p{font-size:18px}
.fitness-easy{padding:82px 0;background:#fff}
.fitness-easy-head{text-align:center;max-width:760px;margin:0 auto 38px}
.fitness-easy-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,50px);line-height:1.08;margin:0 0 15px}
.fitness-easy-head p{font-size:18px;line-height:1.7;color:#4f5458;margin:0}
.fitness-easy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fitness-easy-card{border:1px solid #dedede;border-radius:8px;padding:28px 26px;background:#fff;min-height:230px}
.fitness-easy-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef5f8;color:var(--fitness-blue);font-weight:900;font-size:20px;margin-bottom:20px}
.fitness-easy-card h3{font-size:23px;line-height:1.25;margin:0 0 12px}
.fitness-easy-card p{font-size:16.5px;line-height:1.7;color:#4f5458;margin:0}
.fitness-skill{padding:84px 0;background:#173f52;color:#fff}
.fitness-skill-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.fitness-skill-media img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:3px}
.fitness-skill-copy p{color:rgba(255,255,255,.88)}
.fitness-skill-points{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}
.fitness-skill-points li{position:relative;padding-left:30px;font-size:17px;line-height:1.55}
.fitness-skill-points li::before{content:"✓";position:absolute;left:0;top:0;color:#ff8a2d;font-weight:900}
.fitness-start{padding:82px 0;background:#fff;text-align:center}
.fitness-start-inner{max-width:850px;margin:0 auto}
.fitness-start-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 30px}
.fitness-start-badges span{background:#f3f5f6;border:1px solid #dfe3e5;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700}
.fitness-start .fitness-btn-secondary{color:var(--fitness-blue)!important;border-color:var(--fitness-blue);background:#fff}
.fitness-final{position:relative;min-height:460px;display:flex;align-items:center;overflow:hidden;background:#ddd}
.fitness-final img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.fitness-final::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.24) 44%,rgba(0,0,0,0) 70%)}
.fitness-final-inner{position:relative;z-index:2;width:100%}
.fitness-final-copy{max-width:620px;color:#fff;padding:62px 0 62px 28px}
.fitness-final-copy h2{font-size:clamp(38px,4.8vw,58px)}
.fitness-final-copy p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.9);margin:0 0 26px}
@media(max-width:900px){
  .fitness-hero,.fitness-hero-inner{min-height:590px}.fitness-hero img{object-position:left center}.fitness-hero::after{background:linear-gradient(90deg,rgba(0,0,0,0) 18%,rgba(0,0,0,.16) 45%,rgba(0,0,0,.62) 100%)}
  .fitness-intro-grid,.fitness-benefit,.fitness-skill-grid{grid-template-columns:1fr;gap:28px}.fitness-benefit:nth-child(even) .fitness-benefit-media{order:0}.fitness-easy-grid{grid-template-columns:1fr}
  .fitness-benefit{padding:34px 0}.fitness-benefit-copy{padding:0}.fitness-skill-copy{order:-1}.fitness-final img{object-position:58% center}
}
@media(max-width:640px){
  .fitness-container{width:min(100% - 28px,1180px)}.fitness-hero,.fitness-hero-inner{min-height:600px}.fitness-hero img{object-position:38% center}.fitness-hero::after{background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.18) 36%,rgba(0,0,0,.76) 100%)}
  .fitness-hero-inner{align-items:flex-end;justify-content:flex-start}.fitness-hero-copy{padding:0 0 42px}.fitness-hero h1{font-size:46px}.fitness-hero-lead{font-size:20px}.fitness-hero-sub{font-size:16px}.fitness-cta-row{display:grid;grid-template-columns:1fr;width:100%}.fitness-btn{width:100%}
  .fitness-intro,.fitness-easy,.fitness-skill,.fitness-start{padding:58px 0}.fitness-benefits{padding:18px 0 56px}.fitness-intro p,.fitness-benefit-copy p,.fitness-skill-copy p,.fitness-start p{font-size:16.5px}.fitness-easy-card{min-height:0}.fitness-final{min-height:500px}.fitness-final img{object-position:64% center}.fitness-final::after{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72) 75%)}.fitness-final{align-items:flex-end}.fitness-final-copy{padding:0 0 40px 0}.fitness-final-copy h2{font-size:40px}
}

/* 2026-10-08: Keep the fitness instructor farther left on desktop/tablet,
   leaving a cleaner text field on the right at common laptop widths. */
@media (min-width:768px){
  .fitness-hero img{object-position:right center!important}
}
