/* 帰国生入試特化コース v3（2026-10-03 図解版）
   色と書体は車さんの site.css のトークン（--navy / --rose / --rose-2 / --cta / Noto Sans JP）をそのまま使う。
   1 流体の寸法（clamp）  2 見出しと言い切りの段  3 図（推移・面積・帯・判定・暦・経路）
   4 カードと薄い箱を減らす  5 ヘッダーのコース名をロゴの書体に  6 狭い幅の並び替え
   ブレークポイントは内容が崩れる幅で切る: 600（2列の小物）/ 900（本文と図の2列）/ 1100（広い組み） */

:root{
  --gut:clamp(16px,4.2vw,40px);
  --sec-y:clamp(60px,9vw,120px);
  --fs-body:clamp(15px,.35vw + 13.7px,16px);
  --fs-h2:clamp(24px,1.9vw + 17px,38px);
  --fs-h3:clamp(18px,.7vw + 15.4px,22px);
  --fs-say:clamp(20px,1.5vw + 14.5px,30px);
  --hair:rgba(31,75,69,.18);
  --logo-ink:#00371C;      /* ロゴの色（logoyoko_green.png の実測 0,53,27 前後） */
  --ok:var(--rose);
  --ng:#B8470F;            /* site.css の --cta-dark と同じ値。判定図の「出せない」側 */
}

/* ---------- 1 流体の寸法 ---------- */
body{font-size:var(--fs-body)}
.wrap{max-width:calc(1080px + var(--gut) * 2);padding-inline:var(--gut)}
@media (min-width:1120px){.wrap{padding-inline:var(--gut)}}
.sec{padding:var(--sec-y) 0}
@media (min-width:768px){.sec{padding:var(--sec-y) 0}}

/* ---------- 2 見出し：グラデーションの帯と上の飾り線をやめ、左に揃える ---------- */
.ttl{text-align:left;font-size:var(--fs-h2);line-height:1.42;letter-spacing:.05em;padding-top:0;margin-bottom:clamp(14px,1.6vw,22px);color:var(--navy)}
@media (min-width:768px){.ttl{font-size:var(--fs-h2);letter-spacing:.05em;margin-bottom:clamp(14px,1.6vw,22px)}}
.ttl::before{display:none}
.ttl em{display:inline;background:none;color:var(--rose);padding:0;border-radius:0;letter-spacing:inherit}
.lead{text-align:left;font-size:var(--fs-body);max-width:34em;margin:0 0 clamp(32px,4.4vw,56px);color:var(--text-2)}
@media (min-width:768px){.lead{font-size:var(--fs-body);margin-bottom:clamp(32px,4.4vw,56px)}}
/* 広い画面は 見出し（左5列）とリード（右7列）を横に並べ、本文は12列の全幅 */
@media (min-width:1100px){
  .sec>.wrap:has(> .ttl + .lead){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  .sec>.wrap:has(> .ttl + .lead)>*{grid-column:1/-1}
  .sec>.wrap:has(> .ttl + .lead)>.ttl{grid-column:1/7;align-self:end;margin-bottom:clamp(32px,4.4vw,56px)}
  .sec>.wrap:has(> .ttl + .lead)>.lead{grid-column:7/13;align-self:end}
}
.mth{text-align:left;font-size:var(--fs-h3);margin:clamp(48px,6vw,80px) 0 clamp(18px,2vw,26px);max-width:none}
@media (min-width:768px){.mth{font-size:var(--fs-h3);margin:clamp(48px,6vw,80px) 0 clamp(18px,2vw,26px)}}
.hl{background:none;color:var(--rose);font-weight:800}

/* 言い切り：中央寄せの太字の箱をやめ、細い罫線の下に左揃えで置く */
.say{position:relative;margin:clamp(44px,6vw,80px) 0 0;padding-top:clamp(18px,2.2vw,28px);border-top:1px solid var(--hair);text-align:left;color:var(--navy);font-size:var(--fs-say);font-weight:500;line-height:1.6;letter-spacing:.03em}
.say .hl{display:inline;color:var(--rose);font-weight:800}
.say__t{font-size:var(--fs-say);font-weight:500;line-height:1.6;color:var(--navy);max-width:26em}
.say__d{font-size:var(--fs-body);line-height:1.95;color:var(--text-2);margin-top:14px;max-width:34em;font-weight:400;letter-spacing:.02em}
.say--sm{max-width:30em}
.say br{display:none}
.sec--dark .say{color:#fff;border-top-color:rgba(255,255,255,.3)}
.sec--dark .say .hl{color:#BFE6D3}

/* 見せ場：「帰国生のために」を大きく。背景に世界の点の図 */
.say--hero{margin:clamp(8px,2vw,20px) 0 clamp(48px,6vw,88px);padding:clamp(56px,9vw,128px) 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow:hidden;isolation:isolate}
.say--hero .dotmap{position:absolute;z-index:-1;right:-6%;top:50%;width:min(780px,110%);height:auto;transform:translateY(-50%);fill:none;stroke:var(--rose-2);stroke-width:6;stroke-linecap:round;opacity:.32}
.say--hero .say__t{max-width:none;line-height:1.3}
.say__s{display:block;font-size:clamp(17px,1.1vw + 13px,25px);font-weight:500;letter-spacing:.06em;color:var(--navy)}
.say__k{display:block;font-size:clamp(46px,7.4vw,104px);font-weight:900;line-height:1.12;letter-spacing:.02em;color:var(--rose);margin:.08em 0 .14em -.04em}
@media (min-width:900px){.say--hero{padding-left:8.333%}}

/* 言い切り＋図を横に */
.say--split{display:grid;gap:clamp(28px,4vw,56px)}
.say--split .say__t{max-width:22em}
@media (min-width:900px){.say--split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}}

/* ---------- 3 図の共通（主役1色＝--navy と濃淡。強調は1図に1か所。線は1〜1.5px。数字は細身の Murecho） ---------- */
:root{--num:"Murecho",var(--font);--tint:rgba(31,75,69,.12);--tint2:rgba(31,75,69,.32);--line1:rgba(31,75,69,.55)}
.fig{margin:0;color:var(--text)}
.fig__t{font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.06em;line-height:1.6;margin-bottom:clamp(18px,2.4vw,28px)}
.fig__t small{display:block;font-size:12px;font-weight:400;color:var(--text-2);letter-spacing:.02em}
.fig__src{font-size:11.5px;line-height:1.7;color:var(--text-2);margin-top:16px;max-width:46em;letter-spacing:.01em}
.fig__src--c{margin-top:20px}
.why__fig{background:none;border-radius:0;padding:0}
.num{font-family:var(--num);font-weight:200;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em;line-height:1}

/* 3-1 推移：薄い棒4本と、最新年だけ濃い棒。数値は棒の上に直書き、基線は1本 */
.trend__plot{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,1.6vw,18px);align-items:end;height:clamp(200px,24vw,260px);border-bottom:1px solid var(--line1)}
.trend__col{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0;position:relative}
.trend__col i{display:block;height:calc(var(--v) / 822 * (100% - 56px));background:var(--tint);border-radius:2px 2px 0 0}
.trend__col--on i{background:var(--navy)}
.trend__col--na i{height:30%;background:none;border:1px dashed var(--line1);border-bottom:0}
.trend__v{display:block;text-align:center;font-family:var(--num);font-weight:200;font-size:clamp(20px,1.6vw + 12px,30px);line-height:1;color:var(--navy);margin-bottom:8px;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.trend__v small{font-family:var(--font);font-size:max(11px,.42em);font-weight:500;margin-left:.12em;letter-spacing:0}
.trend__col--on .trend__v{font-weight:300;font-size:clamp(28px,2.4vw + 16px,44px)}
.trend__col--na .trend__v{font-family:var(--font);font-size:12px;font-weight:500;color:var(--text-2);line-height:1.4;letter-spacing:.04em}
.trend__l{position:absolute;left:0;right:0;top:100%;text-align:center;font-size:12px;color:var(--text-2);padding-top:10px;line-height:1.3;white-space:nowrap}
.trend__d{margin-top:48px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.trend__d b{font-size:15px;color:var(--navy);font-weight:700}
.trend__d span{font-size:12px;color:var(--text-2)}
@media (max-width:420px){.trend__l{font-size:11px;letter-spacing:-.03em}.trend__col--na .trend__v{font-size:11px}}

/* 3-2 面積で比べる：薄い大きな正方形の隅に、濃い小さな正方形1つ */
.sq{display:grid;gap:clamp(18px,2.4vw,28px);align-items:end}
@media (min-width:600px){.sq{grid-template-columns:auto minmax(0,1fr)}}
@media (min-width:900px) and (max-width:1099px){.sq{grid-template-columns:1fr}}
.sq__big{position:relative;width:clamp(160px,16vw,220px);aspect-ratio:1;background:var(--tint)}
/* 一辺は √(545 ÷ 126,766) ＝ 6.557% */
.sq__small{position:absolute;left:0;bottom:0;width:6.557%;aspect-ratio:1;background:var(--navy)}
.sq__key{display:grid;gap:18px}
.sq__row{display:grid;gap:4px;line-height:1.4;padding-top:10px;border-top:1px solid var(--line1)}
.sq__row i{display:none}
.sq__row b{font-family:var(--num);font-weight:200;font-size:clamp(30px,2vw + 20px,44px);color:var(--navy);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em;line-height:1}
.sq__row--s b{font-weight:300}
.sq__row b small{font-family:var(--font);font-size:max(11px,.36em);font-weight:500;margin-left:.12em;letter-spacing:0}
.sq__row span{font-size:12.5px;color:var(--text-2);white-space:nowrap}
.sq__row--s span::before{content:"";display:inline-block;width:8px;height:8px;background:var(--navy);margin-right:6px;vertical-align:1px}
.sq__row:not(.sq__row--s) span::before{content:"";display:inline-block;width:8px;height:8px;background:var(--tint2);margin-right:6px;vertical-align:1px}
.sq .fig__src{grid-column:1/-1;margin-top:0}

/* 3-3 100%の帯：総合型と学校推薦型を濃淡2段、残りは薄く。53.6% は細い括りの上に */
.band__sum{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.band__sum b{font-family:var(--num);font-weight:200;font-size:clamp(48px,3.6vw + 32px,76px);line-height:1;color:var(--navy);letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums}
.band__sum b small{font-family:var(--font);font-size:max(11px,.3em);font-weight:500;margin-left:.06em;letter-spacing:0}
.band__sum span{font-size:13px;font-weight:700;color:var(--navy)}
.band__bar{display:flex;height:clamp(14px,1.6vw,20px);overflow:visible;border-radius:0;background:var(--tint);position:relative}
.band__a{background:var(--navy)}
.band__b{background:var(--tint2)}
.band__c{flex:1;background:var(--tint)}
.band__bar::before{content:"";position:absolute;left:0;width:53.6%;top:-8px;height:5px;border:1px solid var(--line1);border-bottom:0}
.band__key{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:12.5px;color:var(--text)}
.band__key li{display:inline-flex;align-items:baseline;gap:6px}
.band__key i{width:8px;height:8px;background:var(--tint);flex:0 0 auto;align-self:center}
.band__ka i{background:var(--navy)}.band__kb i{background:var(--tint2)}
.band__key b{font-family:var(--num);font-weight:300;font-size:15px;font-variant-numeric:tabular-nums;color:var(--navy);margin-left:2px}

/* 3-4 判定：1本の縦線と点と文字。はい・いいえは小さな文字の札だけ */
.judge{list-style:none;margin:0;padding:0;position:relative}
.judge__q{position:relative;padding:0 0 clamp(36px,4.4vw,56px) clamp(32px,4vw,52px)}
.judge__q::before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:1px;background:var(--line1)}
.judge__q::after{content:"";position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;background:var(--bg-sec,#fff);border:1px solid var(--navy)}
.judge__no{font-family:var(--num);font-weight:300;font-size:13px;letter-spacing:.14em;color:var(--navy);line-height:1.4}
.judge__no small{font-family:var(--font);font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--text-2);margin-left:12px}
.judge__h{font-size:var(--fs-h3);font-weight:700;line-height:1.5;color:var(--navy);margin:6px 0 18px}
.judge__a{display:grid;gap:14px}
@media (min-width:768px){.judge__a{grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}}
.judge__opt{display:block;padding:10px 0 0;border-top:1px solid var(--line1)}
.judge__opt--no{border-top-color:var(--line1)}
.judge__tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--navy);background:none;padding:0;margin-bottom:4px}
.judge__opt--no .judge__tag{background:none;color:var(--text-2)}
.judge__opt p{font-size:14.5px;line-height:1.85;color:var(--text)}
.judge__end{position:relative;padding:0 0 0 clamp(32px,4vw,52px)}
.judge__end::after{content:"";position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:50%;background:var(--navy)}
.judge__end p{font-size:14.5px;line-height:1.85;color:var(--text-2);max-width:42em}
.judge__end b{display:block;font-size:var(--fs-h3);color:var(--rose);line-height:1.5;margin-bottom:4px}

/* 3-5 海外にいるあいだ → 帰国 → 帰国後：1本の線の上の点。帰国の位置に飛行機 */
.tl{display:grid;gap:0;align-items:start;position:relative}
@media (min-width:900px){.tl{grid-template-columns:minmax(0,3fr) auto minmax(0,2fr)}}
.tl__zone,.tl__zone--a,.sec--bg .tl__zone{background:none;border:0;border-radius:0;box-shadow:none;padding:0;color:inherit}
.tl__h,.tl__zone--a .tl__h{display:block;background:none;padding:0;border-radius:0;font-size:12.5px;font-weight:700;letter-spacing:.14em;margin-bottom:14px;color:var(--navy)}
.tl__zone:not(.tl__zone--a) .tl__h{color:var(--text-2)}
.tl__items,.tl__items--3{display:grid;gap:0}
.tl__it{background:none;border-radius:0;padding:0 0 26px 28px;position:relative}
.tl__it::before{content:"";position:absolute;left:4px;top:8px;bottom:-8px;width:1.5px;background:var(--navy)}
.tl__it::after{content:"";position:absolute;left:0;top:4px;width:10px;height:10px;border-radius:50%;background:var(--navy)}
.tl__zone:not(.tl__zone--a) .tl__it::before{background:var(--tint2)}
.tl__zone:not(.tl__zone--a) .tl__it::after{background:var(--bg-sec,#fff);border:1.5px solid var(--navy);width:7px;height:7px}
.tl__zone:not(.tl__zone--a) .tl__it:last-child::before{display:none}
.tl__it .ic{display:none}
.tl__it h4{font-size:16px;color:var(--navy);margin-bottom:4px}
.tl__it p{font-size:13.5px;line-height:1.8;color:var(--text)}
.tl__gate{display:flex;align-items:center;gap:10px;background:none;padding:0 0 26px 0;position:relative}
.tl__gate::before{content:"";position:absolute;left:4px;top:-8px;bottom:0;width:1.5px;background:linear-gradient(var(--navy),var(--tint2))}
.tl__gate .ic{width:22px;height:22px;stroke:var(--rose);background:var(--bg-sec,#fff);position:relative;margin-left:-6px;transform:rotate(90deg)}
.tl__gate span{display:inline;color:var(--rose);font-size:13px;font-weight:700;letter-spacing:.3em;padding:0}
.tl__gate span::after{display:none}
@media (min-width:600px){
  .tl__items--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tl__zone--a .tl__it{padding:26px 18px 0 0}
  .tl__zone--a .tl__it::before{left:0;right:0;top:4px;bottom:auto;width:auto;height:1.5px}
  .tl__zone--a .tl__it::after{top:0;left:0}
}
@media (min-width:900px){
  .tl__h{min-height:1.6em}
  .tl__zone:not(.tl__zone--a) .tl__items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl__zone:not(.tl__zone--a) .tl__it{padding:26px 18px 0 0}
  .tl__zone:not(.tl__zone--a) .tl__it::before{display:block;left:0;right:0;top:4px;bottom:auto;width:auto;height:1.5px}
  .tl__zone:not(.tl__zone--a) .tl__it:last-child::before{display:block;right:30%}
  .tl__zone:not(.tl__zone--a) .tl__it::after{top:0;left:0}
  .tl__gate{flex-direction:column;gap:6px;padding:calc(1.6em + 14px - 12px) 18px 0;align-self:start}
  .tl__gate::before{left:0;right:0;top:calc(1.6em + 14px + 4px);bottom:auto;width:auto;height:1.5px;background:linear-gradient(90deg,var(--navy),var(--tint2))}
  .tl__gate .ic{margin:0;transform:none}
  .tl__gate span{letter-spacing:.3em}
}
.sec--bg{--bg-sec:var(--rose-bg)}
.sec--blue{--bg-sec:var(--blue-bg)}

/* 3-6 入学までの月数：月の目盛りの上に、卒業の点から入学の点まで細い線 */
.cal{margin:0 0 clamp(36px,4.4vw,56px)}
.cal__grid{display:grid;gap:0}
.cal__head,.cal__row{display:grid;grid-template-columns:clamp(68px,9vw,108px) repeat(11,minmax(0,1fr));align-items:center;position:relative}
.cal__head{padding-bottom:6px}
.cal__head span{font-family:var(--num);font-weight:300;font-size:12px;color:var(--text-2);text-align:left;padding-left:3px;border-left:1px solid var(--line);line-height:1.3;white-space:nowrap}
.cal__head span.cal__rl{border-left:0}
.cal__y small{display:block;font-family:var(--font);font-size:11px}
.cal__row{min-height:clamp(64px,6vw,76px);border-top:1px solid var(--line)}
.cal__row:last-child{border-bottom:1px solid var(--line)}
.cal__rl{grid-column:1;font-size:13px;font-weight:700;color:var(--navy);line-height:1.35}
.cal__bar{grid-column:var(--s) / var(--e);grid-row:1;height:1.5px;background:var(--navy);position:relative;align-self:center;margin-left:calc(100% / var(--n) / 2)}
.cal__bar::before,.cal__bar::after{content:"";position:absolute;top:50%;width:9px;height:9px;border-radius:50%;margin-top:-4.5px;background:var(--navy)}
.cal__bar::before{left:-4px;background:var(--bg-sec,#fff);border:1.5px solid var(--navy);width:6px;height:6px;margin-top:-4.5px}
.cal__bar::after{right:-4.5px}
.cal__bar b{position:absolute;right:0;bottom:8px;font-family:var(--num);font-weight:200;font-size:clamp(22px,1.4vw + 15px,32px);line-height:1;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em}
.cal__bar b small{font-family:var(--font);font-size:max(11px,.4em);font-weight:500;margin-left:.1em;letter-spacing:0}
.cal__row--gap .cal__bar b{font-weight:300}
.cal__act{grid-column:var(--s) / var(--e);grid-row:1;align-self:center;height:7px;background:var(--rose);position:relative;z-index:1;font-size:0;margin:0;border-radius:0}
.cal__act::after{content:"4月から8月：活動（要項で義務）";position:absolute;left:0;top:100%;margin-top:6px;font-size:11px;font-weight:700;color:var(--rose);white-space:nowrap}
.cal__pt,.cal__in{grid-row:1;position:relative;z-index:3;font-size:11px;font-weight:500;line-height:1;align-self:center;margin-top:24px;white-space:nowrap;color:var(--text-2)}
.cal__pt{grid-column:var(--c);justify-self:center}
.cal__in{grid-column:var(--c);justify-self:start;margin-left:-.6em;color:var(--navy);font-weight:700}
@media (max-width:599px){
  .cal__head span:not(.cal__rl){font-size:0;border-left-color:transparent}
  .cal__head span:nth-child(2),.cal__head span:nth-child(3),.cal__head span:nth-child(7),.cal__head span:nth-child(12){font-size:11px;border-left-color:var(--line)}
  .cal__y small{display:none}
  .cal__act::after{left:auto;right:0}
  .cal__rl{font-size:12px}
}

/* 3-7 4つのSTAGE：1本の線の上の点。海外にいるあいだは濃い線、帰国後は薄い線 */
.phase{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.1em;line-height:1.4;margin:0 0 18px;color:var(--navy)}
.phase .ic{width:18px;height:18px;stroke:currentColor}
.phase--b{color:var(--rose);margin-top:8px}
.stages{display:grid}
.phase--a{order:0}.stage:nth-of-type(1){order:1}.stage:nth-of-type(2){order:2}.stage:nth-of-type(3){order:3}.phase--b{order:4}.stage--b{order:5}
.stage{background:none;box-shadow:none;border-radius:0;padding:0 0 28px 40px}
.stage__body{background:none;box-shadow:none;border-radius:0;padding:0}
.stage__no{left:0;top:0;width:30px;height:30px;font-family:var(--num);font-weight:300;font-size:15px;background:var(--navy)}
.stage__no small{display:none}
.stage::before{left:14.5px;top:30px;width:1.5px;background:var(--navy);opacity:1}
.stage--b::before{display:none}
.stage:nth-of-type(3)::before{background:var(--tint2)}
.stage--b .stage__no{background:var(--bg-sec,#fff);color:var(--navy);border:1.5px solid var(--navy)}
.stage__when{background:none;padding:0;border-radius:0;font-size:12px;color:var(--text-2);letter-spacing:.06em;margin:2px 0 6px}
.stage__t{font-size:var(--fs-h3)}
.stage__list li{font-size:14px}
@media (min-width:900px){
  .stages{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(18px,2.4vw,32px);row-gap:0}
  .phase--a{grid-column:1/4;grid-row:1}
  .phase--b{grid-column:4;grid-row:1;margin-top:0}
  .stage{grid-row:2;padding:48px 0 0}
  .stage:nth-of-type(1){grid-column:1}.stage:nth-of-type(2){grid-column:2}.stage:nth-of-type(3){grid-column:3}.stage--b{grid-column:4}
  .stage__no{left:0;top:0;margin-left:0}
  .stage::before{left:30px;right:auto;top:14.5px;bottom:auto;width:calc(100% - 30px + clamp(18px,2.4vw,32px));height:1.5px}
  .stage__when{display:block;margin:0 0 6px}
  .stage__t{text-align:left;font-size:var(--fs-h3)}
}

/* ---------- 4 カードと薄い箱を減らす ---------- */
/* 事実・理由の行：白いカードと影をやめ、罫線1本で区切る */
.why{gap:0}
.why__row{background:none;box-shadow:none;border-radius:0;padding:clamp(28px,3.6vw,44px) 0;border-top:1px solid var(--hair);gap:clamp(20px,3vw,48px)}
.why__row:first-child{border-top:0;padding-top:0}
@media (min-width:768px){.why__row{padding:clamp(28px,3.6vw,44px) 0}}
@media (min-width:900px){.why__row{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}}
@media (min-width:768px) and (max-width:899px){.why__row{grid-template-columns:1fr}}
.why__k{background:none;color:var(--rose);padding:0;border-radius:0;font-size:13px;letter-spacing:.14em;margin-bottom:8px}
.why__t{font-size:var(--fs-h3)}
.why__text p:not(.why__k){font-size:var(--fs-body)}
.ex,.why__row .ex{background:none;border:0;border-radius:0;padding:0;margin-top:0}
.ex__h{font-size:13.5px;color:var(--navy)}
.ex ul li{font-size:14.5px;border-bottom-color:var(--hair)}
.ex ul li:first-child{border-top:1px solid var(--hair)}
.cmp--mini{font-size:13px}
.cmp--mini tbody th{font-size:12.5px}
.cmp thead th{background:none;color:var(--navy);border:0;border-bottom:2px solid var(--navy);text-align:left;padding-left:8px}
.cmp th,.cmp td{border:0;border-bottom:1px solid var(--line)}
.cmp tbody th{background:none}
.cmp{border-radius:0;background:transparent}

/* 引用：薄い箱をやめ、大きな「“」で示す */
.q,.sec--bg .q,.why__row .q{background:none;border-radius:0;padding:0 0 0 2.2em;position:relative;margin:18px 0 0}
.q::before{content:"\201C";position:absolute;left:0;top:-.18em;font-size:40px;line-height:1;color:var(--rose-2);font-weight:700}
.q p{font-size:15px}
.q p::before,.q p::after{content:none}
.block{max-width:none}

/* 帰国生の強み：箱をやめて「強み → 使い道」の流れに */
.sts{max-width:none;gap:0}
@media (min-width:900px){.sts{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px)}}
.stc{background:none;box-shadow:none;border-radius:0;padding:20px 0 24px;border-top:1px solid var(--hair);gap:10px}
@media (min-width:768px){.stc{padding:22px 0 0}}
.stc__k{background:none;color:var(--rose);padding:0;border-radius:0;font-size:13px;letter-spacing:.14em}
.stc__t{color:var(--navy);font-size:var(--fs-h3)}
@media (min-width:768px){.stc__t{font-size:var(--fs-h3)}}
.stc__d{font-size:14.5px}
.stc__use{background:none;border-radius:0;padding:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.stc__use::before{content:"";width:22px;height:22px;flex:0 0 auto;background:var(--rose);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.stc__use small{font-size:12px}
.stc__use b{font-size:16px;color:var(--rose);flex-basis:100%;padding-left:32px;margin-top:-6px}
/* つまずき → 対策：横に並べた2段。カードと影をやめる */
.mts{max-width:none;gap:0}
.mt{background:none;box-shadow:none;border-radius:0;border-top:1px solid var(--hair);padding:clamp(22px,3vw,34px) 0}
.mt:last-child{border-bottom:1px solid var(--hair)}
@media (min-width:900px){.mt{grid-template-columns:minmax(0,1fr) 36px minmax(0,1.6fr);column-gap:clamp(16px,2.4vw,32px);align-items:start}}
.mt__from{background:none;padding:0}
.mt__from::after{display:none}
@media (min-width:900px){.mt::before{content:"";grid-column:2;grid-row:1;width:28px;height:28px;margin-top:28px;background:var(--rose-2);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
  .mt__from{grid-column:1;grid-row:1}.mt__to{grid-column:3;grid-row:1}}
.mt__to{padding:14px 0 0}
@media (min-width:900px){.mt__to{padding:0}}
.mt__k{background:none;padding:0;border-radius:0;font-size:12.5px;color:var(--text-2);margin-bottom:6px}
.mt__k--on{background:none;color:var(--rose)}
.mt__from p{font-size:15px;font-weight:500;color:var(--text)}
.mt__to h3{font-size:var(--fs-h3)}

/* 塾の出発点：濃い地の節。碧推薦学院の側だけ白く浮かせる */
.sec--dark{background:var(--navy);color:#fff}
.sec--dark .ttl,.sec--dark .ttl em{color:#fff}
.sec--dark .ttl em{color:#BFE6D3}
.sec--dark .lead{color:rgba(255,255,255,.82)}
.vs{gap:0;margin-top:0;align-items:stretch}
@media (min-width:768px){.vs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0}}
.vs__col{border:0;border-radius:var(--ph-r,12px);padding:clamp(20px,2.6vw,32px);background:transparent;border:1px solid rgba(255,255,255,.3)}
.vs__col .vs__h{color:#fff;font-size:16px}
.vs__col .vs__b{color:rgba(255,255,255,.82);font-size:14.5px}
.vs__col--on{background:#fff;border-color:#fff}
.vs__col--on .vs__h{color:var(--rose)}
.vs__col--on .vs__b{color:var(--text)}
.vs__mid{color:rgba(255,255,255,.7);padding:10px 18px;font-size:13px}

/* しないこと：2つを箱にせず大きなアイコンと罫線で */
.reasons{gap:0}
@media (min-width:600px){.reasons{grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px)}}
.rs{background:none;box-shadow:none;border-radius:0;padding:20px 0;border-top:1px solid var(--hair);display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px}
.rs .ic{width:40px;height:40px;grid-row:1/3;margin:0}
.rs h4{font-size:var(--fs-h3)}
.rs p{font-size:14.5px}
@media (max-width:767px){.reasons{grid-template-columns:1fr}.rs{padding:18px 0}.rs .ic{width:36px;height:36px}}

/* 受講の方法：外側の白い箱をやめる */
.school{background:none;box-shadow:none;border-radius:0;padding:0;max-width:none;border-top:1px solid var(--hair);padding-top:clamp(28px,3.6vw,44px)}
@media (min-width:768px){.school{padding:clamp(28px,3.6vw,44px) 0 0}}
.school__grid{gap:clamp(18px,3vw,40px)}
@media (min-width:768px) and (max-width:899px){.school__grid{grid-template-columns:1fr}}
.school dd{font-size:14.5px}
.duo{max-width:none;gap:clamp(24px,4vw,56px)}
@media (min-width:768px){.duo{grid-template-columns:minmax(0,5fr) minmax(0,7fr);max-width:none}}
.duo__text{font-size:var(--fs-body)}

/* 相談でお話しすること：3枚のカードの影をやめる */
.flows{gap:clamp(24px,3vw,32px)}
.flow{background:none;box-shadow:none;border-radius:0;overflow:visible;padding-bottom:0}
.flow__photo{border-radius:var(--ph-r,12px);overflow:visible}
.flow__photo img{border-radius:var(--ph-r,12px)}
.flow__t{padding:28px 0 0;font-size:17px}
.flow__d{padding:8px 0 0;font-size:14.5px}
.flow__lead{text-align:left;font-size:var(--fs-h3);margin:clamp(40px,5vw,64px) 0 18px}
.flow__lead::before,.flow__lead::after{display:none}
.wor{border:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);border-radius:0;background:none}

/* 3つの強み：同じ大きさのカード3枚をやめ、写真と文を左右交互の段に */
.feat{background:#fff}
.points{gap:0}
@media (min-width:768px){.points{grid-template-columns:1fr;gap:0}}
.pt{background:none;box-shadow:none;border-radius:0;overflow:visible;border-top:1px solid var(--hair);padding:clamp(28px,4vw,48px) 0}
.pt:last-child{border-bottom:1px solid var(--hair)}
.feat__pts .pt:first-child{border-top:0;padding-top:0}
.pt__head{height:auto;aspect-ratio:670/240;border-radius:var(--ph-r,12px);overflow:hidden;background:var(--rose-bg)}
@media (min-width:768px){.pt__head{height:auto}}
.pt__head span{left:auto;right:auto;top:auto;bottom:12px;left:12px;background:#fff;color:var(--navy);font-size:12px;letter-spacing:.16em;padding:4px 12px;border-radius:4px}
.feat__pts .pt__in{padding:0}
.feat__pts .pt__body{padding:20px 0 0;text-align:left}
.pt__body{text-align:left}
.ic--pt{display:inline-block;width:28px;height:28px;margin:0 8px 0 0;vertical-align:-6px}
.pt__body b{font-size:clamp(22px,1.6vw + 16px,32px);color:var(--navy)}
@media (min-width:1120px){.pt__body b{font-size:clamp(22px,1.6vw + 16px,32px)}}
.pt__d{font-size:var(--fs-body);max-width:34em}
.pt__more{display:inline-flex;align-self:flex-start;padding:0 24px;min-width:15em}
@media (min-width:900px){
  .feat__pts .pt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,5vw,72px);align-items:center}
  .feat__pts .pt:nth-child(even) .pt__head{order:2}
  .feat__pts .pt__body{padding-top:0}
}
/* 強み03：事務の流れ（アイコンと矢印） */
.ops{list-style:none;margin:18px 0 4px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
@media (min-width:600px){.ops{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}}
.ops li{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--navy);line-height:1.45;position:relative;padding-right:18px}
.ops .ic{width:28px;height:28px;stroke:var(--rose)}
@media (min-width:600px){.ops li:not(:last-child)::after{content:"";position:absolute;right:6px;top:10px;width:7px;height:7px;border-right:2px solid var(--rose-2);border-top:2px solid var(--rose-2);transform:rotate(45deg)}}

/* 入学時期のスマホのカード・表：影と帯をやめる */
.c3{box-shadow:none;border:0;border-top:2px solid var(--navy);border-radius:0;background:transparent}
.c3__h{background:none;color:var(--navy);text-align:left;padding:10px 0 0;font-size:18px}
.c3 dl{padding:4px 0 8px;column-gap:0}
.c3 dd{padding-left:12px}
.cmp3{box-shadow:none;border:0;border-radius:0;background:transparent}
.cmp3 thead th,.cmp3 thead th:first-child{background:none;color:var(--navy);border-bottom:2px solid var(--navy);text-align:left}
.cmp3 tbody th{background:none}
.cmp3 td+td{border-left:0}
.cmp3 tbody tr:last-child th,.cmp3 tbody tr:last-child td{border-bottom:1px solid var(--line)}

.note{text-align:left}
.block .more__p{text-align:left}
/* 背景の地：薄い色の節を減らし、濃い地を1つ入れてリズムをつける */
#method,#eligibility,#entry,#style,#promise{background:#fff}

/* ---------- 5 ヘッダー：1段・低く。ロゴとコース名／文字だけのナビ／申込ボタン ---------- */
:root{--hd-h:clamp(60px,3vw + 46px,72px)}
/* 固定ヘッダーの高さ分だけ節の先頭をずらす（site.css の scroll-padding と二重にならないよう片方に） */
html{scroll-padding-top:0}
main>section{scroll-margin-top:var(--hd-h)}
.site-header{box-shadow:0 1px 0 var(--line)}
.hd__in{align-items:center;min-height:var(--hd-h);gap:clamp(10px,2vw,28px)}
@media (min-width:768px){.hd__in{min-height:var(--hd-h)}}
.hd__brand{gap:clamp(8px,1.2vw,14px);padding:0;flex:0 1 auto}
.hd__brand img{height:clamp(16px,1.1vw + 13px,26px)}
@media (min-width:768px){.hd__brand img{height:clamp(16px,1.1vw + 13px,26px)}}
.hd__course{font-family:"Murecho",var(--font);font-weight:300;color:var(--logo-ink);font-size:clamp(11px,.42vw + 9.6px,14px);letter-spacing:.2em;line-height:1.3;white-space:nowrap;padding-left:clamp(8px,1.2vw,14px)}
@media (min-width:768px){.hd__course{font-size:clamp(11px,.42vw + 9.6px,14px)}}
.hd__course i{display:block;font-style:normal}
.hd__course small,.hd__faq{display:none}
@media (min-width:768px){.hd__course small,.hd__faq{display:none}}
.hd__course::before{height:calc(100% - 2px);top:1px;margin-top:0;background:var(--logo-ink);opacity:.3}
/* ナビ：アイコンなし・5項目・1100px以上で出す */
.hd .gnav{display:none;margin-left:auto}
.hd .gnav ul{display:flex;gap:clamp(14px,1.6vw,26px)}
.hd .gnav a{display:block;padding:6px 0;border:0;font-size:13.5px;font-weight:500;color:var(--navy);letter-spacing:.04em;white-space:nowrap;position:relative}
.hd .gnav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.hd .gnav a:hover::after,.hd .gnav a[aria-current="page"]::after{transform:scaleX(1)}
@media (min-width:1100px){.hd .gnav{display:block}}
.hd__right{align-items:center;gap:6px;margin-left:auto}
@media (min-width:1100px){.hd__right{margin-left:0}}
/* 申込ボタン：ほかの申込ボタンと同じ丸い形・同じ色。端に貼り付けない */
.hd .hd__cta{display:inline-flex;align-items:center;gap:0;min-height:40px;padding:0 16px;margin:0;border-radius:999px;background:linear-gradient(180deg,#FF7A33,var(--cta));box-shadow:0 3px 0 var(--cta-dark);color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;text-decoration:none;white-space:nowrap;line-height:1}
.hd .hd__cta::after{display:none}
.hd .hd__cta em{font-style:normal;color:#FFF4C2;font-size:1em}
.hd__cta-pre,.hd__cta-suf{display:none}
@media (min-width:768px){
  .hd .hd__cta{display:inline-flex;min-height:44px;padding:0 22px;font-size:14px;margin-right:0}
  .hd__cta-pre,.hd__cta-suf{display:inline}
  .hd__cta-pre{margin-right:.4em}
}
@media (min-width:1120px){.hd .hd__cta{margin-right:0}}
.burger{width:40px;align-self:center;height:40px}
@media (min-width:768px){.burger{display:grid}}
@media (min-width:1100px){.burger{display:none}}
.gnav:not(.hd .gnav){display:none}

/* ---------- 6 狭い幅・中間の幅の並び替え ---------- */
@media (max-width:374px){.hd__course{letter-spacing:.12em}}
/* 表は狭い幅で横に流さず、行ごとに縦へ */
@media (max-width:599px){
  .cmp--mini thead{display:none}
  .cmp--mini tr{display:block;padding:10px 0;border-bottom:1px solid var(--line)}
  .cmp--mini tbody th,.cmp--mini td{display:block;border:0;padding:2px 0;text-align:left}
}
/* FV の3点：600px以上は2列、1024px以上は3列 */
@media (min-width:600px) and (max-width:767px){.fv__points{grid-template-columns:1fr 1fr;max-width:none}.fv__points li:last-child{grid-column:1/-1;justify-content:center}}
/* 予約欄の埋め込みは幅に合わせる */
.jicoo-widget{max-width:100%}
