/* ---------- 共通スタイル ---------- */
.responsive-nav {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 480px; /* ← 幅制限（任意の数値に変更可能） */
  background-color: #fff;
  z-index: 9999;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
  font-family: sans-serif;
  padding: 0;
  overflow-x: hidden;
}

.nav-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 6px;
  padding-left: 0;  /* ← 追加 */
  padding-right: 0; /* ← 追加 */
  margin-left: 0;   /* ← 念のため明示 */
  margin-right: 0;
  box-sizing: border-box;
}

.nav-row:last-child {
  margin-bottom: 0;
}

.nav-row a {
  flex: 1 1 calc(33.3333%); /* gapの分を引く（画面幅超過防止） */
  min-width: 0;                  /* ← これ重要。最小幅を無制限にする */
  text-align: center;
  padding: 12px 6px;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  white-space: normal; /* 改行を許可（はみ出し防止） */
  word-break: break-word;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}

/* 上段：青系 */
.top-buttons a {
  background-color: #e0f0ff;
  color: #0057a4;
  border: 1px solid #b2d4f2;
}

.top-buttons a.active {
  background-color: #0057a4;
  color: #fff;
  border-color: #004080;
}

/* 下段：個別色設定 */
.nav-link {
  background-color: #e0ffe5;
  color: #1b7300;
  border: 1px solid #a6e1b2;
}

.call-button {
  background-color: #ffe0e0;
  color: #c40000;
  border: 1px solid #f3aaaa;
}

#scrollTopBtn {
  background-color: #f0f0f0;
  color: #333;
  border: 1px solid #ccc;
}

#scrollTopBtn:hover {
  background-color: #d8d8d8;
}

html, body {
  overflow-x: hidden !important;
  width: 100%;
}

/* ---------- レスポンシブ対応 ---------- */

/* スマホ向け：下部2段・3列レイアウト */
@media (max-width: 768px) {
  .nav-row {
    flex-wrap: nowrap;
    flex-direction: row;
  }

  .nav-row a {
    font-size: 1.1rem;
    font-weight: 700; /* ← スマホ時だけ太字に強化 */
    padding: 12px 6px;
  }
}

/* PC表示では非表示にしたい場合は以下を追加 */
@media (min-width: 769px) {
  .responsive-nav {
    display: none;
  }
}
