/* ============================================================
   株式会社東正路建設 採用情報ページ専用CSS
   ============================================================ */
  :root{
    --rc-ink:#1c1c1c;
    --rc-paper:#f6f4ee;
    --rc-line:#e1dccd;
    --rc-red:#5b2a7a;
    --rc-red-dark:#431f5c;
    --rc-gold:#b8933f;
  }
  .rc-page{background:var(--rc-paper);color:var(--rc-ink);}
  .rc-page h1,.rc-page h2,.rc-page h3,.rc-page .mincho{
    font-family:"Shippori Mincho", serif;letter-spacing:.04em;
  }
  .rc-wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

  /* ===== Recruit Hero（静止画版） ===== */
  .r-hero{position:relative;width:100%;aspect-ratio:16/7;overflow:hidden;}
  .r-hero img{width:100%;height:100%;object-fit:cover;filter:brightness(0.55);}
  .r-hero-overlay{
    position:absolute;inset:0;
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
    padding:0 8%;
  }
  .r-hero-copy{
    font-size:56px;font-weight:800;font-style:italic;color:#fff;
    line-height:1.15;letter-spacing:.01em;font-family:Arial,sans-serif;
    text-shadow:0 4px 20px rgba(0,0,0,.5);
  }
  .r-hero-copy .accent{color:#f5b942;}
  .r-hero-sub{
    margin-top:18px;font-size:20px;font-weight:700;color:#fff;letter-spacing:.15em;
    text-shadow:0 2px 10px rgba(0,0,0,.5);
  }

  /* ===== Lead ===== */
  .rc-lead{padding:64px 0 20px;text-align:center;}
  .rc-lead .kicker{font-size:13px;letter-spacing:.24em;color:var(--rc-red);font-weight:700;margin-bottom:14px;}
  .rc-lead h2{font-size:26px;margin:0 0 18px;}
  .rc-lead p{max-width:46em;margin:0 auto;color:#4a4a4a;font-size:14.5px;line-height:2;}
  .rc-lead-photo{max-width:900px;margin:40px auto 0;position:relative;}
  .rc-lead-photo::before{
    content:"";position:absolute;top:-16px;left:-16px;right:16px;bottom:16px;
    border:1px solid var(--rc-gold);z-index:0;
  }
  .rc-lead-photo img{
    position:relative;z-index:1;width:100%;aspect-ratio:1536/780;object-fit:cover;display:block;
    box-shadow:0 24px 48px -18px rgba(30,10,45,.35);
  }
  @media (max-width:600px){ .rc-lead-photo{margin-top:28px;} }

  /* ===== Feature ===== */
  .rc-feature{padding:56px 0 10px;}
  .rc-feature-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;}
  @media (max-width:820px){ .rc-feature-inner{grid-template-columns:1fr;gap:30px;} }
  .rc-feature-photo{position:relative;}
  .rc-feature-photo::before{
    content:"";position:absolute;top:-16px;left:-16px;right:16px;bottom:16px;
    border:1px solid var(--rc-gold);z-index:0;
  }
  .rc-feature-photo img{
    position:relative;z-index:1;width:100%;aspect-ratio:4/3.1;object-fit:cover;display:block;
    box-shadow:0 24px 48px -18px rgba(30,10,45,.35);
  }
  .rc-feature-text .kicker{font-size:12.5px;letter-spacing:.22em;color:var(--rc-red);font-weight:700;margin-bottom:14px;}
  .rc-feature-text h2{font-size:24px;margin:0 0 18px;line-height:1.5;}
  .rc-feature-text p{font-size:14px;color:#4a4a4a;line-height:2;margin:0 0 22px;}
  .rc-feature-stats{display:flex;gap:28px;flex-wrap:wrap;}
  .rc-feature-stats .stat b{display:block;font-family:"Shippori Mincho",serif;font-size:26px;color:var(--rc-red-dark);}
  .rc-feature-stats .stat span{font-size:11.5px;color:#777;letter-spacing:.05em;}

  /* ===== Job cards ===== */
  .rc-jobs{padding:70px 0 20px;}
  .rc-jobs-head{text-align:center;margin-bottom:46px;}
  .rc-jobs-head .kicker{font-size:13px;letter-spacing:.24em;color:var(--rc-red);font-weight:700;margin-bottom:14px;}
  .rc-jobs-head h2{font-size:26px;margin:0;}
  .rc-job-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
  @media (max-width:820px){ .rc-job-grid{grid-template-columns:1fr;} }
  .rc-job-card{background:#fff;border:1px solid var(--rc-line);position:relative;overflow:hidden;}
  .rc-job-card .band{
    background:var(--rc-red);color:#fff;padding:22px 28px;
    display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  }
  .rc-job-card .band h3{font-size:22px;margin:0;font-weight:600;color:#fff;}
  .rc-job-card .band .en{font-size:11px;letter-spacing:.14em;color:#e6d7f0;}
  .rc-job-card .body{padding:28px 28px 32px;}
  .rc-salary{
    display:flex;align-items:baseline;gap:10px;margin-bottom:22px;
    padding-bottom:20px;border-bottom:1px solid var(--rc-line);
  }
  .rc-salary .num{font-family:"Shippori Mincho",serif;font-size:30px;color:var(--rc-red-dark);font-weight:600;white-space:nowrap;flex:none;}
  .rc-salary .unit{font-size:13px;color:#666;flex:1 1 auto;min-width:0;}
  .rc-row{margin-bottom:18px;}
  .rc-row .lbl{font-size:11.5px;letter-spacing:.1em;color:var(--rc-gold);font-weight:700;display:block;margin-bottom:6px;}
  .rc-row .val{font-size:14px;color:#333;line-height:1.9;}
  .rc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
  .rc-chips span{
    font-size:12px;color:#4a4a4a;background:var(--rc-paper);border:1px solid var(--rc-line);
    padding:5px 11px;white-space:nowrap;
  }

  /* ===== Section head with chevron divider ===== */
  .r-divider{display:flex;align-items:center;justify-content:center;padding:56px 0 30px;}
  .r-divider .chevron{
    width:0;height:0;border-left:26px solid transparent;border-right:26px solid transparent;
    border-top:20px solid var(--red);margin-right:18px;opacity:.85;
  }
  .r-divider-text{text-align:center;}
  .r-divider-text .en{
    font-size:34px;font-weight:800;font-style:italic;color:var(--red);
    font-family:Arial,sans-serif;letter-spacing:.02em;
  }
  .r-divider-text .ja{font-size:14px;color:var(--gray);letter-spacing:.1em;margin-top:2px;}

  /* ===== Entry Form ===== */
  .r-form-section{padding:0 0 90px;background:#fff;}
  .r-form-intro{max-width:700px;margin:0 auto 40px;text-align:center;padding:0 24px;font-size:14px;color:var(--gray);}
  .r-form{max-width:760px;margin:0 auto;padding:0 24px;}
  .r-form-row{margin-bottom:26px;}
  .r-form-row label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;margin-bottom:10px;}
  .r-required{background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:2px;}
  .r-form-row input[type="text"],
  .r-form-row input[type="tel"],
  .r-form-row input[type="email"],
  .r-form-row select,
  .r-form-row textarea{
    width:100%;padding:14px 16px;border:1px solid #ddd;border-radius:4px;
    font-size:14px;font-family:inherit;background:#fafafa;
  }
  .r-form-row textarea{min-height:140px;resize:vertical;}
  .r-checkbox-row{display:flex;align-items:center;gap:10px;font-size:14px;}
  .r-checkbox-row input{width:18px;height:18px;}
  .r-submit-wrap{text-align:center;margin-top:40px;}
  .r-submit{
    background:var(--red);color:#fff;border:none;
    font-size:16px;font-weight:700;padding:16px 70px;border-radius:26px;cursor:pointer;
  }
  .r-submit:hover{background:var(--red-dark);}

  /* ===== Contact block (bottom) ===== */
  .rc-contact{padding:70px 0 90px;}
  .rc-contact-inner{
    background:var(--rc-red-dark);color:#fff;
    display:grid;grid-template-columns:220px 1fr;gap:0;overflow:hidden;
  }
  @media (max-width:700px){ .rc-contact-inner{grid-template-columns:1fr;} }
  .rc-contact-side{background:var(--rc-red);padding:36px 28px;display:flex;flex-direction:column;justify-content:center;}
  .rc-contact-side .kicker{font-size:12px;letter-spacing:.2em;color:#e9d9a8;margin-bottom:10px;}
  .rc-contact-side .name{font-size:20px;font-weight:600;font-family:"Shippori Mincho",serif;}
  .rc-contact-side .furi{font-size:12px;color:#e6d7f0;margin-top:4px;}
  .rc-contact-main{padding:36px 32px;}
  .rc-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
  .rc-contact-list li{display:flex;align-items:center;gap:14px;}
  .rc-contact-list .icon{
    width:36px;height:36px;flex:none;border:1px solid rgba(255,255,255,.35);
    display:flex;align-items:center;justify-content:center;font-size:16px;
  }
  .rc-contact-list a{color:#fff;font-size:15px;letter-spacing:.02em;word-break:break-all;}
  .rc-contact-list a:hover{text-decoration:underline;}
  .rc-contact-list .line-btn{display:inline-block;background:#06C755;color:#fff !important;padding:6px 16px;font-size:13px;font-weight:700;}

  .sp-only{display:none;}

  @media (max-width:768px){
    .r-hero{aspect-ratio: var(--sp-img-ratio);}
    .r-hero-copy{font-size:30px;}
    .r-hero-sub{font-size:15px;margin-top:12px;}
    .r-hero-overlay{padding:0 6%;}
    .r-divider .chevron{border-left-width:18px;border-right-width:18px;border-top-width:14px;margin-right:10px;}
    .r-divider-text .en{font-size:24px;}
    .r-submit{width:100%;padding:16px 0;}
  }
  @media (max-width:600px){
    .rc-wrap{padding:0 20px;}
    .rc-lead h2{font-size:19px;letter-spacing:.02em;}
    .rc-feature-text{text-align:center;}
    .rc-feature-text p{text-align:center;}
    .rc-feature-stats{justify-content:center;}
    .rc-feature-stats .stat{text-align:center;}
    .sp-only{display:inline;}
  }
