@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600&display=swap');
/*--京pages.css--*/
/* ##########PC########## */

/*topicpath_content_title*/
.topicpath_content_title{
    box-sizing: border-box;
    border-top: 1px solid #ddd;
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0 auto 3rem;
    padding: 0 7vw;
}

    .topicpath{
        box-sizing: border-box;
        position: relative;
        padding: 0 0 0 1.5rem;
        display: flex;
        align-items: center;
        height: 3rem;
    }

        .topicpath ul{
            font-size: 0.9rem;
        }

            .topicpath ul li{
                display: inline;
                margin-right: 0.6em;
                color: #222;
                position: relative;
            }

            .topicpath ul li:after{
                font-family: FontAwesome;
                content:"\f105";
                margin-left: 1em;
            }

            .topicpath ul li:last-child{
                padding: 0;
                margin-right: 0;
            }

            .topicpath ul li:last-child:after{
                display: none;
            }

            .topicpath ul li a{
                color: #222;
                text-decoration: none;
            }

            .topicpath ul li a:hover{
                text-decoration: underline;
            }

    .content_page_title_wrapper{
        box-sizing: border-box;
        height: 200px;
        border-radius: 1rem;
        background-image: url("../shared/content_title_bg/aboutus.jpg");
        /*background-image: url("../shared/content_title_bg/aboutus.jpg");デフォルトほしい*/
        background-repeat: no-repeat;
        background-size: cover;
        background-position: left center;
    }

    /*各コンテンツ*/
    .contents.aboutus .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/aboutus.jpg");
    }

    .contents.outpatient .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/outpatient.jpg");
    }

    .contents.hospitalization .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/hospitalization.jpg");
    }

    .contents.homecare .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/homecare.jpg");
    }

    .contents.department .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/department.jpg");
    }

    .contents.medical_personnel .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/medical_personnel.jpg");
    }

    .contents.recruit .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/recruit.jpg");
    }

    .contents.contact .content_page_title_wrapper{
        background-image: url("../shared/content_title_bg/contact.jpg");
    }

        .content_page_title{
            display: flex;
            flex-direction: column;
            color: #222;
            padding: 3.75rem 0 0 4.5rem;
        }

            /*index以外*/
            .content_title{
                margin-bottom: 0.75rem;
            }

                .content_title .lbl_ja{
                    font-size: 1.15rem;
                    font-weight: 500;
                }

            .page_title{}

                .page_title h1{
                    font-size: 2.3rem;
                    font-weight: 700;
                }

            /*indexのとき*/
            .content_title.for_index{
                margin-bottom: 0;
            }

                .content_title.for_index .lbl_en{
                    font-family: 'Montserrat', sans-serif;
                    color: #017865;
                    font-size: 1.24rem;
                    margin-bottom: 0.5em;
                    font-weight: 600;
                }

                .content_title.for_index .lbl_ja{
                    font-size: 2.3rem;
                    font-weight: 700;
                }

/*content_body*/
.content_body{
}

    .column_wrapper{
        display: flex;
        flex-direction: row-reverse;
        width: calc(100% - 14vw);
        margin: 0 auto;
    }

        .column_wrapper .column_main{
            width: 100%;
        }

        /*2カラムの場合*/
        .column_wrapper.two_col .column_main{
            width: 70%;
        }

        .column_wrapper.two_col .column_sub{
            box-sizing: border-box;
            width: calc(30% - 5vw);
            margin-right: 5vw;
            padding: 0.25rem 0 0 0;
        }

/*page_title 3階層目のみ使用*/
/*
.page_title{
    margin-bottom: 3rem;
}

    .page_title h2{
        font-size: 1.7em;
        font-weight: 500;
        padding: 0.3em 1em 0.5em;
        margin-bottom: 1.4em;
        margin-top: 3em;
        line-height: 1.4;
        color: #333;
        position: relative;
        border-radius: 0.25rem 0 0 0;
        overflow: hidden;
        border-bottom: 1px solid #ccc;
        box-shadow: 0 2px 0 0 #eee;
    }

        .page_title > h2:nth-of-type(1){
        margin-top: 0;
    }

        .page_title h2:before{
            content: "";
            display: block;
            background: #017864;
            width: 1rem;
            height: 1rem;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
            border-radius: 100% 0% 100% 0% / 0% 0% 100% 100% ;
        }
*/

/*page_body*/
.page_body{
    min-height: 400px;
    line-height: 1.8;
}
    .page_title h2,
    .page_body h2{
        font-size: 1.7em;
        font-weight: 500;
        /*padding: 0.5em 1em 0.7em 0;*/
        padding: 0.5em 0 0.7em 0;
        margin-bottom: 1em;
        margin-top: 3em;
        line-height: 1.4;
        color: #333;
        position: relative;
        border-bottom: 1px solid #ccc;
        /*
        box-shadow: 0 2px 0 0 #eee;
        */
    }

    .page_title h2,
    .page_body > h2:nth-of-type(1){
        margin-top: 0;
    }
        .page_title h2:before,
        .page_body h2:before{
            content: "";
            display: block;
            width: 2.5rem;
            border-top: 0.25rem solid #017864;
            height: 0;
            position: absolute;
            top: 0;
            left: 0;
        }

/*
        .page_body h2:before{
            content: "";
            display: block;
            background: #017864;
            width: 1rem;
            height: 1rem;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
            border-radius: 100% 0% 100% 0% / 0% 0% 100% 100% ;
        }


        .page_body h2:before{
            content: "";
            display: block;
            background: #017864;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
            border-radius: 100% 0% 5rem 0% / 0% 0% 5rem 100%;
        }

        .page_body h2:after{
            content: "";
            display: block;
            background: #e5e5e5;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -2;
        }
*/

    .page_body h3{
        font-size: 1.4em;
        font-weight: 700;
        color: #017864;
        margin-bottom: 0.5em;
        margin-top: 1.8em;
        line-height: 1.4
    }

    .page_body h4{
        font-size: 1.15em;
        font-weight: 500;
        margin: 1.8em 0.5em 0.5em 0.5em;
        line-height: 1.4
    }

    .page_body p {
        margin: 0 1em 1em 1em;
    }

    .page_body ol{
        list-style: decimal;
        margin: 1em 0.5em;
    }

        .page_body ol li{
            margin: 0 0 0.3em 1.3em;
        }

    .page_body ul{
        margin: 1em;
    }

        .page_body ul li{
            margin: 0 0 0.3em 0;
            padding-left: 1em;
            position: relative;
        }

            .page_body ul li:before{
                content: "";
                width: 0.375rem;
                height: 0.375rem;
                display: block;
                background: #666;
                position: absolute;
                top: 0.75em;
                left: 0;
            }

    .page_body .fig{
        text-align: center;
    }

    .page_body img{
        max-width:100%;
        height: auto;
    }

    .page_body a{
        color: #2a5c78;
    }

    .page_body a:hover{
        color: #2182b9;
    }

    .page_body table{
        margin: 1em;
        line-height: 1.6;
        border-collapse: separate;
        border: 1px solid rgba(0,0,0,0.2);
    }
        .page_body table th,
        .page_body table td{
            border-right: 1px solid rgba(0,0,0,0.15);
            border-bottom: 1px solid rgba(0,0,0,0.15);
        }

        .page_body table thead th{
            text-align: center;
            font-weight: 500;
            padding: 0.25em 0.5em;
            background: rgba(245,215,100,0.2);
            border-right-color: #fff;
        }

        .page_body table thead tr th:last-child{
            border-right-color: rgba(255,255,255,0);
        }

        .page_body table thead tr:last-child th{
            border-bottom-color: #fff;
        }

        .page_body table tbody th,
        .page_body table tbody td{
            padding: 0.5em;
        }

        .page_body table tbody th{
            font-weight: 500;
            background: rgba(245,215,100,0.2);
            border-right-color: #fff;
            border-bottom-color: #fff;
        }

        .page_body table tbody tr td:last-child{
            border-right-color: rgba(255,255,255,0);
        }

        .page_body table tbody tr:last-child th,
        .page_body table tbody tr:last-child td{
            border-bottom-color: rgba(255,255,255,0);
        }

        .page_body table tbody td{
            background: #fff;
        }

        .page_body strong{
            font-weight: 700;
        }

        .page_body em{
            font-style: italic;
        }

    /*コンテンツトップ用index_page_nav*/
    .index_nav{
        margin: 4rem 3vw 0;
    }

    .index_nav ul{
        display: flex;
        flex-wrap: wrap;
        margin: 0;
        line-height: 1.4;
    }

        .index_nav ul li{
            box-sizing: border-box;
            width: calc((100% - 1.5rem) / 2);
            margin-right: 1.5rem;
            border-bottom: 1px solid #ddd;
            padding-top: 0.25rem;
            padding-bottom: 0.25rem;
            padding-left: 0;
            margin-bottom: 0;
        }

        .index_nav ul li:nth-child(even){
            margin-right: 0;
        }

        .index_nav ul li:before{
            content: none;
        }

        .index_nav ul li:first-child,
        .index_nav ul li:nth-child(2){
            border-top: 1px solid #ddd;
        }

            .index_nav ul li a{
                display: flex;
                padding: 1.2em 0.6em;
                padding-left: 2.5rem;
                color: #222;
                position: relative;
                transition: .3s all ease;
                text-decoration: none;
                font-size: 1.2em;
            }

            .index_nav ul li a:hover{
                color: #006E96;
            }

                .index_nav ul li a:before{
                    content: "";
                    display: block;
                    width: 1.5rem;
                    height: 1.5rem;
                    /*
                    background-image: url(../shared/icon_cir_arr_gray.png);
                    */
                    background-image: url(../shared/icon_cir_arr_blue.png);
                    background-size: contain;
                    background-repeat: no-repeat;
                    position: absolute;
                    top: 1.65rem;
                    left: 0.4rem;
                    z-index: 0;
                    transition: .3s all ease;
                }

                .index_nav  ul li a:hover:before{
                    background-image: url(../shared/icon_cir_arr_blue.png);
                }

                .index_nav ul li a:after{
                    content: "";
                    display: block;
                    width: 100%;
                    height: 100%;
                    background: rgba(0,110,150,0.1);
                    position: absolute;
                    top: 0;
                    left: 0;
                    z-index: -1;
                    transition: .3s all ease;
                    opacity: 0;
                }

                .index_nav ul li a:hover:after{
                    opacity: 1;
                }

    /*サイドメニュー*/
    .page_nav_box{
        margin-bottom: 2rem;
        border-bottom: 2px dotted #ccc;
        padding-bottom: 2rem;
    }

        .page_nav_box > dl{}

            .page_nav_box > dl > dt{
                border-bottom: 3px solid #017865;
                margin-bottom: 0.5rem;
            }

                .page_nav_box > dl > dt a{
                    display: flex;
                    flex-direction: column;
                    color: #111;
                    text-decoration: none;
                    padding: 0 0 1rem;
                }

                    .page_nav_box > dl > dt a .lbl_en{
                        font-family: 'Montserrat', sans-serif;
                        color: #017865;
                        font-size: 1.1rem;
                        margin-bottom: 0.5em;
                        font-weight: bold;
                    }

                    .page_nav_box > dl > dt a .lbl_ja{
                        font-size: 1.5rem;
                        font-weight: 500;
                    }

            .page_nav_box > dl > dd{}

                .page_nav_box > dl > dd > ul{
                    line-height: 1.4;
                    font-size: 0.94rem;
                }

                    .page_nav_box > dl > dd > ul > li{}

                        .page_nav_box > dl > dd > ul > li > a{
                            box-sizing: border-box;
                            color: #111;
                            text-decoration: none;
                            display: flex;
                            align-items: center;
                            padding: 0.7em 0.5em;
                            padding-left: 2rem;
                            position: relative;
                            transition: .3s all ease;
                        }

                        .page_nav_box > dl > dd > ul > li > a:hover{
                            background: rgba(245,215,100,0.5);
                        }

                            .page_nav_box > dl > dd > ul > li > a:before{
                                content: "";
                                display: block;
                                width: 1.375rem;
                                height: 1.375rem;
                                background-image: url(../shared/icon_cir_arr_b_white.png);
                                background-size: contain;
                                background-repeat: no-repeat;
                                position: absolute;
                                top: 0.68rem;
                                left: 0;
                                z-index: 0;
                                transition: .3s all ease;
                            }

                            .page_nav_box > dl > dd > ul > li > a:hover:before{
                                transform: translateX(0.25rem);
                            }

                        .page_nav_box > dl > dd > ul > li.current-menu-item > a,
                        .page_nav_box > dl > dd > ul > li.current-page-ancestor > a {
                            font-weight: 700;
                        }

                        .page_nav_box > dl > dd ul > li.current-menu-item > a:before,
                        .page_nav_box > dl > dd > ul > li.current-page-ancestor > a:before{
                            background-image: url(../shared/icon_cir_arr_black.png);
                        }

                        /*lv2*/
                        .page_nav_box > dl > dd > ul > li > ul{
                            font-size: 0.92rem;
                            padding: 0.5em 0 1em 0;
                        }

                            .page_nav_box > dl > dd > ul > li > ul > li{
                                margin-bottom: 0.2em;
                            }

                                .page_nav_box > dl > dd > ul > li > ul > li > a{
                                    
                                    text-decoration: none;
                                    color: #111;
                                    display: block;
                                    padding: 0.3em 0.3em 0.3em 2em;
                                    position: relative;
                                    border-radius: 0.25rem;
                                    transition: .3s all ease;
                                }

                                .page_nav_box > dl > dd > ul > li > ul > li > a:hover{
                                    background: rgba(245,215,100,0.5);
                                }

                                    .page_nav_box > dl > dd > ul > li > ul > li > a:before{
                                        font-family: FontAwesome;
                                        content:"\f105";
                                        display: inline-block;
                                        position: absolute;
                                        top: 0.5em;
                                        left: 1.2em;
                                        color: #888;
                                        font-size: 0.9em;
                                    }

                                .page_nav_box > dl > dd > ul > li > ul > li.current-menu-item > a,
                                .page_nav_box > dl > dd > ul > li > ul > li.current-page-ancestor > a{
                                    font-weight: 700;
                                }

                                    .page_nav_box > dl > dd > ul > li > ul > li.current-menu-item > a:before,
                                    .page_nav_box > dl > dd > ul > li > ul > li.current-page-ancestor > a:before{
                                        color: #222;
                                        background: none;
                                    }

    /*サイドバナー*/
    .side_bns_box{
        padding: 0 1rem;
    }

        .side_bns_box ul{}

            .side_bns_box ul li{
                margin-bottom: 1rem;
            }

            .side_bns_box ul li:last-child{
                margin-bottom: 0;
            }

                .side_bns_box ul li .bn_img{
                    display: block;
                }

                .side_bns_box ul li .bn_img a{
                    display: block;
                    border-radius: 0.25rem;
                    overflow: hidden;
                    transition: .3s all ease;
                }

                .side_bns_box ul li .bn_img a:hover{
                    filter: brightness(1.05);
                }

                .side_bns_box ul li .bn_img img{
                    max-width: 100%;
                    height: auto;
                }


@media screen and (min-width:1px) and (max-width:1400px) {
}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
    
    .topicpath_content_title{
        padding: 0 3vw;
    }
    
        .content_page_title_wrapper{
            height: 20vw;
        }
    
            .content_page_title{
                padding: 3.5rem 0 0 3rem;
            }
    
            .page_title h1{
                font-size: 2rem;
            }
    
            .content_title.for_index .lbl_ja{
                font-size: 2rem;
            }
    
    .column_wrapper{
        width: calc(100% - 10vw);
    }
    
    .page_title h2{
        font-size: 1.5em;
        padding: 0.5em 0.8em;
    }
    
    .page_body h2{
        font-size: 1.5em;
        margin-top: 2em;
    }
    
    .page_body h3{
        margin-top: 1.5em;
    }
    
    .page_body h4{
        font-size: 1.15em;
    }
    
    /*コンテンツトップ用index_page_nav*/
    .index_nav ul li a{
        padding: 0.8em 0.5em;
        padding-left: 2.5rem;
        font-size: 1.05em;
    }

        .index_nav ul li a:before{
            width: 1.5rem;
            height: 1.5rem;
            top: 0.8rem;
        }

    .side_bns_box{
        padding: 0 0.5rem;
    }

}

/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {

}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    .topicpath_content_title{
        margin-bottom: 2rem;
    }
    
    .topicpath{
        height: 2rem;
        padding-left: 0;
    }
    
        .topicpath ul{
            font-size: 0.8rem;
        }
    
    .content_page_title_wrapper{
        height: 24vw;
        border-radius: 0.5rem;
    }
    
        .content_page_title{
            padding: 1.5rem 0 0 1rem;
        }
    
            .content_title .lbl_ja{
                font-size: 0.9rem;
            }
    
            .page_title h1{
                font-size: 1.5rem;
            }
    
            .content_title.for_index .lbl_en{
                font-size: 0.9rem;
            }
    
            .content_title.for_index .lbl_ja{
                font-size: 1.5rem;
            }
    

    
    .content_body{
        display: flex;
        flex-direction: column-reverse;
    }
    
    .column_wrapper{
        flex-direction: column;
    }
    
    .column_wrapper.two_col .column_main{
        width: 100%;
    }
    
    .column_wrapper.two_col .column_sub {
        width: 100%;
        margin-right: 0;
        margin-top: 3rem;
        padding: 0;
        box-shadow: none;
    }
    
    .page_titile h2 {
        font-size: 1.3em;
        margin-bottom: 1em;
    }
    
    .page_body h2 {
        font-size: 1.3em;
        margin-bottom: 1em;
    }
    
    .page_body h3 {
        font-size: 1.2em;
    }
    
    .page_body h4 {
        font-size: 1.08em;
    }
    
    /*コンテンツトップ用index_page_nav*/
    .index_nav{
        margin-top: 2rem;
    }
    
    .index_nav ul{
        flex-direction: column;
    }
    
        .index_nav ul li{
            width: 100%;
            margin-right: 0;
        }
    
        .index_nav ul li:nth-child(2) {
            border-top: none;
        }
    
            .index_nav ul li a{
                padding: 0.6em 0.5em 0.6em 2.2rem;
            }
    
                .index_nav ul li a:before{
                    width: 1.4rem;
                    height: 1.4rem;
                    top: 0.6rem;
                }
    
    .page_nav_box > dl > dt a{
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
    }
    
        .page_nav_box > dl > dt a .lbl_ja{
            font-size: 1.2rem;
        }
    
        .page_nav_box > dl > dt a .lbl_en{
            font-size: 0.9rem;
            margin-bottom: 0;
            margin-left: 1em;
            padding-top: 0.2em;
        }
    
    .page_nav_box > dl > dd > ul{
        display: flex;
        flex-wrap: wrap;
    }
    
        .page_nav_box > dl > dd > ul > li{
            width: calc((100% - 0.5rem) / 2);
            margin-right: 0.5rem;
        }
    
        .page_nav_box > dl > dd > ul > li:nth-child(even){
            margin-right: 0;
        }
    

    .side_bns_box{
        padding: 0;
    }
    
        .side_bns_box ul{
            display: flex;
            flex-wrap: wrap;
        }
    
            .side_bns_box ul li{
                width: calc((100% - 1rem) / 2);
                margin-right: 1rem;
            }
    
            .side_bns_box ul li:nth-child(even){
                margin-right: 0;
            }
    
}


/* ##########印刷用########## */
@media print{

}