.p-campaign-title {
  position: relative;
}
@media screen and (min-width: 836px) {
  .p-campaign-title {
    padding-block: min(1.464vw, 22px);
  }
}
.p-campaign-title::before {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  z-index: 0;
}
@media screen and (min-width: 836px) {
  .p-campaign-title::before {
    background-image: url(/assets/img/campaign/subscribers_campaign/campaign_bg_pc.png);
    aspect-ratio: 590/207;
    top: calc(min(1.025vw, 15.4px) * -1);
  }
}
@media screen and (max-width: 835px) {
  .p-campaign-title::before {
    width: calc(100% + min(10.667vw, 44px));
    background-image: url(/assets/img/campaign/subscribers_campaign/campaign_bg_sp.png);
    aspect-ratio: 375/244;
    top: calc(min(5.333vw, 22px) * -1);
  }
}
.p-campaign-title picture {
  display: block;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 836px) {
  .p-campaign-title picture {
    width: min(53.075vw, 797.5px);
  }
}
.p-campaign-button {
  width: 100%;
  position: relative;
  background-color: #fff;
  color: #fa6a01;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  line-height: 1.15;
  border: #fa6a01 solid 2px;
  border-radius: 10px;
  -webkit-box-shadow: 0 2px 0 0 #fa6a01;
          box-shadow: 0 2px 0 0 #fa6a01;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
  position: relative;
  top: 0;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
  overflow: hidden;
}
.p-campaign-button::before {
  background-color: #fa6a01;
  color: #fff;
  font-family: "Font Awesome 6 Pro";
  font-weight: 700;
  content: "\f107";
  line-height: 1;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  z-index: 1;
}
@media screen and (min-width: 836px) {
  .p-campaign-button::before {
    width: clamp(20.4px, 1.757vw, 26.4px);
    height: clamp(20.4px, 1.757vw, 26.4px);
    font-size: clamp(11.9px, 1.025vw, 15.4px);
    right: clamp(17px, 1.464vw, 22px);
  }
}
@media screen and (max-width: 835px) {
  .p-campaign-button::before {
    width: clamp(11.9px, 3.733vw, 15.4px);
    height: clamp(11.9px, 3.733vw, 15.4px);
    font-size: clamp(8.5px, 2.667vw, 11px);
    right: clamp(12.75px, 4vw, 16.5px);
  }
}
@media screen and (min-width: 836px) {
  .p-campaign-button {
    max-width: clamp(497.25px, 42.826vw, 643.5px);
    height: clamp(47.6px, 4.1vw, 61.6px);
    font-size: clamp(13.6px, 1.171vw, 17.6px);
  }
  .p-campaign-button:hover {
    opacity: 1;
    background-color: #ffe200;
    -webkit-box-shadow: 0 0 0 #000000;
            box-shadow: 0 0 0 #000000;
    top: 2px;
  }
  .p-campaign-button:hover > img {
    opacity: 1;
  }
}
@media screen and (max-width: 835px) {
  .p-campaign-button {
    max-width: clamp(284.75px, 89.333vw, 368.5px);
    height: clamp(34px, 10.667vw, 44px);
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    margin-top: min(4.267vw, 17.6px);
  }
}
.p-campaign-banner {
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 836px) {
  .p-campaign-banner {
    width: min(42.826vw, 643.5px);
    margin-top: min(1.464vw, 22px);
  }
}
@media screen and (max-width: 835px) {
  .p-campaign-banner {
    width: 100%;
    margin-top: min(5.333vw, 22px);
  }
}
.p-campaign-details {
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 836px) {
  .p-campaign-details {
    width: min(61.859vw, 929.5px);
    margin-top: min(1.757vw, 26.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-campaign-details {
    width: 100%;
    margin-top: min(5.333vw, 22px);
  }
}