.banner-recruit {
  overflow-x: hidden;
  box-sizing: border-box;
  height: 650px;
  background-image: url(../img/banner-recruit.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  padding-left: 20vw;
}

.banner-text {
  position: relative;
  top: 300px;
  color: #fff;
  font-weight: 800;
  margin: 0 30px;
  margin-top: 50px;
}

@keyframes title-in {
  0% {
    left: -500px;
    opacity: 0;
  }
  100% {
    left: 0px;
    opacity: 1;
  }
}

.banner-text-in {
  visibility: visible;
  animation: title-in 1s ease-out 0s both;
}

.recruit {
  margin-top: 60px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.recruit-item {
  box-sizing: border-box;
  visibility: hidden;
  width: 420px;
  margin-right: 7vw;
  margin-bottom: 60px;
}

.recruit-title {
  font-weight: 800;
}

@keyframes scale-in {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.recruit-1-in {
  visibility: visible;
  animation: scale-in 1s ease-out 0s both;
}

.recruit-2-in {
  visibility: visible;
  animation: scale-in 1s ease-out 0.65s both;
}

.recruit-3-in {
  visibility: visible;
  animation: scale-in 1s ease-out 1.5s both;
}

@media screen and (max-width: 1200px) {
  .banner-recruit {
    height: 550px;
  }
}

@media screen and (max-width: 667px) {
  .banner-recruit {
    height: 400px;
    background-position: 70% 60%;
  }
  .item {
    flex-direction: column;
  }
  .recruit-item {
    margin-right: 0;
    margin-bottom: 30px;
  }
}
