@charset "UTF-8";
/* recruit_info.css — 募集概要・仕事内容・募集要項の補足表示（2026-11 追加）
   採用TOP・募集要項・仕事内容・未経験でも活躍できる理由・社員インタビューで読み込む */

.nowrap {
  white-space: nowrap;
}

/* ------------------------------------ */
/* 採用TOP：募集概要 */
/* ------------------------------------ */
.recInfoJobBl {
  background-color: #f3f7fb;
  padding: 90px 0 100px;
  color: #1f385a;
}

.recInfoJob_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
  text-align: center;
}

.recInfoJob_label {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .1em;
  color: #fff;
  background-color: #1E60B4;
  border-radius: 999px;
  padding: 6px 20px;
}

.recInfoJob_tit {
  margin-top: 18px;
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .05em;
}

.recInfoJob_tit_s {
  font-size: .6em;
  display: inline-block;
}

.recInfoJob_lead {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.9;
}

.recInfoJob_points {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 40px;
  text-align: center;
}

.recInfoJob_points_item {
  background-color: #fff;
  border-radius: 12px;
  border: 1px solid #d6e2ef;
  padding: 20px 10px;
  box-sizing: border-box;
}

.recInfoJob_points dt {
  font-size: 13px;
  font-weight: 700;
  color: #1E60B4;
  letter-spacing: .05em;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #d6e2ef;
}

.recInfoJob_points dd {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.recInfoJob_small {
  font-size: 12px;
  font-weight: 500;
}

.recInfoJob_mark {
  font-size: .8em;
}

.recInfoJob_note {
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.7;
  text-align: left;
}

.recInfoJob_links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

.recInfoJob_links_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #1E60B4;
  text-decoration: none;
  background-color: #fff;
  border: 1.5px solid #1E60B4;
  border-radius: 999px;
  padding: 12px 26px;
  transition: background-color .2s, color .2s;
}

.recInfoJob_links_btn:hover {
  background-color: #1E60B4;
  color: #fff;
  opacity: 1;
}

.recInfoJob_links_arrow {
  font-size: 1.2em;
  line-height: 1;
}

.recInfoJob_entry-wrap {
  margin-top: 36px;
}

/* ------------------------------------ */
/* 下層ページの補足セクション（仕事内容・未経験でも活躍できる理由） */
/* ------------------------------------ */
.recInfoSec {
  padding: 60px 0;
  color: #1f385a;
}

.recInfoSec_intro {
  padding-bottom: 20px;
}

.recInfoSec_inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
  text-align: center;
}

.recInfoSec_tit {
  margin-top: 16px;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .05em;
}

.recInfoSec_tit:first-child {
  margin-top: 0;
}

.recInfoSec_lead {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.9;
}

.recInfoSec_lead:first-child {
  margin-top: 0;
}

a.recInfoSec_link:link,
a.recInfoSec_link:visited,
.recInfoSec_link {
  color: #1E60B4;
  text-decoration: underline;
}

.recInfoSec_facts {
  margin-top: 32px;
  text-align: left;
  border-top: 1px solid #d6e2ef;
}

.recInfoSec_facts_item {
  display: flex;
  border-bottom: 1px solid #d6e2ef;
  padding: 16px 0;
}

.recInfoSec_facts dt {
  flex: 0 0 160px;
  font-weight: 700;
  color: #1E60B4;
  font-size: 15px;
}

.recInfoSec_facts dd {
  flex: 1;
  font-size: 15px;
  line-height: 1.8;
}

.recInfoFlow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-top: 36px;
  text-align: left;
}

.recInfoFlow_item {
  position: relative;
  background-color: #f3f7fb;
  border-radius: 12px;
  padding: 22px 16px;
  box-sizing: border-box;
}

.recInfoFlow_num {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #c9a04a;
  line-height: 1;
}

.recInfoFlow_tit {
  margin-top: 10px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}

.recInfoFlow_desc {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.8;
}

.recInfoSupport {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 32px;
  text-align: left;
}

.recInfoSupport_item {
  border: 1px solid #d6e2ef;
  border-radius: 12px;
  padding: 22px 24px;
  box-sizing: border-box;
}

.recInfoSupport_tit {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 14px;
  border-left: 4px solid #1E60B4;
}

.recInfoSupport_desc {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.8;
}

/* ------------------------------------ */
/* 募集要項 */
/* ------------------------------------ */
.recGuideRequire_link {
  color: #1E60B4;
  text-decoration: underline;
  font-weight: 600;
}

/* ------------------------------------ */
/* 社員インタビュー：取材当時の注記 */
/* ------------------------------------ */
.recInterviewMain_box_desc.recInfoNote {
  margin-top: .6em;
  font-size: .8em;
  opacity: .85;
}

/* ------------------------------------ */
/* SP */
/* ------------------------------------ */
@media screen and (max-width: 767px) {
  /* 既存の .recTopFuture_entry-btn は SP で width:100% + padding のため右にはみ出す */
  .recTopFuture_entry-btn {
    box-sizing: border-box;
  }

  .recInfoJobBl {
    padding: 56px 0 60px;
  }

  .recInfoJob_inner,
  .recInfoSec_inner {
    padding: 0 20px;
  }

  .recInfoJob_label {
    font-size: 12px;
  }

  .recInfoJob_lead,
  .recInfoSec_lead {
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
  }

  .recInfoJob_points {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 28px;
  }

  .recInfoJob_points_item {
    padding: 14px 8px;
  }

  .recInfoJob_points_item:first-child {
    grid-column: 1 / -1;
  }

  .recInfoJob_points dt {
    font-size: 12px;
    padding-bottom: 6px;
    margin-bottom: 6px;
  }

  .recInfoJob_points dd {
    font-size: 14px;
  }

  .recInfoJob_small {
    font-size: 11px;
  }

  .recInfoJob_links {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 28px;
  }

  .recInfoJob_links_btn {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    padding: 12px 20px;
  }

  .recInfoJob_entry-wrap {
    margin-top: 28px;
  }

  .recInfoSec {
    padding: 40px 0;
  }

  .recInfoSec_intro {
    padding-bottom: 0;
  }

  .recInfoSec_tit {
    font-size: 20px;
  }

  .recInfoSec_facts_item {
    display: block;
    padding: 12px 0;
  }

  .recInfoSec_facts dt,
  .recInfoSec_facts dd {
    font-size: 14px;
  }

  .recInfoSec_facts dd {
    margin-top: 4px;
  }

  .recInfoFlow {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 24px;
  }

  .recInfoFlow_item {
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 10px;
    padding: 16px;
  }

  .recInfoFlow_num {
    grid-row: 1 / 3;
    font-size: 24px;
  }

  .recInfoFlow_tit {
    margin-top: 0;
    font-size: 16px;
  }

  .recInfoFlow_desc {
    margin-top: 4px;
  }

  .recInfoSupport {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 24px;
  }

  .recInfoSupport_item {
    padding: 16px 18px;
  }

  .recInfoSupport_tit {
    font-size: 16px;
  }

  .recInfoSupport_desc {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .recInfoJob_points {
    grid-template-columns: repeat(3, 1fr);
  }

  .recInfoFlow {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 374px) {
  .recInfoJob_points {
    grid-template-columns: 1fr;
  }
}

/* ------------------------------------ */
/* 募集要項（guideline.html）2026-11-05 再構成 */
/* ------------------------------------ */
.recGl {
  color: #1f385a;
  padding: 56px 0;
}

.recGl_inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

.recGl_summary {
  background-color: #f3f7fb;
}

.recGl_eyebrow {
  font-size: 15px;
  font-weight: 700;
  color: #1E60B4;
  letter-spacing: .05em;
  text-align: center;
}

.recGl_tit {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  text-align: center;
  padding-bottom: 14px;
  position: relative;
}

.recGl_eyebrow + .recGl_tit {
  margin-top: 6px;
}

.recGl_tit::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background-color: #24b7d3;
  margin: 12px auto 0;
}

/* 募集概要カード */
.recGl_cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 28px;
}

.recGl_card {
  background-color: #fff;
  border: 1px solid #d6e2ef;
  border-radius: 8px;
  padding: 14px 16px;
}

.recGl_card dt {
  font-size: 12px;
  font-weight: 700;
  color: #1E60B4;
  letter-spacing: .05em;
}

.recGl_card dd {
  margin-top: 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.recGl_card_sub {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #4a5f7a;
  margin-top: 2px;
}

.recGl_note {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.7;
  color: #4a5f7a;
}

.recGl_cta {
  margin-top: 28px;
  text-align: center;
}

/* 詳細募集要項 */
.recGl_table {
  margin-top: 28px;
  border-top: 1px solid #d6e2ef;
}

.recGl_row {
  display: grid;
  grid-template-columns: 180px 1fr;
  border-bottom: 1px solid #d6e2ef;
}

.recGl_row dt {
  background-color: #f3f7fb;
  padding: 18px 20px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

.recGl_row dd {
  padding: 18px 20px;
  font-size: 15px;
  line-height: 1.8;
  min-width: 0;
}

.recGl_row dd > * + * {
  margin-top: 6px;
}

.recGl_main {
  font-size: 17px;
  font-weight: 700;
}

.recGl_sub {
  font-size: 13px;
  color: #4a5f7a;
  line-height: 1.7;
}

.recGl_list li {
  position: relative;
  padding-left: 1.1em;
}

.recGl_list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .75em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #24b7d3;
}

.recGl_list li + li {
  margin-top: 2px;
}

.recGl_list-plain li {
  padding-left: 0;
}

.recGl_list-plain li::before {
  content: none;
}

.recGl_label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background-color: #1f385a;
  border-radius: 3px;
  padding: 0 8px;
  margin-right: 8px;
  line-height: 1.8;
  vertical-align: 1px;
}

.recGl a.recGl_link:link,
.recGl a.recGl_link:visited,
.recGl_link {
  color: #1E60B4;
  text-decoration: underline;
  font-weight: 600;
}

.recGl_link:hover {
  text-decoration: none;
}

/* 折りたたみ（details/summary：JavaScript なしで開閉できる） */
.recGl_more {
  border: 1px solid #d6e2ef;
  border-radius: 6px;
  background-color: #fff;
}

.recGl_more summary {
  cursor: pointer;
  list-style: none;
  padding: 8px 40px 8px 14px;
  font-size: 14px;
  font-weight: 700;
  color: #1E60B4;
  position: relative;
}

.recGl_more summary::-webkit-details-marker {
  display: none;
}

.recGl_more summary::after {
  content: '＋';
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.recGl_more[open] summary::after {
  content: '−';
}

.recGl_more summary:focus-visible {
  outline: 2px solid #1E60B4;
  outline-offset: 2px;
}

.recGl_more_body {
  padding: 0 14px 12px;
  font-size: 14px;
  line-height: 1.8;
}

.recGl_more_body > * + * {
  margin-top: 6px;
}

.recGl_more_tit {
  font-weight: 700;
}

/* 応募・選考 */
.recGl_flow {
  background-color: #f3f7fb;
}

.recGl_steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 28px;
}

.recGl_steps li {
  background-color: #fff;
  border: 1px solid #d6e2ef;
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.recGl_steps_num {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #24b7d3;
  line-height: 1.1;
}

.recGl_steps_txt {
  font-size: 13px;
  line-height: 1.6;
}

.recGl_steps_txt strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .recGl {
    padding: 36px 0;
  }

  .recGl_inner {
    padding: 0 16px;
  }

  .recGl_eyebrow {
    font-size: 13px;
  }

  .recGl_tit {
    font-size: 21px;
    padding-bottom: 10px;
  }

  .recGl_tit::after {
    margin-top: 8px;
  }

  .recGl_cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 20px;
  }

  .recGl_card {
    padding: 10px 12px;
  }

  .recGl_card dt {
    font-size: 11px;
  }

  .recGl_card dd {
    font-size: 15px;
  }

  .recGl_card_sub {
    font-size: 11px;
  }

  .recGl_cta {
    margin-top: 20px;
  }

  .recGl_table {
    margin-top: 20px;
  }

  .recGl_row {
    grid-template-columns: 1fr;
  }

  .recGl_row dt {
    padding: 8px 12px;
    font-size: 14px;
  }

  .recGl_row dd {
    padding: 12px 12px 16px;
    font-size: 14px;
  }

  .recGl_main {
    font-size: 16px;
  }

  .recGl_sub {
    font-size: 12px;
  }

  .recGl_more summary {
    font-size: 13px;
  }

  .recGl_more_body {
    font-size: 13px;
  }

  .recGl_steps {
    grid-template-columns: 1fr;
    gap: 6px;
    margin-top: 20px;
  }

  .recGl_steps li {
    padding: 10px 12px;
    align-items: center;
  }

  .recGl_steps_txt strong {
    display: inline;
    margin-right: 8px;
    font-size: 15px;
  }

}

@media screen and (max-width: 374px) {
  .recGl_cards {
    grid-template-columns: 1fr;
  }
}

.recGl_card_sub.recGl_card_em {
  color: #1f385a;
  font-weight: 700;
  font-size: 13px;
}

@media screen and (max-width: 374px) {
  .recGl_card {
    display: grid;
    grid-template-columns: 5.5em 1fr;
    column-gap: 8px;
    align-items: baseline;
    padding: 8px 10px;
  }

  .recGl_card dd {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .recGl_list-plain .recGl_label {
    display: table;
    margin: 0 0 2px;
  }

  .recGl_list-plain li + li {
    margin-top: 8px;
  }
}

/* .recTopFuture_entry-btn の文字色が共通の a:link（#000）に負けて青地に黒文字になるため */
a.recTopFuture_entry-btn:link,
a.recTopFuture_entry-btn:visited,
a.recTopFuture_entry-btn:hover {
  color: #fff;
}

/* ------------------------------------ */
/* ラクサスの強み：05 教育・研修（2026-11-06 追加） */
/* ------------------------------------ */
.recStrengthsFeatures_ol > li.recStrengths_full {
  width: 100%;
  margin-right: 0;
}

.recStrengths_list {
  margin-top: 12px;
  font-size: min(calc((17 / 1200) * 100vw), 17px);
  line-height: 1.8;
  letter-spacing: .03em;
}

.recStrengths_list li + li {
  margin-top: 6px;
}

.recStrengths_list + .recUnder-txt-m {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .recStrengths_list {
    font-size: calc((24 / 750) * 100vw);
  }
}

/* 未経験でも活躍できる理由：求める人物像 */
.recReason_persona dt {
  flex-basis: 240px;
}

.recReason_persona_s {
  display: block;
  font-size: 12px;
  font-weight: 500;
}

/* ------------------------------------ */
/* 募集要項 2026-11-06 再調整: 冒頭・英字ラベル・写真 */
/* ------------------------------------ */
.recGl_intro {
  padding: 44px 0 36px;
  text-align: center;
}

.recGl_intro_en,
.recGl_en {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  color: #24b7d3;
  letter-spacing: .2em;
  text-align: center;
  line-height: 1.2;
}

.recGl_intro_en {
  font-size: 15px;
}

.recGl_intro_lead {
  margin-top: 10px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.5;
}

.recGl_intro_sep {
  color: #24b7d3;
  margin: 0 .3em;
}

.recGl_en {
  font-size: 13px;
  margin-bottom: 6px;
}

.recGl_card_line {
  display: block;
  margin-top: 2px;
  font-size: 15px;
}

/* 集合写真：募集概要（水色）と募集要項（白）の境目にまたがって配置 */
.recGl_photo {
  background: linear-gradient(#f3f7fb 50%, #fff 50%);
  padding: 0 40px;
}

.recGl_photo img {
  display: block;
  width: 100%;
  max-width: 1100px;
  height: 420px;
  margin: 0 auto;
  object-fit: cover;
  object-position: 50% 62%;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(31, 56, 90, .12);
}

.recGl_photo + .recGl_detail {
  padding-top: 48px;
}

/* 応募・選考：写真と流れの2カラム */
.recGl_flow_body {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 24px;
  align-items: center;
  margin-top: 28px;
}

.recGl_flow_img img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  border-radius: 10px;
}

.recGl_flow_body .recGl_steps {
  grid-template-columns: 1fr;
  margin-top: 0;
}

.recGl_flow_body .recGl_steps li {
  align-items: center;
}

.recGl_flow_body .recGl_steps_txt strong {
  display: inline;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .recGl_intro {
    padding: 28px 0 24px;
  }

  .recGl_intro_en {
    font-size: 12px;
  }

  .recGl_intro_lead {
    margin-top: 6px;
    font-size: 18px;
    letter-spacing: .04em;
  }

  .recGl_en {
    font-size: 11px;
    margin-bottom: 4px;
  }

  .recGl_card_line {
    font-size: 13px;
  }

  .recGl_photo {
    padding: 0 16px;
  }

  .recGl_photo img {
    height: 200px;
    border-radius: 8px;
  }

  .recGl_photo + .recGl_detail {
    padding-top: 32px;
  }

  .recGl_flow_body {
    display: block;
    margin-top: 20px;
  }

  .recGl_flow_img img {
    height: 170px;
    min-height: 0;
    border-radius: 8px;
  }

  .recGl_flow_body .recGl_steps {
    margin-top: 12px;
  }
}

@media screen and (max-width: 374px) {
  .recGl_intro_sep {
    display: none;
  }

  .recGl_intro_lead .nowrap {
    display: block;
  }
}

/* ------------------------------------ */
/* 募集要項 2026-11-07: 新卒採用・中途採用の区分表示 */
/* ------------------------------------ */
.recGl_kubun {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
  padding: 1px 10px;
  border-radius: 999px;
  border: 1.5px solid transparent;
}

.recGl_kubun-new {
  color: #0b7f97;
  background-color: #e3f6fa;
  border-color: #24b7d3;
}

.recGl_kubun-mid {
  color: #fff;
  background-color: #1f385a;
  border-color: #1f385a;
}

.recGl_kubun-common {
  color: #1f385a;
  background-color: #fff;
  border-color: #b9c9dc;
}

.recGl_intro_kubun {
  margin-top: 12px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.recGl_intro_kubun .recGl_kubun {
  font-size: 14px;
  padding: 3px 16px;
}

.recGl_tit_sub {
  margin-top: -2px;
  font-size: 13px;
  color: #4a5f7a;
  text-align: center;
}

.recGl_group_tit {
  margin-top: 28px;
  font-size: 15px;
  font-weight: 700;
  padding-left: 12px;
  border-left: 4px solid #24b7d3;
  line-height: 1.4;
}

.recGl_group_tit + .recGl_cards,
.recGl_group_tit + .recGl_kubun_cols {
  margin-top: 12px;
}

.recGl_kubun_cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.recGl_kubun_box {
  background-color: #fff;
  border-radius: 8px;
  padding: 16px 18px;
  border: 1px solid #d6e2ef;
  border-top: 4px solid #24b7d3;
}

.recGl_kubun_box-mid {
  border-top-color: #1f385a;
}

.recGl_kubun_box_txt {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
  color: #4a5f7a;
}

.recGl_kubun_box_dl {
  margin-top: 8px;
}

.recGl_kubun_box_dl > div {
  display: grid;
  grid-template-columns: 5.5em 1fr;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px dashed #d6e2ef;
}

.recGl_kubun_box_dl dt {
  font-size: 12px;
  font-weight: 700;
  color: #1E60B4;
  padding-top: 3px;
}

.recGl_kubun_box_dl dd {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

/* 詳細表の区分別ブロック */
.recGl_split + .recGl_split {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed #d6e2ef;
}

.recGl_split > * + * {
  margin-top: 6px;
}

@media screen and (max-width: 767px) {
  .recGl_intro_kubun .recGl_kubun {
    font-size: 12px;
    padding: 2px 12px;
  }

  .recGl_tit_sub {
    font-size: 12px;
  }

  .recGl_group_tit {
    margin-top: 22px;
    font-size: 14px;
  }

  .recGl_kubun_cols {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .recGl_kubun_box {
    padding: 12px 14px;
  }

  .recGl_kubun_box_txt {
    font-size: 13px;
  }

  .recGl_kubun_box_dl dd {
    font-size: 15px;
  }

  .recGl_kubun {
    font-size: 11px;
  }
}

/* ------------------------------------ */
/* 中途採用の年齢条件（募集要項・採用TOP）2026-11-07 */
/* ------------------------------------ */
.recGl_age {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}

.recGl_age_item {
  border: 1.5px solid #1f385a;
  border-radius: 8px;
  padding: 10px 12px;
  background-color: #fff;
  text-align: center;
}

.recGl_age_item-free {
  border-color: #24b7d3;
}

.recGl_age_label {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.recGl_age_label_s {
  display: block;
  font-size: 11px;
  font-weight: 500;
}

.recGl .recGl_age_val {
  margin-top: 2px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: #1f385a;
  letter-spacing: .04em;
}

.recGl .recGl_age_item-free .recGl_age_val {
  color: #0b7f97;
}

.recGl_age_note {
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.5;
  color: #4a5f7a;
}

.recGl_split .recGl_age,
.recGl_kubun_box .recGl_age {
  margin-top: 10px;
}

/* 採用TOP */
.recInfoJob_age {
  margin-top: 16px;
  background-color: #fff;
  border: 1px solid #d6e2ef;
  border-radius: 12px;
  padding: 14px 16px;
}

.recInfoJob_age_tit {
  font-size: 13px;
  font-weight: 700;
  color: #1E60B4;
  letter-spacing: .05em;
}

.recInfoJob_age_ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 8px;
}

.recInfoJob_age_ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1.5px solid #1f385a;
  border-radius: 8px;
  padding: 10px 8px;
}

.recInfoJob_age_ul li.recInfoJob_age_free {
  border-color: #24b7d3;
}

.recInfoJob_age_label {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.recInfoJob_age_val {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  color: #1f385a;
  letter-spacing: .04em;
}

.recInfoJob_age_free .recInfoJob_age_val {
  color: #0b7f97;
}

.recInfoJob_age_note {
  font-size: 11px;
  color: #4a5f7a;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .recGl .recGl_age_val {
    font-size: 20px;
  }

  .recInfoJob_age {
    padding: 12px;
  }

  .recInfoJob_age_ul {
    gap: 8px;
  }

  .recInfoJob_age_label {
    font-size: 12px;
  }

  .recInfoJob_age_val {
    font-size: 21px;
  }
}

@media screen and (max-width: 374px) {
  .recGl_age,
  .recInfoJob_age_ul {
    grid-template-columns: 1fr;
  }
}

/* ------------------------------------ */
/* 採用TOP：コンパクトな募集概要 2026-11-07 */
/* ------------------------------------ */
.recInfoJobBl-compact {
  padding: 64px 0 72px;
}

.recInfoJobBl-compact .recInfoJob_inner {
  max-width: 760px;
}

.recInfoJobBl-compact .recInfoJob_tit {
  margin-top: 0;
  font-size: clamp(22px, 2.2vw, 30px);
}

.recInfoJob_tit_sep {
  color: #24b7d3;
  margin: 0 .3em;
}

.recInfoJob_sum {
  margin-top: 24px;
  background-color: #fff;
  border: 1px solid #d6e2ef;
  border-radius: 12px;
  padding: 6px 24px;
  text-align: left;
}

.recInfoJob_sum_row {
  display: grid;
  grid-template-columns: 7em 1fr;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #e6edf5;
}

.recInfoJob_sum_row:last-child {
  border-bottom: none;
}

.recInfoJob_sum dt {
  font-size: 13px;
  font-weight: 700;
  color: #1E60B4;
  padding-top: 3px;
}

.recInfoJob_sum dd {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.recInfoJob_sum_ul li + li {
  margin-top: 4px;
}

.recInfoJob_sum_kubun {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  padding: 0 8px;
  margin-right: 8px;
  border-radius: 999px;
  color: #0b7f97;
  background-color: #e3f6fa;
  border: 1px solid #24b7d3;
  vertical-align: 2px;
}

.recInfoJob_sum_kubun-mid {
  color: #fff;
  background-color: #1f385a;
  border-color: #1f385a;
}

.recInfoJob_sum_s {
  font-size: .75em;
}

.recInfoJob_sum_note {
  margin-top: 8px;
  font-size: 12px;
  color: #4a5f7a;
  text-align: left;
}

.recInfoJobBl-compact .recInfoJob_links {
  margin-top: 24px;
}

.recInfoJobBl-compact .recInfoJob_entry-wrap {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .recInfoJobBl-compact {
    padding: 44px 0 48px;
  }

  .recInfoJob_sum {
    margin-top: 18px;
    padding: 2px 14px;
  }

  .recInfoJob_sum_row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 12px 0;
  }

  .recInfoJob_sum dt {
    padding-top: 0;
    font-size: 12px;
  }

  .recInfoJob_sum dd {
    font-size: 14px;
  }

  .recInfoJob_sum_note {
    font-size: 11px;
  }

  .recInfoJobBl-compact .recInfoJob_links {
    margin-top: 18px;
  }
}

@media screen and (max-width: 374px) {
  .recInfoJobBl-compact .recInfoJob_tit .nowrap {
    display: block;
  }

  .recInfoJob_tit_sep {
    display: none;
  }

  .recInfoJobBl-compact .recInfoJob_links_btn {
    font-size: 13px;
    padding: 12px 14px;
  }
}
