/* --------------------------------------------------- 

* COMPONENT

* --------------------------------------------------- */
section {
  position: relative;
}

.c-section-title {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: 4.9479166667vw;
  line-height: 1;
  margin: 0 0 0.5em 0;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.c-sub-copy {
  margin: 0;
  font-size: 1.822916667vw;
  line-height: 2.05;
  font-weight: 600;
  letter-spacing: 0.1em;
}


@media screen and (max-width:768px) {
  .c-section-title {
    font-size: min(16.74vw, 72px);
   margin: 0 0 0.23em 0;
  }
  .c-sub-copy {
    font-size: min(6.19vw, 26.6px);
    line-height: 1.654;
    letter-spacing: 0.1em;
  }
}

/* --------------------------------------------------- 
*
* HEADER
*
* --------------------------------------------------- */
.l-header {
  transform: translateY(-110%);
  transition: all 0.3s ease;

  &.fixed {
    transform: translateY(0);
  }
}
@media screen and (max-width:768px) {
  .l-header {
    transform: translateY(0);
  } 
}

/* --------------------------------------------------- 
*
* MAIN VISUAL
*
* --------------------------------------------------- */
.l-section-mainvisual {
  background: linear-gradient(to right, var(--alive-main-color) 0%, var(--alive-main-color) 50%, transparent 50%, transparent 100%);
  color: #fff;
 
  & .l-section-container {
    padding: 0 10.39583333vw;
  }
}

.p-mainvisual-content {
  position: relative;
  display: flex;
  flex-direction: column;
  /* height: 31.2754739583vw; */
  height: 95vh;
  gap: 18%;
  overflow: hidden;

  & :not(.p-mainvisual-content__bg-container) {
    z-index: 1;
  }
}

.p-mainvisual-content__logo-wrap {
  padding: 1.979166667vw;
}

.p-mainvisual-content__logo {
  width: 4.635416667vw;
  height: auto;
  fill: #fff;
}

.p-mainvisual-content__tagline {
  margin: 0 0 1em;
  font-size: 2.765625vw;
  line-height: 1.6536866359;
  letter-spacing: 0.1em;
}

.p-mainvisual-content__text {
  margin: 0;
  font-size: 1.645833333vw;
  line-height: 1.95;
  letter-spacing: 0.1em;
}

.p-mainvisual-content__nav {
  position: absolute;
  bottom: 0;
  left: 79.8958333333vw;
}

.p-mainvisual-content__list {
  margin: 0;
  padding: 0 0 0.8333333333vw 0;

  list-style: none;

  & .p-gnav__link {
    padding: 0.5em 0;
    color: var(--alive-main-color);
    font-size: max(1.5833333vw, 16px);
    &:hover {
      opacity: 0.5;
    }
  }
}

.p-mainvisual-content-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: max(1.8vw,31px);
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: max(1vw, 14px);
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.3s ease;

  &:hover {
    opacity: 0.5;
  }

  &+& {
    margin-top: 0.6770833333vw;
  }

  &:nth-child(1) {
    background: var(--alive-tertiary-color);
  }

  &:nth-child(2) {
    background: var(--alive-secondary-color);
  }
}

.p-mainvisual-content__bg-container {
  position: absolute;
  left: 19vw;
  top: 50%;
  width: 75.2000416667vw;
  height: 100%;
  transform: translateY(-50%);
  pointer-events: none;
  /* スライド時に余白を見せない */
}


/* mv　animation */
.p-mainvisual-content__img-wrap {
  width: 100%;
  height: 100%;
  clip-path: polygon(100% 0%,
      40.44% 0%,
      0% 100%,
      59.52% 100%);
  transform: scale(1.01);
  position: relative;

  &::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, var(--alive-main-color) 30%, transparent);
    z-index: 10;
  }
}

.p-mainvisual-content__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1) translateX(0%);
  transform-origin: right 50%;
  /* animation: pan 18s linear infinite; */
  animation: none;
  z-index: 0;
  opacity: 0;
  /* transition: opacity 1.5s linear; */
  transition: opacity 1.5s ease-in-out, transform 1.5s ease-in-out;

  pointer-events: none;

  &:nth-child(1) {
    animation-delay: 0s;
  }

  &:nth-child(2) {
    animation-delay: 0s;
  }

  &:nth-child(3) {
    animation-delay: 0s;
  }

  &.active {
    animation: pan 18s linear infinite;
    opacity: 1 !important;
    z-index: 3;
  }

  &.prev {
    opacity: 1;
    z-index: 2;
    animation: pan 18s linear infinite;
  }

  &.hidden {
    opacity: 0;
    z-index: 0;
  }
}
@media screen and (max-width:768px) {
  .l-section-mainvisual {
    padding-top: 70px;
    background: var(--alive-main-color);
    color: #fff;

    & .l-section-container {
      padding: 0 7.67vw;
    }
  }

  .p-mainvisual-content {
    height: min(142.44vw, 1000px);   

    padding-bottom: 50px;
    justify-content: flex-end;
  }
  .p-mainvisual-content__logo-wrap {
    display: none;
  }
  .p-mainvisual-content__tagline {
    margin: 0 0 0.9em;
    font-size: 8.84vw;
    line-height: 1.548;
    letter-spacing: 0.1em;
  }
  .p-mainvisual-content__text {
    margin: 0;
    font-size: 4.88vw;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  .p-mainvisual-content__nav {
    display: none;
  }
  .p-mainvisual-content__bg-container {
    position: absolute;
    left: 0%;
    top: 0%;
    width: 95vw;
    height: 47.51%;
    transform: translateY(0%);
  }
  .p-mainvisual-content__img-wrap {
    clip-path: polygon(100% 0%,
        0% 0%,
        0% 100%,
        59.52% 100%);
  }
}

/* --------------------------------------------------- 
*
* MESSAGE
*
* --------------------------------------------------- */
.p-message-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 11.23%;
  padding: 8.2vw 0 11.45833333vw;

  &.animated {
    .p-message-content__img-container::before {
      top: -0.625vw;
      left: -0.625vw;
    }

    .p-message-content__img-container::after {
      bottom: -0.625vw;
      right: -0.625vw;
    }
  }
}

.p-message-content__img-container {
  position: relative;
  width: 40.586786026%;
  height: auto;
  aspect-ratio: 253 / 303;

  &::before {
    content: '';
    position: absolute;
    top: calc(-0.625vw * 6);
    left: calc(-0.625vw * 6);
    width: 5.15625vw;
    height: 4.6875vw;
    background-image: url(../img/common/design-symbol.svg);
    background-repeat: no-repeat;
    transition: all 0.3s;
  }

  &::after {
    content: '';
    position: absolute;
    bottom: calc(-0.625vw * 6);
    right: calc(-0.625vw * 6);
    width: 5.15625vw;
    height: 4.6875vw;
    transform: rotate(180deg);
    background-image: url(../img/common/design-symbol.svg);
    background-repeat: no-repeat;
    transition: all 0.3s;
  }
}

.p-message-content__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-message-content__body {
  width: 50%;
}

.p-message-animation__item {
  position: absolute;
  display: block;
  z-index: 10;
  will-change: transform;

  &:nth-child(1) {
    top: 30%;
    right: 12.34375vw;

    &::before, &::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 3.333333333vw;
      aspect-ratio: 1/1;
    }

    &::before {
      background: var(--alive-secondary-color);
      transform: translate(-2.083333333vw, -2.083333333vw);
    }

    &::after {
      background: var(--alive-main-color);
    }
  }

  &:nth-child(2) {
    top: 60%;
    right: 0;

    .p-message-animation__image {
      width: 12.708333333vw;
      height: 23.020833333vw;
    }

    &::before {
      display: block;
      position: absolute;
      content: '';
      top: 40px;
      left: -40px;
      width: 4.7395833333vw;
      aspect-ratio: 1/1;
      background: var(--alive-main-color);
      z-index: 1;
    }
  }

  &:nth-child(3) {
    display: block;
    top: 60%;
    left: 4.427083333vw;

    .p-message-animation__image {
      width: 20.6380208333vw;
      height: 14.3666666667;
    }

    &::before, &::after {
      position: absolute;
      display: block;
      content: '';
    }

    &::before {
      top: -10%;
      left: 50%;
      width: 3.333333333vw;
      aspect-ratio: 1/1;
      background: var(--alive-main-color);
      z-index: 1;
    }

    &::after {
      bottom: -10%;
      right: -20%;
      width: 6.041666667vw;
      aspect-ratio: 1/1;
      background: var(--alive-secondary-color);
      z-index: -1;
    }
  }
}

.p-message-animation__image {
  object-fit: cover;
}

@media screen and (max-width:768px) {
  .p-message-content {
    align-items: center;
    flex-direction: column-reverse;
    gap: 40px;
    padding:77.65vw 0 54.88vw;
  }

  .p-message-content__img-container {
    width: 100%;    
    &::before {
      width: 16.74vw;
      height: 15.32vw;
    }
    &::after {
      width: 16.74vw;
      height: 15.32vw;
    }
  }
  .p-message-content__body {
    width: 100%;
  }

  .p-message-animation__item {
    position: absolute;
    display: block;
    z-index: 10;

    &:nth-child(1) {
      top: auto;
      bottom: 6%;
      right: 19.53vw;

      &::before, &::after {
        width: 10.43vw;
      }

      &::before {
        transform: translate(-6.51vw, -6.51vw);
      }
    }

    &:nth-child(2) {
      top: auto;
      bottom: 3%;
      right: auto;
      left: 0;

      .p-message-animation__image {
        width: 32.92vw;
        height: 59.6vw;
      }

      &::before {
        top: 50%;
        left: auto;
        right: -25px;
        width: 12.34vw;
      }
    }

    &:nth-child(3) {
      top: 4%;
      left: auto;
      right: 0;

      .p-message-animation__image {
        width: 65.24vw;
        height: 45.41vw;
      }
      &::before {
        top: -10%;
        left: 50%;
        width: 10.47vw;
      }
      &::after {
        bottom: -10%;
        right: auto;
        left: -20%;
        width: 19.25vw;
      }
    }
  }
}

/* --------------------------------------------------- 
*
* ABOUT
*
* --------------------------------------------------- */
.l-section-about {
  background-image: url(../img/top/bg-shape-01.svg);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  color: #fff;
  padding: 5.572916667vw 0;
}

.p-about-content {
  display: flex;
  align-items: center;
  gap: 5.93%;
}

.p-about-content__body {
  width: 40.68%;

  & .c-section-title {
    margin: 0 0 0.38em 0;
    text-wrap: nowrap;
  }
}

.p-about-content__img-wrap {
  width: 53.39%;
  height: auto;
  aspect-ratio: 324 / 313;
}

.p-about-content__img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width:768px) {
  .l-section-about {
    background-image: url(../img/top/bg-shape-01_sp.svg);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: cover;
    padding: 20.23vw 0 13.95vw;
  }
  .p-about-content {
    flex-direction: column;
    gap: 0;
  }
  .p-about-content__body {
    width: 100%;

    & .p-about-content__title{
      display: flex;
      flex-direction: column;
    }
    & .c-section-title {
      margin: 0 auto 0.38em 16.05vw;
      text-wrap: wrap;
    }
    & .c-sub-copy{
      margin: 0 auto 0 16.05vw;
    }
    & .c-text__base{
      margin: 2em 0;
    }
  }
  .p-about-content__img-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 324 / 313;
  }
}

/* --------------------------------------------------- 
*
* BUSINESS
*
* --------------------------------------------------- */
.l-section-business {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  padding: 5.291666667vw 0;
  overflow: hidden;

  & .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5%;
  }

  & .c-section-title {
    margin: 0 0 0.42em 0
  }

  & .splide{
    visibility:visible;
  }
}

.p-business-body {
  width: 20.89vw;
}

.p-scroll-label {
  position: relative;
  display: block;
  font-family: "Cormorant Garamond", serif;

  &::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: #000;
    height: calc(16px * 2.25 * 4);
    width: 1px;
  }

  &::after {
    content: "";
    position: absolute;
    top: 0;
    right: -4.5px;
    width: 10px;
    height: 10px;
    background: #000;
    border-radius: 50%;
    animation: scroll-dot-move 1.5s ease-out infinite;
  }

  span {
    display: block;
    margin-top: 8px;
    transform: rotate(90deg);
  }
}

.p-side-scroll {
  height: 100vh;
  overflow: hidden;
  padding: 0;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.p-side-scroll-list__wrapper {
  overflow: hidden;
  width: 100%;
}

.p-side-scroll-list {
  padding-left: 0;
  display: flex!important;
  gap: 16px;
  width: 500%;
  height: auto;
  will-change: transform;
  transform: translateX(0); /* 初期化 */
  transition: transform 0.2s ease-out;
}

.p-side-scroll-item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.8125vw;
  padding: 2.34375vw 1.5vw;
  font-weight: 700;
  width: 20%; /*増やす場合は「100%/アイテム数」を設定*/
  height: auto;

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 2.96875vw;
    height: 2.708333333vw;
    background-image: url(../img/common/design-symbol.svg);
    background-repeat: no-repeat;
  }

  &::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 2.96875vw;
    height: 2.708333333vw;
    transform: rotate(180deg);
    background-image: url(../img/common/design-symbol.svg);
    background-repeat: no-repeat;
  }

}

.p-side-scroll-item__title {
  font-size: 1.197916667vw;
}

.p-side-scroll-item__img-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 9.375vw;
  height: 9.375vw;
  flex-shrink: 0;
}

.p-side-scroll-item__img {
  width: 100%;
}

.p-business-animation {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  height: 100vh;
  pointer-events: none;

}

.p-business-animation__item {
  position: absolute;
  display: block;
  z-index: 10;

  &:nth-child(1) {
    bottom: 30%;
    left: 8.25vw;

    &::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 3.333333333vw;
      background: var(--alive-main-color);
      aspect-ratio: 1/1;
    }
  }

  &:nth-child(2) {
    bottom: 25%;
    left: 14vw;

    &::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      aspect-ratio: 1/1;
      background: var(--alive-secondary-color);
      width: 6.041666667vw;
    }
  }

  &:nth-child(3) {
    top: 24%;
    right: 27.86458333vw;

    &::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 3.333333333vw;
      background: var(--alive-main-color);
      aspect-ratio: 1/1;
      transform: translateY(-100%);
    }
  }

  &:nth-child(4) {
    top: 28%;
    right: 12.34375vw;

    &::before, &::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      aspect-ratio: 1/1;
    }

    &::before {
      width: 3.333333333vw;
      background: var(--alive-secondary-color);
      transform: translate(70%, -70%);
    }

    &::after {
      background: var(--alive-main-color);
      width: 4.791666667vw;
    }
  }
}
/* プログレスバーのスタイル */
.p-project-slider__progress {
  display: none;
}

@media screen and (max-width:768px) {
  .l-section-business {
    padding: 20.93vw 0 28.14vw;

    & .flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 40px;
    }

    & .c-section-title {
      margin: 0 0 0.415em 0
    }
    & p{
      line-height: 2;
      margin: 16px 0 12px;
    }
  }

  .p-business-body {
    width: 100%;
  }
  .p-side-scroll-list__wrapper{
    overflow: visible;
  }
  .p-scroll-label {
    display: none;
    /* width: 10%;
    margin-top: -10%;

    & span{
      margin-top: 30%;
    } */
  }
  .p-side-scroll {
    width: 100%;
    height: auto;
    width: 100vw;
    margin-right: calc(50% - 50vw);
  }
  .p-side-scroll-list {
    width: auto;
    gap: 0;
    transition: none;
  }
  .p-side-scroll-item {
    flex-direction: column;
    gap: 0;
    padding: 0  14.67vw 2.87vw;
    width: auto; /* または指定しない */
    box-sizing: border-box;

    &::before {
      width: min(19.22vw, 72.0916px);
      height: min(17.56vw, 65.8632px);
    }

    &::after {
      width: min(19.22vw, 72.0916px);
      height: min(17.56vw, 65.8632px);
    }
    & p{
      margin: 0;
    }
  }
  .p-side-scroll-item__title {
    font-size: min(4.9vw, 23px);
    margin: 1em 0;
  }
  .p-side-scroll-item__img-wrap {
    width: 28.66vw;
    height: 28.66vw;
  }
  .p-business-animation {
    display: none;
  }
  /* プログレスバー */
  .p-project-slider__progress {
    display: block;
    background-color: #9B9DAB;
    margin-top: 13.33vw;
    width: 100%;
  }

  .p-project-slider__progress-bar {
    background-color: var(--alive-main-color);
    height: 3px;
    transition: width 5000ms linear;
    width: 0;
  }
}

/* --------------------------------------------------- 
*
* CASE
*
* --------------------------------------------------- */
.l-section-case {
  padding: 3.333333333vw 0;
  background-image: url(../img/top/bg-shape-03.svg);
  background-repeat: no-repeat;
  background-position: right 15.52083333% top 0;
  background-size: cover;

  & .c-section-title {
    margin: 0 0 0.42em 0;
    &:before {
      content: "";
      display: block;
      height: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
      margin-top: -100px; /* heightと同じ分のネガティブマージン */
      visibility: hidden;
    }
  }
  & .splide__arrow{
    top: 7.5vw;
    transform:translateY(0);
  }
  & .splide__arrow--prev{
    left: -4em
  }
}

.p-case-content {
  transform: translateY(-6vw);
}

.p-section-text {
  font-size: max(14px, 0.9895833333vw);
  font-weight: 600;
  margin-bottom: 2.5vw;
}

.p-case-slider__list {
  margin: 0;
  margin-left: -4.6875vw;
  padding: 0;
}

.p-case-slider__container {
  margin-right: -17.39583333vw;
}

.p-case-slider__img {
  width: 100%;
  height: auto;
  aspect-ratio: 486 / 298;
}

.p-case-slider__title {
  font-size: max(14px, 0.9895833333vw);
  margin: 1.3vw 0 0.9vw;
}

.p-case-slider__text {
  font-size: 14px;
  line-height: 2;
  margin: 0;
}

/* プログレスバーのスタイル */
.p-case-slider__progress {
  background-color: #9B9DAB;
  margin-top: 2.4vw;
}

.p-case-slider__progress-bar {
  background-color: var(--alive-main-color);
  height: 3px;
  transition: width 5000ms linear;
  width: 0;
}
@media screen and (max-width:768px) {
  .l-section-case {
    padding: 1vw 0 110vw;
    background-image: url(../img/top/bg-shape-03_sp.svg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: contain;

    & .c-section-title {
      margin: 0 0 0.485em 0
    }

    & .splide__arrow{
      display: none;
    }
  }
  .p-case-content {
    transform: translateY(-33px);
  }

  .p-section-text {
    font-size: min(5.07vw, 16px);
    margin-bottom: 12vw;
    line-height: 2;
  }
  .p-case-slider__container {
    margin-right: -7.67vw;
  }
  .p-case-slider__img {
    width: 100%;
    height: auto;
    aspect-ratio: 307 / 188;
  }

  .p-case-slider__title {
    font-size: min(5.07vw, 19px);
    margin: 1.263em 0;
  }
  .p-case-slider__text {
    font-size: 14.5px;
  }

  /* プログレスバーのスタイル */
  .p-case-slider__progress {
    background-color: #9B9DAB;
    margin-top: 13.33vw;
  }
}

/* --------------------------------------------------- 
*
* RECRUIT
*
* --------------------------------------------------- */
.l-section-recruit {
  position: relative;
  padding: 2.34375vw 0;

  .c-section-title,
  .c-btn_white {
    z-index: 2;
  }
}

.l-section-recruit__inner {
  display: flex;
  flex-direction: column;
  align-items: start;
  position: relative;
  padding: 8.854167vw 11vw 9.010417vw 14vw;
  margin-left: 32.8125vw;
  background: var(--alive-main-color);
  color: #fff;

  &::before {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 40.52083333vw;
    height: 100%;
    content: "";
    background-image: url(../img/top/parallax-img-06.png);
    background-size: cover;
    mix-blend-mode: soft-light;
    opacity: .40;
    z-index: 0;
  }

  &::after {
    content: "";
    position: absolute;
    top: 0;
    right: calc(40.52083333vw - 23.33333333vw);
    width: 23.33333333vw;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to right,
        var(--alive-main-color) 0%,
        var(--alive-main-color) 0%,
        transparent 100%);
    z-index: 1;
  }
}

.p-recruit-content {
  display: flex;
  gap: 4vw;
  margin-bottom: 3.177083333vw;
  z-index: 2;
}

.p-recruit-content__list {
  display: flex;
  flex-direction: column;
  gap: 1.2vw;
  width: 100%;
  margin: 0;
  margin-top: 0.5em;
  padding: 0;
  padding-left: 2.754737em;
}

.p-recruit-content__item {
  font-size: 0.9895833333vw;
  font-weight: 600;
  padding-left: 0.75em;

  &::marker {
    font-size: 1.7547368421em
  }
}

.p-recruit-content__body {
  width: 100%;
}

.p-recruit-animation__item {
  position: absolute;
  display: block;
  z-index: 10;
  will-change: transform;

  &:nth-child(1) {
    top: 70%;
    right: 5vw;

    &::before, &::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      aspect-ratio: 1/1;
    }

    &::before {
      background: #fff;
      width: 4.791666667vw;
      transform: translate(-20%, -200%);
    }

    &::after {
      width: 3.333333333vw;
      background: var(--alive-secondary-color);
    }
  }

  &:nth-child(2) {
    bottom: 10%;
    left: 28.95833333vw;

    &::before, &::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      aspect-ratio: 1/1;
    }

    &::before {
      background: var(--alive-secondary-color);
      width: 6.041666667vw;
      transform: translate(100%, 0);
    }

    &::after {
      background: #fff;
      width: 3.333333333vw;
      transform: translate(calc(100% + 5.3125vw), -1.666666667vw);
    }
  }

  &:nth-child(3) {
    top: 40%;
    left: 30.72916667vw;

    & .p-recruit-animation__image {
      width: 13.95833333vw;
      height: 16.35416667vw;
      object-position: left center;
    }

    &::before {
      display: block;
      position: absolute;
      content: '';
      top: 41px;
      left: -38px;
      width: 3.333333333vw;
      aspect-ratio: 1/1;
      background: var(--alive-main-color);
      z-index: 2;
    }
  }

  &:nth-child(4) {
    top: 10%;
    left: 3.90625vw;

    & .p-recruit-animation__image {
      width: 23.4375vw;
      height: 31.51041667vw;
      object-position: center;
    }

    &::before {
      display: block;
      position: absolute;
      content: '';
      bottom: -0.78125vw;
      left: 4.791666667vw;
      width: 4.791666667vw;
      aspect-ratio: 1/1;
      background: var(--alive-main-color);
      z-index: 2;
    }
  }

  &:nth-child(5) {
    top: 55%;
    left: 11.875vw;

    & .p-recruit-animation__image {
      width: 16.97916667vw;
      height: 13.4375vw;
      object-position: 8% center;
    }
  }
}

.p-recruit-animation__image {
  object-fit: cover;
}

@media screen and (max-width:768px) {
  .l-section-recruit {
    padding: 0 0 24.53vw;
  }

  .l-section-recruit__inner {
    padding: 19.53vw 7.67vw;;
    margin-left: 0;

    &::before {
      position: absolute;
      width: 63.71vw;
      height: 30%;
    }

    &::after {
      top: 0;
      right: 0;
      width: 63.71vw;
      height: 35%;
    }

    & .c-btn_white{
      margin: 0 auto;
    }
  }
  .p-recruit-content {
    display: flex;
    flex-direction: column-reverse;
    gap: 34px;
    margin-bottom: 50px;
  }

  .p-recruit-content__list {
    gap: 1.2vw;
    width: 100%;
    margin: 0;
    padding-left: 2.754737em;
  }

  .p-recruit-content__item {
    font-size: min(4vw, 17px);
  }

  .p-recruit-content__body {
    width: 100%;
  }

  .p-recruit-animation__item {
    &:nth-child(1) { 
      &::before, &::after {
        content: none;
      }
    }

    &:nth-child(2) {
      bottom: 3%;
      left: 6.98vw;

      &::before, &::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        aspect-ratio: 1/1;
      }

      &::before {
        background: var(--alive-main-color);
        width: 11.86vw;
        transform: translate(100%, 0);
      }

      &::after {
        background: var(--alive-secondary-color);
        width: 13.26vw;
        transform: translate(calc(100% + 13.26vw), -8.6vw);
      }
    }
    &:nth-child(3) {
      top: 45%;
      left: auto;
      right: 0;

      & .p-recruit-animation__image {
        width: 21.84vw;
        height: 46.28vw;
        object-position: 11% center;
      }
      &::before {
        display: block;
        position: absolute;
        content: '';
        top: -5.35vw;
        left: 6.51vw;
        width: 9.1vw;
        aspect-ratio: 1/1;
        background: #fff;
        z-index: 2;
      }
      &::after {
        display: block;
        position: absolute;
        content: '';
        bottom: -7.44vw;
        left: -2.56vw;
        width: 11.86vw;
        aspect-ratio: 1/1;
        background: var(--alive-secondary-color);
        z-index: 2;
      }
    }

    &:nth-child(4) {
      top: -90vw;
      left: 0;

      & .p-recruit-animation__image {
        width: 66.15vw;
        height: 89.03vw;
        object-position: center;
      }

      &::before {
        bottom: auto;
        top: -3.79vw;
        left: 30vw;
        width: 13.26vw;
      }
    }

    &:nth-child(5) {
      top: -10%;
      left: auto;
      right: 0;

      & .p-recruit-animation__image {
        width: 47.96vw;
        height: 37.9vw;
        object-position: 8% center;
      }

      &::before {
        display: block;
        position: absolute;
        content: '';
        top: -7.44vw;
        right: 8.6vw;
        width: 11.86vw;
        aspect-ratio: 1/1;
        background: var(--alive-main-color);
        z-index: 2;
      }
      &::after {
        display: block;
        position: absolute;
        content: '';
        bottom: -5.81vw;
        left: 8.37vw;
        width: 9.07vw;
        aspect-ratio: 1/1;
        background: #fff;
        z-index: 2;
      }
    }
  }

  .p-recruit-animation__image {
    object-fit: cover;
  }
}

/* --------------------------------------------------- 
*
* COMPANY
*
* --------------------------------------------------- */
.l-section-company {
  background: var(--alive-main-color);
  color: #fff;
  padding: 6.25vw 0;

  .c-section-title {
    text-align: center;
  }

  a[href^="tel"] {
    color: inherit;  
    text-decoration: none;
    font-weight: inherit;
  }
}

.p-company-info {
  width: 48.54166667vw;
  margin: 0 auto;
  font-size: 16px;
  line-height: 2.093;
  letter-spacing: 0.01em;
}

.p-company-info__term {
  width: 8vw;
  flex-shrink: 0;
  font-weight: 700;
}

.p-company-info__row {
  display: flex;
  padding: 0.45em 1.5625vw;

  &+.p-company-info__row {
    border-top: 1px solid #fff;
  }
  & .p-company-info__desc{
    color: #fff;
  }
}
@media screen and (max-width:768px) {
  .l-section-company {
    padding: 13.26vw 7.67vw;
  }
  .p-company-info {
    width: 100%;
    font-size: 15px;
    line-height: 1.667;
  }

  .p-company-info__row {
    display: flex;
    flex-direction: column;

    padding: 0.45em 1.5625vw;
  }

  .p-company-info__term {
    width: 100%;
  }
  .p-company-info__desc {
    margin: 0;
  }
}

/* --------------------------------------------------- 
*
* NEWS
*
* --------------------------------------------------- */
.l-section-news {
  padding: 7.1875vw 0 12vw;
  position: relative;

  & .c-section-title {
    margin: 0 0 0.35em 0
  }

  &::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 75vw;
    height: 75vw;
    background-image: url(../img/top/bg-shape-02.svg);
    background-repeat: no-repeat;
    content: "";
    z-index: -1;
  }
}
.l-section-news__inner {
  max-width: 48.54166667vw;
  margin: 0 auto;
}

@media screen and (max-width:768px) {
  .l-section-news {
    padding: 20.47vw 7.67vw 21.4vw;
    position: relative;

    & .c-section-title {
      margin: 0 0 0.847em 0;
      text-align: center;
    }

    &::before {
      width: 100vw;
      height: 100%;
      background-size: cover;
      background-position: right;
    }
  }
  .l-section-news__inner {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* --------------------------------------------------- 
*
* ANIMATION
*
* --------------------------------------------------- */
@keyframes pan {
  0% {
    transform: scale(1.1) translateX(0%);
  }
  50% {
    transform: scale(1.1) translateX(4%);
  }
  100% {
    transform: scale(1.1) translateX(8%);
  }

}

@keyframes scroll-dot-move {
  0% {
    top: 0;
  }

  100% {
    top: calc(16px * 2.25 * 4 - 10px);
  }
}