/* 日本版: 白 × 紺 × 朱赤 のライトテーマ(../styles.css の黒い配色を上書き) */
html:has(body.jp){background:#fff}
body.jp{--bg:#ffffff;--bg2:#f3f5f9;--card:#ffffff;--card2:#eef2f8;--a:#d4302b;--b:#12306b;--ink:#0d1b3a;--mut:#5a6783;--line:rgba(13,27,58,.15)}
.jp ::selection{background:#d4302b;color:#fff}
/* ヘッダー */
.jp .util{background:#12306b}.jp .util a{color:#fff}.jp .util a:hover{color:#ffd9d6}
.jp .hd{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
.jp .brand{color:var(--ink)}.jp .brand small{color:var(--a)}
.jp .nav a{color:#34425f}.jp .nav a:hover,.jp .nav a.on{color:var(--ink)}
.jp .burger span{background:var(--ink)}
/* ボタン */
.jp .btn{background:linear-gradient(135deg,#e5413a,#b81f1a);color:#fff}
.jp .btn-sm{color:#fff}
.jp .btn-ghost{background:none;color:var(--b);box-shadow:inset 0 0 0 1.5px var(--b)}
.jp .eyebrow{background:var(--a);color:#fff}
/* ヒーロー・ページ見出し */
.jp .hero{background:radial-gradient(900px 600px at 82% 35%,rgba(212,48,43,.09),transparent 60%),repeating-linear-gradient(115deg,transparent 0 46px,rgba(18,48,107,.045) 46px 47px),#fff}
.jp .hero::after{background:var(--bg2)}
.jp h1{color:var(--b)}.jp h1 .o{-webkit-text-stroke:2px var(--a);color:transparent}
.jp .lead{color:#34425f}
.jp .hero-img{box-shadow:0 0 0 1px var(--line),0 24px 50px rgba(13,27,58,.18)}
.jp .hero-img::after{background:linear-gradient(135deg,rgba(212,48,43,.14),transparent 45%,rgba(13,27,58,.28))}
.jp .pagehead{background:radial-gradient(800px 320px at 85% 20%,rgba(212,48,43,.1),transparent 65%),repeating-linear-gradient(115deg,transparent 0 46px,rgba(18,48,107,.045) 46px 47px),#fff;border-bottom:1px solid var(--line)}
.jp .pagehead h1{color:var(--b)}
/* 見出し・本文 */
.jp .h2 span{-webkit-text-stroke:1px rgba(18,48,107,.32)}
.jp .h2 b{color:var(--ink)}
.jp .intro{color:var(--ink)}
.jp .about,.jp .col p,.jp .cards p,.jp .evt p,.jp .sup span,.jp .pts li{color:#34425f}
.jp .cards li,.jp .col,.jp .sup li,.jp .evt article,.jp .venues li,.jp .snsgrid a{box-shadow:inset 0 0 0 1px var(--line),0 6px 16px rgba(13,27,58,.05)}
.jp .col{background:#fff;border-top:3px solid var(--a)}
.jp .cards b{color:var(--a)}
.jp .venues li{border-left:3px solid var(--b)}
.jp .snsgrid a:hover{background:var(--card2)}
.jp .facts li,.jp .jpfacts li{background:rgba(212,48,43,.06);box-shadow:inset 0 0 0 1px rgba(212,48,43,.28);color:var(--ink)}
.jp .note{color:var(--mut)}
.jp .tbd-note{background:rgba(13,27,58,.04);border-color:rgba(13,27,58,.28)}
.jp .tbd{color:var(--mut)}
.jp .h3{color:var(--a)}
/* 入会の流れ(濃い紺の帯) */
.jp .flow{background:linear-gradient(135deg,#12306b,#0a1c44 80%)}
.jp .flow .h2 b{color:#fff}.jp .flow .h2 span{-webkit-text-stroke:1px rgba(255,255,255,.5)}
.jp .steps li{background:rgba(255,255,255,.08)}.jp .steps b{color:#ff8a82}.jp .steps h3{color:#fff}.jp .steps p{color:#d8e2f7}
.jp .flow .note{color:#c4d0ea}.jp .flow .tbd-note{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35);color:#c4d0ea}
/* スポンサー帯・ロゴ */
.jp .strip{background:var(--bg2);border-block:1px solid var(--line)}
.jp .strip p{color:var(--a)}
.jp .track li,.jp .logos li{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.jp .jpl li.txt{background:#eef2f8;color:#0d1b3a}
.jp .logos.all li:hover{outline:2px solid var(--a)}
.jp .ouen li{background:#fff;color:var(--ink)}
/* 表 */
.jp .timetable tbody th{color:var(--ink)}.jp .timetable thead th{color:var(--a)}.jp .timetable tbody tr:hover{background:rgba(13,27,58,.04)}
/* お知らせ */
.jp .topics a{box-shadow:0 0 0 1px var(--line),0 8px 18px rgba(13,27,58,.07)}
.jp .th em{-webkit-text-stroke:1.5px #fff}
.jp .t-a{background:linear-gradient(135deg,#12306b,#0a1c44)}.jp .t-b{background:linear-gradient(135deg,#d4302b,#8f1a16)}.jp .t-c{background:linear-gradient(135deg,#0a1c44,#12306b)}.jp .t-d{background:linear-gradient(135deg,#34425f,#12306b)}
/* 右の固定ボタン・フッター */
.jp .side a{background:var(--a);color:#fff}.jp .side a+a{background:var(--b);color:#fff}
.jp .ft{background:#0d1b3a;color:#b9c4dc}.jp .fsns a{color:#e8eefc}.jp .fsns a:hover{color:#ffb4ae}
/* スタッフ */
.jp .flip{background:#e9edf5;box-shadow:0 0 0 1px var(--line),0 8px 18px rgba(13,27,58,.12)}
.jp .flip:hover{box-shadow:0 0 0 2px var(--a),0 16px 30px rgba(13,27,58,.25)}
.jp .flip::after{background:var(--a);color:#fff}
.jp .dir .name small,.jp .dir .role{color:var(--a)}
.jp .who em{color:var(--mut)}
.jp .info div{border-color:var(--line)}.jp .info dt{color:var(--a)}
@media(max-width:900px){.jp .nav{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.jp .nav a{border-bottom:1px solid var(--line)}}

/* 2校のつながり(ライト) */
.jp .tl-b p,.jp .ryo p,.jp .ryo .pts li{color:#34425f}.jp .ryo,.jp .bridge .sch,.jp .linkcards li{background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 6px 16px rgba(13,27,58,.05)}
.jp .tl-y{color:var(--a)}.jp .timeline li::before{background:var(--b)}.jp .media a{color:var(--a)}
.jp .chk{background:#fff0c2;color:#7a5200}

/* トップ: 黒 × 朱赤の斜め切り替え(境目はグラデーションでなじませる) */
body.jp .hero{background:
  repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.035) 46px 47px),
  linear-gradient(115deg,#11141b 0%,#171a22 46%,#6e1512 58%,#b81f1a 72%,#d4302b 100%)}
.jp .hero h1,.jp .hero .lead{color:#fff}
.jp .hero .lead small{color:#d8deee}
.jp .hero h1 .o{-webkit-text-stroke-color:#fff}
.jp .hero .eyebrow{background:#d4302b;color:#fff}
.jp .hero .hero-img{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 24px 50px rgba(0,0,0,.45)}
.jp .hero .hero-img::after{background:linear-gradient(135deg,rgba(212,48,43,.12),transparent 45%,rgba(0,0,0,.3))}
@media(max-width:640px){body.jp .hero{background:linear-gradient(160deg,#11141b 0%,#171a22 50%,#6e1512 70%,#c42a25 100%)}}

/* 日本版: アカデミーについて(大久保さん中心) */
.jp .fnd::before{background:linear-gradient(115deg,rgba(212,48,43,.12),rgba(212,48,43,0) 70%)}
.jp .fnd-ph::before{border-color:var(--b)}
.jp .fnd-ph em{color:#ffb4af}.jp .fnd-ph small{color:#e3e9f7}.jp .fnd-ph b{color:#fff}
.jp .fnd-k{color:var(--a)}.jp .fnd-q{color:var(--b);border-left-color:var(--a)}
.jp .fnd-bio{color:var(--mut)}
.jp .fnd .pts li{color:var(--ink)}

/* バンコク校の活動報告・お知らせ(日本版の配色) */
.jp .rp p{color:var(--ink)}.jp .rp time{color:var(--a)}.jp .rp{border-bottom-color:var(--line)}
.jp .rp-f figcaption{color:var(--mut)}
.jp .oldnews summary{color:var(--a);box-shadow:inset 0 0 0 1.5px var(--a)}
.jp .coachsoon{background:var(--bg2);color:var(--mut)}
