@charset "utf-8";
/*--京pages.css--*/
/* ##########PC########## */
/*topicpath_content_title*/
.topicpath_content_title{
    box-sizing: border-box;
    height: 15rem;
    margin: 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 3.75rem;
}

    .topicpath_content_title::after{
        content: "";
        display: block;
        width: 50%;
        height: 100%;
        background-image: url('../shared/company/img_content_title.jpg');
        background-size: auto 100%;
        position: absolute;
        right: 0;
        top: 0;
    }

    .topicpath{
        box-sizing: border-box;
        width: 1150px;
        margin: 0 auto;
        font-size: 0.84rem;
        position: relative;
        z-index: 1;
    }

        .topicpath ul{}

            .topicpath ul li{
                display: inline;
                margin-right: 0.6em;
                position: relative;
                color: #222;
            }

            .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_title{
        box-sizing: border-box;
        margin: 0 auto;
        width: 1150px;
        display: flex;
        flex-direction: column-reverse;
        position: relative;
        z-index: 1;
        padding-left: 3rem;
    }


        .content_title h1{
            color: #1e3c7d;
            font-size: 1.3125rem;
            margin-top: 0.9em;
            font-weight: 600;
        }

        .content_title p{
            font-family: "Inter", sans-serif;
            height: 4.5rem;
            font-size: 4.5rem;
            font-weight: 700;
            color: rgba(30,60,125,0.5);
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

            .content_title p img{
                height: 100%;
                width: auto;
            }


/*content_body*/
.content_body{
    overflow-x: hidden;
    overflow-y: hidden;
    border-bottom: 2px solid #f0f0f0;
}


/*page_nav*/
.page_nav{
    padding-top: 2rem;
    margin-bottom: 4rem;
    line-height: 1.4;
}

    .page_nav ul{
        display: flex;
        justify-content: center;
        gap: 2rem;
    }

        .page_nav ul li{
            width: 20rem;
            height: 5.5rem;
        }

            .page_nav ul li a{
                box-sizing: border-box;
                width: 100%;
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                border: 2px solid rgba(30,60,125,0);
                background: #fff;
                color: #1e3c7d;
                font-size: 1.25rem;
                font-weight: 600;
                text-decoration: none;
                position: relative;
                transition: .3s all ease;
            }

            .page_nav ul li a:hover{
                border-color: rgba(30,60,125,0.5);
            }

                .page_nav ul li a::after{
                    content: "";
                    display: block;
                    width: 1rem;
                    height: 1rem;
                    background-image: url('../shared/icon/icon_arr1.png');
                    background-size: contain;
                    background-position: center;
                    background-repeat: no-repeat;
                    position: absolute;
                    right: 1rem;
                    top: calc(50% - 0.5rem);
                }

            .page_nav ul li.active a{
                border-color: rgba(30,60,125,1);
            }

                .page_nav ul li.active a::after{
                    transform: rotate(90deg);
                }

/*anc_nav*/
.anc_nav{
    padding-top: 3rem;
    margin-bottom: 3rem;
    line-height: 1.4;
}

    .anc_nav ul{
        display: flex;
        justify-content: center;
        gap: 2rem;
    }

        .anc_nav ul li{
            height: 2rem;
        }

            .anc_nav ul li a{
                box-sizing: border-box;
                width: 100%;
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                border-bottom: 1px solid rgba(30, 60, 125, 1);
                background: #fff;
                color: #1e3c7d;
                font-size: 1.1rem;
                font-weight: 600;
                text-decoration: none;
                position: relative;
                transition: .3s all ease;
            }

            .anc_nav ul li a:hover{
                border-bottom-color: rgba(30, 60, 125, 0);
            }

                .anc_nav ul li a::after{
                    content: "";
                    display: block;
                    width: 1rem;
                    height: 1rem;
                    background-image: url('../shared/icon/icon_arr5.png');
                    background-size: contain;
                    background-repeat: no-repeat;
                    position: absolute;
                    left: calc(50% - 0.5rem);
                    bottom: -0.75rem;
                    transition: .3s all ease;
                    opacity: 0;
                    transform: translateY(-0.25rem);
                }

                .anc_nav ul li a:hover::after{
                    opacity: 1;
                    transform: translateY(0);
                }




/*page_title*/
.page_title{
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
}

    .page_title h2{
        font-size: 2rem;
        font-weight: 700;
        color: #333;
        line-height: 1.4;
        border-bottom: 3px solid rgba(30,60,125,1);
        padding: 0 0.2em;
    }


/*page_body*/
.page_body{
    min-height: 400px;
    line-height: 2;
    width: 972px;
    margin: 4rem auto 8rem;
}

    .page_body h2{
        font-size: 1.8em;
        color: #1e3c7d;
        font-weight: 700;
        margin-top: 2.5em;
        margin-bottom: 0.9em;
        line-height: 1.6;
    }

    .page_body h2.mt0{
        margin-top: 0;
    }


    .page_body h3{
        color: #222;
        font-weight: 700;
        font-size: 1.6em;
        margin-bottom: 0.9em;
        margin-top: 2em;
        line-height: 1.4;
    }

    .page_body p {
        margin: 0 0 1em 0;
    }

    .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.25rem;
                height: 0.25rem;
                display: block;
                background: #666;
                position: absolute;
                top: 0.9em;
                left: 0;
            }

            .page_body table tr td ul li:before{
                top: 0.5em;
            }

    .page_body img{
        max-width:100%;
        height: auto;
    }

    .page_body a{
        color: #2a5c78;
    }

    .page_body a:hover{
        color: #2182b9;
    }

    .page_body a[href^="tel:"]{
        color: #000;
    }

    /*
    .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;
            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;
        }

        .page_body .page_back{
            margin-top: 3em;
            display: flex;
            justify-content: center;
            clear: both;
        }

            .page_body .page_back a{
                display: block;
                color: #222;
                text-decoration: none;
                border-bottom: 1px solid #222;
                font-size: 0.9em;
                font-weight: 500;
                padding: 0.1em 0.5em 0;
                transition: .3s all ease;
            }

            .page_body .page_back a:hover{
                background: rgba(25, 91, 175,0.1);
            }




.page_body hr.tb_sep{
    border: none;
    margin: 2em 0;
}

/*カラム割*/
.column_wrapper {
    display: flex;
}

    .column_wrapper .column_main{
        flex: 1;
        margin-right: 5rem;
    }


    .column_wrapper .column_sub{
        width: 20%;
    }

@media screen and (min-width:1px) and (max-width:1200px) {
    .topicpath{
        width: 100%;
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .content_title{
        width: 100%;
    }

        .content_title p{
            height: 4rem;
            font-size: 4rem;
        }

    .page_nav{
        padding-left: 5vw;
        padding-right: 5vw;
    }

    .page_nav ul li{
        width: auto;
        flex: 1;
    }

}
/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){

    .page_body{
        box-sizing: border-box;
        width: 100%;
        padding: 0 6vw;
    }

}
    
/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {

}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:575px) {
    .topicpath_content_title{
        height: 7.5rem;
        padding-bottom: 1.5rem;
    }

        .topicpath{
            font-size: 0.7rem;
        }

        .content_title{
            padding-left: 3vw;
        }

            .content_title h1{
                font-size: 1.1rem;
                margin-top: 0.5em;
            }

            .content_title p{
                height: 2rem;
                font-size: 2rem;
            }

    .page_nav{
        padding-top: 1rem;
        margin-bottom: 1rem;
    }

        .page_nav ul{
            justify-content: flex-start;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .page_nav ul li{
            flex: auto;
            height: 3rem;
        }

            .page_nav ul li a{
                font-size: 1rem;
            }

            .page_nav ul li a::after{
                content: none;
            }

        
    .anc_nav{
        padding-top: 1.5rem;
        margin-bottom: 1.5rem;
    }

        .anc_nav ul{
            gap: 0.75rem;
        }

        .anc_nav ul li a{
            font-size: 0.94rem;
        }


    .page_title{
        margin-bottom: 2rem;
    }

        .page_title h2{
            font-size: 1.6rem;
        }

    .page_body{
        padding: 0 5vw;
        margin-top: 2rem;
    }

        .page_body h2{
            font-size: 1.4em;
        }

        .page_body h3{
            font-size: 1.3em;
            margin-bottom: 0.7em;
        }

        .page_body p{
            font-size: 1em;
            line-height: 1.6;
        }
    
    .page_body hr.tb_sep{
        margin: 1.5em 0;
    }

}


/* ##########印刷用########## */
@media print{

}