/* トップ専用（MV 背景動画含む） */

/* 背景動画: 全面にフィット。pointer-events なしで下層への誤タップを防ぐ */
.hero-video-wrap {
    pointer-events: none;
}

.hero-bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    /* 動画そのものもごく弱く抑え、上の白幕と二段で「少し薄く」見せる */
    opacity: 0.85;
}

/* 白の半透明レイヤーでコントラストを落とし、キャッチコピーを読みやすくする */
.hero-video-overlay {
    background: rgba(255, 255, 255, 0.52);
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .hero-bg-video {
        opacity: 0.35;
    }
}
section { padding-top: 120px; padding-bottom: 120px; }
@media (max-width: 768px) {
    section { padding-top: 60px; padding-bottom: 60px; }
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fadeIn 1.2s ease-out forwards; }
.animate-slide-up { animation: slideUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
