/* ===== フェードアニメーション ===== */
/* ベース = ただのフェードイン（opacity のみ・動きなし） */
.c-anim_elm {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(.46, .01, .32, 1),
        transform 0.8s cubic-bezier(.46, .01, .32, 1);
}

.c-anim_elm.is-act {
    opacity: 1;
}


/* 下から（フェードアップ） */
.c-anim_elm.-up {
    transform: translateY(20px);
}

.c-anim_elm.-up.is-act {
    transform: translateY(0);
}

/* 右から */
.c-anim_elm.-fromRight {
    transform: translateX(40px);
}

.c-anim_elm.-fromRight.is-act {
    transform: translateX(0);
}

/* 左から */
.c-anim_elm.-fromLeft {
    transform: translateX(-40px);
}

.c-anim_elm.-fromLeft.is-act {
    transform: translateX(0);
}