@charset "UTF-8";
/* ----------共通---------- */

a,
a:hover,
a:visited {
  color: #000;
  text-decoration-line: none;
}

body {
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}

br {
  display: block;
  content: "";
  /* margin: 10px 0; */
}

.qwitcher-grypen-regular {
  font-family: "Qwitcher Grypen", cursive;
  font-weight: 400;
  font-style: normal;
}
.qwitcher-grypen-bold {
  font-family: "Qwitcher Grypen", cursive;
  font-weight: 700;
  font-style: normal;
}

/*------------------------------
 fadeAnimation デモ用装飾
------------------------------*/
.fadeAnimation {
  max-width: 100%;
  margin: auto 0px;
}

/*------------------------------
 アニメーション
------------------------------*/
.fadeIn {
  opacity: 0;
}

.fadeUp {
  opacity: 0;
  transform: translateY(50px);
}

.delay04s {
  animation-delay: 0.4s;
}

.fadeIn.is-animated {
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeUp.is-animated {
  animation-name: fadeUp;
  animation-duration: 1s;
  animation-fill-mode: both;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

.btn_area {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 100px;
  /* margin-bottom: 90px; */
  margin-bottom: 0px;
}

*** ボタン用装飾 ***/ .button {
  text-align: center;
  margin: 1rem;
}

/* リンク部分 */
.button a {
  /* width: 300px; */
  display: inline-block;
  padding: 0.8em 2.8em;
  background: #9f0707;
  /* background: #111; */
  font-weight: 600;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
}

/*** ボタンを光らせる ***/
.btn-shine a {
  position: relative;
  /*疑似要素の起点*/
  overflow: hidden;
  /*範囲外の光を隠す*/
}

/*** ボタンをキラッとさせる ***/
.btn-shine a:hover:after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  background: #fff;
  /*光の色*/
  transform: rotate(45deg);
  /*45度傾ける*/
  animation: reflect 1s ease-in-out;
  /*animation: アニメ名｜光る周期｜動き方｜ループ*/
}

/*** 光のアニメーション ***/
@keyframes reflect {
  0% {
    transform: rotate(45deg) scale(0);
    opacity: 1;
  }

  100% {
    transform: rotate(45deg) scale(100);
    opacity: 0;
  }
}

p {
  font-size: 18px;
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}

.pc_none {
  display: none;
}

h1 {
  font-size: 30px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding: 0 40px;
  margin: 30px auto;
  color: #000;
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}

h1:before,
h1:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: #111;
}

h1:before {
  left: 0;
}

h1:after {
  right: 0;
}

.h1_white {
  font-size: 30px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding: 0 40px;
  margin: 30px auto;
  color: #fff;
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}

.h1_white:before,
.h1_white:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 15px;
  height: 2px;
  background-color: #fff;
}

.h1_white:before {
  left: 0;
}

.h1_white:after {
  right: 0;
}

.mb_30 {
  margin-bottom: 30px;
}

.mb_60 {
  margin-bottom: 60px;
}


@media (max-width: 768px) {
  .sp_none {
    display: none;
  }

  .btn_area {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 50px;
    /* margin-bottom: 60px; */
    margin-bottom: 0px;
  }
    .button a {
      font-size: 16px;
    }
}

/*　top btn */
html {
  scroll-behavior: smooth;
}

.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: linear-gradient(135deg, #c3c3c3, #9f0707);
  border: none;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 2;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pagetop i {
  color: white;
  font-size: 24px;
}

.pagetop:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* .pagetop {
  height: 40px;
  width: 40px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: rgba(255, 255, 255, 0.5);
  border: solid 1px #000;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.pagetop__arrow {
  height: 8px;
  width: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: translateY(20%) rotate(-45deg);
} */

/*　top btn end */
@media screen and (max-width: 480px) {
  h1 {
    font-size: 20px;
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin: 30px auto;
    color: #000;

    font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  }

  .h1_white {
    font-size: 20px;
    position: relative;
    display: inline-block;
    padding: 0 30px;
    margin: 30px auto;
    color: #fff;

    font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  }

}

/* ----------共通end---------- */
/* ----------ヘッダー---------- */
.header {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  position: fixed;
  z-index: 999;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
}
.pc-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  max-width: 100%;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0 20px;
  box-sizing: border-box;
}
.pc-menu ul {
  display: flex;
  align-items: center;
  gap: 50px;
  list-style: none;
  margin: 0;
}

/* .pc-menu ul {
  max-width: 100%;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 100px;
  list-style: none;
  background-color: rgba(255, 255, 255, 0.8);
  margin: 0;
} */

.pc-menu li {
  align-items: center;
  font-size: 18px;
  font-weight: 800;
}

.pc-menu ul li a {
  position: relative;/*津田追加*/
  display: inline-block;
  transition: all .3s ease 0s;
  text-decoration: none;
}
/* 津田追加 */
.pc-menu ul li a::after {
  content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    background-color: #9f0707;
    width: 100%;
    height: 2px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s ease-out;
}
.pc-menu ul li a:hover:after {
  transform: scale(1, 1);
  transform-origin: right top;
}
/* end of 津田追加 */
.pc-menu li a:hover {
  cursor: pointer;
  color: #9f0707;
}

/* SNSシェアボタンPC */
.sns-share-button{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  margin-left: 100px;
}
.sns-share-button a img {
  width: 40px;
 height: auto;
}
.sns-share-button a img.twitter{
  width: 30px;
  height: auto;
}
.sns-share-buttons a::after {
  content: none;/* SNSシェアボタンにはアンダーライン効果を適用しない */
}
.share-icon{
  width: 90px;
  height: auto;
}



/* SNSシェアボタンSP */
.sns-share-button-sp{
  /* display: flex; */
  /* justify-content: center; */
  align-items: flex-start;
}
.sns-inner-sp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin: 0 0 0 15px;
}
.sns-inner-sp a img {
  width: 40px;
  height: auto;
}
.sns-inner-sp a img.twitter {
  width: 30px;
  height: auto;
}

@media screen and (max-width: 789px) {
  .share-icon {
      margin: 30px 0 10px 0;
    }
}



/* ハンバーガーメニューのボタン */
.sp-menu__box {
  position: fixed;
  /* 位置を固定 */
  top: 0;
  /* 最上部 */
  right: 0;
  /* 右端 */
  /* 中の要素を上下中央寄せ */
  display: flex;
  justify-content: center;
  align-items: center;
  /* サイズ指定 */
  height: 50px;
  width: 50px;
  /* 最前面にする */
  z-index: 100;
  background-color: #111;
}

/* メニューの白線を疑似要素を使って3本作成 */
.sp-menu__box span,
/* 真ん中の線 */
.sp-menu__box span:before,
/* 上の線 */
.sp-menu__box span:after {
  /* 下の線 */
  /* contentの値を指定しないと疑似要素が生成されない */
  content: "";
  /* ３本線のサイズと色を指定 */
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 2px;
  background-color: #ffffff;
  /* 3本線の位置は絶対位置で指定 */
  position: absolute;
}

/* 上の線の位置 */
.sp-menu__box span:before {
  /* 真ん中の線と離す距離 */
  bottom: 8px;
}

/* 下の線の位置 */
.sp-menu__box span:after {
  /* 真ん中の線と離す距離 */
  top: 8px;
}

/* チェックボックスは常に非表示 */
#sp-menu__check {
  display: none;
}

/* チェックボックスのチェックがON（スマホ用メニューを開いた状態） */
/* 真ん中の線 */
#sp-menu__check:checked~.sp-menu__box span {
  /* 透明にして見えなくする */
  background: rgba(255, 255, 255, 0);
}

/* 上の線 */
#sp-menu__check:checked~.sp-menu__box span::before {
  /* 真ん中の線との距離を無くす（真ん中の線と同じ位置にする） */
  bottom: 0;
  /* 右に45度傾けてバツの片側の線にする */
  transform: rotate(45deg);
}

/* 下の線 */
#sp-menu__check:checked~.sp-menu__box span::after {
  /* 真ん中の線との距離を無くす（真ん中の線と同じ位置にする） */
  top: 0;
  /* 左に45度傾けてバツの片側の線にする */
  transform: rotate(-45deg);
}

#sp-menu__check:checked~.hamburger__content {
  left: 0;
}

/* スマホ用メニュー */
.sp-menu__content {
  /* 絶対位置で指定   */
  position: fixed;
  /* 表示サイズ */
  width: 250px;
  height: 500px;
  /* 開始位置は左上隅 */
  top: 0;
  /* 普段は画面外にするために左端を画面右端の位置にする */
  left: 100%;
  z-index: 90;
  background-color: rgba(255, 255, 255, 0.8);
  /* 右端からゆっくり移動するように表示 */
  transition: all 0.5s;
}

/* スマホ用メニューのリスト */
.sp-menu__list {
  padding: 70px 10px 20px;
}

/* スマホ用メニュー項目 */
.sp-menu__item {
  border-bottom: solid 1px #111;
  list-style: none;
}

/* スマホ用メニュー項目のリンク */
.sp-menu__link {
  display: block;
  /* width: 250px; */
  font-size: 15px;
  box-sizing: border-box;
  color: #111;
  text-decoration: none;
  padding: 9px 15px 10px 0;
}

/* ハンバーガーボタンを押してチェックがONの時だけ
   スマホ用メニューを画面右端に移動する */
#sp-menu__check:checked~.sp-menu__content {
  left: 0%;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 990px) {
  .pc-menu {
    display: none;
  }
}

/* 画面サイズが787px以上の時はスマホ用メニューは非表示 */
@media screen and (min-width: 989px) {
  .sp-menu {
    display: none;
  }
}

/* ----------ヘッダーend---------- */

/* ----------index---------- */

/* アイキャッチ画像 */
#mv .mv_container {
  background-image: url(./image/mv_pc.jpg);
  background-size: cover;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  animation: fadeInBackground 1.5s ease-out forwards;
}

.mv_title {
  position: absolute;
  top: 15%;
  right: 3%;
  opacity: 0;
  transform: translateY(30px) scale(0.9);
  animation: fadeInUp 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s forwards;
}

@keyframes fadeInBackground {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px) scale(0.9);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* end of タイトルアニメーション */


/* 背景画像グラウンド */
.main-container {
  background-image: url(./image/bg_3.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  min-height: 100vh;
  padding: 80px 0;
}
.main-container>section:last-child {
  padding-bottom: 0;
}


.top_team,
.btn_area {
  margin-bottom: 40px;
  /* 各主要セクション間の余白を追加 */
}

.content-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .main-container {
    padding: 30px 0;
  }

  .fadeAnimation,
  .top_team,
  .btn_area {
    margin-bottom: 60px;
  }

  .content-wrapper {
    padding: 20px;
  }
}

/* 会場情報 */

.bg-img {
  background-image: url(./image/bg_2.jpg);
  background-size: cover;
  background-attachment: fixed;
  min-height: 100vh;
  /* 画面の高さに対応 */
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}
.bg3-img {
  background-image: url(./image/bg_3.jpg);
  background-size: cover;
  background-attachment: fixed;
  min-height: 100vh;
  /* 画面の高さに対応 */
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.concept {
  width: 100%;
  max-width: 1200px;
  height: auto;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin: 0 auto;
}

.concept_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 40px 20px;
  max-width: 800px;
  /* 最大幅を設定 */
}

.Notice_movie{
  width: 750px;
    height: auto;
}
@media(max-width:768px){
  .Notice_movie {
      width: 480px;
      height: auto;
    }
  .archive_movie{
    width: 480px;
    height: 270px;
  }

}
@media(max-width:482px) {
  .Notice_movie {
    width: 320px;
    height: auto;
  }
  .archive_movie {
    width: 320px;
    height: 180px;
  }

}
.pv-contents{
  display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.archive-contents {
  text-align: center;
  max-width: 90%;
  margin: 0 auto;
  margin-bottom: 90px;
}

.archive_movie{
  width: 750px;
  height: 422px;
}

h1.Notice_h1 {
  font-size: 30px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding: 0 40px;
  margin: 20px auto;
  color: #fff;
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}


h1.Notice_h1:before,
h1.Notice_h1:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: #fff;
}
.event-date-text.text_fetival{
  font-size: 24px;
}

.event-date {
  display: block;
  font-weight: 600;
  margin-bottom: 20px;
  text-align: left;
  line-height: 1.8;
  font-size: 18px;
}
.event-date-text{
  font-size: 30px;
  color: #9f0707;
  font-weight: 700;
  text-align: center;
  display: block;
}
.concept-txt {
  font-family: "游明朝体", "ヒラギノ明朝 Pro", serif;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  /* margin-top: 20px; */
  line-height: 1.5em;
}
/* PC画面のbrタグを表示 */
.pc-break {
  display: block;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
  .concept_inner {
    padding: 20px 0px;
  }
    .text_fetival {
      font-size: 20px;
    }

  .event-date,
  .concept-txt {
    font-size: 16px;
  }
    .event-date-text {
      font-size: 20px;
      color: #9f0707;
    }

  .event-date {
    text-align: center;
  }
  .venue-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* margin-bottom: 10px; */
  }

}

/* 参加チーム */
.team-container {
  background-image: url(./image/bg_2.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  min-height: 100vh;
  /* background-color: rgba(255, 255, 255, 0.7);
  background-blend-mode: overlay; */
}
.top_team {
  width: 100%;
  max-width: 1200px;
  height: auto;
  background: linear-gradient(70deg, rgba(0, 0, 0, 0.7), rgba(128, 128, 128, 0.9));
  padding-top: 90px;
  padding-bottom: 60px;
}

.top_team_title {
  text-align: center;
}

.top_team_list {
  width: 100%;
}

.top_team_list_box {
  max-width: 740px;
  height: auto;
  display: block;
  margin: 0px auto;
}

.list_box_inner {
  height: 600px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 5px;
  padding-bottom: 30px;
}

.list_box_inner li {
  width: 30%;
  text-align: left;
  color: #fff;
  font-size: 16px;

}

.place_name {
  background-color: #9f0707;
  height: 18px;
}

.place_name span {
  color: #fff;
  font-size: 18px;
  font-weight: bold;

}

@media screen and (max-width: 789px) {
  .top_team {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}


/* 参加チーム予定ここまで */


/* 大会結果 */

.victory {
  width: 100%;
  height: 600px;
  text-align: center;
  /* margin-bottom: 180px; */
}

/* ギャラリーボタン上ゲスト画像 */
.victory-title-container {
  background-image: url('./image/bg_red_4.png');
  background-size: cover;
  background-position: center;
  padding: 12px;
  text-align: center;
  margin-bottom: 30px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.victory-title {
  color: white;
  font-size: 24px;
  /* line-height: 1.5; */
  margin: 0;
}





.inner_box {
  max-width: 1000px;
  display: block;
  margin: 30px auto 60px;
}

.victory_inner {
  max-width: 1000px;
  display: flex;
 /*  justify-content: space-between; */
  align-items: flex-start;
  /* margin: auto 20px; */
  gap: 20px;
  margin: 0 14px;
}

.victory_1 {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.victory_2 {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.victory_img {
  width: 100%;
  height: auto;
}

.victory_txt_box {
  width: 100%;
  height: 60px;
  display: block;
  background-image: url(./image/bg_red_4.png);
  background-repeat: inherit;
  margin: auto;
}

.victory_txt_box p {
  font-size: 18px;
  color: #fff;
  text-align: center;
  padding-top: 10px;
}

/* ギャラリーボタン上ゲスト画像 */
.guest-title-back {
  background-image: url('./image/bg_red_4.png');
  background-size: cover;
  background-position: center;
  padding: 12px;
  text-align: center;
  margin-bottom: 30px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.guest-title {
  color: white;
  font-size: 24px;
  /* line-height: 1.5; */
  margin: 0;
}



.image-message-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.image-guest {
  width: 100%;
  margin-bottom: 20px;
}

.guest-images {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 900px;
  /* コンテナの最大幅を指定 */
  margin: 0 auto;
}

.guest-images img {
  width: 28%;
  /* 画像の幅を小さく */
  max-width: 250px;
  /* 画像の最大幅を設定 */
  height: auto;
  object-fit: cover;
  margin: 0 2%;
}

/* トップページのfestival */
.fes-title-back{
  background-image: url('./image/bg_red_4.png');
  background-size: cover;
  background-position: center;
  padding: 12px;
  text-align: center;
  margin-bottom: 30px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.fes-wrap{
  width: 100%;
  margin-bottom: 20px;
}
.fes-title {
  color: white;
  font-size: 24px;
  margin: 0;
}
.festival-images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.festival-images img {
  width: 28%;
  /* 画像の幅を小さく */
  max-width: 250px;
  /* 画像の最大幅を設定 */
  height: auto;
  object-fit: cover;
  margin: 0 2%;
}
.top-clinic-box{
  text-align: center;
}
.top-clinic-img{
  max-width: 50%;
  margin-bottom: 15px;
}

@media screen and (max-width: 789px) {
  .top-clinic-img {
      max-width: 70%;
      margin-bottom: 15px;
    }
}

.companies {
  width: 100%;
  height: auto;
  display: block;
  background: linear-gradient(black,
    grey);
  /* background-image: url(./image/contents-bg.jpg); */
  text-align: center;
  margin: auto;
  padding: 90px 0px 70px 0px;
  background-size: cover;
  background-repeat: no-repeat;
}
.companies_inner {
  max-width: 1000px;
  display: block;
  margin: auto;
}
.companies_inner_upper {
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin: 0px auto 30px;
}
.companies_inner_low {
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* gap: 30px; */
}
.sponsor_inner_low {
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 30px auto;
}
.low_img-box {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  justify-items: center;
  align-items: center;
}
.companies_img {
  width: 40%;
  height: auto;
}
.emblem_img {
  width: 50%;
  height: auto;
}
.club-name {
  font-size: 32px;
  font-weight: bold;
  color: #ffffff;
}

/* 協賛 */
.sponsor_img {
  width: 100%;
  height: auto;
}
.logo-cube {
  max-width: 130px;
}
.sponsor_img.logo-cube.yakiniku{
  max-width: 200px;
}
.sponsor_img.logo-cube.iyashi {
  max-width: 110px;
}

@media screen and (max-width: 789px) {
.club-name {
  font-size: 25px;
}
.emblem_img {
  width: 50%;
}
 .low_img-box {
   grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
   gap: 10px;
 }
 .sponsor_img {
  max-width: 60%;
 }
 .sponsor_img.logo-cube {
   max-width: 30%;
 }
 .sponsor_img.logo-cube.iyashi {
   max-width: 30%;
 }
 .sponsor_img.logo-cube.yakiniku {
   max-width: 250px;
  }
}

@media screen and (max-width: 560px) {
  .emblem_img {
      width: 40%;
    }
    .sponsor_img {
      max-width: 80%;
    }
    .sponsor_img.logo-cube {
      max-width: 30%;
    }
    .sponsor_img.logo-cube.yakiniku {
      max-width: 40%;
    }
}

/* ------ここからタブレット----- */
@media screen and (max-width: 789px) {
  #mv {
    display: block;
    width: 100%;
    height: 900px;
    margin: 0px;
  }

  #mv .mv_container {
    background-image: url(./image/mv_sp.jpg);
    background-size: cover;
    height: 100%;
    background-repeat: no-repeat;
    position: relative;
  }

  .mv_title {
    width: 75%;
    position: absolute;
    top: 65%;
    right: 10%;
  }

  .concept {
    width: 100%;
    height: auto;
  }

  .concept_inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 60px;
    margin-bottom: 60px;
  }

  .concept-txt {
  font-family: "游明朝体", "ヒラギノ明朝 Pro", serif;
    font-weight: bold;
    font-size: 16px;
    text-align: left;
    margin-top: 20px;
    line-height: 1.5em;
    max-width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
  }

  #top_team {
    margin-bottom: 30px;
    background-color: #666;
    background-image: url(./image/contents-bg.jpg);
    background-position: center bottom;
  }

  .top_team_list_box {
    max-width: 640px;
    height: 700px;
    display: block;
    margin: 0px auto 30px;
  }

  .list_box_inner {
    height: 670px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4px;
    padding: 0px 20px;
  }
  .guest-title {
    font-size: 16px;
  }
  .guest-images img {
    width: 30%;
  }

  .victory {
    width: 100%;
    height: 1100px;
    text-align: center;
    /* margin-bottom: 90px; */
  }

  .inner_box {
    max-width: 1100px;
    display: block;
    margin: 0px auto 60px;
  }

  .victory_inner {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: auto;
    gap: 40px;
  }

  .victory_1 {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 0px 40px;
  }

  .victory_2 {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 0px 40px;
  }

  .companies_inner_low {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }

  .low_img-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }

  .companies_img {
    width: 45%;
    height: auto;
  }
}

@media screen and (max-width: 750px) {
    .pc-break {
        display: none;
      }
  .concept {
    width: 100%;
    height: auto;
  }

  .concept_inner {
    display: flex;
    flex-direction: column;
    width: 98%;
    font-size: 16px;
    /* line-height: 2.0; */
    padding-top: 40px;
    margin-bottom: 30px;
  }

  .list_box_inner {
    height: 670px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4px;
    padding: 0px 30px;
  }

  .victory {
    width: 100%;
    height: auto;
    text-align: center;
    padding: 0 20px;
    /* margin-bottom: 90px; */
  }

  .inner_box {
    max-width: 1000px;
    display: block;
    margin: 0px auto 60px;
  }

  .victory_inner {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: auto;
    gap: 40px;
  }

  .victory_1 {
    width: 85%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;

  }

  .victory_2 {
    width: 85%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;

  }

  .victory_txt_box {
    width: 100%;
    height: 50px;
    display: block;
    background-image: url(./image/bg_red_4.png);
    background-repeat: inherit;
    margin: auto;
  }

  .victory_txt_box p {
    font-size: 18px;
    color: #fff;
    text-align: center;
    padding-top: 6px;
  }
    .companies {
      width: 100%;
      height: auto;
      display: block;
      background-color: #666;
      /* background-image: url(./image/contents-bg.jpg); */
      text-align: center;
      margin: auto;
      padding: 60px 0px 60px 0px;
    }

  .companies_img {
    width: 50%;
    height: auto;
  }
}

/* ------ここからSP----- */
@media screen and (max-width: 480px) {
  #mv {
    display: block;
    width: 100%;
    height: 800px;
    margin: 0px;
  }

  /* .mv_title {
    width: 75%;
    position: absolute;
    top: 58%;
    right: 10%;
  } */

  .mv_title {
    width: 90%;
    position: absolute;
    top: 58%;
    right: 5%;
  }

  /* #mv .mv_container {
    background-image: url(./image/mv_sp.jpg);
    background-size: cover;
    height: 100%;
    background-repeat: no-repeat;
    position: relative;
    margin-top: -100px;
  } */

  /* 津田変更 */
  #mv .mv_container {
    background-image: url(./image/mv_sp.jpg);
    background-size: cover;
    background-position: center top;
    /* height: 100vh; */
    background-repeat: no-repeat;
    position: relative;
    margin-top: 0px;
  }

  .event-date {
    display: block;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: left;
    line-height: 1.5;
    font-size: 14px;
  }

  .victory_inner {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: auto;
    gap: 30px;
  }

  .victory_1 {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }

  .victory_2 {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }

  .companies_img {
    width: 70%;
    height: auto;
  }

  /* .concept-txt {
    font-family: "游明朝体", "ヒラギノ明朝 Pro", serif;
    font-weight: bold;
    font-size: 13px;
    text-align: left;
    line-height: 2.0;
  } */

  .concept-txt {
    font-size: 14px;
    line-height: 1.6em;
    padding: 0 10px;
    text-align: left;
  }
  .pc-break{
    display: none;
  }

  .top_team {
    background-size: cover;
    background-position: center;
  }

  .top_team_list_box {
    max-width: 60%;
    height: auto;
    display: block;
    margin: 0px auto 30px;
  }

  .list_box_inner {
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5px;
  }

  .list_box_inner li {
    width: 100%;
    text-align: left;
    color: #fff;
    font-size: 16px;

  }
}

/* ----------津波非難の明示について---------- */
.tsunami-txt{
  text-align: center;
  line-height: 1.5;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
  padding: 0 10px;
}
.only-sp{
  display: block;
}
@media screen and (max-width: 789px) {
  .tsunami-txt {
    font-size: 14px;
    text-align: left;
  }
    .only-sp {
      display: none;
    }
}



/* ----------index end---------- */

/* ----------team---------- */

.team {
  max-width: 1000px;
  display: block;
  margin: auto;
  padding-top: 100px;
  text-align: center;
}

.team-h1 {
  margin: 0 auto 50px;
}

.team-section {
  text-align: left;
  /* margin-bottom: 90px; */
  padding-bottom: 90px;
}

/* エンブレム一覧 */
.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 25px 10px;
  padding: 30px 15px;
  background: #fff;
  max-width: 93%;
  margin: 0 auto;
}
.team-box {
  text-align: center;
}
.team-txt{
  font-size: 14px;
  font-weight: 700;
  background-color: #e3d69a;
}
.team-box img {
  width: 100px;
  height: auto;
  max-width: 100%;
  margin-bottom: 5px;
}

@media screen and (max-width: 750px) {
  .team {
    display: block;
    margin: auto;
    padding-top: 100px;
    text-align: center;
  }
  .team-image {
    width: 100%;
  }
  .layout-team-grid {
    gap: 20px;
    grid-template-columns: 40% 40%;
    margin-bottom: 30px;
  }
}


/* ----------team end---------- */
/* ----------gallery---------- */
.gallery {
  width: 100%;
  display: block;
  padding-top: 100px;
  text-align: center;
}

.movie {
  width: 100%;
  margin-top: -60px;
  padding: 50px 20px;
  background-color: #666;
  background-image: url(./image/contents-bg.jpg);
}
/* css */
.you-tube iframe {
  width: 60%;
  aspect-ratio: 16 / 9;
}


.gallery-movie {
  background: #ccc;
  height: 360px;
  width: 640px;
  margin-bottom: 90px;
}

.gallery-movie-sp {
  display: none;
}

.gallery-container {
  width: 100%;
  /* background-image: url(./image/bg_2.jpg); */
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 90px;
}

.gallery-inner {
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin: auto;
}

/* modal */
.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 40px 10px;
  text-align: center;
}

.cp_imghover {
  overflow: hidden;
  cursor: pointer;
}

/*grayscale*/
.cp_bw {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.cp_bw:hover {
  -webkit-filter: grayscale(90%);
  filter: grayscale(90%);
}

.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 70%;
  max-width: 700px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle
}

.modal-window img {
  height: 100%;
  width: 100%;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6)
}

.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 8px;
  right: 0px;
  height: 40px;
  text-decoration: none;
  width: 40px;
}

.modal-close::before,
.modal-close::after {
  background: #fff;
  content: '';
  display: block;
  height: 3px;
  position: absolute;
  top: 40%;
  right: 12%;
  width: 40px;
}

.modal-close::before {
  transform: rotate(-45deg);
}

.modal-close::after {
  transform: rotate(45deg);
}

/* modal end*/

@media screen and (max-width: 789px) {
  .gallery {
    display: block;
    margin: auto;
    padding-top: 0px;
    text-align: center;
  }

  .movie {
    width: 100%;
    margin-top: -60px;
    padding: 0px 20px;
    background-color: #666;
    background-image: url(./image/contents-bg.jpg);
  }
    .you-tube iframe {
      width: 100%;
      aspect-ratio: 16 / 9;
    }
}

@media screen and (max-width: 750px) {

  .gallery {
    display: block;
    margin: auto;
    padding-top: 0px;
    text-align: center;
  }

  .movie {
    width: 100%;
    padding: 0px 20px;
  }

  .gallery-movie {
    background: #ccc;
    width: 450px;
  }


  .gallery-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  .gallery_img_size {
    width: 40%;
  }

  .gallery_img_size img {
    width: 100%;
  }

  .modal-wrapper .modal-window {
    box-sizing: border-box;
    display: inline-block;
    z-index: 20;
    position: relative;
    width: 75%;
    max-width: 700px;
    background: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, .6);
    vertical-align: middle
  }
}

/* ------ここからSP----- */
@media screen and (max-width: 480px) {
  .gallery p {
    font-size: 16px;
  }

  .movie {
    width: 100%;
    padding: 0px 20px 90px;
  }

  .gallery-container {
    width: 100%;

  }

  .gallery-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  .gallery-movie {
    background: #ccc;
    height: auto;
    max-width: 90%;
    margin-inline: 0 auto ;
  }

  .gallery-movie-sp {
    display: block;
    margin: 0 auto;
  }
  .gallery-movie-sp img {
    width: 100%;
  }
  .gallery-movie-pc {
    /* display: none; */
  }

  .gallery_img_size {
    width: 45%;
  }

  .gallery_img_size img {
    width: 100%;
  }

  /* modal */
  .modal-wrapper {
    z-index: 999;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 40px 10px;
    text-align: center;
  }

  .cp_imghover {
    overflow: hidden;
    cursor: pointer;
  }

  /*grayscale*/
  .cp_bw {
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
  }

  .cp_bw:hover {
    -webkit-filter: grayscale(90%);
    filter: grayscale(90%);
  }

  .modal-wrapper:not(:target) {
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
  }

  .modal-wrapper:target {
    opacity: 1;
    visibility: visible;
    transition: opacity .4s, visibility .4s;
  }

  .modal-wrapper::after {
    display: inline-block;
    height: 100%;
    margin-left: -.05em;
    vertical-align: middle;
    content: ""
  }

  .modal-wrapper .modal-window {
    box-sizing: border-box;
    display: inline-block;
    z-index: 20;
    position: relative;
    width: 85%;
    max-width: 450px;
    background: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, .6);
    vertical-align: middle
  }

  .modal-window img {
    height: 100%;
    width: 100%;
  }

  .modal-overlay {
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6)
  }

  .modal-wrapper .modal-close {
    z-index: 20;
    position: absolute;
    top: 8px;
    right: 0px;
    height: 40px;
    text-decoration: none;
    width: 40px;
  }

  .modal-close::before,
  .modal-close::after {
    background: #fff;
    content: '';
    display: block;
    height: 3px;
    position: absolute;
    top: 40%;
    right: 12%;
    width: 40px;
  }

  .modal-close::before {
    transform: rotate(-45deg);
  }

  .modal-close::after {
    transform: rotate(45deg);
  }

  /* modal end*/
}

/* ギャラリーアニメーション */











/* ----------gallery end---------- */
/* ----------message---------- */
.message {
  width: 100%;
  display: block;
  background-image: url(./image/bg_2.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 100px;
}

.message_title {
  text-align: center;
}

.message_contents {
  max-width: 1000px;
  height: auto;
  display: block;
  margin: auto;
}

.message_inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  /* align-items: center; */
  margin-top: 30px;
  margin-bottom: 0;
  padding-bottom: 130px;
}

.message_player {
  background: rgba(255, 255, 255, 0.6);
  display: flex;
  max-width: 900px;
  margin: 0 10px;
  padding: 20px;
}
.player_images{
  flex: 0 0 200px;
  display: flex;
  flex-direction: column;
  padding: 15px;
}
.main_photo {
  width: 100%;
  margin-bottom: 10px;
}
.sub_photo img {
  width: 100%;
}

.message_player:nth-child(2) {
  border-bottom: 1px solid #898989;
  border-top: 1px solid #898989;
}

.comment_area {
  flex: 1;
  padding: 0 50px;
}

.comment_Team p{
  font-style: italic;
  margin-bottom: 5px;
}
.player_name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
  margin-top: 20px;
}

.name-part {
  display: inline-block;
}

.comment_Team {
  width: 100%;
  display: block;
  background-image: url(./image/bg_red_4.png);
  background-repeat: inherit;
  margin: auto;
  padding: 6px;
  color: #fff;
  margin-top: 15px;
}

.comment {
  width: 100%;
  line-height: 1.8rem;
  text-align: left;
}
.comment-text {
  line-height: 1.6;
  padding-bottom: 30px;
  letter-spacing: 0.08em;
}

.message_photo-area {
  max-width: 1000px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 15px;
  padding-bottom: 30px;
  margin: 30px auto 90px;
}



/* 津田追加文 */
.comment_intro{
  font-size: 12px;
  line-height: 1.3em;
  font-weight: 500;
  margin-bottom: 20px;
}

/* ------ここからタブレット----- */
@media screen and (max-width: 789px) {
  .message_player {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding-bottom: 15px;
  }
  .player_images {
    align-items: center;
  }

  .comment_area {
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0;
  }

  .comment_photo {
    width: 70%;
  }
  .comment-text {
    /* font-size: 1rem; */
    font-size: 0.95rem;
    line-height: 1.5;
    /* margin-bottom: 30px; */
  }
  .player_name {
    margin-bottom: 0px;
    margin-top: 0px;
  }
    .name-part {
      display: block;
    }
    .comment_Team {
      margin-top: 0px;
    }
}

/* ------ここからSP----- */
@media screen and (max-width: 480px) {
  .comment_photo {
    width: 80%;
  }
    .player_images {
      align-items: center;
    }
}

/* ----------message end---------- */

/* ----------Tournament ---------- */
.tournament {
  width: 100%;
  display: block;
  background-image: url(./image/bg_2.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 100px;
  padding-bottom: 130px;
}

.tournament_title {
  text-align: center;
}
.tournament_contents {
  max-width: 1000px;
  height: auto;
  display: block;
  margin: auto;
}
.fes-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  justify-items: center;
  margin: auto;
  padding: 20px;
}

.fes-img {
  width: 100%;
  height: auto;
  max-width: 400px;
  /* touch-action: auto; */
    /* ユーザーのタッチ操作を許可 */
}
.center-button {
  text-align: center;
  margin: 20px auto;
}


/* ----------festival ---------- */
.festival {
  width: 100%;
  display: block;
  background-image: url(./image/bg_2.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 100px;
  padding-bottom: 130px;
  text-align: center;
}
 .schedule {
   max-width: 800px;
   margin: 20px auto;
   background-color: #fff;
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
 }
.schedule-title{
  text-align: center;
}
 .schedule-header,
 .schedule-row {
   display: flex;
   justify-content: flex-start;
   padding: 15px;
   border-bottom: 1px solid #ddd;
   gap: 20px;
 }

 .schedule-header {
   background-color: #9f0707;
   color: white;
   font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
 }

 .schedule-row:hover {
   background-color: #f1f1f1;
 }

 .schedule-row div {
   color: #333;
   text-align: left;
 }

 .schedule-row .time {
  flex: 0 0 100px;
   /* 時間のdivの幅を広げる（例: 300px） */
   text-align: left;
   font-weight: 600;
 }

 .schedule-row .content {
   flex: 1;
   text-align: left;
  font-weight: 600;
 }
 .clinic-banner{
  max-width: 800px;
  height: auto;
  margin-bottom: 15px;
 }
 .schedule-row .content.clinic-color {
  color: #9f0707;
 }
.schedule-row .time.clinic-color {
  color: #9f0707;
}

 /* レスポンシブデザイン */
 @media (max-width: 900px) {
  .schedule {
      width: 90%;
  }
   .schedule-row {
     flex-direction: column;
     padding: 10px;
     gap: 0px;
   }

   .schedule-row div {
     padding: 10px 0;
   }

   .schedule-row .time,
   .schedule-row .content {
     width: 100%;
     /* text-align: center; */
    flex: 0 0 0;
   }
  .clinic-banner {
    width: 90%;
  }
 }

/* ----------フッター---------- */
html {
  width: 100%;
  min-height: 100%;
  position: relative;
}

#footer {
  width: 100%;
  max-height: 150px;
  background-color: #111;
  position: absolute;
}

#footer .footer_txt {
  color: #fff;
  text-align: center;
  font-size: 14px;
  padding: 30px;
}

/* ----------フッターend---------- */
body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* p {
  cursor: pointer;
} */

/* -----------------試合速報用----------------------- */
.match_news {
  width: 100%;
  height: 100%;
  padding-top: 100px;
}
.match_container {
  max-width: 1200px;
  height: auto;
  display: block;
  margin: auto;
}
a.bnr_area{
  display: block;
  width: 50%;
  margin: auto;
}
.match_title {
  font-size: 30px;
  font-weight: bold;
  position: relative;
  padding-left: 140px;
  margin: 90px 0;
}
.match_title::before {
  content: "Match news";
  display: inline-block;
  font-family: "Qwitcher Grypen", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 300%;
  color: #9ba6b0;
  transform: rotate(-13deg);
  letter-spacing: 12px;
  position: absolute;
  left: 0;
  top: -50px;
  z-index: -1;
  white-space: nowrap;
}

.page_link_list{
  padding: 0 20px;
  margin-bottom: 30px;
}
.page_link{
  width: 100%;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.page_link::after{
  content: "";
  display: block;
  width: auto;
}
.page_link a{
  display: inline-block;
  padding: 5px;
  color: #fff;
  background-color: #000;
  font-size: 1rem;
}

.match_inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 20px;
}
.daily_title{
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 30px;
}

table {
  border-collapse: collapse;
}
.daily_tournament{
  width: 100%;
  margin-bottom: 50px;
}
.sub_title{
  display: table-cell;
  background: #000;
  color: #fff;
  font-size: 1.125rem;
  width: 100%;
  padding: 15px;
}
.tournament-list-title th {
  background: #e6e6e6;
  font-size: 1.125rem;
  padding: 5px;
  text-align: center;
}
.tournament-list-title th:nth-child(1) {
  width: 22%;
}
.tournament-list-titlee th:nth-child(2) {
  width: 40%;
}
.tournament-list-title th:nth-child(3) {
  width: 18%;
}
.tournament-list-title th:nth-child(4) {
  width: 20%;
}
.daily_tournament td{
  padding: 5px;
  text-align: center;
}

.match_news_bnr{
  width: 100%;
  margin-bottom: 60px;
}
.match_news_bnr img{
  width: 400px;
  display: block;
  margin: auto;
}

@media (max-width:789px){
  a.bnr_area {
      display: block;
      width: 70%;
      margin: auto;
    }
  .match_news{
    padding-top: 50px;
  }
  .match_title {
      font-size: 24px;
      padding-left: 100px;
      margin: 50px 0;
    }
    .match_title::before {
      font-size: 200%;
      top: -25px;
      z-index: -1;
    }
.daily_title{
  font-size: 1.15rem;
  margin-bottom: 15px;
}
  .daily_tournament th,
  .daily_tournament tbody,
  .daily_tournament tr {
    display: block;
  }
.sub_title{
  text-align: center;
  padding: 10px;
}
.daily_tournament tr:first-child {
  background: #000;
  color: #fff;
  width: 100%;
  margin-bottom: 0;
}
.tournament-list-title th{
  font-size: 1rem;
}
.tournament-list-title th:nth-child(-n+4) {
  width: 100%;
}

.daily_tournament td {
  display: block;
  padding: 5px;
  text-align: center;
}
  .daily_tournament tr{
    margin-bottom: 15px;
    border-bottom: solid 1px #666;
  }
}
@media (max-width:480px){
  a.bnr_area {
      display: block;
      width: 85%;
      margin: 0 auto 20px;
    }
  .match_title{
    text-align: center;
    margin: 30px 0 20px;
    padding: 0px;
    position: relative;
  }  
  .match_title::before {
    top: -25px;
    left: 35px;
    z-index: -1;
  }
  .sns-inner {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
    }
.sp_sns_list a img {
  width: 40px;
  height: auto;
}
.sp_sns_list a img.twitter {
  width: 30px;
  height: auto;
}
  .sp_sns_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
  }
  .share_icon_news{
    width: 30%;
    margin: 20px 0;
  }
  .match_news_bnr img {
    width: 300px;
    padding: 0 15px;
  }
}


/* アニメーション用CSS */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.fade-in.appear {
  opacity: 1;
  transform: translateY(0);
}