@charset "utf-8";

/* ラッパー */
.match-board {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 25px;
  color: #111;
  text-align: center;
  font-family: "Roboto", system-ui, -apple-system, "Noto Sans JP", sans-serif;
}

/* ヘッダ（シーズン・節） */
.mb-head {
  display: block;                 /* ← 行全体を占有 */
  box-sizing: border-box;         /* ← 100%幅の中にpaddingを内包 */
  margin-bottom: 20px;
  padding: 15px clamp(12px, 4vw, 24px);
  background: #272B5A;
  color: #fff;
  font-size: clamp(14px, 2.4vw, 22px);
  font-weight: 700;
  letter-spacing: 0.03em;
  overflow-wrap: anywhere;
}

/* メイン3カラム（PC） */
.mb-main {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(16px, 2.5vw, 24px);
}

/* チーム */
.mb-team {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.mb-logo {
  width: clamp(120px, 14vw, 170px);
  height: clamp(120px, 14vw, 170px);
  object-fit: contain;
}
.mb-name {
  color: #444;
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 700;
}

/* 中央ブロック */
.mb-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.mb-date {
  margin-bottom: 2px;
  font-family: "Do Hyeon", sans-serif;
  font-size: clamp(28px, 5vw, 40px);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.2;
}
.mb-time {
  margin-top: 6px;
  font-family: "Do Hyeon", sans-serif;
  font-size: clamp(20px, 2.8vw, 30px);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-align: center;
}

/* スコア */
.mb-score {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.5vw, 22px);
}
.mb-num {
  font-family: "Do Hyeon", sans-serif;
  font-size: clamp(55px, 8vw, 100px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
.mb-vs {
  font-size: clamp(24px, 4.5vw, 36px);
  font-weight: 900;
  letter-spacing: 0.12em;
}
.mb-vs-sp {
  display: none;
}

/* WIN/LOSE/DRAW バッジ */
.mb-badge {
  padding: 0 18px;
  border-radius: 6px;
  background: #8d8d8d;
  color: #fff;
  font-family: "Do Hyeon", sans-serif;
  font-size: clamp(14px, 2.2vw, 22px);
  font-weight: 400;
}
.mb-badge.win { background: #129e42; }
.mb-badge.lose { background: #666; }
.mb-badge.draw { background: #555; }
.mb-badge.kick { background: #f07f00; }

/* 会場・HOME/AWAY */
.mb-venue {
  font-size: clamp(14px, 1.8vw, 18px);
  font-weight: 600;
}
.mb-ha {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid #ccc;
  border-radius: 9999px;
  background: #fff;
  color: #333;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.mb-ha.home {
  background: #FC5F00;
  border-color: #FC5F00;
  color: #fff;
}
.mb-ha.visitor {
  background: #2E2D59;
  border-color: #2E2D59;
  color: #fff;
}

/* 各カード */
.match-card {
  margin-bottom: 32px;
  padding-bottom: 20px;
  background: #fff;
}

/* スマホレイアウト */
@media (max-width: 768px) {
  .mb-team--home { display: none !important; }
  .mb-team--away {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    text-align: center !important;
  }
  .mb-team--away .mb-logo {
    width: clamp(40px, 14vw, 64px) !important;
    height: auto !important;
  }
  .mb-vs-sp {
    display: inline !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
  }
  .mb-team--away .mb-name {
    display: inline-block !important;
    font: 700 clamp(14px, 4.2vw, 26px)/1.3 "Roboto","Noto Sans JP",sans-serif !important;
  }
  .mb-main { grid-template-columns: 1fr; }
  .mb-team { order: 3; }
  .mb-center { order: 2; }
  .mb-team--away { order: 4; }
  .mb-vs { display: none; }
}

/* 予定のときスコア薄く */
.mb-num.is-dash { opacity: 0.25; }

/* Match Board 背景 */
.match-section {
  padding: 40px 16px;
  background: url("../images/background-002.jpg") repeat-y center top fixed;
  background-size: cover;
}

.mb-venue-wrap {
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
}
.mb-venue a {
  color: inherit;
  text-decoration: none; /* 下線なし */
}
.mb-ticket {
  margin-top: 4px;
  font-size: .85em;
  font-weight: 700;
  color: #fff;
  background: #c00;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1.2;
}

/* === Season Links === */
.season-switcher {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 12px;
  display: flex;
  flex-wrap: nowrap; /* 折り返しを禁止 */
  gap: 8px;
  justify-content: flex-start;
}

.btn-year {
  flex: 1 1 0; /* 均等に伸縮 */
  min-width: 0;
  padding: 10px 8px;
  border-radius: 9999px;
  background: #2E2D59;
  color: #fff;
  font-weight: 700;
  font-size: clamp(12px, 2.5vw, 16px);
  text-align: center;
  text-decoration: none;
  transition: 0.25s ease;
  white-space: nowrap;
}

.btn-year:hover { 
  opacity: 0.85; 
}

.btn-year.active { 
  background: #FC5F00; 
}

/* スマホで確実に1列 */
@media (max-width: 768px) {
  .season-switcher {
    gap: 4px;
    padding: 0 8px;
  }
  
  .btn-year {
    padding: 10px 4px;
    font-size: 12px;
  }
}

/* 極小画面 */
@media (max-width: 400px) {
  .btn-year {
    padding: 8px 2px;
    font-size: 11px;
  }
}

@media (max-width:768px){
  .match-section{
    background-attachment: scroll !important;  /* モバイルはfixed効きにくいので無効化 */
    background-size: 100% auto !important;     /* 横幅にフィット */
    background-repeat: repeat-y !important;    /* 縦方向にリピート */
    background-position: center top !important;
    background-color: transparent !important;  /* 黒背景を消す */
  }
}