
/* ══════════════════════════════════════════
   GUNMA CHUUNICHI TRANSPORT
   Global-level Corporate Website
   Design: Clean White × Deep Navy × Energy Orange
   ══════════════════════════════════════════ */
:root {
  /* Brand — Navy scale */
  --navy-900:  #0A1729;
  --navy-800:  #0D1F3C;   /* brand navy */
  --navy-700:  #16305A;
  --navy-600:  #244478;
  --navy-500:  #3B5A8C;
  --navy-100:  #DDE6F2;
  --navy-50:   #EEF3F9;
  /* Brand — Orange (accent, CTA only) */
  --orange:    #F0952A;   /* on navy / buttons with navy text */
  --orange-dk: #B4590A;   /* text on white (AA 4.8:1) */
  --orange-lt: #FFF4E6;
  --orange-100:#FDE3C4;
  /* Neutrals */
  --gray-900:  #111827;
  --gray-700:  #374151;
  --gray-600:  #4B5563;
  --gray-500:  #6B7280;
  --gray-300:  #D1D5DB;
  --gray-200:  #E5E7EB;
  --gray-100:  #F3F4F6;
  --gray-50:   #F9FAFB;
  /* Semantic (既存名を維持) */
  --navy:      var(--navy-800);
  --navy-mid:  var(--navy-700);
  --navy-lite: var(--navy-600);
  --white:     #FFFFFF;
  --offwhite:  var(--gray-50);
  --blue-tint: var(--navy-50);
  --blue-pale: var(--navy-100);
  --text:      var(--gray-900);
  --text-mid:  var(--gray-600);
  --text-lt:   var(--gray-500);
  --border:    var(--gray-200);
  /* On-dark text */
  --on-dark:      #FFFFFF;
  --on-dark-2:    #C9D4E3;
  --on-dark-3:    #9FB0C6;
  --shadow-sm: 0 1px 2px rgba(13,31,60,0.06), 0 1px 3px rgba(13,31,60,0.04);
  --shadow:    0 4px 16px rgba(13,31,60,0.08), 0 2px 6px rgba(13,31,60,0.04);
  --shadow-lg: 0 20px 48px rgba(13,31,60,0.14), 0 8px 16px rgba(13,31,60,0.06);
  --r:         6px;
  --ease:      cubic-bezier(0.4, 0, 0.2, 1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}

/* ── TYPOGRAPHY ── */
.t-display{font-family:'Noto Sans JP',sans-serif;font-weight:900;line-height:1.1;letter-spacing:-0.02em;}
.t-head{font-family:'Noto Sans JP',sans-serif;font-weight:700;line-height:1.25;}
.t-data{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-0.03em;line-height:1;}
.t-label{font-family:'Inter',sans-serif;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;font-size:0.7rem;}

/* ── LAYOUT ── */
.container{max-width:1200px;margin:0 auto;padding:0 48px;}
.container--wide{max-width:1400px;margin:0 auto;padding:0 48px;}
section{position:relative;}

/* ── NAVBAR ── */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,0.97);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:box-shadow 0.2s var(--ease);
}
.navbar.scrolled{box-shadow:0 2px 20px rgba(13,31,60,0.1);}
.navbar-inner{
  display:flex;align-items:center;
  height:68px;max-width:1200px;
  margin:0 auto;padding:0 48px;gap:32px;
}
.navbar-logo{display:flex;flex-direction:column;line-height:1.2;flex-shrink:0;text-decoration:none;}
.navbar-logo .logo-en{font-family:'Inter',sans-serif;font-size:0.58rem;font-weight:700;letter-spacing:0.18em;color:var(--orange);text-transform:uppercase;}
.navbar-logo .logo-jp{font-family:'Noto Sans JP',sans-serif;font-size:1.12rem;font-weight:700;color:var(--navy);}
.navbar-nav{display:flex;align-items:center;gap:4px;margin-left:auto;}
.navbar-nav a{
  font-size:0.82rem;font-weight:700;
  color:var(--text-mid);
  padding:8px 12px;border-radius:var(--r);
  transition:color 0.15s,background 0.15s;
  white-space:nowrap;
}
.navbar-nav a:hover{color:var(--navy);background:var(--blue-tint);}
.navbar-cta{
  margin-left:8px;
  background:var(--navy);color:var(--white)!important;
  padding:9px 20px!important;border-radius:var(--r)!important;
  font-size:0.82rem!important;font-weight:700!important;
  transition:background 0.15s!important;white-space:nowrap;
}
.navbar-cta:hover{background:var(--orange)!important;}
.navbar-toggle{display:none;background:none;border:1px solid var(--border);color:var(--navy);padding:7px 11px;border-radius:var(--r);cursor:pointer;font-size:0.85rem;margin-left:auto;}
.navbar-mobile{display:none;position:fixed;top:68px;left:0;right:0;background:white;border-bottom:2px solid var(--navy);padding:20px;z-index:999;flex-direction:column;gap:4px;}
.navbar-mobile.open{display:flex;}
.navbar-mobile a{font-size:0.9rem;font-weight:700;color:var(--text-mid);padding:12px 16px;border-radius:var(--r);border-left:3px solid transparent;}
.navbar-mobile a:hover{color:var(--navy);background:var(--blue-tint);border-left-color:var(--orange);}
.navbar-mobile .m-cta{background:var(--navy);color:white;border-radius:var(--r);margin-top:8px;text-align:center;padding:14px;}

/* ── HERO ── */
.hero{
  background:var(--navy);
  min-height:100vh;
  display:flex;flex-direction:column;
  justify-content:center;
  padding:100px 0 80px;
  overflow:hidden;position:relative;
}
.hero::before{
  content:'';position:absolute;
  top:0;left:0;right:0;bottom:0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(240,149,42,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 80% at 10% 80%, rgba(26,48,85,0.4) 0%, transparent 50%);
  pointer-events:none;
}
/* 斜めオレンジストライプ — ロジスティクスの躍動感 */
.hero::after{
  content:'';position:absolute;
  left:-10%;bottom:0;
  width:120%;height:5px;
  background:linear-gradient(90deg,transparent 0%,var(--orange) 20%,var(--orange) 80%,transparent 100%);
}
.hero-inner{position:relative;max-width:1200px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:1fr 480px;gap:80px;align-items:center;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(240,149,42,0.12);
  border:1px solid rgba(240,149,42,0.3);
  border-radius:2px;padding:6px 14px;
  margin-bottom:24px;
}
.hero-eyebrow span{font-family:'Inter',sans-serif;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;font-size:0.68rem;color:var(--orange);}
.hero-eyebrow::before{content:'';width:6px;height:6px;background:var(--orange);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.5;transform:scale(1.3);}}
.hero h1{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:900;line-height:1.08;
  font-size:clamp(2.8rem,5vw,4.2rem);
  color:var(--white);
  margin-bottom:24px;
  letter-spacing:-0.02em;
}
.hero h1 em{color:var(--orange);font-style:normal;}
.hero-sub{
  font-size:0.95rem;line-height:1.85;
  color:var(--on-dark-2);
  border-left:3px solid var(--orange);
  padding-left:16px;
  margin-bottom:40px;
  max-width:520px;
}
.hero-sub strong{color:rgba(255,255,255,0.85);font-weight:700;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--orange);color:var(--white);
  font-weight:700;font-size:0.92rem;
  padding:14px 28px;border-radius:var(--r);
  transition:all 0.2s var(--ease);
  white-space:nowrap;
}
.btn-primary:hover{background:var(--orange-dk);transform:translateY(-2px);box-shadow:0 8px 24px rgba(240,149,42,0.4);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:rgba(255,255,255,0.9);
  font-weight:700;font-size:0.92rem;
  padding:13px 28px;border:1.5px solid rgba(255,255,255,0.25);
  border-radius:var(--r);
  transition:all 0.2s var(--ease);white-space:nowrap;
}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange);}
.btn-navy{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--navy);color:var(--white);
  font-weight:700;font-size:0.92rem;
  padding:13px 28px;border-radius:var(--r);
  transition:all 0.2s var(--ease);white-space:nowrap;
}
.btn-navy:hover{background:var(--navy-lite);transform:translateY(-2px);}
.hero-kpi{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;padding:40px 36px;
  backdrop-filter:blur(8px);
}
.hero-kpi-title{font-family:'Inter',sans-serif;font-weight:700;letter-spacing:0.12em;font-size:0.65rem;text-transform:uppercase;color:var(--orange);margin-bottom:28px;}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.kpi-item{text-align:center;padding:20px 12px;background:rgba(255,255,255,0.04);border-radius:6px;border:1px solid rgba(255,255,255,0.07);}
.kpi-num{font-family:'Inter',sans-serif;font-weight:800;font-size:2.6rem;letter-spacing:-0.04em;color:var(--white);line-height:1;}
.kpi-num sup{font-size:0.9rem;font-weight:600;color:var(--orange);vertical-align:super;margin-left:2px;}
.kpi-label{font-size:0.68rem;color:#7A90A4;margin-top:6px;line-height:1.4;}
.kpi-sub{font-size:0.62rem;color:var(--orange);font-weight:700;margin-top:3px;}

/* ── TICKER ── */
.ticker{background:var(--orange);padding:14px 0;overflow:hidden;}
.ticker-track{display:flex;gap:64px;animation:ticker 30s linear infinite;width:max-content;}
.ticker-track:hover{animation-play-state:paused;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%)}}
.ticker-item{
  display:flex;align-items:center;gap:12px;
  font-family:'Inter',sans-serif;font-weight:700;
  font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--white);white-space:nowrap;
}
.ticker-item::after{content:'◆';color:rgba(255,255,255,0.4);font-size:0.5rem;margin-left:32px;}

/* ── SECTION COMMONS ── */
.section-eyebrow{
  font-family:'Inter',sans-serif;font-weight:600;
  letter-spacing:0.14em;text-transform:uppercase;
  font-size:0.68rem;color:var(--orange);
  display:inline-flex;align-items:center;gap:8px;
  margin-bottom:16px;
}
.section-eyebrow::before{content:'';width:20px;height:2px;background:var(--orange);}
h2.section-title{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:900;font-size:clamp(1.8rem,3vw,2.5rem);
  color:var(--navy);line-height:1.2;
  letter-spacing:-0.02em;margin-bottom:16px;
}
.section-lead{font-size:0.95rem;line-height:1.9;color:var(--text-mid);max-width:600px;}

/* ── ABOUT ── */
#about{background:var(--white);padding:112px 0;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;}
.about-text .section-lead{margin-bottom:40px;}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:8px;}
.about-stat{background:var(--white);padding:24px 20px;text-align:center;}
.about-stat-num{font-family:'Inter',sans-serif;font-weight:800;font-size:2.2rem;color:var(--navy);letter-spacing:-0.04em;line-height:1;}
.about-stat-num sup{font-size:0.75rem;color:var(--orange);font-weight:700;}
.about-stat-label{font-size:0.68rem;color:var(--text-lt);margin-top:4px;line-height:1.4;}
.about-visual{position:relative;}
.about-img-wrap{
  border-radius:8px;overflow:hidden;
  aspect-ratio:4/3;background:var(--navy-mid);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.about-img-wrap img{width:100%;height:100%;object-fit:cover;loading:lazy;}
.about-badge{
  position:absolute;bottom:-20px;right:-20px;
  background:var(--orange);color:white;
  border-radius:50%;width:96px;height:96px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:8px;
  font-family:'Inter',sans-serif;
  box-shadow:0 8px 24px rgba(240,149,42,0.4);
}
.about-badge strong{font-size:1.6rem;font-weight:800;line-height:1;}
.about-badge span{font-size:0.55rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;line-height:1.3;}

/* ── SERVICES ── */
#services{background:var(--offwhite);padding:112px 0;}
.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:64px;}
.services-intro .section-lead{max-width:100%;}
.services-cta-box{text-align:right;padding-bottom:4px;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.svc-card{
  background:var(--white);border-radius:8px;
  border:1px solid var(--border);
  padding:40px 32px;
  transition:all 0.25s var(--ease);
  position:relative;overflow:hidden;
}
.svc-card::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:3px;
  background:var(--border);
  transition:background 0.25s;
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.svc-card:hover::before{background:var(--orange);}
.svc-icon{font-size:2.4rem;margin-bottom:20px;display:block;}
.svc-card h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1.15rem;color:var(--navy);margin-bottom:12px;}
.svc-card p{font-size:0.84rem;color:var(--text-mid);line-height:1.85;}
.svc-tag{
  display:inline-block;margin-top:20px;
  font-family:'Inter',sans-serif;font-weight:600;
  font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;
  padding:4px 10px;border:1px solid var(--border);
  color:var(--text-lt);border-radius:2px;
}
.fleet-detail{
  margin-top:64px;background:var(--navy);
  border-radius:8px;padding:40px 48px;
}
.fleet-detail-head{
  display:flex;justify-content:space-between;
  align-items:center;margin-bottom:28px;padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.fleet-detail-title{font-family:'Inter',sans-serif;font-weight:700;letter-spacing:0.12em;font-size:0.68rem;text-transform:uppercase;color:var(--orange);}
.fleet-detail-total{font-family:'Inter',sans-serif;font-weight:800;font-size:1.8rem;color:white;letter-spacing:-0.03em;}
.fleet-detail-total span{font-size:0.8rem;font-weight:600;color:var(--orange);margin-left:4px;}
.fleet-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.fleet-item{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:4px;padding:12px 10px;
  display:flex;justify-content:space-between;
  align-items:center;
}
.fleet-name{font-size:0.72rem;color:#ccd6e0;line-height:1.4;}
.fleet-count{font-family:'Inter',sans-serif;font-weight:800;font-size:1.1rem;color:var(--orange);}
.ops-bar{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:24px;border-top:1px solid rgba(255,255,255,0.08);
  padding-top:24px;gap:0;
}
.ops-item{text-align:center;padding:12px;border-right:1px solid rgba(255,255,255,0.08);}
.ops-item:last-child{border-right:none;}
.ops-num{font-family:'Inter',sans-serif;font-weight:800;font-size:1.8rem;color:var(--orange);line-height:1;}
.ops-label{font-size:0.62rem;color:#7a90a4;margin-top:4px;}

/* ── PROMISE ── */
#promise{background:var(--white);padding:112px 0;}
.promise-intro{text-align:center;max-width:640px;margin:0 auto 64px;}
.promise-intro .section-lead{margin:0 auto;}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--border);}
.pillar{
  background:var(--white);padding:56px 40px;
  text-align:center;position:relative;
  transition:background 0.2s;
}
.pillar:hover{background:var(--blue-tint);}
.pillar-num{
  font-family:'Inter',sans-serif;font-weight:800;
  font-size:0.68rem;letter-spacing:0.2em;
  color:var(--orange);display:block;margin-bottom:20px;
}
.pillar-icon{font-size:2.6rem;display:block;margin-bottom:16px;}
.pillar h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1.2rem;color:var(--navy);margin-bottom:16px;}
.pillar p{font-size:0.84rem;color:var(--text-mid);line-height:1.85;}

/* ── SAFETY & AWARDS ── */
#safety{background:var(--navy);padding:112px 0;}
#safety .section-eyebrow{color:var(--orange);}
#safety h2.section-title{color:var(--white);}
#safety .section-lead{color:var(--on-dark-2);}
.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:56px;align-items:start;}
.award-card{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;padding:36px;
  transition:border-color 0.2s;
}
.award-card:hover{border-color:var(--orange);}
.award-date{
  font-family:'Inter',sans-serif;font-weight:600;
  font-size:0.68rem;letter-spacing:0.1em;
  color:var(--orange);margin-bottom:12px;display:block;
}
.award-card h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1.1rem;color:white;margin-bottom:8px;}
.award-card p{font-size:0.83rem;color:var(--on-dark-2);line-height:1.7;}
.safety-policy{
  background:rgba(240,149,42,0.08);
  border:1px solid rgba(240,149,42,0.2);
  border-radius:8px;padding:36px;margin-top:48px;
}
.safety-policy h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1.1rem;color:white;margin-bottom:16px;}
.safety-policy p{font-size:0.84rem;color:var(--on-dark-2);line-height:1.85;}
.safety-policy cite{display:block;font-size:0.72rem;color:var(--orange);margin-top:12px;font-style:normal;}

/* ── RECRUIT ── */
#recruit{background:var(--offwhite);padding:112px 0;}
.recruit-intro{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;margin-bottom:56px;}
.appeals{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:48px;}
.appeal{
  background:var(--white);border-radius:8px;
  border:1px solid var(--border);
  padding:24px;display:flex;gap:16px;align-items:flex-start;
  transition:all 0.2s var(--ease);
}
.appeal:hover{border-color:var(--orange);transform:translateX(4px);}
.appeal-icon{
  width:44px;height:44px;
  background:var(--blue-tint);border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;flex-shrink:0;
}
.appeal h4{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:0.95rem;color:var(--navy);margin-bottom:6px;}
.appeal p{font-size:0.8rem;color:var(--text-mid);line-height:1.7;}
.jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px;}
.job-card{
  background:var(--white);border-radius:8px;
  border:1px solid var(--border);
  overflow:hidden;
  transition:all 0.25s var(--ease);
}
.job-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.job-head{background:var(--navy);padding:28px 28px 24px;position:relative;}
.job-type{
  display:inline-block;
  background:var(--orange);color:white;
  font-family:'Inter',sans-serif;font-weight:700;
  font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:2px;margin-bottom:12px;
}
.job-type.part{background:rgba(240,149,42,0.3);color:var(--orange);}
.job-card h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1.05rem;color:white;line-height:1.4;}
.job-body{padding:28px;}
.job-salary{
  font-family:'Inter',sans-serif;font-weight:800;
  font-size:1.3rem;color:var(--navy);
  margin-bottom:16px;letter-spacing:-0.02em;
}
.job-salary span{font-size:0.75rem;font-weight:600;color:var(--text-lt);}
.job-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;}
.job-tag{
  font-size:0.68rem;font-weight:700;
  background:var(--blue-tint);color:var(--navy-mid);
  padding:4px 10px;border-radius:2px;
}
.job-apply{
  display:block;text-align:center;
  background:var(--navy);color:white;
  font-weight:700;font-size:0.85rem;
  padding:14px;border-radius:var(--r);
  transition:background 0.15s;
}
.job-apply:hover{background:var(--orange);}

/* ── COMPANY ── */
#company{background:var(--white);padding:112px 0;}
.company-grid{display:grid;grid-template-columns:2fr 1fr;gap:64px;align-items:start;}
table.co-table{width:100%;border-collapse:collapse;}
.co-table tr{border-bottom:1px solid var(--border);}
.co-table tr:first-child th,.co-table tr:first-child td{padding-top:0;}
.co-table th{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:700;font-size:0.82rem;
  color:var(--navy);vertical-align:top;
  padding:20px 24px 20px 0;white-space:nowrap;width:140px;
}
.co-table td{font-size:0.88rem;color:var(--text-mid);padding:20px 0;line-height:1.7;}
.co-sidebar{display:flex;flex-direction:column;gap:20px;}
.co-card{
  background:var(--offwhite);border-radius:8px;
  border:1px solid var(--border);padding:28px;
}
.co-card h4{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:0.9rem;color:var(--navy);margin-bottom:12px;}
.co-card p,.co-card address{font-size:0.84rem;color:var(--text-mid);line-height:1.8;font-style:normal;}
.co-tel{
  font-family:'Inter',sans-serif;font-weight:800;
  font-size:1.6rem;color:var(--navy);
  display:block;margin-bottom:4px;letter-spacing:-0.02em;
}

/* ── FAQ ── */
#faq{background:var(--offwhite);padding:112px 0;}
.faq-intro{text-align:center;max-width:640px;margin:0 auto 56px;}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.faq-item{
  background:var(--white);border-radius:8px;
  border:1px solid var(--border);
  overflow:hidden;
}
.faq-q{
  display:flex;align-items:flex-start;gap:16px;
  padding:24px 28px;cursor:pointer;
  transition:background 0.15s;
  position:relative;
}
.faq-q:hover{background:var(--blue-tint);}
.faq-q-mark{
  width:28px;height:28px;flex-shrink:0;
  background:var(--navy);color:white;
  font-family:'Inter',sans-serif;font-weight:700;font-size:0.75rem;
  display:flex;align-items:center;justify-content:center;border-radius:4px;
  margin-top:1px;
}
.faq-q p{font-weight:700;font-size:0.9rem;color:var(--navy);line-height:1.5;flex:1;}
.faq-toggle{
  width:24px;height:24px;flex-shrink:0;
  background:var(--border);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.7rem;color:var(--text-lt);
  transition:all 0.2s;margin-top:2px;
}
.faq-item.open .faq-toggle{background:var(--orange);color:white;transform:rotate(45deg);}
.faq-a{
  display:none;padding:0 28px 24px calc(28px + 44px);
  font-size:0.85rem;color:var(--text-mid);line-height:1.85;
  border-top:1px solid var(--border);padding-top:20px;
}
.faq-item.open .faq-a{display:block;}

/* ── CONTACT ── */
#contact{background:var(--navy);padding:112px 0;}
#contact .section-eyebrow{color:var(--orange);}
#contact h2.section-title{color:var(--white);}
#contact .section-lead{color:var(--on-dark-2);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:56px;align-items:start;}
.contact-info{display:flex;flex-direction:column;gap:20px;}
.c-info-item{
  display:flex;gap:16px;
  padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,0.07);
}
.c-info-item:last-child{border-bottom:none;}
.c-info-icon{
  width:40px;height:40px;flex-shrink:0;
  background:rgba(240,149,42,0.15);border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;color:var(--orange);
}
.c-info-label{font-size:0.7rem;font-weight:700;color:var(--orange);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:4px;}
.c-info-value{font-size:0.9rem;color:rgba(255,255,255,0.85);line-height:1.6;}
.c-info-value a{color:rgba(255,255,255,0.85);}
.c-tel{font-family:'Inter',sans-serif;font-weight:800;font-size:1.8rem;color:white;letter-spacing:-0.02em;}
.co-card .c-tel{color:var(--navy);}
.contact-form{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:40px;}
.contact-form h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1.1rem;color:white;margin-bottom:28px;}
.form-group{margin-bottom:20px;}
.form-label{display:block;font-size:0.78rem;font-weight:700;color:rgba(255,255,255,0.7);margin-bottom:8px;letter-spacing:0.04em;}
.form-label .req{color:var(--orange);margin-left:4px;font-size:0.7rem;}
.form-note{font-size:0.72rem;color:rgba(255,255,255,0.45);margin:6px 0 0;line-height:1.6;}
.form-input,.form-select,.form-textarea{
  width:100%;background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:var(--r);padding:12px 16px;
  color:white;font-size:0.9rem;
  font-family:'Noto Sans JP',sans-serif;
  transition:border-color 0.15s;outline:none;font-size:16px;
}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,0.3);}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--orange);}
.form-select{appearance:none;cursor:pointer;}
.form-select option{background:#1a3055;color:white;}
.form-textarea{min-height:120px;resize:vertical;}
.form-submit{
  width:100%;background:var(--orange);color:white;
  border:none;padding:16px;border-radius:var(--r);
  font-weight:700;font-size:1rem;cursor:pointer;
  font-family:'Noto Sans JP',sans-serif;
  transition:background 0.15s;
}
.form-submit:hover{background:var(--orange-dk);}

/* ── FOOTER ── */
footer{background:#070E1C;padding:64px 0 32px;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.07);}
.footer-brand .logo-en{font-family:'Inter',sans-serif;font-size:0.58rem;font-weight:700;letter-spacing:0.18em;color:var(--orange);text-transform:uppercase;}
.footer-brand .logo-jp{font-family:'Noto Sans JP',sans-serif;font-size:1.1rem;font-weight:700;color:white;margin:4px 0 16px;}
.footer-brand p{font-size:0.8rem;color:#556677;line-height:1.8;max-width:280px;}
.footer-nav h4{font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;font-family:'Inter',sans-serif;}
.footer-nav ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-nav ul li a{font-size:0.83rem;color:#6B7E92;transition:color 0.15s;}
.footer-nav ul li a:hover{color:white;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;}
.footer-copy{font-size:0.75rem;color:var(--on-dark-3);}
.footer-legal{display:flex;gap:24px;}
.footer-legal a{font-size:0.75rem;color:var(--on-dark-3);transition:color 0.15s;}
.footer-legal a:hover{color:#6B7E92;}

/* ── REVEAL ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.55s var(--ease),transform 0.55s var(--ease);}
.reveal.visible{opacity:1;transform:none;}
.reveal-d1{transition-delay:0.1s;}
.reveal-d2{transition-delay:0.2s;}
.reveal-d3{transition-delay:0.3s;}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .container{padding:0 24px;}
  .hero-inner{grid-template-columns:1fr;gap:48px;}
  .hero-kpi{max-width:440px;}
  .about-grid,.services-intro,.safety-grid,.company-grid,.contact-grid{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .jobs-grid,.faq-grid{grid-template-columns:1fr;}
  .fleet-grid{grid-template-columns:repeat(2,1fr);}
  .ops-bar{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  #about,#services,#promise,#safety,#recruit,#company,#faq,#contact{padding:80px 0;}
}
@media(max-width:640px){
  .navbar-nav{display:none;}
  .navbar-toggle{display:block;}
  .hero h1{font-size:2.2rem;}
  .kpi-grid{grid-template-columns:1fr 1fr;}
  .appeals{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .fleet-grid{grid-template-columns:1fr 1fr;}
  .fleet-detail{padding:28px 24px;}
  .navbar-inner{padding:0 20px;}
  .hero-inner{padding:0 20px;}
  .container{padding:0 20px;}
  #about,#services,#promise,#safety,#recruit,#company,#faq,#contact{padding:64px 0;}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;}
  .ticker-track{animation:none;}
  @keyframes pulse{from,to{opacity:1;transform:scale(1);}}
}

/* ── Skip link（アクセシビリティ） ── */
.skip-link{
  position:absolute;top:-48px;left:16px;z-index:2000;
  background:var(--navy);color:white;
  padding:12px 20px;border-radius:0 0 6px 6px;
  font-weight:700;font-size:0.85rem;
  transition:top 0.2s;
}
.skip-link:focus{top:0;}


/* ── オーディエンス分岐カード（HubSpot式デュアルパス） ── */
.paths{background:var(--white);padding:0;position:relative;margin-top:-1px;}
.paths-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:0 auto;}
.path-card{
  display:flex;align-items:center;gap:20px;
  padding:36px 48px;text-decoration:none;
  border-bottom:3px solid transparent;
  transition:all 0.2s var(--ease);position:relative;
}
.path-card:first-child{border-right:1px solid var(--border);}
.path-card:hover{background:var(--blue-tint);border-bottom-color:var(--orange);}
.path-icon{
  width:56px;height:56px;flex-shrink:0;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;
}
.path-card.biz .path-icon{background:var(--blue-pale);}
.path-card.job .path-icon{background:var(--orange-lt);}
.path-label{font-family:'Inter',sans-serif;font-weight:600;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--orange);margin-bottom:4px;}
.path-card h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1.1rem;color:var(--navy);margin-bottom:4px;}
.path-card p{font-size:0.78rem;color:var(--text-lt);}
.path-arrow{margin-left:auto;font-size:1.2rem;color:var(--orange);transition:transform 0.2s;}
.path-card:hover .path-arrow{transform:translateX(6px);}

/* ── 社員の声（採用転換の要） ── */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:48px 0;}
.voice-card{
  background:var(--white);border-radius:8px;
  border:1px solid var(--border);padding:28px;
  position:relative;
}
.voice-card::before{
  content:'"';position:absolute;top:12px;right:20px;
  font-family:'Inter',sans-serif;font-size:4rem;font-weight:800;
  color:var(--blue-pale);line-height:1;
}
.voice-tag{
  display:inline-block;background:var(--navy);color:white;
  font-size:0.62rem;font-weight:700;letter-spacing:0.06em;
  padding:4px 10px;border-radius:2px;margin-bottom:14px;
}
.voice-card p{font-size:0.85rem;color:var(--text);line-height:1.9;margin-bottom:16px;position:relative;z-index:1;}
.voice-meta{display:flex;align-items:center;gap:12px;}
.voice-avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-lite) 100%);
  color:white;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:0.85rem;font-family:'Inter',sans-serif;
}
.voice-name{font-size:0.78rem;font-weight:700;color:var(--navy);}
.voice-role{font-size:0.7rem;color:var(--text-lt);}

/* ── ステップフロー（応募/依頼の流れ） ── */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px;}
.flow-step{
  background:var(--white);border:1px solid var(--border);
  border-radius:8px;padding:24px 20px;text-align:center;position:relative;
}
.flow-step:not(:last-child)::after{
  content:'→';position:absolute;right:-14px;top:50%;transform:translateY(-50%);
  color:var(--orange);font-weight:800;font-size:1rem;z-index:2;
}
.flow-num{
  font-family:'Inter',sans-serif;font-weight:800;font-size:0.65rem;
  letter-spacing:0.15em;color:var(--orange);display:block;margin-bottom:10px;
}
.flow-icon{font-size:1.8rem;display:block;margin-bottom:10px;}
.flow-step h4{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:0.92rem;color:var(--navy);margin-bottom:8px;}
.flow-step p{font-size:0.74rem;color:var(--text-lt);line-height:1.7;}

/* ── モバイル固定CTAバー（高転換率サイトの定番） ── */
.floating-cta{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:1500;
  background:rgba(255,255,255,0.98);backdrop-filter:blur(8px);
  border-top:1px solid var(--border);
  box-shadow:0 -4px 20px rgba(13,31,60,0.12);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  grid-template-columns:1fr 1fr;gap:10px;
}
.floating-cta a{
  display:flex;align-items:center;justify-content:center;gap:6px;
  font-weight:700;font-size:0.85rem;padding:13px;border-radius:6px;
}
.fcta-tel{background:var(--navy);color:white;}
.fcta-job{background:var(--orange);color:white;}
@media(max-width:640px){
  .floating-cta{display:grid;}
  .night-ops{grid-template-columns:1fr !important;}
  .night-ops > div:first-child{padding:32px 24px !important;}
  .night-ops > div:last-child{min-height:240px !important;}
  [style*="24 / 365"], [style*="padding:0 48px;max-width:560px"]{padding:0 20px !important;}
  [style*="grid-template-columns:1fr 380px"]{grid-template-columns:1fr !important;}
  body{padding-bottom:70px;}
  .paths-grid{grid-template-columns:1fr;}
  .path-card:first-child{border-right:none;border-bottom:1px solid var(--border);}
  .path-card{padding:24px 20px;}
  .voices{grid-template-columns:1fr;}
  .flow{grid-template-columns:1fr 1fr;gap:16px;}
  .flow-step:not(:last-child)::after{display:none;}
}
@media(min-width:641px) and (max-width:960px){
  .voices{grid-template-columns:1fr;}
  .flow{grid-template-columns:repeat(2,1fr);}
}



/* ══ MULTI-PAGE ADDITIONS ══ */
.page-hero{background:var(--navy);padding:120px 0 56px;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 30%,rgba(240,149,42,0.08) 0%,transparent 60%);pointer-events:none;}
.page-hero .container{position:relative;}
.page-hero .section-eyebrow{color:var(--orange);}
.page-hero h1{font-family:'Noto Sans JP',sans-serif;font-weight:900;font-size:clamp(1.7rem,3.6vw,2.6rem);color:#fff;line-height:1.25;letter-spacing:-0.01em;margin:8px 0 14px;}
.page-hero p.lead{font-size:0.95rem;color:var(--on-dark-2);line-height:1.9;max-width:720px;}
.page-hero .hero-actions{margin-top:24px;}
.breadcrumb{font-size:0.72rem;color:var(--on-dark-3);margin-bottom:18px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.breadcrumb a{color:var(--on-dark-2);}
.breadcrumb a:hover{color:#fff;}
.breadcrumb span.sep{opacity:0.5;}
.breadcrumb.on-light{color:var(--text-lt);margin-bottom:0;}
.breadcrumb.on-light a{color:var(--text-mid);}

.hero.hero--top{min-height:auto;padding:120px 0 64px;}
.hero--top .hero-sub{margin-bottom:24px;}

.split-cta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;}
.split-card{display:block;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);border-radius:8px;padding:24px 26px;transition:all .25s var(--ease);}
.split-card:hover{background:rgba(255,255,255,0.09);transform:translateY(-3px);border-color:rgba(240,149,42,0.5);}
.split-card .t-label{color:var(--orange);display:block;margin-bottom:8px;}
.split-card h2{font-family:'Noto Sans JP',sans-serif;font-weight:900;font-size:1.25rem;color:#fff;margin-bottom:8px;line-height:1.35;}
.split-card p{font-size:0.82rem;color:var(--on-dark-2);line-height:1.75;margin-bottom:14px;}
.split-card .go{font-size:0.82rem;font-weight:700;color:var(--orange);}
.split-card.job{border-color:rgba(240,149,42,0.35);background:rgba(240,149,42,0.08);}

.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:20px;}
.area-chip{background:var(--offwhite);border:1px solid var(--border);border-radius:6px;padding:14px 16px;font-size:0.86rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px;}
.area-chip small{display:block;font-weight:400;font-size:0.7rem;color:var(--text-lt);}

.cond-table{width:100%;border-collapse:collapse;font-size:0.9rem;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.cond-table th{width:26%;text-align:left;background:var(--offwhite);color:var(--navy);font-weight:700;padding:14px 18px;border-bottom:1px solid var(--border);vertical-align:top;font-size:0.82rem;}
.cond-table td{padding:14px 18px;border-bottom:1px solid var(--border);color:var(--text);line-height:1.8;}
.cond-table tr:last-child th,.cond-table tr:last-child td{border-bottom:none;}
.cond-table .todo{background:#FFF4E6;color:var(--orange-dk);font-weight:700;padding:2px 8px;border-radius:3px;font-size:0.78rem;}

.job-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0 8px;}
.job-summary .box{background:var(--blue-tint);border:1px solid var(--blue-pale);border-radius:6px;padding:14px 16px;}
.job-summary .box .k{font-size:0.68rem;color:var(--text-lt);font-weight:700;letter-spacing:0.06em;}
.job-summary .box .v{font-family:'Inter','Noto Sans JP',sans-serif;font-weight:800;font-size:1.15rem;color:var(--navy);margin-top:2px;line-height:1.3;}
.job-summary .box .v small{font-size:0.75rem;font-weight:600;}

.apply-panel{background:var(--navy);border-radius:8px;padding:32px 36px;color:#fff;}
.apply-panel h3{font-family:'Noto Sans JP',sans-serif;font-weight:900;font-size:1.3rem;margin-bottom:6px;color:#fff;}
.apply-panel p{font-size:0.84rem;color:var(--on-dark-2);line-height:1.8;margin-bottom:18px;}
.apply-panel .form-label{color:rgba(255,255,255,0.75);}
.apply-panel .form-input,.apply-panel .form-select,.apply-panel .form-textarea{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);color:#fff;}
.apply-panel .form-input::placeholder,.apply-panel .form-textarea::placeholder{color:rgba(255,255,255,0.35);}
.apply-panel .form-select option{color:var(--text);}
.apply-tel{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0 0 22px;padding:16px 18px;background:rgba(240,149,42,0.12);border:1px solid rgba(240,149,42,0.35);border-radius:6px;}
.apply-tel a{font-family:'Inter',sans-serif;font-weight:800;font-size:1.6rem;color:var(--orange);letter-spacing:0.02em;}
.apply-tel span{font-size:0.78rem;color:var(--on-dark-2);line-height:1.6;}

.voices-empty{border:2px dashed var(--border);border-radius:8px;padding:28px;text-align:center;color:var(--text-lt);font-size:0.84rem;line-height:1.8;background:var(--offwhite);}

.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:28px;}
.card-list .item{background:#fff;border:1px solid var(--border);border-radius:8px;padding:22px 24px;}
.card-list .item h3{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:1rem;color:var(--navy);margin-bottom:8px;}
.card-list .item p{font-size:0.84rem;color:var(--text-mid);line-height:1.8;}
.notice-box{background:var(--offwhite);border-left:4px solid var(--navy);padding:16px 20px;border-radius:0 6px 6px 0;font-size:0.84rem;line-height:1.9;color:var(--text-mid);}
.section-pad{padding:80px 0;}
.section-pad.alt{background:var(--offwhite);}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px;}
.related a{display:block;background:#fff;border:1px solid var(--border);border-radius:6px;padding:16px 18px;font-size:0.86rem;font-weight:700;color:var(--navy);transition:all .2s;}
.related a:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.related a small{display:block;font-weight:400;color:var(--text-lt);font-size:0.72rem;margin-top:4px;}
.navbar-nav a.active{color:var(--navy);background:var(--blue-tint);}

@media(max-width:960px){
  .split-cta{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .page-hero{padding:96px 0 40px;}
  .cond-table th{width:34%;padding:12px;font-size:0.76rem;}
  .cond-table td{padding:12px;font-size:0.84rem;}
  .apply-panel{padding:24px 18px;}
  .apply-tel a{font-size:1.35rem;}
}

/* ── mobile fixes (v2.1) ── */
@media(max-width:960px){
  .recruit-intro{grid-template-columns:1fr;gap:20px;align-items:start;}
  .recruit-intro .btn-navy{align-self:flex-start!important;}
  .media-grid{grid-template-columns:1fr!important;gap:24px!important;}
  .media-grid > div:last-child{justify-content:flex-start!important;}
  .media-card{max-width:100%!important;}
}
@media(max-width:640px){
  .media-card{flex-direction:column;gap:12px!important;padding:20px!important;}
  .media-card h3 br{display:none;}
  .section-title br.pc{display:none;}
  .apply-panel[style*="grid"]{grid-template-columns:1fr!important;}
}
.btn-ghost.on-light{color:var(--navy);border-color:var(--navy);}
.btn-ghost.on-light:hover{color:var(--orange);border-color:var(--orange);}

/* ── 改行制御（v2.2） ── */
body{word-break:auto-phrase;overflow-wrap:anywhere;line-break:strict;}
h1,h2,h3,h4,.section-title,.page-hero h1,.split-card h2,.job-head h3{text-wrap:balance;}
p,li,td,.section-lead,.hero-sub,.faq-a{text-wrap:pretty;}
.nb{white-space:nowrap;}
@media(max-width:640px){
  .br-pc{display:none;}
  .hero-sub{font-size:0.9rem;}
  .kpi-label br{display:none;}
}


/* ══════════════════════════════════════════
   COLOR SYSTEM v3 — overrides
   原則: 紺は階調で／橙はCTAと基準線のみ／
   区切りは明度差／濃色帯は上端に橙の細線
   ══════════════════════════════════════════ */

/* 濃色セクション共通：グラデーション＋上端の帯線 */
.hero,.page-hero,#safety,.apply-panel,footer{
  background:linear-gradient(180deg,var(--navy-800) 0%,var(--navy-900) 100%);
}
.page-hero,#safety{border-top:3px solid var(--orange);}
.hero .hero-sub,.page-hero p.lead{color:var(--on-dark-2);}
.hero-sub strong{color:var(--on-dark);}
.hero-sub{border-left-color:var(--orange);}
#safety h2.section-title,#safety h3{color:var(--on-dark);}
#safety .section-lead,#safety .award-card p{color:var(--on-dark-2);}
.award-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-top:2px solid rgba(240,149,42,0.7);}
.award-date{color:var(--orange);}
.safety-policy{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);border-left:4px solid var(--orange);}
.safety-policy p{color:var(--on-dark-2);}
.safety-policy cite{color:var(--on-dark-3);}

/* KPI・カード on dark */
.hero-kpi{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);}
.kpi-item{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);}
.kpi-num{color:var(--on-dark);}
.kpi-num sup{color:var(--orange);}
.kpi-label{color:var(--on-dark-3);}
.kpi-sub{color:var(--orange);}
.hero-kpi-title{color:var(--on-dark-3);}
.split-card{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.12);}
.split-card p{color:var(--on-dark-2);}
.split-card.job{background:rgba(240,149,42,0.07);border-color:rgba(240,149,42,0.35);}
.apply-panel p{color:var(--on-dark-2);}
.apply-tel span{color:var(--on-dark-2);}

/* ティッカー：橙の全幅帯 → 紺900の控えめな帯 */
.ticker{background:var(--navy-900);border-top:1px solid rgba(255,255,255,0.08);border-bottom:1px solid rgba(255,255,255,0.08);}
.ticker-item{color:var(--on-dark-3);}
.ticker-item::after{color:var(--orange);}

/* 明色セクションの区切り：白 ↔ navy-50（薄い紺ティント） */
.section-pad.alt{background:var(--navy-50);}
#services.alt,#recruit.alt{background:var(--navy-50);}
#media{background:var(--gray-50)!important;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);}

/* 文字色：橙の文字は濃橙（AA）に統一 */
.section-eyebrow{color:var(--orange-dk);}
.hero .section-eyebrow,.page-hero .section-eyebrow,#safety .section-eyebrow,.apply-panel .section-eyebrow{color:var(--orange);}
.section-eyebrow::before{background:var(--orange);}
a[style*="color:var(--orange-dk)"]{color:var(--orange-dk);}
.job-salary{color:var(--navy-800);}
.job-salary span{color:var(--gray-500);}
.about-stat-num,.ops-num,.fleet-count,.fleet-detail-total{color:var(--navy-800);}
.about-stat-num sup,.fleet-detail-total span{color:var(--orange-dk);}
.pillar-num{color:var(--orange-dk);}
.flow-num{color:var(--orange-dk);}

/* タグ・バッジ：橙をやめ、紺ティントで統一（橙はCTA専用） */
.job-tag{background:var(--navy-50);color:var(--navy-700);border:1px solid var(--navy-100);}
.svc-tag{background:var(--navy-50);color:var(--navy-700);border:1px solid var(--navy-100);}
.job-type{background:var(--navy-700);color:#fff;}
.job-type.part{background:var(--gray-600);color:#fff;}
.path-label,.split-card .t-label{color:var(--orange);}
.about-badge{background:var(--navy-800);color:#fff;border:3px solid var(--orange);}
.about-badge strong{color:var(--orange);}

/* ボタン：主CTA＝橙地に紺文字（7:1）／副＝紺地に白／ゴースト */
.btn-primary,.form-submit,.fcta-job,.job-apply{
  background:var(--orange);color:var(--navy-900)!important;font-weight:800;border:none;
  box-shadow:0 2px 8px rgba(240,149,42,0.35);
}
.btn-primary:hover,.form-submit:hover,.fcta-job:hover,.job-apply:hover{background:#F5A64A;color:var(--navy-900)!important;transform:translateY(-1px);box-shadow:0 6px 16px rgba(240,149,42,0.4);}
.btn-navy,.navbar-cta,.fcta-tel{background:var(--navy-800);color:#fff;}
.btn-navy:hover,.navbar-cta:hover,.fcta-tel:hover{background:var(--navy-700);}
.btn-ghost{color:#fff;border:1.5px solid rgba(255,255,255,0.4);}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange);}
.btn-ghost.on-light{color:var(--navy-800);border-color:var(--navy-100);background:#fff;}
.btn-ghost.on-light:hover{border-color:var(--navy-800);color:var(--navy-800);}

/* カード類：境界は薄グレー、ホバーで紺の細線 */
.svc-card,.pillar,.appeal,.card-list .item,.related a,.co-card,.faq-item,.flow-step,.area-chip{
  background:#fff;border:1px solid var(--gray-200);box-shadow:none;
}
.svc-card:hover,.related a:hover,.job-card:hover{border-color:var(--navy-500);box-shadow:var(--shadow);}
.job-card{border:1px solid var(--gray-200);}
.job-head{background:var(--navy-800);}
.job-head h3{color:#fff;}
.faq-q-mark{background:var(--navy-800);color:#fff;}
.faq-item.open .faq-q{background:var(--navy-50);}
.cond-table th{background:var(--navy-50);color:var(--navy-800);}
.job-summary .box{background:var(--navy-50);border-color:var(--navy-100);}
.job-summary .box .v{color:var(--navy-800);}
.notice-box{background:var(--navy-50);border-left-color:var(--navy-800);}
.co-table th{background:var(--navy-50);color:var(--navy-800);}
.fleet-detail{background:#fff;border:1px solid var(--gray-200);}
.fleet-item{background:var(--gray-50);border:1px solid var(--gray-200);}
.ops-bar{background:var(--navy-800);}
.ops-label{color:var(--on-dark-3);}
.ops-num{color:#fff;}

/* ナビ */
.navbar{background:rgba(255,255,255,0.96);border-bottom:1px solid var(--gray-200);}
.navbar-nav a{color:var(--gray-700);}
.navbar-nav a:hover,.navbar-nav a.active{color:var(--navy-800);background:var(--navy-50);}
.navbar-logo .logo-en{color:var(--orange-dk);}
.breadcrumb{color:var(--on-dark-3);}
.breadcrumb a{color:var(--on-dark-2);}

/* フッター */
footer{border-top:3px solid var(--orange);}
footer .logo-en{color:var(--orange);}
footer p,footer li a{color:var(--on-dark-2);}
footer h4{color:var(--on-dark);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);}
.footer-copy,.footer-legal{color:var(--on-dark-3);}
.footer-legal a{color:var(--on-dark-2);text-decoration:underline;}

/* フォーム on dark */
.contact-form{background:linear-gradient(180deg,var(--navy-800),var(--navy-900));}
.form-label{color:var(--on-dark-2);}
.form-note{color:var(--on-dark-3);}
.form-input,.form-select,.form-textarea{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);color:#fff;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px rgba(240,149,42,0.25);}

/* 見出しの色 */
.section-title{color:var(--navy-800);}
h3{color:var(--navy-800);}
.pillar h3,.svc-card h3,.appeal h4,.flow-step h4{color:var(--navy-800);}

/* 受賞実績（明色面）：白カード＋橙の上端線、方針は紺の単独カード */
#awards .award-card{background:#fff;border:1px solid var(--gray-200);border-top:3px solid var(--orange);box-shadow:var(--shadow-sm);}
#awards .award-card h3{color:var(--navy-800);}
#awards .award-card p{color:var(--gray-600);}
#awards .award-date{color:var(--orange-dk);}
#awards .safety-policy{background:linear-gradient(135deg,var(--navy-800),var(--navy-900));border:none;border-left:4px solid var(--orange);box-shadow:var(--shadow);}
#awards .safety-policy h3{color:#fff;}
#awards .safety-policy p{color:var(--on-dark-2);}
#awards .safety-policy cite{color:var(--orange);}
/* 法定公表セクションの区切り線は紺→薄グレー */
#disclosure{border-top:1px solid var(--gray-200)!important;}

.hero-inner--paths{display:block;padding-top:32px;margin-top:8px;}
.hero-inner--paths .split-cta{margin-top:0;}
.split-card{padding:28px 32px;}
@media(max-width:960px){.hero-inner--paths{padding-top:16px;}}

#contact .btn-ghost{color:#fff;border-color:rgba(255,255,255,0.45);background:transparent;}
#contact .btn-ghost:hover{color:var(--orange);border-color:var(--orange);}
#contact .section-lead{color:var(--on-dark-2);}
.contact-info .c-info-value,.contact-info address{color:var(--on-dark-2);}
.contact-info .c-tel{color:#fff;}
