/* ===== 全ページ共通スタイル ===== */

* { font-family: 'Noto Sans JP', sans-serif; }

html { scroll-behavior: smooth; }

/* ピンクグラデーションボタン */
.btn-gradient {
  background: linear-gradient(135deg, #F472B6, #FB923C);
}

/* ピンク→オレンジグラデーションテキスト */
.gradient-text {
  background: linear-gradient(135deg, #F472B6, #FB923C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* CTAボタンアニメーション */
.cta-btn {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cta-btn:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 20px 40px rgba(244, 114, 182, 0.4);
}

.cta-btn-yellow:hover {
  box-shadow: 0 20px 40px rgba(253, 224, 71, 0.5);
}

/* ナビゲーション */
.nav-link {
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #F472B6, #FB923C);
  transition: width 0.3s ease;
}
.nav-link:hover::after {
  width: 100%;
}

/* セクション最大幅 */
.section-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 768px) {
  .section-container { padding: 0 2rem; }
}
@media (min-width: 1024px) {
  .section-container { padding: 0 4rem; }
}
