/* 控えめなshadowクラス */
.shadow-subtle {
    box-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.04);
}

/* スクロールエフェクト用のクラス */
.scroll-fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.scroll-fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.scroll-fade-in-scale {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-fade-in-scale.visible {
    opacity: 1;
    transform: scale(1);
}

.scroll-fade-in-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-fade-in-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.scroll-fade-in-right {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-fade-in-right.visible {
    opacity: 1;
    transform: translateX(0);
}
