.home-hero {
  position: relative;
  overflow: hidden;
  height: clamp(50rem, calc(var(--vh, 1vh) * 100), 80rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem 1rem;
  @media (min-width: 768px) {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  @media (min-width: 1024px) {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }
  @media (min-width: 1200px) {
    padding-left: 5rem;
    padding-right: 5rem;
  }
  &::before, &::after {
    content: "";
    display: block;
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    aspect-ratio: 1 / 1;
    opacity: 25%;
    z-index: 1;
  }
  &::before {
    width: clamp(27.3125rem, 45.25%, 45.25rem);
    top: 0;
    left: 0;
    transform: translate(-38.9016018307%, -32.2654462243%);
    background-image: url(/system_panel/uploads/images/diamonds--blue.svg);
    @media (min-width: 1024px) {
      transform: translate(-23.4806629834%, -7.320441989%);
    }
  }
  &::after {
    width: clamp(23.1875rem, 40.3125%, 40.3125rem);
    right: 0;
    bottom: -2.5625rem;
    transform: translateX(44.474393531%);
    background-image: url(/system_panel/uploads/images/diamonds--red.svg);
    @media (min-width: 1024px) {
      transform: translateX(28.2170542636%);
    }
  }
  
  & .home-hero__image-title--en {
    max-width: 36.75rem;
  }
  & .home-hero__image-title--ja {
    max-width: 44.875rem;
  }
  
  & .home-hero__bg-image {
    position: absolute;
    inset: 0;
    & img {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
    &::before {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(21, 101, 192, 0.15) 0%, rgba(21, 101, 192, 0.15) 35.58%, rgba(21, 101, 192, 0.45) 97.6%, rgba(21, 101, 192, 0.45) 100%), 
                  linear-gradient(180deg, #FFF 0%, #FFF 2.4%, rgba(255, 255, 255, 0.00) 23.56%, rgba(255, 255, 255, 0.00) 100%);
      pointer-events: none;
    }
    &::after {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      background-image: url(/system_panel/uploads/images/dot.png);
      pointer-events: none;
    }
  }
  
  & .home-hero__news {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 2rem 1rem;
    z-index: 2;
    @media (min-width: 768px) {
      padding: 2.5rem 3rem;
    }
  }
}


.home-concept-dec-diamonds {
  position: absolute;
  aspect-ratio: 1 / 1;
  opacity: 45%;
  width: 32rem;
  top: -0.5625rem;
  left: -13rem;
  background-image: url(/system_panel/uploads/images/diamonds--red.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  @media (min-width: 1024px) {
    top: 6.625rem;
  }
}

.home-features-dec-diamonds {
  position: absolute;
  aspect-ratio: 1 / 1;
  opacity: 45%;
  width: 35rem;
  top: -3.375rem;
  right: -16rem;
  background-image: url(/system_panel/uploads/images/diamonds--blue.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  @media (min-width: 1024px) {
    top: -5.375rem;
  }
}

.home-recruit-image {
  position: absolute;
  aspect-ratio: 1 / 1;
  & img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  }
  &::before {
    content: "";
    display: block;
    aspect-ratio: 1 / 1;
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }
  &.home-recruit-image--1 {
    width: 31.25rem;
    top: -6.625rem;
    right: -4.25rem;
    &::before {
      width: 24.5rem;
      top: 19rem;
      right: -11rem;
      background-image: url(/system_panel/uploads/images/diamond--red.svg);
    }
    @media (min-width: 768px) {
      width: 43.5rem;
      top: -10.625rem;
      &::before {
        width: 44.875rem;
        top: 26rem;
        right: -23rem;
      }
    }
    @media (min-width: 1024px) {
      top: -9.5rem;
      right: -15rem;
    }
    @media (min-width: 1200px) {
      right: 3rem;
    }
  }
  &.home-recruit-image--2 {
    width: 25.875rem;
    bottom: -0.5rem;
    left: 1.75rem;
    &::before {
      width: 21.25rem;
      bottom: 14rem;
      left: -12rem;
      background-image: url(/system_panel/uploads/images/diamond--blue.svg);
    }
    @media (min-width: 768px) {
      width: 35.25rem;
      bottom: -12rem;
      left: 0;
      &::before {
        width: 35.25rem;
        bottom: 17rem;
        left: -23rem;
      }
    }
    @media (min-width: 1024px) {
      bottom: -16rem;
      left: -15rem;
      &::before {
        bottom: 25rem;
        left: -14rem;
      }
    }
    @media (min-width: 1200px) {
      bottom: -10.625rem;
      left: -1.375rem;
    }
  }
}







