.contact { background: #f4f6f8; color: #101820; }
.contact p { color: #5f6c78; }
.contact .btn { background: #e42b2b; color: #fff; }
.contact .btn:hover { background: #c91f1f; }

.site-footer {
  padding: 54px 0 24px;
  border-top: 1px solid #e2e7ec;
  background: #fff;
  color: #52606d;
  font-size: 14px;
  line-height: 1.75;
}
.site-footer .company-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 72px;
}
.site-footer .company-footer-name {
  margin: 0;
  color: #0d1b2a;
  font-size: 24px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: -.035em;
}
.site-footer .company-footer-tagline {
  margin: 8px 0 24px;
  color: #667382;
}
.site-footer .company-footer-details {
  margin: 0;
  display: grid;
  gap: 8px;
}
.site-footer .company-footer-details > div {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 12px;
}
.site-footer .company-footer-details dt { color: #667382; }
.site-footer .company-footer-details dd,
.site-footer address { margin: 0; font-style: normal; }
.site-footer .footer-inquiries {
  min-width: 0;
  padding-left: 48px;
  border-left: 1px solid #e2e7ec;
}
.site-footer .company-footer-label {
  margin: 0 0 12px;
  color: #0d1b2a;
  font-size: 16px;
  font-weight: 600;
}
.site-footer .company-footer-phone {
  display: inline-block;
  margin-bottom: 22px;
  color: #0d1b2a;
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -.025em;
}
.site-footer .footer-inquiries .company-footer-details > div {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
}
.site-footer .company-footer-holiday { color: #667382; }
.site-footer a { overflow-wrap: anywhere; }
.site-footer a:hover { color: #c91f1f; text-decoration: underline; text-underline-offset: 4px; }
.site-footer a:focus-visible { outline: 2px solid #28519a; outline-offset: 5px; }
.site-footer .company-footer-copyright {
  margin: 32px 0 0;
  padding-top: 20px;
  border-top: 1px solid #e2e7ec;
  color: #687480;
  font-size: 12px;
}
@media (max-width: 760px) {
  .site-footer .company-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .site-footer .footer-inquiries {
    padding: 28px 0 0;
    border-left: 0;
    border-top: 1px solid #e2e7ec;
  }
}
