@media (min-width: 769px) {
  .product_section {
    padding-bottom: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .product_section {
    padding-bottom: 20rem;
  }
}

@media screen and (max-width: 768px) {
  .product_block_image {
    top: 22rem;
  }
}
@media (min-width: 769px) {
  .product_block_image figure {
    width: 42.4rem;
    margin-left: 2.8rem;
  }
}
@media screen and (max-width: 768px) {
  .product_block_image figure {
    width: 66.2rem;
    margin: 0 -1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .product_block_caption .txt01 {
    padding-top: 83rem;
  }
}

.product_block_color.col1::after {
  background: #cfc8ba;
  color: #aaa;
}

.product_block_color.col2::after {
  background: #4d4c50;
  color: #aaa;
}

@media (min-width: 769px) {
  .feature_section {
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_section {
    padding-bottom: 4rem;
  }
}

@media (min-width: 769px) {
  .feature_block_bg.bg1 {
    width: 39.7rem;
    left: calc(47.2rem - 50vw);
    top: -17.3rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_bg.bg1 {
    width: 29.7rem;
    left: calc(29.4rem - 50vw);
    top: 94.8rem;
  }
}

@media (min-width: 769px) {
  .feature_block_bg.bg2 {
    width: 21.2rem;
    right: -21rem;
    top: -42.7rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_bg.bg2 {
    width: 22.1rem;
    right: -8.4rem;
    top: -21.3rem;
  }
}

@media (min-width: 769px) {
  .feature_block_image.img1 {
    width: 100%;
  }
}
.feature_block_image.img1 figure:nth-of-type(1) {
  width: 53rem;
}
@media (min-width: 769px) {
  .feature_block_image.img1 figure:nth-of-type(1) {
    margin-left: 47rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img1 figure:nth-of-type(1) {
    margin-left: -6rem;
  }
}
.feature_block_image.img1 figure:nth-of-type(2) {
  width: 43rem;
}
@media (min-width: 769px) {
  .feature_block_image.img1 figure:nth-of-type(2) {
    position: absolute;
    left: 0;
    bottom: 13.4rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img1 figure:nth-of-type(2) {
    margin: 8rem 0 0 26rem;
  }
}
@media (min-width: 769px) {
  .feature_block:has(.feature_block_image.img1) {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block:has(.feature_block_image.img1) {
    margin-top: 21rem;
    padding-bottom: 0;
  }
  .feature_block:has(.feature_block_image.img1) .att01 {
    padding-top: 6rem;
    letter-spacing: 0;
    white-space: nowrap;
  }
}

@media (min-width: 769px) {
  .feature_block_image.img1 + .feature_block_caption {
    margin-top: -1.5rem;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img1 + .feature_block_caption {
    order: 5;
    padding: 30rem 0 0;
  }
}

@media screen and (max-width: 768px) {
  .feature_block_image.img2 {
    width: 50rem;
    margin-left: 6.5rem;
  }
}
@media (min-width: 769px) {
  .feature_block_image.img2 figure {
    width: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block:has(.feature_block_image.img2) {
    margin-top: 12rem;
  }
  .feature_block:has(.feature_block_image.img2) .att01 {
    padding-top: 6rem;
  }
}

@media screen and (max-width: 768px) {
  .feature_block_image.img3 {
    width: 30.4rem;
    margin: 2rem 0 0 16rem;
  }
}
@media (min-width: 769px) {
  .feature_block_image.img3 figure {
    width: 19.2rem;
    margin-left: 13.7rem;
  }
}

@media screen and (max-width: 768px) {
  .feature_block_image.img4 {
    width: 68.1rem;
    margin: 2rem 0 0 -5.2rem;
  }
}
@media (min-width: 769px) {
  .feature_block_image.img4 figure {
    width: 40rem;
    margin-left: 10rem;
  }
}

@media screen and (max-width: 768px) {
  .feature_block_image.img5 {
    width: 59rem;
    margin: 2rem 0 0 1.9rem;
  }
}
@media (min-width: 769px) {
  .feature_block_image.img5 figure {
    width: 33.5rem;
    margin: -2.85rem 0 -2.85rem 5.6rem;
  }
}
@media (min-width: 769px) {
  .feature_block:has(.feature_block_image.img5) {
    padding-bottom: 11.5rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block:has(.feature_block_image.img5) {
    padding-bottom: 7.5rem;
  }
}

@media (min-width: 769px) {
  .feature_block_image.img5 + .feature_block_caption {
    white-space: nowrap;
  }
}

.feature_kv {
  width: 100vw;
  margin-left: 50%;
  translate: -50% 0;
}
.feature_kv figure {
  width: 100%;
}
@media (min-width: 769px) {
  .feature_kv figure {
    height: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_kv figure {
    height: 50rem;
  }
}

@media screen and (max-width: 768px) {
  .feature_block_image.img6_1 {
    width: 56rem;
    margin: -2rem 0 0 auto;
  }
}
@media (min-width: 769px) {
  .feature_block:has(.feature_block_image.img6_1) {
    padding: 6.5rem 0;
  }
}
@media screen and (max-width: 768px) {
  .feature_block:has(.feature_block_image.img6_1) {
    padding-top: 12rem;
  }
}

@media (min-width: 769px) {
  .feature_block_image.img6_2 {
    width: 17rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img6_2 {
    width: 30rem;
    margin: 6rem 0 0;
  }
}
@media (min-width: 769px) {
  .feature_block_caption:has(.feature_block_image.img6_2) {
    padding-left: 5.5rem;
  }
}

@media screen and (max-width: 768px) {
  .feature_block_image.img7 {
    width: 50rem;
    margin: 2rem auto 0;
  }
}
@media (min-width: 769px) {
  .feature_block_image.img7 figure {
    width: 26rem;
    margin-left: 12.3rem;
  }
}
@media (min-width: 769px) {
  .feature_block:has(.feature_block_image.img7) {
    margin-top: 0;
    padding: 10rem 0;
  }
}

@media (min-width: 769px) {
  .spec_block_image figure {
    width: 42.4rem;
    margin-left: -3.7rem;
  }
}
@media screen and (max-width: 768px) {
  .spec_block_image figure {
    width: 66.2rem;
    margin: 0 -1.6rem;
  }
}