/* =========================================================
   中京大学 アジア競技大会 応援特設サイト
   記事ページ（ニュース／応援メッセージの個別ページ）用スタイル
   ・style.css のトークン（--dark / --red / --gold / --line / --muted / --radius）と
     既存部品（.container / .card / .tag / .btn）をそのまま使う。
     新しい色・新しいタイポスケールは作らない。
   ・接頭辞 lp- = ページ共通レイアウト（ヘッダー帯＋本文枠）。
   ========================================================= */

/* ===== page hero（TOP の大ヒーローではなく、下層用の帯） ===== */
.lp-hero{
  background:var(--dark);color:#fff;padding:64px 0 52px;
}
.lp-hero-en{
  margin:0;font-size:34px;font-weight:900;letter-spacing:.08em;line-height:1.1;
}
.lp-hero-jp{
  margin:10px 0 0;font-size:14px;font-weight:700;letter-spacing:.24em;color:#cfd4da;
  position:relative;padding-bottom:14px;
}
.lp-hero-jp::after{
  content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:var(--gold);
}

/* ===== body ===== */
.lp-body{padding:56px 0 90px;}

/* 大会概要・歴史 */
.games-info{max-width:960px;margin:0 auto;}
.games-intro{margin:0;font-size:18px;font-weight:700;line-height:2;}
.games-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:36px 0 0;border-top:1px solid var(--line);}
.games-fact{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding:16px 18px;border-bottom:1px solid var(--line);}
.games-fact:nth-child(odd){border-right:1px solid var(--line);}
.games-fact dt,.games-fact dd{margin:0;}
.games-fact dt{font-size:13px;font-weight:700;color:var(--muted);}
.games-fact dd{font-size:15px;font-weight:700;line-height:1.6;}
.games-section{margin-top:52px;}
.games-section-title{margin:0;padding-bottom:12px;border-bottom:3px solid var(--gold);font-size:24px;font-weight:900;line-height:1.45;}
.games-section p{margin:20px 0 0;font-size:16px;line-height:2;}
.games-history-list{margin:24px 0 0;padding:0;list-style:none;border-top:1px solid var(--line);}
.games-history-list li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line);}
.games-history-year{font-size:17px;font-weight:900;line-height:1.7;}
.games-history-text{font-size:15px;line-height:1.8;}
.games-source{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--muted);}
.games-source a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* 選手個別ページ（仮レイアウト。白いカード＝共有クラス .card は使わない＝社長指示 2026-08-20）
   天地の余白は外側の .lp-body（56/90）で確保するので .ath 自体には余白を持たせない */
.ath-head{display:flex;gap:32px;align-items:flex-start;}
/* 写真＋クレジット表記のまとまり（クレジットは撮影者の表示が要る写真だけ出る） */
.ath-figure{flex:0 0 320px;margin:0;}
.ath-photo{width:100%;height:214px;border-radius:12px;overflow:hidden;}
/* 支給写真は 3:2 の横位置。枠も 3:2 に合わせてある（書き出しは 640×427） */
.ath-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;}
.ath-credit{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted);}
.ath-meta{flex:1;min-width:0;}
.ath-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;}
.ath-name{margin:14px 0 0;font-size:32px;font-weight:900;line-height:1.3;}
.ath-kana{margin:6px 0 0;font-size:14px;color:var(--muted);}
.ath-affil{margin:14px 0 0;font-size:15px;}
.ath-lead{margin:20px 0 0;font-size:15px;line-height:1.9;}
.ath-body{margin-top:40px;font-size:15px;line-height:1.9;}
.ath-career{margin-top:0;padding-top:32px;border-top:1px solid var(--line);}
.ath-section-title{margin:0;font-size:22px;font-weight:900;line-height:1.4;}
.ath-profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:18px 0 0;border-top:1px solid var(--line);}
.ath-profile-item{padding:14px 18px;border-bottom:1px solid var(--line);}
.ath-profile-label{margin:0;font-size:12px;font-weight:700;color:var(--muted);}
.ath-profile-value{margin:3px 0 0;font-size:15px;font-weight:700;line-height:1.6;}
.ath-results-title{margin-top:36px;}
.ath-results{margin-top:18px;}
.ath-result-year{display:grid;grid-template-columns:92px minmax(0,1fr);gap:24px;padding:18px 0;border-top:1px solid var(--line);}
.ath-result-year:last-child{border-bottom:1px solid var(--line);}
.ath-result-year h4{margin:0;font-size:16px;font-weight:900;line-height:1.75;}
.ath-result-year ul{margin:0;padding:0;list-style:none;}
.ath-result-year li{position:relative;margin:0;padding-left:18px;line-height:1.75;}
.ath-result-year li+li{margin-top:8px;}
.ath-result-year li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--gold);}
@media (max-width:767px){
  .games-intro{font-size:16px;line-height:1.9;}
  .games-facts{grid-template-columns:1fr;margin-top:26px;}
  .games-fact{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:13px 0;}
  .games-fact:nth-child(odd){border-right:0;}
  .games-section{margin-top:38px;}
  .games-section-title{font-size:20px;}
  .games-section p{margin-top:16px;font-size:15px;line-height:1.9;}
  .games-history-list{margin-top:18px;}
  .games-history-list li{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:14px 0;}
  .games-history-year{font-size:15px;}
  .games-history-text{font-size:14px;}
  .games-source{margin-top:34px;}
  .ath-head{flex-direction:column;gap:18px;}
  .ath-figure{flex:0 0 auto;width:100%;}
  .ath-photo{width:100%;height:auto;aspect-ratio:3/2;}
  .ath-name{font-size:22px;}
  .ath-lead{margin-top:16px;}
  .ath-body{margin-top:32px;}
  .ath-career{margin-top:0;padding-top:26px;}
  .ath-section-title{font-size:19px;}
  .ath-profile{grid-template-columns:1fr;margin-top:14px;}
  .ath-profile-item{padding:12px 0;}
  .ath-results-title{margin-top:30px;}
  .ath-results{margin-top:14px;}
  .ath-result-year{grid-template-columns:1fr;gap:6px;padding:14px 0;}
}

/* 学生ボランティア ページ（仮レイアウト・内容はこれから詰める） */
.vol{padding:34px 40px 40px;}
.vol-page-head{display:flex;gap:32px;align-items:flex-start;}
.vol-page-photo{flex:0 0 320px;height:214px;border-radius:12px;}
.vol-page-meta{flex:1;min-width:0;}
.vol-page-title{margin:0;font-size:26px;font-weight:900;line-height:1.5;}
.vol-page-desc{margin:14px 0 0;font-size:15px;line-height:1.9;}
.vol-page-body{margin-top:28px;font-size:15px;line-height:1.9;}
@media (max-width:767px){
  .vol{padding:22px 18px 26px;}
  .vol-page-head{flex-direction:column;gap:18px;}
  .vol-page-photo{flex:0 0 auto;width:100%;height:180px;}
  .vol-page-title{font-size:20px;}
}

/* 記事個別 */
.ent{padding:34px 40px 42px;}
.ent-meta{display:flex;align-items:center;gap:14px;margin:0;}
.ent-title{font-size:26px;font-weight:900;line-height:1.5;margin:14px 0 24px;}
.ent-body{font-size:16px;line-height:1.9;}
.ent-body p{margin:0 0 1.4em;}
.ent-body p:last-child{margin-bottom:0;}
.lp-back{margin:40px 0 0;text-align:center;}

/* ===== SP ===== */
@media (max-width:767px){
  .lp-hero{padding:40px 0 34px;}
  .lp-hero-en{font-size:25px;}
  .lp-hero-jp{font-size:14px;letter-spacing:.08em;margin-top:6px;padding-bottom:12px;}
  .lp-hero-jp::after{width:56px;height:6px;}
  .lp-body{padding:36px 0 64px;}
  .ent{padding:26px 20px 30px;}
  .ent-title{font-size:20px;}
  .ent-body{font-size:15px;}
}
