@charset "UTF-8";
/* =========================================================
   recruit  ( 採用情報 )
   ページアクセント = var(--textPink)
   ========================================================= */
/* ---------- FV ---------- */
.recruit-fv .page-ttl-wrap {
  color: var(--textPink);
}

/* ---------- 共通 ---------- */
.recruit-section {
  background-color: #FAF7F2;
}

.recruit-section .c-pageContent-wrap,
.recruit-entry .c-pageContent-wrap {
  max-width: 1010px;
}
.recruit-section .sec-ttl-wrap .sub-ttl,
.recruit-entry .sec-ttl-wrap .sub-ttl {
  color: var(--textPink);
}

.recruit-card {
  background-color: #ffffff;
  box-shadow: 20px 20px 20px 0px rgba(75, 106, 111, 0.1);
  border-radius: 15px;
  padding: 40px 56px;
}
.recruit-card .ttl-bnr {
  font-weight: bold;
  font-size: 22px;
  color: #ffffff;
  background-color: var(--textPink);
  max-width: 680px;
  text-align: center;
  margin: 0 auto;
  padding: 8px 20px;
  border-radius: 10px;
  line-height: 1.5;
  box-sizing: border-box;
}
.recruit-card .container {
  padding-top: 26px;
}
.recruit-card .container:not(:last-of-type) {
  border-bottom: 2px dashed #D1CDC6;
  padding-bottom: 26px;
}
.recruit-card .container .column-ttl {
  font-size: 20px;
  position: relative;
  margin-bottom: 12px;
  padding-left: 23px;
  line-height: 1.5;
}
.recruit-card .container .column-ttl::before {
  content: "";
  width: 18px;
  height: 18px;
  background-color: var(--textPink);
  border-radius: 3px;
  top: 7px;
  left: 0;
  position: absolute;
}
.recruit-card .container .column-deatil-txt p {
  margin-bottom: 0.5em;
}
.recruit-card .container .column-deatil-txt p:last-child {
  margin-bottom: 0;
}

/* ◎ の3点訴求 */
.point-list {
  margin-top: 16px;
}
.point-list + p {
  margin-top: 16px;
}
.point-list li {
  position: relative;
  padding-left: 28px;
  line-height: 1.7;
}
.point-list li:not(:last-child) {
  margin-bottom: 8px;
}
.point-list li::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 3px solid var(--textPink);
  border-radius: 50%;
  box-sizing: border-box;
  top: 8px;
  left: 0;
  position: absolute;
}

/* ---------- 募集内容 ---------- */
.page-section.recruit-detail-section {
  padding-top: 0;
  display: flow-root; /* 先頭要素の margin-top がセクション外へ抜けるのを防ぐ */
}

.recruit-table {
  background-color: #ffffff;
  box-shadow: 20px 20px 20px 0px rgba(75, 106, 111, 0.1);
  border-radius: 15px;
  padding: 40px 56px;
}
.recruit-table dl {
  display: flex;
  border-bottom: 2px dashed #D1CDC6;
  padding: 22px 0;
}
.recruit-table dl:first-of-type {
  padding-top: 0;
}
.recruit-table dl:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}
.recruit-table dl dt {
  width: 26%;
  flex-shrink: 0;
  color: var(--textPink);
  line-height: 1.5;
  position: relative;
  padding-left: 23px;
  box-sizing: border-box;
}
.recruit-table dl dt::before {
  content: "";
  width: 14px;
  height: 14px;
  background-color: var(--textPink);
  border-radius: 3px;
  top: 6px;
  left: 0;
  position: absolute;
}
.recruit-table dl dd {
  width: 74%;
  line-height: 1.7;
}
.recruit-table dl dd p:not(:last-child) {
  margin-bottom: 0.3em;
}
.recruit-table dl dd ul:not(.recruit-flow) li {
  line-height: 1.7;
  padding-left: 1em;
  text-indent: -1em;
}
.recruit-table dl dd .note {
  display: block;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 10px;
}

/* タグ（ジョブメドレーの特徴チップ相当） */
.recruit-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.recruit-tags span {
  background-color: #FDF1EF;
  color: var(--textPink);
  border-radius: 5px;
  padding: 3px 12px;
  font-size: 14px;
  line-height: 1.7;
}

/* 給与の強調 */
.recruit-salary {
  font-size: 22px;
  font-weight: bold;
  color: var(--textPink);
}

/* 選考プロセス */
.recruit-flow {
  counter-reset: flow;
}
.recruit-flow li {
  counter-increment: flow;
  background-color: #FAF7F2;
  border-radius: 10px;
  padding: 12px 16px 12px 48px;
  line-height: 1.6;
  position: relative;
}
.recruit-flow li::before {
  content: counter(flow);
  width: 24px;
  height: 24px;
  background-color: var(--textPink);
  color: #ffffff;
  font-size: 13px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 12px;
  left: 14px;
  position: absolute;
}
.recruit-flow li:not(:last-child) {
  margin-bottom: 28px;
}
.recruit-flow li:not(:last-child)::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #D1CDC6;
  bottom: -19px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
}

/* ---------- ご応募・お問い合わせ ---------- */
.recruit-entry {
  background-color: #FAF7F2;
  padding-bottom: 120px;
}
.recruit-entry .footer-contact {
  margin-top: 0;
  padding: 0;
  max-width: none;
}
.recruit-entry .footer-contact .inner {
  background-color: var(--textPink);
}

/* ---------- responsive ---------- */
@media screen and (max-width: 768px) {
  .recruit-card {
    padding: 40px 24px;
  }
  .recruit-card .ttl-bnr {
    max-width: none;
    width: 100%;
    font-size: 18px;
  }
  .recruit-table {
    padding: 40px 24px;
  }
  .recruit-table dl {
    display: block;
  }
  .recruit-table dl dt {
    width: 100%;
    margin-bottom: 10px;
  }
  .recruit-table dl dd {
    width: 100%;
  }
  .recruit-entry {
    padding-bottom: 80px;
  }
  .recruit-entry .footer-contact {
    transform: none;
  }
}
@media screen and (max-width: 520px) {
  .recruit-card .ttl-bnr {
    font-size: 17px;
  }
  .recruit-card .container .column-ttl {
    font-size: 18px;
  }
  .recruit-salary {
    font-size: 20px;
  }
}

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