/* =========================================================
   フッター
   ========================================================= */

.footer{ background:var(--cream-2); padding-top:3rem; }
.footer-inner{
  max-width:1280px; margin:0 auto; padding:0 2rem 3rem;
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; align-items:start;
}
.footer-contact{
  background:#fff; border-radius:6px; padding:1.8rem;
  box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.footer-contact h3{ display:flex; align-items:center; gap:.5rem; font-size:1.05rem; margin-bottom:.9rem; color:#3a3a2f; }
.footer-contact p{ font-size:.94rem; color:#555; margin-bottom:1.2rem; }
.footer-brand{ display:flex; align-items:center; gap:.6rem; margin-bottom:.6rem; }
.footer-brand-col{ }
.footer-addr{ font-size:.94rem; color:#555; margin-top:.6rem; line-height:1.8; }
.footer-tel-col{ font-size:.94rem; color:#555; line-height:2; padding-top:3.5rem; }
.sns-title{ font-size:.85rem; letter-spacing:.1em; margin-bottom:.8rem; font-weight:600; }
.sns-icons{ display:flex; gap:.8rem; margin-bottom:1.2rem; }
.sns{
  width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--beige);
  background:#fff;
  transition:.2s;
}
.sns:hover{ border-color:var(--green); }

.footer-bottom{
  background:var(--green);
  color:#e9ecdd;
}
.footer-bottom{
  display:flex; align-items:center; justify-content:center; gap:2rem;
  flex-wrap:wrap; padding:1rem 2rem; font-size:.82rem;
}
.footer-links{ display:flex; align-items:center; gap:1rem; }
.footer-links a:hover{ text-decoration:underline; }
.footer-links span{ opacity:.5; }
.copyright{ opacity:.85; }

/* ===== レスポンシブ ===== */
@media (max-width:1024px){
  .footer-inner{ grid-template-columns:1fr 1fr; }
  .footer-tel-col{ padding-top:0; }
}
@media (max-width:600px){
  .footer-bottom{ flex-direction:column; gap:.6rem; padding:.8rem 1rem; }
  .footer-links{ flex-wrap:wrap; justify-content:center; gap:.4rem .7rem; }
  .footer-links span{ display:none; }
  .footer-inner{ grid-template-columns:1fr; gap:1.5rem; }
  .footer-tel-col{ padding-top:0; }
}
