.company-page { background: #f5f7f9; color: #17324d; }
.company-hero { padding: 64px 0 52px; background: #eef3f7; border-bottom: 1px solid #dce4eb; }
.company-hero .breadcrumbs { margin-bottom: 24px; }
.company-hero h1 { margin: 0; color: #102f4d; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: clamp(32px, 5vw, 50px); letter-spacing: .08em; }
.company-hero p { max-width: 650px; margin: 18px 0 0; color: #51697d; line-height: 1.9; }
.company-section { padding: 64px 0 76px; }
.company-card { overflow: hidden; max-width: 960px; margin: 0 auto; background: #fff; border: 1px solid #dce4eb; box-shadow: 0 18px 46px rgba(16,47,77,.07); }
.company-table { margin: 0; }
.company-row { display: grid; grid-template-columns: 210px 1fr; border-top: 1px solid #e5ebf0; }
.company-row:first-child { border-top: 0; }
.company-row dt, .company-row dd { margin: 0; padding: 22px 28px; line-height: 1.8; }
.company-row dt { color: #102f4d; background: #f4f7f9; font-weight: 700; }
.company-row dd { color: #324d64; }
.company-row a { color: #184e77; text-decoration: underline; text-underline-offset: 4px; }
.company-access-link { display: inline-flex; margin-top: 8px; font-weight: 700; }
@media (max-width: 640px) {
  .company-hero { padding: 42px 0 38px; }
  .company-section { padding: 40px 0 52px; }
  .company-row { grid-template-columns: 1fr; }
  .company-row dt { padding: 15px 20px 8px; background: #f7f9fb; }
  .company-row dd { padding: 8px 20px 17px; }
}
