/* lp-00056: Figma 4789:2 (SP), 4834:9809 (PC). */
.flow-container.sp_only .slick-prev::before,
.flow-container.sp_only .slick-next::before,
.customer-voice-slider .slick-prev::before,
.customer-voice-slider .slick-next::before {
  color: #ccc;
}
.flow-container.sp_only .slick-prev,
.customer-voice-slider .slick-prev { left: -25px; }
.flow-container.sp_only .slick-next,
.customer-voice-slider .slick-next { right: -25px; }
.plan-location {
  padding: 20px 15px;
  background: #fff;
}
.plan-location .location-btn {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  width: fit-content;
  max-width: 100%;
  min-height: 36px;
  margin: 0 auto;
  padding: 10px;
  border: 1px solid var(--area-color);
  background: var(--area-background);
  color: #00233a;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}
.plan-location [data-plan-key="light"] {
  --area-color: #f95e80;
  --area-background: #fff2f5;
}
.plan-location [data-plan-key="standard"] {
  --area-color: #4ac278;
  --area-background: #f2fff7;
}
.plan-location [data-plan-key="premium"] {
  --area-color: #33cae8;
  --area-background: #f2fcff;
}
.plan-location .location-btn::after {
  content: "";
  position: static;
  flex: 0 0 9.379px;
  width: 9.379px;
  height: 10.488px;
  background: url(area-arrow.svg) center / contain no-repeat;
  transform: none;
}
.plan-location .location-btn.active { display: flex; }
.hc-product-lp-links--premium {
  max-width: 750px;
  gap: 30px;
  padding: 21px 15px;
}
.hc-product-lp-links__panel { order: 0; }
.hc-product-lp-links__panel--premium { order: 1; }
.hc-product-lp-links .hc-product-lp-links__button {
  width: auto;
  min-width: 252px;
  border-radius: 4px;
  box-shadow: none;
}
.satisfaction-renewal > h2 > span:first-of-type { font-size: 4.2rem; }
.satisfaction-technique-label {
  width: fit-content;
  margin: -14rem auto 4rem;
  padding: 1rem 2rem;
  border-left: 1.2rem solid #96bff9;
  background: #5897f0;
  box-shadow: 0 6px 2px #0002;
  color: #fff;
  font-size: 2.7rem;
  line-height: 1.33;
  transform: rotate(-2.65deg);
}
.satisfaction-renewal .satisfaction-technique-text { margin: 3rem auto 2rem; }
.satisfaction-renewal .satisfaction-technique-before-after { margin: 2rem auto 0; }
.satisfaction-renewal .satisfaction-technique-before-after2 { display: none; }
.quality-renewal > h2 { font-size: 6rem; line-height: 1.8; }
.quality-renewal .quality-detail-title {
  display: flex;
  align-items: center;
  padding: 5rem 2rem 2rem 22rem;
  font-size: 4rem;
}
.quality-renewal .quality-detail-content { padding: 4rem 5rem 7rem; }
.quality-renewal .quality-detail-content > p { width: 100%; }
.quality-renewal .quality-detail-img {
  height: 40rem;
  border-radius: 2rem;
  object-fit: cover;
  margin-top: 6.7rem;
}
.campaign-renewal { padding: 0 0 50px; }
.campaign-renewal > img { width: 86rem; height: 44.4rem; object-fit: cover; border-radius: 16px; }
.point-renewal+.point { padding-top: 20px; padding-bottom: 60px; }
.point-renewal { padding-bottom: 0; }
.point-renewal .point-detail-container { width: 75.8rem; }
.point-renewal .point-detail-content { padding: 2rem 1rem 4rem; border-width: 2.6px; }
.point-renewal .point-detail-content > p { font-size: 2.8rem; line-height: 1.4; }
.point-renewal .point-detail-content > p > span { font-size: 4.7rem; }
.point-renewal .point-detail-content > .annotaion { font-size: 2.2rem; }
.point-renewal .point-detail-content > img, .point-renewal .point-detail-content > picture img { width: 56.6rem; height: 30.2rem; object-fit: cover; border-radius: 2rem; }
.option h2 { font-size: 4.8rem; line-height: 1.3; text-align: unset; margin: 0 auto; width: 85%;     max-width: 670px; }
.option-cart-note { margin-top: 24px; }
@media (max-width: 768px) {
  .hc-product-lp-links--premium { max-width: 375px; gap: 17px; padding: 21px 15px; }
  .hc-product-lp-links .hc-product-lp-links__button { min-width: 252px; font-size: 16px; }
  .satisfaction-renewal > h2 > span:first-of-type { font-size: 2.1rem; }
  .satisfaction-renewal .satisfaction-technique-container { width: 33.5rem; padding: 3.5rem 0 1.5rem; }
  .satisfaction-technique-label { margin: -5.5rem auto 2.5rem; padding: .5rem; border-left-width: .6rem; font-size: 1.33rem; }
  .satisfaction-renewal .satisfaction-technique-text { font-size: 1.5rem; margin: 1.5rem auto 2rem; line-height: 2; }
  .satisfaction-renewal .satisfaction-technique-text > span { font-size: 2.345rem; }
  .satisfaction-renewal .satisfaction-technique-before-after { width: 33.5rem; margin: 2rem auto 0; }
  .quality-renewal > h2 { font-size: 3.5rem; }
  .quality-renewal > h2 > span { font-size: 2.3268rem; }
  .quality-renewal .quality-detail-container { margin-top: 2rem; }
  .quality-renewal .quality-detail-title {
    min-height: 7.3rem;
    padding: 1.3rem 0 1.3rem 7.8rem;
    font-size: 1.7rem;
  }
  .quality-renewal .quality-detail1 .quality-detail-title { font-size: 1.8rem; }
  .quality-renewal .quality-detail-content { padding: 1.6rem 1.3rem 2rem; }
  .quality-renewal .quality-detail-content > p { font-size: 1.4rem; line-height: 1.4; }
  .quality-renewal .quality-detail-img { width: 25rem; height: 13.4rem; margin-top: 2rem; border-radius: 1rem; }
  .quality-renewal .quality-detail:not(:first-of-type) { margin-top: 3rem; }
  .campaign-renewal { padding: 1rem 0 3.5rem; }
  .campaign-renewal > h3:first-of-type { font-size: 1.8rem; }
  .campaign-renewal > h3:nth-of-type(2) { font-size: 3.6rem; }
  .campaign-renewal > h3:nth-of-type(2) > span { font-size: 3.15rem; }
  .campaign-renewal > h3:last-of-type { font-size: 1.8rem; }
  .campaign-renewal > img { width: 33.6rem; height: 17.4rem; border-radius: .8rem; }
  .point-renewal+.point { padding: 4rem 0 30px; }
  .point-renewal .point-detail-container { width: 33.5rem; }
  .point-renewal .point-detail-content { padding: 1rem 0 2.2rem; border-width: 1.65px; }
  .point-renewal .point-detail-content > p { font-size: 1.4rem; }
  .point-renewal .point-detail-content > p > span { font-size: 1.8rem; }
  .point-renewal .point-detail-content > .annotaion { font-size: 1.1rem; }
  .point-renewal .point-detail-content > img, .point-renewal .point-detail-content > picture img { width: 25rem; height: 13.4rem; margin-top: 1.5rem; border-radius: 1rem; }
  .option h2 { font-size: 2.6rem; }
}
.satisfaction-renewal > h2 {
  width: fit-content;
  max-width: calc(100% - 40px);
  margin-inline: auto;
  font-family: "Noto Sans JP", sans-serif;
}
.satisfaction-renewal > h2 > span:first-of-type,
.satisfaction-renewal > h2 > span:last-of-type { font-family: inherit; }
.satisfaction-comparison { display: block; width: 75rem; margin: 3rem auto 0; }
.satisfaction-comparison img { width: 100%; height: auto; }
.quality-renewal { background: #fff; }
.quality-renewal .quality-detail-content { background: #fff; }
.quality-renewal .quality-detail-title { text-align: left; }
.quality-renewal > h2 { margin-bottom: 2rem; }
@media (min-width: 769px) {
  .mv picture { display: block; margin: auto; }
  .point-renewal .point-detail-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
    width: 85%;
    max-width: 1140px;
  }
  .point-renewal .point-detail {
    display: flex;
    flex-direction: column;
    margin-top: 0;
  }
  .point-renewal .point-detail-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: unset;
    padding: 3.5rem 3rem 2rem;
    font-size: 2.4rem;
  }
  .point-renewal .diagonal-double-line-white::before,
  .point-renewal .diagonal-double-line-white::after { width: 1.8rem; height: 2.7rem; }
  .point-renewal .diagonal-double-line-white::before { left: -2.5rem; }
  .point-renewal .diagonal-double-line-white::after { right: -2.5rem; }
  .point-renewal .point-detail-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem 1.5rem 3rem;
  }
  .point-renewal .point-detail-content > p { font-size: 2.2rem; }
  .point-renewal .point-detail-content > p > span { font-size: 3rem; }
  .point-renewal .point-detail-content > .annotaion { margin-top: 0; font-size: 1.7rem; }
  .point-renewal .point-detail-content > picture { max-width: 100%; margin-top: auto !important; }
  .point-renewal .point-detail-content > img,
  .point-renewal .point-detail-content > picture img {
    width: 100%;
    height: auto;
    aspect-ratio: 566 / 302;
    margin-top: auto;
    border-radius: 1rem;
  }
  .point-renewal .point-detail-content > picture img { margin-top: 0; }
  .quality-renewal .quality-detail-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5rem 3rem;
  }
  .quality-renewal .quality-detail {
    display: flex;
    flex-direction: column;
    width: calc((100% - 6rem) / 3);
    margin-top: 0;
  }
  .quality-renewal .quality-detail-title {
    flex-shrink: 0;
    min-height: 12rem;
    aspect-ratio: 335 / 83;
    padding: 1.5rem 1.2rem 1.5rem 11.5rem;
    background-image: url(../img/sp/quality-detail-title-bg.png);
    font-size: clamp(10px, 1.72413vw, 19px);
    border-radius: 15px 15px 0 0;
  }
  .quality-renewal .quality-detail-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 2rem 2rem 3rem;
    border-width: 3px;
  }
  .quality-renewal .quality-detail-content > p {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .quality-renewal .quality-detail-content > picture {
    display: block;
    margin-top: auto;
    padding-top: 2rem;
  }
  .quality-renewal .quality-detail-img {
    width: 100%;
    height: auto;
    aspect-ratio: 250 / 134;
    margin-top: 0;
    border-radius: 1rem;
  }
}
@media (max-width: 768px) {
  .satisfaction-comparison { width: 32.2rem; margin: 2rem auto 0; }
  .quality-renewal > h2 { font-size: 3.5rem; line-height: 1.2; }
  .quality-renewal > h2 > span { font-size: 2.3268rem; display: inline-block; padding-bottom: 10px; }
  .quality-renewal .quality-detail-title { display: block; align-content: center; }
  .quality-renewal .quality-detail-content { min-height: 26.8rem; }
}

.campaign-renewal > h3:first-of-type { margin-top: 0; line-height: 1.4; }
.campaign-renewal > .underline-yellow { isolation: isolate; }
.campaign-renewal > .underline-yellow::before {
  left: -2%;
  bottom: -.1em;
  width: 104%;
}
.campaign-renewal > h3:last-of-type { line-height: 1.3; }
@media (max-width: 768px) {
  .campaign-renewal > h3:nth-of-type(2) { margin-top: .6rem; line-height: 1.3; }
  .campaign-renewal > h3:last-of-type { margin-top: 2rem; }
  .campaign-renewal > img { margin-top: 1.2rem; }
  .campaign-renewal > .underline-yellow::before {
    bottom: -.3em;
  }
}
