/* Size only: the actual uploaded PNG is used, never reconstructed in CSS. */
.brand-logo { display: block; width: 270px; max-width: 100%; height: auto; object-fit: contain; }
.header-logo { flex-shrink: 0; }
.header-logo .brand-logo { width: 220px; }
/* 広い画面で説明文が出ても、ロゴとメニューが横幅を奪い合わないようにする。 */
.header-brand { flex: 0 0 auto; flex-direction: column; align-items: flex-start; gap: 2px; }
/* 元画像の左余白（26/582 × 表示幅220px ≒ 10px）に説明文の開始位置を合わせる。 */
.header-tagline { padding-left: 10px; border-left: 0; font-size: 10px; line-height: 1.4; letter-spacing: .02em; }
.header-nav { flex: 0 0 auto; gap: clamp(16px, 1.5vw, 24px); }
.header-nav > a { flex-shrink: 0; white-space: nowrap; }
.menu-btn { flex-shrink: 0; }
.brand-logo-link { display: inline-block; max-width: 100%; background: #fff; border-radius: 4px; padding: 8px 12px; vertical-align: middle; }
.brand-logo-link .brand-logo { width: 290px; }
.footer-title { line-height: 1; }
.advisory-brand .brand-logo { width: 220px; }
.advisory-brand > span { margin-top: 0; }
.advisory-footer-brand.brand-logo-link { display: inline-block; }
.lecture-thumbnail-brand .brand-logo { width: 145px; max-width: 38cqw; }
.lecture-thumbnail-brand { background: #fff; }
@media (max-width: 768px) {
  .header-logo .brand-logo { width: min(200px, 58vw); }
  .brand-logo-link .brand-logo { width: 270px; }
}
@media (max-width: 680px) {
  .advisory-brand .brand-logo { width: min(190px, 52vw); }
}
