@charset "utf-8";

/* TOC
---------------------------------------------
  Chapter01 : 基本設定
  Chapter02 : カラー
  Chapter03 : テキスト
  Chapter04 : ナビゲーション
  Chapter05 : ハンバーガー
  Chapter06 : footer
  Chapter07 : コンテンツ
    Chapter07_01 : 大型モニター
    Chapter07_02 : Topics
    Chapter07_03 : 大会概要
    Chapter07_04 : 参加チーム   
    Chapter07_05 : 試合日程
    Chapter07_06 : アクセス
    Chapter07_07 : 
    Chapter07_08 : お問い合わせ
    Chapter07_09 : 大会協賛
  Chapter08 : 追加CSS
    Chapter08_01 : コンテンツ
    Chapter08_02 : レポートページ
    Chapter08_03 : NEWS
    Chapter08_04 : スケジュール
    Chapter08_05 : 申込みフォーム
    Chapter08_06 : 本戦ページ用
  Chapter99 : レスポンシブ
    Chapter99_01 : 大型モニター
    Chapter99_02 : ノートパソコン
    Chapter99_03 : タブレット
    Chapter99_04 : スマートフォン大型
    Chapter99_05 : スマートフォン
    Chapter99_06 : スマートフォン小型
---------------------------------------------
*/

/*---------------------------------------------------------
  Chapter01 : 基本設定
---------------------------------------------------------*/
.GlobalCupLPTitle {
}

.wrapper {
  padding: 2% 8%;
}

.wrapper .content {
  max-width: 75%;
  margin-left: auto;
  margin-right: auto;
}

.wrapper .LiveScheduleBox {
  max-width: 60%;
  margin-left: auto;
  margin-right: auto;
}

/* ボタン */
.ContactBox {
  margin: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
}

a.ContactButton {
  width: 200px;
  margin: 5% 0 2%;
  padding: 2%;
  color: #fff;
  text-align: center;
  background: #036150;
}

a.ContactButton:hover {
  background: #86cbbf;
}

/*---------------------------------------------------------
  Chapter02 : カラー
---------------------------------------------------------*/
.Green {
  color: #006150;
}

/*---------------------------------------------------------
  Chapter03 : テキスト
---------------------------------------------------------*/
h2.GlobalCupLPTitle {
  margin: 5% 0 6%;
  font-size: 40px;
  font-weight: bold;
  color: #006150;
  text-align: center;
}

/*---------------------------------------------------------
  Chapter04 : ナビゲーション
---------------------------------------------------------*/
div#lp_head {
  display: none;
}

nav.HeaderNaviBox {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2% 2% 0;
}

nav.HeaderNaviBox.fixed {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  padding: 1% 2%;
  background: #ffffff70;
}

/*---------------------------------------------------------
  Chapter05 : ハンバーガー
---------------------------------------------------------*/

/*   ハンバーガーボタンの動き
-----------------------------------------*/
.HamburgerBtn {
  position: absolute;
  z-index: 9999;
  right: 10px;
  cursor: pointer;
  width: 80px;
  height: 80px;
}

.HamburgerBtn.active {
  position: fixed;
  top: 0;
  right: 0;
}

.HeaderNaviBox.fixed .HamburgerBtn.active {
  top: 0;
  right: 0;
}

/*×に変化*/
.HamburgerBtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #fff;
  width: 55%;
}

.HamburgerBtn span:nth-of-type(1) {
  top: 15px;
}

.HamburgerBtn span:nth-of-type(2) {
  top: 28px;
}

.HamburgerBtn span:nth-of-type(3) {
  top: 42px;
}

.HamburgerBtn.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 40%;
}

.HamburgerBtn.active span:nth-of-type(2) {
  opacity: 0;
}

.HamburgerBtn.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 40%;
}

.HamburgerBtn.active span {
  background-color: #444444;
}

nav.HeaderNaviBox.fixed .HamburgerBtn span {
  background-color: #444444;
}

/*   ハンバーガー内メニュー
-----------------------------------------*/
#g-nav {
  position: fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top: 0;
  right: -120%;
  width: 25%;
  height: 100vh; /*ナビの高さ*/
  background: #fff;
  transition: all 0.6s; /*動きのスピード*/
  box-shadow: -5px 4px 5px rgb(0 0 0 / 13%);
  transition: all 300ms ease-out;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 25%;
  height: 100vh; /*表示する高さ*/
  padding: 3%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
  margin: 0 0 10%;
  /* position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%); */
}

/*リストのレイアウト設定*/
#g-nav li {
  list-style: none;
  text-align: center;
}

#g-nav li a {
  color: #333;
  text-decoration: none;
  padding: 10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}

/*   ハンバーガー内項目
-----------------------------------------*/

/* 会員登録ボタン */
.ResgistBox {
  width: 100%;
  margin: 5% 0;
}

.ResgistBox .btn-resgist {
  display: block;
  padding: 5px;
  border-radius: 3px;
  color: #fff;
  background: #79c1da;
  text-align: center;
  width: 100%;
  height: 30px;
  font-size: 14px;
}

/* ログインボタン */
.LoginBox {
}

.LoginBox .btn-login {
  display: block;
  padding: 5px;
  border-radius: 3px;
  color: #fff;
  background: #ed8492;
  text-align: center;
  width: 100%;
  height: 30px;
  font-size: 14px;
}

/* 検索 */
.SearchBox label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

.SearchBox input[type="text"] {
  background-color: #fff;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.02) inset;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.02) inset;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 5px 10px;
  width: 100%;
}

/* SNS */
.HamburgerSnsBox {
}

#g-nav .HamburgerSnsBox .social {
  text-align: center;
  display: block;
}

#g-nav .HamburgerSnsBox .social li {
  display: inline-block;
}

#g-nav .HamburgerSnsBox .social li a {
  padding: 5px;
  color: #222;
  text-decoration: none;
}

#g-nav .HamburgerSnsBox .social li a i {
  color: #222;
}

/*---------------------------------------------------------
  Chapter06 : footer
---------------------------------------------------------*/
footer#FooterArea {
  padding: 1% 0;
  text-align: center;
  color: #fff;
  background: #006150;
}

.SiteTOP {
  padding: 10px 0;
  text-align: center;
  background-color: #fff;
}

.SiteTOP a {
  color: #ed8492;
}

/*---------------------------------------------------
  Chapter07 : コンテンツ
---------------------------------------------------*/

/*   Chapter07_01 : キービジュアル
-----------------------------------------*/
.kv {
  position: relative;
  width: 100%;
  height: auto;
}

.kv .pc {
  width: 100%;
  display: block;
}

.kv .sp {
  display: none;
}

.kv img {
  margin: auto;
}

/*  アンカーメニュー
-----------------------------------------*/
section#AnkerMenuArea {
  background: -moz-linear-gradient(-20deg, #036150, #86cbbf, #036150);
  background: -webkit-linear-gradient(-20deg, #036150, #86cbbf, #036150);
  background: linear-gradient(110deg, #036150, #86cbbf, #036150);
  color: #036150;
  padding: 1%;
}

.AnkerMenuBox {
  display: flex;
}

.AnkerMenuItem {
  width: calc(100% / 3 - 10px);
  text-align: center;
}

a.AnkerMenuButton {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  font-size: 20px;
  line-height: 1.2;
  color: #fff;
}

a.AnkerMenuButton:after {
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  font-weight: 900;
}

/*   Chapter07_02 : Topics
-----------------------------------------*/
hr.NewsUnderLine {
  border: none;
  display: block;
  height: 1px;
  margin: 0.5rem 0;
  border-top: 1px dotted #ccc;
  background-color: #f5f5f5;
}

#TopicsArea dl {
  margin: 0;
  padding: 7px 0;
  border: 0;
}

.TopicsItem a {
  display: flex;
  padding: 5px 0;
  color: Gray;
}

.TopicsItem a:hover {
  color: #036150;
}

.TopicsItem dt {
  width: 10%;
  color: Gray;
}

.TopicsItem dd {
  overflow: hidden;
  margin: 0 0 0 30px;
}

/*   Chapter07_03 : 大会概要
-----------------------------------------*/
.GlobalCupOverviewTable {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: unset;
  border-right: unset;
}

.content .GlobalCupOverviewTable th,
.content .GlobalCupOverviewTable td {
  padding: 1% 0;
}

.content .GlobalCupOverviewTable th {
  width: 25%;
  display: table-cell;
  vertical-align: middle;
  padding: 2% 0;
}

.content .GlobalCupOverviewTable td {
  width: 80%;
  display: table-cell;
  vertical-align: middle;
}

.GlobalCupBannerBox {
  display: block;
  width: 730px;
  margin: 50px auto;
  padding: 30px;
  border: 2px solid #006150;
  border-radius: 10px;
  background: #fff;
}

.GlobalCupBannerBox a {
  display: block;
  color: #006150;
  font-weight: bold;
  text-align: center;
}

/*   Chapter07_04 : 参加チーム
-----------------------------------------*/
.wrapper .GlobalCupTeamsBox {
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.GlobalCupLPTeamsList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1em;
  margin: 0 0 3% 0;
}

.GlobalCupLPTeamsItem {
  width: calc(100% / 5);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0 0 3% 0;
}

.GlobalCupLPTeamsList .GlobalCupLPTeamsItem:nth-child(14) {
  margin-right: auto;
}

.TeamsName {
  margin: 8% 0 0;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
}

.GlobalCupLPTeamsList.AbroadTeamsList {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
  margin: 0 0 5% 0;
}

.AbroadTeamsList .GlobalCupLPTeamsItem {
  width: calc(100% / 3);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
}

.AbroadTeamsList .GlobalCupLPTeamsItem img {
  width: 40%;
  height: auto;
}

/*   Chapter07_05 : 試合日程
-----------------------------------------*/

.content li + li {
  margin-top: 0;
}

.wrapper .MatchScheduleBox {
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/* 日程タブ */
.MatchScheduleTab,
.AccessTab {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#AccessArea ul.AccessTab {
  margin-left: 0;
}

.MatchScheduleTab li,
.AccessTab li {
  width: 220px;
  text-align: center;
}

.MatchScheduleTab li a,
.AccessTab li a {
  display: block;
  margin: 0 2px;
  padding: 10px 20px;
  color: #909898;
  background: #ddd;
}

/*liにactiveクラスがついた時の形状*/
.MatchScheduleTab li.active,
.AccessTab li.active {
  border-top: 3px solid #006150;
}

.MatchScheduleTab li.active a,
.AccessTab li.active a {
  color: #006150;
  background: #fff;
}

/*エリアの表示非表示と形状*/
.ScheduleArea,
.AccessTabArea {
  display: none; /*はじめは非表示*/
  opacity: 0; /*透過0*/
  background: #fff;
  padding: 20px 0 0;
}

.ScheduleArea.is-active,
.AccessTabArea.is-active {
  display: block; /*表示*/
  animation-name: displayAnime; /*ふわっと表示させるためのアニメーション*/
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 日程テーブル */
.GlobalCupBlockBox {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 2em;
}

table.GlobalCupBlockTable {
  width: 48%;
}

.MatchScheduleBox .GlobalCupBlockTable th {
  text-align: center !important;
  color: #fff;
  background: #86cbbf;
}

/* チーム番号 */
.MatchScheduleBox .GlobalCupBlockTable th.TeamsNumber {
  width: 5%;
  text-align: center !important;
  color: #fff;
  background: #86cbbf;
}

/* 試合スケジュールテーブル */
.GameScheduleTable th,
.GameScheduleTable td {
  text-align: center !important;
  display: table-cell;
  vertical-align: middle;
  font-size: 15px;
}

.GameScheduleTable td {
  border-right: 1px solid #dbdbdb !important;
  text-align: center !important;
}

/* マッチスケジュールタイトル */
.GameScheduleTable th.GameScheduleTitle {
  text-align: center !important;
  color: #fff;
  background: #86cbbf;
}

/* マッチコートスケジュール */
.GameScheduleTable td.MatchCoatTitle {
  height: 30px;
  padding: 0;
  text-align: center !important;
  color: #fff;
  background: #333;
}

/* マッチ日 */
.GameScheduleTable .MatchDay {
  width: 8%;
}

/* 試合時間 */
td.TimeSchedule {
  width: 15%;
  display: table-cell;
  vertical-align: middle;
}

/* 試合結果 */
td.MatchResult {
  width: 20%;
  display: table-cell;
  vertical-align: middle;
}

/* 試合結果チーム */
.TeamsMatchResult {
  width: 7%;
  display: table-cell;
  vertical-align: middle;
}

/*   Chapter07_06 : アクセス
-----------------------------------------*/
.AccessInfoTable {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: unset;
  border-right: unset;
}

.content .AccessInfoTable th,
.content .AccessInfoTable td {
  padding: 1% 0;
  font-size: 14px;
}

.content .AccessInfoTable th {
  width: 25%;
  display: table-cell;
  vertical-align: middle !important;
  padding: 2% 0;
}

.content .AccessInfoTable td {
  width: 80%;
  display: table-cell;
  vertical-align: middle !important;
}

.AccessInfoTable iframe {
  height: 35vh;
}

.OfficialWebsiteText {
  margin: 0;
}

/*   Chapter07_07 : LIVE配信
-----------------------------------------*/
.LiveBox {
  margin: 0 0 5%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
}

.LiveBox p {
  margin: 3% 0 0;
  font-size: 22px;
}

p.BandApplyAnnotationText {
  margin: 3% 0 0;
  font-size: 15px;
}

/* ライブ配信スケジュールテーブル */
.LiveScheduleTable th,
.LiveScheduleTable td {
  text-align: center !important;
  display: table-cell;
  vertical-align: middle;
  font-size: 15px;
}

.LiveScheduleTable th.LiveScheduleTitle {
  text-align: center !important;
  color: #fff;
  background: #86cbbf;
}

.LiveScheduleTable td {
  border-right: 1px solid #dbdbdb !important;
  text-align: center !important;
}

/* マッチコートスケジュール */
.LiveScheduleTable td.MatchCoatTitle {
  height: 30px;
  padding: 0;
  text-align: center !important;
  color: #fff;
  background: #333;
}

/* マッチコートスケジュール */
.LiveScheduleTable th.dayTitle {
  height: 20px;
  padding: 0;
}

/* マッチ日 */
.LiveScheduleTable td.TimeSchedule.MatchDay {
  width: 10%;
}

/* 試合時間 */
.LiveScheduleTable th.TimeSchedule,
.LiveScheduleTable td.TimeSchedule {
  width: 20%;
  display: table-cell;
  vertical-align: middle !important;
}

/* 試合スケジュールテーブル */
.LiveScheduleTable th,
.LiveScheduleTable td {
  text-align: center !important;
  display: table-cell;
  vertical-align: middle;
  font-size: 15px;
}

/*   Chapter07_08 : お問い合わせ
-----------------------------------------*/
.ContactMailLink {
  font-size: 22px;
}

.GlobalCupContactBox {
  margin: 5% 0 0;
}

.GlobalCupContactBox .ContactText {
  margin: 0;
  font-size: 22px;
}

.GlobalCupContactBox h3,
.MediaContactBox h3 {
  font-size: 22px;
  text-align: center;
  font-weight: 500;
  margin-bottom: 10px;
}

.MediaContactBox {
  margin: 10% 0 0;
}

/*   Chapter07_09 : 大会協賛
-----------------------------------------*/
.SponserItem {
  margin: 8% 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
}

.SponserContactBox {
  margin: 15% 0 10%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
}

h3.SponserText {
  margin: 0 0 3%;
  font-size: 22px;
  font-weight: 500;
}

h3.SponserContactText {
  margin-bottom: 10px;
  font-size: 22px;
  font-weight: 500;
}

/* ウタマロロゴ */
img.TOPPartnerLogo {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: 0 auto;
  width: 60%;
}

/* zamstロゴ */
img.OfficialPartnerLogo {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: 0 auto;
  width: 65%;
}

/* ユベントスロゴ */
img.SUBPartnerLogo {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: 0 auto;
  width: 55%;
}

/*---------------------------------------------------
 Chapter08 : 追加CSS
---------------------------------------------------*/

body {
  opacity: 1;
}
header {
  opacity: 1;
}

.block-content {
  background: #dedede;
}

#footer_lp {
  display: none !important;
}

.wrapper .content,
.wrapper .GlobalCupTeamsBox {
  max-width: 1100px;
}
.wrapper .LiveScheduleBox,
.wrapper .outline-box {
  max-width: 730px;
}
.wrapper .MatchScheduleBox {
  max-width: 100%;
}
.wrapper .MatchScheduleBox h2 {
  max-width: 730px;
  text-align: left;
}

section,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
  color: #00100d;
}

.content h2:not(:first-child) {
  margin-top: 0;
}

section a:hover {
  opacity: 0.7;
}

section.wrapper {
  padding: 0 !important;
  margin-top: 200px;
}

section.wrapper.lead-sec {
  margin: 200px 0;
}

.wrapper-s {
  margin-top: 100px !important;
}

nav.HeaderNaviBox {
  background: #fff !important;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  padding: 20px 2% !important;
}

.pc-menu {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-right: 60px;
}
.pc-menu a {
  display: block;
  padding: 10px 0;
  color: #005d4c;
  font-weight: 500;
  font-size: 14px;
  position: relative;
  letter-spacing: 1px;
}
li.active > a::after {
  content: "●";
  color: red;
  position: relative;
}

.pc-menu .active a::after,
.HeaderNaviBox .pc-menu .active a::after {
  background: #005d4c;
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  bottom: 0px;
  transform: translateX(-50%);
}
.pc-menu ul {
  display: flex;
  align-items: center;
  gap: 40px;
}
.pc-menu .font-bold a {
  font-size: 18px;
  font-weight: 500;
}

.font-bold {
  font-weight: bold;
}
.font-medium {
  font-weight: 500;
}
.font-bolder {
  font-weight: 600;
}

footer#FooterArea {
  padding: 100px 0;
  background: #85cbbf;
}
#footer,
.SiteTOP {
  background: #85cbbf;
}

.SiteTOP a {
  display: block;
  max-width: 600px;
  margin: 0 auto 20px;
  padding: 20px;
  border: 2px solid #fff;
  color: #fff;
  font-weight: bold;
  position: relative;
}
.SiteTOP a:after {
  display: inline-block;
  content: "";
  width: 12px;
  height: 12px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  left: calc(50% + 7em);
}

h2.GlobalCupLPTitle {
  font-family: "Oswald", sans-serif;
  margin: 20px auto 30px;
  font-size: 70px;
  font-weight: 400;
  line-height: 1.5;
  color: #006150;
  text-align: left;
}

.CoSponserItem {
  margin: 80px 0 0;
}

h2.GlobalCupLPSubTitle {
  font-family: "Oswald", sans-serif;
  margin: 20px auto 30px;
  font-size: 60px;
  font-weight: 400;
  line-height: 1.5;
  color: #006150;
  text-align: left;
}

h2.GlobalCupLPSubTitle small {
  display: block;
  color: #006150;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 2px;
}

footer .snsicons li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  line-height: 1;
  padding: 6px;
  border-radius: 50%;
  background: #fff;
}
footer .snsicons li a.ico-tw {
  padding: 10px;
}

footer .copyright {
  background: none;
  margin: 20px 0 40px;
  font-size: 14px;
  color: #00100d;
}

.text-center {
  text-align: center !important;
}

.sp-v {
  display: none !important;
}

@media screen and (max-width: 1024px) {
  .pc-menu {
    padding: 0 15px 0 30px;
  }
  .pc-menu ul {
    gap: 20px;
  }
}

@media screen and (max-width: 767px) {
  .pc-v {
    display: none !important;
  }
  .sp-v {
    display: block !important;
  }
  table .sp-v {
    display: table-cell !important;
  }
  table tr.sp-v {
    display: table-row !important;
  }
  header {
    height: auto;
  }
  .pc-menu {
    display: none;
  }
  nav.HeaderNaviBox {
    /*position: relative !important;*/
    display: none;
    justify-content: space-between !important;
    padding: 10px 20px !important;
  }
  header.float nav.HeaderNaviBox {
    position: fixed !important;
    display: flex;
  }
  nav.HeaderNaviBox .HeaderLogo {
    height: 40px;
    width: auto;
  }
  nav.HeaderNaviBox .HamburgerBtn span {
    background-color: #005d4c !important;
  }
  .HamburgerBtn {
    top: 16px;
    right: 0;
  }
  .HamburgerBtn span:nth-of-type(1) {
    top: 3px;
  }
  .HamburgerBtn span:nth-of-type(2) {
    top: 12px;
  }
  .HamburgerBtn span:nth-of-type(3) {
    top: 22px;
  }
  #g-nav li a {
    color: #005d4c;
  }
}

/*   Chapter08_01 : コンテンツ
-----------------------------------------*/
.kv {
  margin-top: 4%;
}

#AnkerMenuArea.last_report {
  background: #005d4c;
  padding: 15px 0;
  text-align: center;
}

#AnkerMenuArea.last_report a.AnkerMenuButton:after {
  content: "";
  background: url(/img/uploads/globalcup2024/img/icon-right.png) no-repeat 0 0;
  background-size: contain;
  width: 50px;
  height: 50px;
  display: inline-block;
  font-weight: 900;
}

#AnkerMenuArea.last_report a.AnkerMenuButton {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1em;
  font-size: 20px;
  font-weight: 500;
}

#TopicsArea dl {
  border-bottom: 1px solid #ccc;
  margin-bottom: 7px;
}
#TopicsArea dl:first-of-type {
  border-top: 1px solid #ccc;
  padding-top: 14px;
}

.TopicsItem a {
  color: inherit;
}
.TopicsItem dt {
  font-family: "Oswald", sans-serif;
  display: flex;
  align-items: center;
  font-size: 18px;
  color: #707473;
  margin-bottom: 5px;
}

.TopicsItem dd {
  margin: 0;
  font-weight: bold;
}

#TopicsArea .ContactBox {
  display: block;
  text-align: right;
}

#TopicsArea .ContactButton {
  width: auto;
  background: none;
  display: inline-flex;
  align-items: center;
  font-weight: bold;
  color: #005d4c;
  margin: 0;
}
#TopicsArea .ContactButton:after {
  content: "";
  background: url(/img/uploads/globalcup2024/img/icon-bottom.png) no-repeat 0 0;
  background-size: contain;
  width: 40px;
  height: 40px;
  display: inline-block;
  font-weight: 900;
  vertical-align: middle;
  margin-left: 10px;
}
#TopicsArea .ContactButton.open:after {
  transform: rotate(180deg);
}
.icon-new {
  background: #005d4c;
  display: inline-block;
  margin-left: 15px;
  padding: 5px 12px 4px;
  font-size: 12px;
  color: #fff;
  line-height: 1;
}

.open-elem {
  display: none;
}

#LastArea {
  margin-top: 110px;
}

.last_movie {
  padding-bottom: 40px;
  text-align: center;
}

.last_movie iframe {
  height: 421px;
}

.GlobalCupLPTeamsItem {
  width: calc(100% / 4 - 1em);
}

.GlobalCupLPTeamsItem img {
  height: 88px;
  width: auto;
}
.GlobalCupLPTeamsItem .TeamsName {
  margin: 10px 0 0;
  font-weight: normal;
  font-size: 16px;
  letter-spacing: 0;
}

.ScheduleArea,
.AccessTabArea {
  display: block;
  opacity: 1;
  background: #fff;
  padding: 0 0 40px;
}
.AccessTabArea {
  padding-bottom: 0;
}

h3.SponserText {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: bold;
  color: #005d4c;
}

.btn-block {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 100px;
  margin: 0 auto 200px;
}
.GlobalCupContactBox h3,
.MediaContactBox h3 {
  width: auto;
  font-size: 18px;
  color: #005d4c;
  text-align: center;
  font-weight: 500;
  margin-bottom: 10px;
  letter-spacing: 0;
}
.btn-block a.ContactButton {
  background: #036150 url(/img/uploads/globalcup2024/img/icon-right.png)
    no-repeat right 40px center;
  background-size: 40px;
  max-width: 100%;
  width: 400px;
  padding: 25px 0;
  font-size: 18px;
  font-weight: 500;
}

.diamonde-box {
  position: relative;
  background: #fff;
  padding: 90px 90px;
}
.diamonde-box:before,
.diamonde-box:after,
.diamonde-corner:before,
.diamonde-corner:after {
  position: absolute;
  content: "";
  display: block;
  width: 200px;
  height: 140px;
  background: #dedede;
}
.diamonde-box:before {
  top: -90px;
  left: -90px;
  transform: rotate(145deg);
  transform-origin: center center;
}
.diamonde-box:after {
  top: -90px;
  right: -90px;
  transform: rotate(-145deg);
  transform-origin: center center;
}
.diamonde-corner {
  width: 100%;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
}
.diamonde-corner:before {
  bottom: -90px;
  left: -90px;
  transform: rotate(-145deg);
  transform-origin: center center;
}
.diamonde-corner:after {
  bottom: -90px;
  right: -90px;
  transform: rotate(145deg);
  transform-origin: center center;
}

.content table td,
.content table th {
  border: 1px solid #c7c7c7;
  border-left: none;
  border-right: none;
}
.content table tbody tr:last-child td,
.content table tbody tr:last-child th {
  border-bottom-width: 1px;
}

.content .GlobalCupOverviewTable th {
  color: #005d4c;
}

.GameScheduleTable th.GameScheduleTitle {
  background: #005d4c;
}

.GameScheduleTable .GameScheduleTitle img {
  width: 12%;
}

.GameScheduleTable .GameScheduleTitle.ResultBoard {
  width: 12%;
}

.ScheduleArea.is-active,
.AccessTabArea.is-active {
  animation: none;
}

.schedule-box {
  background: #fff;
  border-top: 2px solid #005d4c;
  border-bottom: 2px solid #005d4c;
}
.schedule-box + .schedule-box {
  border-top: none;
}
.js-btn-accordion {
  position: relative;
  cursor: pointer;
}
.js-btn-accordion:before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #005d4c;
  border-right: 2px solid #005d4c;
  transform: rotate(135deg) translateY(-50%);
  transform-origin: top;
  position: absolute;
  top: 50%;
  left: calc(50% + 240px);
}
.js-btn-accordion.open:before {
  transform: rotate(315deg) translateY(-50%);
  top: 60%;
}
.accordion-content {
  display: none;
}
.schedule-box .js-btn-accordion {
  padding: 20px 0;
  color: #005d4c;
  text-align: center;
}
.schedule-box .js-btn-accordion.open {
  border-bottom: 1px solid #c7c7c7;
}

/* 予選リーグ */
.QualifyingLeagueBox .GameScheduleTable tr th:first-child {
  width: 30px;
}

.QualifyingLeagueBox .GameScheduleTable td.GameScheduleTitle span {
  width: 30px;
  display: inline-block;
  text-align: center;
  word-break: break-all;
}

.QualifyingLeagueBox .GameScheduleTable td.GameScheduleTitle img {
  height: 40px;
  width: auto;
}

.QualifyingLeagueBox .GameScheduleTable td.GameScheduleTitle {
  padding-left: 0;
  font-size: 10px;
  text-align: center !important;
}

.schedule-box h3,
.schedule-box h4 {
  color: #005d4c;
  font-weight: bold;
  font-size: 20px;
}
.schedule-box h4 {
  border-left: 7px solid #005d4c;
  padding: 2px 0 2px 10px;
  margin-bottom: 20px;
}
.schedule-box h5 {
  margin-bottom: 10px;
}

.schedule-box .accordion-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 0;
}
.GameScheduleTable {
  width: 100%;
  table-layout: fixed;
  letter-spacing: 0;
}
.GameScheduleTable.time-table-small {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.GameScheduleTable tr th {
  width: calc((100% - 190px) / 8);
}
.GameScheduleTable tr th:first-child {
  width: 190px;
}
.GameScheduleTable td {
  padding: 15px 0;
}
.GameScheduleTable td.GameScheduleTitle {
  padding-left: 10px;
  font-size: 12px;
  text-align: left !important;
}
.GameScheduleTable td.GameScheduleTitle span {
  width: 30px;
  display: inline-block;
  text-align: center;
}
.GameScheduleTable td.GameScheduleTitle img {
  height: 20px;
  width: auto;
}
.GameScheduleTable .GameScheduleTitle.BackgroundBlack {
  background: #666;
}
.time-table tr:nth-of-type(2n + 1) {
  background: #ecf8ec;
}
.time-table tr th {
  width: calc((100% - 84px) / 2);
}
.time-table tr th:first-child {
  width: 130px;
}
.time-table tr td {
  padding: 15px 10px;
}
.time-table tr td > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  letter-spacing: 0px;
}
.time-table tr td.text-center > div {
  justify-content: center;
}
.time-table tr td > div > span {
  width: 100%;
  text-align: left;
}
.time-table tr td > div > span:last-child {
  text-align: right;
}
.time-table tr td > div span span {
  display: inline-block;
  width: 25px;
  text-align: center;
  margin-right: 4px;
}
.time-table tr td > div span span img {
  height: 18px;
  width: auto;
  vertical-align: text-bottom;
}
.time-table tr td > div > span:last-child span {
  margin: 0 0 0 4px;
}

.content .GlobalCupOverviewTable th,
.content .GlobalCupOverviewTable td {
  padding: 20px 0;
}

.mb-40 {
  margin-bottom: 40px;
}

section .note {
  font-size: 12px;
}

.AccessInfoTable iframe {
  width: 100%;
  height: 421px;
  margin-bottom: 10px;
}

.LiveScheduleBox > h3 {
  border-left: 7px solid #005d4c;
  padding: 2px 0 2px 10px;
  margin-bottom: 20px;
  font-size: 20px;
  color: #005d4c;
}

.LiveBox .ContactButton {
  background: #036150 url(/img/uploads/parts/icon-site.png) no-repeat right
    calc(50% - 190px) center !important;
  background-size: 20px !important;
  max-width: 100%;
  width: 100%;
  border-radius: 4px;
  padding: 20px 0;
  font-size: 18px;
  font-weight: 500;
}

#AccessArea .content > h3 {
  border-left: 7px solid #005d4c;
  padding: 2px 0 2px 10px;
  margin-bottom: 20px;
  font-size: 20px;
  color: #005d4c;
}
.content .AccessInfoTable {
  border-bottom: none;
}
.content .AccessInfoTable th,
.content .AccessInfoTable td {
  padding: 40px 0;
  font-size: 16px;
}
.content .AccessInfoTable td:first-child {
  padding-top: 0;
  border: none;
}
.content .AccessInfoTable th {
  width: 25%;
  vertical-align: top !important;
}
.content .AccessInfoTable tbody tr:last-child td,
.content .AccessInfoTable tbody tr:last-child th {
  border-bottom: none;
}
.content .AccessInfoTable h3 {
  font-weight: bold;
  color: #005d4c;
}

.SponserItem {
  margin: 40px 0 0;
}

.icon-band {
  margin-top: -6px;
  display: inline-block;
}

.icon-cygames .OfficialPartnerLogo {
  width: 220px;
  margin-top: 10px;
}

@media screen and (max-width: 1024px) {
  .wrapper .content,
  .wrapper .GlobalCupTeamsBox {
    max-width: 730px;
  }
  .schedule-box .accordion-content {
    padding: 40px 20px;
  }
  .time-table tr td > div {
    gap: 12px;
    font-size: 12px;
  }
  .btn-block {
    display: block;
  }
  .GlobalCupLPTeamsItem br.sp-v {
    display: block !important;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .GameScheduleTable tr th {
    width: auto;
  }

  .time-table tr th {
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .HamburgerBtn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  section.wrapper {
    margin-top: 120px;
  }
  section.wrapper.lead-sec {
    margin: 80px 0;
  }
  .wrapper .content,
  .wrapper .GlobalCupTeamsBox {
    max-width: 350px;
  }
  .wrapper .accordion-wrap.schedule-box {
    max-width: 100%;
  }

  .wrapper-s {
    margin-top: 80px !important;
  }
  #LastArea {
    margin-top: 0;
  }
  .last_movie {
    padding: 60px 20px 20px;
  }
  .last_movie iframe {
    height: 189px;
  }
  #AnkerMenuArea.last_report a.AnkerMenuButton:after {
    width: 40px;
    height: 40px;
  }
  .GlobalCupLPTeamsList {
    gap: 4px;
  }
  .GlobalCupLPTeamsItem {
    width: calc(100% / 3 - 4px);
  }
  .GlobalCupLPTeamsList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5px;
  }

  /* 予選リーグ */
  .QualifyingLeagueBox .GameScheduleTable tr th:first-child {
    width: 20px;
  }
  .QualifyingLeagueBox .GameScheduleTable td.GameScheduleTitle img {
    height: 20px;
    width: auto;
  }
  .QualifyingLeagueBox .GameScheduleTable th {
    font-size: 10px;
    word-break: break-all;
  }

  h2.GlobalCupLPTitle,
  h2.GlobalCupLPSubTitle {
    margin: 10px auto 30px;
    font-size: 50px;
    line-height: 1.3;
  }
  #TopicsArea .content {
    padding: 0 20px;
  }
  #TopicsArea dl {
    font-size: 15px;
  }
  .js-btn-accordion:before {
    left: auto;
    right: 20px;
  }
  .GameScheduleTable tr th {
    width: auto;
    padding: 10px 2px;
    font-weight: normal;
  }
  .GameScheduleTable tr th:first-child {
    width: 84px;
  }
  .GameScheduleTable tr th.GameScheduleTitle.GameScheduleNumber {
    width: 30px;
  }
  .GameScheduleTable td.GameScheduleTitle {
    padding-left: 0;
    text-align: center;
    letter-spacing: 0;
  }
  .GameScheduleTable td.GameScheduleTitle span {
    display: block;
    width: auto;
    margin: 0 auto 5px;
  }
  .GameScheduleTable th {
    font-size: 12px;
  }
  .GameScheduleTable td {
    padding: 10px 0;
    font-size: 15px;
  }
  .GameScheduleTable td:first-child {
    font-size: 11px;
  }
  .GameScheduleTable td:first-child:not(.court) {
    background: #fff;
    text-align: center !important;
  }
  .time-table-small td:first-child {
    background: inherit !important;
    font-size: 11px;
  }
  .time-table tr td {
    padding: 15px 8px;
  }
  .time-table tr th:first-child {
    width: 48px;
  }
  .time-table tr th:nth-child(2) {
    width: 45px;
  }
  .time-table tr td {
    padding: 15px 6px;
  }
  .time-table tr td.court {
    font-size: 10px;
  }
  .time-table-small tr th:nth-child(2) {
    width: auto;
  }
  .time-table tr td > div {
    font-size: 10px;
    gap: 6px;
  }
  .time-table tr td > div span span {
    width: 18px;
    margin-right: 1px;
  }
  .time-table tr td > div span span img {
    height: 13px;
  }
  .time-table tr td > div > span:last-child span {
    margin-left: 1px;
  }
  .diamonde-box {
    padding: 40px 20px;
  }
  .diamonde-box:before,
  .diamonde-box:after,
  .diamonde-corner:before,
  .diamonde-corner:after {
    width: 100px;
    height: 70px;
  }
  .diamonde-box:before {
    top: -50px;
    left: -50px;
  }
  .diamonde-box:after {
    top: -50px;
    right: -50px;
  }
  .diamonde-corner:before {
    bottom: -50px;
    left: -50px;
  }
  .diamonde-corner:after {
    bottom: -50px;
    right: -50px;
  }
  .GlobalCupLPTeamsItem .TeamsName {
    margin: 10px 2px 10px;
    font-size: 13px;
    letter-spacing: 0;
  }
  .GlobalCupLPTeamsItem img {
    width: 40%;
    height: auto;
  }
  .AbroadTeamsList .GlobalCupLPTeamsItem img {
    width: 55%;
  }
  .MatchScheduleBox h2 {
    padding: 0 20px;
  }
  .LiveBox {
    margin-bottom: 40px;
  }
  .LiveScheduleBox {
    padding: 0 20px;
  }
  .LiveBox .ContactButton {
    background-position: right 20px center !important;
    background-size: 16px !important;
  }
  .content .AccessInfoTable tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .content .AccessInfoTable td:first-child {
    padding-top: 0;
    border-bottom: 2px solid #c7c7c7;
  }
  .content .AccessInfoTable th,
  .content .AccessInfoTable td {
    width: 100%;
  }
  .content .AccessInfoTable th {
    border: none;
    padding-bottom: 10px;
  }
  .content .AccessInfoTable td {
    border-top: none;
    border-bottom: 2px solid #c7c7c7;
    padding-top: 0;
  }
  .AccessInfoTable iframe {
    height: 188px;
  }
  .content .AccessInfoTable h3 {
    font-size: 16px;
  }
  .wrapper .outline-box {
    padding: 0 20px;
  }
  .content .GlobalCupOverviewTable th,
  .content .GlobalCupOverviewTable td {
    width: 100%;
    display: block;
    border: none;
    padding: 0;
    font-size: 16px;
  }
  .content .GlobalCupOverviewTable th {
    border-top: 2px solid #c7c7c7;
    padding-top: 20px;
  }
  .content .GlobalCupOverviewTable td {
    padding-bottom: 20px;
    padding-top: 10px;
  }
  .content .GlobalCupOverviewTable tr:last-child td {
    border-bottom: 2px solid #c7c7c7;
  }

  img.OfficialPartnerLogo,
  img.TOPPartnerLogo {
    width: 240px;
  }

  .icon-cygames .OfficialPartnerLogo {
    width: 155px;
  }

  .btn-block {
    margin-bottom: 120px;
  }
  .logo-footer {
    width: 240px;
    margin: 0 auto;
  }

  .logo-sol img {
    width: 168px;
  }
  .SiteTOP {
    width: 275px;
    margin: 0 auto;
  }
  .SiteTOP a {
    padding: 15px 20px;
  }
}

@media screen and (max-width: 350px) {
  .wrapper .content,
  .wrapper .GlobalCupTeamsBox {
    padding: 40px 10px;
  }
  .LiveBox .ContactButton {
    background-image: none !important;
  }

  .btn-block a.ContactButton {
    background-size: 30px;
    background-position: right 20px center;
  }
}

/*   Chapter08_02 : レポートページ
-----------------------------------------*/
.report-page {
  background: #005d4c;
  overflow: hidden;
}

.report-page section {
  color: #fff;
}

.report-page .lead-box h2,
.report-page h2.GlobalCupLPTitle {
  color: #fff;
}

.content .ReportMainTitle,
.content .AwardTitle {
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f6ff84;
  font-size: 24px;
  color: #f6ff84;
  text-align: center;
}

.award .AwardSubTitle {
  margin: 30px 0;
  padding: 15px;
  border-radius: 10px;
  color: #005d4c;
  background: #fff;
}

.AwardPhotoBox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.5em;
  justify-content: space-between;
}

.AwardPhotoBox img {
  width: 48%;
}

.AwardSubPhotoBox {
  margin: 0 auto;
  text-align: center;
}

.AwardSubPhotoBox img {
  margin: 0 auto;
  width: 48%;
}

.report-page .lead-box {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 20px;
  line-height: 1.6;
}

.report-page #AnkerMenuArea.last_report {
  background: #fff;
}
.report-page #AnkerMenuArea.last_report a {
  color: #005d4c;
}
.report-page #AnkerMenuArea.last_report a.AnkerMenuButton:after {
  background: url(/img/uploads/globalcup2024/img/icon-right-2.png) no-repeat 0 0;
  background-size: contain;
}

.report-page .diamonde-box:before,
.report-page .diamonde-box:after,
.report-page .diamonde-corner:before,
.report-page .diamonde-corner:after {
  background: #005d4c;
}

.report-page .diamonde-box h2.GlobalCupLPTitle {
  color: #005d4c;
}

.report-page .result-box {
  margin-bottom: 10px;
}
.report-page .result-box > div {
  max-width: 300px;
  margin: 10px auto 0;
  border-radius: 25px;
  background: #005d4c;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 15px 10px;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  color: #fff;
}
.report-page .result-box > .first {
  max-width: 350px;
  padding: 25px 10px;
  border-radius: 60px;
  font-size: 30px;
}

.report-page .result-box h3 {
  width: 100%;
  font-size: 24px;
  color: #f6ff84;
  position: relative;
  text-align: center;
  margin-bottom: 10px;
}

.report-page .result-box h3:after {
  content: "";
  display: block;
  width: 31px;
  height: 31px;
  background: url(/img/uploads/globalcup2024/img/report/icon-crown.png)
    no-repeat 0 0;
  background-size: contain;
  position: absolute;
  left: calc(50% + 35px);
  bottom: -3px;
}

.report-page .comment {
  display: block;
  font-size: 0.9rem;
  border: 1px solid #ccc;
  padding: 10px 12px 12px;
  border-radius: 6px;
  margin: 50px auto 0;
  height: 250px;
  overflow: auto;
  padding: 20px;
}

.report-page .comment h3 {
  font-size: 1.3em !important;
  color: #fff;
  line-height: 1.5;
}

.gallery-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
  gap: 20px;
}
.gallery-list > div {
  width: calc((100% - 40px) / 3);
  height: 20vw;
}
.gallery-list > div:nth-child(n + 4):nth-child(-n + 7),
.gallery-list > div:nth-child(n + 11):nth-child(-n + 14),
.gallery-list > div:nth-child(n + 18):nth-child(-n + 21),
.gallery-list > div:nth-child(n + 25):nth-child(-n + 28) {
  height: 13vw;
}
.gallery-list > div:nth-child(4),
.gallery-list > div:nth-child(12),
.gallery-list > div:nth-child(19),
.gallery-list > div:nth-child(26) {
  width: 23%;
}
.gallery-list > div:nth-child(5),
.gallery-list > div:nth-child(11),
.gallery-list > div:nth-child(18) {
  width: 25%;
}
.gallery-list > div:nth-child(6),
.gallery-list > div:nth-child(13),
.gallery-list > div:nth-child(20),
.gallery-list > div:nth-child(27) {
  width: calc(29% - 60px);
}
.gallery-list > div:nth-child(7),
.gallery-list > div:nth-child(14),
.gallery-list > div:nth-child(21),
.gallery-list > div:nth-child(28) {
  width: 23%;
}

.gallery-list > div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.modal-gallery {
  background: #dedede;
  position: fixed;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.modal-gallery a {
  width: 100%;
  height: 100%;
  display: block;
  padding: 10px;
}
.modal-gallery a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.modal-gallery a:hover {
  opacity: 1;
}
.modal-gallery a:before {
  content: "×";
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  color: #555;
  z-index: 10;
}

.report-page #LastArea {
  margin: 200px 0;
}

.player-box {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 45px;
  text-align: center;
  font-weight: bold;
}
.player-box > div {
  width: calc(25% - 34px);
}
.player-box .team {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 25px;
  margin-bottom: 10px !important;
  padding: 8px;
  color: #005d4c;
  letter-spacing: 0;
}

@media screen and (max-width: 1024px) {
  .player-box {
    padding: 0 10px;
    gap: 25px 30px;
    font-size: 14px;
  }
  .player-box > div {
    width: calc(25% - 23px);
  }
}

@media screen and (max-width: 767px) {
  .report-page .lead-box h2 {
    font-size: 20px;
  }
  .report-page .comment {
    font-size: 0.8rem;
    margin: 0;
    padding: 10px 10px 12px;
  }
  .gallery-list {
    gap: 10px;
  }
  .gallery-list > div {
    width: calc((100% - 10px) / 2) !important;
    height: 33vw !important;
  }
  .gallery-list > div:nth-child(3),
  .gallery-list > div:nth-child(4),
  .gallery-list > div:nth-child(5),
  .gallery-list > div:nth-child(8),
  .gallery-list > div:nth-child(9),
  .gallery-list > div:nth-child(10),
  .gallery-list > div:nth-child(13),
  .gallery-list > div:nth-child(14),
  .gallery-list > div:nth-child(15),
  .gallery-list > div:nth-child(18),
  .gallery-list > div:nth-child(19),
  .gallery-list > div:nth-child(20),
  .gallery-list > div:nth-child(23),
  .gallery-list > div:nth-child(24),
  .gallery-list > div:nth-child(25),
  .gallery-list > div:nth-child(28),
  .gallery-list > div:nth-child(29),
  .gallery-list > div:nth-child(30) {
    width: calc((100% - 20px) / 3) !important;
    height: 22vw !important;
  }
  .gallery-list > div.modal-gallery {
    width: 100% !important;
    height: 100% !important;
  }
  .report-page #LastArea {
    margin: 120px 0;
  }
  .player-box {
    gap: 25px 24px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .player-box > div {
    width: calc(50% - 12px);
  }
  .player-box .team {
    min-height: auto;
  }
  .player-box .team {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 25px;
    margin-bottom: 10px !important;
    padding: 8px;
    font-size: 12px;
  }
  .report-page .comment h3 {
    font-size: 1em !important;
    color: #fff;
    line-height: 1.5;
  }
}

/*   Chapter08_03 : NEWS
-----------------------------------------*/
.news-page {
  background: #fff;
  overflow: hidden;
}
.news-page header {
  height: auto;
}
.news-page .content {
  max-width: 640px;
  margin: 0 auto 120px;
  padding: 0 20px;
  font-weight: 500;
}
.news-page section.wrapper {
  margin-top: 120px;
}
.news-page .lead-box {
  line-height: 1.6;
}
.news-page .lead-box h2 {
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #005d4c;
  font-size: 24px;
  color: #005d4c;
  text-align: center;
  line-height: 1.8;
}

.news-page .article {
  margin-top: 120px;
}

.news-page .article:last-of-type {
  margin-bottom: 160px;
}

.news-page .article h3 {
  font-weight: bold;
  font-size: 20px;
  border-left: 7px solid #005d4c;
  padding-left: 10px;
  color: #005d4c;
  margin-bottom: 30px;
}
.news-page .article p {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .news-page nav.HeaderNaviBox {
    position: fixed !important;
    display: flex;
  }
  .news-page .kv {
    margin-top: 0;
  }
  .news-page section.wrapper {
    margin-top: 80px;
  }
  .news-page .content {
    margin: 0 auto 80px;
  }
  .news-page .article {
    margin-top: 80px;
  }
  .news-page .lead-box h2 {
    font-size: 22px;
    line-height: 1.6;
    text-align: left;
  }
}

.time-table tr td > div {
  white-space: nowrap;
}
.time-table tr td > div > span.score {
  width: 83px !important;
  text-align: center;
}

.time-table.result tr td > div {
  font-size: 13px;
}
.time-table.result tr td > div > span.score {
  width: 108px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .time-table.result tr td > div {
    font-size: 10px;
  }
  .time-table.result tr td > div > span.score {
    width: 76px;
  }
}

@media screen and (max-width: 360px) {
  .time-table tr td > div {
    white-space: normal;
    font-size: 9px;
  }
}

@media screen and (max-width: 340px) {
  .time-table tr td > div span span {
    width: 100%;
    display: block;
    text-align: left;
  }
  .time-table tr td > div > span:last-child span {
    margin-left: 1px;
    text-align: right;
  }
}

/*   Chapter08_04 : スケジュール
-----------------------------------------*/
.schedule-box.content h3 {
  margin-bottom: 0;
}
.schedule-box.content table td,
.schedule-box.content table th {
  padding: 10px;
  vertical-align: middle;
  color: #00100d;
}
.schedule-box.content table th {
  color: #fff;
  border: 1px solid #fff;
}

/*   Chapter08_05 : 申込みフォーム
-----------------------------------------*/
h2.GlobalCupLPTitle {
  text-align: center;
}

.lead-box {
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
  padding-bottom: 40px;
}
.lead-box .box {
  border: none;
  margin-bottom: 20px;
  padding-top: 270px;
  box-shadow: none;
}

.lead-box .box strong {
  color: #005d4c;
}

.lead-box h2 {
  max-width: 900px;
  position: absolute;
  top: -80px;
  left: 100px;
}

.lead-box h2.MainLeadTitle {
  width: 80%;
  max-width: 100%;
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
}

.lead-box .MainLeadPhoto {
  width: 30%;
  max-width: 100%;
  position: absolute;
  top: 290px;
  right: -200px;
  transform: translateX(-50%);
}

.flex {
  display: flex;
  justify-content: space-between;
}

.lead-box .flex > .LeadText {
  width: 65%;
  padding: 0;
  flex-shrink: 0;
  font-size: 22px;
}

.lead-box .flex > .MainLeadText {
  width: 100%;
  padding: 0;
  flex-shrink: 0;
  font-size: 24px;
}

.lead-box .flex > .MainLeadPhoto {
}

.lead-box .flex > div:first-child {
  width: 100%;
  padding: 80px 0 0;
  flex-shrink: 0;
  font-size: 25px;
}

.lead-box .flex > div:last-child {
  margin: -100px -50px 0 0;
}
.lead-box:after {
  background: url(../img/lead-img-3.png) no-repeat 0 0;
  background-size: contain;
  content: "";
  display: block;
  width: 320px;
  height: 210px;
  position: absolute;
  left: -50px;
  bottom: 0;
}

.btn-link {
  background: #85cbbf !important;
  width: 100%;
  max-width: 600px;
  height: 62px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  color: #fff !important;
  font-weight: bold;
  position: relative;
  text-decoration: none !important;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

/* ボタン */
.GlobalCupBtnTypeA {
  margin: 0 0 20px;
}

.GlobalCupBtnTypeA .btn-link {
  background: #85cbbf !important;
  width: 50%;
  max-width: 100%;
  height: 65px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  color: #fff !important;
  font-weight: bold;
  position: relative;
  text-decoration: none !important;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.GlobalCupBtnTypeA .btn-link:after,
.btn-link:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 15px;
  background: url(../img/icon-arrow.png) no-repeat 0 0;
  background-size: contain;
  margin: -5px 0 0 208px;
}

.GlobalCupBtnTypeA .btn-link:after {
  margin: -5px 0 0 120px;
}

.GlobalCupBtnTypeB {
  margin: 0 0 20px;
}

.GlobalCupBtnTypeB .btn-link {
  background: #85cbbf !important;
  width: 50%;
  max-width: 100%;
  height: 65px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  color: #fff !important;
  font-weight: bold;
  position: relative;
  text-decoration: none !important;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.outline-box h2 + p {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #707473;
}
.outline-box .prize {
  margin: 30px 0 40px;
}

.icon-map {
  background: #85cbbf;
  display: inline-flex;
  margin: 10px 0 0;
  padding: 4px 15px;
  color: #fff !important;
  border-radius: 15px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  float: left;
  font-size: 16px;
  letter-spacing: 0px;
}

section.entry-sec {
  padding: 80px 0 !important;
}
.bg-green {
  background: #005d4c;
}
.bg-green h2.GlobalCupLPTitle {
  color: #fff;
}
.entry-box .box {
  margin: 0 auto;
  max-width: 750px;
  padding: 60px 0;
  text-align: center;
  font-size: 20px;
}
.entry-box h3 {
  font-weight: bold;
  color: #005d4c;
  font-size: 24px;
  position: relative;
  text-align: center;
  margin-bottom: 30px;
}
.entry-box h3:after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #005d4c;
  margin: 8px auto 0;
}
footer#FooterArea {
  margin-top: 200px;
}
.entry-box .bg-gray {
  max-width: 80%;
  background: #dedede;
  padding: 30px 10px;
  border-radius: 10px;
  margin: 0 auto;
}

#entry-form-wrap {
  padding: 0;
  text-align: left;
  margin-top: 1.5em;
}
#entry-form-wrap > div {
  max-width: 600px;
  margin: 0 auto;
  padding: 40px 10px;
}
#entry-form-wrap .webform-progress {
  display: none;
}
#entry-form-wrap .webform-ajax-form-wrapper:before {
  content: none !important;
}
#entry-form-wrap .form-item-last-name label,
#entry-form-wrap .form-item-first-name label {
  padding-top: 0 !important;
  display: none;
}
#entry-form-wrap .name-title {
  height: 30px;
  width: 100%;
  display: block;
  margin-top: 24px;
  font-size: 16px;
  font-weight: bold;
  clear: both;
  color: #333;
}
#entry-form-wrap .form-item-last-name,
#entry-form-wrap .form-item-first-name {
  width: 44%;
  float: left;
}
#entry-form-wrap .form-item-first-name {
  padding-top: 54px;
  margin-left: 15px;
}
#entry-form-wrap .form-item-post-name {
  clear: both;
}
#entry-form-wrap .form-required:after {
  content: "必須";
  color: #fff;
  font-size: 10px;
  background: #d84b00;
  border-radius: 10px;
  padding: 0 4px 1px 5px;
  margin-left: 10px;
  vertical-align: middle;
}
#entry-form-wrap .js-form-item label {
  display: block;
  padding-top: 24px !important;
  font-size: 16px;
}
#entry-form-wrap .js-form-item input {
  max-width: 100%;
  font-size: 16px;
}
#entry-form-wrap .js-form-item select {
  font-size: 16px;
}
#entry-form-wrap .form-item-agree {
  padding-top: 24px;
  font-size: 16px;
}
#entry-form-wrap .form-item-agree .subject {
  display: block !important;
  margin-bottom: 10px;
}

#entry-form-wrap .webform-submission-form .form-actions .form-submit {
  background: url(../img/icon-arrow.png) no-repeat right 20px center #85cbbf !important;
  background-size: 10px !important;
  color: #fff;
  width: 100%;
  margin-bottom: 20px;
}
#entry-form-wrap
  .webform-submission-form
  .form-submit.webform-button--previous {
  background: url(../img/icon-arrow-left.png) no-repeat left 20px center #85cbbf !important;
  background-size: 10px !important;
}
#entry-form-wrap .messages__list {
  margin-left: 0;
}
#entry-form-wrap .ajax-progress-throbber {
  display: none !important;
}

#entry-form-wrap .webform-submission-form .webform-preview {
  padding: 20px 0px;
  font-size: 16px;
}
#entry-form-wrap .webform-submission-form .webform-preview .form-item-last-name,
#entry-form-wrap
  .webform-submission-form
  .webform-preview
  .form-item-first-name {
  width: 100% !important;
  float: none;
}
#entry-form-wrap
  .webform-submission-form
  .webform-preview
  .form-item-first-name {
  padding-top: 0;
  margin-left: 0;
}
#entry-form-wrap .agree-wrap {
  margin-top: 20px;
  margin-bottom: 40px;
  padding: 5px 10px;
  border: 1px solid #c7c7c7;
  border-radius: 10px;
  line-height: 1;
}
#entry-form-wrap .agree-wrap label {
  display: inline-block;
  padding-top: 0 !important;
  margin-left: 0;
}
#entry-form-wrap .agree-wrap label:after {
  content: none !important;
}
#entry-form-wrap .agree-wrap input {
  border-radius: 50%;
  border: 2px solid #c7c7c7 !important;
  display: inline-block;
  width: 14px;
  height: 14px;
  appearance: none;
  vertical-align: text-top;
  outline: none;
  margin-right: 10px;
}
#entry-form-wrap .agree-wrap input:checked {
  background: #aaa;
  border-color: #aaa !important;
}
.content .GlobalCupOverviewTable td ul li {
  list-style-type: disc !important;
}

/*   Chapter08_06 : 本戦ページ用
-----------------------------------------*/
body nav.HeaderNaviBox {
  padding: 10px 2% !important;
}
body .pc-menu ul {
  text-align: center;
}
body .pc-menu .active a:after {
  background: #005d4c;
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  bottom: -3px;
  transform: translateX(-50%);
}

body .pc-menu ul li a {
  font-weight: bold;
}
body .pc-menu ul li a small {
  font-weight: normal;
  font-size: 90%;
}
body #LastArea {
  background: #005d4c;
  margin: 0;
  padding: 80px 0 !important;
}
body #AnkerMenuArea.last_report {
  background: none;
}
body a.AnkerMenuButton {
  background: #fff;
  padding: 24px 10px;
  border: 1px solid #005d4c;
  border-radius: 4px;
  width: 500px;
  max-width: 90%;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  color: #005d4c;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

#AnkerMenuArea.last_report a.AnkerMenuButton {
  background: #fff;
  padding: 24px 10px;
  border: unset;
  border-radius: 4px;
  width: 500px;
  max-width: 90%;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  color: #005d4c;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  position: relative;
}

body #AnkerMenuArea.last_report a.AnkerMenuButton:after {
  background: url(/img/uploads/globalcup2025/img/icon-circle-green.png)
    no-repeat 0 0;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
}

h2.GlobalCupLPTitle small {
  display: block;
  color: #006150;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 2px;
}
.comingsoon {
  background: #c7c7c7;
  width: 90%;
  max-width: 750px;
  margin: 40px auto 0;
  padding: 16px 8px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 2px;
  color: #fff;
}
.sitelink {
  display: block;
  margin-top: 4px;
  text-decoration: underline;
  color: #005d4c !important;
}
.sitelink:after {
  content: "";
  display: inline-block;
  background: url(/img/uploads/globalcup2025/img/icon-sitelink.png) no-repeat 0
    0;
  background-size: contain;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  margin-bottom: -2px;
}
.AccessInfoTable h3 {
  font-size: 1rem !important;
}
#leadBox .wrapper {
  max-width: 750px;
  margin: 120px auto;
  font-size: 22px;
  line-height: 1.7;
  padding: 0;
  text-align: center;
}
#leadBox .wrapper .lead-text .TextBreak {
  white-space: pre;
}
#leadBox .wrapper img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-bottom: 40px;
}
#leadBox .wrapper strong {
  color: #005d4c;
}

h3.ReportMainTitle.YouTubeTitle {
  margin: 100px 0 50px;
}

.YouTubeFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* 余白を追加 */
}

.YouTubeBox {
  flex: 1 1 45%;
  max-width: 560px;
  position: relative;
  margin: 0 0 30px;
  padding-top: 25%;
  height: 0;
}

.YouTubeBox iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*---------------------------------------------------------
  Chapter99_02 : タブレット（601px〜1024px）
---------------------------------------------------------*/
@media screen and (min-width: 601px) and (max-width: 1024px) {
  /*---------- レイアウト ：　〜1024px  ----------*/
  .wrapper .content {
    max-width: 80%;
  }
  .wrapper .LiveScheduleBox {
    max-width: 80%;
  }

  /*---------- ハンバーガー ：　〜1024px  ----------*/
  #lp_head .header-main {
    display: none;
  }
  .menu-bar {
    display: none !important;
  }
  .HamburgerBtn {
    top: 12px;
    width: 60px;
    height: 60px;
  }
  #g-nav {
    width: 40%;
  }
  #g-nav.panelactive #g-nav-list {
    margin: 10% 0 0;
    width: 40%;
  }

  /*---------- キービジュアル ： 〜600px  ----------*/
  .kv .pc {
    display: none;
  }
  .kv .sp {
    display: block;
    width: 100%;
  }
  .kv img {
    display: flex;
    justify-content: center;
    width: 70%;
    margin: 0;
  }
  nav.HeaderNaviBox.fixed .HeaderLogo {
    margin: 0 auto;
  }

  /*---------- TOPICS ：　〜1024px  ----------*/
  .TopicsItem dt {
    width: 15%;
  }

  /*---------- 参加チーム ：　〜1024px  ----------*/
  .wrapper .GlobalCupTeamsBox {
    max-width: 90%;
  }

  /*---------- Live配信 ：　〜1024px  ----------*/
  td.TimeSchedule.MatchDay {
    width: 10%;
  }
} /* 〜1024px END */

/*---------------------------------------------------------
  Chapter99_03 : スマホ（318px〜600px）
---------------------------------------------------------*/
@media screen and (min-width: 318px) and (max-width: 600px) {
  /*---------- レイアウト ： 〜600px  ----------*/
  .header-main {
    display: none;
  }
  .wrapper {
    padding: 20px 0;
  }
  .wrapper .content {
    max-width: 85%;
    padding: 0 0 30px 0;
  }
  #SponserArea .content {
    padding: 30px;
  }
  .wrapper .LiveScheduleBox {
    max-width: 85%;
  }

  /*---------- テキスト ： 〜600px  ----------*/
  h2.GlobalCupLPTitle {
    margin: 5% 0 10%;
    font-size: 28px;
  }

  /*---------- ボタン ： 〜600px  ----------*/
  a.ContactButton {
    width: 200px;
    margin: 5% 0;
    padding: 3%;
  }

  /*---------- ナビゲーション ： 〜600px  ----------*/
  nav.HeaderNaviBox.fixed {
    justify-content: center;
    background: #ffffff;
  }

  /*---------- ハンバーガー ： 〜600px  ----------*/
  .menu-bar {
    display: none !important;
  }
  .HamburgerBtn {
    top: 12px;
    width: 60px;
    height: 60px;
  }
  .HamburgerBtn span {
    width: 50%;
  }
  .HamburgerBtn span:nth-of-type(1) {
    top: 3px;
  }
  .HamburgerBtn span:nth-of-type(2) {
    top: 12px;
  }
  .HamburgerBtn span:nth-of-type(3) {
    top: 22px;
  }
  #g-nav {
    width: 60%;
  }
  #g-nav.panelactive #g-nav-list {
    margin: 10% 0 0;
    width: 60%;
  }

  /*---------- 検索 ： 〜600px  ----------*/
  #views-exposed-form-search-page-page-1 #edit-actions,
  #block-waibushezhifuomusearch-pagepage-1 #edit-actions--2 {
    width: 9%;
  }
  #views-exposed-form-search-page-page-1 .js-form-item-keys,
  #block-waibushezhifuomusearch-pagepage-1 .js-form-item-keys {
    width: 70%;
  }

  /*---------- キービジュアル ： 〜600px  ----------*/
  .kv .pc {
    display: none;
  }
  .kv .sp {
    display: block;
    width: 100%;
  }
  .kv img {
    display: flex;
    justify-content: center;
    width: 50%;
    margin: 0;
  }
  nav.HeaderNaviBox.fixed .HeaderLogo {
    margin: 0 auto;
  }

  /*---------- アンカーメニュー ： 〜600px  ----------*/
  section#AnkerMenuArea {
    padding: 2% 0;
  }
  a.AnkerMenuButton {
    font-size: 15px;
  }

  /*---------- TOPICS ： 〜600px  ----------*/
  #TopicsArea dl {
    padding: 5px 0;
  }
  .TopicsItem dt {
    width: 20%;
  }

  /*---------- 大会概要 ： 〜600px  ----------*/
  .content .GlobalCupOverviewTable th,
  .content .GlobalCupOverviewTable td {
    padding: 3% 0;
    font-size: 15px;
  }

  /*---------- 参加チーム ： 〜600px  ----------*/
  .wrapper .GlobalCupTeamsBox {
    max-width: 90%;
  }
  .GlobalCupLPTeamsList {
    gap: 0.2em;
    justify-content: flex-start;
  }
  .GlobalCupLPTeamsItem {
    margin: 0 0 3% 0;
    width: 32%;
  }
  .juventus-only img {
    width: 20%;
    height: auto;
  }
  .villarreal-only img {
    width: 25%;
    height: auto;
  }
  .TeamsName {
    margin: 15% 0 0;
    font-size: 12px;
  }
  .GlobalCupLPTeamsList.AbroadTeamsList {
    flex-wrap: nowrap;
  }
  .AbroadTeamsList .TeamsName {
    font-size: 14px;
  }
  .AbroadTeamsList .GlobalCupLPTeamsItem img {
    width: 65%;
  }

  /*---------- 試合日程 ： 〜600px  ----------*/
  .MatchScheduleTab {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    flex-direction: row;
    overflow-x: scroll;
  }
  .AccessTab {
    justify-content: center;
  }

  .MatchScheduleTab li,
  .AccessTab li {
    width: 150px;
    flex-shrink: 0;
  }
  td.GameNumber {
    width: 9%;
  }
  .GlobalCupBlockTable th {
    font-size: 14px;
    display: table-cell;
    vertical-align: middle;
  }
  .GlobalCupBlockTable td {
    padding: 2%;
    font-size: 14px;
    display: table-cell;
    vertical-align: middle;
  }
  .GameScheduleTable th,
  .GameScheduleTable td {
    padding: 1%;
    font-size: 10px;
  }
  .GameScheduleTable td span {
    display: inline-block;
  }
  .MatchScheduleTab li a,
  .AccessTab li a {
    padding: 10px 3px;
    font-size: 12px;
  }

  /*---------- アクセス ： 〜600px  ----------*/
  ul.AccessTab {
    margin-left: 0;
  }
  .content .AccessInfoTable th,
  .content .AccessInfoTable td {
    padding: 3% 0;
    font-size: 15px;
  }
  li.AccessTabItem {
    width: 150px;
  }
  .AccessInfoTable iframe {
    height: 30vh;
  }

  /*---------- ライブ配信 ： 〜600px  ----------*/
  td.GameNumber {
    width: 6%;
  }
  .LiveScheduleTable th {
    font-size: 14px;
    display: table-cell;
    vertical-align: middle;
  }
  .LiveScheduleTable td {
    padding: 2%;
    font-size: 14px;
    display: table-cell;
    vertical-align: middle;
  }
  .LiveScheduleTable td.MatchCoatTitle {
    height: 20px;
  }
  .LiveScheduleTable th,
  .LiveScheduleTable td {
    padding: 1%;
    font-size: 10px;
  }

  /*---------- お問い合わせ ： 〜600px  ----------*/
  .MediaContactBox {
    margin: 15% 0 0;
  }
  .GlobalCupContactBox .ContactText {
    font-size: 18px;
  }

  /*---------- スポンサー ： 〜600px  ----------*/
  .GlobalCupContactBox p {
    font-size: 18px;
  }
  .ContactMailLink {
    font-size: 18px;
  }
  img.TOPPartnerLogo {
    width: 55%;
  }
  img.OfficialPartnerLogo {
    width: 65%;
  }
  img.SUBPartnerLogo {
    width: 55%;
  }

  /*---------- footer ： 〜600px  ----------*/
  footer#FooterArea {
    margin-top: 0;
  }
} /* 〜600px END */

/*---------------------------------------------------------
  Chapter99_04 : 追加CSS
---------------------------------------------------------*/

@media screen and (max-width: 1024px) {
  .flex {
    display: block;
  }
  .flex > div {
    width: 100% !important;
  }
  .lead-box {
    width: calc(100% - 40px);
  }
  .lead-box h2 {
    max-width: 100%;
    width: 100%;
    top: 0;
    left: 20px;
    text-align: left;
  }
  .lead-box h2.MainLeadTitle {
    width: 90%;
    top: 0;
    right: -110px;
  }
  .lead-box:after {
    content: none;
  }
  .lead-box .flex > div:last-child {
    margin: 0;
    padding: 0;
  }
  .lead-box .MainLeadPhoto {
    width: 100%;
    max-width: 100%;
    position: relative;
    top: 0;
    right: -110px;
  }
  .lead-box .box {
    padding-top: 330px;
  }
  .lead-box .flex .MainLeadText {
    padding: 0;
    font-size: 20px;
  }
  .lead-box .flex > .LeadText {
    width: 100%;
    padding: 20px 0 0 0;
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .BreakPoint {
    display: none;
  }

  .lead-box .box {
    padding-top: 45vw;
  }
  .btn-link {
    max-width: calc(100% - 40px);
    height: auto;
    padding: 20px 35px;
    font-size: 14px;
  }
  .btn-link:after {
    left: auto;
    right: 25px;
    margin: -5px 0 0;
  }
  .btn-link:after {
    left: 90%;
  }
  .GlobalCupBtnTypeA .btn-link,
  .GlobalCupBtnTypeB .btn-link {
    width: 85%;
  }
  .GlobalCupBtnTypeA .btn-link:after {
    left: 35%;
  }
  .icon-map {
    padding: 2px 8px;
    font-size: 11px;
    letter-spacing: 0px;
  }
  .entry-box .box,
  .diamonde-box {
    max-width: calc(100% - 0px) !important;
  }
  .entry-box .box {
    font-size: 16px;
  }
  .entry-box .bg-gray {
    max-width: calc(100% - 40px);
  }
  #entry-form-wrap > div {
    padding: 24px 10px;
  }
  .messages.messages--error {
    margin-top: 24px;
  }

  body .kv {
    margin-top: 70px;
  }
  body nav.HeaderNaviBox {
    display: block;
  }
  #g-nav li a {
    letter-spacing: 1px;
  }
  #g-nav li small {
    font-size: 10px;
    display: block;
  }
  #leadBox .wrapper {
    margin: 60px auto;
    padding: 0 20px;
    font-size: 16px;
  }
  #SponserArea h2.GlobalCupLPTitle {
    padding: 0;
  }

  h2.GlobalCupLPTitle small {
    font-size: 16px;
  }
  .comingsoon {
    font-size: 16px;
  }
  body .last_movie {
    padding: 0 20px 20px;
  }
  body #AnkerMenuArea.last_report a.AnkerMenuButton {
    font-size: 16px;
  }
  body #AnkerMenuArea.last_report a.AnkerMenuButton:after {
    width: 30px;
    height: 30px;
  }
  #leadBox .wrapper .lead-text {
    text-align: justify;
  }
  #leadBox .wrapper .lead-text .TextBreak {
    white-space: normal;
  }

  .AwardPhotoBox img {
    width: 44%;
  }

  .YouTubeFlex {
    flex-direction: column;
  }

  .YouTubeBox {
    padding-top: 55%;
  }

  .GlobalCupBtnTypeA {
    margin: 20px 0;
  }

  .GlobalCupBannerBox {
    width: 100%;
  }

  .GlobalCupBannerBox .BreakPoint {
    display: none;
  }
}
