#top_campaign {
  position: relative;
  padding-top: 158px;
}

#top_campaign ul,
#top_campaign h3,
#top_campaign h4,
#top_campaign p {
  /* margin: 0; */
}

#top_campaign ul,
#top_campaign li {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

#top_campaign .top_campaign-wrapper {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

#top_campaign picture img {
  border: #fff solid 6px;
  border-radius: 8px;
}

#top_campaign .campaign-box {
  padding-top: 60px;
  max-width: 1037px;
  margin: 0 auto 43px;
}

#top_campaign .campaign-title {
  margin: 0 auto 20px;
}

#top_campaign .campaign-box h4 {
  text-align: center;
}

#top_campaign .cp_text {
  text-align: left;
  color: #fff;
  font-weight: 900;
  padding: 30px 0 70px;
  letter-spacing: -0.05em;
  line-height: 1.7;
    width: fit-content;
  margin: 0 auto;
}

#top_campaign .cp_text2 {
  text-align: center;
  color: #fff;
  font-weight: 900;
  padding: 31px 0 0;
}

.fs_24 {
  font-size: min(4.0vw, 24px);
}

.fs_20 {
  font-size: min(3.2vw, 20px);
}

.fs_18 {
  font-size: min(3.0vw, 18px);
}

#top_campaign .prize-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 53px;
  row-gap: 33px;
  margin: 50px 0 0;
}

#top_campaign .prize {
  width: calc((80% - 53px) / 3);
}

/* #top_campaign .row_3 {
  justify-content: space-between;
  padding-top: 48px;
  padding-bottom: 33px;
  max-width: 885px;
  margin: 0 auto;
}

#top_campaign .row_2 {
  justify-content: center;
  padding-bottom: 50px;
  gap: 52px;
} */

#top_campaign .prize-img img {
  width: 100%;
}

#top_campaign .top-btn-link {
  display: inline-block;
}

/* レースライブ */
#top_campaign .racelive_wrapper {
  padding-top: 96px;
  max-width: 1036px;
  margin: 0 auto;
}

#top_campaign .racelive_bg {
  background: repeating-linear-gradient(140deg, #fff9df, #fff9df 10px, #ffffff 10px, #ffffff 20px);
  border: #EBD12C solid 8px;
  border-radius: 10px;
  padding: 41px 60px 44px;
}

#top_campaign .racelive_wrapper h4 {
  padding-bottom: 41px;
}

#top_campaign .racelive_wrapper p {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  padding: 32px 0 12px;
  letter-spacing: -0.05em;
}

@media (max-width: 1199px) {
  #top_campaign {
    padding-top: 10%;
  }

  #top_campaign img {
    /* width: 100%; */
  }

  #top_campaign .top_campaign-wrapper {
    padding: 3% 0 0;
    overflow: hidden;
  }

  #top_campaign .top-title {
    margin-bottom: 18%;
  }

  #top_campaign .campaign-box {
    margin-bottom: 4%;
    padding: 6% 8% 0;
  }



  #top_campaign .campaign-title {
    margin-bottom: 2%;
  }

  #top_campaign .campaign-box h4 {
    margin: auto;
    margin-bottom: 0;
  }


  #top_campaign .cp_text {
    padding: 3% 0 6%;
  }

  #top_campaign h5 img {
    width: 15%;
  }

  #top_campaign .prize-flex {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4vw;
    padding-inline: 6%;
    row-gap: 3vw;
    margin: 6% 0 0;
  }

  #top_campaign .prize-flex .prize {
    width: calc(50% - 4svw);
    max-width: 253px;
  }

  #top_campaign .cp_text2 {
    padding: 2% 0 0;
  }

  #top_campaign .top-btn-link {
    max-width: none;
    width: 44vw;
  }

  #top_campaign .racelive_wrapper {
    padding: 7% 8% 0;
  }

  #top_campaign .racelive_bg {
    background: repeating-linear-gradient(140deg, #fff9df, #fff9df 10px, #ffffff 10px, #ffffff 20px);
    border: #EBD12C solid 6px;
    border-radius: 10px;
    padding: 3% 5% 4%;
  }

  #top_campaign .racelive_wrapper h4 {
    padding-bottom: 3%;
  }

  #top_campaign .racelive_wrapper h4 img {
    width: 61%;
  }

  #top_campaign .racelive_wrapper p {
    font-size: min(3.6vw, 20px);
    padding: 3% 0 2%;
    letter-spacing: normal;
  }
}

@media (max-width: 767px) {
  #top_campaign .top_campaign-wrapper {
    /* padding: 5% 0 10%;
    overflow: hidden; */
  }

  #top_campaign .campaign-box {
    margin-bottom: 3%;
    padding: 6% 4% 0;
  }

  /* .fs_24 {
    font-size: clamp(20px, 3vw, 24px);
  }

  .fs_20 {
    font-size: clamp(18px, 3vw, 20px);
  }

  .fs_18 {
    font-size: clamp(16px, 3vw, 18px);
  } */

  #top_campaign .cp_text2 {
    padding: 1% 0 0;
  }

  #top_campaign .racelive_wrapper {
    padding: 7% 6% 0;
  }
}


/* 動画埋込 */
.youtube-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 */
  cursor: pointer;
  overflow: hidden;
}

.youtube-wrap img,
.youtube-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.youtube-wrap img {
  object-fit: cover;
  /* ↑ 黒帯対策 */
  transition: opacity 0.3s;
}

/* 節間中のみホバー効果 */
.youtube-wrap:not(.coming-soon):hover img {
  opacity: 0.7;
}

/* coming soon時はクリック不可 */
.coming-soon {
  cursor: default;
}