.announcement { min-height: 48px; justify-content: space-between; gap: 20px; padding-top: 7px; padding-bottom: 7px; }
.announcement-tagline { color: #44565e; white-space: nowrap; }
.announcement-contact { display: flex; align-items: center; gap: clamp(20px, 4vw, 52px); margin-left: auto; }
.announcement-contact a { display: flex; align-items: baseline; gap: 8px; color: var(--navy); text-decoration: none; }
.announcement-contact a span { color: #53656d; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.announcement-contact a strong { color: var(--navy); font-size: 12px; font-weight: 700; letter-spacing: .015em; }
.announcement-contact a:hover strong, .inquiry-direct-contact a:hover strong { color: #258ba8; text-decoration: underline; }
.footer-contact { align-items: stretch; gap: 18px; }
.footer-contact > a { display: inline-flex; min-width: 245px; flex-direction: column; justify-content: center; gap: 6px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.28); border-radius: 3px; color: #ffffff; background: rgba(255,255,255,.045); transition: background .2s ease, border-color .2s ease; }
.footer-contact > a:hover { border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.1); }
.footer-contact > a small, .inquiry-direct-contact a span { color: #c7e7ef; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-contact > a strong { color: #ffffff; font-size: clamp(17px, 2vw, 22px); font-weight: 600; letter-spacing: .01em; }
.inquiry-direct-contact { display: grid; gap: 12px; max-width: 390px; margin: 28px 0 30px; }
.inquiry-direct-contact a { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-left: 3px solid #4f98ad; background: #f5f7f8; }
.inquiry-direct-contact a span { color: #53656d; }
.inquiry-direct-contact a strong { color: var(--navy); font-size: clamp(16px, 2vw, 20px); font-weight: 700; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .announcement { min-height: 48px; gap: 10px; padding: 7px 5vw; }
  .announcement-tagline, .announcement-dot { display: none; }
  .announcement-contact { width: 100%; justify-content: space-between; gap: 9px; }
  .announcement-contact a { align-items: flex-start; flex-direction: column; gap: 2px; }
  .announcement-contact a span { font-size: 8px; }
  .announcement-contact a strong { font-size: clamp(10px, 3.1vw, 12px); }
  .footer-contact { display: grid; grid-template-columns: minmax(0,1fr); }
  .footer-contact > a { min-width: 0; }
}
