:root{
  --maxw:1100px;
  --brand:#297fc9;
  --ink:#1a202c;
  --border:#eef1f4;
  --surface:#f8fafc;
  --shadow-sm:0 4px 6px rgba(0,0,0,.05);

  /* CTA 蓝色按钮（与其它页面一致） */
  --cta:#2F80ED;
  --cta-shadow:rgba(47,128,237,.28);
  --cta-shadow-hover:rgba(47,128,237,.33);
}

/* ========== Layout ========== */
html,body{height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
.page{max-width:var(--maxw);margin:0 auto;padding:0 16px;flex:1 0 auto}

/* ========== Heading ========== */
.hero_title{
  margin:30px auto;
  padding:0 16px;
  font-size:38px;
  color:var(--ink);
  text-align:center;
  letter-spacing:.3em;
  font-weight:800;
}

/* ========== Breadcrumbs ========== */
.breadcrumbs{
  max-width:1100px;
  margin:20px auto 16px;
  font-size:.9rem;
  color:#666;
  padding:0 20px;
}
.breadcrumbs a{color:inherit;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}

/* ========== Sections / Cards ========== */
.section{margin:80px 0}
.card{border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}
.card_body{padding:16px}

/* ========== Footer ========== */
.footer{background:#0b0f0c;color:#cbd5e1;padding:5px 0 0}
.footer a{color:#d1fae5}
.footer_cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px}
.footer_brand{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.footer_logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-ink))}
.footer_badge{display:block;width:88px;height:auto;aspect-ratio:1/1}
.footer_text strong{display:block;line-height:1.3}
.footer_brand .muted{white-space:nowrap;margin:0}

/* ========== Responsive ========== */
@media (max-width:640px){
  .footer_brand{justify-content:center}
}
@media (min-width:641px) and (max-width:980px){
  .footer_cols{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .grid{grid-template-columns:1fr!important}
}

/* ========== CTA 覆盖：お問い合わせ 按钮统一蓝色 ========== */
.btn.btn--brand{
  background:var(--cta) !important;
  color:#fff !important;
  border:0;
  box-shadow:0 10px 24px var(--cta-shadow);
}
.btn.btn--brand:hover{
  filter:brightness(1.06);
  box-shadow:0 12px 28px var(--cta-shadow-hover);
}
.btn.btn--brand:active{transform:translateY(1px)}



/* ===== Recruit: 横向四列布局（精简版） ===== */
.jobgrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 32px;              /* 列间距：可按需改为 24px */
  align-items: start;     /* 列顶端对齐 */
}
.jobcol{
  display: flex;
  flex-direction: column;
  gap: 12px;              /* 标题与卡片间距 */
}
.jobcol .card{ height: 100%; }

/* 蓝色列标题（统一风格与基线对齐） */
.jobcol .h3{
  display: flex;          /* 与 min-height 配合，下沿齐平 */
  align-items: flex-end;
  min-height: 44px;       /* 统一标题块高度，避免抖动 */
  margin: 8px 0 6px;
  white-space: nowrap;    /* 不换行，防止断行造成参差 */
  color: var(--brand);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.15;
  font-size: 24px;        /* 桌面端字号 */
}

/* 面包屑（保留即可） */
.breadcrumbs{
  max-width: var(--maxw);
  margin: 10px auto 8px;
  font-size: .9rem;
  color: #667085;
  padding: 0 16px;
}
.breadcrumbs a{ color: inherit; text-decoration: none; }
.breadcrumbs a:hover{ text-decoration: underline; }

/* 响应式：中屏 2 列，小屏 1 列，标题略缩小 */
@media (max-width: 1900px){
  .jobgrid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
}
@media (max-width: 980px){
  .jobgrid{ grid-template-columns: 1fr; gap: 20px; }
  .jobcol .h3{ min-height: 36px; font-size: 20px; }
}


.card_kicker{
  color: var(--brand);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .04em;
  margin-bottom: 8px;
  display: block;
  font-size: 16px;
}
@media (max-width: 1980px){ .card_kicker{ font-size: 14px; } }
