@charset "utf-8";
/*--京pages.css--*/
/* ##########PC########## */

.content_header{
    padding: 25px 0 0 0;
    height: 175px;
    background: url(../../shared/bg_content_title.jpg) no-repeat center;
    background-size: 2000px 200px;
}

.topicpath{
    width: 1100px;
    margin: 0 auto 3em auto;
    font-size: 0.9em
}

    .topicpath ul{
        display:flex;
        justify-content: flex-start;
        align-items: center;
    }

        .topicpath ul li{
            padding: 0 1.7em 0 0;
            margin: 0 1em 0 0;
            position: relative;
        }

        .topicpath ul li:last-child{
            font-weight:bold;
            padding: 0;
            margin: 0;
        }

        .topicpath ul li:after{
            font-family: FontAwesome;
            content: "\f105";
            color: #111;
            font-size: 1.2em;
            position: absolute;
            top: -2px;
            right: 0;
        }

        .topicpath ul li:last-child:after{
            display:none;
        }

            .topicpath ul li a{
                color: #333;
                text-decoration: none;
                transition: .3s all ease;
            }

            .topicpath ul li a:hover{
                text-decoration: underline;
            }

.content_title{}

    .content_title h1{
        text-align: center;
    }

        .content_title h1 img{
            max-height: 64px;
            width: auto;
        }

.content_body{
    min-height: 300px;
    margin: 30px 0;
    line-height: 1.8;
}

.page_nav{
    margin-bottom: 50px;
}

.page_nav ul{
    display: flex;
    justify-content: center;
    align-items: center;
}

.page_nav ul li{
    margin: 0;
    padding: 0 20px 0 30px;
    position: relative;
}

.page_nav ul li:last-child{
    padding:0 30px;
}

.page_nav ul li:before{
    content:"●";
    font-size: 0.6em;
    color: #767676;
    position: absolute;
    top: 4px;
    left: 0;
}

.page_nav ul li:last-child:after{
    content:"●";
    font-size: 0.6em;
    color: #767676;
    position: absolute;
    top: 4px;
    right: 0;
}

.page_nav ul li a{
    color: #767676;
    text-decoration: none;
    transition: .3s all ease;
}

.page_nav ul li.active a{
    color:#b41d23;
    font-weight: bold;
}

.page_nav ul li a:hover{
    text-decoration:underline;
}

.page_content_box{
    width:960px;
    min-height: 200px;
    margin: 0 auto 50px auto;
}

.year_content{
    /*display:none;*/
    margin: 0 auto 10px auto;
}

.al_bottom_txt{
    width:960px;
    margin: 0 auto 10px auto;
}

.al_bottom_txt .al_bottom_txt_inner{
    margin: 0 1em;
    padding: 0 6px;
}


#p_y2023{
    display:block;
}

#a_y2022{
    display:block;
}

#c_y2019{
    display:block;
}

.page_content_box h2{
    font-size: 2em;
    margin-bottom: 15px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.page_content_box h2:after{
    content:"";
    min-width: 10%;
    height: 2px;
    background: #e5e5e5;
    flex: 1;
}

.page_content_box h2 .ttl_box{
    padding-right: 20px;
    background: #fff;
    white-space: nowrap;
}

.page_content_box h2.s_long .ttl_box{
    width: 80%;
    white-space: normal;
    font-size: 0.85em;
    line-height: 1.3em;
}

.page_content_box h2.s_long:after{
    content: "";
    width: 20%;
    height: 2px;
    background: #e5e5e5;
}


.page_content_box h2 .ttl_box .f_s{
    font-size:0.8em;
}

    .page_content_box h2 .ttl_box a{
        color: #222;
    }

.page_content_box .page_content_box_inner{
    margin:0 2em;
}

.page_content_box h3{
    font-size:1.2em;
    font-weight: bold;
    margin:1em 0 0.5em 0;
}

.page_content_box h4{
    font-weight: bold;
    margin:0 0 0.3em 0;
}

.page_content_box p{
    margin:0 0 1em 0;
}

.page_content_box p a.pdf_link{
    background: url(../../shared/pdf.png) no-repeat 1px 7px;
    padding-left: 33px;
    padding-top: 6px;
    padding-bottom: 5px;
    margin: 5px 0 5px 0;
    text-decoration: none;
    display: inline-block;
    color: #222;
}

.page_content_box p a.pdf_link{
    text-decoration: underline;
}

.page_content_box .img_wrapper{
    display:flex;
    justify-content: center;
    align-items: flex-end;
}

.page_content_box .img_wrapper p{
    margin:5px 0 0 0;
    font-size: 0.9em;
}

.page_content_box .img_box{
    max-width: 800px;
    margin:0 auto 1em auto;
    text-align: center;
}

.page_content_box .img_box img{
    max-width:100%;
    height: auto;
}

.page_content_box .img_wrapper .img_box{
    margin: 0 15px;
}

/*汎用Table*/
.page_content_box table{}

.page_content_box table thead th{
    padding: 5px;
    border: 1px solid #ccc;
    white-space: nowrap;
    text-align: center;
    font-weight: bold;
    background: #ececec;
}

.page_content_box table tbody td{
    padding: 5px;
    border: 1px solid #ccc;
}

/*About*/
.vision{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align:center;
    font-size: 1.1em;
    line-height: 2.2em;
    min-height: 170px;
    margin: 0 auto;
    background: url(../../shared/outline/bg_vision.png) no-repeat center;
    background-size: 615px 170px;
}

.greeting_box{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.greeting_text{
    margin: 0 40px 0 0;
}

    .greeting_text p{
        margin-bottom:1.5em;
    }

.greeting_img_name{}

.greeting_img{}

    .greeting_img img{
        max-width: 230px;
        height: auto;
    }

.greeting_affiliation{
    margin:0.5em 0 0 0;
    font-size: 0.85em;
    line-height: 1.5em;
}

.greeting_name{
    font-size: 1.4em;
}

.page_content_box ol{
    list-style: decimal;
}

    .page_content_box ol li{
        margin-left: 50px;
        margin-bottom: 30px;
    }

    .page_content_box ol li::marker{
        font-size: 1.8em;
        color: #b41d23;
        margin-bottom: 1em;
    }

        .page_content_box ol li dl{}

            .page_content_box ol li dl dt{
                font-size: 1.6em;
            }

            .page_content_box ol li dl dd{}

                .page_content_box ol li dl dd ul{}

                .page_content_box ol li dl dd ul li{
                    margin-bottom: 0.2em;
                    margin-left: 0;
                    padding-left: 1em;
                    position: relative;
                }

                .page_content_box ol li dl dd ul li:before{
                    content: "●";
                    display: inline-block;
                    font-size: 0.5em;
                    color: #666666;
                    position: absolute;
                    top: 0.6em;
                    left: 0;
                }

.mrc_bg_box{
    width:100%;
    height: 230px;
    background: url(../../shared/outline/img_mrc.jpg) no-repeat top center;
    background-size: cover;
    margin-bottom: 70px;
}

.history_table{
    margin: 20px 0 0 0;
}

.page_content_box .history_table table{
    line-height: 1.8em;
    position: relative;
}

.page_content_box .history_table table:before{
    content:"";
    display: block;
    width: 1px;
    height: calc(100% - 2.5em);
    background: #e5e5e5;
    position: absolute;
    top: 1.25em;
    left: 96px;
}

.page_content_box .history_table table th{
    padding: 2px 25px;
    vertical-align: top;
    font-size: 1.3em;
    color: #b41d23;
    position: relative;
}

.page_content_box .history_table table th:before{
    content: "●";
    display: inline-block;
    font-size: 0.5em;
    line-height: 1;
    color: #e5e5e5;
    position: absolute;
    top: 1.2em;
    right: -0.55em;
}

.page_content_box .history_table table td{
    border: none;
    padding: 2px 25px;
    vertical-align: top;
}

.movie_box{
    margin: 1em 0;
    text-align: center;
}

.movie_box iframe{
    width:860px;
    height: 483px;
}

/*メンバー*/
.member_nav{
    display: flex;
    justify-content: center;
    margin: 0 auto 2em auto;
}

.member_nav ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    line-height: 1;
}

.member_nav ul li{
    padding: 8px 0 8px 15px;
    position: relative;
    margin: 0 1em;
}

.member_nav ul li:before{
    font-family: FontAwesome;
    content: "\f0da";
    color: #b41d23;
    position: absolute;
    top: 7px;
    left: 2px;
}

.member_nav ul li a{
    text-decoration: none;
    color: #222;
}

.member_box_wrapper{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.member_box{
    width: 460px;
    margin: 0 10px 2em 10px;
    padding-bottom: 1em;
    border-bottom: 2px dotted #aaa;
}

.member_box > dl{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 210px;
}

.member_box > dl > dt{
    width: 150px;
    margin: 0 20px 0 0;
}

.member_box > dl > dt img{
    max-width:100%;
    height: auto;
}

.member_box > dl > dd{
    width: calc(100% - 170px);
    border-bottom: 1px dotted #aaa;
    font-size: 0.9em;
}

.member_box > dl > dd p{
    line-height:1.5;
}

.member_box > dl > dd > h4{
    font-size: 1em;
    background: #f3f3f3;
    border-left: 3px solid #b51e23;
    padding: 5px 10px;
    margin: 0 0 10px;
    line-height: 1.5;
}

.member_box > dl > dd > dl{
    padding: 0 10px;
    display: block;
}

.member_box > dl > dd > p{
    padding: 0 10px;
}


.member_box > dl > dd > dl > dt{
    width: auto;
    margin: 0;
    font-size: 1.4em;
    font-weight: bold;
}

.member_box > dl > dd > dl > dd{
    width: auto;
    padding: 0;
    border-bottom: none;
    font-weight: bold;
    line-height: 1.5;
}

.member_box ul{
    display: flex;
    justify-content: flex-start;
    line-height: 1;
}

.member_box ul li{
    margin: 10px 10px 0 0;
}

.member_box ul li a{
    position: relative;
    display: block;
    height: 28px;
    line-height: 28px;
    border: 1px solid #d7d7d7;
    background: #f4f4f4;
    border-radius: 3px;
    padding: 5px 10px;
    color: #222;
    text-decoration: none;
    text-align: center;
    font-size: 0.9em;
    transition: .3s all ease;
}

.member_box ul li a:hover{
    background: #d7d7d7;
    text-decoration: none;
}

.member_box ul li.researchmap_link a{
    background: none;
    border: none;
    height: auto;
    line-height: normal;
    border-radius:0;
    padding: 0;
}

.member_box ul li.researchmap_link a:hover{
    opacity: 0.8;
}

.kyakuin_member_box_wrapper{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.kyakuin_member_box{
    width: calc(100% / 4 - 10px);
    margin: 0 5px 2em 5px;
    padding-bottom: 0.5em;
    border-bottom: 2px dotted #aaa;
}

.kyakuin_member_box > h4{
    font-size: 1em;
    background: #f3f3f3;
    border-left: 3px solid #b51e23;
    padding: 5px 10px;
    margin: 0 0 10px;
    line-height: 1.5;
}

.kyakuin_member_box > dl{
    padding: 0 5px;
    display: block;
}

.kyakuin_member_box > dl > dt{
    width: auto;
    margin: 0;
    font-size: 1.3em;
    font-weight: bold;
}

.kyakuin_member_box > dl > dd{
    width: auto;
    padding: 0 5px;
    border-bottom: none;
    line-height: 1.4;
    font-size: 0.95em;
}

/*業績リスト*/
.year_nav{
    width: 500px;
    margin: 0 auto 2em auto;
}

.year_nav ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    line-height: 1;
}

.year_nav ul li{
    width: 85px;
    padding: 8px 0 8px 15px;
    position: relative;
}

.year_nav ul li:before{
    font-family: FontAwesome;
    content:"\f0da";
    color: #b41d23;
    position: absolute;
    top: 7px;
    left: 2px;
}

.year_nav ul li a{
    text-decoration:none;
    color: #222;
    cursor: pointer;
    transition: .3s all ease;
}

.year_nav ul li.active a{
    font-weight: bold;
    color: #b41d23;
}

.year_nav ul li a:hover{
    text-decoration: underline;
}

.table_wrap{
    margin: 0 1em;
}

.archive_list{
    margin: 0 1em;
}

.archive_list ul{}

.archive_list ul li{
    padding: 0 10px 10px 10px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #aaa;
}

.archive_list ul li a{
    color:#333;
    transition: .3s all ease;
}

.archive_list ul li a:hover{
    text-decoration:none;
}

.project_table{
    width:100%;
}

.renkei_map{
    display:none;
}

.renkei_list{}

.renkei_list ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.renkei_list ul li{
    width:400px;
    margin: 0 10px ;
    padding: 10px 10px 10px 15px;
    border-bottom: 1px solid #ccc;
    position: relative;
}

.renkei_list ul li:before{
    font-family: FontAwesome;
    content: "\f0da";
    color: #b41d23;
    position: absolute;
    top: 10px;
    left: 5px;
}

/*研究設備*/
.facilities_list{}

.facilities_list ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.facilities_list ul li{
    width: 44%;
    margin: 0 2% 20px 2%;
    padding:0 1% 10px 1%;
    border-bottom: 1px solid #ccc;
}

.facilities_list ul li p{
    margin:0;
    font-weight: bold;
}

.facilities_list ul li img{
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}

/*アクセス*/
.google_map{
    text-align:center;
}

/*関連リンク*/
.link_list{
    margin: 0 1em;
}

.link_list ul{}

.link_list ul li{
    position: relative;
    padding: 0 0 0 1.3em;
    margin-bottom: 0.8em;
}

.link_list ul li:before{
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #666666;
    position: absolute;
    top: 6px;
    left: 0;
}

.link_list ul li a{
    color: #222;
    text-decoration: none;
    margin-left: 0.2em;
}

.link_list ul li a .eng_link{
    font-size: 85%;
    color: #9b9b9b;
    transition: .3s all ease;
}

.link_list ul li a:hover{
    text-decoration: underline;
}

@media screen and (min-width:1px) and (max-width:1400px) {
}

/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {


}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    .content_header{
        display: flex;
        justify-content: center;
        align-items: center;
        padding:3vw 0;
        height: 19vw;
        background: url(../../shared/bg_content_title.jpg) no-repeat center;
        background-size: 250vw 25vw;
    }
    
    .topicpath{
        display: none;
    }
    
    .content_title h1 img{
        max-width:90vw;
        max-height:12vw;
        width:auto;
        height: auto;
    }
    
    .content_body{
        margin: 5vw;
    }
    
    .page_nav{
        margin-bottom: 5vw;
    }
    
    .page_nav ul{
        flex-wrap: wrap;
    }
    
    .page_nav ul li{
        padding: 0 1em 0 1.6em;
    }
    
    .page_nav ul li:last-child {
        padding: 0 1.6em;
    }
    
    .page_content_box{
        width:auto;
        margin: 0 auto 10vw auto;
    }
    
    .page_content_box h2 .ttl_box{
        padding-right: 4vw;
        white-space: normal;
    }
    
    .page_content_box h2.long{
        font-size:1.7em;
        line-height: 1.3em;
    }
    
    .page_content_box h2.long .ttl_box{
        white-space: normal;
    }
    
    .page_content_box h2.long:after{
        content: "";
        width: 20vw;
        height: 2px;
        background: #e5e5e5;
    }
    
    .page_content_box .page_content_box_inner{
        margin:0 1em;
    }
    
    .year_content{
        width:auto;
        margin: 0 auto 4vw auto;
    }
    
    .al_bottom_txt {
        width: auto;
        margin: 0 auto 4vw auto;
    }

    
    .vision{
        line-height: 1.8em;
        min-height: auto;
        background: url(../../shared/outline/bg_vision.png) no-repeat center;
        background-size: contain;
    }
    
    .greeting_box{
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column-reverse;
    }
    
    .greeting_img_name{
        margin: 0 auto;
    }
    
    .greeting_img img{
        max-width:50vw;
    }
    
    .greeting_text{
        margin: 0;
    }
    
    .movie_box iframe{
        width: 100%;
        height: 50.5vw;
    }
    
    .page_content_box .history_table table th{
        padding: 1vw 5vw;
    }
    
    .page_content_box .history_table table td{
        padding: 1vw 5vw;
    }
    
    .page_content_box .history_table table:before{
            content: "";
        display: block;
        width: 1px;
        height: calc(100% - 6.2em);
        background: #e5e5e5;
        position: absolute;
        top: 1.25em;
        left: 20vw;
    }
    
    .member_box > dl{
        display:block;
    }
    
    .member_box > dl > dt{
        width:40vw;
        margin: 0 auto 5vw auto;
    }
    
    .member_box > dl > dd{
        width: 100%;
    }
    
    .member_box > dl > dd > h4{
        border-left: 1vw solid #b51e23;
        padding: 1vw 3vw;
        margin: 0 0 3vw;
    }
    
    .member_box > dl > dd > dl > dt{
        font-size: 1.6em;
    }
    
    .member_box ul{
        flex-wrap:wrap;
    }
    
    .member_box ul li{
        width: auto;
        margin: 2vw 2vw 0 0;
    }
    
    .kyakuin_member_box{
        width: calc(100% / 2 - 2vw);
        margin: 0 1vw 2em 1vw;
        padding-bottom: 0.5em;
        border-bottom: 2px dotted #aaa;
    }

    .kyakuin_member_box > dl{
        padding: 0 1vw;
        display: block;
    }

    .kyakuin_member_box > dl > dt{
        font-size: 1.5em;
    }

    .kyakuin_member_box > dl > dd{
        padding: 0 1vw;
    }
    
    .table_wrap{
        margin: 0;
    }
    
    .archive_list{
        margin: 0 1em;
    }
    
    .year_nav{
        width:90vw;
    }
    
    .year_nav ul li{
        width: 19.5vw;
        padding: 1.5vw 0 1.5vw 3vw;
    }
    
    .page_content_box .table_wrap{
        width: 90vw;
        overflow-x: auto;
    }
    
    .project_table{
        width:auto;
    }
    
    .page_content_box table thead th.sp_long{
        min-width: 20em;
    }
    
    .renkei_list ul li{
        width: 80vw;
        margin: 0;
        padding: 2vw 2vw 2vw 4vw;
    }
    
    .google_map iframe{
        width:100%;
        height: 67.5vw;
    }
    
}



/* ##########印刷用########## */
@media print{

}