@import url(reset.css);
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,700;1,700&family=Noto+Sans+JP:wght@400;600&display=swap");

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: normal;
  color: #222;
  line-height: 1.8
}

#wrap {
  width: 100%;
  overflow: hidden;
  min-width: 1000px
}

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast
}

.serif {
  font-family: serif
}

.en {
  font-family: 'Montserrat', sans-serif;
  letter-spacing: .02em
}

li {
  list-style-type: none
}

.tCenter {
  text-align: center
}

.tRight,
.txt-r {
  text-align: right
}

.fs08rem{font-size:0.8rem !important;}
.fs085rem{font-size:0.85rem !important;}
.fs09rem{font-size:0.9rem !important;}
.fs095rem{font-size:0.95rem !important;}
.fs10rem{font-size:1rem !important;}
.fs11rem{font-size:1.1rem !important;}
.fs12rem{font-size:1.2rem !important;}

.xlTxt {font-size: 142.5%}
.lTxt {font-size: 123.5%}
.sTxt {font-size: 87.5%}

.sp-view{
  display: none;
}
@media screen and (max-width: 767px) {
.pc-view{
  display: none;
}
.sp-view{
  display: initial;
}
}

@media screen and (min-width: 769px) {
  .sp,
  .tb {
    display: none
  }

  .hvEx img {
    transition: .25s
  }
}

@media screen and (max-width: 768px) {
  html {
    height: -webkit-fill-available
  }

  body {
    font-size: 14px
  }

  #wrap {
    min-width: 0
  }

  .tb,
  .pc {
    display: none
  }
}

a {
  color: #0091C8
}

a:hover {
  color: #0091C8;
  text-decoration: none
}

@media screen and (min-width: 769px) {
  a {
    transition: all .3s
  }

  a:hover {
    opacity: .7
  }
}

.mt0 {
  margin-top: 0px !important
}

.mr0 {
  margin-right: 0px !important
}

.mb0 {
  margin-bottom: 0px !important
}

.ml0 {
  margin-left: 0px !important
}

.pt0 {
  padding-top: 0px !important
}

.pr0 {
  padding-right: 0px !important
}

.pb0 {
  padding-bottom: 0px !important
}

.pl0 {
  padding-left: 0px !important
}

.mt5 {
  margin-top: 5px !important
}

.mr5 {
  margin-right: 5px !important
}

.mb5 {
  margin-bottom: 5px !important
}

.ml5 {
  margin-left: 5px !important
}

.pt5 {
  padding-top: 5px !important
}

.pr5 {
  padding-right: 5px !important
}

.pb5 {
  padding-bottom: 5px !important
}

.pl5 {
  padding-left: 5px !important
}

.mt10 {
  margin-top: 10px !important
}

.mr10 {
  margin-right: 10px !important
}

.mb10 {
  margin-bottom: 10px !important
}

.ml10 {
  margin-left: 10px !important
}

.pt10 {
  padding-top: 10px !important
}

.pr10 {
  padding-right: 10px !important
}

.pb10 {
  padding-bottom: 10px !important
}

.pl10 {
  padding-left: 10px !important
}

.mt15 {
  margin-top: 15px !important
}

.mr15 {
  margin-right: 15px !important
}

.mb15 {
  margin-bottom: 15px !important
}

.ml15 {
  margin-left: 15px !important
}

.pt15 {
  padding-top: 15px !important
}

.pr15 {
  padding-right: 15px !important
}

.pb15 {
  padding-bottom: 15px !important
}

.pl15 {
  padding-left: 15px !important
}

.mt20 {
  margin-top: 20px !important
}

.mr20 {
  margin-right: 20px !important
}

.mb20 {
  margin-bottom: 20px !important
}

.ml20 {
  margin-left: 20px !important
}

.pt20 {
  padding-top: 20px !important
}

.pr20 {
  padding-right: 20px !important
}

.pb20 {
  padding-bottom: 20px !important
}

.pl20 {
  padding-left: 20px !important
}

.mt25 {
  margin-top: 25px !important
}

.mr25 {
  margin-right: 25px !important
}

.mb25 {
  margin-bottom: 25px !important
}

.ml25 {
  margin-left: 25px !important
}

.pt25 {
  padding-top: 25px !important
}

.pr25 {
  padding-right: 25px !important
}

.pb25 {
  padding-bottom: 25px !important
}

.pl25 {
  padding-left: 25px !important
}

.mt30 {
  margin-top: 30px !important
}

.mr30 {
  margin-right: 30px !important
}

.mb30 {
  margin-bottom: 30px !important
}

.ml30 {
  margin-left: 30px !important
}

.pt30 {
  padding-top: 30px !important
}

.pr30 {
  padding-right: 30px !important
}

.pb30 {
  padding-bottom: 30px !important
}

.pl30 {
  padding-left: 30px !important
}

.mt35 {
  margin-top: 35px !important
}

.mr35 {
  margin-right: 35px !important
}

.mb35 {
  margin-bottom: 35px !important
}

.ml35 {
  margin-left: 35px !important
}

.pt35 {
  padding-top: 35px !important
}

.pr35 {
  padding-right: 35px !important
}

.pb35 {
  padding-bottom: 35px !important
}

.pl35 {
  padding-left: 35px !important
}

.mt40 {
  margin-top: 40px !important
}

.mr40 {
  margin-right: 40px !important
}

.mb40 {
  margin-bottom: 40px !important
}

.ml40 {
  margin-left: 40px !important
}

.pt40 {
  padding-top: 40px !important
}

.pr40 {
  padding-right: 40px !important
}

.pb40 {
  padding-bottom: 40px !important
}

.pl40 {
  padding-left: 40px !important
}

.mt45 {
  margin-top: 45px !important
}

.mr45 {
  margin-right: 45px !important
}

.mb45 {
  margin-bottom: 45px !important
}

.ml45 {
  margin-left: 45px !important
}

.pt45 {
  padding-top: 45px !important
}

.pr45 {
  padding-right: 45px !important
}

.pb45 {
  padding-bottom: 45px !important
}

.pl45 {
  padding-left: 45px !important
}

.mt50 {
  margin-top: 50px !important
}

.mr50 {
  margin-right: 50px !important
}

.mb50 {
  margin-bottom: 50px !important
}

.ml50 {
  margin-left: 50px !important
}

.pt50 {
  padding-top: 50px !important
}

.pr50 {
  padding-right: 50px !important
}

.pb50 {
  padding-bottom: 50px !important
}

.pl50 {
  padding-left: 50px !important
}

.red {
  color: #AE2F4A
}

.blue {
  color: #0091C8
}

.navy {
  color: #2768A8
}

.underline {
  text-decoration: underline
}

.inlineblock{
  display: inline-block !important;
}

.h3_pt2{
font-size:1.3rem;
color:#002844;
}
@media screen and (max-width: 768px) {
.h3_pt2{
font-size: 1.1rem;
}
}
.hr_pt2{
background: linear-gradient(#00b1ec 0%,#00b1ec 30%,#0f2c49 30%,#0f2c49 100%);
height: 5px;
margin: 0.5em 0 0.8em;
border:solid 3px #a0d6f1;
}

.sns {
  display: flex;
  align-items: center
}

.sns li {
  /*margin: 0 10px*/
  margin: 0 8px;
}

.sns li img {
  vertical-align: baseline
}

.bold {
  font-weight: bold
}

#cover {
  position: relative
}

#cover img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

/* #cover:before {
  content: "";
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, #318D4E 0%, #318D4E 20%, #AE2F4A 20%, #AE2F4A 40%, #0091C8 40%, #0091C8 60%, #249092 60%, #249092 80%, #2768A8 80%, #2768A8 100%);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0
} */

@media screen and (min-width: 769px) {
  #cover {
    height: 300px
  }
}

@media screen and (max-width: 768px) {
  #cover {
    height: 200px
  }
}

#path {
  width: 1320px;
  margin: 185px auto 20px;
  padding: 0 20px;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap
}

#path li:not(:last-child):after {
  content: ">";
  margin: 0 10px
}

#path li:last-child a {
  color: #222;
  text-decoration: none;
  pointer-events: none
}

#pageTit {
  text-align: center;
  background: #00406e;
  color: #FFF;
  padding: 30px 10px 35px;
  position: relative;
  margin-bottom: 30px
}

/* #pageTit:before {
  content: "";
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, #318D4E 0%, #318D4E 20%, #AE2F4A 20%, #AE2F4A 40%, #0091C8 40%, #0091C8 60%, #249092 60%, #249092 80%, #2768A8 80%, #2768A8 100%);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0
} */

@media screen and (min-width: 769px) {
  #pageTit {
    font-size: 28px
  }
}

.sec {
  margin-top: 30px
}

.sec>.tit {
  background: #00406e;
  color: #FFF;
  padding: 10px 10px 10px 34px;
  margin-bottom: 20px;
  position: relative
}

.sec>.tit span{
font-size:0.95rem;
}

.sec>.tit:before {
  content: "";
  width: 4px;
  height: calc(100% - 20px);
  position: absolute;
  left: 10px;
  top: 10px;
  background: #FFF;
  display: block
}

.sec>.childSec {
  margin-top: 30px
}

.sec>.childSec>.tit {
  background: #F4F9F6;
  padding: 10px 20px;
  margin-bottom: 20px
}

.sec>.childSec>.childSec {
  margin-top: 20px
}

.sec>.childSec>.childSec>.tit {
  border-bottom: 2px solid #E5F4FA;
  position: relative;
  margin-bottom: 15px
}

.sec>.childSec>.childSec>.tit:before {
  content: "";
  border: 3px solid #0091C8;
  border-radius: 50%;
  display: block;
  position: absolute;
  left: 0;
  box-sizing: border-box
}

@media screen and (min-width: 769px) {
  .sec>.tit {
    font-size: 20px
  }

  .sec>.childSec>.tit {
    font-size: 18px;
  }

  .sec>.childSec>.childSec>.tit {
    padding-left: 28px;
    padding-bottom: 10px
  }

  .sec>.childSec>.childSec>.tit:before {
    content: "";
    width: 19px;
    height: 19px;
    top: 6px
  }
}

@media screen and (max-width: 768px) {
  .sec>.tit {
    font-size: 18px;
    line-height:180%;
  }

  .sec>.tit span{
    font-size: 0.95rem;
    line-height: 160%;
    /*display: inline-block;
    padding-top: 5px;*/
  }

  .sec>.childSec>.tit {
    font-size: 16px
  }

  .sec>.childSec>.childSec>.tit {
    padding-left: 20px;
    padding-bottom: 6px
  }

  .sec>.childSec>.childSec>.tit:before {
    content: "";
    width: 14px;
    height: 14px;
    top: 7px
  }
}

.baseTable tbody tr.highlight th {
  background: #f0e3e5
}

.baseTable tbody tr.highlight td {
  background: #f7eaed
}

@media screen and (min-width: 769px) {
  .baseTable {
    width: 100%
  }

  .baseTable tbody tr th {
    background: #F7F7F7;
    vertical-align: middle;
    padding: 20px;
    font-weight: bold;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    width: 250px
  }

  .baseTable tbody tr td {
    padding: 20px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd
  }

  .baseTable tbody tr td dl dt {
    font-weight: bold
  }

  .baseTable tbody tr td dl dt:not(:first-child) {
    margin-top: 10px
  }
}

@media screen and (max-width: 768px) {
  .baseTable {
    display: block
  }

  .baseTable tbody {
    display: block
  }

  .baseTable tbody tr {
    display: block
  }

  .baseTable tbody tr th {
    display: block;
    padding: 10px;
    background: #F7F7F7
  }

  .baseTable tbody tr td {
    display: block;
    padding: 10px 10px 20px
  }

  .baseTable tbody tr:last-child td {
    padding-bottom: 0
  }
}

.dotList>li {
  list-style-type: disc;
  margin-left: 30px
}

.dotList>li:not(:first-child) {
  margin-top: 5px
}

.decimalList>li {
  list-style-type: decimal;
  margin-left: 30px
}

.decimalList>li:not(:first-child) {
  margin-top: 5px
}

.bracketsList {
  counter-reset: brackets 0
}

.bracketsList li {
  padding-left: 2em;
  position: relative
}

.bracketsList li:before {
  counter-increment: brackets 1;
  content: "（" counter(brackets) "）";
  position: absolute;
  left: -.5em
}

.bracketsList li:not(:first-child) {
  margin-top: 5px
}

.bracketsDl {
  counter-reset: brackets 0
}

.bracketsDl dt {
  font-weight: bold;
  padding-left: 2em;
  position: relative
}

.bracketsDl dt:before {
  counter-increment: brackets 1;
  content: "（" counter(brackets) "）";
  position: absolute;
  left: -.5em
}

.bracketsDl dt:not(:first-child) {
  margin-top: 10px
}

.bracketsDl dd {
  padding-left: 2em
}

.dashDl dt {
  padding-left: 1em;
  position: relative;
  font-weight: bold
}

.dashDl dt:before {
  content: "-";
  position: absolute;
  left: 0
}

.dashDl dt:not(:first-child) {
  margin-top: 10px
}

.dashDl dd {
  padding-left: 1em
}

.notesList li {
  padding-left: 1em;
  position: relative
}

.notesList li:before {
  content: "※";
  position: absolute;
  left: 0
}

.asteriskList li {
  padding-left: 1em;
  position: relative;
  line-height: 160%;
  margin-bottom: 8px;
  font-size: 0.96em;
}

.asteriskList li:before {
  content: "*";
  position: absolute;
  left: 0
}

.iframe iframe {
  width: 100%
}

.btnDoc {
  text-align: center
}

.btnDoc a {
  padding: 30px;
  display: block;
  background: #0091C8;
  color: #FFF;
  text-decoration: none;
  border-radius: 5px
}

.btnDoc a:after {
  content: "";
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  display: inline-block;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  margin: -2px 0 0 5px;
  vertical-align: middle
}

#header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: -moz-linear-gradient(top, rgba(0, 64, 100, 0.7) 20%, transparent 100%);
  background: -webkit-linear-gradient(top, rgba(0, 64, 100, 0.7) 20%,transparent 100%);
  background: linear-gradient(to bottom, rgba(0, 64, 100, 0.7) 20%,transparent 100%);
  z-index: 99999;
  filter: drop-shadow(2px 2px 4px rgba(0, 64, 100, 0.7));
}

#header #hNav {
  display: flex;
  align-items: center;
  display: flex
}

#header #hNav li {
  font-weight: 500;
  letter-spacing: .1em;
  color: #FFF
}

#header #hNav li img {
  vertical-align: middle
}

#header #hNav li a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none
}

#header #btnSpNav {
  width: 40px;
  height: 30px
}

#header #btnSpNav:before,
#header #btnSpNav:after,
#header #btnSpNav span {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background: #FFF;
  position: absolute;
  left: 0;
  transition: all .3s;
}

#header #btnSpNav:before {
  top: 0;
}

#header #btnSpNav span {
  top: 50%;
  transform: translateY(-1px);
}

#header #btnSpNav:after {
  bottom: 0;
  width: 72%;
}

body.navOpen #header #btnSpNav:after {
  opacity: 0;
}

body.navOpen #header #btnSpNav:before {
  top: 50%;
  transform: rotate(45deg) translateY(-1px);
}

body.navOpen #header #btnSpNav span {
  bottom: 50%;
  transform: rotate(-45deg) translateY(1px);
}

@media screen and (min-width: 769px) {
  #header {
    height: 185px;
    padding: 30px 40px
  }

  #header #logo {
    position: absolute;
    top: 20px;
    left: 20px;
    max-width: 38%;
    filter: drop-shadow(1px 1px 2px rgba(255, 255, 255, 0.2));
  }

  #header #logo img {
    width: 570px;
    max-width: 100%;
  }

  #header #hNav {
    justify-content: flex-end
  }

  #header #hNav li {
    font-size: 18px;
    margin-left: 30px
  }

  #header #hNav li img {
    margin-top: -4px
  }

  #header #hNav li a:hover {
    text-decoration: underline
  }

  #header #btnSpNav {
    position: absolute;
    top: 96px;
    right: 40px;
    cursor: pointer
  }

  #header .sns {
    position: absolute;
    right: 40px;
    top: 100px
  }

  #header .sns li {
    /*margin: 0 0 0 20px;*/
    margin: 0 0 0 12px;
  }
}

@media screen and (max-width: 768px) {
  #header {
    height: 150px;
    padding: 15px 20px
  }

  #header #hNav {
    justify-content: center
  }

  #header #hNav li {
    margin-right: 15px;
    font-size: 12px
  }

  #header #hNav li:last-child {
    margin-right: 0
  }

  #header #hNav li img {
    margin-top: -3px
  }

  #header #logo {
    max-width: 70%;
    min-width: 260px;
    margin-top: 18px
  }

  #header #btnSpNav {
    position: absolute;
    top: 58px;
    right: 20px
  }

  #header .sns {
    position: absolute;
    right: 20px;
    top: 106px
  }
}

@media screen and (min-width: 769px) {
  #gNav {
    position: absolute;
    top: 100px;
    /*right: 190px;*/
    right: 210px;
    display: block !important
  }

  #gNav>ul {
    display: flex;
    flex-wrap: wrap
  }

  #gNav>ul>li {
    /*margin-left: 20px;*/
    font-weight: bold;
    margin-left: 15px;
    font-size: 15.5px;
  }

  #gNav>ul>li>a {
    font-family: 'Montserrat', sans-serif;
    color: #FFF;
    text-decoration: none
  }

  #gNav>ul>li>a:hover {
    text-decoration: underline
  }
}

@media screen and (max-width: 768px) {
  #gNav {
    background: #222;
    width: 100%;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: none
  }

  #gNav>ul>li>a {
    color: #FFF;
    text-decoration: none;
    display: block;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: .1em
  }

  #gNav>ul>li ul li {
    padding-left: 2em
  }

  #gNav>ul>li ul li:before {
    content: "-";
    color: #FFF;
    position: absolute;
    left: 1em
  }

  #gNav>ul>li ul li a {
    color: #FFF;
    text-decoration: none
  }

  #gNav>ul>li ul li a .jp {
    color: #777;
    margin-left: 1em
  }

  #gNav {
    padding-top: 150px;
    overflow: auto;
    height: 100vh
  }

  #gNav:before {
    content: "";
    width: 100%;
    height: 150px;
    position: fixed;
    left: 0;
    top: 0;
    background: #222;
    z-index: 1
  }

  #gNav>ul {
    border-bottom: 1px solid #FFF
  }

  #gNav>ul>li {
    border-top: 1px solid #FFF
  }

  #gNav>ul>li>a {
    display: block;
    padding: 10px
  }

  #gNav>ul>li ul {
    padding-bottom: 10px
  }
}

.sponsors {
  padding: 0 20px 80px;
  background: #FFF;
  position: relative;
  z-index: 3
}

.sponsors>section h2 {
  text-align: center
}

.sponsors>section .bnrList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

@media screen and (min-width: 769px) {
  .sponsors {
    margin-top: 80px
  }

  .sponsors>section {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto
  }

  .sponsors>section:not(:first-child) {
    margin-top: 40px
  }

  .sponsors>section .bnrList li {
    margin: 10px 5px 0
  }

  .sponsors>section.kyosan li img,
  .sponsors>section.officialPartner li img {
    width: 180px
  }
}

@media screen and (max-width: 768px) {
  .sponsors>section:not(:first-child) {
    margin-top: 30px
  }

  .sponsors>section .bnrList {
    justify-content: space-between;
    text-align: center;
  }

  .sponsors>section .bnrList li {
    width: calc(50% - 5px);
    margin-top: 10px
  }
}

#footer {
  background-image: url("../img/common/footer_bg.jpg");
  background-size: cover;
  position: relative;
  z-index: 3
}

/* #footer:before {
  content: "";
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, #318D4E 0%, #318D4E 20%, #AE2F4A 20%, #AE2F4A 40%, #0091C8 40%, #0091C8 60%, #249092 60%, #249092 80%, #2768A8 80%, #2768A8 100%);
  display: block;
  position: absolute;
  top: 0;
  left: 0
} */

#footer #fLogo {
  text-align: center
}

#footer .sns {
  justify-content: center
}

#footer #fNav dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 40px
}

#footer #fNav dl dt {
  color: #FFF;
  font-weight: bold;
  width: 100%;
  text-align: center;
  margin-bottom: 10px
}

#footer #fNav dl dd {
  margin: 0 10px;
  line-height: 1.5
}

#footer #fNav dl dd a {
  color: #FFF;
  text-decoration: none
}

#footer #fNav dl dd a:hover {
  text-decoration: underline
}

#footer #copyright {
  text-align: center;
  color: #FFF
}

#footer #pagetop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 10
}

#footer #pagetop a {
  background: #00406e;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%
}

@media screen and (min-width: 769px) {
  #footer {
    padding: 85px 20px 80px
  }

  #footer #fLogo {
    margin-bottom: 30px
  }

  #footer .sns {
    margin-bottom: 60px
  }

  #footer #fNav {
    margin: 60px 0
  }

  #footer #fNav ul {
    display: flex;
    justify-content: center
  }

  #footer #fNav ul li {
    margin: 0 15px;
    margin: 0 10px;
  }

  #footer #fNav ul li a {
    color: #FFF;
    text-decoration: none
  }

  #footer #fNav ul li a:hover {
    text-decoration: underline
  }

  #footer #pagetop a {
    width: 80px;
    height: 80px
  }
}

@media screen and (max-width: 768px) {
  #footer {
    padding: 45px 20px 60px
  }

  #footer #fLogo {
    margin-bottom: 20px
  }

  #footer .sns {
    margin-bottom: 20px
  }

  #footer #fNav {
    margin: 20px 0 30px
  }

  #footer #fNav ul {
    border-bottom: 1px solid #FFF
  }

  #footer #fNav ul li {
    border-top: 1px solid #FFF;
    text-align: center
  }

  #footer #fNav ul li a {
    display: block;
    padding: 10px;
    color: #FFF;
    text-decoration: none
  }

  #footer #pagetop a {
    width: 40px;
    height: 40px
  }

  #footer #pagetop a img {
    width: 60%
  }
}

#mv {
  position: relative;
  text-align: center;
  color: #fff;
/*   background: url("../img/home/movie.jpg") no-repeat; */
	background:url("/wp-content/themes/minato-half2023/img/common/SVG/load-movie.svg");
	background-repeat:no-repeat;
  background-size: cover;
  aspect-ratio: 16 / 9;
}

#mv #loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold
}

#mv #loading .disappear {
  display: none
}

#mv #youtube-area {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0
}

#mv #youtube-area #youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  min-height: 100%;
  min-width: 100%
}

#mv #youtube-area #youtube-mask {
  position: absolute;
  z-index: 2;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1)
}

#mv #youtube-area.appear {
  animation-name: PageAnimeAppear;
  animation-duration: .5s;
  animation-fill-mode: forwards
}

#mv .date {
  color: #FFF;
  position: absolute;
  z-index: 1;
  text-align: right;
  background: rgba(0,0,0,.5);
  border-radius: 10px;
  padding: .5rem;
  color: #fff;
  font-weight: bold;
  box-shadow: 3px 3px 6px 3px rgba(0, 0, 0, 0.3);
}

#mv .date .num {
  line-height: 1;
  font-weight: 500
}

#mv .date .countdown {
  display: block
}

#mv .date .countdown .timer .yycountdown-box {
  display: inline
}
#mv .date  span.timer {
  color: #fff900;
}
@keyframes PageAnimeAppear {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@media screen and (min-width: 769px) {
  #mv {
    margin-bottom: 40px
  }

  #mv .date {
    right: 20px;
    bottom: 20px;
    font-size: 24px
  }

  #mv .date .num {
    font-size: 42px
  }

  #mv .date .countdown {
    font-size: 21px
  }
}

@media screen and (max-width: 768px) {
  #mv {
    margin-bottom: 30px
  }

  #mv .date {
    right: 20px;
    bottom: 20px;
    font-size: 16px
  }

  #mv .date .num {
    font-size: 32px
  }

  #mv .date .countdown {
    font-size: 18px
  }
}

#container #side .links dt {
  position: relative;
  background: #00406e;
  color: #FFF;
  text-align: center;
  font-weight: bold;
  padding: 10px 0
}

/* #container #side .links dt:after {
  content: "";
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, #318D4E 0%, #318D4E 20%, #AE2F4A 20%, #AE2F4A 40%, #0091C8 40%, #0091C8 60%, #249092 60%, #249092 80%, #2768A8 80%, #2768A8 100%);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3
} */

#container #side .links dd img {
  width: 100%;
  max-width: 200px;
}

#container #side .links.sponsorsSideLinks dd img,
#container #side .links.partnersSideLinks dd img {
  max-width: 220px;
}

#container #side .btnLinks {
  text-align: center;
  margin-top: 10px;
  font-weight: bold
}

#container #side .btnLinks a {
  background: #0091C8;
  color: #FFF;
  display: block;
  padding: 15px 0;
  border-radius: 5px;
  text-decoration: none;
  position: relative;
  overflow: hidden
}

#container #side .btnLinks a:before {
  content: "";
  width: 100%;
  height: 3px;
  background: rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 0;
  bottom: 0
}

#container #side .btnLinks a:after {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
  vertical-align: middle;
  margin: -2px 0 0 3px
}

@media screen and (min-width: 769px) {
  #container {
    display: flex;
    width: 1320px;
    padding: 0 20px;
    margin: 0 auto;
    max-width: 100%;
    justify-content: space-between
  }

  #container #homeContents,
  #container #contents {
    flex: 1
  }

  #container #side {
    width: 220px;
    margin-left: 60px
  }

  #container #side .links:not(:first-child) {
    margin-top: 30px
  }

  #container #side .links dt {
    font-size: 18px
  }

  #container #side .links dt.towel {
    font-size: 14px
  }

  #container #side .links dd {
    margin-top: 10px;
    text-align: center
  }

  #container #side .btnLinks {
    font-size: 15px
  }

  #home #container {
    margin-top: 185px
  }
}

@media screen and (max-width: 768px) {
  #container {
    margin: 40px 20px
  }

  #container #homeContents,
  #container #contents {
    margin-bottom: 40px
  }

  #container #side .links {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }

  #container #side .links:not(:first-child) {
    margin-top: 30px
  }

  #container #side .links dt {
    font-size: 18px;
    width: 100%
  }

  #container #side .links dd {
    width: calc(50% - 5px);
    margin-top: 10px;
    text-align: center
  }

  #home #container {
    margin-top: 185px
  }
}

#homeBnr li {
  text-align: center
}

#homeBnr li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fe3c41;
  color: #FFF;
  text-decoration: none;
  font-weight: bold
}
#homeBnr li a.nvy {
  background: #00406e;
}
#homeBnr li a:after {
  content: "";
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  display: block;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  margin: 2px 0 0 10px;
}

#homeBnr li a .highlight {
  /* color: #ff8800; */
  padding: 0 5px;
}

#homeBnr li.noLink {
  position: relative
}

#homeBnr li.noLink:before,
#homeBnr li.noLink:after,
#homeBnr li.noLink .noLinkTxt {
  content: "";
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#homeBnr li.noLink:before {
  background: rgba(0, 0, 0, 0.7);
}

#homeBnr li.noLink:after {
  color: #FFF;
}

#homeBnr li.noLink .noLinkTxt {
  z-index: 10;
}

@media screen and (min-width: 769px) {
  #homeBnr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }

  #homeBnr li {
    width: calc(50% - 20px);
    margin-bottom: 40px;
    font-size: 22px;
    line-height: 1.5
  }

  #homeBnr li.wide {
    width: 100%;
    font-size: 26px
  }

  #homeBnr li a {
    height: 120px
  }

  #homeBnr li a img {
    width: 30px;
    margin-right: 20px
  }
}

#homeBnr li.noLink a {
  pointer-events: none
}

#homeBnr li.noLink a:hover {
  opacity: 1
}

#homeBnr li.noLink a:after {
  display: none;
}

@media screen and (max-width: 768px) {
  #homeBnr {
    margin-bottom: 30px
  }

  #homeBnr li {
    margin-bottom: 10px;
    font-size: 18px
  }

  #homeBnr li a {
    min-height: 80px;
    padding: 10px
  }

  #homeBnr li a img {
    width: 16px;
    margin-right: 10px
  }
}

.homeInfo h2 {
  background: #00406e;
  color: #FFF;
  font-weight: bold;
  padding: 10px;
  text-align: center;
  position: relative
}

/* .homeInfo h2:after {
  content: "";
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, #318D4E 0%, #318D4E 20%, #AE2F4A 20%, #AE2F4A 40%, #0091C8 40%, #0091C8 60%, #249092 60%, #249092 80%, #2768A8 80%, #2768A8 100%);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3
} */

.homeInfo .btns {
  display: flex;
  justify-content: center;
  margin-top: 20px
}

.homeInfo .btns li {
  margin: 0 10px
}

.homeInfo .btns li a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #0091C8;
  border-right: 1px solid #0091C8;
  display: inline-block;
  transform: rotate(45deg);
  vertical-align: middle;
  margin: -2px 10px 0 0
}

@media screen and (min-width: 769px) {
  .homeInfo h2 {
    font-size: 20px
  }
}

@media screen and (max-width: 768px) {
  .homeInfo h2 {
    font-size: 18px
  }
}

.infoList li a {
  position: relative;
  text-decoration: none;
  color: #222
}

.infoList li a time {
  font-weight: bold
}

.infoList li.new a:before {
  content: "NEW";
  position: absolute;
  width: 50px;
  background: #AE2F4A;
  color: #FFF;
  text-align: center;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: block
}

.infoList li:nth-child(odd) {
  background: #F4F9F6
}

@media screen and (min-width: 769px) {
  .infoList li a {
    display: flex;
    padding: 20px
  }

  .infoList li a:hover {
    color: #0091C8
  }

  .infoList li a time {
    width: 8em
  }

  .infoList li a .txt {
    flex: 1
  }

  .infoList li.new a {
    padding-right: 90px
  }
}

@media screen and (max-width: 768px) {
  .infoList li {
    line-height: 1.5
  }

  .infoList li a {
    padding: 15px;
    display: block
  }

  .infoList li a time {
    display: block
  }

  .infoList li a:hover {
    color: #0091C8
  }

  .infoList li.new a {
    padding-right: 80px
  }
}

.flow {
  counter-reset: flow 0;
  margin-top: 20px
}

.flow li {
  border: 5px solid #EEEEEE;
  border-top: none;
  padding: 0 20px 20px;
  position: relative
}

.flow li:before {
  counter-increment: flow 1;
  content: "STEP" counter(flow);
  display: block;
  text-align: center;
  font-weight: bold;
  padding: 10px;
  background: #EEEEEE;
  margin: 0 -20px 20px
}

.flow li:not(:last-child) {
  margin-bottom: 40px
}

.flow li:not(:last-child):after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  border-top: 30px solid #EEE;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  top: 100%;
  transform: translateX(-50%)
}

@media screen and (max-width: 768px) {
  .flow li {
    padding: 0 10px 10px
  }

  .flow li:before {
    margin: 0 -10px 10px
  }
}

@media screen and (min-width: 769px) {
  .masuda {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*background: #d7d3d2;*/
    background: #ccf7ff;
  }

  .masuda .img {
    width: 48%
  }

  .masuda .txt {
    flex: 1;
    font-weight: bold;
    font-size: 22px;
    margin-left: 10px;
    color: #073e85;
  }

  .masuda .txt strong {
    font-size: 26px
  }
}

@media screen and (max-width: 768px) {
  .masuda .img {
    margin-bottom: 20px
  }
}

@media screen and (max-width: 768px) {
  .masuda {
    background: #EEE;
    padding-bottom: 20px
  }

  .masuda .img {
    margin-bottom: 20px
  }

  .masuda .txt {
    text-align: center;
    font-weight: bold;
    font-size: 18px
  }

  .masuda .txt strong {
    font-size: 120%
  }
}

.featureList {
  counter-reset: feature 0
}

.featureList .featureSec {
  padding-top: 30px;
  border-top: 1px solid #DDD;
  margin-top: 30px
}

.featureList .featureSec .content h2 {
  margin-bottom: 20px
}

.featureList .featureSec .content h2:before {
  counter-increment: feature 1;
  content: "Point " counter(feature);
  display: block;
  width: 100px;
  color: #FFF;
  padding: 2px;
  text-align: center;
  font-weight: bold;
  font-family: 'Montserrat', sans-serif
}

.featureList .featureSec:nth-child(1) .content h2:before {
  background: #318D4E
}

.featureList .featureSec:nth-child(2) .content h2:before {
  background: #AE2F4A
}

.featureList .featureSec:nth-child(3) .content h2:before {
  background: #0091C8
}

.featureList .featureSec:nth-child(4) .content h2:before {
  background: #249092
}

.featureList .featureSec:nth-child(5) .content h2:before {
  background: #2768A8
}

@media screen and (min-width: 769px) {
  .featureList .featureSec {
    display: flex;
    justify-content: space-between
  }

  .featureList .featureSec .content {
    flex: 1;
    margin-right: 40px
  }

  .featureList .featureSec .content h2 {
    font-size: 20px;
    padding-left: 120px;
    position: relative
  }

  .featureList .featureSec .content h2:before {
    position: absolute;
    left: 0;
    top: 3px;
    font-size: 16px
  }

  .featureList .featureSec .img {
    width: 300px
  }
}

@media screen and (max-width: 768px) {
  .featureList .featureSec .content {
    margin-bottom: 20px
  }

  .featureList .featureSec .content h2 {
    font-size: 18px
  }

  .featureList .featureSec .content h2:before {
    font-size: 14px;
    margin-bottom: 5px
  }

  .featureList .featureSec .img {
    text-align: center
  }

  .featureList .featureSec .img img {
    width: 300px
  }
}

.beginnerSec h2 {
  color: #2768A8;
  font-size: 20px;
  margin-bottom: 20px
}

.beginnerSec h2:before {
  content: "★"
}

@media screen and (min-width: 769px) {
  .beginnerSec h2 {
    font-size: 20px
  }
}

@media screen and (max-width: 768px) {
  .beginnerSec h2 {
    font-size: 18px
  }
}

.sec>.childSec {
  counter-reset: question 0
}

.qList li {
  font-weight: bold;
  position: relative;
  line-height: 1.5
}

.qList li:not(:first-child) {
  margin-top: 10px
}

.qList li:before {
  counter-increment: question 1;
  content: "Q" counter(question) ".";
  color: #0091C8;
  font-family: 'Montserrat', sans-serif;
  font-style: italic;
  position: absolute;
  left: 0;
  line-height: 1.2
}

.qaList dt {
  font-weight: bold;
  position: relative;
  line-height: 1.5
}

.qaList dt:before {
  counter-increment: question 1;
  content: "Q" counter(question) ".";
  font-family: 'Montserrat', sans-serif;
  font-style: italic;
  position: absolute;
  left: 0;
  line-height: 1.2
}

.qaList dd {
  position: relative;
  border-bottom: 1px solid #DDD
}

.qaList dd:before {
  font-weight: bold;
  content: "A.";
  color: #AE2F4A;
  font-family: 'Montserrat', sans-serif;
  font-style: italic;
  position: absolute;
  line-height: 1.2
}

@media screen and (min-width: 769px) {
  .qList li {
    font-size: 18px;
    padding-left: 3.5em
  }

  .qList li:before {
    font-size: 24px
  }

  .qaList dt {
    font-size: 18px;
    padding-left: 3.5em
  }

  .qaList dt:before {
    font-size: 24px
  }

  .qaList dd {
    margin: 20px 0 30px 0;
    padding-left: 76px;
    padding-bottom: 30px
  }

  .qaList dd:before {
    left: 36px;
    font-size: 24px
  }
}

@media screen and (max-width: 768px) {
  .qList li {
    font-size: 16px;
    padding-left: 54px
  }

  .qList li:before {
    font-size: 18px;
    line-height: 1.5
  }

  .qaList dt {
    font-size: 16px;
    padding-left: 54px
  }

  .qaList dt:before {
    font-size: 20px;
    line-height: 1.3
  }

  .qaList dd {
    margin: 15px 0 20px 0;
    padding-left: 54px;
    padding-bottom: 20px
  }

  .qaList dd:before {
    left: 20px;
    font-size: 20px
  }
}

.entrySec {
  border: 4px solid;
  border-top: none;
  margin-top: 20px
}

.entrySec#entry-a {
  border-color: #249092
}

.entrySec#entry-a h2 {
  background: #249092
}

.entrySec#entry-a .entryWay h3 {
  background: #249092
}

.entrySec#entry-b {
  border-color: #2768A8
}

.entrySec#entry-b h2 {
  background: #2768A8
}

.entrySec#entry-b .entryWay h3 {
  background: #2768A8
}

.entrySec h2 {
  color: #FFF;
  padding: 10px 20px
}

.entrySec .in .entrydayBox {
  color: #AE2F4A
}

.entrySec .in .entrydayBox .iconGreen {
  background: #7FB801;
  color: #FFF;
  padding: 2px 10px;
  margin-right: 10px;
  border-radius: 3px
}

.entrySec .in .entryWay {
  margin-top: 30px
}

.entrySec .in .entryWay h3 {
  color: #FFF;
  padding: 10px 20px;
  margin-bottom: 20px
}

.entrySec .in .entryWay .entryBtn li {
  line-height: 1.5
}

.entrySec .in .entryWay .entryBtn li a {
  display: block;
  position: relative;
  padding: 15px 10px 15px 30px;
  background: #7FB801;
  color: #FFF;
  border-radius: 5px;
  text-decoration: none
}

.entrySec .in .entryWay .entryBtn li a:before {
  content: "";
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  left: 10px;
  transform: rotate(45deg);
  top: 50%;
  margin-top: -5px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF
}

.entrySec .in .entryWay .contact {
  border: 4px solid #EEE
}

.entrySec .in .entryWay .contact h4 {
  text-align: center;
  background: #EEE;
  padding: 10px
}

.entrySec .in .entryWay .contact dl dt {
  font-weight: bold
}

.entrySec .in .entryWay .contact dl dt:not(:first-child) {
  margin-top: 10px
}

.entrySec .in .entryWay .contact dl dt:before {
  content: "●"
}

.entrySec .in .entryWay .contact dl dd {
  margin-left: 1em
}

.entrySec .comingsoon,
.entrySec .closed {
  position: relative
}

.entrySec .comingsoon:after {
  content: "comingsoon";
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  color: #FFF;
letter-spacing: 0.1rem !important;  
}

.entrySec .closed:after {
  content: "closed";
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  color: #FFF
}

.entryDlBtn {
  text-align: center
}

.entryDlBtn a {
  text-decoration: none;
  padding: 20px;
  color: #FFF;
  background: #0091C8;
  display: block;
  position: relative
}

.entryDlBtn a:after {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6px
}

.contactDoc {
  border: 4px solid #EEE
}

.contactDoc h4 {
  text-align: center;
  background: #EEE;
  padding: 10px
}

.contactDoc dl dt {
  font-weight: bold
}

.contactDoc dl dt:not(:first-child) {
  margin-top: 10px
}

.contactDoc dl dt:before {
  content: "●"
}

.contactDoc dl dd {
  margin-left: 1em
}

@media screen and (min-width: 769px) {
  .entrySec h2 {
    font-size: 20px
  }

  .entrySec .in {
    padding: 20px
  }

  .entrySec .in .entrydayBox {
    font-size: 18px
  }

  .entrySec .in .entrydayBox .iconGreen {
    font-size: 14px
  }

  .entrySec .in .entryWay h3 {
    font-size: 18px
  }

  .entrySec .in .entryWay .entryBtn {
    display: flex;
    justify-content: space-between
  }

  .entrySec .in .entryWay .entryBtn li {
    width: calc(50% - 20px)
  }

  .entrySec .in .entryWay .contact {
    padding: 0 20px 20px
  }

  .entrySec .in .entryWay .contact h4 {
    margin: -2px -20px 20px;
    font-size: 16px
  }

  .contactDoc {
    padding: 0 20px 20px
  }

  .contactDoc h4 {
    margin: -2px -20px 20px;
    font-size: 16px
  }
}

@media screen and (max-width: 768px) {
  .entrySec h2 {
    font-size: 18px
  }

  .entrySec .in {
    padding: 10px
  }

  .entrySec .in .entrydayBox .iconGreen {
    display: block;
    text-align: center;
    width: 80px
  }

  .entrySec .in .entryWay h3 {
    font-size: 16px
  }

  .entrySec .in .entryWay .entryBtn li:not(:first-child) {
    margin-top: 10px
  }

  .entrySec .in .entryWay .contact {
    padding: 0 10px 10px
  }

  .entrySec .in .entryWay .contact h4 {
    margin: -2px -10px 10px;
    font-size: 14px
  }

  .contactDoc {
    padding: 0 10px 10px
  }

  .contactDoc h4 {
    margin: -2px -10px 10px;
    font-size: 14px
  }
}

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

.entryList li {
  line-height: 1.6
}

.entryList li a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  color: #FFF;
  text-align: center;
  border-radius: 10px;
  text-decoration: none;
  position: relative;
  padding: 20px .5rem;
  height: 100%;
}

.entryList li a.entryFin {
  pointer-events: none;
  cursor: default;
}

.entryList li a.entryFin:before {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 10px;
}

.entryList li a .name {
  font-weight: bold;
  /*height: 3.2em;*/
  height: 4em;
  display: flex;
  justify-content: center;
  align-items: center
}

.entryList li a .target {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.entryList li a .entry {
  background: #FFF;
  border-radius: 50px;
  font-weight: bold;
  padding: 2px 20px;
  margin-top: .5rem;
}

.entryList li.general a {
  background: #942C60;
}

.entryList li.general a .entry {
  color: #942C60;
}

.entryList li.funrun a {
  background: #249092;
}

.entryList li.funrun a .entry {
  color: #249092;
}

.entryList li.youthrun a {
  background: #318D4E;
}

.entryList li.youthrun a .entry {
  color: #318D4E;
}

.entryList li.charity a {
  background: #2768A8;
}

.entryList li.charity a .entry {
  color: #2768A8;
}

@media screen and (min-width: 769px) {
  .entryList {
    margin-bottom: 20px;
  }

  .entryList li {
    width: calc((100% - 40px) / 4);
  }

  /* .entryList li a {
    aspect-ratio: 4 / 3
  } */

  .entryList li a .name {
    font-size: 120%;
  }

  .entryList li a .target {
    font-size: 90%;
  }
}

@media screen and (max-width: 768px) {
  .entryList {
    margin-bottom: 10px;
    flex-flow: column;
  }

  .entryList li {
    width: calc(100% - 20px);
    margin-bottom: 1rem;
  }

  .entryList li a {
    padding: 10px;
    height: 100%;
  }

  .entryList li a .name {
    font-size: 4.5vw;
    height: auto;
  }

  .entryList li a .target {
    font-size: 4vw;
    margin: 10px 0;
  }

  .entryList li a .entry {
    font-size: 5vw;
  }
}

.entrySchedule {
  margin-top: 20px;
  margin-bottom: 10px
}

.entrySchedule h2 {
  font-weight: bold;
  background: #00406e;
  color: #FFF;
  padding: 10px;
  font-size: 120%;
  text-align: center;
  margin-bottom: 20px
}

.entrySchedule ol {
  overflow: hidden;
  position: relative
}

.entrySchedule ol li {
  background: #EEE;
  padding: 10px;
  text-align: center;
  position: relative
}

.entrySchedule ol li:not(:last-child) {
  margin-bottom: 30px
}

.entrySchedule ol li .arrow {
  position: absolute;
  width: 10px;
  height: 16px;
  display: block;
  position: absolute;
  top: 100%;
  transform: translateX(-50%)
}

.entrySchedule ol li .arrow:after {
  content: "";
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%)
}

.entrySchedule ol li .arrowGeneral {
  background: #942C60
}

.entrySchedule ol li .arrowGeneral:after {
  border-top: 14px solid #942C60
}

.entrySchedule ol li .arrowFunrun {
  background: #249092
}

.entrySchedule ol li .arrowFunrun:after {
  border-top: 14px solid #249092
}

.entrySchedule ol li.start {
  z-index: 2
}

.entrySchedule ol li.start .arrowGeneral {
  left: calc((100% - (((100% - 40px) / 3) * 2) - 40px) / 2)
}

.entrySchedule ol li.start .arrowFunrun {
  left: 50%
}

.entrySchedule ol li.finish,
.entrySchedule ol li.announcement {
  width: calc(100% - ((100% - 40px) / 3) - 20px)
}

.entrySchedule ol li.finish .arrowGeneral,
.entrySchedule ol li.announcement .arrowGeneral {
  left: calc((100% - ((100% - 20px) / 2) - 20px) / 2)
}

.entrySchedule ol li.finish .arrowFunrun,
.entrySchedule ol li.announcement .arrowFunrun {
  left: auto;
  right: calc((100% - ((100% - 20px) / 2) - 20px) / 2);
  transform: translateX(50%)
}

.entrySchedule ol li.charityTeiin {
  width: calc((100% - 40px) / 3);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-80%);
  z-index: 2
}

.entrySchedule ol li.pay .arrowCharity {
  height: 500px;
  background: #2768A8;
  top: auto;
  bottom: calc(100% + 14px);
  left: auto;
  right: calc((100% - (((100% - 40px) / 3) * 2) - 40px) / 2);
  transform: translateX(50%)
}

.entrySchedule ol li.pay .arrowCharity:after {
  border-top: 14px solid #2768A8
}

@media screen and (min-width: 769px) {
  .entrySchedule ol li.start .arrowGeneral {
    left: calc((100% - (((100% - 20px) / 3) * 2) - 20px) / 2)
  }

  .entrySchedule ol li.finish,
  .entrySchedule ol li.announcement {
    width: calc(100% - ((100% - 20px) / 3) - 10px)
  }

  .entrySchedule ol li.finish .arrowGeneral,
  .entrySchedule ol li.announcement .arrowGeneral {
    left: calc((100% - ((100% - 10px) / 2) - 10px) / 2)
  }

  .entrySchedule ol li.finish .arrowFunrun,
  .entrySchedule ol li.announcement .arrowFunrun {
    right: calc((100% - ((100% - 10px) / 2) - 10px) / 2)
  }

  .entrySchedule ol li.pay .arrowCharity {
    right: calc((100% - (((100% - 20px) / 3) * 2) - 20px) / 2)
  }
}


.schedule-list {
  margin-bottom: 2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto 40px auto 40px auto 40px auto;
  grid-column-gap: 15px;
  grid-row-gap: 0px;
}
.schedule-list [class^="list-"] {
  background: #EEE;
  padding: 10px;
  text-align: center;
}
.schedule-list [class^="arrow0"] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.schedule-list .outer-06{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.schedule-list .list-04,
.schedule-list .list-05 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.schedule-list .list-06 {
  /*height: calc(100% - 80px);*/
  display: flex;
  align-items: center;
  justify-content: center;
  /*text-align: left;*/
    grid-area: 3 / 1 / 6 / 2;
}
.schedule-list .list-07 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 90%;
}
/*.schedule-list .list-01 { grid-area: 1 / 1 / 2 / 5; }
.schedule-list .list-02 { grid-area: 3 / 1 / 4 / 4; }
.schedule-list .list-03 { grid-area: 5 / 1 / 6 / 4; }
.schedule-list .list-04 { grid-area: 7 / 1 / 8 / 3; }
.schedule-list .list-05 { grid-area: 7 / 3 / 8 / 4; }
.schedule-list .outer-06 { grid-area: 2 / 4 / 7 / 5; }
.schedule-list .list-07 { grid-area: 7 / 4 / 8 / 5; }
.schedule-list .arrow0101 { grid-area: 2 / 1 / 3 / 2; }
.schedule-list .arrow0102 { grid-area: 2 / 2 / 3 / 3; }
.schedule-list .arrow0103 { grid-area: 2 / 3 / 3 / 4; }
.schedule-list .arrow0201 { grid-area: 4 / 1 / 5 / 2; }
.schedule-list .arrow0202 { grid-area: 4 / 2 / 5 / 3; }
.schedule-list .arrow0203 { grid-area: 4 / 3 / 5 / 4; }
.schedule-list .arrow0301 { grid-area: 6 / 1 / 7 / 2; }
.schedule-list .arrow0302 { grid-area: 6 / 2 / 7 / 3; }
.schedule-list .arrow0303 { grid-area: 6 / 3 / 7 / 4; }*/

.schedule-list .list-01 {grid-area: 1 / 1 / 2 / 5;}
.schedule-list .list-02 {grid-area: 3 / 2 / 4 / 3;}
.schedule-list .list-03 {grid-area: 5 / 2 / 6 / 5;}
.schedule-list .list-05 { grid-area: 7 / 2 / 8 / 5;}
.schedule-list .outer-06 {grid-area: 2 / 1 / 7 / 2;}
.schedule-list .list-07 {grid-area: 7 / 1 / 8 / 2;}
.schedule-list .list-08 {grid-area: 3 / 3 / 4 / 4;}
.schedule-list .list-09 {grid-area: 3 / 4 / 4 / 5;}
/*.schedule-list .list-04 { grid-area: 7 / 1 / 8 / 3; }*/
.schedule-list .arrow0101 { grid-area: 2 / 2 / 3 / 3; }
.schedule-list .arrow0201 { grid-area: 4 / 2 / 5 / 3; }
.schedule-list .arrow0301 { grid-area: 6 / 2 / 7 / 3; }
.schedule-list .arrow0103 { grid-area: 2 / 3 / 3 / 4; }
.schedule-list .arrow0203 { grid-area: 4 / 3 / 5 / 4; }
.schedule-list .arrow0303 { grid-area: 6 / 3 / 7 / 4; }
.schedule-list .arrow0102 { grid-area: 2 / 4 / 3 / 5; }
.schedule-list .arrow0202 { grid-area: 4 / 4 / 5 / 5; }
.schedule-list .arrow0302 { grid-area: 6 / 4 / 7 / 5; }
.schedule-list .arrow0401 {grid-area: 2 / 1 / 3 / 2;}
.schedule-list .arrow0402 {grid-area:6 / 1 / 7 / 2;}	


.schedule-list .arrow {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #942C60;
  clip-path: polygon(0 35%, 50% 35%, 50% 10%, 90% 50%, 50% 90%, 50% 65%, 0 65%);
  transform: rotate(90deg);
}
.schedule-list .arrowGeneral {
  background: #942C60;
}
.schedule-list .arrowFunrun {
  background: #249092;
}
.schedule-list .arrowYouthrun {
  background: #318D4E;
}
.schedule-list .arrowCharity {
  background: #2768A8;
  /*position: absolute;
  bottom: 0;*/
}
.schedule-list .barCharity {
  display: inline-block;
  width: 12px;
  height: 40px;
  background: #2768A8;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 767px) {
  .schedule-list [class^="list-"] {
    font-size: 80%;
  }
}

.imgCol3 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start
}

@media screen and (min-width: 769px) {
  .imgCol3 img {
    width: calc((100% - 40px) / 3);
    margin-right: 20px
  }

  .imgCol3 img:nth-child(3n) {
    margin-right: 0
  }

  .imgCol3 img:nth-child(n+4) {
    margin-top: 20px
  }
}

@media screen and (max-width: 768px) {
  .imgCol3 {
    justify-content: space-between
  }

  .imgCol3 img {
    width: calc(50% - 5px);
    margin-right: 10px
  }

  .imgCol3 img:nth-child(2n) {
    margin-right: 0
  }

  .imgCol3 img:nth-child(n+3) {
    margin-top: 10px
  }
}

.sponsorPrivilege {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px
}

.sponsorPrivilege li .txt {
  display: block;
  background: #942C60;
  text-align: center;
  padding: 10px;
  color: #FFF
}

@media screen and (min-width: 769px) {
  .sponsorPrivilege li {
    width: calc((100% - 60px) / 3);
    margin-right: 30px
  }

  .sponsorPrivilege li:nth-child(3n) {
    margin-right: 0
  }

  .sponsorPrivilege li:nth-child(n+4) {
    margin-top: 30px
  }
}

@media screen and (max-width: 768px) {
  .sponsorPrivilege li {
    text-align: center
  }

  .sponsorPrivilege li:not(:first-child) {
    margin-top: 20px
  }
}

@media screen and (min-width: 769px) {
  .sponsorFlow {
    display: flex
  }

  .sponsorFlow li:nth-child(1) {
    width: 52.2%
  }

  .sponsorFlow li:nth-child(2) {
    width: 47.8%
  }
}

@media screen and (max-width: 768px) {
  .sponsorFlow li:nth-child(2) {
    width: 92%
  }
}

.sponsorBtn {
  margin-top: 20px
}

.sponsorBtn li a {
  display: block;
  background: #0091C8;
  color: #FFF;
  border-radius: 10px;
  text-decoration: none;
  padding: 20px 10px;
  text-align: center
}

.sponsorBtn.fin a {
  position: relative;
  cursor: default;
  pointer-events: none;
}

.sponsorBtn.fin a:before,
.sponsorBtn.fin a:after {
  position: absolute;
  display: block;
  width: 100%;
  text-align: center;
  vertical-align: middle
}

.sponsorBtn.fin a:before {
  content: '';
  background: rgba(0, 0, 0, .7);
  height: 100%;
  border-radius: 10px;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto
}

.sponsorBtn.fin a:after {
  content: 'closed';
  font-size: 16px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%)
}

@media screen and (min-width: 769px) {
  .sponsorBtn {
    display: flex;
    justify-content: space-between
  }

  .sponsorBtn li {
    width: calc(50% - 10px)
  }

  .sponsorBtn li a {
    display: block
  }
}

@media screen and (max-width: 768px) {
  .sponsorBtn li:not(:first-child) {
    margin-top: 10px
  }
}

.entryContent>* {
  margin-top: 20px
}

.wp-pagenavi {
  margin-top: 40px;
  display: flex;
  justify-content: center
}

.wp-pagenavi a {
  color: #0091C8;
  border: none !important;
  padding: 0 !important
}

.wp-pagenavi .pages,
.wp-pagenavi .last {
  display: none
}

.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: #F7F7F7;
  text-decoration: none;
  margin: 0 3px
}

.wp-pagenavi .current {
  border: none;
  background: #AE2F4A;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin: 0 3px
}

.sponsorList.plutinumSponsors>section h3 img {
  max-width: 220px;
  width: 100%
}
.sponsorList a img,
.sponsorBnrs a img{
  outline: solid 1px #dfdfdf;
  outline-offset: -1px;
}

@media screen and (min-width: 769px) {
  .sponsorList>section {
    display: flex;
	  margin-bottom:3rem;
  }

  .sponsorList>section:not(:first-child) {
    margin-top: 20px
  }

  .sponsorList>section h3 {
    width: 220px
  }

  .sponsorList>section .txt {
    flex: 1;
    margin-left: 20px
  }
}

@media screen and (max-width: 768px) {
  .sponsorList>section:not(:first-child) {
    margin-top: 20px
  }

  .sponsorList>section h3 {
    text-align: center;
    margin-bottom: 10px
  }
}

@media screen and (min-width: 769px) {
  .goldSponsors {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px
  }

  .goldSponsors li {
    width: 180px;
    margin: 20px 20px 0 0
  }

  .silverSponsors {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px
  }

  .silverSponsors li {
    width: 150px;
    margin: 20px 16px 0 0
  }

  .bronzeSponsors {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px
  }

  .bronzeSponsors li {
    width: 120px;
    margin: 20px 20px 0 0
  }
}

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

  .sponsorBnrs,
  .partnerBnrs {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }

  .sponsorBnrs li,
  .partnerBnrs li {
    width: calc(50% - 10px);
    text-align: center
  }

  .sponsorBnrs li:nth-child(n+3),
  .partnerBnrs li:nth-child(n+3) {
    margin-top: 20px
  }

  .sponsorBnrs li img,
  .partnerBnrs li img {
    width: 100%;
    max-width: 220px;
  }
}

@media screen and (min-width: 769px) {
  .supporters {
    display: flex;
    flex-wrap: wrap
  }

  .supporters li {
    width: 50%;
    padding-right: 20px
  }
}

@media screen and (min-width: 769px) {
  .partnerBnrs {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
  }

  .partnerBnrs li {
    width: 220px;
    margin: 20px 20px 0 0
  }
}
.flx-box{
  display: flex;
}
.flx-box .col-2{
  width: 50%;
  padding: 1rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .flx-box{
    flex-flow: column;
  }
  .flx-box .col-2{
    width: 100%;
  }
}
.closed > *{
    position: relative;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.closed > *::before{
    /*content: '受付終了';*/
    content:"CLOSE";
    position: absolute;
    left: 0;
    top:0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.75);
    color:#fff;
    /*font-size: 14px;*/
    font-size:1.25rem;
    font-weight: bold;
	border-radius: 10px;
}
.closed.en > *::before{
    content: 'closed';
}
.top-closed > *{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-closed > *::before{
  content: '';
  position: absolute;
  left: 0;
  top:0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.7);
  color:#fff;
  font-size: 100%;
  font-weight: bold;
}
.top-closed > *::after{
  display: none !important;
}
.top-closed .noLinkTxt{
  z-index: 10;
  color:#fff;
}
.hide{
	display: none !important;
}


/*関係者専用*/
.flex-business {
    display: flex;
    justify-content: space-between;
}
.flex-business div {
    background: #f1f1f1;
    padding: 20px;
    width: calc(100% / 3);
    box-sizing: border-box;
    margin-right: 1%;
}
.flex-business .tl {
    background: #666;
    color: #FFF;
    padding: 10px;
}

.su-posts-default-loop .su-post {
    margin-bottom: 1em !important;
}

.su-posts-default-loop h2.su-post-title{
font-size: 0.95em !important;
}

.su-posts-default-loop h2.su-post-title a{
 pointer-events: none;
 text-decoration: none;
 color: #444;
}


@media (max-width: 768px) {
    .flex-business {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
    }
}
@media (max-width: 768px) {
    .flex-business div {
        background: #f1f1f1;
        padding: 20px;
        width: calc(100% / 1);
        box-sizing: border-box;
        margin-right: 0;
        margin-bottom: 20px;
    }
}


/*-----新着一番上に「大会当日の健康チェック」-----*/
.health-check a{
text-decoration: none;
border: 1px solid #e00;
font-weight: bold;
margin-top: 10px;
border-radius: 6px;
}
.health-check a span:nth-child(odd){
width: 5em;
background: #e00;
color: #fff;
text-align: center;
border-radius: 3px;
}
.health-check a span:nth-child(even){
color: #e00;
}

@media screen and (min-width: 769px) {
.health-check a {
display: flex;
padding: 20px;
}
.health-check a span:nth-child(even){
flex: 1;
margin-left: 3em;
}
}
@media screen and (max-width: 768px){
.health-check a {
display: block;
padding: 15px;
}
.health-check a span:nth-child(odd){
display:block;
}
}