#main-contents .kv {
  width: 100%;
  background: url(../images/top/kv-bg.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
  /*
  		a:hover
  		{
  			opacity: 1;
  		}
  */
}
#main-contents .kv__player-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 768px) {
  #main-contents .kv__player-list {
    grid-template-columns: repeat(8, 1fr);
  }
}
#main-contents .kv__player-list img {
  width: 100%;
  vertical-align: bottom;
}
#main-contents .kv a {
  display: block;
}
#main-contents .kv__logo {
  pointer-events: none;
  position: absolute;
  left: 17.8666666667%;
  width: 69.3333333333%;
}
@media (max-width: 767px) {
  #main-contents .kv__logo {
    top: 40%;
    transform: translateY(-50%);
  }
}
@media (min-width: 768px) {
  #main-contents .kv__logo {
    left: 37.5%;
    bottom: 10.641025641%;
    width: min((656 / 1920) * 100%, 656px);
  }
}
#main-contents .topics-section-wrap {
  background: #E2E2E2;
  padding: 100px 0;
}
#main-contents #topics ul li {
  background: white;
  border-radius: 10px;
  padding: 15px 20px;
  font-weight: bold;
  color: #5F5E5E;
}
@media (max-width: 767px) {
  #main-contents #topics ul li {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  #main-contents #topics ul li {
    display: flex;
    display: -webkit-flex;
    padding: 15px 22px;
  }
}
#main-contents #topics ul li:nth-child(n+4) {
  display: none;
}
#main-contents #topics ul li:not(:nth-child(n+3)) {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  #main-contents #topics ul li:not(:nth-child(n+3)) {
    margin-bottom: 6px;
  }
}
#main-contents #topics ul li div {
  color: #000000;
}
@media (max-width: 767px) {
  #main-contents #topics ul li div {
    margin-top: 4px;
  }
}
@media (min-width: 768px) {
  #main-contents #topics ul li div {
    margin-left: 2em;
  }
}
#main-contents .event-section {
  padding: 50px 0 90px;
  background: black url(../images/top/event-bg@sp.jpg) no-repeat right center;
  background-size: auto 100%;
  color: white;
}
@media (min-width: 768px) {
  #main-contents .event-section {
    padding: 118px 0 108px;
    background: black url(../images/top/event-bg.jpg) no-repeat right center;
    background-size: auto 100%;
  }
}
#main-contents .match-section {
  padding: 50px 0 90px;
  background: url(../images/top/match-bg@sp.jpg) no-repeat center center;
  background-size: cover;
  color: white;
}
@media (min-width: 768px) {
  #main-contents .match-section {
    padding: 118px 0 108px;
    background: url(../images/top/match-bg.jpg) no-repeat center center;
    background-size: cover;
  }
}
#main-contents .profile-section {
  padding: 50px 0 137px;
  background: url(../images/top/profile-section-bg.jpg) no-repeat center center;
  background-size: cover;
  color: white;
  position: relative;
}
@media (min-width: 768px) {
  #main-contents .profile-section {
    padding: min((232 / 1920) * 100vw, 232px) 0 min((262 / 1920) * 100vw, 262px);
  }
}
#main-contents .profile-section:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/top/profile-section-layer.png) no-repeat right bottom;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: 0;
  mix-blend-mode: screen;
}
@media (min-width: 768px) {
  #main-contents .profile-section:before {
    background-size: auto 100%;
  }
}
@media (min-width: 768px) and (max-width: 1920px) {
  #main-contents .profile-section:before {
    background-size: 55.8854166667% auto;
  }
}
#main-contents .profile-section .section__ttl:before {
  border-color: white;
}
#main-contents .profile-section__content {
  position: relative;
}
@media (min-width: 768px) {
  #main-contents .sns-area {
    display: flex;
    display: -webkit-flex;
  }
}
#main-contents .sns-area .button--white {
  width: 100%;
  height: 50px;
  border: solid 1px white;
  color: white;
  background: url(../images/icon/ico-arrow.svg) no-repeat right 20px center;
  border-radius: 10px;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  #main-contents .sns-area .button--white {
    margin-top: 50px;
  }
}
@media (min-width: 768px) {
  #main-contents .sns-area .button--white {
    width: min((240 / 1366) * 100vw, 240px);
  }
}
#main-contents .sns-area .button--white span {
  position: relative;
}
#main-contents .sns-area .button--white:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 100%;
  background: white;
  transition: width 150ms ease-in-out;
}
#main-contents .sns-area .button--white:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: url(../images/icon/ico-arrow.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
#main-contents .sns-area .button--white:hover {
  color: black;
  opacity: 1;
}
#main-contents .sns-area .button--white:hover:before {
  width: 110%;
}
#main-contents .sns-area .button--white:hover:after {
  background: url(../images/icon/ico-arrow-black.svg) no-repeat;
  background-size: contain;
}
#main-contents .sns-area .youtube-section {
  background: black;
  padding: 50px 20px 80px;
}
@media (min-width: 768px) {
  #main-contents .sns-area .youtube-section {
    padding: 60px 4.1666666667vw 90px;
    width: 59.8958333333%;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #main-contents .sns-area .youtube-section {
    width: 50%;
  }
}
#main-contents .sns-area .youtube-section__header {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 45px;
}
@media (min-width: 768px) {
  #main-contents .sns-area .youtube-section__header {
    margin-bottom: 32px;
  }
}
#main-contents .sns-area .youtube-section__ttl {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  font-weight: 900;
  color: white;
  line-height: 1;
  font-size: 2.25rem;
}
@media (min-width: 768px) {
  #main-contents .sns-area .youtube-section__ttl {
    font-size: min((48 / 1366) * 100vw, (48 / 16) * 1rem);
  }
}
#main-contents .sns-area .youtube-section__ttl:before {
  content: "";
  display: block;
  width: 40px;
  height: 28px;
  margin-right: 8px;
  background: url(../images/icon/ico-youtube.svg) no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  #main-contents .sns-area .youtube-section__ttl:before {
    width: 50px;
    height: 35px;
    margin-right: 10px;
  }
}
#main-contents .sns-area .youtube-section__video {
  position: relative;
  padding-top: 56.25%;
  border: solid 1px #FFFFFF;
  border-radius: 10px;
}
#main-contents .sns-area .youtube-section__video iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 10px;
}
#main-contents .sns-area .x-section {
  background: #E60100;
  padding: 50px 20px 80px;
}
@media (min-width: 768px) {
  #main-contents .sns-area .x-section {
    padding: 60px 5.9895833333vw 90px;
    width: 40.1041666667%;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #main-contents .sns-area .x-section {
    width: 50%;
  }
}
#main-contents .sns-area .x-section__header {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 45px;
}
@media (min-width: 768px) {
  #main-contents .sns-area .x-section__header {
    margin-bottom: 32px;
  }
}
#main-contents .sns-area .x-section__ttl {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  font-weight: 900;
  color: white;
  line-height: 1;
  font-size: 2.25rem;
}
@media (min-width: 768px) {
  #main-contents .sns-area .x-section__ttl {
    font-size: min((48 / 1366) * 100vw, (48 / 16) * 1rem);
  }
}
#main-contents .sns-area .x-section__ttl:before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  background: url(../images/icon/ico-x.svg) no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  #main-contents .sns-area .x-section__ttl:before {
    width: 40px;
    height: 40px;
    margin-right: 10px;
  }
}
#main-contents .sns-area .ig-section {
  background: #E60100 url(../images/top/ig-section-layer.png) center bottom / cover no-repeat;
  padding: 50px 20px 200px;
}
@media (min-width: 768px) {
  #main-contents .sns-area .ig-section {
    padding: 60px 5.9895833333vw 90px;
    width: 40.1041666667%;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #main-contents .sns-area .ig-section {
    width: 50%;
  }
}
#main-contents .sns-area .ig-section__header {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 45px;
}
@media (min-width: 768px) {
  #main-contents .sns-area .ig-section__header {
    margin-bottom: 32px;
  }
}
#main-contents .sns-area .ig-section__ttl {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  font-weight: 900;
  color: white;
  line-height: 1;
  font-size: 2.25rem;
}
@media (min-width: 768px) {
  #main-contents .sns-area .ig-section__ttl {
    font-size: min((48 / 1366) * 100vw, (48 / 16) * 1rem);
  }
}
#main-contents .sns-area .ig-section__ttl:before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  background: url(../images/icon/icon_ig.svg) no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  #main-contents .sns-area .ig-section__ttl:before {
    width: 40px;
    height: 40px;
    margin-right: 10px;
  }
}
#main-contents .fan-section {
  padding: 84px 0 108px;
  background: url(../images/top/fan-bg@sp.jpg) no-repeat center center;
  background-size: cover;
  color: white;
}
@media (min-width: 768px) {
  #main-contents .fan-section {
    padding: 118px 0 108px;
    background: url(../images/top/fan-bg.jpg) no-repeat center center;
    background-size: cover;
  }
}
@media (max-width: 767px) {
  #main-contents .banner-list li:not(:last-child) {
    margin-bottom: 18px;
  }
}
@media (min-width: 768px) {
  #main-contents .banner-list {
    display: grid;
    grid-template-columns: 22fr 31fr 26fr 31fr;
    gap: 33px;
  }
}
#main-contents .banner-list img {
  width: 100%;
}
#main-contents .fade {
  opacity: 0;
  transform: translateY(20%);
}
#main-contents .fade.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
