@charset "UTF-8";
/* ============================================ */
/* function
/* ============================================ */
/* ===== fontサイズ ===== */
/* ============================================ */
/* mixin
/* ============================================ */
/* ===== mediaquery ===== */
/* ============================================ */
/* recruit
/* ============================================ */
/* ===== title-area ===== */
#title-area .img::before {
  background-image: url(../img/recruit/top.jpg);
}

/* ===== requirements ===== */
#requirements .kome {
  font-size: 0.8125rem;
}
#requirements .kome::before {
  content: "※";
}

/* ===== desired ===== */
#desired {
  /*
  .desired-item {
    line-height: 2.5;

    &:not(:first-of-type) {
      margin: 70px 0 0;
    }
  }
  */
}
#desired .catch {
  font-size: 1.875rem;
  font-weight: 500;
  margin: 2em 0;
}
#desired .text {
  line-height: 2.5;
}
#desired .text p + p {
  margin: 2.5em 0 0;
}

@media screen and (max-width: 1024px) {
  #desired .catch {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  #desired {
    /*
    .desired-item {
      &:not(:first-of-type) {
        margin: 40px 0 0;
      }
    }
    */
  }
  #desired .catch {
    font-size: 1.25rem;
  }
}
/* ===== flow ===== */
#flow {
  margin: 120px 0;
}
#flow .frame-wh {
  background: #fff;
  padding: 0 0 95px;
  margin: 90px 0 0;
}
#flow .frame-wh .title {
  top: -1em;
}
#flow .flow-item {
  margin: 60px 0 0;
}
#flow .flow-item:not(:first-of-type) {
  margin: 110px 0 0;
  position: relative;
}
#flow .flow-item:not(:first-of-type)::before {
  content: "";
  position: absolute;
  left: -15px;
  top: -70px;
  display: inline-block;
  width: 3.5em;
  aspect-ratio: 17/10;
  padding: 0 0 0 2em;
  background: url(../img/common/icon_double-cursor-red.svg) no-repeat center;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  #flow {
    margin: 100px 0;
  }
  #flow .frame-wh {
    padding: 0 0 40px;
    margin: 70px 0 0;
  }
  #flow .frame-item {
    margin: 0;
  }
  #flow .frame-item:not(:first-of-type) {
    margin: 80px 0 0;
  }
  #flow .frame-item:not(:first-of-type)::before {
    top: -55px;
  }
}
/* ===== entry ===== */
.entry {
  margin: 100px 0 170px;
}

@media screen and (max-width: 768px) {
  .entry {
    margin: 70px 0 120px;
  }
}
/* ===== btn-entry ===== */
.btn-entry {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
  color: #fff;
  background: var(--color-primary);
  width: 100%;
  min-width: 15em;
  padding: 40px 40px 40px 70px;
  border-radius: 1em;
  transition: 0.3s ease-out;
}
.btn-entry .text {
  text-align: center;
}
.btn-entry .text span {
  display: inline-block;
  vertical-align: middle;
}
.btn-entry .en {
  font-family: var(--fontfamily-en);
  font-size: 2.5rem;
  font-weight: 900;
}
.btn-entry .jp {
  font-size: 0.9375rem;
  font-weight: 500;
  margin: 0 0 0 25px;
}
.btn-entry .icon {
  display: block;
  width: 2em;
  flex-shrink: 0;
  transition: transform 0.3s ease-out;
}

@media (hover: hover) {
  .btn-entry:hover {
    color: #fff;
    background: #000;
  }
  .btn-entry:hover .icon {
    transform: translate(20%);
  }
}
@media screen and (max-width: 1024px) {
  .btn-entry {
    padding: 20px 20px 20px 30px;
  }
}
@media screen and (max-width: 768px) {
  .btn-entry {
    padding: 20px 20px 30px 30px;
  }
  .btn-entry .text span {
    display: block;
  }
  .btn-entry .en {
    font-size: 1.875rem;
  }
  .btn-entry .jp {
    font-size: 0.75rem;
    margin: -10px 0 0 0;
  }
}

/*# sourceMappingURL=recruit.css.map */
