.scroll-container {

}
/* 애니메이션 정의 */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: none; }
}

@keyframes fadeOutDown {
    from { opacity: 1; }
    to { opacity: 0; transform: translateY(40px); }
}
@keyframes fadeInLeft {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: none; }
}
@keyframes fadeOutLeft {
    from { opacity: 1; }
    to { opacity: 0; transform: translateY(-40px); }
}
@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: none; }
}
@keyframes fadeOutRight {
    from { opacity: 1; }
    to { opacity: 0; transform: translateY(40px); }
}
/* 기본 스타일 */
.element1 {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.3s ease;
}
.element2 {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.3s ease;
}
.element3 {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.3s ease;
}
/* 진입 시 애니메이션 */
.element1.active {
    opacity: 1;
    animation: fadeInUp 0.8s ease-out forwards;
}
/* 이탈 시 애니메이션 */
.element1.out-of-view {
    opacity: 0;
    transform: translateY(40px);
    animation: fadeOutDown 0.8s ease-out forwards;
}
/* 진입 시 애니메이션 */
.element2.active {
    opacity: 1;
    animation: fadeInLeft 0.8s ease-out forwards;
}
/* 이탈 시 애니메이션 */
.element2.out-of-view {
    opacity: 0;
    transform: translateX(-40px);
    animation: fadeOutLeft 0.8s ease-out forwards;
}
/* 진입 시 애니메이션 */
.element3.active {
    opacity: 1;
    animation: fadeInRight 0.8s ease-out forwards;
}
/* 이탈 시 애니메이션 */
.element3.out-of-view {
    opacity: 0;
    transform: translateX(40px);
    animation: fadeOutRight 0.8s ease-out forwards;
}