.home-hero {
  position: relative;
  z-index: 1;
  height: clamp(50rem, calc(var(--vh, 1vh) * 100), 70rem);
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 0 1.25rem 2.5rem;
  &::after {
    content: "";
    aspect-ratio: 490 / 371;
    width: 15rem;
    background-image: url("/system_panel/uploads/images/house-1.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 12.5rem;
    right: -4.5rem;
  }
  @media (min-width: 768px) {
    padding-inline: 2.5rem;
    &::after {
      top: 10rem;
      right: 2rem;
    }
  }
  @media (min-width: 1024px) {
    padding-inline: 3.75rem;
    &::after {
      width: 20rem;
      top: 10rem;
      right: 2rem;
    }
  }
  @media (min-width: 1200px) {
    padding-inline: 7.5rem 5rem;
    &::after {
      width: 30rem;
      top: 5rem;
      right: 2rem;
    }
  }
  
  & .home-hero__image-1 {
    width: 22.5rem;
    aspect-ratio: 767 / 517;
    position: absolute;
    z-index: 0;
    top: 1.25rem;
    right: -5rem;
    &::before {
      pointer-events: none;
      content: "";
      aspect-ratio: 259 / 233;
      width: 33.7679269883%;
      background-image: url("/system_panel/uploads/images/house-2.png");
      background-size: 100% 100%;
      background-repeat: no-repeat;
      position: absolute;
      z-index: 1;
      bottom: 0;
      left: 0;
      transform: translate(-49.0347490347%, 18.025751073%);
    }
    &::after {
      pointer-events: none;
      content: "";
      width: 100%;
      height: 100%;
      background-image: url("/system_panel/uploads/images/mask-border-1.png");
      background-size: 100% 100%;
      background-repeat: no-repeat;
      position: absolute;
      top: 0;
      left: 0;
      transform: translate(-2.6075619296%, -3.8684719536%);
    }
    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      mask-image: url("/system_panel/uploads/images/mask-1.png");
      -webkit-mask-image: url("/system_panel/uploads/images/mask-1.png");
      mask-size: 100% 100%;
      mask-repeat: no-repeat;
    }
    @media (min-width: 768px) {
      width: 37rem;
      top: 7rem;
      right: auto;
      left: 0;
    }
    @media (min-width: 1024px) {
      width: 42rem;
    }
    @media (min-width: 1200px) {
      width: 50rem;
      top: 4rem;
      left: 7rem;
    }
  }
  
  & .home-hero__image-2 {
    width: 22.5rem;
    aspect-ratio: 632 / 429;
    position: absolute;
    bottom: 16.75rem;
    left: -6.75rem;
    &::after {
      pointer-events: none;
      content: "";
      width: 100%;
      height: 100%;
      background-image: url("/system_panel/uploads/images/mask-border-2.png");
      background-size: 100% 100%;
      background-repeat: no-repeat;
      position: absolute;
      top: 0;
      right: 0;
      transform: translate(3.164556962%, 4.662004662%);
    }
    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      mask-image: url("/system_panel/uploads/images/mask-2.png");
      -webkit-mask-image: url("/system_panel/uploads/images/mask-2.png");
      mask-size: 100% 100%;
      mask-repeat: no-repeat;
    }
    @media (min-width: 768px) {
      width: 30rem;
      right: 3rem;
      left: auto;
    }
    @media (min-width: 1024px) {
      width: 32rem;
    }
    @media (min-width: 1200px) {
      width: 39.5rem;
      bottom: 2.5rem;
      right: 6rem;
      left: auto;
    }
  }
  
  & .home-hero__title {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    & .home-hero__title-image {
      width: 100%;
      max-width: 36.25rem;
    }
    & .home-hero__title-text {
      line-height: 2;
      letter-spacing: 0.16em;
      font-weight: 500;
      font-size: 0.75rem;
      color: var(--brown);
    }
    @media (min-width: 768px) {
      & .home-hero__title-text {
        font-size: 1rem;
      }
    }
    @media (min-width: 1024px) {
      & .home-hero__title-text {
        font-size: 1.125rem;
      }
    }
    @media (min-width: 1200px) {
      & .home-hero__title-text {
        font-size: 1.25rem;
      }
    }
  }
}


.home-commitoment-bg-image {
  position: absolute;
  width: 20rem;
  bottom: 0;
  right: -2rem;
}

.home-commitoment-bg-illust-1 {
  position: absolute;
  width: 7.5rem;
  top: 0;
  right: 2.5rem;
}
.home-commitoment-bg-illust-2 {
  display: hidden;
  position: absolute;
  width: 15rem;
  bottom: -6.875rem;
  left: 35%;
  @media (min-width: 768px) {
    display: block;
  }
}

.home-commitment-masked-image {
  width: 100%;
  max-width: 34.0625rem;
  margin-left: auto;
  @media (min-width: 1024px) {
    margin-top: -2rem;
    margin-left: -9rem;
    width: 40%;
  }
  @media (min-width: 1200px) {
    margin-top: -10rem;
    margin-bottom: -9999px;
    margin-left: -7rem;
    width: 100%;
  }
}

.home-service-illust-1 {
  position: absolute;
  width: 21.875rem;
  top: -14.25rem;
  right: -9.375rem
}
.home-service-illust-2 {
  position: absolute;
  width: 30.3125rem;
  top: -17.1875rem;
  left: -16.25rem
}

.home-strengths-bg-line {
  display: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 170%;
  & img {
    width: 100%;
  }
  @media (min-width: 768px) {
    display: block;
  }
  @media (min-width: 1024px) {
    width: 150%;
  }
  @media (min-width: 1200px) {
    width: 108.75%;
  }
}

.gallery-list {
  &.swiper {
    width: 100%;
    overflow: visible;
    & .webgene-blog {
      display: flex;
    }
  }
}












