/* =============================================================================
   Utility
   ============================================================================= */

.u-accent {
  color: var(--color-accent);
}

.u-bg-accent {
  background-color: var(--color-accent);
}

.u-bg-sub {
  background-color: var(--color-sub);
}

.u-card-shadow {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

/* スクロールアニメーション（JS連携） */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 1s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* フェードインアップ */
.u-fade-in-up {
  animation: fadeInUp 1s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* レスポンシブ表示切り替え */
.u-hidden-pc {
  display: block;
}

@media (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

.u-visible-pc {
  display: none;
}

@media (min-width: 768px) {
  .u-visible-pc {
    display: block;
  }
}

/* br タグ用レスポンシブ */
.u-br-sp {
  display: inline;
}

@media (min-width: 768px) {
  .u-br-sp {
    display: none;
  }
}

.u-br-pc {
  display: none;
}

@media (min-width: 768px) {
  .u-br-pc {
    display: inline;
  }
}
