
/* --------------------------------------------------

キャンペーン

-------------------------------------------------- */
body{
  background-color: var(--color-green-bg);
  font-family: "hiragino-kaku-gothic-pron", sans-serif;

}

.main .kv {
  /* aspect-ratio: 480 / 860; */
  position: relative;
  z-index: 0;
}
.main .kv::before {
  content: "";
  background: url(../img/bg_kv_sp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: fixed;
  inset: 0;
  z-index: -2;
  min-height: 100dvh;
}
.main.kv-is-hidden .kv::before {
  opacity: 0;
}
/* .main .kv::after {
  content: "";
  background: url(../img/bg_kv.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.8;
} */
 .kv-wrapper::after {
    content: "";
    background: url(../img/bg_kv.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.8;
}
.campaign_contents_wrap{
  padding: 0;
  width: 80%;
  margin: 0 auto;
}

.heading_wrap{
  margin: 10% auto;
  width: 80%;
}

.heading{
  margin-top: -6%;
}
.img_kv_campaign {
  margin-top: 4vh;
  min-height: 0;
  object-fit: contain;
}
.wrapper>.contents>.campaign-top{
  color: #fff;
}

.wrapper>.contents>.contents_wrap{
  margin: 0 6%;
}

#campaign h3{
  text-align: center;
  font-size: 24px;
  margin-bottom: 10px;
  padding-inline: 2%;
}
#campaign section {
  position: relative;
}
.campaign_entry{
  background-image: url(../img/campaign_bg-1.png);
  background-repeat: no-repeat, repeat;
  background-size: 100% 100%;
  padding: 10% 0;
}
div#springGiCampaign {
  margin-bottom: 8%;
  padding-bottom: 8%;
  border-bottom: 2px solid #fff;
}
.club-net-img{
  margin-top: 10%;
}

.campaign_detail{
  background-image: url(../img/campaign_bg-2.png);
  background-repeat: no-repeat, repeat;
  background-size: 100% 100%;
  padding: 7% 0;
  margin-top: -1%;
}

.campaign_link{
  margin: 30px 0;
}
.campaign_link>div {
    background-color: #fff;
}
.campaign_link a{
  display: block;
  color: #009678;
  font-size: 1rem;
  padding-block: 10px;
  text-decoration: none;
  margin: 0 auto;
  margin-bottom: 20px;
  position: relative;
}

.campaign_link a::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 20px;
  height: 20px;
  margin-left: 8px;
  background: url(../img/campaign_arrow.svg) no-repeat center;
  background-size: contain;
}

.campaign_commingsoon{
  background-color: #009678;
  opacity: 0.85;
  text-align: center;
  padding: 5% 0;
  margin-bottom: 30px;
  font-size: 1.35rem;
}

.campaign_mission{
  margin: 10px 0;
}

.campaign_mission p{
  margin-bottom: 10px;
}

.period{
  background-color: #1c7453;
  padding-inline: 2%;
}

.campaign-item-header {
  margin-top: 4%;
}

@media screen and (min-width: 480px) {
  .main .kv::before {
  opacity: 0;
  pointer-events: none;
}
}
@media screen and (min-width: 1090px) {


.contents_wrap>div{
  padding: 0;
}

/* .campaig_link a{
  font-size: 1.35rem;
} */

.campaign_commingsoon{
  font-size: 2rem;
}

}