/* ベース */
.anim-box {
}


/* 背景色が消えてからコンテンツが表示される */
.mask-bg {
    color: transparent;
    display: inline-block;
    overflow: hidden;
    position: relative;
    transition: color 0ms 450ms;
}

.mask-bg::after {
    background: linear-gradient(to right, #42d3ed 0%, #3b79cc 50%, #362ae0 100%);
    bottom: 0;
    content: '';
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(100%, 0);
}
 
.mask-bg.is-animated {
    color: #362ae0;
}

.mask-bg.is-animated::after {
    animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.170, 1);
}
 
@keyframes mask-bg {
    0% {
        transform: translate(-100%, 0);
    }
    40%, 60% {
        transform: translate(0%, 0);
    }
    100% {
        transform: translate(100%, 0);
    }
}

.mask-bg .mask-inner {
    opacity: 0;
    transition: all 0.3s ease 0.3s;
}

.mask-bg.is-animated .mask-inner {
    opacity: 1;
}


/* 文字が滑らかに表示される */
.smooth {
    clip-path: inset(0 100% 0 0);
    display: inline-block;
    transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
}

.smooth.is-animated {
    clip-path: inset(0);
}


