@charset "utf-8";
/*
@import url("https://fonts.googleapis.com/css?family=Oswald");
@import url("https://fonts.googleapis.com/css?family=Open+Sans");
*/
@import url("https://fonts.googleapis.com/css?family=Teko");
@import url("https://fonts.googleapis.com/css?family=Teko");
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@700&display=swap');

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

html {
  font-size: 62.5%;
  height: 100%;
}

body {
  font-size: 1.6rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO", "verdana", sans-serif;
  color: #333333;
  height: 100%;
}

a {
  color: #333333;
  cursor: pointer;
  text-decoration: none;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.p100 {
  width: 100%;
}

/* 追尾 */
.floatbtn {
  display: block;
  position: fixed;
  bottom: 3%;
  right: 3%;
  z-index: 3;
}

/* MV */
.mv {
  width: 100%;
  height: 45vw;
  position: relative;
  background-image: url(../img/p_mv_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.mv_title {
  text-align: center;
  max-width: 710px;
  width: 50%;
}

.mv_right {
  position: absolute;
  right: 0;
  bottom: -5%;
  width: 25%;
}

.mv_left {
  position: absolute;
  left: 0;
  bottom: -31%;
  width: 26.5%;
}

.anc {
  position: relative;
  margin-top: -8vw;
}

.anc ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.anc ul li {
  width: 18vw;
  max-width: 242px;
}

.anc ul li a img {
  transform: scale(1);
  transition: 0.5s;
}

.anc ul li a img:hover {
  transform: scale(1.1);
}

/* コンテンツ */
.content {
  background-image: url(../img/p_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}

.content_wrap {
  position: relative;
  padding-bottom: 120px;
}

.content_bg {
  width: 4vw;
  height: 110%;
  background-repeat: repeat-y;
  background-size: 100%;
  position: absolute;
  top: -4.4%;
  opacity: 0.3;
}

.content_bg._left {
  background-image: url(../img/bg_text_left.png);
  left: 0;
}

.content_bg._right {
  background-image: url(../img/bg_text_right.png);
  right: 0;
}

.sec {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.sec_bg {
  position: absolute;
  top: -11%;
  right: 0;
  width: 22%;
}

.sec_item._01 {
  text-align: left;
  width: 40%;
  margin-top: -8%;
}

.sec_item._02 {
  text-align: right;
  width: 40%;
  margin-top: 0;
}

.sec_item._03 {
  text-align: left;
  width: 64%;
  position: absolute;
  top: 0;
  left: 5%;
}

.sec_item a img {
  transform: scale(1);
  transition: 0.5s;
}

.sec_item a img:hover {
  transform: scale(1.1);
}

.sec_box {
  width: 60%;
}

.sec_box._02 {
  padding-left: 5%;
  margin-top: 5%;
}

.sec_box._03 {
  width: 65%;
  padding-right: 5%;
  margin-left: auto;
  margin-right: 0;
  margin-top: 5%;
}

.sec_box_title._01 {
  width: 60%;
}

.sec_box_title._02 {
  width: 60%;
}

.sec_box_title._03 {
  width: 90%;
  margin-left: auto;
  margin-right: 0;
}

.sec_box_link {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.sec_box_link_btn {
  position: relative;
  transform: scale(1);
  transition: 0.5s;
}

.sec_box_link_btn:hover {
  cursor: pointer;
  transform: scale(1.1);
}

.sec_box_link_btn._teaser:hover {
  pointer-events: none;
  transform: scale(1.0);
}

.sec_box_link_btn::after {
  content: '';
  background-image: url(../img/btn_item.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  animation: r1 5s linear infinite;
}

.sec_box_link_btn._teaser::after {
  content: '';
  background-image: none;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  animation: r1 5s linear infinite;
}

@keyframes r1 {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.sec_box_link_btn._01 {
  width: 30%;
  margin-top: 60px;
  margin-right: 5%;
}

.sec_box_link_btn._02 {
  width: 45%;
  margin-top: -3%;
}

.sec_box_link_btn._03 {
  width: 47%;
  margin-top: -25%;
  margin-right: 5%;
  margin-left: auto;
}

.sec_box_link_btn._04 {
  width: 47%;
  margin-top: -19%;
  margin-left: -2%;
}

.sec_box_link_btn._05 {
  width: 45%;
  margin-top: 4%;
}

.sec_box_link_btn._06 {
  width: 39%;
  margin-top: 4%;
  margin-right: 0;
  margin-left: auto;
}

.sec_box_link_btn._07 {
  width: 58%;
  margin-top: 13%;
  margin-right: 0%;
  margin-left: -18%;
}

.sec_box_link_btn._08 {
  width: 40%;
  margin-top: 4%;
  margin-right: 0;
  margin-left: 20%;
}

.sec_box_link_btn._01::after {
  width: 4.6vw;
  height: 4.6vw;
  top: 50.7%;
  left: -0.7%;
}

.sec_box_link_btn._02::after {
  width: 5.4vw;
  height: 5.4vw;
  top: -2.6%;
  left: 54.8%;
}

.sec_box_link_btn._03::after {
  width: 6vw;
  height: 6vw;
  top: 80.7%;
  left: 39.2%;
}

.sec_box_link_btn._04::after {
  width: 5.4vw;
  height: 5.4vw;
  top: 37.7%;
  left: 1.9%;
}

.sec_box_link_btn._05::after {
  width: 5.7vw;
  height: 5.7vw;
  top: 55.3%;
  left: 80.0%;
}

.sec_box_link_btn._06::after {
  width: 5.6vw;
  height: 5.6vw;
  top: 69.4%;
  left: 7.6%;
}

.sec_box_link_btn._07::after {
  width: 5.4vw;
  height: 5.4vw;
  top: 64.5%;
  left: 30.7%;
}

.sec_box_link_btn._08::after {
  width: 5.4vw;
  height: 5.4vw;
  top: 68.1%;
  left: 70%;
}

/* スケジュール */
.schedule {
  text-align: center;
  margin-top: 50px;
}

.schedule img {
  width: 88%;
}

.schedule_list {
  margin-bottom: 32px;
}

.schedule_banner {
  margin-bottom: 4%;
}

.schedule_banner_02 {
  margin-bottom: 12%;
}




.anim_btn {
  position: relative;
}


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

  .sp {
    display: block;
  }

  /* 追尾 */
  .floatbtn {
    width: 28%;
    max-width: 148px;
  }

  /* MV */
  .mv {
    height: 162vw;
    background-image: url(../img/s_mv_bg.jpg);
    background-size: cover;
    display: block;
  }

  .mv_title {
    width: 90%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5%;
  }

  .mv_left {
    left: -5%;
    bottom: -12%;
    width: 57%;
  }

  .mv_right {
    right: -4%;
    bottom: 2%;
    width: 56%
  }

  .anc {
    margin-top: -8vw;
  }

  .anc ul li {
    width: 31%;
    max-width: inherit;
  }


  /* コンテンツ */
  .content {
    background-image: url(../img/s_bg.jpg);
  }

  .content_wrap {
    padding-bottom: 80px;
  }

  .content_bg {
    display: none;
    /* top: -3.8%; */
  }

  .sec {
    display: block;
  }

  .sec_bg {
    top: 16%;
    right: 0;
    width: 32%;
  }

  .sec_item._01 {
    width: 90%;
    margin-top: 3%;
  }

  .sec_item._02 {
    text-align: right;
    width: 65%;
    margin-top: -36%;
    margin-left: auto;
    margin-right: 0;
  }

  .sec_item._03 {
    text-align: left;
    width: 90%;
    position: absolute;
    top: 3.4%;
    left: 5%;
  }

  .sec_box {
    width: 100%;
  }

  .sec_box._02 {
    width: 100%;
    margin-top: 8%;
  }

  .sec_box._03 {
    width: 100%;
    margin-top: 8%;
  }

  .sec_box_title._01 {
    width: 100%;
    margin-top: 5%;
  }

  .sec_box_title._02 {
    width: 80%;
    margin-top: 5%;
  }

  .sec_box_title._03 {
    width: 90%;
    margin-top: 5%;
    margin-left: auto;
    margin-right: auto;
  }

  .sec_box_link {
    display: block;
  }

  .sec_box_link_btn._01 {
    width: 90%;
    margin-top: 2%;
    margin-right: auto;
    margin-left: auto;
  }

  .sec_box_link_btn._02 {
    width: 90%;
    margin-top: -2%;
    margin-right: auto;
    margin-left: auto;
  }

  .sec_box_link_btn._03 {
    width: 90%;
    margin-top: -25%;
    margin-right: auto;
    margin-left: 2%;
  }

  .sec_box_link_btn._04 {
    width: 90%;
    margin-top: 2%;
    margin-right: auto;
    margin-left: auto;
  }

  .sec_box_link_btn._05 {
    width: 80%;
    margin-top: 2%;
    margin-right: auto;
    margin-left: 5%;
  }

  .sec_box_link_btn._06 {
    width: 66%;
    margin-top: -42%;
    margin-right: 0;
    margin-left: auto;
  }

  .sec_box_link_btn._07 {
    width: 90%;
    margin-top: 0%;
    margin-right: auto;
    margin-left: auto;
  }

  .sec_box_link_btn._08 {
    width: 80%;
    margin-top: 2%;
    margin-right: 3%;
    margin-left: auto;
  }

  .sec_box_link_btn._01::after {
    width: 21vw;
    height: 21vw;
    top: 32.5%;
    left: 55.6%;
  }

  .sec_box_link_btn._02::after {
    width: 21vw;
    height: 21vw;
    top: -4.8%;
    left: 78.8%;
  }

  .sec_box_link_btn._03::after {
    width: 19vw;
    height: 19vw;
    top: 37.7%;
    left: 64.2%;
  }

  .sec_box_link_btn._04::after {
    width: 19vw;
    height: 19vw;
    top: 21.2%;
    left: 18.6%;
  }

  .sec_box_link_btn._05::after {
    width: 21vw;
    height: 21vw;
    top: 33.2%;
    left: 72.4%;
  }

  .sec_box_link_btn._06::after {
    width: 17vw;
    height: 17vw;
    top: 74.9%;
    left: 72.1%;
  }

  .sec_box_link_btn._07::after {
    width: 17vw;
    height: 17vw;
    top: 33.7%;
    left: 55.2%;
  }

  .sec_box_link_btn._08::after {
    width: 17vw;
    height: 17vw;
    top: 49.6%;
    left: 12.2%;
  }

  /* スケジュール */
  .schedule {
    margin-top: 5%;
  }

  .schedule img {
    width: 88%;
  }

  .schedule_list {
    margin-bottom: 3%;
  }

  .schedule_banner {
    margin-bottom: 4%;
  }
}


/* アニメーション */
.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms;
}

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}



/*------------------------------------------------------------------
 sponsor --------------------------------------------------------------
------------------------------------------------------------------*/
.sponsor {
  width: 100%;
  padding-top: 120px;
  line-height: 1.2em;
}
.sponsor__inner {
  width: 100%;
  overflow: hidden;
  text-align: center;
  padding-bottom: 50px;
}

.sponsor img {
  width: 100%;
  vertical-align: baseline;
}
@media screen and (max-width:989px) {
  .sponsor {
    padding-top: 60px;
  }
  .sponsor__inner {
    padding-bottom: 30px;
  }
}


.sponsor__ttl {
  width: 100%;
  max-width: 1366px;
  text-align: center;
  margin: 160px auto 80px;
}
.sponsor__ttl img {
  margin: auto;
  width: 41.7276%;
}
@media screen and (max-width:989px) {
  .sponsor__ttl {
    margin: 80px auto 40px;
  }
  .sponsor__ttl img {
    margin: auto;
    width: 100%;
  }
}


.sponsor__wrap {
  max-width: 1360px;
  padding: 0 0 20px;
  margin: auto;
}
.sponsor__inner  p {
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2.0rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: #0e1d49;
}
@media screen and (max-width:989px) {
  .sponsor__wrap {
    max-width: 1360px;
    padding: 0 10px 20px;
    margin: auto;
  }
  .sponsor__inner  p {
    font-size: 1.5rem;
    margin-bottom: 10px;
  }
}



.sponsor__wrap ul {
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin: auto;
}
@media screen and (max-width:989px) {
  .sponsor__wrap ul.sponsor__5column,
  .sponsor__wrap ul.sponsor__4column,
  .sponsor__wrap ul.sponsor__3column,
  .sponsor__wrap ul.sponsor__2column,
  .sponsor__wrap ul.sponsor__1column {
    width: 100%;
    max-width: initial;
  }
}


.sponsor__wrap ul li {
  width: 20%;
  font-size: 12px;
  margin-top: 20px;
  padding: 0 10px;
  display: block;
}
.sponsor__wrap ul li.sizeL {
  width: 33%;
  font-size: 12px;
  margin-top: 20px;
  padding: 0 10px;
  display: block;
}
.sponsor__wrap ul li.sizeS {
  width: 16%;
  font-size: 12px;
  margin-top: 20px;
  padding: 0 10px;
  display: block;
}

@media screen and (max-width:989px) {
  .sponsor__wrap ul.sponsor__4column li,
  .sponsor__wrap ul.sponsor__2column li,
  .sponsor__wrap ul.sponsor__5column li {
    width: 50%;
    font-size: 12px;
    margin-top: 20px;
    padding: 0 10px;
    display: block;
  }
}

.sponsor__wrap ul li a {
  color: #444;
}
@media screen and (max-width:989px) {
  .sponsor__wrap ul li {
    padding: 0 10px;
    font-size: 10px;
  }
}