/* === 採用情報ページ専用（.recruit 配下だけに効く） === */
.recruit{ color:#222; line-height:1.9; }
.recruit .container{ max-width:900px; }
.recruit br{ display:inline !important; } /* テーマの style.css がスマホ幅で br を消しているので、このページ内では戻す */
.recruit .rc-hero{ background:#1b1b1b; color:#fff; text-align:center; padding:56px 16px; border-top:6px solid #C63A1E; background-image:repeating-linear-gradient(135deg, rgba(198,58,30,.12) 0 2px, transparent 2px 22px); }
.recruit .rc-hero .en{ display:block; font-size:13px; letter-spacing:.3em; color:#e0836f; margin-bottom:6px; }
.recruit .rc-hero h1{ color:#fff; font-size:28px; font-weight:700; margin:0; }
.recruit .rc-hero .rc-status{ display:inline-block; margin:18px 0 0; background:#C63A1E; color:#fff; font-size:16px; font-weight:700; padding:11px 26px; border-radius:999px; box-shadow:0 0 0 0 rgba(198,58,30,.6); animation:rcPulse 1.8s ease-out infinite; }
.recruit .rc-hero .rc-status i{ margin-right:8px; }
.recruit .rc-hero .rc-status.rc-closed{ background:#555; animation:none; }
@keyframes rcPulse{ 0%{ box-shadow:0 0 0 0 rgba(198,58,30,.55); } 70%{ box-shadow:0 0 0 16px rgba(198,58,30,0); } 100%{ box-shadow:0 0 0 0 rgba(198,58,30,0); } }
@media (prefers-reduced-motion: reduce){ .recruit .rc-hero .rc-status{ animation:none; } }
.recruit .rc-lead{ text-align:center; padding:40px 16px 8px; font-size:16px; }
.recruit .rc-free{ max-width:720px; margin:12px auto 0; padding:16px 20px; background:#fff8e6; border:1px solid #f0dca8; border-radius:8px; font-size:15px; }
.recruit .rc-free p:last-child{ margin-bottom:0; }
.recruit .rc-catch{ text-align:center; padding:36px 16px 6px; }
.recruit .rc-catch h2{ font-size:26px; font-weight:700; color:#1b1b1b; line-height:1.55; margin:0; }
.recruit .rc-catch h2 .accent{ color:#C63A1E; }
.recruit .rc-points{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; padding:20px 0 8px; }
.recruit .rc-point{ flex:1 1 180px; max-width:250px; background:#C63A1E; color:#fff; border-radius:14px; padding:22px 16px; text-align:center; }
.recruit .rc-point i{ font-size:28px; margin-bottom:10px; display:block; }
.recruit .rc-point b{ font-size:17px; display:block; margin-bottom:2px; }
.recruit .rc-point span{ font-size:13px; opacity:.92; }
.recruit .rc-sec{ padding:32px 0; }
.recruit .rc-ttl{ position:relative; text-align:center; font-size:22px; font-weight:700; color:#1b1b1b; margin:0 0 28px; }
.recruit .rc-ttl .en{ display:block; font-size:12px; letter-spacing:.25em; color:#C63A1E; font-weight:600; margin-top:4px; }
.recruit .rc-ttl:after{ content:""; display:block; width:48px; height:3px; background:#C63A1E; margin:14px auto 0; }

/* 募集職種カード */
.recruit .rc-jobs{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
.recruit .rc-job{ border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.12); transition:transform .2s, box-shadow .2s; }
.recruit .rc-job:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(198,58,30,.28); }
.recruit .rc-job-head{ position:relative; text-align:center; color:#fff; padding:26px 16px 18px; background:linear-gradient(135deg, #C63A1E 0%, #e8572f 100%); background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.09) 0 2px, transparent 2px 16px), linear-gradient(135deg, #C63A1E 0%, #e8572f 100%); }
.recruit .rc-job-pt .rc-job-head{ background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.07) 0 2px, transparent 2px 16px), linear-gradient(135deg, #1b1b1b 0%, #3a3a3a 100%); }
.recruit .rc-job-badge{ position:absolute; top:12px; right:12px; background:#fff; color:#C63A1E; font-size:12px; font-weight:700; line-height:1; padding:6px 10px; border-radius:999px; }
.recruit .rc-job-pt .rc-job-badge{ background:#ffd23f; color:#1b1b1b; }
.recruit .rc-job-icon{ display:flex; align-items:center; justify-content:center; width:72px; height:72px; margin:0 auto 12px; border-radius:50%; background:rgba(255,255,255,.18); border:2px solid rgba(255,255,255,.7); font-size:32px; }
.recruit .rc-job-head h3{ color:#fff; font-size:21px; font-weight:700; margin:0; letter-spacing:.04em; }
.recruit .rc-job-body{ padding:18px 18px 20px; text-align:center; }
.recruit .rc-job-paynote{ font-size:12px; color:#C63A1E; font-weight:600; margin:-2px 0 6px; line-height:1.5; }
.recruit .rc-job-pay{ font-size:22px; font-weight:700; color:#C63A1E; margin:0 0 4px; line-height:1.4; }
.recruit .rc-job-sub{ font-size:14px; color:#555; margin:0 0 12px; }
.recruit .rc-job-tags{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; list-style:none; margin:0; padding:0; }
.recruit .rc-job-tags li{ font-size:12px; font-weight:700; color:#C63A1E; background:#fdece7; border:1px solid #f3c4b8; border-radius:999px; padding:3px 12px; line-height:1.6; }
@media (max-width:576px){
  .recruit .rc-jobs{ grid-template-columns:1fr; gap:16px; }
  .recruit .rc-job-head{ padding:22px 16px 16px; }
  .recruit .rc-job-icon{ width:60px; height:60px; font-size:26px; }
}

/* 募集要項 */
.recruit .rc-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid #e2ded7; }
.recruit .rc-table th, .recruit .rc-table td{ border-bottom:1px solid #e8e4dd; padding:16px; font-size:15px; vertical-align:top; text-align:left; }
.recruit .rc-table th{ background:#f6f4f0; width:28%; font-weight:600; color:#1b1b1b; white-space:nowrap; }
.recruit .rc-nw{ display:inline-block; }
.recruit .rc-indent{ display:inline-block; padding-left:1.3em; }
.recruit .rc-small{ font-size:13px; color:#777; }
@media (max-width:576px){
  .recruit .rc-table th, .recruit .rc-table td{ display:block; width:100%; }
  .recruit .rc-table th{ border-bottom:none; padding-bottom:6px; }
  .recruit .rc-table td{ padding-top:8px; }
  .recruit .rc-hero h1{ font-size:24px; }
  .recruit .rc-hero .rc-status{ font-size:14px; padding:10px 18px; }
  .recruit .rc-catch h2{ font-size:21px; }
}

/* アクセス */
.recruit .rc-access{ display:flex; flex-wrap:wrap; gap:20px; }
.recruit .rc-access .rc-map{ flex:1 1 320px; min-width:0; }
.recruit .rc-access .rc-map h3{ font-size:17px; font-weight:700; margin:0 0 4px; color:#1b1b1b; }
.recruit .rc-access .rc-map h3 i{ color:#C63A1E; margin-right:6px; }
.recruit .rc-access .rc-map p{ font-size:14px; color:#555; margin:0 0 8px; }
.recruit .rc-access iframe{ width:100%; height:240px; border:0; border-radius:10px; }

/* 歓迎 */
.recruit .rc-welcome{ display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; list-style:none; margin:0; padding:0; }
.recruit .rc-welcome li{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid #e2ded7; border-left:5px solid #C63A1E; border-radius:8px; padding:14px 16px; }
.recruit .rc-welcome li i{ color:#C63A1E; font-size:22px; margin-top:3px; flex:none; }
.recruit .rc-welcome li b{ display:block; font-size:16px; color:#1b1b1b; line-height:1.5; }
.recruit .rc-welcome li span{ display:block; font-size:13px; color:#666; line-height:1.6; margin-top:2px; }
@media (max-width:576px){ .recruit .rc-welcome{ grid-template-columns:1fr; } }

/* 応募の流れ */
.recruit .rc-flow{ counter-reset:step; max-width:640px; margin:0 auto; padding:0; }
.recruit .rc-flow li{ position:relative; list-style:none; padding:14px 14px 14px 60px; border:1px solid #e2ded7; border-radius:8px; margin-bottom:12px; background:#fff; }
.recruit .rc-flow li:before{ counter-increment:step; content:counter(step); position:absolute; left:14px; top:50%; transform:translateY(-50%); width:32px; height:32px; background:#C63A1E; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; }

/* 応募先 */
.recruit .rc-cta{ background:#f6f4f0; text-align:center; padding:40px 16px; border-radius:12px; }
.recruit .rc-cta .rc-cta-lead{ margin:0; font-size:16px; }
.recruit .rc-cta .rc-cta-hours{ margin:0; color:#666; font-size:14px; }
.recruit .rc-cta .tel{ font-size:34px; font-weight:700; margin:8px 0 2px; }
.recruit .rc-cta .tel a{ color:#1b1b1b; text-decoration:none; }
.recruit .rc-cta .tel i{ color:#C63A1E; font-size:26px; margin-right:8px; }
.recruit .btn-apply i{ margin-left:8px; font-size:.85em; }
.recruit .rc-cta .btn-apply, .recruit .rc-submit .btn-apply{ display:inline-block; background:#C63A1E; color:#fff; font-size:17px; font-weight:600; padding:14px 40px; border-radius:6px; text-decoration:none; margin-top:14px; }
.recruit .rc-cta .btn-apply:hover, .recruit .rc-submit .btn-apply:hover{ background:#a52f17; color:#fff; }

/* 応募フォーム */
.recruit #apply{ scroll-margin-top:20px; }
.recruit .rc-form{ max-width:720px; margin:0 auto; background:#fff; border:1px solid #e2ded7; border-top:5px solid #C63A1E; border-radius:12px; padding:28px 28px 32px; box-shadow:0 6px 20px rgba(0,0,0,.08); }
.recruit .rc-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.recruit .rc-f{ margin-bottom:18px; }
.recruit .rc-f2{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.recruit .rc-f > label, .recruit .rc-flabel{ display:block; font-size:15px; font-weight:700; color:#1b1b1b; margin-bottom:6px; }
.recruit .rc-f em{ font-style:normal; font-size:11px; font-weight:700; color:#fff; background:#C63A1E; border-radius:3px; padding:2px 6px; margin-left:8px; vertical-align:2px; }
.recruit .rc-f input[type=text], .recruit .rc-f input[type=tel], .recruit .rc-f input[type=email], .recruit .rc-f select, .recruit .rc-f textarea{ width:100%; font-size:16px; line-height:1.6; padding:10px 12px; border:1px solid #c9c4ba; border-radius:6px; background:#fdfcfa; color:#222; box-sizing:border-box; }
.recruit .rc-f select{ height:46px; }
.recruit .rc-f input:focus, .recruit .rc-f select:focus, .recruit .rc-f textarea:focus{ outline:none; border-color:#C63A1E; box-shadow:0 0 0 3px rgba(198,58,30,.18); background:#fff; }
.recruit .rc-radios{ display:flex; flex-wrap:wrap; gap:8px 12px; }
.recruit .rc-radios label{ font-size:15px; font-weight:400; margin:0; padding:8px 14px; border:1px solid #c9c4ba; border-radius:999px; background:#fdfcfa; cursor:pointer; }
.recruit .rc-agree label{ font-weight:400; font-size:14px; line-height:1.7; cursor:pointer; }
.recruit .rc-err{ color:#c00; font-size:13px; font-weight:700; margin:6px 0 0; }
.recruit .rc-errbox{ max-width:720px; margin:0 auto 16px; background:#fdecea; border:1px solid #f1b0a8; color:#a1180d; font-weight:700; border-radius:8px; padding:12px 16px; font-size:15px; }
.recruit .rc-submit{ text-align:center; margin-top:8px; }
.recruit .rc-submit .btn-apply{ border:0; cursor:pointer; min-width:260px; margin-top:0; }
.recruit .rc-done{ max-width:720px; margin:0 auto; display:flex; gap:16px; align-items:flex-start; background:#eef8ee; border:1px solid #a9d5a9; border-radius:12px; padding:24px; }
.recruit .rc-done i{ color:#2e8b2e; font-size:34px; flex:none; }
.recruit .rc-done p{ margin:0; font-size:15px; }
@media (max-width:576px){
  .recruit .rc-form{ padding:20px 16px 24px; }
  .recruit .rc-f2{ grid-template-columns:1fr; }
  .recruit .rc-submit .btn-apply{ width:100%; min-width:0; }
}
@media (max-width:576px){
  .recruit .rc-cta .tel{ font-size:28px; }
  .recruit .rc-cta .btn-apply{ padding:14px 20px; font-size:16px; }
}

/* ===== 2026-09-19 職種別ページ化で足したもの ===== */
.recruit .rc-center{ text-align:center; }
.recruit .rc-hero h1{ line-height:1.5; }

/* 管理者にだけ見える注意 */
.recruit .rc-adminnote{ margin:20px 0 0; background:#fff3cd; border:2px dashed #d9a400; border-radius:8px; padding:12px 16px; font-size:14px; color:#5c4500; }
.recruit .rc-adminnote ul{ margin:6px 0 0; padding-left:1.4em; }

/* パンくず */
.recruit .rc-bread{ font-size:13px; color:#777; padding:16px 0 0; }
.recruit .rc-bread a{ color:#777; text-decoration:underline; }
.recruit .rc-bread span{ margin:0 8px; }

/* 職種別ページの頭（給与とタグ） */
.recruit .rc-jobtop{ text-align:center; padding:28px 0 0; }
.recruit .rc-jobtop-pay{ font-size:30px; font-weight:700; color:#C63A1E; margin:0 0 4px; line-height:1.4; }
.recruit .rc-jobtop .rc-job-badge{ position:static; display:inline-block; vertical-align:6px; margin-right:12px; background:#C63A1E; color:#fff; font-size:13px; padding:7px 12px; }
.recruit .rc-jobtop .rc-job-paynote{ font-size:14px; margin:0 0 10px; }
.recruit .rc-lead-left{ text-align:left; max-width:760px; margin:0 auto; padding-top:24px; }

/* カードから職種別ページへ */
.recruit .rc-job-more{ display:block; margin:14px 0 0; padding:10px 12px; background:#1b1b1b; color:#fff; font-size:14px; font-weight:700; border-radius:6px; text-decoration:none; line-height:1.5; }
.recruit .rc-job-more:hover{ background:#C63A1E; color:#fff; }
.recruit .rc-job-more i{ margin-left:8px; font-size:.85em; }

/* 写真 */
.recruit .rc-photos{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:14px; padding:28px 0 0; }
.recruit .rc-photos img{ width:100%; height:100%; max-height:340px; object-fit:cover; border-radius:12px; display:block; }

/* 働く環境 */
.recruit .rc-env{ display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; list-style:none; margin:0; padding:0; }
.recruit .rc-env li{ display:flex; gap:14px; align-items:flex-start; background:#f6f4f0; border-radius:12px; padding:18px; }
.recruit .rc-env li:last-child:nth-child(odd){ grid-column:1 / -1; } /* 枚数が奇数のとき、最後の1枚は横いっぱいに */
.recruit .rc-env li > i{ flex:none; width:48px; height:48px; border-radius:50%; background:#C63A1E; color:#fff; font-size:20px; display:flex; align-items:center; justify-content:center; }
.recruit .rc-env h3{ font-size:17px; font-weight:700; color:#1b1b1b; margin:2px 0 6px; line-height:1.5; }
.recruit .rc-env p{ font-size:14px; color:#444; margin:0; line-height:1.8; }

/* 仕事内容 */
.recruit .rc-tasks{ max-width:720px; margin:0 auto; padding:0; list-style:none; }
.recruit .rc-tasks li{ position:relative; padding:12px 12px 12px 40px; border-bottom:1px dashed #d8d3c9; font-size:16px; line-height:1.7; }
.recruit .rc-tasks li i{ position:absolute; left:10px; top:17px; color:#C63A1E; }

/* 給与の例 */
.recruit .rc-model{ max-width:640px; margin:0 auto; background:#fff; border:2px solid #C63A1E; border-radius:14px; padding:22px 24px 18px; box-shadow:0 6px 20px rgba(198,58,30,.12); }
.recruit .rc-model-draft{ background:#fff3cd; border:2px dashed #d9a400; border-radius:6px; color:#5c4500; font-size:13px; font-weight:700; padding:8px 12px; margin:0 0 14px; }
.recruit .rc-model-ttl{ text-align:center; font-size:18px; font-weight:700; color:#1b1b1b; margin:0 0 12px; }
.recruit .rc-model-lead{ text-align:center; font-size:15px; font-weight:700; color:#C63A1E; margin:-6px 0 12px; }
.recruit .rc-model-plus{ margin:14px 0 0; padding:10px 14px; background:#1b1b1b; color:#fff; border-radius:8px; font-size:15px; font-weight:700; line-height:1.6; }
.recruit .rc-model-plus i{ color:#ffd23f; margin-right:8px; }
.recruit .rc-model table{ width:100%; border-collapse:collapse; }
.recruit .rc-model th, .recruit .rc-model td{ padding:10px 4px; border-bottom:1px dashed #d8d3c9; font-size:16px; font-weight:400; text-align:left; }
.recruit .rc-model td{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.recruit .rc-model-sum th, .recruit .rc-model-sum td{ border-top:2px solid #1b1b1b; border-bottom:none; font-weight:700; font-size:18px; padding-top:14px; }
.recruit .rc-model-total th, .recruit .rc-model-total td{ border-bottom:none; background:#fdece7; color:#C63A1E; font-weight:700; font-size:22px; padding:14px 10px; }
.recruit .rc-model-total th{ border-radius:8px 0 0 8px; font-size:17px; }
.recruit .rc-model-total td{ border-radius:0 8px 8px 0; }
.recruit .rc-model-note{ margin:14px 0 0; padding-left:1.3em; font-size:13px; color:#555; line-height:1.8; }
.recruit .rc-model-note b{ color:#C63A1E; }
@media (max-width:576px){
  .recruit .rc-model{ padding:18px 14px 14px; }
  .recruit .rc-model th, .recruit .rc-model td{ font-size:15px; }
  .recruit .rc-model-total td{ font-size:20px; }
  .recruit .rc-model-total th{ font-size:15px; }
}

/* 1日の流れ */
.recruit .rc-day{ max-width:720px; margin:0 auto 14px; padding:0; list-style:none; position:relative; }
.recruit .rc-day:before{ content:""; position:absolute; left:83px; top:14px; bottom:14px; width:3px; background:#e6c2b8; }
.recruit .rc-day li{ position:relative; display:flex; align-items:flex-start; gap:34px; padding:9px 0; }
.recruit .rc-day time{ flex:none; width:68px; text-align:right; font-size:18px; font-weight:700; color:#C63A1E; line-height:1.7; }
.recruit .rc-day li:before{ content:""; position:absolute; left:77px; top:17px; width:15px; height:15px; border-radius:50%; background:#C63A1E; border:3px solid #fff; box-shadow:0 0 0 2px #C63A1E; }
.recruit .rc-day span{ flex:1; background:#fff; border:1px solid #e2ded7; border-radius:8px; padding:8px 14px; font-size:15px; line-height:1.7; }

/* よくある質問 */
.recruit .rc-faq{ max-width:760px; margin:0 auto; }
.recruit .rc-faq details{ border:1px solid #e2ded7; border-radius:8px; background:#fff; margin-bottom:10px; }
.recruit .rc-faq summary{ position:relative; cursor:pointer; list-style:none; padding:14px 44px 14px 48px; font-size:16px; font-weight:700; color:#1b1b1b; line-height:1.6; }
.recruit .rc-faq summary::-webkit-details-marker{ display:none; }
.recruit .rc-faq summary:before{ content:"Q"; position:absolute; left:14px; top:12px; width:26px; height:26px; border-radius:50%; background:#C63A1E; color:#fff; font-size:14px; line-height:26px; text-align:center; }
.recruit .rc-faq summary:after{ content:"+"; position:absolute; right:16px; top:10px; font-size:22px; color:#C63A1E; font-weight:400; }
.recruit .rc-faq details[open] summary:after{ content:"−"; }
.recruit .rc-faq details p{ margin:0; padding:0 18px 16px 48px; font-size:15px; color:#333; line-height:1.9; }

/* フォームの見学チェック */
.recruit .rc-visit label{ font-weight:700; font-size:15px; background:#fdece7; border:1px solid #f3c4b8; border-radius:8px; padding:10px 14px; cursor:pointer; }
.recruit .rc-visit .rc-small{ font-weight:400; margin-left:6px; }

.recruit .rc-back{ margin:24px 0 0; }
.recruit .rc-back a{ color:#C63A1E; font-weight:700; }
.recruit .rc-back i{ margin-right:6px; }

@media (max-width:576px){
  .recruit .rc-jobtop-pay{ font-size:24px; }
  .recruit .rc-jobtop .rc-job-badge{ display:block; width:max-content; margin:0 auto 6px; }
  .recruit .rc-env{ grid-template-columns:1fr; }
  .recruit .rc-day:before{ left:61px; }
  .recruit .rc-day li{ gap:26px; }
  .recruit .rc-day li:before{ left:55px; }
  .recruit .rc-day time{ width:50px; font-size:16px; }
  .recruit .rc-tasks li{ font-size:15px; }
  .recruit .rc-faq summary{ font-size:15px; }
}

/* 2026-09-19 スマホ下部の固定バー（お客様向けの「電話する」）は、採用ページでは出さない。
   応募フォームの送信ボタンに重なるため。このCSSは採用ページでしか読み込まれないので、ほかのページには影響しない */
#tk_sp_fixed_cta{ display:none !important; }
