/* ==========================================
   全年代心理学ブログ用 カスタムナビ＆フッター
   ========================================== */
/* ▼ ヘッダーナビゲーション ▼ */
.custom-header-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: #ffffff; padding: 12px; border-bottom: 2px solid #f1f5f9; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); margin-bottom: 24px; }
.custom-nav-links { display: flex; gap: 16px; list-style: none; padding: 0; margin: 0 20px 0 0; }
.custom-nav-links a { text-decoration: none; color: #475569; font-weight: 700; font-size: 0.9rem; transition: color 0.2s; }
.custom-nav-links a:hover { color: #2563eb; }
.header-cta-btn { display: inline-block; background: linear-gradient(135deg, #f43f5e, #ec4899); color: #ffffff !important; font-weight: bold; text-decoration: none; padding: 10px 24px; border-radius: 30px; font-size: 0.95rem; box-shadow: 0 4px 12px rgba(244, 63, 94, 0.3); transition: transform 0.2s; animation: pulse 2s infinite; }
.header-cta-btn:hover { transform: translateY(-2px); }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0.5); } 70% { box-shadow: 0 0 0 10px rgba(244, 63, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0); } }

/* ▼ フッター ▼ */
.custom-footer { background: #1e293b; color: #f8fafc; padding: 40px 20px 20px; margin-top: 40px; font-size: 0.9rem; }
.custom-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; max-width: 1000px; margin: 0 auto; padding-bottom: 30px; border-bottom: 1px solid #334155; }
.footer-col h4 { color: #38bdf8; font-size: 1.1rem; border-bottom: 2px solid #3b82f6; padding-bottom: 8px; margin-bottom: 16px; margin-top: 0; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col a { color: #cbd5e1; text-decoration: none; transition: color 0.2s; }
.footer-col a:hover { color: #ffffff; text-decoration: underline; }
.footer-bottom { text-align: center; margin-top: 20px; color: #64748b; font-size: 0.8rem; }
.footer-bottom a { color: #94a3b8; text-decoration: none; margin: 0 10px; }

/* ▼ スマホ対応（レスポンシブ） ▼ */
@media (max-width: 600px) {
  .custom-header-nav { flex-direction: column; gap: 12px; }
  .custom-nav-links { margin: 0; flex-wrap: wrap; justify-content: center; gap: 12px; }
}