/* 碧推薦学院 帰国生入試特化コース  kikoku.css
   site.css（逆転専門コースと共通）の上に、このコースだけの部品を足す。
   色・書体・角丸・影はすべて site.css のトークンを使う。 */

/* ヘッダーのコース名：SPは2行に折る（10文字あるため） */
.hd__course i{font-style:normal}
@media (max-width:767px){
  .hd__course{font-size:12.5px;white-space:normal;line-height:1.3}
  .hd__course i{display:block}
}

/* 判断待ちの印（公開前に消す） */
.pend{display:inline-block;background:var(--navy);color:#fff;font-size:.85em;font-weight:700;padding:1px 8px;border-radius:4px;letter-spacing:.04em}

/* 募集要項・告知文の引用。左線は使わず、地色と鉤括弧で示す */
.q{background:var(--rose-bg);border-radius:10px;padding:14px 16px 12px;margin:12px 0 0}
.sec--bg .q{background:var(--blue-bg)}
.st2 .q,.why__row .q,.rs .q{background:var(--rose-bg)}
.q p{font-size:13.5px;line-height:1.85;color:var(--navy);font-weight:700}
.q p::before{content:"「"}
.q p::after{content:"」"}
.q cite{display:block;font-style:normal;font-size:11.5px;color:var(--text-2);margin-top:6px;line-height:1.6}

/* 点つきリスト */
.fl{display:grid;gap:6px;margin-top:10px}
.fl li{padding-left:1.1em;position:relative;font-size:13.5px;line-height:1.8;color:var(--text)}
.fl li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--rose-2)}
.fl b{color:var(--navy)}

/* 左寄せの表（大学名を並べる用）。横にあふれる分は表の中でスクロール */
.tblx{overflow-x:auto;max-width:860px;margin-inline:auto}
.cmp--l td{text-align:left;padding:10px 12px;line-height:1.75}
.cmp--l tbody th{width:auto;min-width:6.5em;padding:10px 10px}
.cmp--l thead th{padding:10px 10px}
.cmp--l td b{color:var(--navy)}
.cmp--mini{margin-top:0;font-size:12px}
.cmp--mini td,.cmp--mini th{padding:8px 6px}
.cmp--mini tbody th{width:auto;text-align:left;font-size:11.5px}
.cmp--mini td small{display:block;font-size:10.5px;color:var(--text-2);font-weight:400}
.num{font-variant-numeric:tabular-nums}
.cap{font-size:11.5px;color:var(--text-2);line-height:1.7;margin-top:8px}
.cap--c{text-align:center}

/* セクション内の小見出し */
.h3--sp{margin:44px 0 14px;text-align:center}
.block{max-width:860px;margin-inline:auto}
.block+.block{margin-top:40px}

/* 海外にいるうちにしか動けないこと：時間の帯 */
.tl{display:grid;gap:10px;align-items:stretch}
@media (min-width:768px){.tl{grid-template-columns:1.7fr auto 1fr;gap:0}}
.tl__zone{background:#fff;border-radius:12px;padding:20px 18px 18px;box-shadow:0 4px 18px rgba(46,74,94,.08)}
.tl__zone--a{border:2px solid var(--rose-2)}
.tl__h{display:inline-block;background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;padding:4px 14px;border-radius:999px;margin-bottom:12px}
.tl__zone--a .tl__h{background:var(--rose)}
.tl__items{display:grid;gap:10px}
@media (min-width:768px){.tl__items--3{grid-template-columns:repeat(3,1fr);gap:12px}}
.tl__it{background:var(--rose-bg);border-radius:10px;padding:14px 12px 12px}
.tl__it .ic{width:30px;height:30px;stroke:var(--rose);margin-bottom:6px}
.tl__it h4{font-size:15px;font-weight:700;color:var(--navy);line-height:1.5;margin-bottom:4px}
.tl__it p{font-size:12.5px;line-height:1.75;color:var(--text)}
.tl__gate{display:grid;place-items:center;padding:2px 0}
.tl__gate span{display:grid;justify-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--rose);letter-spacing:.2em;padding-left:.2em}
.tl__gate span::after{content:"";width:10px;height:10px;border-right:3px solid var(--rose);border-bottom:3px solid var(--rose);transform:rotate(45deg);margin-top:-4px}
@media (min-width:768px){.tl__gate{padding:0 18px}.tl__gate span::after{transform:rotate(-45deg);margin:0 0 0 -6px}}

/* 塾の2分類＋碧の位置 */
.pos{margin-top:22px;background:var(--navy);color:#fff;border-radius:12px;padding:24px 20px;text-align:center}
@media (min-width:768px){.pos{padding:32px 48px}}
.pos__t{font-size:19px;font-weight:700;line-height:1.6}
@media (min-width:768px){.pos__t{font-size:24px}}
.pos__t .hl{color:#fff;background:linear-gradient(transparent 60%,rgba(111,179,155,.9) 60%)}
.pos__d{font-size:12.5px;line-height:1.85;margin-top:10px;color:rgba(255,255,255,.88);max-width:720px;margin-inline:auto}

/* 強みの詳細（番号ラベル＋本文） */
.sg{background:#fff;border-radius:12px;padding:26px 20px 24px;box-shadow:0 4px 18px rgba(46,74,94,.08);position:relative}
@media (min-width:768px){.sg{padding:34px 36px 30px}}
.sg+.sg{margin-top:26px}
.sg__no{position:absolute;left:18px;top:-12px;background:var(--rose-2);color:#fff;font-weight:700;font-size:12px;padding:4px 14px;border-radius:999px;letter-spacing:.14em}
.sg__t{font-size:20px;font-weight:700;color:var(--navy);line-height:1.5;margin-bottom:10px}
@media (min-width:768px){.sg__t{font-size:23px}}
.sg__t b{color:var(--rose)}
.sg p{font-size:14px;line-height:1.9;color:var(--text)}
.sg p+p{margin-top:10px}
.sg .cmp{margin-top:14px}
.sg__say{margin-top:16px;background:var(--rose-bg);border-radius:10px;padding:16px 18px;font-size:14.5px;font-weight:700;color:var(--navy);line-height:1.85}

/* 月の目盛りの図 */
.calfig{background:#fff;border-radius:12px;padding:14px 14px 10px;box-shadow:0 4px 18px rgba(46,74,94,.08);max-width:640px;margin:22px auto 0}

/* 入り方の3枚：タイトルの下に大学名の小さな札 */
.tag{display:inline-block;font-size:11px;font-weight:700;background:var(--blue-bg);border-radius:999px;padding:2px 10px;color:var(--navy);margin:8px 6px 0 0;line-height:1.6}

/* 料金（決定前） */
.price td.y .pend{font-size:12px}

@media (max-width:767px){
  .sg__t{font-size:18px}
  .tl__zone{padding:18px 14px 14px}
  .cmp--l td{padding:9px 8px}
  .cmp--l tbody th{min-width:5.2em;padding:9px 6px}
}

/* 図：横棒（数字は本文と同じ大きさで読めるようにHTMLで組む） */
.bars{font-variant-numeric:tabular-nums;padding:6px 4px 2px}
.bars__t{font-size:15px;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.5}
.bars__row{display:grid;grid-template-columns:4.6em minmax(0,1fr);gap:10px;align-items:center}
.bars__row+.bars__row{margin-top:10px}
.bars__l{font-size:13px;font-weight:700;color:var(--text)}
.bars__track{display:flex;align-items:center;gap:10px;min-width:0}
.bars__track i{display:block;height:38px;border-radius:6px;background:#BFE0D2;flex:0 0 auto}
.bars__row--on .bars__track i{background:var(--navy)}
.bars__v{font-size:17px;font-weight:700;color:var(--navy);white-space:nowrap}
.bars__d{font-size:13.5px;font-weight:700;color:var(--rose);margin:10px 0 0 calc(4.6em + 10px)}
.bars .cap{margin-top:10px}

/* 図：月の目盛り（12月から9月まで10か月） */
.cal{font-variant-numeric:tabular-nums}
.cal__row{display:grid;grid-template-columns:4.2em minmax(0,1fr);gap:8px;align-items:center}
.cal__row+.cal__row{margin-top:8px}
.cal__l{font-size:13px;font-weight:700;color:var(--text)}
.cal__lane{position:relative;height:38px;background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 5.556% 0/10% 100% repeat-x}
.cal__lane i{position:absolute;left:5%;top:0;bottom:0;border-radius:6px;background:#BFE0D2;display:flex;align-items:center;padding-left:10px;font-style:normal;font-size:14px;font-weight:700;color:var(--navy);white-space:nowrap}
.cal__ticks{display:grid;grid-template-columns:repeat(10,1fr);font-size:11px;color:var(--text-2);text-align:center;margin-top:4px}
@media (max-width:420px){.cal__ticks{font-size:9.5px}}

/* FV：窓辺で向かい合う2人の写真。PCでは見出しを2人の間（中央）に置く */
@media (min-width:768px){.fv--mid .fv__copy{right:auto;left:50%;transform:translateX(-50%);justify-items:center;top:48px;width:max-content}}
@media (min-width:768px) and (max-width:979px){.fv--mid .fv__copy{top:28px}}

/* v2：メリットを伝える部品 */
.st2 .hw__w{background:var(--rose-bg)}
.sec--bg .st2 .hw__w{background:var(--blue-bg)}
.why__row .ex{margin-top:0;border:0;background:var(--rose-bg)}
.bars--wide .bars__row{grid-template-columns:7.8em minmax(0,1fr)}
.bars--wide .bars__l{font-size:12.5px;line-height:1.4}
.bars--wide .bars__l small{display:block;font-size:10.5px;font-weight:400;color:var(--text-2)}
.bars--wide .bars__track i{min-width:6px}
.bars--wide .bars__d{margin-left:calc(7.8em + 10px)}
@media (max-width:767px){.bars__v{font-size:15px}}
.str__sum .hl{display:inline}
@media (max-width:359px){.bars__v{font-size:13px}.bars__row,.bars__track{gap:6px}.bars--wide .bars__row{grid-template-columns:7.2em minmax(0,1fr)}}

/* ===== v3：1ページ化（逆転専門コース v11 の部品に乗せる） ===== */

/* 出願資格：ケースごとに1枚。文字は大きく、1枚に1つのことだけ */
.cqs{display:grid;gap:18px;max-width:820px;margin-inline:auto}
.cq{background:#fff;border-radius:14px;box-shadow:0 4px 18px rgba(46,74,94,.10);padding:22px 18px 24px;display:grid;gap:12px}
@media (min-width:768px){.cq{padding:30px 34px 32px;gap:14px}}
.cq__q{background:var(--blue-bg);border-radius:12px;padding:14px 16px;font-size:15.5px;font-weight:700;color:var(--navy);line-height:1.7}
@media (min-width:768px){.cq__q{font-size:17px;padding:16px 22px}}
.cq__n{display:block;width:fit-content;background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em;padding:2px 12px;border-radius:999px;margin-bottom:6px}
.cq__a{font-size:19px;font-weight:700;color:var(--rose);line-height:1.55;padding-left:28px;position:relative}
@media (min-width:768px){.cq__a{font-size:22px;padding-left:34px}}
.cq__a::before{content:"";position:absolute;left:4px;top:.5em;width:12px;height:12px;border-right:3px solid var(--rose);border-bottom:3px solid var(--rose);transform:rotate(-45deg)}
.cq__d{font-size:14.5px;line-height:1.95;color:var(--text)}
@media (min-width:768px){.cq__d{font-size:15.5px}}

/* 開いて見る一覧 */
.more{max-width:860px;margin:26px auto 0}
.more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:12px 22px;border:1.5px solid var(--rose);border-radius:999px;color:var(--rose);font-weight:700;font-size:14.5px;background:#fff;max-width:480px;margin-inline:auto;letter-spacing:.04em}
.more>summary::-webkit-details-marker{display:none}
.more>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.more[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.more__body{padding-top:22px;display:grid;gap:26px}
.more__h{font-size:15.5px;font-weight:700;color:var(--navy);margin-bottom:4px}
.more__p{font-size:14.5px;line-height:1.9;color:var(--text)}

/* 帰国生のための対策：つまずき → 対策 */
.mts{display:grid;gap:18px;max-width:940px;margin-inline:auto}
.mt{display:grid;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(46,74,94,.10);background:#fff}
@media (min-width:768px){.mt{grid-template-columns:.78fr 1.22fr}}
.mt__from{background:var(--blue-bg);padding:20px 18px 26px;position:relative}
@media (min-width:768px){.mt__from{padding:26px 34px 26px 26px}}
.mt__from::after{content:"";position:absolute;left:50%;bottom:-11px;margin-left:-12px;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid var(--blue-bg);z-index:1}
@media (min-width:768px){.mt__from::after{left:auto;right:-11px;top:50%;bottom:auto;margin:-12px 0 0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:12px solid var(--blue-bg);border-right:0}}
.mt__to{padding:26px 18px 24px}
@media (min-width:768px){.mt__to{padding:26px 30px 28px 38px}}
.mt__k{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.12em;padding:3px 12px;border-radius:999px;background:#fff;color:var(--text-2);margin-bottom:10px}
.mt__k--on{background:var(--rose-2);color:#fff}
.mt__from p{font-size:15px;font-weight:700;color:var(--navy);line-height:1.8}
.mt__to h3{font-size:19px;font-weight:700;color:var(--navy);line-height:1.5;margin-bottom:8px}
@media (min-width:768px){.mt__to h3{font-size:22px}}
.mt__to h3 b{color:var(--rose)}
.mt__to p{font-size:14.5px;line-height:1.95;color:var(--text)}
@media (min-width:768px){.mt__to p{font-size:15px}}
.mts__ex{max-width:940px;margin:22px auto 0;background:var(--rose-bg);border:0}
.mts__ex ul li{font-size:15px}
.sec--bg .calfig,.sec--bg .tl__zone{background:#fff}

/* 帰国生の対策：小見出し・強みカード */
.mth{text-align:center;font-size:20px;font-weight:700;color:var(--navy);line-height:1.5;margin:44px auto 20px;max-width:940px}
@media (min-width:768px){.mth{font-size:25px;margin:60px auto 26px}}
.sts{display:grid;gap:18px;max-width:940px;margin-inline:auto}
@media (min-width:900px){.sts{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px}}
.stc{background:#fff;border-radius:14px;box-shadow:0 4px 18px rgba(46,74,94,.10);padding:22px 18px 18px;display:flex;flex-direction:column;gap:10px}
@media (min-width:768px){.stc{padding:26px 24px 22px}}
.stc__k{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.12em;padding:3px 12px;border-radius:999px;background:var(--navy);color:#fff}
.stc__t{font-size:19px;font-weight:700;color:var(--rose);line-height:1.5}
@media (min-width:768px){.stc__t{font-size:20px}}
.stc__d{font-size:14.5px;line-height:1.95;color:var(--text);flex:1}
.stc__use{margin-top:6px;background:var(--rose-bg);border-radius:12px;padding:12px 14px 13px;display:grid;gap:2px}
.stc__use small{font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--text-2)}
.stc__use b{font-size:16px;font-weight:700;color:var(--navy);line-height:1.55}
.mtb{max-width:820px;margin:30px auto 0;text-align:center;font-size:16px;font-weight:700;color:var(--navy);line-height:1.8}
@media (min-width:768px){.mtb{font-size:18px;margin-top:40px}}
@media (max-width:767px){.stats .stat__l{font-size:11.5px;line-height:1.5}}

/* v4 FV：12文字の大箱を幅に収める */
.fv h1.fv__copy{margin:0;font-size:inherit;font-weight:inherit}
.fv__line--big{font-size:min(26px,6vw);letter-spacing:.03em;padding:11px 14px}
@media (min-width:768px){.fv__line--big{font-size:min(46px,4.6vw);letter-spacing:.05em;padding:17px 26px}}
.fv__sub i{font-style:normal;font-weight:400;color:var(--rose-2);margin:0 .15em}
@media (max-width:359px){
  .fv__tag{font-size:10.5px;padding:5px 10px;letter-spacing:.02em}
  .fv__copy{gap:6px;bottom:58px}
  .fv__line{font-size:17px;padding:8px 11px}
  .fv__line--big{padding:9px 11px}
  .btn-g{font-size:15px;padding:12px 52px 12px 14px;gap:6px;letter-spacing:.03em;min-height:64px}
  .fv__sub{font-size:11px}
}
/* SP：顔がコピーの箱に隠れないよう、写真を少し大きくして上へ寄せる */
@media (max-width:767px){
  .fv__stage{aspect-ratio:375/400}
  .fv__photo img{position:absolute;left:0;bottom:0;width:100%;height:116%;object-fit:cover;object-position:50% 100%}
}
@media (min-width:768px){.fv__line:not(.fv__line--big){font-size:min(36px,3.3vw)}}

/* v5：FV直後の「3つの強み」 */
.feat{background:linear-gradient(135deg,#EEF6F1 0%,#E6EEF6 100%)}
.feat__pos{margin:0 auto 22px;max-width:860px}
@media (min-width:768px){.feat__pos{margin-bottom:34px}}
.feat__pos .pos__t{font-size:19px;line-height:1.6}
@media (min-width:768px){.feat__pos .pos__t{font-size:26px}}
.feat__pts .pt{display:flex;flex-direction:column}
.feat__pts .pt__in{display:flex;flex-direction:column;flex:1;padding:0 18px 22px}
.feat__pts .pt__body{padding:22px 0 0}
@media (min-width:768px){.feat__pts .pt__body{padding-top:26px}}
.pt__d{font-size:14px;line-height:1.9;color:var(--text);margin-top:12px;text-align:left;flex:1}
.pt__more{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;min-height:46px;border:1.5px solid var(--rose);border-radius:999px;color:var(--rose);font-size:13.5px;font-weight:700;text-decoration:none;letter-spacing:.04em}
.pt__more::after{content:"";width:7px;height:7px;border-right:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(45deg);margin-top:-4px}
.pt__more:hover{background:var(--rose-bg)}
@media (min-width:768px) and (max-width:1023px){.gnav a{padding:6px 7px 10px;font-size:10.5px;letter-spacing:0}}
.feat .stat{background:#fff;box-shadow:0 2px 10px rgba(46,74,94,.06)}
