@charset "UTF-8";

/* !Base -------------------------------- */
:root {
  --blue: #118CCF;
  --lblue: #F4F9FC;
  --black: #231815;
  --gray: #8E8E8E;
  --linkblue: #0094e5;
}

a {
  color: #0094e5;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

.detail a:hover,
a.underline:hover {
  border-bottom: 1px solid;
}

a.black {
  color: var(--black);
}

a.black:hover {
  color: var(--linkblue);
  border-bottom: 1px solid;
}

html {
  /* font-size: 62.5%;*/
  overflow-y: scroll;
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
  color: #231815;
}

body.is-menuOpen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

.bold2 {
  font-weight: 900;
}

.bold {
  font-weight: 700;
}

.medium2 {
  font-weight: 600;
}

.medium {
  font-weight: 500;
}

.normal {
  font-weight: 400;
}

.anton {
  font-family: "Anton", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: normal;
}

.yuu {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

p {
  padding: 0.9em 0;
}

img {
  max-width: 100%;
  height: auto;
}

.taL {
  text-align: left !important;
}

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

.taR {
  text-align: right !important;
}

.marker {
  background: linear-gradient(transparent 60%, #FCFAD8 60%, #FCFAD8 100%, #fff 100%);
}

.white {
  color: #fff;
}

.black {
  color: var(--black);
}

.blue {
  color: var(--blue);
}

.gray {
  color: var(--gray);
}

.red {
  color: #f00;
}

.black {
  color: var(--black);
}

.bg_white {
  background: #fff;
}

.bg_black {
  background: var(--black);
}

.bg_blue {
  background: var(--blue);
}

.bg_lblue {
  background: var(--lblue);
}

.bg_gray {
  background: var(--gray);
}

.bg_lgray {
  background: #fafafa;
}

.fz48 {
  font-size: 48px;
}

.fz47 {
  font-size: 47px;
}

.fz40 {
  font-size: 40px;
}

.fz32 {
  font-size: 32px;
}

.fz28 {
  font-size: 28px;
}

.fz27 {
  font-size: 27px;
}

.fz24 {
  font-size: 24px;
}

.fz20 {
  font-size: 20px;
}

.fz19 {
  font-size: 19px;
}

.fz18 {
  font-size: 18px;
}

.fz17 {
  font-size: 17px;
}

.fz16 {
  font-size: 16px;
}

.fz15 {
  font-size: 15px;
}

.fz14 {
  font-size: 14px;
}

.fz12 {
  font-size: 12px;
}

.fz10 {
  font-size: 10px;
}

h1,
h2,
h3,
h4,
h5 {
  font-size: 18px;
  font-weight: 700;
}

.lh27 {
  line-height: 2.7;
}

.lh22 {
  line-height: 2.2;
}

.lh21 {
  line-height: 2.1;
}

.lh20 {
  line-height: 2;
}

.lh19 {
  line-height: 1.9;
}

.lh18 {
  line-height: 1.8;
}

.lh17 {
  line-height: 1.7;
}

.lh16 {
  line-height: 1.6;
}

.lh15 {
  line-height: 1.5;
}

.lh14 {
  line-height: 1.4;
}

.lh13 {
  line-height: 1.3;
}

.lh12 {
  line-height: 1.2;
}

.lh11 {
  line-height: 1.1;
}

.lh10 {
  line-height: 1;
}

.ls00 {
  letter-spacing: 0;
}

.ls002 {
  letter-spacing: 0.02em;
}

.ls004 {
  letter-spacing: 0.04em;
}

.ls005 {
  letter-spacing: 0.05em;
}

.ls008 {
  letter-spacing: 0.08em;
}

.ls01 {
  letter-spacing: 0.1em;
}

.ls015 {
  letter-spacing: 0.15em;
}

.ls02 {
  letter-spacing: 0.2em;
}

.ls025 {
  letter-spacing: 0.25em;
}

.ls03 {
  letter-spacing: 0.3em;
}

figcaption {
  line-height: 1.5;
  margin-top: 0.5em;
}

.r_over {
  transition: all 0.1s;
}

.r_over:hover {
  filter: brightness(94%);
}

.r_over2 {
  transition: all 0.1s;
}

.r_over2:hover {
  filter: brightness(90%);
}

.t-03 {
  transition: all 0.3s;
}

.hdn {
  display: none;
}

.ofh {
  width: 100%;
  overflow: hidden;
}

strong {
  font-weight: 700;
}

@media screen and (max-width: 1440px) and (min-width: 1025px) {
  .container1440 {
    font-size: 1.111vw;
  }

  .container1440 .fz32 {
    font-size: 2.222vw;
  }

  .container1440 .fz28 {
    font-size: 1.944vw;
  }

  .container1440 .fz24 {
    font-size: 1.667vw;
  }

  .container1440 .fz20 {
    font-size: 1.389vw;
  }

  .container1440 .fz18 {
    font-size: 1.25vw;
  }

  .container1440 .fz17 {
    font-size: 1.181vw;
  }

  .container1440 .fz16 {
    font-size: 1.111vw;
  }

  .container1440 .fz15 {
    font-size: 1.042vw;
  }

  .container1440 .fz14 {
    font-size: 0.972vw;
  }

  .container1440 .fz12 {
    font-size: 0.833vw;
  }

  .container1440 .fz10 {
    font-size: 0.694vw;
  }
}

@media screen and (max-width: 1461px) {
  .arena .fz24 {
    font-size: 1.643vw;
  }
}

@media screen and (max-width: 1240px) {
  body {
    font-size: 1.29vw;
  }

  .fz48 {
    font-size: 3.871vw;
  }

  .fz47 {
    font-size: 3.79vw;
  }

  .fz40 {
    font-size: 3.226vw;
  }

  .fz32 {
    font-size: 2.581vw;
  }

  .fz28 {
    font-size: 2.258vw;
  }

  .fz27 {
    font-size: 2.177vw;
  }

  .fz24 {
    font-size: 1.935vw;
  }

  .arena .fz24 {
    font-size: 2.344vw;
  }

  .fz20 {
    font-size: 1.613vw;
  }

  .fz19 {
    font-size: 1.532vw;
  }

  .fz18 {
    font-size: 1.452vw;
  }

  .fz17 {
    font-size: 1.371vw;
  }

  .fz16 {
    font-size: 1.29vw;
  }

  .fz15 {
    font-size: 1.21vw;
  }

  .fz14 {
    font-size: 1.129vw;
  }

  .fz12 {
    font-size: 0.968vw;
  }

  .fz10 {
    font-size: 0.806vw;
  }

  h1,
  h2,
  h3,
  h4,
  h5 {
    font-size: 1.452vw;
  }
}

@media screen and (max-width: 1024px) {
  body {
    font-size: 1.563vw;
  }

  .fz48 {
    font-size: 4.688vw;
  }

  .fz47 {
    font-size: 4.59vw;
  }

  .fz40 {
    font-size: 3.906vw;
  }

  .fz32 {
    font-size: 3.125vw;
  }

  .fz28 {
    font-size: 2.734vw;
  }

  .fz27 {
    font-size: 2.637vw;
  }

  .fz24 {
    font-size: 2.344vw;
  }

  .team_top_name .fz24 {
    font-size: 1.9vw;
  }

  .fz20 {
    font-size: 1.953vw;
  }

  .fz19 {
    font-size: 1.855vw;
  }

  .fz18 {
    font-size: 1.758vw;
  }

  .fz17 {
    font-size: 1.66vw;
  }

  .fz16 {
    font-size: 1.563vw;
  }

  .fz15 {
    font-size: 1.465vw;
  }

  .fz14 {
    font-size: 1.367vw;
  }

  .fz12 {
    font-size: 1.172vw;
  }

  .fz10 {
    font-size: 0.977vw;
  }

  h1,
  h2,
  h3,
  h4,
  h5 {
    font-size: 1.758vw;
  }
}

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

  /*w463*/
  body {
    font-size: 3.456vw;
  }

  .fz48 {
    font-size: 10.367vw;
  }

  .fz47 {
    font-size: 8vw;
  }

  .fz40 {
    font-size: 8.639vw;
  }

  .fz40 {
    font-size: 7.18vw;
  }

  .fz32 {
    font-size: 6.911vw;
  }

  .fz32 {
    font-size: 6.2vw;
  }

  .fz28 {
    font-size: 6.048vw;
  }

  .fz28 {
    font-size: 5vw;
  }

  .fz27 {
    font-size: 5.832vw;
  }

  .fz24 {
    font-size: 5.184vw;
  }

  .team_top_name .fz24 {
    font-size: 5vw;
  }

  .arena .fz24 {
    font-size: 4.3vw;
  }

  .privacy .fz24 {
    font-size: 4.3vw;
  }

  .fz20 {
    font-size: 4.32vw;
  }

  .fz19 {
    font-size: 4.104vw;
  }

  .fz18 {
    font-size: 16px;
  }

  .home .fz18 {
    font-size: 16px;
  }

  .fz17 {
    font-size: 16px;
  }

  .fz16 {
    font-size: 16px;
  }

  .fz15 {
    font-size: 16px;
  }

  .fz14 {
    font-size: 16px;
  }

  .fz14 {
    font-size: 16px;
  }

  .fz12 {
    font-size: 16px;
  }

  .fz10 {
    font-size: 16px;
  }

  h1,
  h2,
  h3,
  h4,
  h5 {
    font-size: 3.59vw;
  }

  .lh20 {
    line-height: 1.85;
  }

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

.sp,
.pro,
.tab,
.protabonly {
  display: none;
}

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

  .pro,
  .protabonly {
    display: inline-block;
  }
}

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

  .pcpro,
  .notabonly {
    display: none;
  }

  .tab {
    display: block;
  }
}

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

  .sp,
  .notabonly {
    display: block;
  }

  .nosp,
  .protabonly {
    display: none !important;
  }
}

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

.mw90 {
  width: 90%;
  margin: 0 5%;
}

.mw70 {
  width: 70%;
  margin: 0 15%;
}

.dib {
  display: inline-block;
}

/* !行間設定 -------------------------------------------------------------- */
.pd0 {
  padding: 0;
}

.pd03 {
  padding: 0.22em 0 0.33em;
}

.pd04 {
  padding: 0.4em 0;
}

.pd05 {
  padding: 0.5em 0;
}

.pd08 {
  padding: 0.65em 0 0.8em;
}

.pd1 {
  padding: 1em 0;
}

.pd15 {
  padding: 1.5em 0;
}

.pd2 {
  padding: 2em 0;
}

.pd25 {
  padding: 2.5em 0;
}

.pd3 {
  padding: 3em 0;
}

.pd35 {
  padding: 3.5em 0;
}

.pd4 {
  padding: 4em 0;
}

.pd45 {
  padding: 4.5em 0;
}

.pd5 {
  padding: 5em 0;
}

.pd6 {
  padding: 6em 0;
}

.pd7 {
  padding: 7em 0;
}

.pd8 {
  padding: 8em 0;
}

.mg05 {
  margin: 0.5em auto;
}

.mg1 {
  margin: 1em auto;
}

.mg15 {
  margin: 1.5em auto;
}

.mg2 {
  margin: 2em auto;
}

.mg25 {
  margin: 2.5em auto;
}

.mg3 {
  margin: 3em auto;
}

.mg4 {
  margin: 4em auto;
}

.mg5 {
  margin: 5em auto;
}

.mt05 {
  margin-top: 0.5em;
}

.mt1 {
  margin-top: 1em;
}

.mt15 {
  margin-top: 1.5em;
}

.mt18 {
  margin-top: 1.8em;
}

.mt2 {
  margin-top: 2em;
}

.mt25 {
  margin-top: 2.5em;
}

.mt3 {
  margin-top: 3em;
}

.mt35 {
  margin-top: 3.5em;
}

.mt4 {
  margin-top: 4em;
}

.mt45 {
  margin-top: 4.5em;
}

.mt5 {
  margin-top: 5em;
}

.mt6 {
  margin-top: 6em;
}

.mt8 {
  margin-top: 8em;
}

.mt9 {
  margin-top: 9em;
}

.mr05 {
  margin-right: 0.5em;
}

.mr1 {
  margin-right: 1em;
}

.mr15 {
  margin-right: 1.5em;
}

.mr2 {
  margin-right: 2em;
}

.mr25 {
  margin-right: 2.5em;
}

.mr3 {
  margin-right: 3em;
}

.mr4 {
  margin-right: 4em;
}

.mr5 {
  margin-right: 5em;
}

.ml05 {
  margin-left: 0.5em;
}

.ml1 {
  margin-left: 1em;
}

.ml15 {
  margin-left: 1.5em;
}

.ml2 {
  margin-left: 2em;
}

.ml25 {
  margin-left: 2.5em;
}

.ml3 {
  margin-left: 3em;
}

.ml4 {
  margin-left: 4em;
}

.ml5 {
  margin-left: 5em;
}

.mb05 {
  margin-bottom: 0.5em;
}

.mb1 {
  margin-bottom: 1em;
}

.mb15 {
  margin-bottom: 1.5em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb25 {
  margin-bottom: 2.5em;
}

.mb3 {
  margin-bottom: 3em;
}

.mb35 {
  margin-bottom: 3.5em;
}

.mb4 {
  margin-bottom: 4em;
}

.mb45 {
  margin-bottom: 4.5em;
}

.mb5 {
  margin-bottom: 5em;
}

.mb6 {
  margin-bottom: 6em;
}

.pt05 {
  padding-top: 0.5em;
}

.pt1 {
  padding-top: 1em;
}

.pt15 {
  padding-top: 1.5em;
}

.pt2 {
  padding-top: 2em;
}

.pt25 {
  padding-top: 2.5em;
}

.pt3 {
  padding-top: 3em;
}

.pt35 {
  padding-top: 3.5em;
}

.pt4 {
  padding-top: 4em;
}

.pt45 {
  padding-top: 4.5em;
}

.pt5 {
  padding-top: 5em;
}

.pt6 {
  padding-top: 6em;
}

.pt8 {
  padding-top: 8em;
}

.pt10 {
  padding-top: 10em;
}

.pr05 {
  padding-right: 0.5em;
}

.pr1 {
  padding-right: 1em;
}

.pr15 {
  padding-right: 1.5em;
}

.pr2 {
  padding-right: 2em;
}

.pr25 {
  padding-right: 2.5em;
}

.pr3 {
  padding-right: 3em;
}

.pr35 {
  padding-right: 3.5em;
}

.pr4 {
  padding-right: 4em;
}

.pr5 {
  padding-right: 5em;
}

.pl05 {
  padding-left: 0.5em;
}

.pl1 {
  padding-left: 1em;
}

.pl15 {
  padding-left: 1.5em;
}

.pl2 {
  padding-left: 2em;
}

.pl25 {
  padding-left: 2.5em;
}

.pl3 {
  padding-left: 3em;
}

.pl35 {
  padding-left: 3.5em;
}

.pl4 {
  padding-left: 4em;
}

.pl5 {
  padding-left: 5em;
}

.pb05 {
  padding-bottom: 0.5em;
}

.pb1 {
  padding-bottom: 1em;
}

.pb15 {
  padding-bottom: 1.5em;
}

.pb2 {
  padding-bottom: 2em;
}

.pb25 {
  padding-bottom: 2.5em;
}

.pb3 {
  padding-bottom: 3em;
}

.pb35 {
  padding-bottom: 3.5em;
}

.pb4 {
  padding-bottom: 4em;
}

.pb45 {
  padding-bottom: 4.5em;
}

.pb5 {
  padding-bottom: 5em;
}

.pb82 {
  padding-bottom: 8.2em;
}

.pb-f {
  padding-bottom: 15em;
}

@media screen and (max-width: 1024px) {
  .tab-mt {
    margin-top: 2.5vw;
  }

  .tab-mt2 {
    margin-top: 3.5vw;
  }
}

@media screen and (max-width: 540px) {
  .pd08 {
    padding: 1.4vw 0 1.8vw;
  }

  .pd1 {
    padding: 2vw 0;
  }

  .pd15 {
    padding: 3vw 0;
  }

  .pd2 {
    padding: 4vw 0;
  }

  .pd25 {
    padding: 5vw 0;
  }

  .pd3 {
    padding: 6vw 0;
  }

  .pd35 {
    padding: 7vw 0;
  }

  .pd4 {
    padding: 8vw 0;
  }

  .pd45 {
    padding: 9vw 0;
  }

  .pd5 {
    padding: 10vw 0;
  }

  .pd6 {
    padding: 12vw 0;
  }

  .pd7 {
    padding: 14vw 0;
  }

  .pd8 {
    padding: 16vw 0;
  }

  .mg1 {
    margin: 2vw auto;
  }

  .mg15 {
    margin: 3vw auto;
  }

  .mg2 {
    margin: 4vw auto;
  }

  .mg25 {
    margin: 5vw auto;
  }

  .mg3 {
    margin: 6vw auto;
  }

  .mg4 {
    margin: 8vw auto;
  }

  .mg5 {
    margin: 10vw auto;
  }

  .mt1 {
    margin-top: 2vw;
  }

  .mt15 {
    margin-top: 3vw;
  }

  .mt18 {
    margin-top: 3.6em;
  }

  .mt2 {
    margin-top: 4vw;
  }

  .mt25 {
    margin-top: 5vw;
  }

  .mt3 {
    margin-top: 6vw;
  }

  .mt35 {
    margin-top: 7vw;
  }

  .mt4 {
    margin-top: 8vw;
  }

  .mt45 {
    margin-top: 9vw;
  }

  .mt5 {
    margin-top: 10vw;
  }

  .mt6 {
    margin-top: 12vw;
  }

  .mt8 {
    margin-top: 16vw;
  }

  .mt9 {
    margin-top: 18vw;
  }

  .mr1 {
    margin-right: 2vw;
  }

  .mr15 {
    margin-right: 3vw;
  }

  .mr2 {
    margin-right: 4vw;
  }

  .mr25 {
    margin-right: 5vw;
  }

  .mr3 {
    margin-right: 6vw;
  }

  .mr4 {
    margin-right: 8vw;
  }

  .mr5 {
    margin-right: 10vw;
  }

  .ml1 {
    margin-left: 2vw;
  }

  .ml15 {
    margin-left: 3vw;
  }

  .ml2 {
    margin-left: 4vw;
  }

  .ml25 {
    margin-left: 5vw;
  }

  .ml3 {
    margin-left: 6vw;
  }

  .ml4 {
    margin-left: 8vw;
  }

  .ml5 {
    margin-left: 10vw;
  }

  .mb1 {
    margin-bottom: 2vw;
  }

  .mb15 {
    margin-bottom: 3vw;
  }

  .mb2 {
    margin-bottom: 4vw;
  }

  .mb25 {
    margin-bottom: 5vw;
  }

  .mb3 {
    margin-bottom: 6vw;
  }

  .mb35 {
    margin-bottom: 7vw;
  }

  .mb4 {
    margin-bottom: 8vw;
  }

  .mb45 {
    margin-bottom: 9vw;
  }

  .mb5 {
    margin-bottom: 10vw;
  }

  .mb6 {
    margin-bottom: 12vw;
  }

  .pt1 {
    padding-top: 2vw;
  }

  .pt15 {
    padding-top: 3vw;
  }

  .pt2 {
    padding-top: 4vw;
  }

  .pt25 {
    padding-top: 5vw;
  }

  .pt3 {
    padding-top: 6vw;
  }

  .pt35 {
    padding-top: 7vw;
  }

  .pt4 {
    padding-top: 8vw;
  }

  .pt45 {
    padding-top: 9vw;
  }

  .pt5 {
    padding-top: 10vw;
  }

  .pt6 {
    padding-top: 12vw;
  }

  .pt8 {
    padding-top: 16vw;
  }

  .pt10 {
    padding-top: 20vw;
  }

  .pr1 {
    padding-right: 2vw;
  }

  .pr15 {
    padding-right: 3vw;
  }

  .pr2 {
    padding-right: 4vw;
  }

  .pr25 {
    padding-right: 5vw;
  }

  .pr3 {
    padding-right: 6vw;
  }

  .pr35 {
    padding-right: 7vw;
  }

  .pr4 {
    padding-right: 8vw;
  }

  .pr5 {
    padding-right: 10vw;
  }

  .pl1 {
    padding-left: 2vw;
  }

  .pl15 {
    padding-left: 3vw;
  }

  .pl2 {
    padding-left: 4vw;
  }

  .pl25 {
    padding-left: 5vw;
  }

  .pl3 {
    padding-left: 6vw;
  }

  .pl35 {
    padding-left: 7vw;
  }

  .pl4 {
    padding-left: 8vw;
  }

  .pl5 {
    padding-left: 10vw;
  }

  .pb1 {
    padding-bottom: 2vw;
  }

  .pb15 {
    padding-bottom: 3vw;
  }

  .pb2 {
    padding-bottom: 4vw;
  }

  .pb25 {
    padding-bottom: 5vw;
  }

  .pb3 {
    padding-bottom: 6vw;
  }

  .pb35 {
    padding-bottom: 7vw;
  }

  .pb4 {
    padding-bottom: 8vw;
  }

  .pb45 {
    padding-bottom: 9vw;
  }

  .pb5 {
    padding-bottom: 10vw;
  }

  .pb82 {
    padding-bottom: 16.4vw;
  }

  .pb-f {
    padding-bottom: 20vw;
  }

  .sp-mt {
    margin-top: 6vw;
  }

  .sp-mt2 {
    margin-top: 7vw;
  }

  .sp-mt3 {
    margin-top: 10vw;
  }

  .sp-mt4 {
    margin-top: 12vw;
  }

  .sp-mt5 {
    margin-top: 25vw;
  }

  .sp-mt6 {
    margin-top: 4vw;
  }

  .sp-pb {
    padding-bottom: 6vw;
  }

  .sp-pb2 {
    padding-bottom: 9vw;
  }

  .tab-mt {
    margin-top: 4vw;
  }

  .tab-mt2 {
    margin-top: 8vw;
  }
}

@media screen and (min-width: 541px) {
  .pt5-pc {
    padding-top: 5em;
  }
}

/***************
*トップページ「　　」セクション
****************/
/* toggle menu sp */
/*ナビゲーション部分*/
.menu ul li a {
  width: 100%;
  display: block;
  white-space: nowrap;
}

@media screen and (max-width: 1024px) {
  .menu {
    background: #fff;
    transition: 0.3s ease;
    transform: translateX(100%);
    position: fixed;
    z-index: 20;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 18vw 5vw 12vw;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .menu ul {
    display: flex;
    flex-wrap: wrap;
  }

  .menu ul li a {
    font-size: 3vw;
    color: var(--black);
    line-height: 1;
    font-weight: 500;
  }

  .menu ul.menu-main li {
    border-bottom: 1px solid #E6E6E6;
    width: 100%;
    padding: 3.8vw 0;
  }

  .menu ul.menu-main li a span {
    font-size: 2vw;
    font-weight: 400;
    color: var(--blue);
    padding-left: 1em;
  }

  .menu ul.menu-up {
    justify-content: space-between;
  }

  .menu ul.menu-up li.menu-up-1 {
    display: none;
  }

  .menu ul.menu-up li {
    width: 48.5%;
    padding: 3.5vw 0 0;
  }

  .menu ul.menu-up li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: 600;
    line-height: 1.4;
    padding-left: 6.154vw;
    padding-right: 6.154vw;
    background: #fff;
    color: var(--blue);
    border: 1px solid var(--blue);
    padding: 3.2vw;
  }

  .menu ul.menu-up li a span {
    position: relative;
    padding-left: 4.423vw;
  }

  .menu ul.menu-up li.menu-up-2 a span::before {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/icon-mail.svg) no-repeat;
    background-size: contain;
    width: 3.077vw;
    height: 2.692vw;
    left: 0;
    top: 19%;
  }

  .menu ul.menu-up li.menu-up-3 a span::before {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/icon-user.svg) no-repeat;
    background-size: contain;
    width: 3.077vw;
    height: 2.308vw;
    left: 0;
    top: 25%;
  }

  .menu.open {
    transform: translateX(0%);
  }

  .Toggle {
    display: block;
    position: fixed;
    cursor: pointer;
    z-index: 23;
    width: 10vw;
    height: 10vw;
    top: 0;
    right: 0;
    line-height: 1;
    background: #fff;
  }

  .Toggle span {
    display: block;
    position: absolute;
    left: 1.5vw;
    width: 5vw;
    transition: all 0.2s;
  }

  .Toggle span:nth-child(1),
  .Toggle span:nth-child(2),
  .Toggle span:nth-child(3) {
    border-bottom: solid 2px var(--blue);
  }

  .Toggle span:nth-child(1) {
    top: 3.2vw;
  }

  .Toggle span:nth-child(2) {
    top: 4.9vw;
  }

  .Toggle span:nth-child(3) {
    top: 6.6vw;
  }

  .Toggle.active span:nth-child(1),
  .Toggle.active span:nth-child(2),
  .Toggle.active span:nth-child(3) {
    top: 4.5vw;
  }

  .Toggle.active {
    width: 6.2vw;
    height: 6.2vw;
    top: 2vw;
    right: 2.9vw;
    background: var(--blue);
    border-radius: 50%;
  }

  .Toggle.active span {
    width: 4vw;
    left: 1.2vw;
    border-bottom: solid 2px #fff;
    z-index: 1;
  }

  .Toggle.active span:nth-child(1) {
    top: 3vw;
    transform: rotate(-45deg);
  }

  .Toggle.active span:nth-child(2),
  .Toggle.active span:nth-child(3) {
    top: 3vw;
    transform: rotate(45deg);
  }
}

@media screen and (max-width: 540px) {
  .menu {
    padding: 22vw 5vw 10vw;
  }

  .menu ul li a {
    font-size: 4.1vw;
  }

  .menu ul.menu-main li {
    padding: 6.4vw 0;
  }

  .menu ul.menu-main li a span {
    font-size: 2.6vw;
  }

  .menu ul.menu-up li {
    width: 100%;
    padding: 4.1vw 0 0;
  }

  .menu ul.menu-up li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: 600;
    line-height: 1.4;
    padding-left: 8.205vw;
    padding-right: 8.205vw;
    background: #fff;
    color: var(--blue);
    border: 1px solid var(--blue);
    padding: 3.7vw;
  }

  .menu ul.menu-up li a span {
    position: relative;
    padding-left: 5.897vw;
  }

  .menu ul.menu-up li.menu-up-2 a span::before {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/icon-mail.svg) no-repeat;
    background-size: contain;
    width: 4.103vw;
    height: 3.59vw;
    left: 0;
    top: 19%;
  }

  .menu ul.menu-up li.menu-up-3 a span::before {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/icon-user.svg) no-repeat;
    background-size: contain;
    width: 4.103vw;
    height: 3.077vw;
    left: 0;
    top: 25%;
  }

  .Toggle {
    width: 14.36vw;
    height: 14.36vw;
  }

  .Toggle span {
    left: 2.5vw;
  }

  .Toggle span:nth-child(1),
  .Toggle span:nth-child(2),
  .Toggle span:nth-child(3) {
    width: 7.2vw;
    border-bottom: solid 2px var(--blue);
  }

  .Toggle span:nth-child(1) {
    top: 4.4vw;
  }

  .Toggle span:nth-child(2) {
    top: 7vw;
  }

  .Toggle span:nth-child(3) {
    top: 9.6vw;
  }

  .Toggle.active {
    width: 8.56vw;
    height: 8.56vw;
    top: 2.9vw;
    right: 3.6vw;
  }

  .Toggle.active span {
    width: 4.6vw;
    left: 1.9vw;
    border-bottom: solid 1px #fff;
  }

  .Toggle.active span:nth-child(1) {
    top: 4vw;
  }

  .Toggle.active span:nth-child(2),
  .Toggle.active span:nth-child(3) {
    top: 4vw;
  }
}

/* toggle menu pc */
@media screen and (min-width: 1025px) {
  .Toggle {
    display: none;
  }

  .menu {
    transform: none;
    display: flex;
    flex-direction: column;
    height: 8.125vw;
  }

  .menu ul li a {
    font-size: 1.111vw;
  }

  .menu-main {
    order: 2;
    background: var(--black);
    width: 100%;
    height: 55%;
  }

  .menu-up {
    order: 1;
    height: 90%;
  }

  .menu ul.menu-main {
    display: flex;
    justify-content: space-between;
    padding-left: 17.1%;
    padding: 0 18% 0 18%;
  }

  .menu ul.menu-main li {

    gap: 0 20px;

  }

  .menu ul.menu-main li a {
    color: #fff;
    width: 100%;
    font-weight: 400;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  .menu ul.menu-main li a span {
    font-size: 10px;
    font-weight: 300;
  }

  .menu ul.menu-main li a:hover {
    color: var(--blue);
  }

  .menu ul.menu-main li.menu-8 {
    display: none;
  }

  .menu ul.menu-up {
    display: flex;
    justify-content: flex-end;
  }

  .menu ul.menu-up li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: 600;
    line-height: 1.4;
    padding-left: 32px;
    padding-right: 32px;
  }

  .menu ul.menu-up li.menu-up-1 a {
    color: #fff;
    font-weight: 500;
  }

  .menu ul.menu-up li:is(.menu-up-2, .menu-up-3) a {
    background: #fff;
    color: #231815;
  }

  .menu ul.menu-up li:is(.menu-up-2, .menu-up-3) a span {
    position: relative;
    padding-left: 23px;
  }

  .menu ul.menu-up li.menu-up-2 a span::before {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/icon-mail.svg) no-repeat;
    background-size: contain;
    width: 16px;
    height: 14px;
    left: 0;
    top: 19%;
  }

  .menu ul.menu-up li.menu-up-3 a span::before {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/icon-user.svg) no-repeat;
    background-size: contain;
    width: 16px;
    height: 12px;
    left: 0;
    top: 25%;
  }

  .menu ul.menu-up li.menu-up-1:hover a span {
    border-bottom: 1px solid #b3d8ed;
  }

  .menu ul.menu-up li:is(.menu-up-2, .menu-up-3):hover a {
    background: var(--lblue);
  }
}

@media screen and (min-width: 1441px) {
  .menu {
    height: 117px;
  }

  .menu ul li {
    padding: 0;
  }

  .menu ul li a {
    font-size: 16px;
  }
}

/* !header -------------------------------------------------------------- */
#header {
  background: rgba(255, 255, 255, 0.6);
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 20;
  height: 117px;
}

#contents {
  padding-top: 117px;
}

@media screen and (max-width: 1440px) {
  #header {
    height: 8.125vw;
  }

  #contents {
    padding-top: 8.125vw;
  }
}

@media screen and (max-width: 1024px) {
  #header {
    height: 10vw;
  }
}

@media screen and (max-width: 540px) {
  #header {
    height: 14.36vw;
  }

  #contents {
    padding-top: 14.36vw;
  }
}

/* !logo -------------------------------------------------------------- */
.logo {
  position: fixed;
  top: 10px;
  left: 0;
  left: calc((100% - 1300px) / 2 * 0.18);
  z-index: 21;
  width: 250px;
  height: 153px;
  border-radius: 50%/0 0 90% 90%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 16px;
}

.logo-flex {
  display: flex;
  align-items: flex-start;
  height: 0;
}

.logo-txt {
  width: 400px;
  top: 20px;
  left: calc((100% - 1300px) / 2 * 0.18 + 220px);
  display: block;
  position: relative;
}

@media (max-width: 992px) {
  .logo-txt {
    width: 150px;
  }
}

@media (max-width: 600px) {
  .logo-txt {
    left: 50px;
  }
}

.logo a {
  display: block;
  width: 160px;
  height: 153px;
  background: url(../img/logo.png) no-repeat;
  background-size: contain;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}

@media screen and (max-width: 1440px) {
  .logo {
    left: 0;
    width: 17.361vw;
    height: 8.819vw;
    padding: 0 0 1.111vw;
  }

  .logo a {
    width: 11.111vw;
    height: 9.403vw;
  }
}

@media screen and (max-width: 1024px) {
  .logo {
    position: absolute;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 0;
    padding: 0;
  }

  .logo a {
    margin-top: 2.5vw;
    margin-left: 4.1vw;
  }

  .logo a {
    width: 17.778vw;
    height: 5.444vw;
  }
}

@media screen and (max-width: 540px) {
  .logo a {
    margin-top: 3.1vw;
    margin-left: 4.1vw;
  }

  .logo a {
    width: 30px;
    height: 25px;
  }
}

.container {
  width: 92%;
  max-width: 1140px;
  margin: 0 auto;
}

.container100 {
  width: 100%;
  margin: 0 auto;
}

.container1920 {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

.container1440 {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.container1344 {
  width: 92%;
  max-width: 1344px;
  margin: 0 auto;
}

.container1140 {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

.container946 {
  width: 92%;
  max-width: 946px;
  margin: 0 auto;
}

.container-left {
  padding-left: 5%;
}

.container-right {
  padding-right: 5%;
}

@media screen and (min-width: 1557px) {
  .container-left {
    padding-left: calc((100% - 1400px) / 2);
  }

  .container-right {
    padding-right: calc((100% - 1400px) / 2);
  }
}

@media screen and (max-width: 1024px) {
  .container-left {
    padding-right: 5%;
  }

  .container-right {
    padding-left: 5%;
  }
}

/* !btn -------------------------------------------------------------- */
a.btn_01,
.submitbtnWrap {
  color: var(--black);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
}

a.btn_01 span,
.submitbtnWrap button {
  position: relative;
  padding-right: 47px;
}

a.btn_01 span::before,
.submitbtnWrap button::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 12px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--blue);
  border-radius: 50%;
  transition: all 0.2s;
}

a.btn_01 span::after,
.submitbtnWrap button::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 32px;
  height: 32px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border: 2px solid var(--blue);
  border-radius: 50%;
  transition: all 0.2s;
}

.submitbtnWrap button {
  width: 100%;
}

a.btn_01.btn_01_white {
  color: #fff;
}

a.btn_01.btn_01_white span::before {
  background: #fff;
}

a.btn_01.btn_01_white span::after {
  border: 2px solid #fff;
}

a.btn_01.btn_01_whiteblue {
  color: #fff;
}

a.btn_01:hover span::before,
.submitbtnWrap:hover button::before {
  animation: pulsation 1.3s infinite;
}

a.btn_01:hover span::after,
.submitbtnWrap:hover button::after {
  animation: pulsation2 1.3s infinite;
}

@keyframes pulsation {
  0% {
    width: 12px;
    height: 12px;
    right: 10px;
    opacity: 1;
  }

  60% {
    width: 36px;
    height: 36px;
    right: -2px;
    opacity: 0;
  }

  100% {
    width: 36px;
    height: 36px;
    right: -2px;
    opacity: 0;
  }
}

@keyframes pulsation2 {
  0% {
    width: 32px;
    height: 32px;
    right: 0px;
    opacity: 1;
  }

  60% {
    width: 46px;
    height: 46px;
    right: -7px;
    opacity: 0;
  }

  100% {
    width: 46px;
    height: 46px;
    right: -7px;
    opacity: 0;
  }
}

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

  a.btn_01,
  .submitbtnWrap {
    font-size: 1.758vw;
  }

  a.btn_01 span,
  .submitbtnWrap button {
    padding-right: 4.59vw;
  }

  a.btn_01 span::before,
  .submitbtnWrap button::before {
    width: 1.172vw;
    height: 1.172vw;
    right: 0.977vw;
  }

  a.btn_01 span::after,
  .submitbtnWrap button::after {
    width: 3.125vw;
    height: 3.125vw;
  }

  @keyframes pulsation {
    0% {
      width: 1.172vw;
      height: 1.172vw;
      right: 0.977vw;
      opacity: 1;
    }

    60% {
      width: 3.516vw;
      height: 3.516vw;
      right: -0.195vw;
      opacity: 0;
    }

    100% {
      width: 3.516vw;
      height: 3.516vw;
      right: -0.195vw;
      opacity: 0;
    }
  }

  @keyframes pulsation2 {
    0% {
      width: 3.125vw;
      height: 3.125vw;
      right: 0px;
      opacity: 1;
    }

    60% {
      width: 4.492vw;
      height: 4.492vw;
      right: -0.684vw;
      opacity: 0;
    }

    100% {
      width: 4.492vw;
      height: 4.492vw;
      right: -0.684vw;
      opacity: 0;
    }
  }
}

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

  a.btn_01,
  .submitbtnWrap {
    font-size: 4.1vw;
  }

  a.btn_01 span,
  .submitbtnWrap button {
    padding-right: 10.706vw;
  }

  a.btn_01 span::before,
  .submitbtnWrap button::before {
    width: 2.733vw;
    height: 2.733vw;
    right: 2.278vw;
  }

  a.btn_01 span::after,
  .submitbtnWrap button::after {
    width: 7.289vw;
    height: 7.289vw;
  }

  @keyframes pulsation {
    0% {
      width: 2.733vw;
      height: 2.733vw;
      right: 2.278vw;
      opacity: 1;
    }

    60% {
      width: 8.2vw;
      height: 8.2vw;
      right: -0.456vw;
      opacity: 0;
    }

    100% {
      width: 8.2vw;
      height: 8.2vw;
      right: -0.456vw;
      opacity: 0;
    }
  }

  @keyframes pulsation2 {
    0% {
      width: 7.289vw;
      height: 7.289vw;
      right: 0px;
      opacity: 1;
    }

    60% {
      width: 10.478vw;
      height: 10.478vw;
      right: -1.595vw;
      opacity: 0;
    }

    100% {
      width: 10.478vw;
      height: 10.478vw;
      right: -1.595vw;
      opacity: 0;
    }
  }
}

/***************
*トップページ「　　」セクション
****************/
/* !flex -------------------------------------------------------------- */
.flex,
.flex_pc,
.flex_all,
.flex_pcpro {
  display: flex;
  justify-content: space-between;
}

.flex.lineupMain_btn {
  justify-content: center;
}

.aic {
  align-items: center;
}

.ais {
  align-items: start;
}

.aie {
  align-items: flex-end;
}

.flwWrap {
  flex-wrap: wrap;
}

.jcs {
  justify-content: start;
}

.jca {
  justify-content: space-around;
}

.jcc {
  justify-content: center;
}

.jcr {
  justify-content: flex-end;
}

.fd-rr {
  flex-direction: row-reverse;
}

.fd-column {
  flex-direction: column;
}

.flex-sh0 {
  flex-shrink: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.flex-w50 {
  width: 50%;
}

.flex-w57 {
  width: 57.4%;
}

.flex-w43 {
  width: 42.6%;
}

@media screen and (max-width: 1024px) {
  .flex_pc {
    display: block;
  }

  .flex_pc>* {
    padding-right: 0;
  }

  .flex-w50 {
    width: 100%;
  }
}

@media screen and (max-width: 820px) {
  .flex_pcpro {
    display: block;
  }
}

@media screen and (max-width: 540px) {
  .flex-w57 {
    width: 52%;
  }

  .flex-w43 {
    width: 48%;
  }
}

.fl_r {
  float: right;
}

.fl_l {
  float: left;
}

/* !fv -------------------------------------------------------------- */
.bg_fv_blue {
  background: url(../images/bg_fv_blue.webp) no-repeat;
  background-size: cover;
}

#fv_slide {
  /*width: 2874px;*/
  /*margin-left: calc(calc(100% - 958px)/2);*/
  text-align: center;
  margin: 0 auto;
}

#fv_slide {
  display: none;
}

#fv_slide.slick-initialized {
  display: block;
  /*slick-initializedが付与されたら表示*/
}

#fv_slide .slide_inner {
  padding-left: 6px;
  padding-right: 6px;
}

#fv_slide .slide_inner img {
  width: 946px;
  height: 560px;
  -o-object-fit: cover;
  object-fit: cover;
}

#fv_thumbnail {
  width: 80%;
  max-width: 780px;
  margin: 0 auto;
  padding-top: 7px;
  padding-bottom: 7px;
  display: flex;
  justify-content: center;
}

#fv_thumbnail .slide_inner {
  padding-left: 3px;
  padding-right: 3px;
}

#fv_thumbnail .slide_inner img {
  width: 133px;
  height: 80px;
  -o-object-fit: cover;
  object-fit: cover;
}

#fv_thumbnail .slick-track {
  float: none;
  display: flex;
  justify-content: center;
}

.add-slide-position {
  left: 50%;
  transform: translateX(-50%) !important;
}

#fv_thumbnail .slick-current .slide_inner img {
  border: 2px solid #fff;
}

#fv_thumbnail .slide_inner:hover img {
  cursor: pointer;
}

.slick-prev:before,
.slick-next:before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  opacity: 1;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  background: var(--lblue);
}

.slick-prev:before {
  right: 8px;
}

.slick-next:before {
  left: 8px;
}

.slick-prev:after,
.slick-next:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  width: 9px;
  height: 9px;
  border-top: 1px solid var(--blue);
  border-right: 1px solid var(--blue);
}

.slick-prev:after {
  right: 22px;
  transform: rotate(-135deg);
}

.slick-next:after {
  left: 22px;
  transform: rotate(45deg);
}

#match_slide .slick-prev.slick-disabled,
#match_slide .slick-next.slick-disabled {
  display: none !important;
}

@media screen and (max-width: 1440px) {
  #fv_slide .slide_inner {
    padding-left: 0.417vw;
    padding-right: 0.417vw;
  }

  #fv_slide .slide_inner img {
    width: 65.694vw;
    height: 38.889vw;
  }

  #fv_thumbnail {
    max-width: 54.167vw;
    padding-top: 0.486vw;
    padding-bottom: 0.486vw;
  }

  #fv_thumbnail .slide_inner {
    padding-left: 0.208vw;
    padding-right: 0.208vw;
  }

  #fv_thumbnail .slide_inner img {
    width: 9.236vw;
    height: 5.556vw;
  }

  .slick-prev:before,
  .slick-next:before {
    width: 2.778vw;
    height: 2.778vw;
  }

  .slick-prev:before {
    right: 0.556vw;
  }

  .slick-next:before {
    left: 0.556vw;
  }

  .slick-prev:after,
  .slick-next:after {
    width: 0.625vw;
    height: 0.625vw;
  }

  .slick-prev:after {
    right: 1.528vw;
  }

  .slick-next:after {
    left: 1.528vw;
  }
}

@media screen and (max-width: 1024px) {
  #fv_thumbnail {
    max-width: 76.172vw;
    padding-top: 0.684vw;
    padding-bottom: 0.684vw;
  }

  #fv_thumbnail .slide_inner {
    padding-left: 0.293vw;
    padding-right: 0.293vw;
  }

  #fv_thumbnail .slide_inner img {
    width: 12.988vw;
    height: 7.813vw;
  }

  .slick-prev:before,
  .slick-next:before {
    width: 3.906vw;
    height: 3.906vw;
  }

  .slick-prev:before {
    right: 0.781vw;
  }

  .slick-next:before {
    left: 0.781vw;
  }

  .slick-prev:after,
  .slick-next:after {
    width: 0.879vw;
    height: 0.879vw;
  }

  .slick-prev:after {
    right: 2.148vw;
  }

  .slick-next:after {
    left: 2.148vw;
  }

  #match_slide .slick-prev {
    left: -1vw;
    z-index: 2;
  }

  #match_slide .slick-next {
    right: -1vw;
  }
}

@media screen and (max-width: 540px) {
  #fv_slide .slide_inner {
    padding-left: 0;
    padding-right: 0;
  }

  #fv_slide .slide_inner img {
    width: 100%;
    height: auto;
  }

  #fv_thumbnail .slide_inner {
    padding-left: 0.556vw;
    padding-right: 0.556vw;
  }

  #fv_thumbnail .slide_inner img {
    width: 24.63vw;
    height: 14.815vw;
  }

  .slick-prev:before,
  .slick-next:before {
    width: 7.407vw;
    height: 7.407vw;
  }

  .slick-prev:before {
    right: 0.481vw;
  }

  .slick-next:before {
    left: 0.481vw;
  }

  .slick-prev:after,
  .slick-next:after {
    width: 1.667vw;
    height: 1.667vw;
  }

  .slick-prev:after {
    right: 3.074vw;
  }

  .slick-next:after {
    left: 3.074vw;
  }
}

/***************
*トップページ「　　」セクション
****************/
/* !bg-txt
---------------------------------------------------------- */
.txt-about {
  background: url(../images/txt-about.svg) center no-repeat;
}

.txt-blog {
  background: url(../images/txt-ijtimes.svg) center no-repeat;
}

.txt-campaign {
  background: url(../images/txt-campaign.svg) center no-repeat;
}

.txt-contents {
  background: url(../images/txt-contents.svg) center no-repeat;
}

.txt-information {
  background: url(../images/txt-information.svg) center no-repeat;
}

.txt-match {
  font-size: 120px;
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  color: #fff;
}

.txt-news {
  font-size: 120px;
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
}

.txt-partner {
  background: url(../images/txt-partner.svg) center no-repeat;
}

.txt-team {
  background: url(../images/txt-team.svg) center no-repeat;
}

.bg-txt-h141,
.bg-txt-h136 {
  background-size: contain;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.bg-txt-h141 {
  height: 141px;
}

.bg-txt-h136 {
  height: 136px;
}

@media screen and (max-width: 1440px) {
  .bg-txt-h141 {
    height: 9.792vw;
  }

  .bg-txt-h136 {
    height: 9.444vw;
  }
}

@media screen and (max-width: 1024px) {
  .bg-txt-h141 {
    height: 9.792vw;
  }

  .bg-txt-h136 {
    height: 9.444vw;
  }

  .txt-match,
  .txt-news {
    font-size: 50px;
  }
}

@media screen and (max-width: 540px) {
  .bg-txt-h141 {
    height: 12.8vw;
  }

  .bg-txt-h136 {
    height: 12.4vw;
  }
}

/* !bg + decoration
---------------------------------------------------------- */
.bg_1 {
  background: url(../img/bg_1.jpg) center no-repeat;
  background-size: cover;
}

.bg_3 {
  background: url(../images/bg_3.webp) center repeat-x;
  background-size: 100% 100%;
}

.bg_4 {
  background: url(../img/bg_joinus.jpg) center no-repeat, linear-gradient(180deg, #fff 10%, #F7F6FB 90%);
  background-size: 100%;
  padding: 15vw 0;
  z-index: 990;
}

.bg_5 {
  background: url(../img/bg-team-all.jpg) center no-repeat;
  background-size: cover;
  padding: 50px 0;
  z-index: 990;
}

@media screen and (max-width: 540px) {
  .bg_3 {
    background: none;
  }
}

.border-bottom {
  border-bottom: 1px solid var(--blue);
}

@media screen and (max-width: 540px) {
  .home .border-bottom {
    padding: 0.5em 0;
    margin-bottom: 6.5vw;
  }
}

.border-bottom2 {
  border-bottom: 2px solid var(--blue);
}

.border-blue {
  border: 1px solid var(--blue);
}

.border-bottom-min {
  position: relative;
}

.border-bottom-min::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  display: inline-block;
  width: 32px;
  height: 2px;
  transform: translateX(-50%);
  background-color: var(--blue);
}

.border-left {
  border-left: 2px solid var(--blue);
  padding: 5px 0 5px 15px;
}

.border-left2 {
  border-left: 3px solid var(--blue);
  padding: 11px 0 11px 15px;
}

@media screen and (max-width: 990px) {
  .bg_4 {
    background: url(../img/bg_joinus.jpg) center no-repeat, linear-gradient(180deg, #fff 10%, #F7F6FB 90%);
    background-size: cover;
    padding: 15vw 0;
    z-index: 990;
  }
}

.flex-col4+.border-bottom {
  margin-top: 2.5em;
}

.flex-col4>* {
  width: 48%;
  /* margin-right: 2.1%; */
}

.flex-col4>*:nth-child(2n) {
  margin-right: 0;
}

.flex-col4-inner {
  background: #fafafa;
  letter-spacing: 0;
  text-align: center;
  color: var(--black);
  transition: all 0.1s;
  margin-top: 28px;
  display: block;
}

.flex-col4-inner_team {
  font-size: 12px;
  width: 28%;
}

.flex-col4-inner_place {
  font-size: 11px;
  width: 44%;
}

.flex-col4-inner_place .bold {
  font-size: 12px;
  letter-spacing: 0.05em;
}

.flex-col4-inner_flex {
  background: #f5f5f5;
  padding: 16px 13px 12px;
}

.flex-col4-inner_team img {
  height: 72px;
}

.flex-col4-inner:hover {
  filter: brightness(94%);
}

.flex-col4-inner:not([href]):hover {
  filter: none;
}

.btn_ticket_wrap {
  padding: 10px;
}

.btn_ticket {
  width: 200px;
  height: 40px;
  background: var(--blue);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  margin: 0 auto;
  transition: all 0.1s;
}

.btn_ticket span {
  position: relative;
  padding-left: 26px;
  padding-bottom: 2px;
}

.btn_ticket span::before {
  position: absolute;
  content: "";
  display: inline-block;
  background: url(../images/icon-ticket.svg) no-repeat;
  background-size: contain;
  width: 18px;
  height: 12px;
  top: 4px;
  left: 0;
}

.flex-col4-inner:hover .btn_ticket {
  background: var(--black);
}

@media screen and (max-width: 1240px) {
  .flex-col4-inner {
    margin-top: 2.258vw;
  }

  .flex-col4-inner_team {
    font-size: 0.968vw;
  }

  .flex-col4-inner_place {
    font-size: 0.887vw;
  }

  .flex-col4-inner_place .bold {
    font-size: 0.968vw;
  }

  .flex-col4-inner_flex {
    padding: 1.29vw 1.048vw 0.968vw;
  }

  .flex-col4-inner_team img {
    height: 5.806vw;
  }
}

@media screen and (max-width: 1024px) {
  .flex-col4>* {
    width: 330px;
    /* margin-right: 1.2%; */
  }

  .flex-col4>*:nth-child(3n) {
    margin-right: 1.2%;
  }

  .flex-col4-inner {
    margin-top: 28px;
  }

  .flex-col4-inner_team {
    font-size: 12px;
  }

  .flex-col4-inner_place {
    font-size: 11px;
  }

  .flex-col4-inner_place .bold {
    font-size: 12px;
  }

  .flex-col4-inner_flex {
    padding: 16px 13px 12px;
  }

  .flex-col4-inner_team img {
    height: 72px;
  }

  .btn_ticket_wrap {
    padding: 10px;
  }
}

@media screen and (max-width: 540px) {
  .flex-col4+.border-bottom {
    margin-top: 6.5vw;
  }

  .flex-col4>* {
    width: 100%;
    margin-right: 0;
    display: block;
  }

  .flex-col4>*:nth-child(3n) {
    margin-right: 0;
  }

  .flex-col4-inner {
    margin-top: 4vw;
  }

  .flex-col4-inner_team {
    font-size: 3.077vw;
  }

  .flex-col4-inner_place {
    font-size: 2.9vw;
  }

  .flex-col4-inner_place .bold {
    font-size: 3.077vw;
  }

  .flex-col4-inner_flex {
    background: #f5f5f5;
    padding: 4.103vw 3.333vw 3.077vw;
  }

  .flex-col4-inner_team img {
    height: 12.308vw;
  }

  .btn_ticket_wrap {
    padding: 2.564vw;
  }
}

.flex-col4-inner_result {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 1440px) {
  .bg_2 {
    width: 108.611vw;
    background-size: 32.569vw auto;
    margin-left: calc((100% - 108.611vw) / 2);
  }
}

@media screen and (max-width: 540px) {
  .bg_2 {
    width: 100%;
    background: none;
    margin-left: 0;
  }
}

.btn_report,
.match_result .btn_ticket {
  width: 280px;
  height: 48px;
  background: var(--blue);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  margin: 0.5em auto 0;
  transition: all 0.1s;
}

.home .btn_report {
  width: 200px;
  height: 40px;
  font-size: 12px;
  margin: 0 auto;
}

a.match_result:not([href]) .btn_report,
a.match_result:not([href]) .btn_ticket,
a.flex-col4-inner:not([href]) .btn_report,
a.flex-col4-inner:not([href]) .btn_ticket {
  background: #aaa;
}

.btn_report span {
  position: relative;
  padding-left: 22px;
  padding-bottom: 2px;
}

.btn_report span::before {
  position: absolute;
  content: "";
  display: inline-block;
  background: url(../images/icon-report.svg) no-repeat;
  background-size: contain;
  width: 14px;
  height: 16px;
  top: 3px;
  left: 0;
}

.match_result .btn_ticket span::before {
  top: 6px;
  left: 0;
}

a.match_result[href]:hover {
  background: #f6f6f6;
}

a.match_result[href]:hover .btn_report,
a.match_result[href]:hover .btn_ticket {
  background: var(--black);
}

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

  .btn_report,
  .match_result .btn_ticket {
    width: 22.581vw;
    height: 3.871vw;
    font-size: 1.21vw;
  }

  .btn_report span {
    padding-left: 1.774vw;
    padding-bottom: 0.161vw;
  }

  .btn_report span::before {
    width: 1.129vw;
    height: 1.29vw;
    top: 0.242vw;
  }
}

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

  .btn_report,
  .match_result .btn_ticket {
    width: 27.344vw;
    height: 4.688vw;
    font-size: 1.465vw;
  }

  .btn_report span {
    padding-left: 2.148vw;
    padding-bottom: 0.195vw;
  }

  .btn_report span::before {
    width: 1.367vw;
    height: 1.563vw;
    top: 0.293vw;
  }
}

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

  .btn_report,
  .match_result .btn_ticket {
    width: 60.475vw;
    height: 10.367vw;
    font-size: 3.24vw;
  }

  .btn_report span {
    padding-left: 4.752vw;
    padding-bottom: 0.432vw;
  }

  .btn_report span::before {
    width: 3.024vw;
    height: 3.456vw;
    top: 0.648vw;
  }
}

/***************
*トップページ「　　」セクション
****************/
/* !news
---------------------------------------------------------- */
.news__viewmore {
  text-align: right;
  margin: 30px 0;
}

.news_list {
  border-bottom: 1px solid #e6e6e6;
  padding: 25px 20px 10px;
  font-size: 16px;
  max-width: 92vw;
  margin: 0 auto;
}

.news_list>div {
  width: 26%;
}

.news_day {
  color: var(--gray);
  font-weight: 700;
  width: 52%;
}

.news_cat {
  color: #040D1F;
  border: 1px solid #040D1F;
  border-radius: 17px;
  padding: 2px 10px;
  font-size: 12px;
}

.news_list a {
  font-weight: 700;
  color: var(--black);
}

.news_list a:hover {
  color: var(--linkblue);
}

@media screen and (max-width: 1028px) {
  .news_list {
    padding: 1.946vw 0;
    font-size: 1.556vw;
  }

  .news_list>div {
    width: 26%;
  }

  .news_day {
    width: 52%;
  }

  .news_cat {
    padding: 0.097vw 0.681vw 0.195vw;
    font-size: 1.167vw;
  }

  .news_list a {
    width: 74%;
  }
}

@media screen and (max-width: 540px) {
  .news_list>div {
    width: inherit;
  }

  .news_list {
    padding: 4.938vw 0;
    font-size: 3.951vw;
    max-width: 100%;
  }

  .news_list>div {
    width: inherit;
  }

  .news_day {
    width: inherit;
  }

  .news_cat {
    padding: 0.247vw 1.728vw 0.494vw;
    font-size: 2.963vw;
    margin-left: 4vw;
  }

  .news_list a {
    width: 100%;
    margin-top: 3vw;
  }
}

.flex-col3>* {
  width: 31.228%;
  margin-right: 3.158%;
}

.flex-col3>*:nth-child(3n) {
  margin-right: 0;
}

.blog_inner {
  font-weight: 700;
  color: var(--black);
  background: #fff;
  font-size: 16px;
  transition: all 0.1s;
  border: 1px solid #e6e6e6;
  margin-top: 20px;
  margin-bottom: 20px;
}

.blog_inner img {
  width: 354px;
  height: 219px;
  -o-object-fit: cover;
  object-fit: cover;
}

.blog_day {
  color: var(--gray);
  font-weight: 700;
  font-size: 14px;
}

.blog_cat {
  color: var(--blue);
  font-size: 14px;
  margin-left: 1em;
}

.blog_inner>.flex_all {
  margin-left: 16px;
  margin-top: 12px;
}

.blog_inner p {
  margin: 3px 16px 12px;
}

.blog_inner:hover {
  filter: brightness(94%);
}

@media screen and (max-width: 1240px) {
  .blog_inner {
    font-size: 1.29vw;
    margin-top: 1.613vw;
    margin-bottom: 1.613vw;
  }

  .blog_inner img {
    width: 28.548vw;
    height: 17.661vw;
  }

  .blog_day {
    font-size: 1.129vw;
  }

  .blog_cat {
    font-size: 1.129vw;
  }

  .blog_inner>.flex_all {
    margin-left: 1.29vw;
    margin-top: 0.968vw;
  }

  .blog_inner p {
    margin: 0.242vw 1.29vw 0.968vw;
  }
}

@media screen and (max-width: 1024px) {
  .blog_inner {
    font-size: 1.563vw;
    margin-top: 1.953vw;
    margin-bottom: 1.953vw;
  }

  .blog_inner img {
    width: 34.57vw;
    height: 21.387vw;
  }

  .blog_day {
    font-size: 1.367vw;
  }

  .blog_cat {
    font-size: 1.367vw;
  }

  .blog_inner>.flex_all {
    margin-left: 1.563vw;
    margin-top: 1.172vw;
  }

  .blog_inner p {
    margin: 0.293vw 1.563vw 1.172vw;
  }
}

@media screen and (max-width: 540px) {
  .flex-col3>* {
    width: 100%;
    margin-right: 0;
    display: block;
  }

  .blog_inner {
    font-size: 3.951vw;
    margin-top: 5vw;
    margin-bottom: 6vw;
  }

  .blog_inner img {
    width: 100%;
    height: 56.4vw;
  }

  .blog_day {
    font-size: 3.457vw;
  }

  .blog_cat {
    font-size: 3.457vw;
  }

  .blog_inner>.flex_all {
    margin-left: 3.951vw;
    margin-top: 2.963vw;
  }

  .blog_inner p {
    margin: 0.741vw 3.951vw 2.963vw;
  }
}

/* !team
---------------------------------------------------------- */
.team_top_img {
  width: 57.6%;
  padding-left: 4.5%;
}

.team_top_img img {
  width: 716px;
}

.team_top_name {
  width: 42.4%;
  padding-right: 10.4%;
}

.team_top_name .figure {
  width: 88px;
  height: 88px;
  text-align: center;
  margin-right: 28px;
}

.team_top_name .figure img {
  max-width: 88px;
  max-height: 88px;
}

.team_top_name>a {
  color: #000;
  padding: 23px 0;
  width: 460px;
  position: relative;
  z-index: 2;
}

.team_top_name a:hover {
  color: var(--linkblue);
}

.team_top_name a+a {
  border-top: 1px solid #e6e6e6;
}

@media screen and (max-width: 1440px) {
  .team_top_img {
    width: 57.6%;
    padding-left: 4.5%;
  }

  .team_top_img img {
    width: 49.722vw;
  }

  .team_top_name {
    width: 42.4%;
    padding-right: 10.4%;
  }

  .team_top_name .figure {
    width: 6.111vw;
    height: 6.111vw;
    text-align: center;
    margin-right: 1.944vw;
  }

  .team_top_name .figure img {
    max-width: 6.111vw;
    max-height: 6.111vw;
  }

  .team_top_name a {
    color: #000;
    padding: 1.597vw 0;
    width: 31.944vw;
    position: relative;
    z-index: 2;
  }
}

@media screen and (max-width: 540px) {
  .team_top_img {
    width: 96%;
    padding-left: 0;
    margin: 7vw auto 3.5vw;
  }

  .team_top_img img {
    width: 100%;
  }

  .team_top_name {
    width: 92%;
    padding-right: 0;
    margin: 0 auto;
  }

  .team_top_name .figure {
    width: 16.41vw;
    height: 16.41vw;
    margin-right: 5.385vw;
  }

  .team_top_name .figure img {
    max-width: 16.41vw;
    max-height: 16.41vw;
  }

  .team_top_name a {
    padding: 3.846vw 0;
    width: 100%;
  }
}

.bg_player_1,
.bg_player_2,
.bg_player_3 {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.bg_player_1 img {
  position: absolute;
  top: 0;
  /*right: -166px;*/
  left: -254px;
  width: 820px;
}

.bg_player_2 img {
  position: absolute;
  top: 0;
  /*left: -144px;*/
  right: -146px;
  width: 701px;
}

.bg_player_3 img {
  position: absolute;
  /*top: -247px;*/
  bottom: 0;
  left: -142px;
  width: 374px;
}

@media screen and (max-width: 1440px) {
  .bg_player_1 img {
    /*right: -11.528vw;*/
    left: -17.639vw;
    width: 56.944vw;
  }

  .bg_player_2 img {
    /*left: -10vw;*/
    right: -10.139vw;
    width: 48.681vw;
  }

  .bg_player_3 img {
    /*top: -17.153vw;*/
    left: -9.861vw;
    left: -9.861vw;
    width: 25.972vw;
  }
}

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

  .bg_player_1,
  .bg_player_2,
  .bg_player_3 {
    display: none;
  }
}

.w69 {
  width: 69%;
  margin-left: auto;
  margin-right: auto;
}

.bg_5 {
  background: url(../img/bg-team-all.jpg) no-repeat;
  background-size: cover;
  color: black;
}

.bg_6 {
  background: url(../images/bg_6.webp) no-repeat;
  background-size: cover;
}

.campaign-flex>a {
  width: 31.93%;
  margin-right: 2.1%;
  margin-top: 2.1%;
}

.campaign-flex>a:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 540px) {
  .campaign-flex>a {
    width: 100%;
    margin-right: 0;
    margin-top: 5vw;
    display: block;
  }

  .campaign-flex>a img {
    width: 100%;
  }
}

.partners-flex>a {
  width: 23.95%;
  margin-right: 1.4%;
  margin-top: 1.4%;
}

.partners-flex>a:nth-child(4n) {
  margin-right: 0;
}

@media screen and (max-width: 540px) {
  .partners-flex>a {
    width: 48.9%;
    margin-right: 2.2%;
    margin-top: 2.2%;
  }

  .partners-flex>a:nth-child(2n) {
    margin-right: 0;
  }
}

/* !contents
---------------------------------------------------------- */
/***************
*トップページ「　　」セクション
****************/
/* !page-top
---------------------------------------------------------- */
.page-top {
  display: none !important;
  position: fixed;
  bottom: 110px;
  z-index: 99;
  width: 44px;
  height: 44px;
  cursor: pointer;
  right: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--lblue);
  border: 1px solid var(--blue);
}

.page-top span {
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  display: block;
}

.page-top::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 5px;
  bottom: 0;
  right: 0;
  left: 0;
  width: 13px;
  height: 13px;
  border-top: 1px solid var(--blue);
  border-right: 1px solid var(--blue);
  transform: rotate(-45deg);
}

@media screen and (min-width: 1025px) {
  .page-top:hover {
    background: var(--blue);
  }

  .page-top:hover::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}

@media screen and (max-width: 1440px) {
  .page-top {
    bottom: 7.639vw;
    width: 3.056vw;
    height: 3.056vw;
    right: 1.736vw;
  }

  .page-top::after {
    top: 0.347vw;
    width: 0.903vw;
    height: 0.903vw;
  }
}

@media screen and (max-width: 1024px) {
  .page-top {
    bottom: 15.742vw;
    width: 4.297vw;
    height: 4.297vw;
    right: 2.441vw;
  }

  .page-top::after {
    top: 0.488vw;
    width: 1.27vw;
    height: 1.27vw;
  }
}

@media screen and (max-width: 540px) {
  .page-top {
    bottom: 22vw;
    width: 8.8vw;
    height: 8.8vw;
    right: 3vw;
  }

  .page-top::after {
    top: 1vw;
    width: 2.6vw;
    height: 2.6vw;
  }
}

/* !fixed_btn
---------------------------------------------------------- */
.fixed_btn {
  position: fixed;
  z-index: 4;
  bottom: 25px;
  right: 25px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--blue);
  border: 1px solid #fff;
  transition: all 0.2s;
}

.fixed_btn:hover {
  background: var(--black);
}

.fixed_btn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 16px;
  line-height: 1.3;
  text-align: center;
}

.fixed_btn a span {
  position: relative;
  padding-top: 20px;
}

.fixed_btn a span::before {
  position: absolute;
  content: "";
  display: inline-block;
  background: url(../images/icon-ticket.svg) no-repeat;
  background-size: contain;
  width: 28px;
  height: 18px;
  top: -3px;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 1440px) {
  .fixed_btn {
    bottom: 1.736vw;
    right: 1.736vw;
    width: 8.333vw;
    height: 8.333vw;
  }

  .fixed_btn a {
    font-size: 1.111vw;
  }

  .fixed_btn a span {
    padding-top: 1.389vw;
  }

  .fixed_btn a span::before {
    width: 1.944vw;
    height: 1.25vw;
    top: -0.208vw;
  }
}

@media screen and (max-width: 1024px) {
  .fixed_btn {
    bottom: 7.441vw;
    right: 2vw;
    width: 11.719vw;
    height: 11.719vw;
  }

  .fixed_btn a {
    font-size: 1.563vw;
  }

  .fixed_btn a span {
    padding-top: 1.953vw;
  }

  .fixed_btn a span::before {
    width: 2.734vw;
    height: 1.758vw;
    top: -0.293vw;
  }
}

@media screen and (max-width: 540px) {
  .fixed_btn {
    width: 22.222vw;
    height: 22.222vw;
  }

  .fixed_btn a {
    font-size: 2.963vw;
  }

  .fixed_btn a span {
    padding-top: 3.704vw;
  }

  .fixed_btn a span::before {
    width: 5.185vw;
    height: 3.333vw;
    top: -0.556vw;
  }
}

a.anchor {
  display: block;
  padding-top: 130px;
  margin-top: -130px;
}

@media screen and (max-width: 1440px) {
  a.anchor {
    padding-top: 9.028vw;
    margin-top: -9.028vw;
  }
}

@media screen and (max-width: 1024px) {
  a.anchor {
    padding-top: 10vw;
    margin-top: -10vw;
  }
}

@media screen and (max-width: 540px) {
  a.anchor {
    padding-top: 14.36vw;
    margin-top: -14.36vw;
  }
}

/* !Clearfix
---------------------------------------------------------- */
.clearfix::after,
.contactForm dd::after {
  content: "";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}

@media screen and (max-width: 1024px) {
  .scroll_up {
    transform: translateY(3.906vw);
  }

  .scroll_up.on {
    transform: translateY(0);
  }
}

/* !tel
---------------------------------------------------------- */
@media (min-width: 541px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/***************
*トップページ「　MATCH　」セクション
****************/
/* *** 試合個別ペ-ジ *** */
#content.match {
  width: 100%;
  padding-top: 0;
}

.match-division__flex {
  margin: 60px 0 10px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.match-division__flex a {
  transition: all 0.2s linear 0s;
}

.match-division__flex a:hover {
  transform: scale(1.03);
}

.match-division__title {
  font-size: 28px;
  color: #fff;
  position: relative;
}

.match-division__title::before {
  content: "BOYS' DIVISION";
  transform: translateY(-50%);
  position: absolute;
  top: -8px;
  left: 0;
  font-size: 14px;
  white-space: nowrap;
}

.match-division__title.--f::before {
  content: "GIRLS' DIVISION";
}

.match-division__more {
  width: 210px;
}

@media (max-width: 992px) {
  .match-division__more {
    width: 150px;
  }
}

.match-wrapper {
  padding: 30px 0;
  background-color: #ffffff !important;
  background-size: cover;
  height: 100%;
  border: 6px solid #FFE202;
  height: 370px !important;
}

@media (max-width: 778px) {
  .match-wrapper {
    height: auto !important;
  }
}

.match-wrapper .status {
  margin: 0 0 25px 0;
  text-align: center;
}

.match-wrapper .status p {
  display: inline-block;
  padding: 10px 45px;
  color: #0D2042;
  font-size: 22px;
  border: 1px solid #0D2042;
}

.match-wrapper .status p.before {
  background-color: #ffa800;
  border: none;
  padding: 0;
}

.match-wrapper .status p.now {
  background-color: #ee2314;
  border: none;
}

.match-wrapper .status p.before a {
  display: block;
  padding: 10px 30px;
  font-size: 24px;
  font-family: "Teko";
  color: #0D2042;
}

.match-wrapper #matchinfo {
  width: 550px;
  margin: 0 auto;
  padding-bottom: 25px;
}

@media (max-width: 1024px) {
  .match-wrapper #matchinfo {
    width: 330px;
    margin: 0 auto;
    padding-bottom: 25px;
  }
}

.match-wrapper #matchinfo td {
  vertical-align: middle;
  text-align: center;
  color: #0D2042;
  font-size: 26px;
}

#matchinfo td.logo {
  width: 30%;
  text-align: center;
}

.match-wrapper #match_comment p {
  text-align: center;
  color: #0D2042;
  padding: 0 5%;
}

.match-wrapper .score {
  max-width: 500px;
  margin: 0 auto 0 auto;
}

.score td {
  text-align: center;
  vertical-align: middle;
  color: #0D2042;
  line-height: 1;
  height: 32px;
}

.score td.dmy {
  height: 11px;
}

.score td.team {
  width: 100px;
  text-align: center;
  max-width: 140px;
  min-width: 70px;
}

.score td img {
  padding: 0px 0;
  width: auto;
  height: 70px;
}

.score td.teamname {
  width: 125px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
  font-weight: 500;
}

.score td.teamname a {
  color: #0D2042;
  text-decoration: underline;
}

.match-title {
  font-family: "Exo 2", sans-serif;
  font-size: 30px;
  text-align: center;
  font-weight: 600;
  margin: 10px 10px;
  position: relative;
}

.match-title::before {
  content: "練習試合";
  color: #3366CC;
  font-weight: 700;
  background-color: #fff;
  border: 1px solid #3366CC;
  border-radius: 15px;
  transform: translateX(-50%);
  position: absolute;
  bottom: -23px;
  left: 50%;
  font-size: 12px;
  white-space: nowrap;
  padding: 2px 7px;
}

.match-date {
  text-align: center;
  font-weight: 600;
  font-family: "oswald", sans-serif;
  font-size: 18px;
  padding: 10px 0 0;
  letter-spacing: 0.13em;
}

.match-date span {
  font-size: 70%;
}

.match-center {
  text-align: center;
}

.match-place {
  font-size: 12px;
  padding-left: 15px;
  position: relative;
  display: inline-block;
}

.match-place::before {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url(../img/icon-place.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 2px;
  left: 0;
}

.score td.total {
  width: 12%;
  font-size: 48px;
  font-weight: 600;
  font-family: "Oswald", sans-serif;
}

.score td.quarter {
  width: 5%;
  font-weight: 500;
}

/* 得点チタ */
table.detail {
  width: 100%;
  margin: 30px auto 10px auto;
}

table.detail td {
  text-align: center;
  color: #0D2042;
}

.score .index,
.score td.quarter {
  font-size: 16px;
  font-weight: 400;
  font-family: "Oswald", sans-serif;
}

table.detail td.index {
  width: 150px;
}

table.detail td p {
  margin-bottom: 12px;
  padding: 0;
}

table.detail td.left p {
  text-align: right;
}

table.detail td.right p {
  text-align: left;
}

table.detail td span.minute {
  padding-right: 20px;
  color: #0D2042;
}

table.detail td span.player {
  display: inline-block;
  width: 90px;
  text-align: center;
  white-space: nowrap;
  color: #0D2042;
}

table.detail td p a span {
  text-decoration: underline;
}

#content .detail-wrapper {
  width: 1200px;
  margin: 60px auto 40px auto;
  padding: 0 0 40px 0;
  background-color: #0D2042;
}

#content .detail-wrapper h3 {
  font-size: 22px;
  font-weight: bold;
  color: #333;
  padding-bottom: 0;
  font-family: "Noto Sans Japanese";
}

ul.tabListTxt.detail {
  display: table;
  width: 1200px;
  margin: 0 auto 30px auto;
}

ul.tabListTxt.detail li {
  float: left;
  width: 20%;
  list-style-type: none;
  vertical-align: middle;
}

ul.tabListTxt.detail li a,
ul.tabListTxt.detail li span {
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
  padding: 10px 0;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
  border-bottom: 1px solid #0D2042;
  border-right: 1px solid #0D2042;
  font-size: 18px;
  background-color: #CACACA;
  color: #333;
}

ul.tabListTxt.detail li.ui-tabs-selected a {
  background-color: #323232;
  color: #0D2042;
}

ul.tabListTxt.detail li:last-child a,
ul.tabListTxt li:last-child span {
  border-right: none;
}

ul.tabListTxt.detail li span {
  background-color: #EBEBEB;
  color: #AAA;
}

.gallery {
  margin: 25px !important;
}

dl.gallery-item {
  width: 18% !important;
}

.score .bar {
  border-top: 1px solid #3366CC;
}

.score .bar:nth-of-type(2) {
  position: relative;
}

@media (max-width: 1025px) {
  .score td {
    height: 20px;
  }

  .score .index,
  .score td.quarter {
    font-size: 11px;
    font-weight: 400;
    font-family: "Oswald", sans-serif;
  }

  .match-wrapper .score {
    width: 320px;
  }

  .score td.team {
    width: 70px;
    padding: 0.5em 1em;
    text-align: center;
  }

  .score td.teamname {
    width: 78px;
    min-width: 78px;
    font-size: 9px;
    vertical-align: middle;
  }

  .score td img {
    width: 100%;
    height: auto;
  }

  .score .index,
  .score td.quarter {
    font-size: 10px;
  }

  .score td.total {
    font-size: 30px;
    width: 40%;
  }

  .score .bar:nth-of-type(2)::before {
    left: 57px;
  }
}

/* ********** リーグ概要********** */
#ui-tab.default ul.tabListTxt li {
  width: 20%;
}

#ui-tab.default ul.tabListTxt li a {
  background-color: #000;
  color: #0D2042;
  font-size: 18px;
  font-family: "Noto Sans Japanese";
}

#ui-tab.default ul.tabListTxt li.ui-tabs-selected a {
  background-color: #999;
}

#content.team {
  width: 80%;
}

div#team-info {
  text-align: center;
}

div#team-info img {
  margin-top: 20px;
  width: 50%;
}

div#team-info table.info-text {
  margin: 20px 0;
}

div#team-info table th {
  background: #ddd;
  width: 31.5%;
  border: 1px solid #0D2042;
  padding: 1.3em 1.5em;
  font-weight: bold;
  line-height: 2;
  text-align: left;
  vertical-align: top;
}

div#team-info table td {
  background: #F3F3F3;
  width: 68.5%;
  border: 1px solid #0D2042;
  padding: 1em 1em;
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
}

div.player div.profile {
  border-right: 1px solid #0D2042;
}

div#staff {
  background: #ddd;
  padding: 15px;
}

div#staff p {
  font-size: 30px;
  font-weight: bold;
}

#content .post ul.pickup {
  margin-top: 30px;
}

/*
  #content .post img {
    max-width: 75%;
  }
*/
#content .post ul.pickup {
  overflow: hidden;
}

#content .post ul.pickup li img {
  max-width: 100%;
}

#content .post ul.pickup li {
  float: left;
  width: calc(47% - 4px);
  margin-right: 60px;
}

#content .post ul.pickup li:nth-child(2n) {
  margin-right: 0;
}

#content .post ul.pickup li p {
  margin-top: 10px;
}

#content .post ul.pickup li p.name {
  font-weight: bold;
}

/* ********** PC版でSP版ナヴィゲーションの制御　********** */
nav.square-navi {
  display: none;
}

/* ********** role文字編集　********** */
.role {
  font-size: 16px;
  color: #e74291;
  padding: 8px 0;
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  #content.team {
    width: 100%;
  }

  div#team-info img {
    width: 100%;
  }

  div#team-info table.info-text {
    margin: 25px 0;
  }

  div#team-info table th {
    width: 100%;
    display: block;
    background: transparent;
    border: none;
    padding: 0.5em 1em 0 1em;
  }

  div#team-info table td {
    width: 100%;
    display: block;
    border: none;
    word-break: break-all;
  }

  div#staff p {
    font-size: 20px;
  }

  nav.square-navi {
    display: block;
  }

  /* ********** role文字編集　********** */
  .role {
    margin: 0;
  }

  div.staff p.name span.jp {
    margin-bottom: 10px;
  }
}

/* **********　選手追加・変更　はじめ********* */
div#players-table {
  width: 100%;
}

div#players-table table {
  border-collapse: separate;
  border-spacing: 1px;
  background-color: #CDCDCD;
  margin: 0px 0px 15px 0px;
  font-size: 12px;
  width: 100%;
  text-align: left;
}

div#players-table h4 {
  border-top: 1px solid #CCC;
  border-bottom: 1px dotted #CCC;
  padding: 5px 0;
  margin: 50px 0 10px;
}

div#players-table table th {
  border: 1px solid white;
  padding: 4px;
}

div#players-table table tr td {
  padding: 4px;
  background-color: white;
  vertical-align: top;
  border: 1px solid white;
}

table.players {
  width: 100%;
}

tr.in th {
  background-color: #F4363A;
  color: #0D2042;
}

tr.in th.col01 {
  width: 8%;
}

tr.in th.col02 {
  width: 30%;
}

tr.new th {
  background-color: #39C;
  color: #0D2042;
}

tr.new th.col01 {
  width: 8%;
}

tr.new th.col02 {
  width: 30%;
}

tr.retire th {
  background-color: #696;
  color: #0D2042;
}

tr.retire th.col01 {
  width: 8%;
}

tr.retire th.col02 {
  width: 30%;
}

@media screen and (max-width: 768px) {
  div#players-table div#women {
    margin-top: 30px;
  }

  div#players-table div#h1 {
    margin-top: 30px;
  }

  div#players-table div#h2 {
    margin-top: 30px;
  }

  div#players-table div#d1 {
    margin-top: 30px;
  }

  div#players-table div#d2 {
    margin-top: 30px;
  }

  div#players-table h4 {
    font-size: 15px;
  }

  div#players-table table th {
    width: 20%;
  }

  div#players-table table th {
    font-size: 10px;
  }

  div#players-table table tr td {
    font-size: 10px;
    line-height: 1.2;
  }
}

/* **********　選手追加・変更　おわり********* */
/* **********　メディアの方はこちら　はじめ********* */
dl#media {
  margin: 15px 0;
}

dl#media dt {
  font-weight: bold;
  border: 1px solid #ddd;
  background: #f2f2f2;
  padding: 8px;
}

dl#media dd {
  margin: 10px 8px 33px 8px;
  font-size: 16px;
  line-height: 1.6;
  text-align: justify;
}

@media screen and (max-width: 768px) {
  dl#media dd {
    font-size: 14px;
  }

  dl#media dd a {
    font-size: 14px;
  }

  #content h4:first-child {
    margin-top: 10px;
  }

  #content .date {
    font-size: 15px;
  }

  div.post {
    padding: 2%;
  }

  dl.gallery-item {
    width: 33% !important;
  }
}

/* **********　メディアの方はこちら　おわり********* */
/* **********　スペシャルページ（ブログ）　はじめ********* */
table.special-page {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  display: inline-block;
}

table.special-page th {
  background-color: #EEE;
  font-weight: bold;
  padding: 5px 10px;
  border: 1px solid #DDD;
  vertical-align: middle;
  width: 5%;
}

table.special-page th.sn-table__itemTh--02 {
  width: 20%;
}

table.special-page td {
  border: 1px solid #DDD;
  line-height: 1.6;
  padding: 5px 10px;
  vertical-align: middle;
}

/*
#content .post h4 {
  padding: 0 40px;
}
#content .post h4:first-child {
  padding: 40px 0;
}
#content .post p {
  padding: 0 40px;  
}
*/
#content .post ul#blog {
  padding: 0 40px;
}

#content .post table.type01 {
  padding: 0 40px;
}

#content .post table.special-page {
  padding: 0 40px;
}

/* **********　スペシャルページ（ブログ）　おわり********* */
/* **********　過去記録　プレーオフせ対戦表　はじめ********* */
.record #ui-tab .ui-tabs-panel {
  margin-bottom: 40px;
}

#content .post .playoff p {
  margin: 35px 0;
}

.playoff #acMenu dt {
  background-color: #eaeaea;
  color: #000000;
  font-size: 20px;
  height: auto;
  padding: 15px 25px;
  border-bottom: 1px solid #f6f6f6;
}

#content .playoff .league-schedule td {
  color: #000000;
  border-color: #ccc;
}

#content .playoff .league-schedule td.logo {
  width: 30%;
}

#content .playoff .league-schedule td span {
  color: #000000;
}

#content .playoff .league-schedule td.date {
  color: #000000;
  border-color: #ccc;
  font-size: 16px;
  width: 16%;
  line-height: 2;
}

#content .playoff .league-schedule td.logo span {
  font-size: 12px;
}

#pom {
  margin: 30px auto;
  border-top: 1px solid #0D2042;
  text-align: center;
  color: #0D2042;
  width: 300px;
  padding-top: 10px;
}

#pom h4 {
  text-align: center;
  color: #0D2042;
}

#pom p {
  text-align: center;
  padding: 10px 0;
  color: #0D2042;
}

#pom p a {
  color: #0D2042;
  font-size: 20px;
}

#pom p.comment {
  text-align: left;
}

#pom img {
  width: 50%;
}

table.lineup {
  width: 49.5%;
  float: left;
}

table.lineup.right {
  float: right;
}

table.lineup th,
table.lineup td {
  padding: 8px 6px;
  text-align: center;
}

table.lineup th {
  background-color: #e2e3e5;
  border-bottom: 1px solid #333;
}

table.lineup td {
  border-bottom: 1px dotted #dee2e6;
}

.bg-secondary {
  background-color: #6c757d !important;
}

.text-white {
  color: #0D2042 !important;
}

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

.table {
  --bs-table-bg: transparent;
  --bs-table-striped-color: #212529;
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: #212529;
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: #212529;
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
  vertical-align: top;
  border-color: #dee2e6;
}

.table> :not(caption)>*>* {
  padding: 0.3rem 0.5rem;
  background-color: var(--bs-table-bg);
  background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
}

.table-secondary {
  --bs-table-bg: #e2e3e5;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #0D2042;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #0D2042;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #0D2042;
  color: #0D2042;
  border-color: #cbccce;
}

.p-2 {
  padding: 0.5rem !important;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

table.lineup td {
  position: relative;
}

table.lineup td span.captain {
  /*background-color: #F00;*/
  color: #0D2042;
  font-size: 14px;
  position: absolute;
  padding: 2px 8px;
  left: 0;
}

@media screen and (max-width: 768px) {
  table.lineup {
    width: 50%;
  }

  table.lineup.right {
    border-left: 1px solid #CCC;
  }

  table.lineup th,
  table.lineup td,
  table.lineup td a {
    font-size: 10px;
  }

  table.table th,
  table.table td {
    font-size: 10px;
  }

  .subsheet_detail .subsheet_name {
    font-size: 12px;
  }

  .subsheet_detail .homescore-num,
  .subsheet_detail .awayscore-num {
    font-size: 12px;
  }

  table.lineup td span.captain {
    font-size: 10px;
    padding: 1px 3px;
  }
}

.score .barb {
  border-bottom: 1px solid #3366CC;
}


.match-wrapper {
  position: relative;
}

.match-next-game-day {
  display: inline-block;
  width: 200px;
  text-align: center;
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
}

@media screen and (max-width: 768px) {
  .match-wrapper {
    margin: 10px auto 20px !important;
  }
}

/***************
*トップページ「 　」セクション
****************/
.join-texts {
  text-align: left;
}

@media (max-width: 992px) {
  .join-texts {
    text-align: center;
  }
}

.join-flex {
  display: flex;
  text-align: left;
  margin: 100px 0 0 0;
  align-items: flex-start;
}

.join-flex .join-img {
  width: 150%;
  margin-right: 20px;
}

@media (max-width: 992px) {
  .join-flex {
    display: block;
    text-align: center;
    margin: 0px 0 0 0;
  }

  .join-flex .join-img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
}

.join-flex.--team .join-img {
  width: 100%;
  margin-right: 20px;
  max-width: none;
}

.join-flex.--team>div {
  flex: 1;
}

.bg-item {
  background-image: url(../img/bg-item.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top left;
}

.item {
  padding: 10px;
}

.item.--1 {
  width: 400px;
  margin: 0 30px;
}

.item.--2 {
  width: 180px;
  margin: 0 30px;
}

.item.--3 {
  width: 300px;
}

@media (max-width: 992px) {
  .item.--1 {
    width: 320px;
    margin: 0 10px;
  }

  .item.--2 {
    width: 180px;
    margin: 0 30px;
  }

  .item.--3 {
    width: 300px;
    margin: 0 30px;
  }
}

.item-flex {
  display: flex;
  justify-content: center;
  padding: 40px 0;
}

@media (max-width: 992px) {
  .item-flex {
    display: block;
    width: 330px;
    margin: 0 auto;
  }
}

.--mgfull {
  margin-right: calc(50% - 57vw);
}

@media (max-width: 992px) {
  .--mgfull {
    margin-right: calc(50% - 57vw);
  }
}

.bg-gal {
  background-image: url(../img/bg-gal.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top left;
  overflow: hidden;
}


@media (max-width: 992px) {
  .join-texts {
    text-align: center;
  }

  .pdb.txt-match {
    margin-bottom: 20px;
  }

  .bg-item .item {
    margin: 0 auto;
  }
}

/***************
*トップページ「ギャラリー　　」セクション
****************/
.p-top__s5-case-section {
  background-color: #fafafa;
  padding: 230px 0 76px 0;
  position: relative;
  overflow-x: hidden;
}

@media (min-width: 992px) {
  .p-top__s5-case-section {
    padding: 300px 0 150px 0;
  }
}

.p-s5__circle {
  width: 40vw;
  height: 40vw;
  border-radius: 50%;
  border: 9vw solid #ffffff;
  position: absolute;
  right: -31vw;
  top: 30%;
  transform: translateX(-50%);
}

.p-top__s5-cards {
  display: block;
  margin-right: calc(50% - 55vw);
  position: relative;
  z-index: 100;
}

@media (min-width: 992px) {
  .p-top__s5-cards {
    display: flex;
    padding-bottom: 40px;
  }
}

.p-top__s5-card {
  width: 34vw;
  height: 100%;
  margin: 0 10px;
  transition: all 0.2s linear;
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  z-index: 1;
}

.p-top__s5-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  z-index: 10;
}

.p-s5__top-texts {
  display: block;
  position: relative;
  z-index: 900;
  margin: 30px 0;
}

@media (min-width: 992px) {
  .p-s5__top-texts {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.p-s5__top-text {
  position: relative;
  font-size: 16px;
  line-height: 1.75;
}

@media (min-width: 992px) {
  .p-s5__top-text {
    width: 70%;
    font-size: 14px;
  }
}

@media (min-width: 1300px) {
  .p-s5__top-text {
    font-size: 16px;
  }
}

.p-s5__more-btn {
  font-size: 15px;
  color: #9E3D91;
  padding: 10px 40px;
  border: 1px solid #9E3D91;
  border-radius: 60px;
  background-color: #fff;
}

.p-s5__more-btn.--sp {
  margin: 130px auto 0;
  /* display: inline-block; */
}

@media (min-width: 992px) {
  .p-s5__more-btn.--sp {
    display: none;
  }
}

.p-s5__case-cat {
  background-color: #C96BA7;
  display: inline-block;
  padding: 1px 10px;
  color: #fff;
  margin: 0px 3px;
  border-radius: 30px;
  font-size: 10px;
  font-weight: 600;
}

.p-s5__case-cat.--1 {
  background-color: #fff;
  border: 1px solid #3366CC;
  color: #3366CC;
}

.p-s5__case-cat.--2 {
  background-color: #0D2042;
  color: #fff;
}

.p-s5__case-title {
  font-size: 20px;
  color: #0D2042;
  font-weight: 700;
  padding: 10px 0 14px;
}

.p-s5__case-title span {
  font-size: 13px;
}

.p-top__s5-img {
  aspect-ratio: 388/240;
}

.p-top__s5-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  border-radius: 10px 10px 0 0;
}

.slick-list {
  padding-right: 20%;
  padding-top: 10px;
  padding-bottom: 50px;
}

@media (max-width: 992px) {
  .slick-list {
    padding-right: 50px;
    padding-top: 10px;
    padding-bottom: 50px;
  }
}

.arrow_box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 20px 0 0;
  position: relative;
}

.prev-arrow,
.next-arrow {
  display: block;
  width: 50px;
  height: 50px;
  border: 1px solid #fff;
  border-radius: 50%;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: pointer;
  position: relative;
  margin-top: -60px;
  margin-bottom: 30px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.prev-arrow:hover,
.next-arrow:hover {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.9);
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.prev-arrow:hover {
  transform: scale(1.1) rotate(180deg);
}

.prev-arrow:active,
.next-arrow:active {
  transform: scale(0.95);
}

.prev-arrow:active {
  transform: scale(0.95) rotate(180deg);
}

.prev-arrow {
  transform: rotate(180deg);
  margin-right: 20px;
}

.prev-arrow::before,
.next-arrow::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 1px solid #FFF;
  border-top: 1px solid #FFF;
  top: 0;
  bottom: 0;
  left: -7px;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
  transition: all 0.3s ease;
}

.prev-arrow:hover::before,
.next-arrow:hover::before {
  border-right-color: #333;
  border-top-color: #333;
}

/* Match Pages Section Container */
section.inner {
  position: relative;
}

/* Match Pages Arrow Position */
.arrow_box.--match {
  position: absolute;
  top: 80px;
  right: 20px;
  margin: 0;
  z-index: 10;
}

/* Desktop specific positioning */
@media (min-width: 769px) {
  .arrow_box.--match {
    top: 100px;
    right: 40px;
  }
}

/* Responsive adjustments for match arrows */
@media (max-width: 768px) {
  .arrow_box.--match {
    position: relative;
    top: auto;
    right: auto;
    margin: 20px 0 0;
    justify-content: flex-end;
  }
}

/* Match Pages Arrow Hover Effects */
.arrow_box.--match .prev-arrow,
.arrow_box.--match .next-arrow {
  background-color: #0D2042;
  border-color: #0D2042;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  margin-top: 0;
  margin-bottom: 0;
}

.arrow_box.--match .prev-arrow:hover,
.arrow_box.--match .next-arrow:hover {
  background-color: rgba(13, 32, 66, 0.8);
  border-color: rgba(13, 32, 66, 0.8);
  transform: scale(1.1);
}

.arrow_box.--match .prev-arrow:hover {
  transform: scale(1.1) rotate(180deg);
}

.arrow_box.--match .prev-arrow:active,
.arrow_box.--match .next-arrow:active {
  transform: scale(0.95);
}

.arrow_box.--match .prev-arrow:active {
  transform: scale(0.95) rotate(180deg);
}

.arrow_box.--match .prev-arrow::before,
.arrow_box.--match .next-arrow::before {
  border-right-color: #fff;
  border-top-color: #fff;
  transition: all 0.3s ease;
}

.arrow_box.--match .prev-arrow:hover::before,
.arrow_box.--match .next-arrow:hover::before {
  border-right-color: #fff;
  border-top-color: #fff;
}

.p-s2__news-upper-info {
  padding: 10px 20px;
}

.p-s2__news-upper-info .match-place {
  color: #040D1F;
  background-color: #F6F6F6;
  font-size: 10px;
  display: block;
  width: 100%;
  padding: 5px 5px 5px 20px;
  position: relative;
  margin: 0 0 8px 0;
}

.p-s2__news-upper-info .match-place::before {
  transform: translateY(-50%);
  top: 50%;
  left: 5px;
}

.card-flex {
  display: flex;
}

.card-flex.--1 {
  justify-content: space-between;
}

.date {
  color: gray;
  background-color: #fff;
  font-size: 12px;
  padding: 0;
  margin: 0;
}

/*********toppupe-jityousei 0929***********/
#footer a {
  color: #040D1F !important;
}

/* MATCHセクションの上下のpaddingを80pxに設定 */
.bg_1 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* スマホ版では40pxに設定 */
@media (max-width: 768px) {
  .bg_1 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* MATCHセクションのレイアウト調整 - _current.scssからコピー */
.match-division__flex {
  margin: 60px 0 10px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.match-division__flex a {
  transition: all 0.2s linear 0s;
}

.match-division__flex a:hover {
  transform: scale(1.03);
}

.match-division__title {
  font-size: 28px;
  color: #fff;
  position: relative;
}

.match-division__title::before {
  content: "BOYS' DIVISION";
  transform: translateY(-50%);
  position: absolute;
  top: -8px;
  left: 0;
  font-size: 14px;
  white-space: nowrap;
}

.match-division__title.--f::before {
  content: "GIRLS' DIVISION";
}

.match-division__more {
  width: 210px;
}

@media (max-width: 992px) {
  .match-division__more {
    width: 150px;
  }
}

.match-wrapper {
  padding: 30px 0;
  background-color: #ffffff !important;
  background-size: cover;
  height: 100%;
  border: 6px solid #FFE202;
  position: relative;
}

.match-wrapper .status {
  margin: 0 0 25px 0;
  text-align: center;
}

.match-wrapper .status p {
  display: inline-block;
  padding: 10px 45px;
  color: #0D2042;
  font-size: 22px;
  border: 1px solid #0D2042;
}

.match-wrapper .status p.before {
  background-color: #ffa800;
  border: none;
  padding: 0;
}

.match-wrapper .status p.now {
  background-color: #ee2314;
  border: none;
}

.match-wrapper .status p.before a {
  display: block;
  padding: 10px 30px;
  font-size: 24px;
  font-family: "Teko";
  color: #0D2042;
}

.match-wrapper #matchinfo {
  width: 550px;
  margin: 0 auto;
  padding-bottom: 25px;
}

@media (max-width: 1024px) {
  .match-wrapper #matchinfo {
    width: 330px;
    margin: 0 auto;
    padding-bottom: 25px;
  }
}

.match-wrapper #matchinfo td {
  vertical-align: middle;
  text-align: center;
  color: #0D2042;
  font-size: 26px;
}

#matchinfo td.logo {
  width: 30%;
  text-align: center;
}

.match-wrapper #match_comment p {
  text-align: center;
  color: #0D2042;
  padding: 0 5%;
}

.match-wrapper .score {
  max-width: 500px;
  margin: 0 auto 0 auto;
}

.score td {
  text-align: center;
  vertical-align: middle;
  color: #0D2042;
  line-height: 1;
  height: 32px;
}

.score td.dmy {
  height: 11px;
}

.score td.team {
  width: 100px;
  text-align: center;
  max-width: 140px;
  min-width: 70px;
}

.score td img {
  padding: 0px 0;
  width: auto;
  height: 70px;
}

.score td.teamname {
  width: 125px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
  font-weight: 500;
}

/* チーム名の幅を左右同じに固定 */
.score td.teamname-left,
.score td.teamname-right {
  width: 125px;
  min-width: 125px;
  max-width: 125px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
  white-space: normal;
  word-wrap: break-word;
  word-break: break-all;
  font-weight: 500;
  vertical-align: middle;
}

.score td.teamname a {
  color: #0D2042;
  text-decoration: underline;
}

.match-title {
  font-family: "Exo 2", sans-serif;
  font-size: 30px;
  text-align: center;
  font-weight: 600;
  margin: 10px 10px;
  position: relative;
}

.match-title::before {
  content: "練習試合";
  color: #3366CC;
  font-weight: 700;
  background-color: #fff;
  border: 1px solid #3366CC;
  border-radius: 15px;
  transform: translateX(-50%);
  position: absolute;
  bottom: -23px;
  left: 50%;
  font-size: 12px;
  white-space: nowrap;
  padding: 2px 7px;
}

.match-date {
  text-align: center;
  font-weight: 600;
  font-family: "oswald", sans-serif;
  font-size: 18px;
  padding: 10px 0 0;
  letter-spacing: 0.13em;
}

.match-date span {
  font-size: 70%;
}

.match-center {
  text-align: center;
}

.match-place {
  font-size: 12px;
  padding-left: 15px;
  position: relative;
  display: inline-block;
}

.match-place::before {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url(../img/icon-place.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 2px;
  left: 0;
}

.score td.total {
  width: 12%;
  font-size: 48px;
  font-weight: 600;
  font-family: "Oswald", sans-serif;
}

.score td.quarter {
  width: 5%;
  font-weight: 500;
}

.score .index,
.score td.quarter {
  font-size: 16px;
  font-weight: 400;
  font-family: "Oswald", sans-serif;
}

.score .bar {
  border-top: 1px solid #3366CC;
}

.score .bar:nth-of-type(2) {
  position: relative;
}

.score .barb {
  border-bottom: 1px solid #3366CC;
}


.match-bottom-blank {
  margin-top: 50px;
}

.match-next-game-day {
  display: inline-block;
  width: 200px;
  text-align: center;
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
}

/* レスポンシブ対応 */
@media (max-width: 992px) {
  .score td {
    height: 20px;
  }

  .score .index,
  .score td.quarter {
    font-size: 11px;
    font-weight: 400;
    font-family: "Oswald", sans-serif;
  }

  .match-wrapper .score {
    width: 320px;
  }

  .score td.team {
    width: 70px;
    padding: 0.5em 1em;
    text-align: center;
  }

  .score td.teamname {
    width: 78px;
    min-width: 78px;
    font-size: 9px;
    vertical-align: middle;
  }

  /* スマートフォン版：チーム名の幅を左右同じに固定 */
  .score td.teamname-left,
  .score td.teamname-right {
    width: 78px;
    min-width: 78px;
    max-width: 78px;
    text-align: center;
    font-size: 9px;
    line-height: 1.4;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    font-weight: 500;
    vertical-align: middle;
  }

  .score td img {
    width: 100%;
    height: auto;
  }

  .score .index,
  .score td.quarter {
    font-size: 10px;
  }

  .score td.total {
    font-size: 30px;
    width: 40%;
  }

  .score .bar:nth-of-type(2)::before {
    left: 57px;
  }
}

@media screen and (max-width: 768px) {
  .match-wrapper {
    margin: 10px auto 20px !important;
  }
}

@media (max-width: 1025px) {
  .score td {
    height: 20px;
  }

  .score .index,
  .score td.quarter {
    font-size: 11px;
    font-weight: 400;
    font-family: "Oswald", sans-serif;
  }

  .score td.quarter {
    width: 20px;
  }

  .match-wrapper .score {
    width: 450px;
  }

  .score td.team {
    width: 70px;
    padding: 0.5em 1em;
    text-align: center;
  }

  .score td.teamname {
    width: 78px;
    min-width: 78px;
    font-size: 9px;
    vertical-align: middle;
  }

  /* タブレット版：チーム名の幅を左右同じに固定 */
  .score td.teamname-left,
  .score td.teamname-right {
    width: 78px;
    min-width: 78px;
    max-width: 78px;
    text-align: center;
    font-size: 9px;
    line-height: 1.4;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    font-weight: 500;
    vertical-align: middle;
  }

  .score td img {
    width: 100%;
    height: auto;
  }

  .score .index,
  .score td.quarter {
    font-size: 10px;
  }

  .score td.total {
    font-size: 30px;
    width: 40%;
  }

  .score .bar:nth-of-type(2)::before {
    left: 57px;
  }

  .page-next .score td.teamname {
    width: 78px !important;
    min-width: 78px;
    font-size: 9px;
    vertical-align: middle;
  }
}

@media (max-width: 900px) {
  .page-next .match-place {
    font-size: 9px;
    padding-top: 2px;
  }

  .page-next .match-date {
    font-size: 13px;
  }

  .page-next .match-wrapper .score {
    width: 320px;
  }
}

/* ボタンコンテナのスタイル - page-women.phpからコピー */
.button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  gap: 2rem;
  margin: 4rem 0;
  padding: 0 1rem;
}

@media (max-width: 768px) {
  .button-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
    margin: 2rem 0;
    padding: 0;
  }
}

.action-button {
  display: block;
  width: 100%;
  max-width: 558px;
  height: 164px;
  background-color: #0D2042;
  border: 2px solid #FFFFFF;
  border-radius: 16px;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.action-button:hover {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
  -webkit-box-shadow: 0 8px 25px rgba(13, 32, 66, 0.3);
  box-shadow: 0 8px 25px rgba(13, 32, 66, 0.3);
  background-color: #1a2f5a;
}

.action-button:hover .button-arrow {
  -webkit-transform: translateX(4px);
  transform: translateX(4px);
}

.action-button:hover .button-title-en {
  opacity: 0.8;
}

.action-button:hover .button-title-en-small {
  opacity: 0.8;
}

@media (max-width: 768px) {
  .action-button {
    height: 140px;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .action-button {
    height: 120px;
  }
}

.button-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  height: 100%;
  padding: 24px;
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .button-content {
    padding: 16px;
  }
}

.button-text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 8px;
}

.button-title-en-small {
  font-family: "Exo 2", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-bottom: 4px;
}

@media (max-width: 768px) {
  .button-title-en-small {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .button-title-en-small {
    font-size: 11px;
  }
}

.button-title-en {
  font-family: "Anton", sans-serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.08;
  color: rgba(255, 255, 255, 0.1);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}

@media (max-width: 1024px) {
  .button-title-en {
    font-size: 36px;
  }
}

@media (max-width: 768px) {
  .button-title-en {
    font-size: 38px;
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .button-title-en {
    font-size: 34px;
  }
}

.button-title-ja {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.48;
  color: #FFFFFF;
  letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
  .button-title-ja {
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  .button-title-ja {
    font-size: 18px;
  }
}

@media (max-width: 480px) {
  .button-title-ja {
    font-size: 16px;
  }
}

.button-arrow {
  width: 32px;
  height: 32px;
  background-color: #FFFFFF;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 3;
}

.button-arrow img {
  width: 12px;
  height: 12px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

@media (max-width: 768px) {
  .button-arrow {
    width: 28px;
    height: 28px;
    bottom: 16px;
    right: 16px;
  }

  .button-arrow img {
    width: 10px;
    height: 10px;
  }
}

/* 各ボタンの個別スタイル */
.highschool-button .button-title-en {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .highschool-button .button-title-en {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
    font-size: 30px;
    line-height: 1.1;
  }
}

@media (max-width: 480px) {
  .highschool-button .button-title-en {
    font-size: 26px;
  }
}

.school-button .button-title-en {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  white-space: normal;
  line-height: 1;
}

@media (max-width: 768px) {
  .school-button .button-title-en {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
    font-size: 30px;
    line-height: 1.1;
  }
}

@media (max-width: 480px) {
  .school-button .button-title-en {
    font-size: 26px;
  }
}

.international-button .button-title-en {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  white-space: normal;
  line-height: 1;
}

@media (max-width: 768px) {
  .international-button .button-title-en {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
    font-size: 30px;
    line-height: 1.1;
  }
}

@media (max-width: 480px) {
  .international-button .button-title-en {
    font-size: 26px;
  }
}

/* For International Studentsボタンは英字小がないので調整 */
.international-button .button-text {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.international-button .button-title-ja {
  margin-top: 0;
}

/* .item-flexのpadding設定 */
.item-flex {
  padding: 100px 0;
}

@media (max-width: 768px) {
  .item-flex {
    padding: 40px 0;
  }
}

/* ギャラリーセクションの上下paddingを80pxに設定 */
.bg-gal {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* .bg_4のスタイル */
.bg_4 {
  overflow-x: hidden;
  background: url(../img/bg_joinus.png) center repeat-x, linear-gradient(180deg, #fff 10%, #F7F6FB 90%);

  padding: 165px 0 240px;
  background-size: contain, 100%;
}

.bg_5 {
  padding: 80px 0;
}


/* Join page button styles */
.ao-button .button-title-en,
.contact-button .button-title-en,
.instagram-men-button .button-title-en,
.instagram-women-button .button-title-en {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.2);
  white-space: nowrap;
  line-height: 1;
}

@media (max-width: 768px) {

  .ao-button .button-title-en,
  .contact-button .button-title-en,
  .instagram-men-button .button-title-en,
  .instagram-women-button .button-title-en {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: normal;
  }
}

@media (max-width: 480px) {

  .ao-button .button-title-en,
  .contact-button .button-title-en,
  .instagram-men-button .button-title-en,
  .instagram-women-button .button-title-en {
    font-size: 26px;
  }
}

/* .bg-item .innerのpadding設定 */
.bg-item .inner {
  padding: 60px 0;
}

/* タブレット、スマホ版の.bg_4 */
@media (max-width: 768px) {
  .bg-item .inner {
    padding: 50px 13px;
  }

  .bg_4 {
    background: url(../img/bg_joinus.png) center no-repeat, linear-gradient(180deg, #fff 10%, #F7F6FB 90%);
    background-size: cover, 100%;
    padding: 60px 0;
    background-size: cover, 100%;
  }
}

.join-flex {

  margin: 48px 0 0 0;
}

@media (max-width: 1025px) {
  .match-wrapper .score {
    width: 320px !important;
    max-width: 320px!important;
  }
}

.js-slider .slick-slide {
  padding: 0 16px !important;
}

@media (max-width: 992px) {
  .js-slider {
    overflow: visible !important;
    padding-bottom: 40px;
  }

  .js-slider .slick-list {
    overflow: visible !important;
  }

  .js-slider .slick-track {
    padding-bottom: 20px;
  }
}

/* NEWS VIEW MORE ホバー効果 */
.news__viewmore a {
  transition: all 0.2s linear 0s;
  transform: scale(1);
  height: 100%;
  /* display: inline-block; */
}

.news__viewmore a:hover {
  transform: scale(1.03);
}

/* JOIN US VIEW MORE ホバー効果 */
.join-texts .match-division__more {
  transition: all 0.2s linear 0s;
  transform: scale(1);
  height: 100%;
  /* display: inline-block; */
}

.join-texts .match-division__more:hover {
  transform: scale(1.03);
}


/*************トップのチーム紹介ホバー******************/


/* チーム紹介画像のホバー効果 */
.join-flex.--team .join-img a,
.join-flex.--team>div a {
  display: block;
  transition: all 0.3s ease;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}

.join-flex.--team .join-img a:hover,
.join-flex.--team>div a:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.join-flex.--team .join-img a img,
.join-flex.--team>div a img {
  transition: all 0.3s ease;
  width: 100%;
  height: auto;
  display: block;
}

.join-flex.--team .join-img a:hover img,
.join-flex.--team>div a:hover img {
  transform: scale(1.01);
}

/* ホバー時のオーバーレイ効果 */
.join-flex.--team .join-img a::after,
.join-flex.--team>div a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0);
  transition: all 0.3s ease;
  pointer-events: none;
}

.join-flex.--team .join-img a:hover::after,
.join-flex.--team>div a:hover::after {
  background: rgba(0, 0, 0, 0.1);
}

/* 試合予定がない場合のスタイル */
.no-match-data {
  text-align: center;
  padding-top: 70px;
}

.no-match-data p {
  text-align: center;
  color: #0D2042;
}

/* 799px以下のレスポンシブ対応 */
@media screen and (max-width: 799px) {
  .no-match-data {
    padding-top: 30px;
  }
}

/* 1024px以下のレスポンシブ対応 */
@media screen and (max-width: 1024px) {
  .no-match-data p {
    font-size: 15px;
  }
}