@charset "utf-8";
/* CSS Document */


.contents_area_ {
    font-family: "FP-ヒラギノ角ゴ ProN W6", sans-serif;
    font-weight: 600;
    letter-spacing: normal;
}

.ib {
    display: inline-block;
}

.anm-slideup {
    display: inline-block;
    overflow: hidden;
}
.anm-slideup .slide_obj {
    display: inline-block;
    transform: translateY(101%);
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.anm-slideup.visible .slide_obj,
.visible > .anm-slideup .slide_obj {
    transform: translateY(0);
}

.anm-fade {
    opacity: 0;
    transition: opacity 0.6s;
}
.anm-fade.visible {
    opacity: 1;
}

.anm-fadeup {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity 0.4s, transform 0.4s;
}
.anm-fadeup.visible {
    opacity: 1;
    transform: translateY(0px);
}

.anm-fadeup-l {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.6s, transform 0.6s;
}
.anm-fadeup-l.visible {
    opacity: 1;
    transform: translateY(0px);
}


@media only screen and (min-width: 751px) {

    .noPc {
        display: none;
    }

    .ib_pc {
        display: inline-block;
    }

    .block_title_01 {
        position: relative;
        width: fit-content;
        margin: 0 auto;
        padding-bottom: 26px;
    }
    
    .block_title_01 .txt {
        font-family: ArialMTPro-Bold, sans-serif;
        font-size: 22px;
        color: #fff;
        line-height: 1.1;
        padding-bottom: 0;
        letter-spacing: 0.08em;
    }

    .block_title_01::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        display: block;
        width: 40px;
        height: 3px;
        transform: translateX(-50%) scaleX(0);
        transform-origin: center;
        background-color: #c30e18;
        transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .block_title_01.visible::after {
        transform: translateX(-50%) scaleX(1);
    }

}



@media only screen and (max-width: 750px) {

    .noSp {
        display: none;
    }

    .ib_sp {
        display: inline-block;
    }

    .block_title_01 {
        position: relative;
        width: fit-content;
        margin: 0 auto;
        padding-bottom: 13px;
    }
    
    .block_title_01 .txt {
        font-family: ArialMTPro-Bold, sans-serif;
        font-size: 15px;
        color: #fff;
        line-height: 1.1;
        letter-spacing: 0.08em;
        padding-bottom: 0;
    }

    .block_title_01::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        display: block;
        width: 30px;
        height: 2px;
        transform: translateX(-50%) scaleX(0);
        transform-origin: center;
        background-color: #c30e18;
        transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .block_title_01.visible::after {
        transform: translateX(-50%) scaleX(1);
    }

}
