body {
  background-image: url(../images/bg_img_pc.png), url(../images/bg_base_pc.png);
  background-repeat: no-repeat, no-repeat;
  background-size: 1500px auto, cover;
  background-position: center top, center top;
}
@media screen and (max-width: 1200px) {
  body {
    background-size: 125vw auto, cover;
  }
}
@media screen and (max-width: 768px) {
  body {
    background-image: url(../images/bg_img_sp.png), url(../images/bg_base_sp.png);
    background-size: 146.7vw auto, cover;
  }
}

.wrap01 {
  max-width: 984px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1200px) {
  .wrap01 {
    max-width: none;
    width: 81.5%;
  }
}
@media screen and (max-width: 768px) {
  .wrap01 {
    max-width: none;
    width: 82.1%;
  }
}

header #mv {
  overflow: hidden;
}
header #mv h1 {
  max-width: 1150px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -80px;
}
@media screen and (max-width: 1200px) {
  header #mv h1 {
    max-width: none;
    width: 95.8vw;
    margin-top: -6.7vw;
  }
}
@media screen and (max-width: 768px) {
  header #mv h1 {
    width: 149.3vw;
    margin-left: -24.65vw;
    margin-right: -24.65vw;
    margin-top: -6vw;
  }
}
header #mv .chara01 {
  max-width: 530px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -336px;
}
@media screen and (max-width: 1200px) {
  header #mv .chara01 {
    max-width: none;
    width: 44.2vw;
    margin-top: -28vw;
  }
}
@media screen and (max-width: 768px) {
  header #mv .chara01 {
    width: 84vw;
    margin-top: -36.4vw;
  }
}

.float_btn {
  position: fixed;
  width: 170px;
  bottom: 15px;
  right: 15px;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .float_btn {
    width: 14.2vw;
    bottom: 1.3vw;
    right: 1.3vw;
  }
}
@media screen and (max-width: 768px) {
  .float_btn {
    width: 100%;
    right: 0;
    bottom: auto;
    top: 0;
  }
}

main {
  position: relative;
  margin-top: -102px;
  padding-bottom: 90px;
}
@media screen and (max-width: 1200px) {
  main {
    margin-top: -8.5vw;
    padding-bottom: 7.5vw;
  }
}
@media screen and (max-width: 768px) {
  main {
    margin-top: -18.1vw;
    padding-bottom: 12vw;
  }
}
main .race_info {
  max-width: 984px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 3px solid #000;
  border-radius: 18px;
  background-color: #fff;
  padding-top: 90px;
  padding-bottom: 60px;
  box-shadow: 4px 4px 0px 0px rgb(0, 0, 0);
  position: relative;
}
@media screen and (max-width: 1200px) {
  main .race_info {
    max-width: none;
    width: 82vw;
    border-radius: 1.5vw;
    padding-top: 7.5vw;
    padding-bottom: 5vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info {
    max-width: none;
    width: 88vw;
    border-radius: 2.4vw;
    padding-top: 14.7vw;
    padding-bottom: 7.7vw;
  }
}
main .race_info + .race_info {
  margin-top: 75px;
}
@media screen and (max-width: 1200px) {
  main .race_info + .race_info {
    margin-top: 6.3vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info + .race_info {
    margin-top: 14.1vw;
  }
}
main .race_info h2 {
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
}
@media screen and (max-width: 1200px) {
  main .race_info h2 {
    width: 66.7vw;
    top: -3vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info h2 {
    width: 77.3vw;
    top: -6.7vw;
  }
}
main .race_info .race_name {
  font-size: 73px;
  font-weight: 900;
  color: #ffff00;
  text-align: center;
  line-height: 1.3em;
  letter-spacing: -0.05em;
  text-shadow: 2px 0px 1px rgb(0, 0, 0), -2px 0px 1px rgb(0, 0, 0), 0px 2px 1px rgb(0, 0, 0), 0px -2px 1px rgb(0, 0, 0), 1px 1px 1px rgb(0, 0, 0), -1px 1px 1px rgb(0, 0, 0), 1px -1px 1px rgb(0, 0, 0), -1px -1px 1px rgb(0, 0, 0), 1px 2px 1px rgb(0, 0, 0), -1px 2px 1px rgb(0, 0, 0), 1px -2px 1px rgb(0, 0, 0), -1px -2px 1px rgb(0, 0, 0), 2px 1px 1px rgb(0, 0, 0), -2px 1px 1px rgb(0, 0, 0), 2px -1px 1px rgb(0, 0, 0), -2px -1px 1px rgb(0, 0, 0), 3px 3px 0px rgb(0, 0, 0), 5px 5px 0px rgb(0, 0, 0);
}
@media screen and (max-width: 1200px) {
  main .race_info .race_name {
    font-size: 6.1vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .race_name {
    font-size: 6.9vw;
  }
}
main .race_info .race_area {
  font-size: 38px;
  font-weight: 900;
  color: #ffff00;
  text-align: center;
  line-height: 1.3em;
  letter-spacing: -0.01em;
  text-shadow: 2px 0px 1px rgb(0, 0, 0), -2px 0px 1px rgb(0, 0, 0), 0px 2px 1px rgb(0, 0, 0), 0px -2px 1px rgb(0, 0, 0), 1px 1px 1px rgb(0, 0, 0), -1px 1px 1px rgb(0, 0, 0), 1px -1px 1px rgb(0, 0, 0), -1px -1px 1px rgb(0, 0, 0), 1px 2px 1px rgb(0, 0, 0), -1px 2px 1px rgb(0, 0, 0), 1px -2px 1px rgb(0, 0, 0), -1px -2px 1px rgb(0, 0, 0), 2px 1px 1px rgb(0, 0, 0), -2px 1px 1px rgb(0, 0, 0), 2px -1px 1px rgb(0, 0, 0), -2px -1px 1px rgb(0, 0, 0);
  margin-top: 0.6em;
}
@media screen and (max-width: 1200px) {
  main .race_info .race_area {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .race_area {
    font-size: 4.3vw;
    margin-top: 1em;
  }
}
main .race_info .race_area .year {
  font-size: 26px;
}
@media screen and (max-width: 1200px) {
  main .race_info .race_area .year {
    font-size: 2.2vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .race_area .year {
    font-size: 2.9vw;
  }
}
main .race_info .race_area .no {
  font-size: 57px;
}
@media screen and (max-width: 1200px) {
  main .race_info .race_area .no {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .race_area .no {
    font-size: 6.4vw;
  }
}
main .race_info .race_area .youbi {
  font-size: 32px;
  margin-left: -0.4em;
  margin-right: -0.4em;
}
@media screen and (max-width: 1200px) {
  main .race_info .race_area .youbi {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .race_area .youbi {
    font-size: 3.5vw;
  }
}
main .race_info .content_txt01 {
  font-size: 44px;
  font-weight: 900;
  color: #ff1e6e;
  text-align: center;
  line-height: 1.5em;
  margin-top: 0.5em;
}
@media screen and (max-width: 1200px) {
  main .race_info .content_txt01 {
    font-size: 3.7vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .content_txt01 {
    font-size: 4.5vw;
    margin-top: 0.8em;
  }
}
main .race_info .list01 {
  width: 820px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 1200px) {
  main .race_info .list01 {
    width: 68.3vw;
    margin-top: 4.2vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .list01 {
    width: 77.3vw;
    margin-top: 6.1vw;
  }
}
main .race_info .list01 li {
  width: 48.2%;
  min-height: 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 30px;
  font-weight: 900;
  color: #ff1e6e;
  line-height: 1.2em;
  background-color: #ffff00;
  border-radius: 10px;
}
@media screen and (max-width: 1200px) {
  main .race_info .list01 li {
    min-height: 7.5vw;
    font-size: 2.5vw;
    border-radius: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .list01 li {
    width: 100%;
    font-size: 4.5vw;
    min-height: 14vw;
    border-radius: 1.6vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .list01 li:nth-child(n+2) {
    margin-top: 4.2vw;
  }
}
main .race_info .list01 li:nth-child(n+3) {
  margin-top: 23px;
}
@media screen and (max-width: 1200px) {
  main .race_info .list01 li:nth-child(n+3) {
    margin-top: 1.9vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .list01 li:nth-child(n+3) {
    margin-top: 4.2vw;
  }
}
main .race_info .txt_box01 {
  width: 820px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  background-color: #c60047;
  border-radius: 10px;
  padding: 20px;
}
@media screen and (max-width: 1200px) {
  main .race_info .txt_box01 {
    width: 68.3vw;
    margin-top: 3.3vw;
    padding: 1.7vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .txt_box01 {
    width: 77.3vw;
    margin-top: 5.1vw;
    padding: 2.6vw;
  }
}
main .race_info .txt_box01 p {
  font-size: 36px;
  font-weight: 900;
  line-height: 1.5em;
  color: #ffff00;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  main .race_info .txt_box01 p {
    font-size: 3vw;
  }
}
@media screen and (max-width: 768px) {
  main .race_info .txt_box01 p {
    font-size: 4.5vw;
  }
}
main .race_info.type01 {
  background-color: #ffc800;
}
main .race_info.type01 .race_name {
  color: #00c8ff;
}
main .race_info.type01 .race_area {
  color: #00c8ff;
}
main .race_info.type01 .content_txt01 {
  color: #dc0000;
}
main .race_info.type02 {
  background-color: #ff1e6e;
}
main .race_info.type02 .race_name {
  color: #ffff00;
}
main .race_info.type02 .race_area {
  color: #ffff00;
}
main .race_info.type02 .content_txt01 {
  color: #fff;
}
main .race_info.type02 .list01 li {
  color: #ff1e6e;
  background-color: #fff;
}
main #rule {
  max-width: 800px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 90px;
}
@media screen and (max-width: 1200px) {
  main #rule {
    max-width: none;
    width: 66.7vw;
    margin-top: 7.5vw;
  }
}
@media screen and (max-width: 768px) {
  main #rule {
    max-width: none;
    width: 78.1vw;
    margin-top: 14.9vw;
  }
}
main #rule .rule_section + .rule_section {
  margin-top: 50px;
}
@media screen and (max-width: 1200px) {
  main #rule .rule_section + .rule_section {
    margin-top: 4.2vw;
  }
}
@media screen and (max-width: 768px) {
  main #rule .rule_section + .rule_section {
    margin-top: 8vw;
  }
}
main #rule .rule_section h2 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
main #rule .rule_section .r_txt01 {
  font-size: 26px;
  font-weight: 900;
  color: #000;
  text-align: center;
  line-height: 1.5em;
  margin-top: 0.5em;
}
@media screen and (max-width: 1200px) {
  main #rule .rule_section .r_txt01 {
    font-size: 2.2vw;
  }
}
@media screen and (max-width: 768px) {
  main #rule .rule_section .r_txt01 {
    width: 110%;
    margin-left: -5%;
    margin-right: -5%;
    font-size: 4.7vw;
    margin-top: 0.8em;
  }
}
main #rule .rule_section .r_txt01 .s-txt {
  font-size: 21px;
}
@media screen and (max-width: 1200px) {
  main #rule .rule_section .r_txt01 .s-txt {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  main #rule .rule_section .r_txt01 .s-txt {
    font-size: 4vw;
  }
}
main .btn01 {
  max-width: 418px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
}
@media screen and (max-width: 1200px) {
  main .btn01 {
    max-width: none;
    width: 34.8vw;
    margin-top: 6.7vw;
  }
}
@media screen and (max-width: 768px) {
  main .btn01 {
    max-width: none;
    width: 90.4vw;
    margin-top: 12.3vw;
  }
}

footer {
  background-color: #000;
}
footer .wrap01 {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 1200px) {
  footer .wrap01 {
    padding-top: 1.7vw;
    padding-bottom: 1.7vw;
  }
}
@media screen and (max-width: 768px) {
  footer .wrap01 {
    padding-top: 3.4vw;
    padding-bottom: 3.4vw;
  }
}
footer .wrap01 .copyright {
  font-size: 14px;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  footer .wrap01 .copyright {
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 768px) {
  footer .wrap01 .copyright {
    font-size: 2.7vw;
  }
}

.animate,
.animate2,
.animate3 {
  opacity: 1;
  transition-property: opacity, transform;
  transition-duration: 0.8s;
  transition-timing-function: ease-in-out;
  transform: translateY(0);
}

.animate.deactive,
.animate2.deactive,
.animate3.deactive {
  opacity: 0;
  transition: 0s;
  transform: translateY(30px);
}

#mv h1 img {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
  transform: scale(1.3);
}
#mv h1 img.act {
  opacity: 1;
  transform: scale(1);
}
#mv .chara01 img {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.6s;
  transition-timing-function: ease-in-out;
  transform: translateY(2%);
}
#mv .chara01 img.act {
  opacity: 1;
  transform: translateY(0);
}/*# sourceMappingURL=style.css.map */