@charset "UTF-8";

main .inner {
  width: 1000px;
  padding: 0;
}
main .inner img {
  display: block;
  line-height: 1;
}
#page-spring-3buy1get .page-contents {
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  main .inner {
    width: 100%;
    padding: 0 0;
  }
}

/*------------------------------------------------------
  選べる3タイプ
------------------------------------------------------*/
.type {
  position: relative;
}
.type .type__link {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 936px;
}
.type .type01 {
  top: 262px;
}
.type .type02 {
  bottom: 426px;
}
.type .type03 {
  bottom: 78px;
}
@media (width < 768px) {
  .type .type__link {
    width: 93.6vw;
  }
  .type .type01 {
    top: 26.2vw;
  }
  .type .type02 {
    bottom: 42.6vw;
  }
  .type .type03 {
    bottom: 7.8vw;
  }
}

/*------------------------------------------------------
  CTA
------------------------------------------------------*/
.cta-tab {
  display: flex;
  flex-wrap: wrap;
  margin-top: -128px;
}
.cta-tab > label {
  position: relative;
  display: block;
  flex: 0 0 50%;
  order: 1;
  cursor: pointer;
  line-height: 0;
}
.cta-tab > label img {
  display: block;
  width: 100%;
  height: auto;
}
.cta-tab > label .best-buy {
  position: absolute;
  top: -47px;
  left: 0;
  width: 224px;
  height: 226px;
  z-index: 1;
}
.cta-tab input {
  display: none;
}
.cta-tab > .tab__content {
  position: relative;
  display: none;
  width: 100%;
  order: 2;
}
.cta-tab > label:has(input:checked) + .tab__content {
  display: block;
}
.btn-cart {
  position: absolute;
  bottom: 332px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  cursor: pointer;
}

@media (width < 768px) {
  .cta-tab {
    margin-top: -12.8vw;
  }
  .cta-tab > label .best-buy {
    top: -4.7vw;
    width: 22.4vw;
    height: 22.6vw;
  }
  .btn-cart {
    bottom: 33.2vw;
  }
}

/*------------------------------------------------------
  注意事項
------------------------------------------------------*/
.attention {
  border: 1px solid #333333;
  margin-top: 40px;
  padding: 40px;
}
.attention__heading {
  margin: 0 0 1em;
  font-size: 3.0rem;
  font-weight: 700;
  text-align: center;
}
.attention__text {
  line-height: 1.7;
}
.attention__text a {
  color: #B9647B;
}
.attention__text p {
  margin-top: 1em;
}
.attention__text ul {
  margin: 1em 0 0 1em;
}
.attention__text li::before {
  content: "・";
  display: inline-block;
  text-indent: -1em;
}

@media screen and (max-width: 820px) {
  /* 注意事項 */
  .attention {
    padding: 3vw 2vw;
    margin: 4vw 2vw;
  }
  .attention__heading {
    margin: 0 0 0.5em;
    font-size: 2.4rem;
  }
}