/* 採用情報ページ専用デザイン（黒×オレンジ／楽レン採用案内PDFのトーンに合わせる。他ページには影響しない） */
.recruit-page{ --rec-black:#141414; --rec-black-soft:#1e1e1e; --rec-orange:#E8720F; --rec-orange-soft:#FBEADA; --rec-gray:#F2F2F2; --rec-gray-text:#6B6B6B; }
.recruit-page .subpage-main{ background:#fff; }

.recruit-page .document-hero{ background: var(--rec-black); border-bottom:none; padding:0 0 40px; position:relative; }
.recruit-page .document-hero::before{ content:""; display:block; height:14px; background: var(--rec-orange); margin-bottom:56px; }
.recruit-page .document-hero .section-kicker{ color: var(--rec-orange); font-weight:700; }
.recruit-page .document-hero h1{ color:#fff; }
.recruit-page .document-hero p{ color:#ABABAB; }

.recruit-page .document-section{ padding:0 0 100px; }
.recruit-page .document-section + .document-section,
.recruit-page .document-section--paper + .document-section,
.recruit-page .document-section + .document-section--paper{ padding-top:0; }
.recruit-page .document-hero + .document-section{ padding-top:100px; }
.recruit-page .document-section--paper{ background:#fff; }

.recruit-page .document-card{ border:none; max-width:960px; padding:0; display:flow-root; }
.recruit-page .document-card h2{
  background: var(--rec-black); color:#fff; margin:100px 0 28px; padding:20px 24px;
  border-left:8px solid var(--rec-orange); font-size:21px;
}
.recruit-page .document-card h2:first-child{ margin-top:0; }
.recruit-page .document-card > p{ padding:0 4px; }
.recruit-page .document-card a{ color: var(--rec-black); }

.recruit-page .feature-grid{ background: transparent; border:none; gap:16px; }
.recruit-page .feature-grid article{ background: var(--rec-gray); border:none; }
.recruit-page .feature-number{ color: var(--rec-orange); font-size:30px; }
.recruit-page .feature-grid p{ color: var(--rec-gray-text); }

.recruit-page .job-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.recruit-page .job-card{ background:#fff; border:1px solid #e6e6e6; border-radius:10px; padding:0 26px 26px; overflow:hidden; }
.recruit-page .job-card h3{ background: var(--rec-black); color:#fff; margin:0 -26px 22px; padding:16px 26px; border-left:6px solid var(--rec-orange); font-size:17px; }
.recruit-page .job-salary{ color: var(--rec-orange); font-size:26px; }
.recruit-page .job-card h4{ color: var(--rec-orange); }
.recruit-page .job-card li, .recruit-page .job-card p{ color:#333; }
.recruit-page .job-note{ color: var(--rec-gray-text); }

.recruit-page .company-table{ border:1px solid #e6e6e6; border-radius:10px; overflow:hidden; }
.recruit-page .company-row{ border-top:1px solid #e6e6e6; }
.recruit-page .company-row:nth-child(odd){ background: var(--rec-gray); }
.recruit-page .company-row:first-child{ border-top:none; }
.recruit-page .company-table dt{ background:transparent; color: var(--rec-orange); }
.recruit-page .company-table dd{ color:#333; }

.recruit-page .area-tags span{ background: var(--rec-orange-soft); color:#B04E00; font-weight:700; border-radius:999px; font-size:15px; padding:9px 16px; }

.recruit-page .entry-steps{ counter-reset:none; align-items:flex-start; }
.recruit-page .entry-steps li{ background:#fff; border:none; padding:0; min-width:auto; flex:1 1 130px; text-align:center; position:relative; }
.recruit-page .entry-steps li strong{
  display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin:0 auto 12px;
  background: var(--rec-orange); color:#fff; border-radius:50%; font-size:18px;
}
.recruit-page .entry-steps li:not(:last-child)::after{
  content:"→"; position:absolute; top:14px; right:-20px;
  color: var(--rec-orange); font-size:24px; font-weight:700;
}
@media (max-width:640px){
  .recruit-page .entry-steps li:not(:last-child)::after{ display:none; }
}

.recruit-page .document-card a.btn-mail{ background: var(--rec-orange); color:#fff; font-size:16px; padding:0 34px; letter-spacing:.03em; }
.recruit-page .back-home{ color: var(--rec-orange); }

@media (max-width:820px){
  .recruit-page .job-grid{ grid-template-columns:1fr; }
}
