@charset "utf-8";
/* ============================================================
   採用（/recruit/）専用スタイル
   ・style.css の後ろに読み込む前提
   ・明朝を主役に、罫の太さと揃えを混ぜる（機械的に見せない）
   ・角丸は使わない
   ============================================================ */

:root{
  --rc-ink:#1a1a1a;
  --rc-navy:#0a2540;
  --rc-orange:#c26634;
  --rc-paper:#faf8f3;
  --rc-gray:#5a6070;
  --rc-rule:#d8d2c6;
}

.rc{color:var(--rc-ink);background:var(--rc-paper)}
.rc *{box-sizing:border-box}
.rc-wrap{max-width:980px;margin:0 auto;padding:0 24px}
.rc-narrow{max-width:760px;margin:0 auto;padding:0 24px}

/* ---------- パンくず ---------- */
.rc-crumb{font-size:.78rem;color:var(--rc-gray);letter-spacing:.04em;padding:22px 0 0}
.rc-crumb a{color:var(--rc-gray);text-decoration:none;border-bottom:1px solid #cfc9bd}
.rc-crumb a:hover{color:var(--rc-orange)}
.rc-crumb i{font-style:normal;margin:0 .55em;color:#b9b2a4}

/* ---------- ヒーロー ---------- */
.rc-hero{padding:56px 0 46px;border-bottom:3px solid var(--rc-navy)}
.rc-hero-en{font-size:.72rem;letter-spacing:.34em;color:var(--rc-orange);font-weight:700;margin-bottom:26px}
.rc-hero h1{
  font-family:'Noto Serif JP',serif;font-weight:600;
  font-size:clamp(2rem,5.4vw,3.4rem);line-height:1.34;letter-spacing:.01em;
  color:var(--rc-navy);margin:0 0 28px;
}
.rc-hero h1 em{
  font-style:normal;color:var(--rc-orange);
  /* カタカナの途中で折れて「ー）」だけ残るのを防ぐ。1行に収まる級数まで落とす */
  font-size:.56em;letter-spacing:.01em;white-space:nowrap;
  display:inline-block;margin-top:.35em;
}
.rc-hero-lead{
  max-width:34em;margin-left:auto;   /* 揃えを混ぜる：見出しは左／リードは右寄せの塊 */
  font-size:.97rem;line-height:2.15;color:var(--rc-gray);
}
.rc-hero-lead strong{color:var(--rc-ink);font-weight:600}

/* ---------- セクション ---------- */
.rc-sec{padding:60px 0 8px}
.rc-sec + .rc-sec{border-top:1px solid var(--rc-rule)}
.rc-h2{
  display:flex;align-items:baseline;gap:.7em;
  margin:0 0 30px;
}
.rc-h2 .n{
  font-family:'Noto Sans JP','Hiragino Sans',sans-serif;font-size:2.5rem;line-height:1;
  color:#ddd0c0;font-weight:200;letter-spacing:.02em;
}
.rc-h2 .t{
  font-family:'Noto Serif JP',serif;font-size:1.32rem;font-weight:600;
  color:var(--rc-navy);letter-spacing:.03em;line-height:1.5;
}
.rc-p{font-size:.95rem;line-height:2.1;color:#3c4250;margin:0 0 1.35em}
.rc-p strong{font-weight:600;color:var(--rc-ink)}
.rc-note{font-size:.8rem;line-height:1.95;color:#7a7f8c;margin:.4em 0 0}

/* ---------- 箇条書き ---------- */
.rc-list{list-style:none;margin:0 0 1.4em;padding:0}
.rc-list li{position:relative;padding:0 0 .85em 1.5em;font-size:.95rem;line-height:2;color:#3c4250}
.rc-list li::before{content:'';position:absolute;left:0;top:.92em;width:9px;height:1px;background:var(--rc-orange)}
.rc-steps{counter-reset:s;list-style:none;margin:0 0 1.4em;padding:0}
.rc-steps li{counter-increment:s;position:relative;padding:0 0 1em 2.5em;font-size:.95rem;line-height:2;color:#3c4250}
.rc-steps li::before{
  content:counter(s);position:absolute;left:0;top:.12em;
  font-family:'Noto Sans JP','Hiragino Sans',sans-serif;font-size:.95rem;color:var(--rc-orange);
  width:1.7em;text-align:right;font-weight:600;letter-spacing:.04em;
}

/* ---------- 報酬ブロック（級数のジャンプ率を大きく） ---------- */
.rc-pay{margin:6px 0 30px;border-top:3px solid var(--rc-navy);border-bottom:1px solid var(--rc-rule)}
.rc-pay-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:20px 2px;border-bottom:1px solid #e7e1d6}
.rc-pay-row:last-child{border-bottom:0}
.rc-pay-name{font-size:.92rem;color:#3c4250;line-height:1.7}
.rc-pay-name span{display:block;font-size:.76rem;color:#8a8e99;margin-top:.25em}
.rc-pay-amt{
  font-family:'Noto Sans JP','Hiragino Sans',sans-serif;white-space:nowrap;text-align:right;
  font-size:clamp(1.75rem,5vw,2.5rem);font-weight:500;color:var(--rc-navy);letter-spacing:.01em;line-height:1;
}
.rc-pay-amt i{font-style:normal;font-size:.5em;font-weight:500;margin-left:.25em;color:#6a7080}
.rc-pay-amt small{font-size:.42em;font-weight:400;color:#8a8e99;display:block;margin-top:.6em;letter-spacing:.06em}

/* ---------- 募集要項テーブル（項目名は右揃え＝揃えを混ぜる） ---------- */
.rc-dl{margin:0;border-top:1px solid var(--rc-navy)}
.rc-dl-row{display:grid;grid-template-columns:9em 1fr;gap:0 26px;padding:17px 2px;border-bottom:1px solid #e7e1d6}
.rc-dl dt{
  text-align:right;font-size:.82rem;color:#7d8290;letter-spacing:.08em;
  line-height:2.05;font-weight:500;
}
.rc-dl dd{margin:0;font-size:.93rem;line-height:2.05;color:#2c313c}
.rc-dl dd em{font-style:normal;color:var(--rc-orange);font-weight:600}
.rc-dl dd ul{list-style:none;margin:0;padding:0}
.rc-dl dd ul li{padding-left:1.1em;position:relative}
.rc-dl dd ul li::before{content:'―';position:absolute;left:0;color:#bdb6a8;font-size:.8em;top:.1em}

/* ---------- 引用・強調の帯（白抜き極太は使わない） ---------- */
.rc-quote{
  margin:26px 0 34px;padding:24px 26px;background:#fff;
  border-left:4px solid var(--rc-orange);border-top:1px solid var(--rc-rule);
  border-right:1px solid var(--rc-rule);border-bottom:1px solid var(--rc-rule);
}
.rc-quote p{margin:0;font-family:'Noto Serif JP',serif;font-size:1rem;line-height:2.05;color:var(--rc-navy)}

/* ---------- 求人カード（一覧） ---------- */
.rc-jobs{margin:0;padding:0;list-style:none}
.rc-job{
  display:block;padding:30px 0;border-top:1px solid var(--rc-rule);
  text-decoration:none;color:inherit;transition:background .25s ease,padding .25s ease;
}
.rc-job:last-child{border-bottom:1px solid var(--rc-rule)}
.rc-job:hover{background:#fff;padding-left:14px;padding-right:14px}
.rc-job-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.rc-job-tags span{
  font-size:.71rem;letter-spacing:.08em;color:#6a7080;
  border:1px solid var(--rc-rule);padding:3px 9px;background:#fff;
}
.rc-job h3{
  font-family:'Noto Serif JP',serif;font-size:1.42rem;font-weight:600;
  color:var(--rc-navy);margin:0 0 12px;line-height:1.5;letter-spacing:.02em;
}
.rc-job p{font-size:.9rem;line-height:1.95;color:var(--rc-gray);margin:0 0 16px;max-width:44em}
.rc-job-go{font-size:.82rem;letter-spacing:.1em;color:var(--rc-orange);font-weight:600}
.rc-job-go::after{content:' →'}

/* ---------- CTA ---------- */
.rc-cta{margin:16px 0 0;padding:44px 0 64px;text-align:center}
.rc-btn{
  display:inline-block;padding:17px 44px;background:var(--rc-navy);color:#fff;
  text-decoration:none;font-size:.95rem;letter-spacing:.09em;font-weight:600;
  border:1px solid var(--rc-navy);transition:background .25s,color .25s;
}
.rc-btn:hover{background:#fff;color:var(--rc-navy)}
.rc-btn-ghost{background:transparent;color:var(--rc-navy)}
.rc-btn-ghost:hover{background:var(--rc-navy);color:#fff}

/* ---------- 応募フォーム ---------- */
.rc-form-sec{background:#fff;border-top:3px solid var(--rc-navy);padding:52px 0 60px;margin-top:46px}
.rc-form{max-width:680px;margin:0 auto}
.rc-field{margin-bottom:22px}
.rc-field label{display:block;font-size:.83rem;letter-spacing:.06em;color:#4a5060;margin-bottom:8px;font-weight:600}
.rc-field label .req{
  display:inline-block;margin-left:.7em;font-size:.68rem;letter-spacing:.06em;
  color:#c0392b;border:1px solid #e8c3bd;padding:1px 6px;font-weight:500;vertical-align:.1em;
}
.rc-field label .opt{
  display:inline-block;margin-left:.7em;font-size:.68rem;letter-spacing:.06em;
  color:#8a8e99;border:1px solid #e2ddd2;padding:1px 6px;font-weight:400;vertical-align:.1em;
}
.rc-field input,.rc-field textarea,.rc-field select{
  width:100%;padding:13px 14px;border:1px solid #cfc9bd;background:#fdfcfa;
  font-family:inherit;font-size:.95rem;color:var(--rc-ink);line-height:1.7;
}
.rc-field input:focus,.rc-field textarea:focus,.rc-field select:focus{
  outline:none;border-color:var(--rc-navy);background:#fff;
}
.rc-field textarea{min-height:170px;resize:vertical}
.rc-field .hint{font-size:.78rem;color:#8a8e99;margin:7px 0 0;line-height:1.8}
.form-submit{
  width:100%;padding:18px;background:var(--rc-orange);color:#fff;border:0;
  font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:.1em;cursor:pointer;
  transition:background .25s;
}
.form-submit:hover{background:#a9522a}
.rc-form .form-note{font-size:.79rem;color:#8a8e99;line-height:1.9;margin-top:16px}

@media (max-width:640px){
  .rc-hero{padding:38px 0 34px}
  .rc-hero h1 em{font-size:.52em}
  .rc-hero-lead{margin-left:0}
  .rc-sec{padding:44px 0 6px}
  .rc-h2{flex-direction:row;gap:.5em}
  .rc-h2 .n{font-size:2rem}
  .rc-h2 .t{font-size:1.1rem}
  .rc-dl-row{grid-template-columns:1fr;gap:6px 0}
  .rc-dl dt{text-align:left;border-bottom:1px solid #efeae0;padding-bottom:4px}
  .rc-pay-row{flex-direction:column;align-items:flex-start;gap:8px}
  .rc-pay-amt{text-align:left}
}
