/* ==========================================================
   採用情報（/recruit/ 配下）専用スタイル
   旧「エグチ採用サイト」(myrecruit.net/eguchi) 移設用
   読み込み：header.php（最上位の親ページ slug が recruit のとき）
   ========================================================== */

.rc{ --rc-brown:#6b3500; --rc-brown2:#5f330d; --rc-yellow:#d9d964; --rc-cream:#ffffe8; --rc-gray:#f4f4ef; --rc-text:#333; }
.rc{ color:var(--rc-text); line-height:1.9; font-size:16px; padding:8px 36px 16px; }
/* 読み物・求人詳細は行が長くなりすぎないよう本文幅を抑えて中央に */
.rc.rc-article,.rc.rc-job{ max-width:1080px; margin-left:auto; margin-right:auto; }
/* テーマ側の癖：No side テンプレートは #mainColumn が1200px なのに #page-wrapper が1000px で左寄りになる → 本文を親いっぱいに */
.page-noside #mainColumn #page-wrapper{ width:100%; }  /* テーマの .page-noside #page-wrapper{width:1000px} より強い指定にする */
.page-noside #contents #mainColumn{ max-width:100%; }
.rc *{ box-sizing:border-box; }
.rc img{ max-width:100%; height:auto; display:block; }
.rc a{ color:var(--rc-brown); }
.rc p{ margin:0 0 1em; }
.rc ul{ margin:0 0 1em 1.4em; padding:0; }
.rc section{ margin:0 0 56px; }
.rc h2.rc-h{ font-size:26px; color:var(--rc-brown); border-left:8px solid var(--rc-yellow); padding:8px 16px; margin:0 0 24px; line-height:1.4; background:none; }
.rc h2.rc-h small{ display:block; font-size:13px; font-weight:normal; color:#777; margin-top:2px; }
.rc h3.rc-h3{ font-size:21px; color:#fff; background:var(--rc-brown); padding:10px 18px; margin:40px 0 20px; border-radius:3px; line-height:1.4; }
.rc .rc-lead{ font-size:17px; text-align:center; margin:0 0 32px; }
.rc .rc-center{ text-align:center; }

/* --- ボタン --- */
.rc .rc-btn{ display:inline-block; background:var(--rc-brown); color:#fff; text-decoration:none; font-weight:bold; padding:14px 34px; border-radius:40px; line-height:1.3; transition:opacity .2s; }
.rc .rc-btn:hover{ opacity:.85; }
.rc .rc-btn.rc-btn-y{ background:var(--rc-yellow); color:var(--rc-brown); }
.rc .rc-btn.rc-btn-lg{ font-size:18px; padding:18px 48px; }
.rc .rc-btn.rc-btn-sm{ padding:10px 22px; font-size:14px; }

/* --- トップ：ヒーロー --- */
.rc-hero{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:0 0 28px; }
.rc-hero .rc-hero-item{ position:relative; aspect-ratio:3/4; overflow:hidden; background:#000; }
.rc-hero .rc-hero-item img{ width:100%; height:100%; object-fit:cover; opacity:.9; }
.rc-hero .rc-hero-item span{ position:absolute; left:0; right:0; bottom:0; padding:70px 12px 16px; color:#fff; font-size:22px; font-weight:bold; text-align:center; text-shadow:0 1px 6px rgba(0,0,0,.8); background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,0)); letter-spacing:.05em; }
.rc-catch{ text-align:center; margin:0 0 36px; }
.rc-catch .rc-catch-main{ font-size:30px; font-weight:bold; color:var(--rc-brown); line-height:1.4; margin:0 0 10px; }
.rc-catch .rc-catch-sub{ font-size:16px; margin:0; }

/* --- CTAバー --- */
.rc-cta{ background:var(--rc-cream); border:2px solid var(--rc-yellow); border-radius:6px; padding:22px 24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 40px; margin:0 0 48px; }
.rc-cta .rc-tel{ font-size:15px; font-weight:bold; color:var(--rc-brown); line-height:1.3; }
.rc-cta .rc-tel strong{ display:block; font-size:30px; letter-spacing:.03em; }
.rc-cta .rc-tel a{ text-decoration:none; color:inherit; }
.rc-cta .rc-tel small{ display:block; font-size:12px; font-weight:normal; color:#666; }

/* --- カード一覧 --- */
.rc-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; list-style:none; margin:0; padding:0; }
.rc-cards.rc-cards-2{ grid-template-columns:repeat(2,1fr); }
.rc-cards li{ margin:0; background:#fff; border:1px solid #e3e3dc; border-radius:6px; overflow:hidden; box-shadow:0 2px 6px rgba(0,0,0,.06); transition:transform .2s, box-shadow .2s; }
.rc-cards li:hover{ transform:translateY(-3px); box-shadow:0 6px 16px rgba(0,0,0,.12); }
.rc-cards a{ display:block; text-decoration:none; color:var(--rc-text); height:100%; }
.rc-cards .rc-card-img{ aspect-ratio:3/2; overflow:hidden; background:#eee; }
.rc-cards .rc-card-img img{ width:100%; height:100%; object-fit:cover; }
.rc-cards .rc-card-body{ padding:14px 16px 18px; }
.rc-cards .rc-tag{ display:inline-block; background:var(--rc-yellow); color:var(--rc-brown); font-size:12px; font-weight:bold; padding:2px 10px; border-radius:3px; margin:0 0 6px; }
.rc-cards .rc-card-title{ font-size:16px; font-weight:bold; color:var(--rc-brown); line-height:1.5; margin:0 0 6px; }
.rc-cards .rc-card-text{ font-size:13px; color:#555; margin:0; line-height:1.6; }
.rc-cards .rc-card-more{ display:block; text-align:right; font-size:13px; color:var(--rc-brown); margin-top:8px; }
.rc-cards .rc-card-more:after{ content:" ▶"; font-size:10px; }

/* --- 特集ボックス --- */
.rc-feature{ background:var(--rc-brown); color:#fff; border-radius:8px; padding:30px 32px; display:flex; gap:28px; align-items:center; margin:0 0 48px; }
.rc-feature .rc-feature-text{ flex:1; }
.rc-feature .rc-feature-text h3{ color:var(--rc-yellow); font-size:22px; margin:0 0 10px; line-height:1.4; }
.rc-feature .rc-feature-text p{ margin:0 0 14px; }
.rc-feature .rc-feature-img{ width:38%; flex:none; border-radius:6px; overflow:hidden; }
.rc-feature .rc-feature-img img{ width:100%; aspect-ratio:3/2; object-fit:cover; }
.rc-feature a.rc-btn{ background:var(--rc-yellow); color:var(--rc-brown); }

/* --- リンクバナー（募集要項・先輩社員） --- */
.rc-links{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; list-style:none; margin:0; padding:0; }
.rc-links li{ margin:0; }
.rc-links a{ display:block; background:var(--rc-gray); border:2px solid var(--rc-yellow); border-radius:6px; padding:22px 24px; text-decoration:none; color:var(--rc-brown); font-weight:bold; font-size:18px; position:relative; }
.rc-links a:after{ content:"▶"; position:absolute; right:18px; top:50%; transform:translateY(-50%); font-size:13px; }
.rc-links a small{ display:block; font-size:13px; font-weight:normal; color:#666; margin-top:4px; }

/* --- 求人詳細 --- */
.rc-job-hero{ position:relative; margin:0 0 24px; border-radius:6px; overflow:hidden; }
.rc-job-hero img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.rc-job-copy{ font-size:22px; font-weight:bold; color:var(--rc-brown); background:var(--rc-cream); border-left:8px solid var(--rc-yellow); padding:14px 18px; margin:0 0 20px; line-height:1.5; }
.rc-points{ background:var(--rc-gray); border-radius:6px; padding:22px 26px; margin:0 0 32px; }
.rc-points p.rc-points-lead{ font-size:16px; font-weight:bold; margin:0 0 10px; }
.rc-points ul{ list-style:none; margin:0; padding:0; }
.rc-points li{ padding:9px 0 9px 30px; position:relative; border-bottom:1px dashed #d6d6cc; }
.rc-points li:last-child{ border-bottom:none; }
.rc-points li:before{ content:"◆"; position:absolute; left:4px; color:var(--rc-brown); }
.rc-3k{ border:3px solid var(--rc-yellow); border-radius:8px; padding:24px 28px; margin:0 0 32px; background:#fff; }
.rc-3k h3{ font-size:20px; color:var(--rc-brown); margin:0 0 10px; }
.rc-3k ul{ list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:6px 20px; }
.rc-3k li{ padding-left:1.4em; text-indent:-1.4em; font-weight:bold; color:var(--rc-brown2); }
.rc-voice{ display:flex; gap:22px; align-items:flex-start; background:var(--rc-cream); border-radius:8px; padding:24px 26px; margin:0 0 32px; }
.rc-voice .rc-voice-img{ width:120px; flex:none; border-radius:50%; overflow:hidden; background:#fff; border:3px solid var(--rc-yellow); }
.rc-voice .rc-voice-img img{ width:100%; aspect-ratio:1; object-fit:cover; }
.rc-voice .rc-voice-body h3{ margin:0 0 8px; font-size:17px; color:var(--rc-brown); }
.rc-voice .rc-voice-body p{ margin:0; }
.rc-voice .rc-voice-body p small{ display:block; color:#666; margin-top:6px; }
.rc-entry-btn{ text-align:center; margin:0 0 40px; }

/* 募集要項テーブル */
.rc table.rc-table{ width:100%; border-collapse:collapse; margin:0 0 36px; font-size:15px; }
.rc table.rc-table th,.rc table.rc-table td{ border:1px solid #ddd; padding:14px 20px; vertical-align:top; text-align:left; line-height:1.8; }
.rc table.rc-table th{ background:var(--rc-gray); color:var(--rc-brown); font-weight:bold; width:180px; white-space:nowrap; }
.rc table.rc-table td ul{ margin:0 0 0 1.2em; }

/* 採用の流れ */
.rc-flow{ list-style:none; margin:0 0 36px; padding:0; display:flex; flex-wrap:wrap; gap:8px; counter-reset:step; }
.rc-flow li{ flex:1 1 0; min-width:150px; background:var(--rc-gray); border-radius:6px; padding:34px 14px 16px; text-align:center; position:relative; font-weight:bold; font-size:14px; margin:0; }
.rc-flow li:before{ counter-increment:step; content:"STEP " counter(step); position:absolute; top:8px; left:0; right:0; font-size:12px; color:var(--rc-brown); }
.rc-flow li:not(:last-child):after{ content:"▶"; position:absolute; right:-9px; top:50%; transform:translateY(-50%); color:var(--rc-yellow); font-size:12px; z-index:2; }
.rc-flow li small{ display:block; font-weight:normal; font-size:12px; color:#666; margin-top:4px; }

/* エントリーフォーム */
.rc-entry{ background:#fff; border:2px solid var(--rc-yellow); border-radius:8px; padding:26px 28px; margin:0 0 40px; }
.rc-entry .rc-entry-tel{ text-align:center; font-weight:bold; color:var(--rc-brown); margin:0 0 20px; font-size:15px; }
.rc-entry .rc-entry-tel strong{ font-size:28px; display:block; }
.rc-entry .rc-entry-tel a{ text-decoration:none; color:inherit; }
.rc-entry table{ width:100%; }
.rc-entry table th{ text-align:left; width:200px; vertical-align:top; padding:10px; background:var(--rc-gray); }
.rc-entry table td{ padding:10px; }
.rc-entry input[type=text],.rc-entry input[type=tel],.rc-entry input[type=email],.rc-entry textarea{ width:100%; max-width:480px; padding:8px; border:1px solid #ccc; border-radius:3px; }
.rc-entry input[type=submit]{ background:var(--rc-brown); color:#fff; border:none; padding:14px 36px; border-radius:40px; font-weight:bold; cursor:pointer; font-size:16px; }

/* 関連求人 */
.rc-related h2.rc-h{ font-size:20px; }

/* --- 読み物（エグチを知ろう） --- */
.rc-article{ font-size:16px; }
.rc-article p{ margin:0 0 1.2em; }
.rc-article .rc-article-hero{ margin:0 0 28px; border-radius:6px; overflow:hidden; }
.rc-article .rc-article-hero img{ width:100%; height:auto; max-height:600px; object-fit:cover; }
.rc-article .rc-intro{ font-size:17px; background:var(--rc-cream); border-left:8px solid var(--rc-yellow); padding:16px 22px; margin:0 0 32px; }
.rc-article h3.rc-h3{ margin-top:44px; }
.rc-article h4{ font-size:19px; color:var(--rc-brown); border-bottom:2px solid var(--rc-yellow); padding:0 0 8px; margin:32px 0 16px; }
.rc-article figure{ margin:0 0 24px; text-align:center; }
.rc-article figure img{ border-radius:6px; margin:0 auto; max-width:100%; width:auto; max-height:640px; }
.rc-article figure figcaption{ font-size:14px; color:#666; text-align:center; margin-top:8px; }
.rc-article .rc-figrow{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:0 0 20px; }
.rc-article .rc-figrow figure{ margin:0; }
.rc-article .rc-figrow figure img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.rc-article .rc-qa{ margin:0 0 28px; }
.rc-article .rc-qa dt{ font-weight:bold; color:var(--rc-brown); font-size:17px; padding:14px 0 8px 40px; position:relative; line-height:1.6; }
.rc-article .rc-qa dt:before{ content:"Q"; position:absolute; left:0; top:12px; width:28px; height:28px; line-height:28px; text-align:center; background:var(--rc-brown); color:#fff; border-radius:50%; font-size:14px; }
.rc-article .rc-qa dd{ margin:0 0 6px; padding:0 0 16px 40px; position:relative; border-bottom:1px dashed #ddd; line-height:1.9; }
.rc-article .rc-qa dd:before{ content:"A"; position:absolute; left:0; top:0; width:28px; height:28px; line-height:28px; text-align:center; background:var(--rc-yellow); color:var(--rc-brown); border-radius:50%; font-size:14px; font-weight:bold; }
.rc-article .rc-checklist{ list-style:none; margin:0 0 24px; padding:0; }
.rc-article .rc-checklist li{ padding:8px 0 8px 32px; position:relative; }
.rc-article .rc-checklist li:before{ content:"✔"; position:absolute; left:4px; color:var(--rc-brown); font-weight:bold; }
.rc-article .rc-story{ background:var(--rc-gray); border-radius:6px; padding:18px 22px; margin:0 0 16px; }
.rc-article .rc-story h5{ font-size:16px; color:var(--rc-brown); margin:0 0 6px; }
.rc-article .rc-story p{ margin:0; }
.rc-article .rc-story p+p{ margin-top:4px; }
.rc-article .rc-sign{ text-align:right; font-weight:bold; margin:20px 0 0; }
.rc-article .rc-joblinks{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.rc-article .rc-joblinks li{ margin:0; }
.rc-article .rc-joblinks a{ display:inline-block; background:var(--rc-gray); border:1px solid var(--rc-yellow); border-radius:30px; padding:8px 18px; text-decoration:none; font-weight:bold; font-size:14px; }
.rc-article .rc-joblinks a:before{ content:"▶ "; font-size:10px; }
.rc-article table.rc-table th{ width:140px; }

/* 前後ページナビ */
.rc-nav{ display:flex; justify-content:space-between; gap:12px; border-top:1px solid #ddd; padding-top:20px; margin-top:30px; }
.rc-nav a{ text-decoration:none; font-size:14px; }
.rc-nav .rc-nav-back{ text-align:center; flex:1; }

/* パンくず的な「採用情報トップへ」 */
.rc-top-link{ font-size:14px; margin:0 0 18px; }
.rc-top-link a{ text-decoration:none; }
.rc-top-link a:before{ content:"◀ "; font-size:10px; }

/* --- テーマ（style.css の .page h3 / .page ol など）の上書き --- */
.page .rc h3,.page .rc h4,.page .rc h5{ position:static; padding:0; margin:0; border:0; background:none; box-shadow:none; font-size:inherit; color:inherit; line-height:1.5; }
.page .rc h3:before,.page .rc h4:before,.page .rc h5:before,.page .rc h3:after,.page .rc h4:after{ content:none; display:none; }
.page .rc h3.rc-h3{ font-size:21px; color:#fff; background:var(--rc-brown); padding:10px 18px; margin:40px 0 20px; border-radius:3px; line-height:1.4; }
.page .rc-article h3.rc-h3{ margin-top:44px; }
.page .rc-3k h3{ font-size:20px; color:var(--rc-brown); margin:0 0 10px; }
.page .rc-voice .rc-voice-body h3{ margin:0 0 8px; font-size:17px; color:var(--rc-brown); }
.page .rc-feature .rc-feature-text h3{ color:var(--rc-yellow); font-size:22px; margin:0 0 10px; line-height:1.4; }
.page .rc-article h4{ font-size:19px; color:var(--rc-brown); border-bottom:2px solid var(--rc-yellow); padding:0 0 8px; margin:32px 0 16px; }
.page .rc-article .rc-story h5{ font-size:16px; color:var(--rc-brown); margin:0 0 6px; }
.page .rc ul.rc-cards,.page .rc ul.rc-links,.page .rc ol.rc-flow,.page .rc .rc-points ul,.page .rc .rc-3k ul,.page .rc .rc-checklist,.page .rc .rc-joblinks{ list-style:none; margin-left:0; }
.page .rc ol.rc-flow li,.page .rc ul.rc-cards li,.page .rc .rc-checklist li,.page .rc .rc-points li{ list-style:none; line-height:1.7; }
.page .rc dl.rc-qa{ line-height:1.9; }
.page .rc dl.rc-qa dd{ margin-bottom:6px; }
.page .rc dl.rc-qa dt{ line-height:1.6; }
.page .rc-3k ul{ margin-top:14px; }
.page .rc-3k li{ padding:2px 0 2px 1.4em; }
@media screen and (max-width:767px){
  .page .rc h3.rc-h3{ font-size:17px; }
  .page .rc-3k ul{ grid-template-columns:1fr; }
}

/* --- スマホ --- */
@media screen and (max-width:767px){
  .rc{ font-size:14px; padding:4px 6px 12px; }
  .rc section{ margin-bottom:40px; }
  .rc h2.rc-h{ font-size:20px; }
  .rc h3.rc-h3{ font-size:17px; }
  .rc-hero{ grid-template-columns:repeat(2,1fr); gap:4px; }
  .rc-hero .rc-hero-item span{ font-size:17px; padding:40px 8px 10px; }
  .rc-catch .rc-catch-main{ font-size:22px; }
  .rc-cta{ padding:18px 16px; gap:12px; }
  .rc-cta .rc-tel strong{ font-size:26px; }
  .rc-cards,.rc-cards.rc-cards-2{ grid-template-columns:1fr 1fr; gap:12px; }
  .rc-cards .rc-card-body{ padding:10px 12px 14px; }
  .rc-cards .rc-card-title{ font-size:14px; }
  .rc-cards .rc-card-text{ display:none; }
  .rc-feature{ flex-direction:column; padding:22px 20px; }
  .rc-feature .rc-feature-img{ width:100%; }
  .rc-links{ grid-template-columns:1fr; }
  .rc-job-copy{ font-size:18px; }
  .rc-3k ul{ grid-template-columns:1fr; }
  .rc-voice{ flex-direction:column; align-items:center; text-align:left; padding:20px 18px; }
  .rc table.rc-table th,.rc table.rc-table td{ display:block; width:100%; }
  .rc table.rc-table th{ border-bottom:none; padding:8px 12px; }
  .rc table.rc-table td{ border-top:none; margin-bottom:-1px; }
  .rc-flow{ flex-direction:column; }
  .rc-flow li:not(:last-child):after{ content:"▼"; right:auto; left:50%; top:auto; bottom:-14px; transform:translateX(-50%); }
  .rc-flow li{ margin-bottom:8px; }
  .rc-entry{ padding:18px 14px; }
  .rc-entry table th,.rc-entry table td{ display:block; width:100%; }
  .rc-article .rc-figrow{ grid-template-columns:1fr; }
  .rc .rc-btn.rc-btn-lg{ font-size:16px; padding:14px 30px; }
}
