@charset "utf-8";

/*--京home.css--*/
/* ##########PC########## */
.contents {
    padding-bottom: 0;
}

.mainvisual{
    width: 100%;
    /*height: 40rem;*/
}

.mainvisual .box_inner{
    width: 100%;
    margin: 0;
    position: relative;
    overflow: hidden;
}

.mainvisual .box_inner .home_catch_img{
    box-sizing: border-box;
    width: 80rem;
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    position: relative;
    z-index: 2;
    padding-right: 3rem;
}
/*
.mainvisual .box_inner .home_catch_img::after{
    content:"";
    width: 35rem;
    aspect-ratio: 10 / 1;
    background: url(../shared/home_catch_ttl.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 1.95rem;
    right: 1.5rem;
}
*/
.mainvisual .box_inner .slick-slider{
    width: 97rem;
    min-width: 97rem;
    /*overflow: hidden;*/
    margin-bottom: 0;
}

.mainvisual .box_inner .home_catch_img .slick-dots{
    position: unset;
    width: auto;
    bottom: -28px;
    margin: 0.4rem auto 0 auto;
    text-align: right;
}

.mainvisual .box_inner .home_catch_img .slick-dots li{
    margin: 0 3px;
}

.mainvisual .box_inner .home_catch_img .slick-dots li button:before{
    font-size: 10px;
}

.mainvisual .box_inner .home_catch_img .slick-list li{
    position: relative;
}

.mainvisual .box_inner .home_catch_img .slick-list li img{
    min-width: 97rem;
    width: 97rem;
}

.mainvisual .box_inner .home_catch_img img{
    max-width: 100%;
    height: auto;
}

.mainvisual .box_inner .home_catch_img .home_catch_text01{
    width: 29rem;
    aspect-ratio: 928 / 512;
    position: absolute;
    top: 6.25rem;
    left: 3.625rem;
}

.mainvisual .box_inner .home_catch_img .home_catch_text01 img{
    max-width: 100%;
    height: auto;
}

.mainvisual .box_inner .home_catch_img .home_catch_text02{
    width: 30.5rem;
    color: #fff;
    line-height: 1.8;
    position: absolute;
    top: 25.75rem;
    left: 4.625rem;
}

.mainvisual .box_inner .home_catch_img .home_catch_text02 img{
    max-width: 100%;
    height: auto;
}

.mainvisual .box_inner .home_catch_img .home_catch_text03{
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 200;
    font-size: 2.75rem;
    color: #fff;
    position: absolute;
    bottom: 3.2rem;
    right: 4.5rem;
}

/*汎用*/
h2 {
    transition: .5s all ease;
    transition-delay: .3s;
    opacity: 0;
    transform: translateX(0.3em);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
}

.show h2,
.show h2 {
    opacity: 1;
    transform: translateX(0);
}

h2 .lbl_en{
    font-family: "Montserrat", sans-serif;
    color: #10358f;
    font-size: 2.5rem;
    line-height: 1.1;
    font-weight: 400;
}

h2 .lbl_ja{
    font-size: 1.2rem;
    color: #222;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

/*top_nav_box*/
.top_nav_box{
    margin: 5rem 0;
}

.top_nav_box .box_inner{}

.top_nav_box .box_inner .top_main_nav{
    margin-bottom: 3rem;
}

.top_nav_box .box_inner .top_main_nav ul{
    width: 68.5rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto;
    gap: 2rem;
}

.top_nav_box .box_inner .top_main_nav ul li{
    width: 21.5rem;
    aspect-ratio: 21.5 / 12.5;
    transition: .3s all ease;
}

.top_nav_box .box_inner .top_main_nav ul li.nav_laboratory{
    background: url(../shared/bg_button_laboratory.png) no-repeat;
    background-size: contain;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_education{
    background: url(../shared/bg_button_education.png) no-repeat;
    background-size: contain;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_research{
    background: url(../shared/bg_button_research.png) no-repeat;
    background-size: contain;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_member{
    background: url(../shared/bg_button_member.png) no-repeat;
    background-size: contain;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_achievement{
    background: url(../shared/bg_button_achievement.png) no-repeat;
    background-size: contain;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_admission{
    background: url(../shared/bg_button_recruitment.png) no-repeat;
    background-size: contain;
}

.top_nav_box .box_inner .top_main_nav ul li:hover{
    filter: brightness(1.1);
    transform: scale(1.05);
}

.top_nav_box .box_inner .top_main_nav ul li a{
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 4.2rem 0 0 0;
    text-decoration: none;
    line-height: 1.5;
}

.top_nav_box .box_inner .top_main_nav ul li a .lbl_ja{
    width: 7.5rem;
    text-align: center;
    padding: 0.3rem 0;
    background: #111;
    margin-bottom: 0.4rem;
    font-weight: 500;
}

.top_nav_box .box_inner .top_main_nav ul li.nav_laboratory a .lbl_ja{
    color: #e1aa92;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_education a .lbl_ja{
    color: #8cafd2;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_research a .lbl_ja{
    color: #e8a6a7;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_member a .lbl_ja{
    color: #b4b289;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_achievement a .lbl_ja{
    color: #c2a5c1;
}
.top_nav_box .box_inner .top_main_nav ul li.nav_admission a .lbl_ja{
    color: #ceb37d;
}

.top_nav_box .box_inner .top_main_nav ul li a .lbl_en{
    font-family: "Montserrat", sans-serif;
    color: #fff;
    font-size: 1.7rem;
    text-align: center;
    line-height: 1.1;
    font-weight: 300;
}

.top_nav_box .box_inner .top_sub_nav{}

.top_nav_box .box_inner .top_sub_nav ul{
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.top_nav_box .box_inner .top_sub_nav ul li{
    width: 23.03125rem;
    aspect-ratio: 23.03125 / 7;
    background: url(../shared/bg_button_small.png) no-repeat;
    background-size: contain;
    transition: .3s all ease;
}

.top_nav_box .box_inner .top_sub_nav ul li:hover{
    filter: brightness(1.1);
    transform: scale(1.05);
}

.top_nav_box .box_inner .top_sub_nav ul li a{
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    line-height: 1.5;
}

.top_nav_box .box_inner .top_sub_nav ul li a .lbl_ja{
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    margin-top: 0.3rem;
    margin-bottom: 0.4rem;
}

.top_nav_box .box_inner .top_sub_nav ul li a .lbl_en{
    font-family: "Montserrat", sans-serif;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.1;
    font-weight: 200;
}

/*トピックス*/
.topics_box{
    box-sizing: border-box;
    width: 75rem;
    margin: 0 auto;
    padding: 4rem 5rem;
    background: #f1f6fa;
    border-radius: 1rem;
    margin-bottom: 5rem;
}

.topics_box .box_header{
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.topics_box .box_header h2{
    align-items: center;
}

.topics_box .box_inner {
    flex: 1;
    opacity: 0;
    filter: blur(10px);
    transition: .5s all ease;
    transition-delay: .7s;
    line-height: 1.5;
}

.topics_box.show .box_inner {
    opacity: 1;
    filter: blur(0);
}

.topics_box .box_inner .entry_topics_box{}

.topics_box .box_inner .entry_topics_box ul{
    display: flex;
    justify-content: flex-start;
    gap: 1.5rem;
}

.topics_box .box_inner .entry_topics_box ul li{
    width: calc((100% - 3rem) / 3);
}

.topics_box .box_inner .entry_topics_box ul li a{
    display: block;
    text-decoration: none;
    color: #222;
    padding: 0.5rem;
    border-radius: 0.5rem;
    transition: .3s all ease;
}

.topics_box .box_inner .entry_topics_box ul li a:hover{
    background: rgba(0, 0, 0, 0.03);
    filter: brightness(1.05);
}

.topics_box .box_inner .entry_topics_box ul li a .entry_img{
    display: block;
    margin-bottom: 1.5rem;
    /*見た目調整用仮*/
    height: 12.5rem;
    border-radius: 0.5rem;
    background: #d7d7d7;
}

.topics_box .box_inner .entry_topics_box ul li a .entry_img img{
}

.topics_box .box_inner .entry_topics_box ul li a .entry_title{
    display: block;
    margin-bottom: 1rem;
}

.topics_box .box_inner .entry_topics_box ul li a .entry_keyword{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.2rem 1rem;
}

.topics_box .box_inner .entry_topics_box ul li a .entry_keyword .keyword{
    font-size: 0.9rem;
    color: #6b6b6b;
}

/*お知らせ*/
.news_box {
    width: 65rem;
    margin: 5rem auto 6rem auto;
}

.news_box .box_header {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    margin-bottom: 1.5rem;
}

.news_box .box_header h2 {}

.news_box .box_header .more {
    margin-left: auto;
}

.news_box .box_header .more a{
    display: block;
    text-align: center;
    font-size: 1rem;
    padding: 0.7rem 1.5rem;
    background: #1e4195;
    text-decoration: none;
    color: #fff;
    position: relative;
    transition: .3s all ease;
}

.news_box .box_header .more a:hover{
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.3);
}

.news_box .box_inner {
    flex: 1;
    opacity: 0;
    filter: blur(10px);
    transition: .5s all ease;
    transition-delay: .7s;
}

.news_box.show .box_inner {
    opacity: 1;
    filter: blur(0);
}

.news_box > .box_inner .entry_list_box > ul {}

.news_box > .box_inner .entry_list_box > ul > li {
    border-bottom: 1px dotted #b8b8b8;
    padding: 2px 0;
}

.entry_list_box ul li a {
    color: #111;
    line-height: 1.6;
    display: flex;
    justify-content: flex-start;
    padding: 0.9rem 1rem 0.9rem 1rem;
    text-decoration: none;
    transition: .3s all ease;
    position: relative;
}

.entry_list_box ul li a .entry_date_cat{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-right: 1.5rem;
}

.entry_list_box ul li a .entry_date_cat .entry_date{
    color: #222;
    width: 6.625rem;
}

.entry_list_box ul li a .entry_date_cat .entry_cat{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.4rem;
}

.entry_list_box ul li a .entry_date_cat .entry_cat .cat_item{
    width: 6rem;
    text-align: center;
    color: #1f4b88;
    font-size: 0.9rem;
    border: 1px solid #1e4195;
    border-radius: 1rem;
}

.entry_list_box ul li a .entry_title{
    flex: 1;
    display: block;
    line-height: 1.6;
    transition: .3s all ease;
}

.entry_list_box ul li a:hover .entry_title{
    color: #1f4b88;
}

.news_box > .box_footer{
    opacity: 0;
    filter: blur(10px);
    transition: .5s all ease;
    transition-delay: 0.7s;
    margin-top: 3rem;
}

.news_box.show > .box_footer {
    opacity: 1;
    filter: blur(0);
}

.news_box > .box_footer .x_bnr{}

.news_box > .box_footer .x_bnr a{
    display: block;
    width: 22.5rem;
    margin: 0 auto;
    transition: .3s all ease;
}

.news_box > .box_footer .x_bnr a:hover{
    opacity: 0.8;
}

.news_box > .box_footer .x_bnr a img{
    max-width: 100%;
    height: auto;
}

@media screen and (min-width:1px) and (max-width:1400px) {}

@media screen and (min-width:1px) and (max-width:1280px) {
    .mainvisual .box_inner .home_catch_img{
        width: 100%;
    }
}

@media screen and (min-width:1px) and (max-width:1200px) {}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px) {
    .mainvisual .box_inner .home_catch_img{
        width: 100vw;
        padding-right: 0;
    }

    .mainvisual .box_inner .slick-slider{
        width: 115vw;
        min-width: 115vw;
    }

    .mainvisual .box_inner .home_catch_img .slick-list li{    }

    .mainvisual .box_inner .home_catch_img .slick-list li img{
        min-width: 115vw;
        width: 115vw;
    }

    .mainvisual .box_inner .home_catch_img .home_catch_text01{
        width: 32.5vw;
        top: 3.75vw;
        left: 4.625vw;
    }

    .mainvisual .box_inner .home_catch_img .home_catch_text02{
        width: 42.5vw;
        top: 25.25vw;
        left: 6.025vw;
        line-height: 1.7;
        font-size: 0.9rem;
    }

    .mainvisual .box_inner .home_catch_img::after{
        width: 42vw;
        bottom: 3.5vw;
        right: 1.5vw;
    }

    .mainvisual .box_inner .home_catch_img .slick-dots{}
    
    .top_nav_box{
        margin: 3rem 0;
    }

    .top_nav_box .box_inner .top_main_nav{
        margin-bottom: 2rem;
    }

    .top_nav_box .box_inner .top_main_nav ul{
        width: 90vw;
        gap: 1rem;
    }

    .top_nav_box .box_inner .top_main_nav ul li{
        width: calc((100% - 2rem) / 3);
    }

    .top_nav_box .box_inner .top_main_nav ul li a{
        padding: 5vw 0 0 0;
    }

    .top_nav_box .box_inner .top_main_nav ul li a .lbl_ja{
        margin-bottom: 0.6rem;
    }

    .top_nav_box .box_inner .top_main_nav ul li a .lbl_en{
        font-size: 1.5rem;
    }

    .top_nav_box .box_inner .top_sub_nav ul li{
        width: 35vw;
    }

    .topics_box{
        width: 95vw;
        padding: 6vw 3vw;
    }

    .topics_box .box_inner .entry_topics_box ul li a .entry_img{
        height: 16.5vw;
    }

    .news_box{
        width: 90vw;
        margin: 4rem auto 4rem auto;
    }

    .news_box > .box_footer .x_bnr a{
        width: 30vw;
    }

}

/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    /*キャッチ*/
    .mainvisual .box_inner .home_catch_img{
        width: 100vw;
        justify-content: center;
    }

    .mainvisual .box_inner .slick-slider{
        width: 230vw;
        min-width: 230vw;
    }

    .mainvisual .box_inner .home_catch_img .slick-list li{
        padding-right: 0;
    }

    .mainvisual .box_inner .home_catch_img .slick-list li img{
        width: 230vw;
        min-width: 230vw;
    }

    .mainvisual .box_inner .home_catch_img .home_catch_text01{
        width: 58.75vw;
        top: 7.75vw;
        left: 4.625vw;
    }

    .mainvisual .box_inner .home_catch_img .home_catch_text02{
        width: 58.5vw;
        line-height: 1.6;
        font-size: 0.85rem;
        top: 45.25vw;
        left: 6.625vw;
    }

    .mainvisual .box_inner .home_catch_img::after{
        width: 77vw;
        bottom: 8vw;
        right: 1vw;
    }

    .mainvisual .box_inner .home_catch_img .home_catch_text03{
        font-size: 6vw;
    }

    .mainvisual .box_inner .home_catch_img .slick-dots{
        text-align: center;
        width: 100vw;
    }

    /*共通*/
    h2 .lbl_ja{
        font-size: 1.1rem;
    }

    h2 .lbl_en{
        font-size: 2rem;
    }
    

    /*ページバナー*/
    .top_nav_box{
        margin: 2rem 0 3rem 0;
    }

    .top_nav_box .box_inner .top_main_nav {
        margin-bottom: 1.5rem;
    }

    .top_nav_box .box_inner .top_main_nav ul li{
        width: calc((100% - 1rem) / 2);
    }

    .top_nav_box .box_inner .top_main_nav ul li a{
        padding: 7vw 0 0 0;
    }

    .top_nav_box .box_inner .top_main_nav ul li a .lbl_ja{
        width: 6rem;
        padding: 0.2rem 0;
        margin-bottom: 0.4rem;
        font-size: 0.8rem;
        line-height: 1.2;
    }

    .top_nav_box .box_inner .top_main_nav ul li a .lbl_en{
        font-size: 1.2rem;
    }

    .top_nav_box .box_inner .top_sub_nav ul li{
        width: 55vw;
    }
    
    .top_nav_box .box_inner .top_sub_nav ul li a .lbl_ja{
        font-size: 1rem;
        margin-bottom: 0.3rem;
    }

    .top_nav_box .box_inner .top_sub_nav ul li a .lbl_en{
        font-size: 1.2rem;
    }

    /*トピックス*/
    .topics_box .box_inner .entry_topics_box ul{
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .topics_box .box_inner .entry_topics_box ul li{
        width: calc((100% - 0.5rem) / 2);
    }

    .topics_box .box_inner .entry_topics_box ul li a .entry_img{
        height: 25vw;
        margin-bottom: 1rem;
    }

    .topics_box .box_inner .entry_topics_box ul li a .entry_title{
        font-size: 0.9rem;
    }

    /*新着情報*/
    .news_box{
        margin: 3rem auto;
    }

    .news_box .box_header .more a{
        font-size: 0.9rem;
        padding: 0.5rem 1rem;
    }

    .entry_list_box ul li a{
        padding: 0.5rem 0.6rem;
        flex-direction: column;
    }

    .entry_list_box ul li a .entry_date_cat{
        margin-right: 0;
        margin-bottom: 0.3rem;
    }

    .news_box > .box_footer{
        margin-top: 2rem;
    }

    .news_box > .box_footer .x_bnr a{
        width: 50vw;
    }

}


/* ##########印刷用########## */
@media print {}