/* Japanese text layout adaptations over the original FIT landing CSS. */
.jp-reformer{font-family:var(--jp-font);line-break:strict;word-break:normal;overflow-wrap:normal}
.jp-reformer :where(section,div,p,span,a,li,h1,h2,h3,summary,button){font-family:inherit;word-break:normal!important;letter-spacing:normal}
.jp-reformer :where(h1,h2,h3){text-wrap:balance;white-space:normal}
.jp-reformer :where(p,li){line-height:1.85}
.jp-reformer .jp-word,.jp-reformer .jp-phrase{display:inline-block;white-space:nowrap}
.jp-reformer .card-title .jp-phrase{display:block}
.jp-reformer .hc-landing-s01 .card-title{font-size:21px;line-height:1.45;margin:0 0 8px}

.jp-reformer .hc-landing-s01 .card-sub{font-size:15px;line-height:1.8}
.jp-reformer .hc-landing-s01 .course-card{height:auto;min-width:0}
.jp-reformer .feature-list li{line-height:1.65}
.jp-reformer .jp-reformer-notice{background:#f1f6f3;padding:18px max(20px,calc((100% - 1120px)/2));font-size:13px;color:#345346;line-height:1.8}
.jp-reformer-notice strong,.jp-reformer-notice span{display:block}
.jp-reformer .jp-reformer-note{max-width:900px;margin:0 auto 28px;padding:0 20px;font-size:13px;color:#53675c;line-height:1.8}
.jp-reformer .hc-nav-bar{position:sticky;top:0;z-index:20}
.jp-reformer .hc-nav-bar ul{padding:0 16px;overflow-x:auto;justify-content:center;gap:24px}
.jp-reformer .hc-nav-bar a{white-space:nowrap;min-height:48px}
.jp-reformer [id]{scroll-margin-top:76px}
.jp-reformer .jp-cycle{margin:28px auto 0;font-size:14px;color:#e1e9e5;text-align:center}
.jp-reformer .s02-cyc{max-width:100%}
.jp-reformer .hc-landing-s03a .s03a-end{max-width:100%}
.jp-reformer .hc-landing-s09 .chapter-header{gap:12px;cursor:pointer;list-style:none}
.jp-reformer .hc-landing-s09 .chapter-left{min-width:0;flex:1}
.jp-reformer .hc-landing-s09 .ch-title{white-space:normal;line-height:1.6}
.jp-reformer .hc-landing-s09 .chapter-right{flex-shrink:0}
.jp-reformer .hc-landing-s09 .lesson-count{white-space:nowrap}
.jp-reformer .hc-landing-s09 .lesson-title{white-space:normal;overflow:visible;text-overflow:clip;min-width:0;line-height:1.75}
.jp-reformer .hc-landing-s09 .lesson-row{align-items:flex-start;gap:8px}
.jp-reformer .hc-landing-s09 .lesson-dur{white-space:nowrap;flex-shrink:0}
.jp-reformer .hc-landing-s09 details:not([open])>.lesson-list{display:none}
.jp-reformer .hc-landing-s09 details[open]>.lesson-list{display:block;max-height:none;height:auto;opacity:1}
.jp-reformer .hc-landing-s09 details[open] .ch-chevron{transform:rotate(180deg)}
.jp-reformer .hc-landing-s16 summary{cursor:pointer;list-style:none;min-height:56px}
.jp-reformer summary::-webkit-details-marker{display:none}
.jp-reformer .hc-landing-s16 details:not([open])>.faq-answer{display:none}
.jp-reformer .hc-landing-s16 details[open]>.faq-answer{display:block;max-height:none;height:auto;opacity:1;visibility:visible}
.jp-reformer .hc-landing-s16 details[open] .chevron{transform:rotate(180deg)}
.jp-reformer summary:focus-visible,.jp-reformer a:focus-visible{outline:3px solid #2da892;outline-offset:3px}
.jp-reformer video{max-width:100%;background:#17251e}
.jp-reformer .jp-reformer-reviews{padding:64px 24px;background:#f8f5ed;color:#14322a}
.jp-reformer-reviews>div{max-width:1100px;margin:auto}
.jp-reformer-reviews h2{text-align:center;margin:8px 0 20px;font-size:28px}
.jp-reformer-reviews .kicker{text-align:center;font-size:13px}
.jp-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.jp-review-grid blockquote{margin:0;padding:24px;background:#fff;border:1px solid #e3e7df;border-radius:12px;font-size:15px}
.jp-review-grid cite{font-size:13px;color:#617267;font-style:normal}
.jp-reformer-end{text-align:center;padding:32px 20px 48px;background:#14322a;color:#fff}
.jp-reformer-end a{display:inline-flex;min-height:48px;padding:10px 28px;align-items:center;border-radius:8px;background:#fff;color:#14322a;text-decoration:none}
@media(max-width:767px){
 .jp-reformer .jp-review-grid{grid-template-columns:1fr}
 .jp-reformer .hc-nav-bar ul{justify-content:flex-start;gap:22px}
 .jp-reformer .hc-landing-s09{padding-inline:16px}
 .jp-reformer .hc-landing-s09 .chapter-header{padding:16px 12px}
 .jp-reformer .hc-landing-s09 .chapter-left{gap:8px}
 .jp-reformer .hc-landing-s09 .ch-title{font-size:14px}
 .jp-reformer .hc-landing-s09 .lesson-count{font-size:11px}
 .jp-reformer .hc-landing-s09 .lesson-row{flex-wrap:wrap}
 .jp-reformer .hc-landing-s09 .lesson-title{flex:1 1 55%}
 .jp-reformer .hc-landing-s09 .lesson-icon{display:none}
 .jp-reformer .hc-landing-s09 .lesson-no{min-width:32px}
 .jp-reformer .hc-landing-s01 .course-card{padding:20px}
 .jp-reformer .pt16-s02 .pain-quote{font-size:18px;line-height:1.7}
 .jp-reformer .pt16-s07 .body{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.jp-reformer *{animation:none!important;transition:none!important}}
/* Japanese copy must remain fully visible; FIT's compact Korean hero used line clamps. */
.jp-reformer .hc-landing-s01 .card-title{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible}
.jp-reformer .hc-landing-s01 .card-sub{max-height:none;white-space:normal;overflow:visible}
.jp-reformer .feature-list li>span{min-width:0}
.jp-reformer .hc-landing-s03r .rfc-head,.jp-reformer .hc-landing-s03a .rfa-head{font-size:clamp(24px,3.5vw,38px);line-height:1.55}

/* Keep each closing thought on its own line at every breakpoint. */
.jp-reformer .pt16-closing .jp-phrase { display: block; }

/* Preserve FIT geometry; Japanese copy may grow the row, never detach its edges. */
@media(min-width:1280px){
.jp-reformer .hc-landing-s01 .thumb-wrap{align-self:stretch}
.jp-reformer .hc-landing-s01 .course-card{padding:20px 24px}
.jp-reformer .hc-landing-s01 .card-sub{font-size:13px;line-height:1.6;margin:0 0 10px}
}
.jp-reformer .hc-landing-s03r .rfc-old{background:#E9EDEB;border-color:#AAB8B0}
.jp-reformer .hc-landing-s03r .rfc-old .rfc-hd,.jp-reformer .hc-landing-s03r .rfc-old .rfc-en{color:#47564E}
.jp-reformer .hc-landing-s03r .rfc-old .rfc-rows li{color:#47564E;border-color:#C4CDC7;background:#fff}
.jp-reformer .hc-landing-s03r .rfc-old .rfc-sum{background:#CFD8D2;color:#354A3E}
.jp-reformer .pt16-s04 .section-title{font-size:clamp(24px,3.4vw,34px);line-height:1.4}
.jp-coach-meaning{display:inline-block}
.jp-reformer .tcd-rv-wrap{font-family:inherit}
.jp-reformer .tcd-rv-wrap[data-theme=dark]{width:100%;left:0;margin-left:0}
.jp-review-source{max-width:1160px;margin:24px auto 0;font-size:12px;color:#b4b4b4}
.jp-video-fallback{display:block;margin:8px auto;padding:6px 12px;border:1px solid #7b9288;border-radius:6px;background:#fff;color:#14322a;font:inherit;font-size:12px}
.jp-video-fallback[hidden]{display:none}
.jp-course-landing .tcd-rv-load-more-wrap[hidden]{display:none}
