@charset "utf-8";

/*　--------------------------------------------------
[U-21] /team/u21/

ニュース・試合日程・順位表・観戦ルールのタブ切り替えページ
-------------------------------------------------- */

.u21_page .u21_inner {
  width: 1200px;
  max-width: calc(100% - 32px);
  margin: 0 auto;
}

/* ページタイトル */
.u21_page .u21_page_header {
  background: #ad0040;
}
.u21_page .u21_page_header .u21_inner {
  height: 112px;
  display: flex;
  align-items: center;
}
.u21_page .u21_page_header h1 {
  margin: 0;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.48px;
}

/* パンくず・SNS */
.u21_page .info_area .inner {
  width: 1200px;
  max-width: calc(100% - 32px);
  margin: 0;
}
.u21_page .info_area .breadcrumb {
  margin-top: 36px;
}
.u21_page .info_area .sns {
  margin: 27px 0;
}
.u21_page .info_area .sns ul {
  margin: 0;
}
.u21_page .info_area .sns ul li {
  width: auto;
}
.u21_page .info_area .sns ul li + li {
  margin-left: 20px;
}
.u21_page .info_area .sns ul li a {
  margin: 0;
}
.u21_page .info_area .sns ul li a br {
  display: none;
}

/* タブ */
.u21_page .u21_tabs {
  margin: 0;
  display: flex;
  gap: 4px;
  list-style: none;
}
.u21_page .u21_tabs li {
  flex: 1;
}
.u21_page .u21_tabs a {
  padding: 16px 0;
  border-radius: 4px 4px 0 0;
  background: #efefef;
  color: #0f1011;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  letter-spacing: 0.36px;
  display: block;
}
.u21_page .u21_tabs a.active {
  background: #b6003d;
  color: #fff;
}
.u21_page .u21_tabs a:not(.active):hover {
  opacity: 0.75;
}

/* タブの中身 */
.u21_page .u21_panels {
  padding: 48px 0;
  background: #b6003d;
}
.u21_page .u21_panel {
  display: none;
}
.u21_page .u21_panel.active {
  display: block;
}
.u21_page .u21_box {
  position: relative;
  width: 1200px;
  max-width: calc(100% - 32px);
  margin: 0 auto;
  background: #fff;
  color: #0f1011;
}

/* module.min.css が button に赤背景・枠線・角丸を当てているためリセット
   ※ default.css で button の padding が 0 !important 固定のため、ボタンの高さは height で指定する */
.u21_page button {
  border: none;
  border-radius: 0;
  background: none;
  color: inherit;
  font-size: inherit;
}

/* module.min.css の「li span { display: block }」を、既存ページ（#body .contents li span）と同様に打ち消す */
.u21_page .u21_schedule li span,
.u21_page .u21_rules_body li span {
  display: inline;
}

/* もっと見る（後ろのコンテンツを白のグラデーションで薄くする） */
.u21_page .u21_more {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 140px;
  padding-bottom: 34px;
  background: linear-gradient(rgba(255, 255, 255, 0), #fff 70%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.u21_page .u21_more button {
  width: 360px;
  max-width: 100%;
  height: 48px;
  border-radius: 4px;
  background: #1c2469;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  cursor: pointer;
}
.u21_page .u21_more button:hover {
  opacity: 0.85;
}
.u21_page .u21_more.sp_only {
  display: none;
}

/* 準備中 */
.u21_page .u21_preparing {
  padding: 60px 16px;
  text-align: center;
}
.u21_page .u21_preparing .ttl {
  margin: 0;
  color: #b6003d;
  font-size: 32px;
  font-weight: bold;
}
.u21_page .u21_preparing .txt {
  margin: 20px 0 0;
  color: #1c2469;
  font-size: 16px;
  font-weight: bold;
}

/*　--------------------------------------------------
ニュース
-------------------------------------------------- */
.u21_page .u21_news {
  padding: 0 48px;
}
.u21_page .u21_news.open {
  padding-bottom: 32px;
}
.u21_page .u21_news_list {
  margin: 0;
  list-style: none;
}
.u21_page .u21_news_list li {
  padding: 20px 0 16px;
  border-bottom: 1px solid #dadada;
}
.u21_page .u21_news_list li:last-child {
  border-bottom: none;
}
.u21_page .u21_news_list .ttl {
  color: #000;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  line-height: 1.4;
  display: block;
}
.u21_page .u21_news_list .ttl:hover {
  text-decoration: underline;
}
.u21_page .u21_news_list .meta {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.u21_page .u21_news_list .date {
  margin: 0;
  color: #000;
  font-size: 12px;
  line-height: 1;
}
.u21_page .u21_news_list .category {
  padding: 6px 16px;
  border-radius: 10px;
  background: #ad0040;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  display: inline-block;
}
.u21_page .u21_news_list .category:hover {
  opacity: 0.75;
}
.u21_page .u21_news_empty {
  margin: 0;
  padding: 60px 0;
  color: #0f1011;
  font-size: 16px;
  text-align: center;
}
/* ニュース一覧へ（サイト共通の .button.white.wide を使用） */
.u21_page .u21_news_link {
  margin-top: 40px;
  text-align: center;
}
/* このページは基準の文字サイズが小さいため、トップページの同ボタンと同じ16pxに揃える */
.u21_page .u21_news_link .button {
  margin: 0;
  font-size: 16px;
  text-decoration: none;
}

/*　--------------------------------------------------
試合日程（表・カードは okayama.game.css の .game_shedule を流用）
-------------------------------------------------- */
.u21_page .u21_schedule {
  padding: 48px;
}
.u21_page .u21_schedule .content,
.u21_page .u21_schedule .content .inner,
.u21_page .u21_schedule .table_wrap {
  width: 100%;
  margin: 0;
  padding: 0;
}
.u21_page .u21_schedule .table_wrap ul.table {
  margin: 0;
}
/* 閉じている間はPC13件 + 薄く見せる1件だけ表示（1行目は見出し行）
   ※ okayama.game.css で li に display: table !important が当たっているため !important で上書き */
.u21_page .u21_schedule:not(.open) .table_wrap ul.table li.row:nth-child(n + 16) {
  display: none !important;
}
/* PCはチケット列をボタン表示にする（既存ページではSPのみボタン表示） */
@media screen and (min-width: 691px) {
  .u21_page .u21_schedule .table_wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* 対戦カードを1行に収める幅を確保するため最小幅を設け、足りない画面では横スクロールにする */
  .u21_page .u21_schedule .table_wrap ul.table {
    min-width: 1000px;
    text-align: center;
  }
  /* 行ごとに別テーブルなので、列幅がずれないよう固定する */
  .u21_page .u21_schedule .table_wrap ul.table li {
    table-layout: fixed;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .section {
    width: 8%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .date {
    width: 14%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .kickoff {
    width: 7%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .vs {
    width: 35%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .homeaway {
    width: 7%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .stadium {
    width: 8%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .tv {
    width: 9%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .ticket {
    width: 13%;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket {
    padding: 0 16px;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .sp_690 {
    display: none !important;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .pc_690 {
    display: block !important;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .ticket_suffix {
    display: none;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .btn.block.link {
    width: 100%;
    margin: 0;
    background: #1c2469;
    text-decoration: none;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .btn.block.link.off {
    background: #999;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .btn.block.link .btn,
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .btn.block.link.off p {
    float: none;
    width: auto;
    height: auto;
    padding: 12px 8px;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket .btn.block.link p {
    padding: 0;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col.ticket a.btn.block.link:hover {
    opacity: 0.85;
  }
}
@media screen and (min-width: 691px) {
  /* 対戦カード・スコア（ロゴ・チーム名・スコア）は改行させない */
  .u21_page .u21_schedule .table_wrap ul.table li .col.vs,
  .u21_page .u21_schedule .table_wrap ul.table li .col.vs * {
    white-space: nowrap;
  }
  .u21_page .u21_schedule .table_wrap ul.table li .col p span.score {
    margin: 0 6px;
  }
}

/* TICKETボタンのアイコン差し替え */
.u21_page .u21_schedule .table_wrap ul.table li .col.ticket .btn.block.link .btn svg {
  display: none;
}
.u21_page .u21_schedule .table_wrap ul.table li .col.ticket .btn.block.link .btn p::before {
  content: '';
  width: 16px;
  height: 16px;
  margin-right: 4px;
  background: url(/assets/images/u21/ico_arr.svg) no-repeat center / contain;
  display: inline-block;
  vertical-align: -2px;
}

/*　--------------------------------------------------
順位表
-------------------------------------------------- */
.u21_page .u21_ranking {
  padding: 48px;
}

/* ラウンドの切り替え */
.u21_page .u21_round_tabs {
  margin: 0;
  padding-bottom: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px 24px;
  list-style: none;
}
.u21_page .u21_round_tabs button {
  width: 216px;
  min-height: 54px;
  border-radius: 4px;
  background: #efefef;
  color: rgba(15, 16, 17, 0.5);
  font-weight: bold;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.u21_page .u21_round_tabs button.active {
  background: #b6003d;
  color: #fff;
  cursor: default;
}
.u21_page .u21_round_tabs button:not(.active):hover {
  opacity: 0.75;
}
.u21_page .u21_round_tabs .sub {
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.32px;
}
.u21_page .u21_round_tabs .main {
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.4px;
}

/* 他のシーズンを選ぶ */
.u21_page .u21_season {
  position: relative;
  width: 250px;
  margin: 0 auto;
}
.u21_page .u21_season > button {
  width: 100%;
  display: flex;
  cursor: pointer;
}
.u21_page .u21_season .label {
  height: 52px;
  padding: 0 24px;
  border: 1px solid #1c2469;
  background: #fff;
  color: #1c2469;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.48px;
  white-space: nowrap;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}
.u21_page .u21_season .icon {
  width: 52px;
  height: 52px;
  background: #0c0a58;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.u21_page .u21_season .icon svg {
  width: 24px;
  height: 24px;
  transition: transform 0.2s;
}
.u21_page .u21_season.open .icon svg {
  transform: rotate(180deg);
}
/* 角丸（ラベルは左側、アイコンは右側のみ） */
.u21_page .u21_season .label {
  border-radius: 4px 0 0 4px;
}
.u21_page .u21_season .icon {
  border-radius: 0 6px 6px 0;
}
/* 開いている間は下側の角丸を外し、リストの下側に付ける */
.u21_page .u21_season.open .label {
  border-bottom-left-radius: 0;
}
.u21_page .u21_season.open .icon {
  border-bottom-right-radius: 0;
}
.u21_page .u21_season ul {
  border-radius: 0 0 4px 4px;
  overflow: hidden;
}
.u21_page .u21_season ul {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  width: 100%;
  margin: 0;
  border: 1px solid #1c2469;
  border-top: none;
  background: #fff;
  list-style: none;
  display: none;
}
.u21_page .u21_season.open ul {
  display: block;
}
.u21_page .u21_season ul li + li {
  border-top: 1px solid #dadada;
}
.u21_page .u21_season ul a {
  padding: 12px 16px;
  color: #1c2469;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  display: block;
}
.u21_page .u21_season ul a.active,
.u21_page .u21_season ul a:hover {
  background: #efefef;
}

/* 順位表 */
.u21_page .u21_ranking_title {
  margin: 40px 0 0;
  color: #ad0040;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.48px;
}
.u21_page .u21_br_sp {
  display: none;
}
/* 列が多いため、表が最小幅より狭くなる画面では横スクロールにする */
.u21_page .u21_ranking_table_wrap {
  margin-top: 40px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.u21_page .u21_ranking_table {
  width: 100%;
  max-width: 1100px;
  min-width: 1020px;
  margin: 0 auto;
  border: none;
  border-collapse: collapse;
  table-layout: fixed;
}
.u21_page .u21_ranking_table thead,
.u21_page .u21_ranking_table tbody {
  border: none;
  background: transparent;
}
.u21_page .u21_ranking_table th {
  padding: 10px 5px;
  background: #efefef;
  color: #0f1011;
  font-size: 16px;
  font-weight: normal;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.32px;
}
.u21_page .u21_ranking_table .rank {
  width: 76px;
}
.u21_page .u21_ranking_table .stat {
  width: 80px;
}
/* 横スクロール時も RANK・TEAM は左に固定する */
.u21_page .u21_ranking_table .rank,
.u21_page .u21_ranking_table .team {
  position: sticky;
  z-index: 1;
}
.u21_page .u21_ranking_table .rank {
  left: 0;
}
.u21_page .u21_ranking_table .team {
  left: 76px;
}
.u21_page .u21_ranking_table th,
.u21_page .u21_ranking_table td {
  vertical-align: middle;
}
/* state.min.css の「#body tbody tr:nth-child(2n)」に負けないよう、背景は td に当てる */
.u21_page .u21_ranking_table tbody tr {
  border-bottom: 1px solid #dadada;
}
.u21_page .u21_ranking_table td {
  height: 74px;
  padding: 0 5px;
  background: #fff;
  color: #0f1011;
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.32px;
}
.u21_page .u21_ranking_table tr.okayama td {
  background: #1c2469;
  color: #fff;
}
.u21_page .u21_ranking_table td.rank {
  font-size: 20px;
  letter-spacing: 0.4px;
}
.u21_page .u21_ranking_table td.team {
  padding: 0 24px;
  text-align: left;
}
.u21_page .u21_ranking_table .team_inner {
  display: flex;
  align-items: center;
  gap: 16px;
}
.u21_page .u21_ranking_table .team_inner img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  flex-shrink: 0;
}

/*　--------------------------------------------------
観戦ルール（CMSのHTML「u21_manners」）
-------------------------------------------------- */
.u21_page .u21_rules {
  width: 1100px;
  padding: 48px;
}
.u21_page .u21_rules_title,
.u21_page .u21_rules_body {
  max-width: 900px;
  margin: 0 auto;
}
.u21_page .u21_rules_title {
  margin-bottom: 40px;
  color: #b6003d;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.64px;
}
.u21_page .u21_rules_body {
  color: #333;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.48px;
}
.u21_page .u21_rules_body p,
.u21_page .u21_rules_body ul,
.u21_page .u21_rules_body dl,
.u21_page .u21_rules_body dd {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
.u21_page .u21_rules_body img {
  max-width: 100%;
  height: auto;
}
/* ブロック間の余白調整用に入っている <br> は使わず、余白はCSSで取る */
.u21_page .u21_rules_body .contents_wrap01 > br,
.u21_page .u21_rules_body .contents_wrap02 > br {
  display: none;
}
/* 席取り禁止行為の画像（リストの後の段落）はテキストの下に表示 */
.u21_page .u21_rules_body dd ul ~ p img {
  margin-top: 4px;
  display: block;
}
.u21_page .u21_rules_body h3 {
  margin: 0;
  padding: 10px 27px;
  background: #ad0040;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.48px;
}
.u21_page .u21_rules_body h3 ~ h3 {
  margin-top: 50px;
}
.u21_page .u21_rules_body h4 {
  margin: 20px 0;
  padding-left: 10px;
  border-left: 4px solid #ad0040;
  color: #ad0040;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.48px;
}
.u21_page .u21_rules_body .dl01 {
  padding-top: 20px;
}
.u21_page .u21_rules_body .space02 + .dl01 {
  padding-top: 0;
}
.u21_page .u21_rules_body .dl01 dt {
  color: #ad0040;
  font-size: 14px;
  font-weight: bold;
}
.u21_page .u21_rules_body .space02 {
  margin-bottom: 20px;
}
.u21_page .u21_rules_body dd .space02 {
  margin-bottom: 0;
}
.u21_page .u21_rules_body ul {
  padding-left: 20px;
  list-style: none;
}
.u21_page .u21_rules_body .n_margin02_text {
  padding-left: 1em;
  text-indent: -1em;
}
.u21_page .u21_rules_body .btn_01 {
  max-width: 100%;
  margin-top: 20px;
}
.u21_page .u21_rules_body .contents_wrap02 > .btn_01 {
  margin-right: 10px;
  display: inline-block;
  vertical-align: top;
}
.u21_page .u21_rules_body .btn_01 a {
  max-width: 100%;
  padding: 8px 8px;
  border: 2px solid #ad0040;
  border-radius: 5px;
  color: #ad0040;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.4;
  display: inline-block;
}
.u21_page .u21_rules_body .btn_01 a:hover {
  background: #ad0040;
  color: #fff;
}
.u21_page .u21_rules_body .btn_01 .fas {
  font-size: 14px;
}
.u21_page .u21_rules_body .notes {
  margin-top: 0;
}

/*　--------------------------------------------------
SP
-------------------------------------------------- */
@media screen and (max-width: 690px) {
  .u21_page .u21_page_header .u21_inner {
    max-width: calc(100% - 20px);
    height: 85px;
  }
  .u21_page .u21_page_header h1 {
    font-size: 24px;
  }

  .u21_page .info_area .breadcrumb {
    margin-top: 12px;
  }
  .u21_page .info_area .sns {
    margin: 16px 0 28px;
  }

  .u21_page .u21_tabs {
    gap: 2px;
  }
  .u21_page .u21_tabs a {
    padding: 8px 0;
    font-size: 14px;
    letter-spacing: 0.28px;
  }

  .u21_page .u21_panels {
    padding: 40px 0;
  }

  .u21_page .u21_more {
    padding-bottom: 48px;
  }
  .u21_page .u21_more button {
    height: 44px;
    margin: 0 16px !important;
    flex: 1;
  }
  .u21_page .u21_more.sp_only {
    display: flex;
  }

  /* ニュース */
  .u21_page .u21_news {
    padding: 0 12px;
  }
  .u21_page .u21_news.open {
    padding-bottom: 24px;
  }
  .u21_page .u21_news_list li {
    padding: 29px 0 15px;
  }
  .u21_page .u21_news_list .ttl,
  .u21_page .u21_news_list .date,
  .u21_page .u21_news_list .category {
    letter-spacing: 0.48px;
  }

  /* 試合日程（カードを赤背景の上に並べる） */
  .u21_page .u21_schedule,
  .u21_page .u21_schedule .table_wrap {
    padding: 0;
    background: transparent;
  }
  /* overwrite.min.css の「#body section * { box-sizing: content-box }」より優先させるため !important */
  .u21_page .u21_schedule .table_wrap ul.table li.row {
    width: 100%;
    margin-bottom: 32px;
    background: #fff;
    box-sizing: border-box !important;
  }
  .u21_page .u21_schedule .table_wrap ul.table li.row:last-child {
    margin-bottom: 0;
  }
  /* 閉じている間はSP5件 + 薄く見せる1件だけ表示 */
  .u21_page .u21_schedule:not(.open) .table_wrap ul.table li.row:nth-child(n + 8) {
    display: none !important;
  }
  .u21_page .u21_schedule .u21_more {
    height: 200px;
    padding-bottom: 0;
    background: linear-gradient(rgba(182, 0, 61, 0), #b6003d 75%);
  }
  .u21_page .u21_schedule .u21_more button {
    margin: 0 !important;
  }

  /* 順位表 */
  .u21_page .u21_ranking {
    padding: 32px 0;
  }
  .u21_page .u21_round_tabs {
    padding: 0 10px 16px;
    gap: 16px;
  }
  .u21_page .u21_round_tabs li {
    flex: 0 0 calc(50% - 8px);
  }
  .u21_page .u21_round_tabs li.playoff {
    flex-basis: 100%;
    display: flex;
    justify-content: center;
  }
  .u21_page .u21_round_tabs button {
    width: 100%;
  }
  .u21_page .u21_round_tabs li.playoff button {
    width: 179px;
  }
  .u21_page .u21_round_tabs .sub {
    font-size: 12px;
  }
  .u21_page .u21_round_tabs .main {
    font-size: 16px;
    letter-spacing: 0.32px;
  }

  .u21_page .u21_season {
    width: 200px;
  }
  .u21_page .u21_season .label {
    height: 36px;
    padding: 0 16px;
    font-size: 14px;
  }
  .u21_page .u21_season .icon {
    width: 36px;
    height: 36px;
    border-radius: 0 4px 4px 0;
  }
  .u21_page .u21_season .icon svg {
    width: 17px;
    height: 17px;
  }

  .u21_page .u21_ranking_title {
    margin-top: 24px;
    padding: 16px 16px;
    color: #b6003d;
    font-size: 24px;
    line-height: 1.5;
  }
  .u21_page .u21_br_sp {
    display: inline;
  }
  .u21_page .u21_ranking_table_wrap {
    margin: 0 16px;
  }
  .u21_page .u21_ranking_table {
    width: 604px;
    min-width: 0;
    max-width: none;
  }
  .u21_page .u21_ranking_table th {
    height: 42px;
    padding: 5px;
    font-size: 12px;
    letter-spacing: 0.24px;
  }
  .u21_page .u21_ranking_table .rank {
    width: 44px;
  }
  .u21_page .u21_ranking_table th.rank {
    padding: 5px 0;
    letter-spacing: 0;
  }
  .u21_page .u21_ranking_table .team {
    width: 120px;
  }
  .u21_page .u21_ranking_table .stat {
    width: 55px;
  }
  .u21_page .u21_ranking_table .team {
    left: 44px;
  }
  .u21_page .u21_ranking_table td {
    height: 66px;
    font-size: 12px;
  }
  .u21_page .u21_ranking_table td.team {
    padding: 10px 5px;
    text-align: center;
  }
  .u21_page .u21_ranking_table .team_inner {
    flex-direction: column;
    gap: 0;
  }
  .u21_page .u21_ranking_table .team_inner img {
    width: 28px;
    height: 28px;
  }
  .u21_page .u21_ranking_table .team_inner span {
    line-height: 1.5;
    letter-spacing: 0;
  }

  /* 観戦ルール */
  .u21_page .u21_rules {
    padding: 32px 16px;
  }
  .u21_page .u21_rules_title {
    margin-bottom: 0;
    padding: 16px 0;
    font-size: 24px;
    text-align: center;
  }
  .u21_page .u21_rules_body h3 {
    padding: 10px 13px;
  }
}
