@charset "UTF-8";
/* ==========================================================================
 * recruit.css — 採用情報（recruit.php）固有スタイル
 * ========================================================================== */

/* ============ INTRO ============ */
.rc-intro{ background:#fefefe; padding:64px 24px 72px; }
.rc-intro__inner{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; }
.rc-intro__title{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:28px; line-height:1.5; color:var(--mtx-blue); margin:0 0 18px; }
.rc-intro__text{ font-size:15px; line-height:2; color:#3a3f5a; margin:0 0 26px; }
.rc-intro__btns{ display:flex; gap:12px; flex-wrap:wrap; align-items:stretch; }
.rc-intro__btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:"Zen Kaku Gothic New",sans-serif; font-size:14px; padding:14px 18px; border-radius:10px; text-decoration:none; text-align:center; transition:opacity .25s ease,border-color .25s ease; }
.rc-intro__btn--gold{ background:var(--mtx-gold-grad); color:#fff; font-weight:900; box-shadow:0 8px 20px rgba(160,128,40,.3); }
.rc-intro__btn--gold:hover{ opacity:.92; }
.rc-intro__btn--outline{ background:#fff; border:2px solid rgba(19,26,134,.16); color:var(--mtx-blue); font-weight:700; white-space:nowrap; }
.rc-intro__btn--outline:hover{ border-color:var(--mtx-gold); }
.rc-intro__img{ position:relative; aspect-ratio:4/3; border-radius:20px; box-shadow:0 14px 34px rgba(19,26,134,.14); background:#eef1f5; }
.rc-intro__photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:20px; }
.rc-intro__cat{ position:absolute; right:-70px; bottom:-16px; z-index:2; height:165px; width:auto; filter:drop-shadow(0 10px 18px rgba(160,128,40,.3)); }
@media(max-width:860px){ .rc-intro__cat{ right:-10px; height:130px; } }
@media(max-width:860px){ .rc-intro__inner{ grid-template-columns:1fr; gap:30px; } }

/* ============ FEATURES ============ */
.rc-feat{ background:#f4f5f7; padding:88px 24px; }
.rc-feat__inner{ max-width:1080px; margin:0 auto; }
.rc-feat .mtx-sec-head{ margin-bottom:20px; }
.rc-feat__title{ font-size:32px; margin:0 0 14px; }
.rc-feat__lead{ font-size:14.5px; line-height:1.9; color:#4a4f66; max-width:720px; margin:0 auto; }
.rc-feat__list{ display:flex; flex-direction:column; gap:24px; margin-top:44px; }
.rc-feat__card{ background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 8px 22px rgba(19,26,134,.05); display:grid; grid-template-columns:300px 1fr; }
.rc-feat__ph{ position:relative; min-height:220px; background:#eef1f5; overflow:hidden; }
.rc-feat__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rc-feat__cbody{ padding:36px 40px; }
.rc-feat__chead{ display:flex; align-items:center; gap:18px; margin-bottom:16px; padding-bottom:18px; border-bottom:2px dashed rgba(198,166,60,.5); }
.rc-feat__num{ display:flex; flex-direction:column; align-items:center; justify-content:center; flex:none; line-height:1; }
.rc-feat__point{ font-family:"Barlow",sans-serif; font-weight:700; font-size:10px; letter-spacing:.16em; color:#C6A63C; }
.rc-feat__no{ font-family:"Barlow",sans-serif; font-weight:800; font-size:44px; color:#C6A63C; line-height:.9; }
.rc-feat__ctitle{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:21px; color:var(--mtx-blue); margin:0; line-height:1.5; }
.rc-feat__ctext{ font-size:14px; line-height:2; color:#4a4f66; margin:0; }
@media(max-width:820px){
  .rc-feat__card{ grid-template-columns:1fr; }
  .rc-feat__ph{ min-height:180px; }
  .rc-feat__cbody{ padding:28px 24px; }
}

/* ============ REQUIREMENTS ============ */
.rc-req{ background:var(--mtx-blue); padding:88px 24px; scroll-margin-top:80px; }
.rc-intro__btns{ margin-top:26px; }
.rc-req__inner{ max-width:960px; margin:0 auto; }
.rc-req__eyebrow{ color:#C6A63C; letter-spacing:.24em; }
.rc-req__title{ color:#fff; }
.rc-req__table{ background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 16px 44px rgba(0,0,0,.25); }
.rc-req__row{ display:grid; grid-template-columns:200px 1fr; border-top:1px solid rgba(19,26,134,.08); }
.rc-req__row:first-child{ border-top:none; }
.rc-req__th{ background:#f4f5f7; padding:22px 26px; font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:15px; color:var(--mtx-blue); }
.rc-req__td{ padding:22px 28px; font-size:14px; line-height:1.95; color:#3a3f5a; white-space:pre-line; }
@media(max-width:680px){
  .rc-req__row{ grid-template-columns:1fr; }
}

/* ============ FLOW ============ */
.rc-flow{ background:#f4f5f7; padding:88px 24px; }
.rc-flow__inner{ max-width:1080px; margin:0 auto; }
.rc-flow__list{ display:flex; flex-direction:column; gap:16px; }
.rc-flow__card{ display:flex; gap:22px; background:#fff; border-radius:18px; padding:26px 30px; box-shadow:0 6px 18px rgba(19,26,134,.06); align-items:flex-start; }
.rc-flow__badge{ display:flex; flex-direction:column; align-items:center; justify-content:center; width:66px; height:66px; flex:none; border-radius:16px; background:linear-gradient(140deg,#D9C05F,#C6A63C); color:#fff; }
.rc-flow__step{ font-family:"Barlow",sans-serif; font-weight:700; font-size:10px; letter-spacing:.1em; }
.rc-flow__no{ font-family:"Barlow",sans-serif; font-weight:800; font-size:26px; line-height:1; }
.rc-flow__ctitle{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:18px; color:var(--mtx-blue); margin:0 0 8px; }
.rc-flow__ctext{ font-size:13.5px; line-height:1.9; color:#4a4f66; margin:0; }

/* ============ ENTRY FORM ============ */
.rc-entry{ background:#fefefe; padding:88px 24px; scroll-margin-top:80px; }
.rc-entry__inner{ max-width:820px; margin:0 auto; }
.rc-entry__head{ margin-bottom:14px; }
.rc-entry__title{ font-size:30px; margin:0 0 14px; }
.rc-entry__lead{ font-size:14.5px; line-height:1.9; color:#4a4f66; max-width:640px; margin:0 auto 40px; text-align:left; }
.rc-form{ background:#f4f5f7; border-radius:24px; padding:40px; }
.rc-form__title{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:18px; color:var(--mtx-blue); margin:0 0 26px; padding-bottom:16px; border-bottom:2px solid rgba(19,26,134,.1); }
.rc-form__title i{ color:var(--mtx-gold); font-size:19px; }
.rc-form__title-txt{ flex:1; min-width:0; }
.rc-form__title-badge{ font-size:12px; color:#fff; background:var(--mtx-gold-grad); padding:5px 14px; border-radius:20px; font-weight:700; white-space:nowrap; }
.rc-form__grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rc-form__full{ grid-column:1/-1; }
.rc-form__label{ display:block; font-size:13px; font-weight:700; color:var(--mtx-blue); margin-bottom:7px; }
.rc-form__label span{ color:var(--mtx-gold-text); }
.rc-input{ width:100%; box-sizing:border-box; padding:13px 16px; border:1.5px solid rgba(19,26,134,.16); border-radius:11px; font-family:"Noto Sans JP",sans-serif; font-size:15px; color:#1e2233; background:#fff; }
.rc-input:focus{ outline:none; border-color:#DCBE3A; }
select.rc-input{ appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23003A97' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px; }
.rc-form__submit{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px; }
.rc-form__tel{ text-align:center; margin:22px 0 0; font-size:14px; color:#4a4f66; }
.rc-form__tel a{ font-family:"Barlow",sans-serif; font-weight:800; font-size:20px; color:var(--mtx-blue); text-decoration:none; }
@media(max-width:640px){
  .rc-form{ padding:28px 22px; }
  .rc-form__grid{ grid-template-columns:1fr; }
}

/* ============ スマホ文字サイズ調整 ============ */
@media(max-width:640px){
  .rc-intro__title{ font-size:22px; }
  .rc-intro__text{ font-size:14.5px; }
  .rc-intro__btns{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .rc-intro__btns .mtx-btn{ width:100%; padding:14px 8px; font-size:13px; }
  .rc-feat__title{ font-size:22px; }
  .rc-feat__lead{ font-size:13.5px; text-align:left; }
  .rc-feat__chead{ flex-direction:column; align-items:flex-start; gap:8px; padding-bottom:14px; }
  .rc-feat__num{ flex-direction:row; align-items:baseline; gap:8px; }
  .rc-feat__ctitle{ font-size:17px; }
  .rc-feat__no{ font-size:32px; }
  .rc-feat__ctext{ font-size:13.5px; }
  .rc-req__th{ font-size:14px; padding:16px 18px; }
  .rc-req__td{ font-size:13.5px; padding:16px 18px; }
  .rc-flow__card{ flex-direction:column; gap:12px; padding:20px 20px; }
  .rc-flow__badge{ flex-direction:row; align-items:baseline; gap:6px; width:auto; height:auto; padding:6px 16px; border-radius:20px; align-self:flex-start; }
  .rc-flow__step{ font-size:10px; }
  .rc-flow__no{ font-size:20px; }
  .rc-flow__ctitle{ font-size:16px; }
  .rc-flow__ctext{ font-size:13px; }
  .rc-entry__title{ font-size:22px; }
  .rc-entry__lead{ font-size:14px; }
  .rc-form{ padding:26px 20px; }
  .rc-form__title{ font-size:16px; }
}
