/* ===== FOOTER ===== */
footer { background: #1a1a1a; color: #aaa; padding: 36px 16px; font-size: 12px; text-align: center; line-height: 2; }
.footer-logo { font-size: 18px; font-weight: 900; color: #fff; margin-bottom: 12px; }
.footer-links { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 16px; }
.footer-links a { color: #bbb; text-decoration: underline; font-size: 12px; }
.footer-notice {
  background: #111; border-radius: 8px;
  padding: 14px 20px; margin: 16px auto;
  max-width: 680px; font-size: 11px; color: #888;
  text-align: left; line-height: 1.8;
}

/* ===== FIXED BOTTOM BAR (SP only) ===== */
.fixed-bottom-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 200;
  background: rgba(26,26,26,0.97);
  padding: 10px 12px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  box-shadow: 0 -2px 12px rgba(0,0,0,0.3);
}
.fixed-bottom-bar .bar-inner {
  display: flex; gap: 8px; max-width: 480px; margin: 0 auto;
}
.fixed-bottom-bar .bar-btn {
  flex: 1;
  padding: 13px 8px;
  border-radius: 8px;
  font-size: 14px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  text-align: center;
}
.fixed-bottom-bar .bar-btn-tel { background: var(--gold); color: #fff; }
.fixed-bottom-bar .bar-btn-line { background: var(--line-green); color: #fff; }

@media (max-width: 680px) {
  .fixed-bottom-bar { display: block; }
  body { padding-bottom: 70px; }
}
