@media (min-width: 769px) {
  .product_section {
    padding-bottom: 16rem;
  }
}
@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: 13.7rem;
    margin-left: 17rem;
  }
}
@media screen and (max-width: 768px) {
  .product_block_image figure {
    width: 26.4rem;
  }
}

@media screen and (max-width: 768px) {
  .product_block_caption .txt01 {
    padding-top: 97rem;
  }
}

@media (min-width: 769px) {
  .feature_section {
    padding-bottom: 8.5rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_section {
    padding-bottom: 37rem;
  }
}

@media (min-width: 769px) {
  .feature_block_image.img1 {
    margin-top: -7.5rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img1 {
    margin-top: 4rem;
    margin-bottom: -32rem;
  }
}
.feature_block_image.img1 figure:nth-of-type(1) {
  z-index: 2;
}
@media (min-width: 769px) {
  .feature_block_image.img1 figure:nth-of-type(1) {
    width: 42rem;
    margin: 0 0 -21.3rem auto;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img1 figure:nth-of-type(1) {
    width: 35.5rem;
    margin: 0 -2rem 0 auto;
  }
}
.feature_block_image.img1 figure:nth-of-type(2) {
  position: absolute;
}
@media (min-width: 769px) {
  .feature_block_image.img1 figure:nth-of-type(2) {
    width: 45.5rem;
    right: 34.3rem;
    top: 40.3rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img1 figure:nth-of-type(2) {
    width: 38.3rem;
    left: -2rem;
    top: 25rem;
  }
}
@media (min-width: 769px) {
  .feature_block:has(.feature_block_image.img1) {
    margin-bottom: 36.8rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block:has(.feature_block_image.img1) {
    margin-bottom: 51rem;
    padding-bottom: 0;
  }
}

.feature_block_image.img2 {
  position: absolute;
  z-index: 2;
}
@media (min-width: 769px) {
  .feature_block_image.img2 {
    width: 37.7rem;
    left: 2.3rem;
    top: 3.5rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img2 {
    width: 63rem;
    left: 0;
    top: 41rem;
  }
}
.feature_block_image.img2 .att03 {
  position: absolute;
  color: #888;
}
@media (min-width: 769px) {
  .feature_block_image.img2 .att03 {
    right: 1.5rem;
    bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img2 .att03 {
    left: 0;
    bottom: -54.1rem;
  }
}
@media (min-width: 769px) {
  .feature_block:has(.feature_block_image.img2) {
    flex-direction: column;
    margin-top: 0;
    padding-left: 50%;
    padding-top: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block:has(.feature_block_image.img2) {
    margin-top: 22rem;
    padding-bottom: 20rem;
  }
}

@media (min-width: 769px) {
  .feature_block_caption:has(~ .feature_block_image.img2) {
    width: 100%;
    padding: 0 0 11rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_caption:has(~ .feature_block_image.img2) {
    padding: 0 0 61rem;
  }
}

@media (min-width: 769px) {
  .feature_block_caption:has(+ .feature_block_image.img2) {
    width: 100%;
    padding: 6rem 0;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_caption:has(+ .feature_block_image.img2) {
    padding: 115rem 0 10rem;
  }
}
.feature_block_caption:has(+ .feature_block_image.img2)::before {
  content: "";
  position: absolute;
  background: #f5eef1;
  width: 100vw;
  top: 0;
  bottom: 0;
}
@media (min-width: 769px) {
  .feature_block_caption:has(+ .feature_block_image.img2)::before {
    left: -65rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_caption:has(+ .feature_block_image.img2)::before {
    left: 50%;
    translate: -50% 0;
  }
}

@media (min-width: 769px) {
  .feature_block_image.img3 figure {
    width: 45.5rem;
    margin-left: auto;
  }
}
.feature_block_caption:has(+ .feature_block_image.img3) .att03 p {
  padding-left: 1em;
  text-indent: -1em;
}

@media (min-width: 769px) {
  .feature_block_image.img4_1 {
    margin-top: -29.8rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img4_1 {
    width: 46rem;
    margin-left: 5.5rem;
  }
}
@media (min-width: 769px) {
  .feature_block_image.img4_1 figure {
    width: 34rem;
    margin-left: auto;
  }
}

@media screen and (max-width: 768px) {
  .feature_block_image.img4_2 {
    position: absolute;
    width: 63rem;
    bottom: -105rem;
    z-index: 2;
  }
}
@media (min-width: 769px) {
  .feature_block_image.img4_2 figure {
    width: 44rem;
    margin-top: 5rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block_image.img4_2 figure {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .feature_block:has(.feature_block_image.img4_2) {
    padding-bottom: 0;
  }
}
@media (min-width: 769px) {
  .feature_block:has(.feature_block_image.img4_2)::before {
    bottom: 25.5rem;
  }
}

@media (min-width: 769px) {
  .feature_block_caption:has(.feature_block_image.img4_2) {
    padding-top: 2rem;
  }
}

@media (min-width: 769px) {
  .spec_block_image figure {
    width: 9.4rem;
    margin-left: 12.9rem;
  }
}
@media screen and (max-width: 768px) {
  .spec_block_image figure {
    width: 13.8rem;
  }
}