/********************************************/
/*main_visual */
/********************************************/
.main_visual .main_txt {
    line-height: 1;
}

.d_block {
    display: block;
}

.mask_animate {
    font-size: 1em;
    display: inline-block;
    overflow: hidden;
}

.mask_animate .mask_inner {
    display: inline-block;
    font-size: 1em;
    opacity: 0;
}

.mask_animate .mask_inner > * {
    line-height: 1.2;
}

.mask_animate .is_play {
    opacity: 1;
}

@keyframes play {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes maskOut {
    0% {
        transform: translateX(0);
    }
    10% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(101%);
    }
}

@keyframes maskOut_fast {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(101%);
    }
}

.mask_animate .is_play {
    animation-name: play;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
    position: relative;
}

.mask_animate .is_play:before {
    animation-name: maskOut;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #000;
}

.mask_animate .is_play.ver_red:before {
    /* background-color: #dc000c; */
    background-color: #8B3BBF;
}

.white_mask_animate .mask_inner {
    position: relative;
    overflow: hidden;
}

.white_mask_animate .mask_inner:before {
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 2;
}

.white_mask_animate.ver_red .mask_inner:before {
    /* background-color: #dc000c; */
    background-color: #8B3BBF;
}

.white_mask_animate.ver_black .mask_inner:before {
    background-color: #000;
}

.white_mask_animate .mask_inner.is_play:before {
    animation-name: maskOut_fast;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
}
