
.company-section { padding: 80px 0; }
.company-layout { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 64px; align-items: start; }
.company-table { border-top: 2px solid var(--ink); }
.company-row { display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 16px 0; border-bottom: 1px solid rgba(200,192,184,0.5); font-size: 14px; }
.company-key { font-weight: 700; color: var(--ink); font-size: 13px; }
.company-val { color: var(--stone); line-height: 1.7; }
.company-val a { color: var(--aka); }
.company-history h3 { font-family: var(--serif); font-size: 20px; font-weight: 700; margin-bottom: 28px; color: var(--ink); }
.timeline-item { display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 16px 0; position: relative; }
.timeline-item::before { content: ''; position: absolute; top: 0; left: 30px; width: 1px; height: 100%; background: var(--sand); }
.timeline-item:last-child::before { display: none; }
.timeline-year { font-family: var(--mono); font-size: 13px; font-weight: 500; color: var(--aka); position: relative; z-index: 1; }
.timeline-text { font-size: 14px; color: var(--stone); line-height: 1.7; }
.map-section { padding: 0 0 80px; }
.map-placeholder { background: var(--washi); border: 1px solid var(--sand); border-radius: 6px; height: 320px; display: flex; align-items: center; justify-content: center; color: var(--ash); font-size: 14px; font-family: var(--mono); letter-spacing: 0.06em; }
@media (max-width: 900px) { .company-layout { grid-template-columns: 1fr; gap: 40px; } .company-row { grid-template-columns: 100px 1fr; gap: 12px; } }
