/* 募集ページ（/seo-consultant-recruit/）専用
 * クラスは rcr- 始まり。セレクタはすべて .rcr の中に限定している（配色・書体は reason.css と揃える）
 */
body:has(.rcr) .l-topTitleArea, body:has(.rcr) .c-pageTitle { display:none; }
.rcr {
  --accent:#e76c00; --accent-2:#f4a100; --grad:linear-gradient(90deg,#e76c00,#f4a100);
  --ink:#313131; --sub:#6b6b6b; --line:#e6e1da; --bg:#f6f6f6; --cream:#fff8f0; --white:#fff;
  --ff-ja:"Noto Sans JP","Hiragino Sans","Meiryo",sans-serif; --ff-en:"Alexandria","Noto Sans JP",sans-serif;
  overflow-x:clip; font-family:var(--ff-ja); color:var(--ink); background:var(--white); font-size:16px; line-height:1.9; letter-spacing:.02em;
}
.rcr, .rcr * { box-sizing:border-box; }
.rcr p { margin:0 0 1em; }
.rcr h3 { font-weight:700; }
.rcr .rcr-inner { max-width:1120px; margin:0 auto; padding:0 24px; }
.rcr .rcr-narrow { max-width:860px; }
.rcr .rcr-sec { padding:88px 0; }
.rcr .rcr-sec.rcr-bg { background:var(--bg); }
.rcr .rcr-marker { background:linear-gradient(transparent 62%, rgba(244,161,0,.35) 62%); font-weight:700; }

/* 見出し */
.rcr .rcr-h2 { text-align:center; font-size:clamp(24px,3vw,32px); font-weight:900; line-height:1.5; margin:0 0 40px; }
.rcr .rcr-h2 .rcr-en { display:block; font-family:var(--ff-en); font-size:14px; font-weight:700; letter-spacing:.2em; color:var(--accent); text-transform:uppercase; margin-bottom:8px; }
.rcr .rcr-h2-lead { text-align:center; color:var(--sub); max-width:760px; margin:-16px auto 40px; }

/* FV */
.rcr .rcr-fv { background:var(--cream); padding:72px 0 80px; text-align:center; }
.rcr .rcr-tags { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.rcr .rcr-tags span { background:var(--white); border:1px solid var(--accent); color:var(--accent); border-radius:999px; padding:2px 16px; font-size:14px; font-weight:700; }
.rcr .rcr-h1 { font-size:clamp(30px,5vw,48px); font-weight:900; line-height:1.4; margin:0 0 32px; }
.rcr .rcr-h1 small { display:block; font-size:clamp(15px,1.8vw,18px); font-weight:500; color:var(--sub); margin-top:12px; }
.rcr .rcr-fv-facts { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin:0 0 36px; }
.rcr .rcr-fv-facts div { background:var(--white); border-radius:12px; padding:14px 28px; min-width:200px; box-shadow:0 4px 16px rgba(0,0,0,.05); }
.rcr .rcr-fv-facts dt { font-size:13px; color:var(--sub); }
.rcr .rcr-fv-facts dd { margin:0; font-size:15px; }
.rcr .rcr-fv-facts strong { font-family:var(--ff-en); font-size:26px; color:var(--accent); margin:0 2px; }

/* ボタン */
.rcr .rcr-btns { display:flex; justify-content:center; }
.rcr .rcr-btn { position:relative; display:inline-flex; flex-direction:column; align-items:center; min-width:320px; padding:14px 52px 14px 36px; border-radius:999px; background:var(--grad); color:#fff; font-weight:700; font-size:17px; line-height:1.4; text-decoration:none; box-shadow:0 8px 20px rgba(231,108,0,.3); transition:transform .2s; }
.rcr .rcr-btn small { font-size:11px; font-weight:500; margin-bottom:2px; }
.rcr .rcr-btn::after { content:"›"; position:absolute; right:24px; top:50%; transform:translateY(-52%); font-size:22px; }
.rcr .rcr-btn:hover { transform:translateY(-2px); color:#fff; }
.rcr .rcr-btn.rcr-btn-off { background:#bdbdbd; box-shadow:none; }
.rcr .rcr-btn.rcr-btn-off::after { content:none; }

/* お願いしたいこと */
.rcr .rcr-jobs { list-style:none; counter-reset:job; padding:0; margin:0 auto; max-width:860px; display:grid; gap:16px; }
.rcr .rcr-jobs li { counter-increment:job; background:var(--white); border-radius:12px; padding:20px 24px 20px 76px; position:relative; }
.rcr .rcr-jobs li::before { content:counter(job,decimal-leading-zero); position:absolute; left:24px; top:18px; font-family:var(--ff-en); font-weight:700; font-size:22px; color:var(--accent); }
.rcr .rcr-jobs h3 { font-size:18px; margin:0 0 4px; }
.rcr .rcr-jobs p { margin:0; color:var(--sub); font-size:15px; }
.rcr .rcr-note { text-align:center; margin:24px 0 0; font-size:14px; color:var(--sub); }

/* 丸投げしない */
.rcr .rcr-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.rcr .rcr-card { border:1px solid var(--line); border-radius:16px; padding:28px 24px; }
.rcr .rcr-num { font-family:var(--ff-en); font-weight:700; color:var(--accent); font-size:28px; }
.rcr .rcr-card h3 { font-size:18px; margin:8px 0 12px; }
.rcr .rcr-card p { margin:0; font-size:15px; }

/* 条件表 */
.rcr .rcr-table { width:100%; border-collapse:collapse; background:var(--white); border-radius:12px; overflow:hidden; }
.rcr .rcr-table th, .rcr .rcr-table td { border-bottom:1px solid var(--line); padding:16px 20px; text-align:left; vertical-align:top; font-size:15px; }
.rcr .rcr-table th { width:180px; background:var(--cream); font-weight:700; }
.rcr .rcr-table tr:last-child th, .rcr .rcr-table tr:last-child td { border-bottom:none; }

/* 求める経験 */
.rcr .rcr-req { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.rcr .rcr-req > div { background:var(--bg); border-radius:12px; padding:24px; }
.rcr .rcr-req h3 { font-size:18px; margin:0 0 8px; color:var(--accent); }
.rcr .rcr-req ul { margin:0; padding-left:1.2em; font-size:15px; }
.rcr .rcr-fit { margin:24px 0 0; font-size:15px; }

/* 選考の流れ */
.rcr .rcr-flow { list-style:none; counter-reset:flow; padding:0; margin:0; }
.rcr .rcr-flow li { counter-increment:flow; position:relative; padding:0 0 24px 56px; }
.rcr .rcr-flow li::before { content:counter(flow); position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:var(--grad); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-family:var(--ff-en); }
.rcr .rcr-flow li:not(:last-child)::after { content:""; position:absolute; left:17px; top:40px; bottom:4px; width:2px; background:var(--line); }
.rcr .rcr-flow strong { display:block; font-size:17px; }
.rcr .rcr-flow span { color:var(--sub); font-size:15px; }

/* FAQ */
.rcr .rcr-faq { margin:0; }
.rcr .rcr-faq dt { font-weight:700; padding:16px 0 4px 36px; position:relative; border-top:1px solid var(--line); }
.rcr .rcr-faq dt::before { content:"Q"; position:absolute; left:4px; font-family:var(--ff-en); color:var(--accent); }
.rcr .rcr-faq dd { margin:0; padding:0 0 16px 36px; color:var(--sub); font-size:15px; }

/* CTA */
.rcr .rcr-cta { background:var(--cream); padding:72px 0; text-align:center; }
.rcr .rcr-cta-lead { font-size:clamp(18px,2.2vw,22px); font-weight:700; margin-bottom:28px; }
.rcr .rcr-company { margin:32px 0 0; font-size:13px; color:var(--sub); }

@media (max-width:768px) {
  .rcr .rcr-sec { padding:64px 0; }
  .rcr .rcr-inner { padding:0 16px; }
  .rcr .rcr-cards, .rcr .rcr-req { grid-template-columns:1fr; }
  .rcr .rcr-fv-facts div { min-width:0; flex:1 1 100%; }
  .rcr .rcr-btn { min-width:0; width:100%; }
  .rcr .rcr-table th, .rcr .rcr-table td { display:block; width:100%; }
  .rcr .rcr-table th { padding-bottom:8px; }
  .rcr .rcr-jobs li { padding:20px 20px 20px 64px; }
  .rcr .rcr-jobs li::before { left:18px; }
}

/* 採用情報（/recruit/）の職種一覧 */
.rcr .rcr-joblist { list-style:none; padding:0; margin:0; display:grid; gap:16px; }
.rcr .rcr-joblist a { display:block; border:1px solid var(--line); border-radius:16px; padding:28px 56px 28px 28px; color:var(--ink); text-decoration:none; position:relative; transition:box-shadow .2s, transform .2s; }
.rcr .rcr-joblist a::after { content:"›"; position:absolute; right:24px; top:50%; transform:translateY(-52%); font-size:28px; color:var(--accent); }
.rcr .rcr-joblist a:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.rcr .rcr-joblist .rcr-tags { justify-content:flex-start; margin-bottom:8px; }
.rcr .rcr-joblist h3 { font-size:22px; margin:0 0 6px; }
.rcr .rcr-joblist p { margin:0; font-size:15px; color:var(--sub); }
.rcr .rcr-joblist .rcr-joblist-pay { margin-top:8px; font-weight:700; color:var(--accent); }

/* 応募フォーム（Contact Form 7） */
.rcr .rcr-form { background:var(--white); border-radius:16px; padding:32px; text-align:left; margin-top:8px; }
.rcr .rcr-form table { width:100%; border-collapse:collapse; }
.rcr .rcr-form th, .rcr .rcr-form td { display:block; width:100%; padding:0; border:none; background:none; text-align:left; }
.rcr .rcr-form th { max-width:none; }
.rcr .rcr-form .inquiry-box { border:none; }
.rcr .rcr-form th { font-weight:700; font-size:15px; padding-top:20px; margin-bottom:6px; }
.rcr .rcr-form tr:first-child th { padding-top:0; }
.rcr .rcr-form .CF7_req, .rcr .rcr-form .CF7_any { display:inline-block; font-size:11px; line-height:1; padding:4px 8px; border-radius:4px; margin-right:8px; vertical-align:2px; color:#fff; background:var(--accent); }
.rcr .rcr-form .CF7_any { background:#9e9e9e; }
.rcr .rcr-form input[type=text], .rcr .rcr-form input[type=email], .rcr .rcr-form input[type=number], .rcr .rcr-form select, .rcr .rcr-form textarea { width:100%; border:1px solid var(--line); border-radius:8px; padding:12px 14px; font-size:16px; background:#fcfcfc; }
.rcr .rcr-form textarea { min-height:140px; }
.rcr .rcr-form .wpcf7-list-item { display:block; margin:6px 0; }
.rcr .rcr-form .wpcf7-list-item label { display:flex; align-items:center; gap:10px; cursor:pointer; font-size:15px; }
.rcr .rcr-form input[type=radio], .rcr .rcr-form input[type=checkbox] { width:18px; height:18px; margin:0; flex:0 0 18px; accent-color:var(--accent); }
.rcr .rcr-form .wpcf7-list-item-label { display:inline; margin:0; padding:0; }
.rcr .rcr-form .rcr-cf7-q { background:var(--cream); border-radius:8px; padding:12px 14px; font-size:14px; margin:0 0 8px; }
.rcr .rcr-form .CF7_btn { text-align:center; margin:24px 0 0; }
.rcr .rcr-form input[type=submit] { background:var(--grad); color:#fff; border:none; border-radius:999px; padding:16px 64px; font-size:17px; font-weight:700; cursor:pointer; box-shadow:0 8px 20px rgba(231,108,0,.3); }
.rcr .rcr-form p { text-align:center; font-size:14px; }
@media (max-width:768px) { .rcr .rcr-form { padding:20px 16px; } .rcr .rcr-form input[type=submit] { width:100%; padding:16px; } }
