/* ========================================
   Company Page
   ======================================== */
.message { padding: 120px 0; }
.message__inner {
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}
.message__image { border-radius: 12px; overflow: hidden; }
.message__image img { width: 100%; height: 500px; object-fit: cover; }
.message__label { font-family: var(--font-en); font-size: 13px; color: var(--color-primary); letter-spacing: 0.15em; margin-bottom: 16px; }
.message__title { font-family: var(--font-serif); font-size: clamp(20px, 2.5vw, 28px); font-weight: 400; line-height: 2; letter-spacing: 0.1em; margin-bottom: 24px; }
.message__text { font-size: 14px; line-height: 2.2; color: var(--color-text-light); }
.message__name { margin-top: 32px; font-family: var(--font-serif); font-size: 14px; letter-spacing: 0.1em; }
.message__name span { font-size: 20px; display: block; margin-top: 4px; }

.info-section { padding: 100px 0; background: var(--color-bg-light); }
.info-table { max-width: 900px; margin: 0 auto; }
.info-table dl { display: flex; padding: 24px 0; border-bottom: 1px solid var(--color-border); }
.info-table dt { font-size: 14px; font-weight: 500; letter-spacing: 0.1em; min-width: 160px; color: var(--color-text); }
.info-table dd { font-size: 14px; line-height: 1.8; color: var(--color-text-light); flex: 1; }

.partners-section { padding: 100px 0; }
.partners-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 900px; margin: 0 auto; }
.partner-item { padding: 20px; text-align: center; font-size: 13px; letter-spacing: 0.05em; background: var(--color-bg-light); border-radius: 8px; }

.access-section { padding: 100px 0; background: var(--color-bg-light); }
.access-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.access-info { font-size: 14px; line-height: 2; }
.access-info h3 { font-family: var(--font-serif); font-size: 20px; margin-bottom: 16px; }
.access-map { border-radius: 12px; overflow: hidden; height: 400px; }
.access-map iframe { width: 100%; height: 100%; border: 0; }

@media (max-width: 1024px) {
  .message__inner { grid-template-columns: 1fr; gap: 40px; }
  .message__image img { height: 350px; }
  .access-inner { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
  .info-table dl { flex-direction: column; gap: 4px; }
  .info-table dt { min-width: auto; }
}
