/* ===============
 # header
=============== */
header{
  padding: 32px 3.125%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: url(/_assets/images/recruit/_parts/noise-img.png) repeat;
  /* background-color: rgba(242, 241, 238, 1); */
  background-blend-mode: color-burn;
  @media screen and (max-width: 920px){
    padding: 16px 8px;
  }
}
.header-logo{
  z-index: 111;
  img{
    vertical-align: middle;
  }
  @media screen and (max-width: 920px){
    position: absolute;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
  }
  @media screen and (min-width: 921px){
    margin-left: 20px;
  }
}
.header-btns{
  display: flex;
  gap: 15px;
  @media screen and (max-width: 920px){
    display: block;
    position: fixed;
    top: 16px;
    right: 8px;
    z-index: 90;
  }
  .btn-base{
    width: 165px;
    @media screen and (max-width: 920px){
      width: 108px;
      font-size: 10px;
    }
  }
}

/* navi */
.navi-open{
  position: fixed;
  top: 16px;
  left: 8px;
  /* z-index: 100; */
  z-index: 113;
  cursor: pointer;
  @media screen and (min-width: 920px){
    display: none;
  }
}
.navi-content{
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 112;
  padding: 5% 20px 0;
  display: none;
  opacity: 0;
  transition: opacity .3s;
  @media screen and (max-width: 920px){
    padding: 20% 20px 0;
  }
  &.open-navi{
    opacity: 1;
  }
}
.navi-logo{
  text-align: center;
}
.navi-links{
  padding-top: 1.8%;
  text-align: center;
  li{
    margin-bottom: 20px;
  }
  a{
    font-size: 14px;
    color: #000;
  }
  &.navi-modal{
    a:hover{
      text-decoration: underline;
    }
  }
}
.pc-nav{
  position: absolute;
  background: rgba(255,255,255,0.6);
  top: 0;
  left: 20px;
  width: 100%;
  max-width: 300px;
  padding: 120px 0 30px 90px;
  z-index: 110;
  box-sizing: border-box;
  .navi-links{
    text-align: left;
    li{
      &::after{
        content: "";
        height: 1px;
        width: 50%;
        background: #000;
        margin-top: 4px;
        display: block;
        opacity: 0;
      }
      &.current{
        &::after{
          opacity: 1;
        }
      }
    }
    li:hover::after{
      opacity: 1;
    }
  }
}


/* ===============
 # footer
=============== */
footer{
  background: #000;
  padding: 72px 0 88px;
  @media screen and (max-width: 920px){
    padding: 52px 20px 28px;
    .footer-logo{
      margin: 0 auto 42px;
      max-width: 157px;
      img{width: 100%;}
    }
    .footer-links-wrap{
      display: flex;
      justify-content: space-between;
    }
    .footer-links-gc{
      margin-top: 72px;
    }
  }
  a{
    color: #fff;
    @media screen and (max-width: 920px){
      font-size: 12px;
    }
    &:hover{
      text-decoration: underline;
    }
  }
  h3{
    font-family: futura-pt, sans-serif;
    color: #fff;
    font-weight: 700;
    font-size: 26px;
    letter-spacing: 1.3px;
    margin-bottom: 8px;
    @media screen and (max-width: 767px){
      font-size: 16px;
    }
  }
}
.footer-copy{
  font-family: futura-pt, sans-serif;
  color: #fff;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.5px;
  width: 100%;
  max-width: 960px;
  margin: 48px auto 0;
  text-align: right;
  @media screen and (max-width: 920px){
    text-align: left;
    margin-top: 12px;
  }
}
.footer-links{
  display: flex;
  gap: 120px;
  @media screen and (max-width: 920px){
    display: block;
  }
  ul{margin-left: 20px;}
  li{margin-bottom: 10px;}
}
.footer-contents{
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  @media screen and (max-width: 920px){
    display: block;
  }
}
.footer-sns-for_pc{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 64px;
  @media screen and (max-width: 920px){
    margin-top: 0;
    display: none;
  }
}
.footer-sns-for_sp{
  display: none;
  @media screen and (max-width: 920px){
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}
footer{
  .isms{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    background: #fff;
    border-radius: 6px;
    width: 200px;
    padding: 12px 10px 6px;
    margin-left: 0;
    margin-top: 40px;
    li{margin-bottom: 0;}
    li figure img{
      height: 40px;
    }
    @media screen and (max-width: 767px){
      position: inherit;
      width: 65%;
      margin: 40px 0 20px;
    }
    &.pcb{
      display: flex;
      @media screen and (max-width: 767px){
        display: none;
      }
    }
    &.spb{
      display: none;
      @media screen and (max-width: 767px){
        display: flex;
        justify-content: space-around;
        align-items: center;
        gap: 15px;
      }
    }
  }
}


/* ===============
 # ContentBottomCTA
=============== */
.content-bottom-cta__section{
  background: #fff;
}
.content-bottom-cta__wrap{
  position: relative;
  overflow-y: hidden;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}
.content-bottom-cta{
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 90px 0;
  @media screen and (max-width:920px){
    padding: 36px 0 28px;
  }
  h2{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 3.5px;
    text-align: center;
    font-feature-settings: "palt" on;
    @media screen and (max-width: 920px){
      font-size: 20px;
    }
  }
  .btn-base{
    font-size: 16px;
    @media screen and (max-width: 920px){
      font-size: 14px;
    }
  }
}
.content-bottom-cta__contents{
  width: 100%;
  max-width: 384px;
  @media screen and (max-width: 920px){
    margin: 0 auto;
  }
}
.content-bottom-cta__btns-top{
  margin: 40px 0 32px;
  @media screen and (max-width: 920px){
    margin: 28px auto 12px;
    max-width: 253px;
  }
}
.content-bottom-cta__btns-btm{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  @media screen and (max-width: 920px){
    padding: 0 20px;
    margin-bottom: 32px;
    gap: 8px;
  }
  p{
    width: calc((100% - 16px) / 2);
  }
}
.navi-btns{
  .content-bottom-cta__btns-top{
    margin: 40px auto 16px;
    max-width: 478px;
    @media screen and (max-width: 920px){
      margin: 28px auto 12px;
      max-width: 253px;
    }
  }
  .content-bottom-cta__btns-btm{
    display: block;
    max-width: 478px;
    margin: 0 auto;
    p{
      &:first-child{
        margin-bottom: 16px;
        @media screen and (max-width: 920px){
          margin-bottom: 0;
        }
      }
    }
    @media screen and (max-width: 920px){
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0 20px;
      margin-bottom: 32px;
      gap: 8px;
    }
    p{
      width: 100%;
    }
  }
}
.content-bottom-cta__picture{
  position: absolute;
  top: 0;
  right: 0;
  @media screen and (max-width: 920px){
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    overflow-x: hidden;
  }
  .vertical-carousel{
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 241px;
  }
  .vertical-carousel-a{
    position: absolute;
    top: 0;
    right: 281px;
    animation: scroll-up 60s linear infinite;
  }
  .vertical-carousel-b{
    position: absolute;
    top: 0;
    right: 20px;
    animation: scroll-down 60s linear infinite;
  }
  .horizontal-carousel{
    display: flex;
    gap: 8px;
    width: 1700px;
    img{
      width: 846px;
    }
  }
  .horizontal-carousel-a{
    animation: scroll-left 45s linear infinite;
    margin-bottom: 8px;
  }
  .horizontal-carousel-b{
    animation: scroll-right 45s linear infinite;
  }
}


/* ===============
 # flashText
=============== */
.flash-text{
  span{
    opacity: 0;
    display: inline-block;
    &.is-animated{
      animation: appear .4s ease-out forwards;
    }
    &:nth-last-child(3){
      color: #2F6FF0;
    }
  }
  &.footer-text{
    span:nth-child(odd){
      &.is-animated{
        animation: appear02 .6s ease-out forwards;
      }
    }
    span:nth-child(even){
      &.is-animated{
        animation: appear03 .6s ease-in forwards;
      }
    }
  }
}


/* ===============
 # pageTop
=============== */
.to-top{
  position: fixed;
  bottom: 40px;
  right: 40px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  z-index: 100;
  @media screen and (max-width: 767px){
    right: 20px;
    bottom: 20px;
  }
  &.is-show{
    opacity: 1;
    pointer-events: auto;
  }
  &.is-footer{
    position: absolute;
    bottom: 220px;
    @media screen and (max-width: 767px){
      bottom: 50px;
    }
  }
}


/* ===============
 # Animation Key Frame
=============== */
@keyframes scroll-up {
  0% {transform: translateY(0);}
  100% {transform: translateY(-50%);}
}
@keyframes scroll-down {
  0% {transform: translateY(-50%);}
  100% {transform: translateY(0);}
}
@keyframes scroll-left {
  0% {transform: translateX(0);}
  100% {transform: translateX(-50%);}
}
@keyframes scroll-right {
  0% {transform: translateX(-50%);}
  100% {transform: translateX(0%);}
}
@keyframes appear {
  0% { opacity: 0; transform: scale(0.95); }
  50% { opacity: .5; transform: scale(1.05); }
  75% { opacity: .7; transform: scale(1); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes appear02 {
  0% { opacity: 0; transform: translateY(50px); }
  25% { opacity: 0; transform: translateY(50px); }
  85% { opacity: .5; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes appear03 {
  0% { opacity: .2; transform: translateY(-50px); }
  25% { opacity: .7; transform: translateY(-50px); }
  85% { opacity: 1; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}
