@charset "UTF-8";

.top_in:after {
    content: '';
    display: block;
    clear: both;
}

.top_col_left,
.top_col_right {
    float: left;
    box-sizing: border-box;
    width: 50%;
}

.top_col_left {
    padding-right: 30px;
}

.top_col_right_contents {
    box-sizing: border-box;
    max-width: 750px;
    padding-left: 20px;
    padding-right: 50px;
}

.top_kv {
    width: 100%;
}

.top_lead1 {
    padding: 95px 0 0;
    margin: 0 0 0;
}

.top_lead2 {
    margin: 0 0 50px;
}

.top_video_link {
    display: block;
}

.top_video_link:hover {
    opacity: .7;
}

.top_video {
    pointer-events: none;
    width: 640px;
}

.top_news,
.top_tw {
    margin: 60px 0 0;
}

.top_news_ttl,
.top_tw_ttl {
    margin: 0 0 30px;
}

.timeline_wrap {
    height: 360px;
    overflow: auto;
}

.top_bnr_area {
    margin: 50px auto 0;
    text-align: center;
}

.top_bnr_area a {
    -webkit-transition: all 0.4s ease;
    transition: all  0.4s ease;
    background: #fff;
}

.top_bnr_area a:hover {
    opacity: .7;
}

.top_bnr_area {
    max-width: 520px;
}

@media print, screen and (max-width: 992px) {

    .top_in {
        padding: 0 0 0;
    }

    .top_col_left,
    .top_col_right {
        float: none;
        width: auto;
        padding: 0;
    }

    .top_col_right_contents {
        max-width: none;
        padding: 0 calc( 20 / 375 * 100vw );
    }

    .top_video {
        width: 100%;
    }
}

@media print, screen and (max-width: 768px) {

}

@media print, screen and (max-width: 640px) {

    .top_in {
        padding: 105px 0 0;
    }

    .top_lead1 {
        padding: calc( 95 / 640 * 100vw ) 0 0;
        margin: 0 0 calc( 60 / 640 * 100vw );
    }

    .top_lead2 {
        margin: 0 0 calc( 50 / 640 * 100vw );
    }

    .top_news {
        margin: calc( 60 / 640 * 100vw ) 0 0;
    }

    .top_news_ttl {
        margin: 0 0 calc( 30 / 640 * 100vw );
    }

    .top_bnr_area {
        margin: calc( 50 / 640 * 100vw ) 0 0;
    }

}

@media print, screen and (max-width: 480px) {

    .top_in {
        padding: 70px 0 0;
    }


}
