@charset "UTF-8";

/* =====================
  animation
===================== */
@keyframes show-up-text {
  0% {
    opacity: 0;
    translate: 0 100%;
  }

  100% {
    opacity: 1;
    translate: 0 0%;
  }
}

/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.main {
  /* =====================
    mv
  ===================== */
  .mv {
    position: relative;
    width: 100%;

    &::before {
      content: '';
      position: absolute;
      inline-size: 100%;
      min-block-size: 1674px;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      background-image: url('../img/top/mv_bg.png');
      top: 0;
      left: 0;
      pointer-events: none;
      z-index: 2;
    }

    @media (width <= 768px) {
      &::before {
        background-image: url('../img/_common/mv_bg_2x.png');
        min-block-size: calc((100 / 390) * 1051 * 1vw);
        opacity: 0.6;
      }
    }
    /* ==== 背景スライダー ==== */
    .mv-slider {
      position: absolute;
      overflow: hidden;
      width: 100%;
      min-height: 860px;
      top: 0;
      right: 0;

      @media (width <= 768px) {
        min-height: calc((100 / 390) * 647 * 1vw);
      }
      .mv-swiper-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        min-height: inherit;

        .swiper-slide {
          position: relative;

          & picture {
            display: block flow;
            & img {
              inline-size: 100%;
              block-size: 100%;
              min-height: 860px;
              object-fit: cover;
              object-position: center;

              @media (width <= 768px) {
                min-height: calc((100 / 390) * 647 * 1vw);
              }
            }
          }
        }
      }
      .zoom img {
        animation-name: zoom;
        animation-duration: 15s;
        animation-delay: 0ms;
        animation-timing-function: linear; /* ease/ease-in/ease-out/ease-in-out/linear/cubic-bezier()/steps(1, jump-end) */
        animation-iteration-count: 1; /* {num}/infinite */
        animation-direction: normal; /* normal/reverse/alternate/alternate-reverse */
        animation-fill-mode: both; /* none/backwards(0%)/forwards(100%)/both(0%->100%) */
        animation-play-state: running; /* running/paused */
      }
    }

    /* ==== Content ==== */

    .content {
      position: relative;
      min-height: 860px;
      padding-block-start: 152px;
      padding-inline: 80px;
      z-index: 10;

      @media (width <= 768px) {
        min-height: calc((100 / 390) * 647 * 1vw);
        padding-block-start: calc((100 / 390) * 92 * 1vw);
        padding-inline: calc((100 / 390) * 16 * 1vw);
      }

      .catch {
        position: relative;
        z-index: 12;

        /* =====================
        英字　キャッチ
        ===================== */
        .en-catch {
          font-family: var(--title);
          font-size: 64px;
          color: #fff;
          line-height: 1.1;
          text-shadow: 0 0 20px rgba(0, 45, 8, 0.8);

          @media (width <= 768px) {
            font-size: calc((100 / 390) * 32 * 1vw);
            text-shadow: 0 0 calc((100 / 390) * 20 * 1vw) rgba(0, 45, 8, 0.8);
          }

          & span {
            display: block flow;
          }
        }

        /* =====================
          日本語　キャッチ
        ===================== */
        .ja-catch {
          position: relative;
          font-family: var(--serif);
          font-size: 24px;
          color: #fff;
          line-height: 1.5;
          z-index: 11;
          text-shadow: 0 0 20px rgba(0, 45, 8, 0.8);
          margin-block-start: 16px;

          @media (width <= 768px) {
            font-size: calc((100 / 390) * 15 * 1vw);
            text-shadow: 0 0 calc((100 / 390) * 20 * 1vw) rgba(0, 45, 8, 0.8);
            margin-block-start: calc((100 / 390) * 16 * 1vw);
          }
        }
      }

      /* ==== Bullet ==== */
      .swiper-pagination {
        position: absolute;
        text-align: right;
        padding-inline: 56px;
        bottom: 119px;
        right: 0;
        pointer-events: none;

        @media (width <= 768px) {
          text-align: right;
          padding-inline: calc((100 / 390) * 25 * 1vw);
          bottom: calc((100 / 390) * 133 * 1vw);
        }

        .swiper-pagination-bullet {
          opacity: 1;
          width: 10px !important;
          height: 10px !important;
          margin: 0 0 0 24px !important;
          background: rgba(255, 255, 255, 0.5);

          @media (width <= 768px) {
            width: calc((100 / 390) * 6 * 1vw) !important;
            height: calc((100 / 390) * 6 * 1vw) !important;
            margin: 0 0 0 calc((100 / 390) * 10 * 1vw) !important;
          }

          &.swiper-pagination-bullet-active {
            background: #fff;
          }
          &:first-child {
            margin: 0 !important;
          }
        }
      }

      /* =====================
        Scroll
      ===================== */
      /* スクロールダウンの位置 */
      .scroll {
        position: absolute;
        left: 42px;
        bottom: 136px;
        z-index: 12;

        @media (width <= 768px) {
          left: calc((100 / 390) * 24 * 1vw);
          bottom: calc((100 / 390) * 187 * 1vw);
        }

        /* 線のアニメーション部分 */
        &::before {
          animation: scroll 2s cubic-bezier(1, 0, 0, 1) infinite;
          background-color: #fff;
          top: 77px;
          border-radius: 50rem;
          content: '';
          height: 80px;
          left: 49%;
          margin: auto;
          position: absolute;
          width: 2px;
          z-index: 2;
        }
        /* 線の背景色 */
        &::after {
          background-color: transparent;
          top: 77px;
          border-radius: 50rem;
          content: '';
          height: 80px;
          left: 49%;
          margin: auto;
          position: absolute;
          width: 2px;
        }
        & > span {
          position: relative;

          &::after {
            content: '';
            display: block flow;
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
            background-image: url('../img/top/scroll.svg');
            inline-size: 13px;
            block-size: 60px;
          }

          @media (width <= 768px) {
            &::after {
              inline-size: calc((100 / 390) * 9 * 1vw);
              block-size: calc((100 / 390) * 46 * 1vw);
            }
          }
        }

        @media (width <= 768px) {
          &::before {
            top: calc((100 / 390) * 52 * 1vw);
            height: calc((100 / 390) * 40 * 1vw);
            width: 1px;
          }
          &::after {
            top: calc((100 / 390) * 52 * 1vw);
            height: calc((100 / 390) * 40 * 1vw);
            width: 1px;
          }
        }
      }

      /* =====================
        news
      ===================== */
      .news {
        position: absolute;
        inline-size: 720px;
        bottom: 40px;
        right: 40px;

        @media (width <= 768px) {
          inline-size: calc(100% - calc((100 / 390) * 32 * 1vw));
          bottom: calc((100 / 390) * 16 * 1vw);
          right: calc((100 / 390) * 16 * 1vw);
        }

        .u-hover {
          display: block grid;
          grid-template-columns: max-content auto;
          align-items: center;

          @media (width <= 768px) {
            grid-template-columns: 1fr;
            grid-template-rows: repeat(2, max-content);
          }

          & > h2.title {
            position: relative;
            font-family: var(--title);
            font-size: 20px;
            color: #fff;
            text-transform: uppercase;
            background: linear-gradient(180deg, rgba(25, 144, 188, 0.8) 0%, rgba(74, 226, 150, 0.8) 100%);
            padding-inline: 25px;
            padding-block: 12px;
            border-radius: 10px 0 0 10px;

            @media (width <= 768px) {
              font-size: calc((100 / 390) * 18 * 1vw);
              padding-inline: calc((100 / 390) * 16 * 1vw);
              padding-block: calc((100 / 390) * 7 * 1vw);
              border-radius: calc((100 / 390) * 10 * 1vw) calc((100 / 390) * 10 * 1vw) 0 0;
            }
          }
          .wrap {
            position: relative;
            display: block flex;
            align-items: center;
            gap: 32px;
            line-height: 1.6;
            block-size: 100%;
            padding-inline: 40px;
            background-color: rgba(255, 255, 255, 0.9);
            border-radius: 0 10px 10px 0;

            @media (width <= 768px) {
              flex-direction: column;
              align-items: start;
              gap: 0;
              padding-inline: calc((100 / 390) * 16 * 1vw);
              padding-block: calc((100 / 390) * 10 * 1vw);
              border-radius: 0 0 calc((100 / 390) * 10 * 1vw) calc((100 / 390) * 10 * 1vw);
              font-size: calc((100 / 390) * 13 * 1vw);
            }

            &::after {
              content: '';
              inline-size: 22px;
              aspect-ratio: 22 / 5;
              background-repeat: no-repeat;
              background-size: contain;
              background-position: center;
              background-image: url('../img/_common/arrow.svg');
              position: absolute;
              right: 40px;
              top: 50%;
              transform: translateY(-50%);
            }

            @media (width <= 768px) {
              &::after {
                background-image: url('../img/_common/arrow-white.svg');
                inline-size: calc((100 / 390) * 20 * 1vw);
                right: calc((100 / 390) * 16 * 1vw);
                top: calc((100 / 390) * -25 * 1vw);
                transform: translateY(unset);
                z-index: 5;
              }
            }

            .date {
              font-family: var(--title);
              line-height: 1.6;
              background: linear-gradient(180deg, #1990bc 0%, #4ae296 100%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
              background-clip: text;

              @media (width <= 768px) {
                font-size: calc((100 / 390) * 13 * 1vw);
              }
            }
          }
        }
      }
    }
  }

  /* =====================
    company
  ===================== */
  .company {
    position: relative;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) -32.62%, rgba(255, 255, 255, 0.7) 10.75%, #ffffff 75.8%);
    z-index: 3;
    padding-block: 80px 85px;

    @media (width <= 768px) {
      padding-block: calc((100 / 390) * 52 * 1vw) calc((100 / 390) * 64 * 1vw);
    }
    .inner {
      inline-size: 1440px;
      margin-inline: auto;

      @media (width <= 768px) {
        inline-size: 100%;
      }

      .wrap {
        display: block flex;

        @media (width <= 768px) {
          flex-direction: column;
        }

        .catch {
          position: relative;
          font-family: var(--serif);
          font-size: 28px;
          line-height: 1.6;

          @media (width <= 768px) {
            font-size: calc((100 / 390) * 24 * 1vw);

            & span.sp {
              display: inline-block;
              margin-inline: 1.5em;
            }
          }
        }

        .description {
          & + .description {
            margin-block-start: 1em;

            @media (width <= 768px) {
              margin-block-start: 0.6em;
            }
          }
        }

        .u-anchor {
          margin-block-start: 33px;

          @media (width <= 768px) {
            margin-block-start: calc((100 / 390) * 24 * 1vw);
          }
        }

        .picture {
          display: block flow;
          flex-shrink: 0;

          @media (width <= 768px) {
            & img {
              width: 100%;
            }
          }
        }

        &[data-id='01'] {
          padding-inline: 120px 80px;
          gap: 63px;

          @media (width <= 768px) {
            padding-inline: calc((100 / 390) * 16 * 1vw);
            gap: calc((100 / 390) * 31 * 1vw);
          }
          .unit {
            margin-block-start: 20px;

            @media (width <= 768px) {
              margin-block-start: 0;
            }
            .p_wrap {
              margin-block-start: 22px;
              margin-inline-start: 80px;

              @media (width <= 768px) {
                margin-inline-start: 0;
              }
            }
          }
        }
        &[data-id='02'] {
          align-items: end;
          padding-inline: 0 120px;
          gap: 69px;
          margin-block-start: 19px;

          @media (width <= 768px) {
            flex-direction: column-reverse;
            padding-inline: 0;
            margin-block-start: calc((100 / 390) * 32 * 1vw);
            gap: calc((100 / 390) * 32 * 1vw);
          }
          .unit {
            margin-block-start: 20px;

            @media (width <= 768px) {
              margin-block-start: 0;
              padding-inline: calc((100 / 390) * 16 * 1vw);
            }
            .p_wrap {
              margin-block-start: 22px;
              margin-inline-start: 80px;

              @media (width <= 768px) {
                margin-inline-start: 0;
              }
            }
          }

          .picture {
            @media (width > 1441px) {
              & img {
                border-radius: 10px;
              }
            }

            @media (width <= 768px) {
              & img {
                width: 100%;
              }
            }
          }
        }
      }
    }
  }

  /* =====================
    business
  ===================== */
  .business {
    position: relative;
    padding-block-start: 48px;
    padding-block-end: 95px;

    @media (width <= 768px) {
      padding-block-start: calc((100 / 390) * 64 * 1vw);
      padding-block-end: calc((100 / 390) * 64 * 1vw);
    }

    .u-inner {
      .wrap {
        display: block flex;
        align-items: start;
        gap: 90px;

        @media (width <= 768px) {
          flex-direction: column;
          gap: calc((100 / 390) * 33 * 1vw);
        }

        .unit {
          margin-inline-start: 40px;
          margin-block-start: 40px;

          @media (width <= 768px) {
            margin-inline: 0;
            margin-block-start: 0;
          }

          .u-h2-title {
            margin-block-start: 64px;

            @media (width <= 768px) {
              margin-block-start: 0;
            }
          }

          .description {
            margin-block-start: 48px;

            @media (width <= 768px) {
              margin-block-start: calc((100 / 390) * 33 * 1vw);
            }
          }

          .u-anchor {
            margin-block-start: 56px;

            @media (width <= 768px) {
              margin-block-start: calc((100 / 390) * 24 * 1vw);
            }
          }
        }

        .business-list {
          counter-reset: number 0;
          margin-block-start: 48px;
          flex-shrink: 0;
          display: block flex;
          align-items: center;
          justify-content: end;
          gap: 4px;

          @media (width <= 768px) {
            flex-direction: column;
            margin-block-start: 0;
            gap: calc((100 / 390) * 2 * 1vw);
          }

          .item {
            position: relative;
            inline-size: 260px;
            block-size: 420px;
            overflow: hidden;

            @media (width <= 768px) {
              inline-size: calc((100 / 390) * 355 * 1vw);
              block-size: calc((100 / 390) * 170 * 1vw);
            }

            .link-anchor {
              position: relative;
              display: block grid;
              grid-template-rows: repeat(2, max-content);
              align-content: end;
              justify-items: center;
              row-gap: 8px;
              color: #fff;
              padding-inline: 20px;
              padding-block: 23px;
              inline-size: 100%;
              block-size: 100%;

              @media (width <= 768px) {
                padding-inline: calc((100 / 390) * 23 * 1vw);
                padding-block: calc((100 / 390) * 22 * 1vw);
                justify-items: end;
                row-gap: calc((100 / 390) * 8 * 1vw);
              }

              &::before {
                content: '';
                position: absolute;
                inline-size: 260px;
                block-size: 420px;
                background-repeat: no-repeat;
                background-size: cover;
                background-position: center;
                top: 0;
                left: 0;
                transition: all 0.3s ease-in-out;
              }

              &::after {
                counter-increment: number;
                content: '0' counter(number);
                font-family: var(--serif);
                font-size: 64px;
                line-height: 1;
                color: rgba(255, 255, 255, 0.3);
                position: absolute;
                top: 11px;
                left: 24px;
              }

              @media (width <= 768px) {
                &::before {
                  inline-size: 100%;
                  block-size: calc((100 / 390) * 170 * 1vw);
                }

                &::after {
                  font-size: calc((100 / 390) * 48 * 1vw);
                  top: calc((100 / 390) * 11 * 1vw);
                  left: calc((100 / 390) * 24 * 1vw);
                }
              }

              & span[lang='en'] {
                position: relative;
                display: block;
                font-family: var(--title);
                line-height: 1.1;
                color: #fff;
                text-align: left;

                @media (width <= 768px) {
                  font-size: calc((100 / 390) * 14 * 1vw);
                  text-align: right;
                }
              }

              .title {
                position: relative;
                font-family: var(--serif);
                font-size: 18px;
                color: #fff;
                display: block flex;
                align-items: center;
                gap: 12px;

                @media (width <= 768px) {
                  font-size: calc((100 / 390) * 16 * 1vw);
                  gap: calc((100 / 390) * 12 * 1vw);
                }

                &::after {
                  content: '';
                  inline-size: 30px;
                  aspect-ratio: 1 / 1;
                  mask-repeat: no-repeat;
                  mask-size: contain;
                  mask-position: center;
                  mask-image: var(--icon-arrow-cube);
                  background-color: currentColor;
                }

                @media (width <= 768px) {
                  &::after {
                    inline-size: calc((100 / 390) * 24 * 1vw);
                  }
                }
              }
            }

            &[data-id='01'] {
              .link-anchor {
                &::before {
                  background-image: url('../img/top/business_01.png');
                  border-radius: 10px 0 0 10px;
                }

                @media (width <= 768px) {
                  &::before {
                    background-image: url('../img/top/business_01_2x.png');
                    border-radius: calc((100 / 390) * 10 * 1vw) calc((100 / 390) * 10 * 1vw) 0 0;
                  }
                }
              }
            }
            &[data-id='02'] {
              .link-anchor {
                &::before {
                  background-image: url('../img/top/business_02.png');
                }

                @media (width <= 768px) {
                  &::before {
                    background-image: url('../img/top/business_02_2x.png');
                  }
                }
              }
            }
            &[data-id='03'] {
              .link-anchor {
                &::before {
                  background-image: url('../img/top/business_03.png');
                  border-radius: 0 10px 10px 0;
                }

                @media (width <= 768px) {
                  &::before {
                    background-image: url('../img/top/business_03_2x.png');
                    border-radius: 0 0 calc((100 / 390) * 10 * 1vw) calc((100 / 390) * 10 * 1vw);
                  }
                }
              }
            }
            @media (any-hover: hover) {
              &:hover {
                .link-anchor {
                  &::before {
                    scale: 1.1;
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  /* =====================
    works
  ===================== */
  .works {
    position: relative;
    margin-block-start: 105px;
    padding-block-start: 151px;
    padding-block-end: 104px;
    background-repeat: no-repeat;
    background-size: 100% 471px;
    background-position: top center;
    background-image: url('../img/top/works.png');
    overflow: hidden;
    z-index: 1;

    @media (width <= 768px) {
      background-image: url('../img/top/works_2x.png');
      background-size: 100% calc((100 / 390) * 230 * 1vw);
      margin-block-start: calc((100 / 390) * 64 * 1vw);
      padding-block-start: calc((100 / 390) * 125 * 1vw);
      padding-block-end: calc((100 / 390) * 64 * 1vw);
    }

    .u-inner {
      .wrap {
        inline-size: 488px;
        min-block-size: 320px;
        margin-inline: auto 0;
        background-color: #fff;
        padding-inline: 56px;
        padding-block: 40px 16px;
        border-radius: 10px 10px 0 0;

        @media (width <= 768px) {
          inline-size: calc((100 / 390) * 311 * 1vw);
          min-block-size: calc((100 / 390) * 252 * 1vw);
          padding-inline: calc((100 / 390) * 32 * 1vw);
          padding-block: calc((100 / 390) * 24 * 1vw);
          border-radius: calc((100 / 390) * 10 * 1vw) 0 0 calc((100 / 390) * 10 * 1vw);
          margin-inline: auto calc(50% - 50vw);
        }

        .description {
          margin-block-start: 48px;

          @media (width <= 768px) {
            margin-block-start: calc((100 / 390) * 32 * 1vw);
          }
        }
        .u-anchor {
          margin-block-start: 40px;

          @media (width <= 768px) {
            margin-block-start: calc((100 / 390) * 24 * 1vw);
          }
        }
      }
    }
    /* loop */
    .loop {
      position: relative;
      inline-size: fit-content;
      pointer-events: none;
      display: block flex;
      gap: 2px;
      margin-block-start: 48px;

      @media (width <= 768px) {
        gap: calc((100 / 390) * 2 * 1vw);
        margin-block-start: calc((100 / 390) * 16 * 1vw);
      }

      .loop-box {
        display: block flex;
        animation: loop-list 60s linear infinite;
        gap: 2px;
        flex-shrink: 0;

        @media (width <= 768px) {
          gap: calc((100 / 390) * 2 * 1vw);
        }
        .loop-item {
          width: fit-content;
          display: block;
          flex-shrink: 0;
          & img {
            @media (width <= 768px) {
              inline-size: calc((100 / 390) * 154 * 1vw);
            }
          }
        }
      }
    }
  }

  /* =====================
    links
  ===================== */
  .links {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: url('../img/top/links_bg.png');
    min-block-size: 826px;
    padding-block: 80px;

    @media (width <= 768px) {
      background-image: url('../img/top/links_bg_2x.png');
      min-block-size: calc((100 / 390) * 2456 / 2 * 1vw);
      padding-block: calc((100 / 390) * 56 * 1vw);
    }

    .u-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 44px;
      padding-inline: 80px;

      @media (width <= 768px) {
        grid-template-columns: 1fr;
        column-gap: 0;
        padding-inline: calc((100 / 390) * 16 * 1vw);
        row-gap: calc((100 / 390) * 40 * 1vw);
      }

      .section_item {
        position: relative;
        -webkit-backdrop-filter: blur(80px);
        backdrop-filter: blur(80px);
        background-color: rgba(255, 255, 255, 0.05);
        padding-inline: 64px;
        padding-block: 48px;

        @media (width <= 768px) {
          padding-inline: calc((100 / 390) * 16 * 1vw);
          padding-block: calc((100 / 390) * 33 * 1vw);
        }

        .u-h2-title {
          position: relative;
        }

        .picture {
          display: block flow;
          text-align: center;
          margin-block-start: 32px;

          @media (width <= 768px) {
            margin-block-start: calc((100 / 390) * 22 * 1vw);

            & img {
              inline-size: calc((100 / 390) * 326 * 1vw);
            }
          }
        }

        .description {
          position: relative;
          margin-block-start: 33px;
          padding-inline: 15px;

          @media (width <= 768px) {
            margin-block-start: calc((100 / 390) * 25 * 1vw);
            padding-inline: 0;
          }
        }

        .u-anchor {
          margin-block-start: 32px;

          @media (width <= 768px) {
            margin-block-start: calc((100 / 390) * 24 * 1vw);
          }
        }
      }
      .section_item:has(.u-anchor:hover) {
        background-color: rgba(255, 255, 255, 0.3);
      }
    }
  }
}

/* =====================
animation
===================== */

/* ==== js-parallax ==== */

.mv {
  .catch {
    .js-parallax {
      --_transition: filter 1.4s ease, opacity 1.4s ease;
      opacity: 0;
      filter: blur(0.2em);
      transition: var(--_transition);
      transition-delay: var(--_delay, 200ms), var(--_delay, 200ms);

      &.on {
        opacity: 1;
        filter: blur(0);
      }
    }
  }
  .en-catch {
    & span[data-id='1'] {
      --_delay: 0s;
    }
    & span[data-id='2'] {
      --_delay: 1s;
    }
    & span[data-id='3'] {
      --_delay: 2s;
    }
  }
  .ja-catch.js-parallax {
    --_delay: 3s;
  }
  @media (width <= 768px) {
    .en-catch {
      & span[data-id='1'] {
        --_delay: 0s;
      }
      & span[data-id='2'] {
        --_delay: 1s;
      }
      & span[data-id='3'] {
        --_delay: 2s;
      }
      & span[data-id='4'] {
        --_delay: 3s;
      }
      & span[data-id='5'] {
        --_delay: 4s;
      }
    }
    .ja-catch.js-parallax {
      --_delay: 5s;
    }
  }
}

.company,
.business,
.works {
  .js-parallax {
    opacity: 0;
    transition: all 1s ease-in-out 0s;
    transform: translateY(1em);
    &.on {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

.business-list {
  .js-parallax {
    opacity: 0;
    transition: all 1s ease-in-out 0s;
    transform: translateY(1em);
    &.on {
      opacity: 1;
      transform: translateY(0);
    }
    &[data-id='01'] {
      transition: all 1s ease-in-out 0s;
    }
    &[data-id='02'] {
      transition: all 1s ease-in-out 0.4s;

      @media (width <= 768px) {
        transition: all 1s ease-in-out 0s;
      }
    }
    &[data-id='03'] {
      transition: all 1s ease-in-out 0.8s;

      @media (width <= 768px) {
        transition: all 1s ease-in-out 0s;
      }
    }
  }
}

.links {
  .js-parallax[data-id='recruit'] {
    opacity: 0;
    transition: all 1s ease-in-out 0s;
    transform: translateY(1em);
    &.on {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .js-parallax[data-id='sdgs'] {
    opacity: 0;
    transition: all 1s ease-in-out 0.6s;
    transform: translateY(1em);

    @media (width <= 768px) {
      transition: all 1s ease-in-out 0s;
    }
    &.on {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
