@charset "utf-8";
/* ============================================================
   採用情報 (join) — C案 企业正式风（求人票スタイル）
   和 /ship/ /disclaimer/ 视觉一致
   ============================================================ */

.jn-root{
  --jn-navy:#043A5E;--jn-primary:#0679D4;--jn-ink:#1a2332;--jn-ink-2:#3c4656;
  --jn-mute:#64748b;--jn-line:#d6dde5;--jn-line-2:#e8edf3;--jn-bg:#f4f6fa;
  --jn-accent:#c9a227;--jn-cta:#17994a;--jn-cta-dk:#0f7a3a;
  color:var(--jn-ink);line-height:1.85;font-size:15px;
}
.jn-root *{box-sizing:border-box;}

/* Breadcrumb */
.jn-bc{font-size:12px;padding:10px 0;background:var(--jn-bg);color:var(--jn-mute);border-bottom:1px solid var(--jn-line-2);}
.jn-bc a{color:var(--jn-mute);text-decoration:none;}
.jn-bc a:hover{color:var(--jn-primary);}
.jn-bc span{color:var(--jn-ink);font-weight:700;}

/* Page frame */
.jn-page{padding:40px 0 70px;background:#fff;}

/* Title */
.jn-title{font-size:24px;font-weight:700;color:var(--jn-navy);margin:0 0 12px;
  padding-bottom:14px;border-bottom:2px solid var(--jn-primary);display:inline-block;letter-spacing:.02em;}
.jn-meta{font-size:12px;color:var(--jn-mute);margin:0 0 28px;letter-spacing:.03em;}
.jn-meta b{color:var(--jn-ink);font-weight:700;}

/* Intro */
.jn-intro{background:#fbfcfd;border-left:3px solid var(--jn-primary);padding:16px 20px;margin:0 0 32px;
  font-size:14px;color:var(--jn-ink-2);line-height:1.9;border-radius:0 3px 3px 0;}
.jn-intro strong{color:var(--jn-navy);}

/* Overview band */
.jn-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--jn-line);margin-bottom:40px;border-radius:3px;overflow:hidden;}
.jn-ov-cell{padding:18px 22px;border-right:1px solid var(--jn-line-2);background:#fff;}
.jn-ov-cell:last-child{border-right:0;}
@media(max-width:720px){
  .jn-overview{grid-template-columns:repeat(2,1fr);}
  .jn-ov-cell:nth-child(2n){border-right:0;}
  .jn-ov-cell:nth-child(-n+2){border-bottom:1px solid var(--jn-line-2);}
}
.jn-ov-lbl{font-size:12px;color:var(--jn-mute);letter-spacing:.05em;margin-bottom:4px;}
.jn-ov-val{font-size:16px;font-weight:700;color:var(--jn-navy);}

/* Section */
.jn-sec{margin:0 0 44px;}
.jn-sec h2{font-size:18px;font-weight:700;color:var(--jn-navy);margin:0 0 16px;
  padding-bottom:8px;border-bottom:1px solid var(--jn-line);
  display:flex;align-items:baseline;gap:12px;}
.jn-sec-no{color:var(--jn-primary);font-weight:700;font-size:14px;letter-spacing:.05em;flex-shrink:0;}

/* Badges */
.jn-badges{margin-bottom:12px;}
.jn-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:2px;margin-right:6px;letter-spacing:.04em;}
.jn-badge-type{background:var(--jn-navy);color:#fff;}
.jn-badge-welcome{background:#e7f5ee;color:var(--jn-cta-dk);}
.jn-badge-warm{background:#fff4d6;color:#8a6a12;}

/* 求人票 table */
.jn-jobtbl{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--jn-line);margin-bottom:12px;border-radius:3px;overflow:hidden;}
.jn-jobtbl th,.jn-jobtbl td{padding:14px 20px;border-bottom:1px solid var(--jn-line-2);
  text-align:left;vertical-align:top;font-size:14px;}
.jn-jobtbl tr:last-child th,.jn-jobtbl tr:last-child td{border-bottom:0;}
.jn-jobtbl th{background:var(--jn-bg);color:var(--jn-navy);font-weight:700;width:180px;
  font-size:13px;letter-spacing:.04em;}
.jn-jobtbl td{color:var(--jn-ink-2);line-height:1.9;}
.jn-jobtbl td b,.jn-jobtbl td strong{color:var(--jn-navy);}
.jn-jobtbl ol,.jn-jobtbl ul{padding-left:20px;margin:0;}
.jn-jobtbl li{margin-bottom:5px;}
.jn-jobtbl li:last-child{margin-bottom:0;}
@media(max-width:720px){
  .jn-jobtbl th,.jn-jobtbl td{display:block;width:100%;padding:10px 14px;}
  .jn-jobtbl th{border-bottom:0;padding-bottom:4px;}
}

/* Apply flow */
.jn-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;
  border:1px solid var(--jn-line);border-radius:3px;overflow:hidden;}
@media(max-width:720px){.jn-flow{grid-template-columns:1fr;}}
.jn-flow-step{padding:20px 18px;text-align:center;border-right:1px solid var(--jn-line-2);}
.jn-flow-step:last-child{border-right:0;}
@media(max-width:720px){.jn-flow-step{border-right:0;border-bottom:1px solid var(--jn-line-2);}
  .jn-flow-step:last-child{border-bottom:0;}}
.jn-flow-n{width:38px;height:38px;background:var(--jn-navy);color:#fff;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin-bottom:10px;}
.jn-flow-t{font-weight:700;font-size:15px;color:var(--jn-navy);}
.jn-flow-d{font-size:12px;color:var(--jn-mute);margin-top:4px;line-height:1.5;}

/* Contact */
.jn-contact{background:var(--jn-bg);border:1px solid var(--jn-line);border-radius:3px;
  padding:30px 24px;text-align:center;margin-top:40px;}
.jn-contact h3{font-size:18px;font-weight:700;color:var(--jn-navy);margin:0 0 6px;}
.jn-contact p{color:var(--jn-mute);font-size:14px;margin:0 0 18px;}
.jn-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.jn-btn{padding:12px 28px;border-radius:3px;font-weight:700;text-decoration:none;font-size:14px;
  display:inline-flex;align-items:center;justify-content:center;min-width:180px;
  transition:background .15s,color .15s;border:0;cursor:pointer;line-height:1.4;}
.jn-btn-cta{background:var(--jn-cta);color:#fff;}
.jn-btn-cta:hover{background:var(--jn-cta-dk);color:#fff;}
.jn-btn-outline{background:#fff;color:var(--jn-navy);border:1px solid var(--jn-navy);}
.jn-btn-outline:hover{background:var(--jn-navy);color:#fff;}
