.fs-c-productList{
  display: none; /* 商品グループエリア（システムパーツグループ） */
}

/* メインイメージ */
.mainImage{
  overflow: hidden;
  position: relative;
}
.mainImage .mainImageInner{
  display: flex;
  width: 100vw;
}
.mainImage .mainImageInner picture{
  min-width: 287.5%;
}
.mainImage .mainImageInner picture img{
  width: 100%;
}
.mainImage .mainImageInner picture:first-child{
  animation: loop 100s -50s linear infinite;
}
.mainImage .mainImageInner picture:last-child{
  animation: loop2 100s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.mainImage h1{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
  z-index: 1;
  text-align: center;
}
.mainImage h1 img{
  max-width: unset;
}
.mainImage h1 img.logo{
  width: 54vw;
  margin-left: 2.5vw;
}
.mainImage h1 img.text{
  width: 58vw;
  margin-top: 6vw;
}

/* 導入 */
.intro{
  background-color: #000;
  text-align: center;
  padding: 14vw 4vw 18vw 4vw;
  position: relative;
}
.intro::before{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
  content: '';
  display: block;
  width: 1px;
  height: 9vw;
  background-color: #fff;
}
.intro::after{
  position: absolute;
  bottom: -9vw;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
  content: '';
  display: block;
  width: 1px;
  height: 9vw;
  background-color: #000;
}
.intro .textArea{
  margin-bottom: 9vw;
}
.intro .textArea p{
  color: #fff;
  font-size: 2.9vw;
  letter-spacing: 0.3vw;
  line-height: 2.4;
}
.intro .textArea p + p{
  margin-top: 6vw;
}
.intro img.logo{
  width: 5vw;
}
.intro p.copy{
  color: #fff;
  font-size: 3.3vw;
  font-weight: bold;
  letter-spacing: 0.4vw;
  line-height: 1;
  margin: 4.5vw 0 0.5vw 0;
}
.intro img.text{
  width: 68vw;
}

/* アスリートリスト */
.athleteList{
  overflow: hidden;
  padding: 21vw 7vw 25vw 7vw;
}
.athleteList .athleteListInner p.title{
  margin: 0;
  line-height: 0;
}
.athleteList .athleteListInner p.title span{
  display: block;
  margin-bottom: 18px;
  text-indent: 0;
}
.athleteList .athleteListInner p.title span img{
  width: 21vw;
}
.athleteList .athleteListInner p.title > img{
  margin-left: -1vw;
  width: 75vw;
}
.athleteList .athleteListInner > p{
  margin: 30px 0;
  text-indent: -0.4vw;
  font-size: 3.3vw;
  letter-spacing: 0.1vw;
}
.athleteList .swiper{
  overflow: visible;
}
.athleteList .swiper .swiper-button-prev,
.athleteList .swiper .swiper-button-next{
  top: unset;
  bottom: -12%;
  z-index: 2;
  width: 4.5vw;
  height: 5vw;
  color: #000;
}
.athleteList .swiper .swiper-button-prev{
  left: 14%;
}
.athleteList .swiper .swiper-button-next{
  right: 14%;
}
.athleteList .swiper .swiper-button-prev::after,
.athleteList .swiper .swiper-button-next::after{
  font-size: 4.5vw;
}
.athleteList .swiper .swiper-pagination{
  bottom: -12%;
  z-index: 1;
}
.athleteList .swiper .swiper-pagination .swiper-pagination-bullet{
  opacity: 1;
  width: 8px;
  height: 8px;
  background: #000;
  margin: 0 2.8vw;
  vertical-align: middle;
}
.athleteList .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
  width: 15px;
  height: 15px;
  background: transparent;
  border: solid 1px #000;
  position: relative;
}
.athleteList .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after{
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background: #000;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.athleteList .swiper .swiper-wrapper .swiper-slide .textArea{
  text-align: right;
  margin-top: 4vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name{
  text-align: left;
  margin-bottom: 4vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name p.jobTitle{
  font-size: 3.5vw;
  font-weight: 500;
  letter-spacing: 0.2vw;
  padding-left: 1.5vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name p.jp{
  font-size: 5.5vw;
  font-weight: bold;
  letter-spacing: 0.4vw;
  padding-left: 1.5vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name p.jp span{
  font-size: 55%;
  margin-left: 2vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name::after{
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  margin-top: 1.5vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea > p{
  text-align: left;
  font-size: 3.5vw;
  font-weight: 500;
  letter-spacing: 0.2vw;
  line-height: 1.8;
  padding-left: 1.5vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea a{
  color: #fff;
  font-size: 2.6vw;
  font-weight: 400;
  letter-spacing: 0.3vw;
  background-color: #000;
  display: inline-flex;
  align-items: center;
  padding: 2vw 2.5vw;
  text-decoration: none !important;
  margin-top: 3vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea a img{
  width: 18.5vw;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea a img.hover{
  display: none;
}
.athleteList .swiper .swiper-wrapper .swiper-slide .textArea a::after{
    content: '';
    display: block;
    width: 3.2vw;
    height: 1.5vw;
    background-image: url('../images/common/link-icon_01.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 1vw;
}

@media screen and (min-width: 750px){
  /* メインイメージ */
  .mainImage .mainImageInner{
    transform: translate(-5.5%, 0);
  }
  .mainImage .mainImageInner picture{
    min-width: 174%;
  }
  .mainImage .mainImageInner picture:first-child{
    animation: loop 140s -70s linear infinite;
  }
  .mainImage .mainImageInner picture:last-child{
    animation: loop2 140s linear infinite;
  }
  .mainImage h1{
    display: flex;
    align-items: center;
    gap: 2.85vw;
  }
  .mainImage h1 img.logo{
    width: 25.6vw;
  }
  .mainImage h1 img.text{
    width: 30.5vw;
    margin-top: -3.1vw;
  }
  
  /* 導入 */
  .intro{
    padding: 7vw 0 7.7vw 0;
  }
  .intro::before{
    height: 3.1vw;
  }
  .intro::after{
    bottom: -3.1vw;
    height: 3.1vw;
  }
  .intro .textArea{
    margin-bottom: 3.1vw;
  }
  .intro .textArea p{
    font-size: 1.14vw;
    letter-spacing: 0.15vw;
    line-height: 2.3;
  }
  .intro .textArea p + p{
    margin-top: 1.55vw;
  }
  .intro img.logo{
    width: 2.23vw;
  }
  .intro p.copy{
    font-size: 1.34vw;
    letter-spacing: 0.15vw;
    margin: 2.05vw 0 1.05vw 0;
  }
  .intro img.text{
    width: 26.5vw;
  }
  
  /* アスリートリスト */
  .athleteList{
    padding: 10.7vw 10.2vw 9vw 10.2vw;
  }
  .athleteList .athleteListInner{
    display: flex;
    gap: 4.65vw;
  }
  .athleteList .athleteListInner p.title span img{
    width: 8.7vw;
  }
  .athleteList .athleteListInner p.title > img{
    width: 31.7vw;
    margin-left: -0.6vw;
  }
  .athleteList .athleteListInner > p{
    margin: 0;
    margin-top: 1.3vw;
    font-size: 1.4vw;
    text-indent: 0;
    line-height: 1.9;
  }
  .athleteList .swiper{
    margin-top: 5vw;
  }
  .athleteList .swiper .swiper-wrapper{
    flex-wrap: wrap;
    gap: 3.8vw;
    row-gap: 9.15vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide{
    width: calc((100% - 7.6vw) / 3);
  }
  .athleteList .swiper .swiper-button-prev,
  .athleteList .swiper .swiper-button-next,
  .athleteList .swiper .swiper-pagination{
    display: none;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea{
    margin-top: 2vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name{
    margin-bottom: 1.3vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name p.jobTitle{
    font-size: 1.3vw;
    letter-spacing: 0;
    padding-left: 0.4vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name p.jp{
    font-size: 2.15vw;
    letter-spacing: 0.15vw;
    padding-left: 0.4vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name p.jp span{
    font-size: 60%;
    margin-left: 0.4vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea .name::after{
    margin-top: 1vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea > p{
    font-size: 1.3vw;
    letter-spacing: 0.1vw;
    padding-left: 0.4vw;
    height: calc(1em * 1.8 * 3);
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea a{
    font-size: 1.13vw;
    letter-spacing: 0.1vw;
    margin-top: 1.3vw;
    padding: 0.53vw 0.8vw;
    border: solid 1px #fff;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea a img{
    width: 7vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea a::after{
    width: 1.24vw;
    height: 0.51vw;
    margin-left: 0.44vw;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea a:hover{
    opacity: 1;
    color: #000;
    background-color: #fff;
    border: solid 1px #000;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea a:hover::after{
    background-image: url('../images/common/link-icon_01-hover.png');
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea a:hover img{
    display: none;
  }
  .athleteList .swiper .swiper-wrapper .swiper-slide .textArea a:hover img.hover{
    display: block;
  }
}