@charset "UTF-8";

/* ==========================================================================
   PC / デスクトップ向けスタイル (min-width: 768px)
   ========================================================================== */
.sp-only { display: none !important; }
.hero-slider { height: 85vh; }
.hero-sub { font-size: 3.5rem; }
.hero-title { font-size: 3rem; }

/* グリッドレイアウトをPCで多列化 */
.tours-grid {
  grid-template-columns: repeat(3, 1fr); /* 2 → 3 に変更 */
  gap: 24px; /* 3列になるので隙間を少し狭く */
}
.category-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.img-zoom { height: 220px; }

/* PC限定：ホバーエフェクト（マウスオーバー演出） */
.tour-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(226, 140, 157, 0.2);
  border-color: #E28C9D;
}
.tour-card:hover .img-zoom img {
  transform: scale(1.08);
}
.tour-card:hover .btn-detail {
  background: #E28C9D;
  color: #fff;
}

.category-item:hover {
  border-color: #E28C9D;
}
.category-item:hover img {
  transform: scale(1.12);
}
.category-item:hover .cat-overlay {
  background: rgba(226, 140, 157, 0.15);
}

.faq-item:hover {
  border-color: #E28C9D;
}
.faq-question:hover {
  background: rgba(253, 242, 244, 0.6);
}

.btn-newsletter:hover {
  background: #FDF2F4;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}