@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
/* 2024best4
-------------------------------------- */
.CP__btn--item {
  border-color: #e5004a !important;
}
.CP__btn--item a {
  color: #e5004a;
  border-color: #e5004a !important;
}
.CP__btn--item a:hover {
  background: #e5004a;
}

.campaign {
  position: relative;
  padding: 80px 0 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .campaign {
    padding: 60px 0 0;
  }
  .campaign img {
    width: 100%;
  }
}
.campaign .followBtn {
  position: fixed;
  top: 0;
  right: 0;
  margin-top: 49.6017378711vw;
}
@media screen and (max-width: 768px) {
  .campaign .followBtn {
    width: 18.4vw;
    margin-top: 168.6666666667vw;
  }
}
.campaign .followBtn.fixed {
  top: auto;
  bottom: 140px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .campaign .followBtn.fixed {
    bottom: 126px;
  }
}
.campaign .mainvisual {
  position: relative;
}
.campaign .mainvisual img {
  width: 100%;
}
.campaign .mainvisual h1 {
  position: absolute;
  top: 0;
  left: 50%;
  width: 72.5561187545vw;
  margin: 4.923968139vw 0 0 -36.2780593773vw;
}
@media screen and (max-width: 768px) {
  .campaign .mainvisual h1 {
    left: 0;
    width: 100vw;
    margin: 7.2vw 0 0;
  }
}
.campaign .mainvisual p {
  position: absolute;
  top: 0;
  left: 50%;
  width: 25.0543084721vw;
  margin: 23.9681390297vw 0 0 -30.4851556843vw;
}
@media screen and (max-width: 768px) {
  .campaign .mainvisual p {
    top: 132.8vw;
    left: 0;
    width: 100vw;
    margin: 0;
  }
}
.campaign .step {
  margin: 102px 0 120px;
}
@media screen and (max-width: 768px) {
  .campaign .step {
    margin: 17.8666666667vw 0 21.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .campaign .step__title {
    width: 81.8666666667vw;
    margin: 0 auto;
  }
}
.campaign .step__intro {
  margin: 40px 0 94px;
}
@media screen and (max-width: 768px) {
  .campaign .step__intro {
    width: 81.8666666667vw;
    margin: 11.0666666667vw auto 11.7333333333vw;
  }
}
.campaign .step__step3 {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .campaign .step__step3 {
    display: block;
    width: 88.2666666667vw;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .campaign .step__step3 li:nth-child(2) {
    margin: 8.4vw 0 11.3333333333vw;
  }
}
.campaign .step__icon {
  margin: 38px 0 24px;
}
@media screen and (max-width: 768px) {
  .campaign .step__icon {
    width: 14.9333333333vw;
    margin: 10.1333333333vw auto 10.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .campaign .step__plus {
    width: 88.2666666667vw;
    margin: 0 auto;
  }
}
.campaign .set__title {
  margin-bottom: -4px;
}
@media screen and (max-width: 768px) {
  .campaign .set__title {
    width: 91.7333333333vw;
    margin: 0 auto 4.8vw;
  }
}
.campaign .set__list li {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .campaign .set__list li {
    width: 81.8666666667vw;
    margin: 0 auto 2.6666666667vw;
  }
}
.campaign .set__notes {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .campaign .set__notes {
    width: 78.9333333333vw;
    margin: 5.3333333333vw auto 0;
  }
}
.campaign .column {
  max-width: 925px;
  margin: 0 auto;
  background: url(../img/perfect7_line.png) repeat-x left top/40px auto;
}
@media screen and (max-width: 768px) {
  .campaign .column {
    background-size: 10.6666666667vw auto;
  }
}
.campaign .column .perfect7 {
  margin: 72px 0 -50px;
  padding-top: 72px;
}
@media screen and (max-width: 768px) {
  .campaign .column .perfect7 {
    width: 93.3333333333vw;
    margin: 21.3333333333vw -0.6666666667vw -6.6666666667vw;
    padding-top: 13.6vw;
  }
}
.campaign .column .CP__btn--item {
  border-color: #c9161d !important;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .campaign .column .CP__btn--item {
    margin-bottom: 5.3333333333vw;
  }
}
.campaign .column .CP__btn--item a {
  color: #c9161d;
  border-color: #c9161d !important;
}
.campaign .column .CP__btn--item a:hover {
  color: #fff;
  background: #c9161d;
}