/* 日本版の追加スタイル(ベースは ../styles.css) */
.jp .pts{display:block;list-style:none;margin:6px 0 10px;padding:0}.jp .pts li{font-size:14px;line-height:1.8;padding-left:16px;position:relative;color:#dbe6ff}
.jp .pts li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;background:var(--a);clip-path:polygon(0 0,100% 50%,0 100%)}
.jpcols .age{color:var(--a);font-weight:700;font-size:13px;margin:0 0 8px;letter-spacing:.04em}
.jpcols{grid-template-columns:repeat(4,1fr)}
.jpfacts{flex-direction:column;gap:10px}.jpfacts li{display:block;font-weight:500;font-size:14.5px;line-height:1.7}.jpfacts b{display:inline-block;color:var(--a);margin-right:12px;min-width:7em;letter-spacing:.04em}
.sup{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.sup li{background:var(--card);padding:0 0 20px;display:flex;flex-direction:column;gap:2px;box-shadow:inset 0 0 0 1px var(--line);border-top:4px solid var(--a)}
.sup b{font-size:20px;font-weight:900}.sup span{color:#dbe6ff;font-weight:700}.sup em{font-style:normal;color:var(--mut);font-size:13px}
/* スタッフ */
.dir{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:40px;align-items:center}
.flip{display:block;width:100%;padding:0;border:0;background:#0a1530;cursor:pointer;aspect-ratio:1078/1519;position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);box-shadow:0 0 0 1px var(--line);transition:transform .25s,box-shadow .25s;font:inherit;color:inherit;text-align:left}
.flip:hover{transform:translateY(-4px);box-shadow:0 0 0 2px var(--a),0 16px 30px rgba(0,0,0,.5)}
.flip:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.f-front{display:block;width:100%;height:100%}.f-front img{width:100%;height:100%;object-fit:cover;display:block}
.f-back{display:none}
.flip::after{content:"プロフィール";position:absolute;right:8px;bottom:8px;background:var(--a);color:#04060d;font-size:11px;font-weight:900;padding:3px 10px;letter-spacing:.08em;opacity:.95}
.jpstaff{grid-template-columns:repeat(4,1fr)}
.jpstaff li{aspect-ratio:auto;overflow:visible;background:none;clip-path:none;box-shadow:none;transition:none;display:block}
.jpstaff li:hover{transform:none;box-shadow:none}
.jpstaff .cardph{aspect-ratio:1078/1519;height:auto;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);box-shadow:0 0 0 1px var(--line)}
.who{margin:10px 2px 0;display:flex;flex-direction:column;gap:2px}.who b{font-size:16px}.who em{font-style:normal;font-size:12.5px;color:var(--mut);line-height:1.5}
.dir .name{font-size:34px;font-weight:900;margin:2px 0 8px}.dir .name small{display:block;font-size:13px;letter-spacing:.2em;color:var(--a);margin-top:2px}
.dir .role{margin:0;color:var(--a);font-weight:900;font-size:13px;letter-spacing:.2em}
/* プロフィールのポップアップ */
#pmodal{position:fixed;inset:0;z-index:60;background:rgba(2,4,10,.82);display:none;align-items:center;justify-content:center;padding:18px}
#pmodal.on{display:flex}
#pmodal .box{position:relative;max-width:560px;width:100%;max-height:88vh;overflow:auto;background:#0a2a6e;padding:14px;box-shadow:0 30px 80px rgba(0,0,0,.6);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}
#pmodal .paper{background:#fff;color:#0b1326;padding:22px 24px 26px}
#pmodal h3{margin:0;font-size:26px;text-align:center;line-height:1.3}#pmodal h3 small{display:block;font-size:13px;letter-spacing:.12em;font-weight:500;color:#44516d;margin-top:2px}
#pmodal dl{margin:16px 0 8px;display:grid;grid-template-columns:5.5em 1fr;gap:6px 12px;font-size:14px}#pmodal dt{font-weight:700;color:#0a2a6e}#pmodal dd{margin:0}
#pmodal ul{margin:10px 0 0;padding:0 0 0 1.2em;font-size:14px;line-height:1.8}#pmodal p{margin:12px 0 0;font-size:14.5px;line-height:1.85}
#pmodal .close{position:absolute;right:10px;top:8px;z-index:2;background:var(--a);color:#04060d;border:0;width:36px;height:36px;font-size:20px;font-weight:900;cursor:pointer}
/* 会場・活動・スポンサー・SNS */
.jpven{grid-template-columns:repeat(3,1fr)}.jpven li{display:flex;flex-direction:column;gap:6px}.jpven a{color:var(--a);font-weight:700;font-size:13px;text-decoration:none}.jpven span{font-size:12.5px}
.evt{display:grid;grid-template-columns:1fr 1fr;gap:18px}.evt article{background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}.evt img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.evt h3{margin:14px 18px 4px;font-size:18px}.evt p{margin:0 18px 18px;font-size:13.5px;color:#cdd9f5;line-height:1.8}
.wide{width:100%;max-width:760px;display:block;margin-top:18px}
.jpl{grid-template-columns:repeat(6,1fr)}.jpl li.txt{background:#10182c;color:#dbe6ff;text-align:center;font-weight:700;font-size:12px;line-height:1.4}.jpl li.txt span{display:block;padding:0 4px}
.ouen{list-style:none;padding:0;margin:0;display:flex;gap:10px 14px;flex-wrap:wrap}.ouen li{background:var(--card);padding:8px 16px;box-shadow:inset 0 0 0 1px var(--line);font-weight:700}
.jpsns{grid-template-columns:repeat(4,1fr)}
.jp .logos.all li{height:84px}
.jp .logos.all img{max-height:60px;max-width:100%;object-fit:contain}
@media(max-width:1000px){.jpcols{grid-template-columns:1fr 1fr}.sup{grid-template-columns:1fr}.dir{grid-template-columns:1fr}.jpstaff{grid-template-columns:repeat(3,1fr)}.jpven{grid-template-columns:1fr 1fr}.evt{grid-template-columns:1fr}.jpl{grid-template-columns:repeat(4,1fr)}.jpsns{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.jpcols{grid-template-columns:1fr}.jpstaff{grid-template-columns:1fr 1fr;gap:10px}.jpven{grid-template-columns:1fr}.jpl{grid-template-columns:repeat(3,1fr)}.jpsns{grid-template-columns:1fr}.dir{gap:16px}.dir .flip{max-width:240px}.dir .name{font-size:24px}.jpfacts b{display:block}.who b{font-size:14px}.who em{font-size:11.5px}.flip::after{font-size:10px;padding:2px 7px}#pmodal .paper{padding:18px 16px 22px}#pmodal h3{font-size:22px}}

.staffnote{margin:34px 0 0}
.dir{margin-bottom:6px}

.jp .logos.all li a{display:grid;place-items:center;width:100%;height:100%;text-decoration:none;color:inherit}
.jp .jpl li.txt a span{display:block;padding:0 4px}

.sup img{width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:top;display:block;margin-bottom:14px}
.sup b,.sup span,.sup em{padding:0 20px}
.sup .supt{padding:12px 20px 0;font-size:13.5px;line-height:1.85}.sup .supt p{margin:0 0 .6em;color:#34425f}
@media(max-width:640px){.sup img{aspect-ratio:4/3.6}.sup b,.sup span,.sup em{padding:0 16px}.sup .supt{padding:10px 16px 0}}

/* ---- 2026 追記: 日本版の調整 ---- */
.jpstaff.mini{grid-template-columns:repeat(6,1fr);gap:12px;margin-top:22px}
.jpstaff.mini .who b{font-size:13px}.jpstaff.mini .who em{font-size:11px}.jpstaff.mini .flip::after{font-size:9.5px;padding:2px 6px;right:5px;bottom:5px}
.jpstaff.all{grid-template-columns:repeat(5,1fr);gap:14px}
.jpstaff.all .who b{font-size:14px}.jpstaff.all .who em{font-size:11.5px}
.dir .flip{max-width:300px}
.supnote{display:none}
.nc h3 a{color:#0d1b3a}
@media(max-width:1000px){.jpstaff.mini{grid-template-columns:repeat(4,1fr)}.jpstaff.all{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){
  .jpstaff.mini{grid-template-columns:repeat(4,1fr);gap:6px}
  .jpstaff.mini .who b{font-size:10.5px}.jpstaff.mini .who em{display:none}.jpstaff.mini .flip::after{display:none}
  .jpstaff.all{grid-template-columns:repeat(3,1fr);gap:8px}.jpstaff.all .who b{font-size:11.5px}.jpstaff.all .who em{font-size:10px}.jpstaff.all .flip::after{display:none}
  .sup{grid-template-columns:repeat(3,1fr)!important;gap:8px}
  .sup li{padding-bottom:10px;cursor:pointer}.sup img{aspect-ratio:3/4;margin-bottom:8px}
  .sup b{font-size:12px;padding:0 6px!important;line-height:1.35}.sup span{font-size:9.5px;padding:0 6px!important;line-height:1.4}.sup em,.sup .supt{display:none}
  .supnote{display:block;margin-top:14px}
}

/* 携帯: コースのカードをコンパクトに */
@media(max-width:640px){
  .jpcols{gap:8px}
  .jpcols .col{padding:12px 14px 13px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:3px;align-items:baseline}
  .jpcols .col h3{font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:16px;letter-spacing:.02em;margin:0;text-transform:none;white-space:nowrap}
  .jpcols .col .age{grid-column:2;margin:0;font-size:11.5px;line-height:1.4;letter-spacing:0}
  .jpcols .col p:last-child{grid-column:1/-1;font-size:12px;line-height:1.7;margin-top:2px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

/* つながりの2校ボックス: 集合写真の背景 */
.jp .bridge .sch.ph1{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(8,20,48,.35),rgba(8,20,48,.88)),var(--bg-img) center/cover;color:#fff;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:none}
.jp .bridge .sch.ph1 em{color:#fff}.jp .bridge .sch.ph1 span{color:#e6edff}.jp .bridge .sch.ph1 b{color:#fff}
@media(max-width:640px){
  .jp .bridge{gap:6px;margin:14px 0}
  .jp .bridge .sch.ph1{min-height:128px;padding:12px 14px}
  .jp .bridge .sch em{font-size:20px}.jp .bridge .sch b{font-size:14px;margin:2px 0 3px}.jp .bridge .sch span{font-size:11.5px;line-height:1.55}
  .jp .bridge .join .ar{width:34px;height:16px;margin:0}
  .jp .linkcards{gap:6px;margin:4px 0 16px}.jp .linkcards li{padding:9px 12px;display:grid;grid-template-columns:62px 1fr;column-gap:10px;align-items:baseline}
  .jp .linkcards time{font-size:12px;margin:0}.jp .linkcards b{font-size:13px;margin:0}.jp .linkcards span{grid-column:2;font-size:11.5px;line-height:1.55}
}

/* サポーター: パソコンでは小さく、お知らせのようにコンパクトに */
@media(min-width:641px){
  .supnote{display:block;margin:6px 0 0}
  .sup{gap:12px!important;margin-top:14px}
  .sup li{display:grid;grid-template-columns:84px 1fr;column-gap:14px;row-gap:0;padding:12px 14px;align-items:center;cursor:pointer;border-top-width:3px;transition:transform .2s}
  .sup li:hover{transform:translateY(-3px)}
  .sup img{grid-row:1/4;width:84px;height:84px;aspect-ratio:1;object-position:top;margin:0;border-radius:50%}
  .sup b,.sup span,.sup em{padding:0!important;grid-column:2}
  .sup b{font-size:15px}.sup span{font-size:12px}.sup em{font-size:11.5px}
  .sup .supt{display:none}
}
@media(max-width:640px){.cards4.jpstaff.mini li:nth-child(n+5){display:block}}

/* サポーター: スマホも小さく(1人1行) */
@media(max-width:640px){
  .sup{grid-template-columns:1fr!important;gap:6px!important;margin-top:10px}
  .sup li{display:grid;grid-template-columns:56px 1fr;column-gap:12px;padding:8px 12px;align-items:center;border-top-width:3px}
  .sup img{grid-row:1/4;width:56px;height:56px;aspect-ratio:1;border-radius:50%;margin:0;object-position:top}
  .sup b,.sup span,.sup em{grid-column:2;padding:0!important}
  .sup b{font-size:14px}.sup span{font-size:11px}.sup em{display:block;font-size:10.5px}
}
