#top_mainVisualBox {
  position: relative;
  width: 100%;
  height: 100vh;

  .top_mainVisualInner {
    position: relative;
    width: 91.66vw;
    margin-left: auto;
    height: 100%;

    .top_mainVisualSlider {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;

      .slider-item {
        position: absolute;
        inset: 0;
        opacity: 0;
        z-index: 0;
        animation: slideFade 12s linear infinite;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transform: scale(1);
          transition: transform 4s ease;
        }
      }

      .slider-item:nth-child(1) { animation-delay: 0s; z-index: 1; }
      .slider-item:nth-child(2) { animation-delay: 4s; z-index: 1; }
      .slider-item:nth-child(3) { animation-delay: 8s; z-index: 1; }
    }

    .top_mainVisualTitle {
      position: absolute;
      top: 10rem;
      left: 0;
      z-index: 2;

      h2 {
        width: 51rem;
        margin-left: 6.2rem;
        display: inline-block;
        overflow: hidden;
        white-space: nowrap;
        height: 16.7rem;

        img {
          display: block;
          clip-path: inset(0 100% 0 0);
          animation: textSlide 1.5s ease-out forwards;
        }
      }

      p {
        font-size: 3rem;
        letter-spacing: 0.045em;
        margin-top: 3rem;
        font-family: "Oswald", sans-serif;
        padding: 1.3rem 0.1rem 1.3rem 6.2rem;
        background: var(--colorWhite);
        position: relative;
        font-weight: 400;

        &::after {
          content: "";
          position: absolute;
          top: 0;
          right: -5rem;
          width: 5rem;
          height: 100%;
          clip-path: polygon(0 0, 0% 100%, 100% 0);
          background: var(--colorWhite);
        }
      }
    }
  }

  .top_mainVisualHexagon {
    position: absolute;
    left: 0;
    bottom: -38.3rem;
    width: 48rem;
    z-index: 0;
  }

  /* スマホ対応 */
  @media screen and (max-width: 767px) {
    .top_mainVisualInner {
      width: 100vw;

      .top_mainVisualTitle {
        top: 12.7vw;

        h2 {
          width: 79.5vw;
          margin-left: 7vw;
        }

        p {
          font-size: 2.1rem;
          padding: 1.8vw 1vw 1.8vw 6.8vw;
          margin-top: 4.5vw;
          letter-spacing: 0.03em;

          &::after {
            width: 3rem;
            right: -3rem;
          }
        }
      }
    }

    .top_mainVisualHexagon {
      width: 25rem;
      bottom: -18rem;
    }
  }
}

@keyframes slideFade {
  0%   { opacity: 0; transform: scale(1); }
  8%   { opacity: 1; transform: scale(1); }
  20%  { opacity: 1; transform: scale(1.1); }
  33%  { opacity: 0; transform: scale(1.2); }
  100% { opacity: 0; transform: scale(1.2); }
}





#top_headlineBox {
  display: grid;
  grid-template-columns: 40.9% auto 5.5%;
  margin-top: 10rem;
  padding-bottom: 10rem;

  .headline_img {
    align-items: center;
    display: flex;
    justify-content: flex-start;

    dt {
      position: relative;
    }

    dd {
      color: #e6f0fc;
      font-family: "Oswald", sans-serif;
      font-size: 14rem;
      line-height: 1;
      margin-bottom: 0;
      margin-left: -3.5rem;
      white-space: nowrap;
      writing-mode: sideways-lr;
    }

  }

  .top_headlineInner {
    margin-top: 5rem;
    padding-right: 2.72vw;
    padding-left: 9.06vw;
    h2 {
      color: #0060dd;
      font-size: 2rem;
      font-weight: 700;

      &::before {
        background: url("../../img/common/icon_title_line.png") center center no-repeat;
        content: "";
        display: block;
        height: 24px;
        left: 0;
        margin-bottom: 1.5rem;
        width: 24px;
      }
    }

    h3 {
      font-size: 3rem;
      font-weight: 700;
      line-height: 1.5;
      margin-block: 5rem 3rem;
    }

    p {
      font-size: 2rem;
      line-height: 2;
      max-width: 76rem;
    }
  }

  @media screen and (min-width: 1440px) {
    grid-template-columns: 59rem auto 5.5%;
  }

  @media screen and (max-width: 767px) {
    grid-template-columns: 1fr;
    margin-top: 19.7vw;
    padding-bottom: 22.7vw;
    gap: 0; 
    .headline_img {
      dd {
        font-size: 9rem;
        margin-right: 3rem;
      }
    }
    .top_headlineInner {
      padding-inline: 6.8vw;
      margin-top: 0;
      h3 {
        margin-block: 6vw;
      }
    }
  }
}


#top_contractBox {
  position: relative;
  padding-top: 12rem;
  margin-bottom: 5rem;

  &::before {
    content: "";
    position: absolute;
    background: url("../../img/top/bg_contract.png") center center / cover no-repeat;
    z-index: 0;
  }

  .inner {
    position: relative; 
    z-index: 1;
    width: 1240px;
    max-width: 95%;
  .top_contractItem {
    ul {
      display: grid;
      grid-template-columns: 54.3% auto;
    }

    .top_contractText {
      h3 {
        font-size: 3rem;
        font-weight: 700;
        line-height: 1.5;
        margin-block: 6.5rem 2.5rem;
      }

      p {
        font-size: 2rem;
        line-height: 2;
        padding-right: 7rem;
      }
    }

    .top_contractImg {
      position: relative;
      top: -5rem;
    }
    
  }
  }
  .top_contractLink {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 4rem;
    margin-inline: auto;
    position: relative;
    bottom: -5.5rem;
    width: 1360px;
      .top_contractLinkItem {
        position: relative;
        
        .top_contractLinkImg {
          width: 100%;
          
        }
        .top_contractLinkRight {
          position: absolute;
          align-content: flex-end;
          width: 63%;
          top: 0;
          right: 0;
          background: var(--colorDarkLightBlue);
          clip-path: polygon(42% 0, 100% 0, 100% 100%, 0% 100%);
          height: 100%;
          .top_contracLinkTextarea {
            margin-left: 41%;
            margin-bottom: 17%;
            .top_contractLinkText {
              overflow: hidden; 
              color: transparent; 
              font-size: 2.4rem;
              line-height: 1.2;
              text-shadow: 0 -2.5em 0 var(--colorWhite), 0 0 0 var(--colorWhite); 
              transition: text-shadow 0.3s; 
              
            }
            .cta {
              width: 10.4rem;
              height: 4rem;
              font-size: 1.6rem;
              margin-top: 2rem;
              font-weight: 500;
              &::after {
                right: 1.4rem;
                width: 0.8rem;
                height: 1rem;
              }
            }
          }
          
        }
        &:hover {
          
          .cta span {
            animation: rotation 2s linear infinite;
          }

          .cta::after  {
            animation: ctaRotation 2s linear infinite;
          }
        }
    }
  }


  @media screen and (max-width: 1023px) {
    position: relative;
    .top_contractBoxHexagon {
      position: absolute;
      left: 0;
      top: -25rem;
      width: 23rem;
    }
    .inner {
      .top_contractItem {
        .top_contractImg {
          top: 0;
        }
      }
    }

    
}

  @media screen and (max-width: 767px) {
    position: relative;
    padding-top: 6rem;
    margin-bottom: 6rem;

    .inner {
      max-width: 86.4%;
      .top_contractItem {
        ul {
            grid-template-columns: 1fr;
            .top_contractText {
              p {
                padding-right: 0;
              }
            }
            .top_contractImg {
              margin-top: 6rem;
            }
        }
      }
    }
    
      
    .top_contractLink {
      max-width: 86.4%;
        position: relative;
        z-index: 1;
        grid-template-columns: 1fr;
        gap : 6.8vw;
        .top_contractLinkItem {
        &:hover {
          .cta span {
            animation: none ;
          }
          .cta::after {
            animation: none ;
          }
        }
      }
    }
  }
}



/* FOR BUSINESS */

#top_businessBox {
  padding-top: 14rem;
  position: relative;
  .top_businessBoxHexagon {
    left: 0;
    bottom: 1rem;
    position: absolute;
    width: 68rem;
    z-index: -1;
  }
  .top_businessTitle {
    text-align: center;
    &::before {
      background: url("../../img/common/icon_title_line.png") center center no-repeat;
      content: "";
      display: block;
      height: 24px;
      margin-left: auto;
      margin-right: auto;
      width: 24px;
    }

    p {
      color: #0060dd;
      font-size: 2rem;
      font-weight: 600;
    }
  }

  .top_businessLinkBox {
    margin-top: 8rem;
    .top_businessLink {
      display: grid;
      grid-template-columns: repeat(3 ,1fr);
      gap: 4rem;

    }
  }
  @media screen and (max-width: 767px) {
    padding-block: 15.9vw 18.18vw;
    .top_businessBoxHexagon {
      display: none;
    }
    .top_businessLinkBox {
      margin-top: 13.6vw;
      .top_businessLink {
        grid-template-columns: 1fr;
        gap: 6.8vw;
      }
    }
  }
}



/* OPTION */

#top_optionBox {
   position: relative;
  margin-block: 15.7rem 15rem;
  margin-left: calc((100vw - 1200px) / 2);
  overflow: visible;

  .top_optionInnerList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
    padding-block: 0 4rem;
    position: relative;
    z-index: 1;
    background: transparent;
    padding-right: calc((100vw - 1200px) / 2 );

    &::before {
      content: "";
      position: absolute;
      inset: 0;
      clip-path: polygon(8% 0%, 100% 0, 100% 100%, 0% 100%);
      z-index: -2;
    }

    &::after {
      content: "";
      position: absolute;
      inset: 0;
      background: #0060dd;
      clip-path: polygon(8% 0%, 100% 0, 100% 100%, 0% 100%);
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 1.2s ease-out;
      z-index: -1;
      padding-right: calc((100vw - 1200px) / 2 );
    }

    &.is-active::after {
      transform: scaleX(1); 
    }

    li {
      .top_optionTitle {
        color: #fff;
        margin-top: 4rem;
        padding-right: 6.5rem;
        text-align: right;
        position: relative;
        z-index: 1;

        .inner_titleH2 {
          font-size: 5rem;
          line-height: 1.2;
          padding-right: 2rem;
          font-family: var(--fontOzwald);
          opacity: 0;
          transform: translateX(-30px);
          transition: opacity 0.6s ease, transform 0.6s ease;
        }

        p {
          background: var(--colorDarkLightBlue);
          clip-path: polygon(7% 0%, 100% 0, 100% 100%, 1% 100%);
          background-size: contain;
          font-size: 2rem;
          font-weight: 600;
          margin-left: 0.85vw;
          margin-top: 3rem;
          padding: 0.6rem 2rem;
          position: relative;
          z-index: 1;
          opacity: 0;
          transform: translateX(-30px);
          transition: opacity 0.6s ease, transform 0.6s ease;
        }

        &.is-active {
          .inner_titleH2 {
            opacity: 1;
            transform: translateX(0);
            transition-delay: 0.3s;
          }
          p {
            opacity: 1;
            transform: translateX(0);
            transition-delay: 0.5s;
          }
        }
      }

      .top_optionLinkBox {
        margin-top: -6rem; 
        a {
          display: block;
          background: #fff;

          .top_optionLinkItem {
            position: relative;
            z-index: 10;
          }
        }
      }
    }
  }
  @media screen and (max-width: 1280px) {
    width: 100vw;
    margin-left: 0;
    .top_optionInnerList {
      padding-inline: 2.5%;
      &::after {
        padding-inline: 2.5%;
        width: 99%;
        margin-left: 0;
        clip-path: polygon(9% 0%, 100% 0, 100% 100%, 0% 100%);
      }
      li {
        .top_optionTitle {
          &.is-active {
            p {
              margin-left: -1.5vw;
            }
          }
        }
      }
    }
  }
  @media screen and (max-width: 767px) {
    margin-block: 0;

      .top_optionInnerList {
        grid-template-columns: 1fr;
        padding: 13.6vw 6.8vw 17.9vw;
        &::after {
          clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%, 0% 24%);
          width: 100%;
        }
        li {
          .top_optionTitle {
            margin-top: 0;
            padding-right: 0;
            padding-bottom: 8.8vw;
            &.is-active {
              .inner_titleH2 {
                font-size: 4.8rem;
                position: relative;
                z-index: 1;
                padding-right: 0;
              }

              p {
                margin-top: 4.1vw;
                margin-left: -3vw;
                clip-path: polygon(5% 0%, 100% 0, 100% 100%, 1% 100%);
              }
            }
            
          }
        }

        .top_optionLinkBox {
          margin-top: 0;
          display: contents;
        }
      }
  }
}




/* COMPANY RECRUIT */

#top_company_recruit_linkBox {
  .top_company_recruitInner {
    .top_company_recruitLink {
      display: flex;

      li {
        width: 50%;

        .top_companyLink {
          position: relative;
          padding: 0 40px 50px 40px;
          &::before {
            position: absolute;
            content: "";
            background: url("../../img/top/bg_companylink.jpg") center center no-repeat;
            background-size: cover;
          }
        }

        .top_recruitLink {
          position: relative;
          padding: 0 40px 50px 40px;
          &::before {
            position: absolute;
            content: "";
            background: url("../../img/top/bg_recruitlink.jpg") center center no-repeat;
            background-size: cover;
          }
        }

        .top_companyLink,
        .top_recruitLink {
          align-items: flex-end;
          display: flex;
          justify-content: space-between;
          height: 45rem;
          padding-top: 32rem;
          overflow: hidden;
          &::before {
            content: "";
            opacity: 0;
            transform: scale(1);
            transition: transform 1.2s ease, opacity 0.8s ease;
          }

          &.is-animated::before {
            opacity: 1;
            transform: scale(1);
          }
          &:hover {
            opacity: 1;
          }
          &:hover::before {
            transform: scale(1.05); 
            opacity: 1;
          }
          &:hover .cta span {
            animation: rotation 2s linear infinite;
          }
          &:hover .cta::after {
            animation: ctaRotation 2s linear infinite;
          }
          .top_company_recruitTitle {
            color: #fff;

            .inner_titleH2 {
              font-size: 5rem;
              line-height: 1;
              margin-bottom: 1rem;
              font-family: var(--fontOzwald);
            }

            p {
              font-size: 2rem;
              font-weight: 600;
            }
          }
        }
      }
    }
  }
  @media screen and (max-width: 767px) {
    .top_company_recruitInner {
      .top_company_recruitLink {
        flex-wrap: wrap;
        li {
          width: 100%;
          .top_companyLink,
          .top_recruitLink {
            height: 62.5vw;
            padding: 0 6.8vw 7.5vw;
            display: grid;
            grid-template-columns: auto 17.178rem;
            .top_company_recruitTitle {
              .inner_titleH2 {
                font-size: 4rem;
                margin-bottom: 3.4vw;
              }
            }
            &:hover .cta span {
              animation: unset;
            }
            &:hover .cta::after {
              animation: unset;
            }
          }
        }
         
      }
    }
  }
}

#caseBox {
  .page__hgroup {
    h2.is-animated {
    animation: caseTextSlide 8s ease-out forwards;
      -webkit-animation: caseTextSlide 8s ease-out forwards;
              animation: caseTextSlide 8s ease-out forwards;
    }
  }
}


/* NEWS */

#top_news-contactBox {
  padding-top: 12rem;
  position: relative;
  .top_news-contactBoxHexagon {
    position: absolute;
    left: 0;
    width: 66rem;
    bottom: -39rem;
    z-index: -1;
  }
  &::before {
    right: 0;
    top: 0;
    clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0 100%, 0% 71%);
    background: var(--colorMainBlue);
    content: "";
    position: absolute;
    width: 75%;
    height: 100%;
    z-index: -10;
  }

  .top_newsWarp {
    position: relative;
    .top_newsBox {
      background: #fff;
      margin-inline: auto;
      padding: 8rem 0 8.5rem;
      width: 100%;

      .top_newsInner {
        display: flex;
        justify-content: space-between;
        padding-right: 10rem;
        position: relative;
        z-index: 2;
        h2.is-animated {
          animation: textSlide 0.7s ease-out forwards;
          -webkit-animation: textSlide 0.7s ease-out forwards;
                  animation: textSlide 0.7s ease-out forwards;
        }

        .top_newsTitle {
          position: relative;
          width: 15rem;

          &::before {
            background: url("../../img/common/icon_title_line.png") center center no-repeat;
            content: "";
            display: block;
            height: 24px;
            left: 0;
            width: 24px;
          }

          p {
            color: #0060dd;
            font-size: 2rem;
            font-weight: 600;
          }
        }

        .top_newsListBox {
          padding-left: 10rem;
          width: calc(100% - 15rem);

          .top_newsList {
            display: block;
            width: 100%;

            li {
              border-bottom: #0060dd solid 1px;
              margin-bottom: 2rem;
              padding-bottom: 1.5rem;
              width: 100%;

              .news_date {
                color: #0060dd;
                display: block;
                margin-bottom: 0.5rem;
              }
            }
          }
          .newsList__link {
            text-decoration: underline;
            color: var(--colorMainBlue);
            padding-right: calc(1.2rem + 1.5rem);
            width: fit-content;
            position: relative;
            display: block;
          }
          .newsList__link::after {
            content: "";
            background: url(../../img/common/icon_arrow_blue.svg) no-repeat center center / contain;
            width: 1.2rem;
            height: 2.4rem;
            position: absolute;
            right: 0;
            bottom: 0;
          }

          .cta {
            margin-left: auto;
            margin-top: 5rem;
            color: var(--colorBlack);
            border: 0.1rem solid var(--colorBlack);
            &::after {
              background: url(../../img/common/arrow_right_blue.svg) no-repeat center center / contain;
            }
          }
        }
      }
    }
  }
  @media screen and (max-width: 767px) {
    padding-top: 13.6vw;
     &::before {
      clip-path: polygon(30% 0, 100% 0, 100% 100%, -210% 100%);
     }
    .top_news-contactBoxHexagon {
      display: none;
    }
    .top_newsWarp {
      margin-right: 6.8vw;
      .inner {
        width: 1240px;
        max-width: 95%;
        .top_newsBox {
          padding: 9vw 6.8vw 11.3vw;
          .top_newsInner {
            display: grid;
            grid-template-columns: 1fr;
            padding-right: 0;
            .top_newsListBox {
              margin-top: 11.1vw;
              padding-left: 0;
              width: 100%;
            }
          }
        }
      }
    }
    .sp-hidden-counter:nth-of-type(4),
    .sp-hidden-counter:nth-of-type(5) {
      display: none;
    }
  }
}



