/* ボタンの部品（ヘッダー・カバー・固定ボタンを除く）。大きさは1種類：16px 太字、上下14px・左右28px */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap;
  padding: 14px 28px;
  font-size: var(--text-btn); font-weight: 700; text-decoration: none; border-radius: 3px;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  border: none; cursor: pointer; font-family: inherit;
}
.btn--primary { background: var(--sub); color: #fff; }
.btn--primary:hover { background: var(--sub-2); }
.btn--ghost { background: #fff; color: var(--accent-3); border: 1px solid var(--accent-2); }
.btn--ghost:hover { background: var(--bg-soft); }
.btn--secondary { background: #fff; color: var(--sub-2); border: 1.5px solid var(--sub); }
.btn--secondary:hover { background: rgba(204, 78, 8, 0.07); }
.btn__arrow { transition: transform 0.18s ease; }
.btn:hover .btn__arrow { transform: translateX(2px); }
.toplink { display: inline-block; font-size: var(--text-body); font-weight: 600; color: var(--ink-2); text-decoration: none; }
.toplink::before { content: "→"; color: var(--accent-2); margin-right: 6px; }
.toplink:hover { color: var(--accent-2); text-decoration: underline; text-underline-offset: 3px; }
