/* 開発者モーダル */
.dev-modal { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,0.7); align-items:center; justify-content:center; padding:20px; }
.dev-modal-inner { background:#fff; border-radius:16px; max-width:640px; width:100%; max-height:80vh; overflow-y:auto; position:relative; }
.dev-modal-close { position:absolute; top:16px; right:16px; background:none; border:none; font-size:20px; cursor:pointer; color:#999; }
.dev-modal-body { padding:36px; }
.dev-modal-header { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.dev-avatar { width:48px; height:48px; border-radius:50%; background:#0ABAB5; color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:600; flex-shrink:0; }
.dev-label { font-size:11px; font-weight:600; color:#0ABAB5; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:4px; }
.dev-name { font-size:14px; color:#888; }
.dev-text { font-size:15px; line-height:1.9; color:#444; }
.dev-p { margin-bottom:12px; }
.dev-p-last { margin-bottom:0; }

/* フッター */
.lp-footer-inner { padding:40px 0 20px; }
.footer-section { margin-bottom:40px; }
.footer-section-title { font-size:11px; font-weight:600; color:#888; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:20px; }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.footer-category-label { font-size:11px; color:#0ABAB5; font-weight:600; margin-bottom:10px; }
.footer-link { display:block; font-size:13px; color:#ccc; text-decoration:none; margin-bottom:8px; }
.footer-link:hover { color:#fff; }
.footer-divider { border-color:#333; margin:24px 0; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer-brand-si { font-family:Georgia,serif; font-size:20px; font-weight:700; color:#0ABAB5; }
.footer-brand-scan { font-family:Georgia,serif; font-size:20px; font-weight:700; color:#fff; }
.footer-tagline { font-size:11px; color:#666; letter-spacing:2px; margin-top:4px; }
.footer-links { display:flex; gap:20px; }
.footer-link-sm { font-size:12px; color:#666; text-decoration:none; }
.footer-link-sm:hover { color:#aaa; }
.footer-copy { font-size:11px; color:#555; }
.footer-dev-btn { background:none; border:none; font-size:11px; color:#555; cursor:pointer; padding:0; }
.footer-dev-btn:hover { color:#aaa; }

/* プランバッジ（フッター内） */
.badge-plan-dark { font-size:10px; background:#333; padding:1px 5px; border-radius:3px; color:#fff; }

.footer-subtitle {
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    color: var(--footer-muted, #aaa);
    margin-top: -4px;
}

@media (max-width: 768px) {
  /* ロゴ・サブタイトル・タグライン・開発者ボタンをセンター寄せ */
  .lp-footer .d-flex.align-items-start.justify-content-between { flex-direction: column; align-items: center !important; }
  .lp-footer .lp-brand { text-align: center; }
  .footer-subtitle { text-align: center; }
  .footer-tagline { text-align: center; }
  .footer-dev-btn { display: block; margin: 0 auto; }

  /* リンク3カラムをセンター寄せ */
  .lp-footer .d-flex.gap-5.flex-wrap { justify-content: center; width: 100%; }

  /* フッター下段：プライバシー等を縦並び・センター */
  .footer-bottom { text-align: center; }
  .footer-bottom .d-flex.gap-3 { flex-direction: column; align-items: center; gap: 8px !important; }
  .footer-bottom .footer-link-sm { white-space: nowrap; }

  /* コピーライト行も縦並び */
  .footer-bottom { display: flex; flex-direction: column; align-items: center; gap: 8px; }
}
