@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@400;500&family=Cinzel:wght@400&family=Roboto:wght@400;500&display=swap");
@import url("lib/ress.min.css");
:root {
  /* neutral */
  --white: #ffffff;
  --black: #000000;
  --black-rgb: 0, 0, 0;
  --gray: #5a5a5a; /* ナビオーバーレイ VOICE セクション背景 */
  --gray-dark: #363636; /* FEATURE / STEP UP FLOW セクション背景 */
  --gray-light: #e5e5e5; /* 地図エリア背景 */
  /* accent */
  --red: #eb1818; /* Google MAP ボタン */
  /* font */
  /* main sans-serif Japanese (Noto Sans JP) */
  --font-1: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  /* serif Japanese (Noto Serif JP) — 見出し・電話番号・本文 */
  --font-2: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "ヒラギノ明朝 ProN", serif;
  /* decorative Latin (Cinzel) — セクション英字見出し・コピーライト */
  --font-3: "Cinzel", serif;
  /* Latin sans-serif (Roboto) */
  --font-4: "Roboto", sans-serif;
  /* transition */
  --hover-transition: .2s ease;
}

.p-intro {
  padding: 13rem 0 16.3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-intro {
    padding: 4rem 0 6rem;
  }
}
.p-intro .ttl {
  font-size: 3.4rem;
  font-weight: 400;
  letter-spacing: 0.408rem;
  line-height: 161.765%;
  margin: 0 0 5.5rem;
}
@media screen and (max-width: 767px) {
  .p-intro .ttl {
    font-size: 2.4rem;
    letter-spacing: 0.288rem;
    line-height: 166.667%;
    margin: 0 0 2.7rem;
  }
}
.p-intro .txt {
  line-height: 231.25%;
}
@media screen and (max-width: 767px) {
  .p-intro .txt {
    line-height: 225%;
    letter-spacing: 0.192rem;
  }
}

.p-feature {
  background: var(--gray-dark) url(../img/recruit_feature_bg.webp) no-repeat 0 0/100vw auto;
  padding: 20.3rem 0 14.6rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-feature {
    background-image: url("../img/recruit_feature_bg_sp.webp");
    padding: 7.4rem 0 3.4rem;
  }
}
.p-feature-items {
  display: flex;
  flex-direction: column;
  gap: 5.6rem;
  padding: 7.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-feature-items {
    gap: 2.9rem;
    padding: 3rem 0 0;
  }
}
.p-feature-item {
  display: flex;
  gap: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-feature-item {
    flex-direction: column;
    gap: unset;
  }
}
.p-feature-item-img {
  flex-shrink: 0;
  width: 57.5rem;
}
@media screen and (max-width: 767px) {
  .p-feature-item-img {
    width: auto;
  }
}
.p-feature-item-body .ttl {
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0.36rem;
  line-height: 140%;
  margin: -0.7rem 0 1.8rem;
}
@media screen and (max-width: 767px) {
  .p-feature-item-body .ttl {
    font-size: 2rem;
    line-height: 160%;
    letter-spacing: 0.24rem;
    margin: 1.5rem 0 1.2rem;
  }
}
.p-feature-item-body .txt {
  letter-spacing: 0.192rem;
  line-height: 225%;
}
@media screen and (max-width: 767px) {
  .p-feature-item-body .txt {
    line-height: 175%;
  }
}

.p-voice {
  padding: 9.8rem 0 15.1rem;
}
@media screen and (max-width: 767px) {
  .p-voice {
    padding: 5.6rem 0 7.2rem;
  }
}
.p-voice-items {
  display: flex;
  flex-wrap: wrap;
  gap: 2.8rem;
  padding: 7.6rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-voice-items {
    gap: 2rem;
    padding: 4.6rem 0 0;
  }
}
.p-voice .c-box {
  padding: 3.7rem 3.5rem 4.4rem 4.3rem;
  width: 54.5rem;
}
@media screen and (max-width: 767px) {
  .p-voice .c-box {
    padding: 2.6rem 2.4rem 5.4rem;
    width: 100%;
  }
}
.p-voice .c-box .txt {
  letter-spacing: 0.192rem;
  line-height: 212.5%;
  padding: 3rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-voice .c-box .txt {
    letter-spacing: 0.096rem;
    line-height: 175%;
    padding: 1.5rem 0 0;
  }
}

.p-flow {
  padding: 13.5rem 0 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow {
    padding: 5.5rem 0 7.5rem;
  }
}
.p-flow-items {
  display: flex;
  justify-content: space-between;
  padding: 10.9rem 0 8rem;
}
@media screen and (max-width: 767px) {
  .p-flow-items {
    flex-direction: column;
    gap: 4.4rem;
    padding: 4.9rem 0 3.7rem;
  }
}
.p-flow-item {
  text-align: center;
  width: 20.4rem;
}
@media screen and (max-width: 767px) {
  .p-flow-item {
    width: 100%;
  }
}
.p-flow-item:before {
  aspect-ratio: 15/21;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="21" viewBox="0 0 15 21" fill="none"><path d="M15 10.3923L0 20.7846V0L15 10.3923Z" fill="white"/></svg>') no-repeat 0 0/contain;
  content: " ";
  display: block;
  height: auto;
  position: absolute;
  left: -5.8rem;
  top: 18.8rem;
  width: 1.5rem;
}
.p-flow-item:first-child:before {
  display: none;
}
.p-flow-item .ttl {
  align-items: center;
  border: 1px solid white;
  display: flex;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  justify-content: center;
  height: 4.6rem;
  margin: 0 0 1.9rem;
}
@media screen and (max-width: 767px) {
  .p-flow-item .ttl {
    font-size: 2rem;
    height: 4.3rem;
    margin: 0 auto 2.5rem;
    min-width: 21.7rem;
    width: fit-content;
  }
}
.p-flow-item .subttl {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  margin: 0 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow-item .subttl {
    font-size: 2rem;
    margin: 0 0 1rem;
  }
}
.p-flow-item .img {
  margin: 0 auto 1.8rem;
  width: 17.1rem;
}
@media screen and (max-width: 767px) {
  .p-flow-item .img {
    margin: 0 auto 0.8rem;
  }
}
.p-flow-item .txt {
  letter-spacing: 0;
  line-height: 175%;
  white-space: nowrap;
}
.p-flow-message {
  font-size: 4.2rem;
  font-weight: 500;
  letter-spacing: 0.504rem;
  line-height: 140.476%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-flow-message {
    font-size: 2.3rem;
    letter-spacing: 0.184rem;
  }
}
.p-flow-message b {
  display: inline-block;
  font-size: 6.9rem;
  font-weight: 500;
  letter-spacing: 0.828rem;
  padding: 3.3rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-flow-message b {
    font-size: 3.3rem;
    letter-spacing: 0.132rem;
    margin-right: -1.5rem;
    padding: 2rem 0 0;
  }
}

.p-info {
  padding: 10.9rem 0;
}
@media screen and (max-width: 767px) {
  .p-info {
    padding: 5.3rem 0 0;
  }
}
.p-info-items {
  background: white;
  color: black;
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  margin-top: 7rem;
  padding: 4rem 8.2rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-info-items {
    gap: 2rem;
    padding: 3.2rem 2.4rem 5.3rem;
    margin: 4.5rem calc(50vw - 50%) 0;
    width: 100dvw;
  }
}
.p-info-item .ttl {
  border-bottom: 1px solid #E5E5E5;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0 0 0.8rem;
  margin: 0 0 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-info-item .ttl {
    margin: 0 0 1.7rem;
    padding: 0 0 0.3rem;
  }
}
.p-info-item .txt {
  letter-spacing: 0;
  line-height: 137.5%;
}
.p-info-item .txt p + * {
  padding-top: 1.3em;
}
.p-info-item .txt ul li {
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}
.p-info-item .txt ul li:before {
  content: "■";
}
.p-info-item .txt ul + * {
  padding-top: 1.3em;
}

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