/* --------------------
  .service_top_mv_img
-------------------- */
.service_top_mv_block .inner {
  position: relative;
}
.service_top_mv_img {
  background-image: url("/asset/images/campaign/top/kv_bg.png");
  background-position: clamp(-308px, -230px + (-308 - -230) * (100vw - 668px) / 932, -230px) clamp(-251px, -81px + (-251 - -81) * (100vw - 668px) / 932, -81px);
  background-size: clamp(600px, 600px + (1340 - 600) * (100vw - 668px) / 932, 1340px);
}
.service_top_mv_title_block::after {
  content: "";
  position: absolute;
  right: clamp(20px,calc(20px + calc(50 - 20) * (100vw - 668px) / 632),50px);
  bottom: -60px;
  width:  clamp(90px,calc(90px + calc(155 - 90) * (100vw - 668px) / 632),155px);
  height:  clamp(90px,calc(90px + calc(155 - 90) * (100vw - 668px) / 632),155px);
  background-image: url("/asset/images/common/decoration_flag.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width : 667px) {
  .service_top_mv_block {
    margin-bottom: 90px;
  }

  .service_top_mv_img {
    background-position: center right 28%;
    background-size: 690px;
  }

  .service_top_mv_title_block::after {
    left: 40px;
    bottom: -53px;
    width: 89px;
    height: 85px;
  }
}

/* --------------------
  .pickup
-------------------- */
.pickup {
  width: 100%;
  margin: 5px auto 87px;
}

.pickup .inner .pickup_section:not(:first-of-type) {
  margin-top: 120px;
}

.pickup .inner .pickup_section .pickup_heading {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
}

.pickup .inner .pickup_section .pickup_list {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(32px, 32px + (54 - 32) * (100vw - 668px) / 632, 54px);
  margin-top: 40px;
}

.pickup .inner .pickup_section .pickup_list .pickup_item {
  width: calc((100% - clamp(32px, 32px + (54 - 32) * (100vw - 668px) / 632, 54px) * 2) / 3);
  max-width: 364px;
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 24.7252747253%;
}
.pickup .inner .pickup_section .pickup_item {
  transition: opacity .3s;
}
.pickup .inner .pickup_section .pickup_item:hover {
  opacity: .6;
}

@media (max-width : 667px) {
  .pickup {
    gap: 100px;
    margin: 0 auto;
  }

  .pickup .inner .pickup_section:not(:first-of-type) {
    margin-top: 91px;
  }

  .pickup .inner .pickup_section .pickup_heading {
    font-size: clamp(22px, 22px + (24 - 22) * (100vw - 320px) / 55, 24px);
    text-align: center;
  }

  .pickup .inner .pickup_section .pickup_list {
    gap: 32px;
    align-items: center;
    justify-content: center;
    margin-top: 41px;
  }

  .pickup .inner .pickup_section .pickup_list .pickup_item {
    width: 273px;
    height: 273px;
  }
}
