@charset "utf-8";
/*--京pages.css--*/
/* ##########PC########## */
/*----------contents----------*/
.contents{
    /*padding-top: 9rem;*/
    padding-top: 6.5rem;
}
/*
.contents::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-image: url('/shared/bg_pages.png');
    background-size: 1920px auto;
    background-position: center top 9rem;
    background-repeat: no-repeat;
    transition: 1s all ease;
    transition-delay: .1s;
    opacity: 0;
}

.contents.show::before{
    opacity: 1;
}
    */

/*topicpath_content_title*/
.topicpath_content_title{
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 2rem;
    /*height: 11.875rem;*/
    height: 11rem;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
    overflow: hidden;
}

    .topicpath_content_title::before{
        content: "";
        display: block;
        width: 100%;
        height: 8.5rem;
        position: absolute;
        top: 1.75rem;
        left: 0;
        z-index: -1;
        background-image: url(../shared/bg_content_title.png);
        background-repeat: no-repeat;
        background-size: auto 100%;
        background-position: right center;
        transition: .5s all ease;
        transition-delay: 1s;
        opacity: 0;
        transform: translateX(-1rem);
    }

    .topicpath_content_title.show::before{
        opacity: 0.2;
        transform: translateX(0);
    }

    .for_service_detail .topicpath_content_title::before{
        content: none;
    }

    .topicpath{
        box-sizing: border-box;
        position: relative;
        margin-left: 3vw;
        transition: .5s all ease;
        opacity: 0;
    }

    .topicpath_content_title.show .topicpath{
        opacity: 1;
    }

        .topicpath ul{
            font-size: 0.84rem;
            color: #800000;
        }

            .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:first-child a{
                color: #800000;
                font-weight: 500;
            }

            .topicpath ul li a:hover{
                text-decoration: underline;
            }

    .content_title{
        display: flex;
        flex-direction: column;
        align-items: center;
        transition: .5s all ease;
        transition-delay: .3s;
        transform: translateX(-1rem);
        opacity: 0;
        position: relative;
    }

    .topicpath_content_title.show .content_title{
        opacity: 1;
        transform: translateX(0);
    }

        .content_title h1{
            box-sizing: border-box;
            display: flex;
            flex-direction: column-reverse;
            line-height: 1.2;
            width: 100%;
            padding-left: 7vw;
            position: relative;
            z-index: 0;
        }

            .content_title h1 .lbl_ja{
                font-weight: 700;
                font-size: 1.9rem;
                color: #333;
            }


            .content_title h1 .lbl_en{
                font-family: "Cardo", serif;
                color: #800000;
                font-size: 1.2rem;
                font-weight: 600;
                margin-bottom: 0.5em;
            }

        .content_title p{
            line-height: 1.8;
            margin-top: 1.5em;
            font-size: 1.05em;
            max-width: 950px;
            font-weight: 500;
        }

        .content_title .ct_backpage{
            position: absolute;
            z-index: 1;
            top: 2rem;
            right: 7vw;
            font-size: 0.9rem;
        }

            .content_title .ct_backpage a{
                display: inline-block;
                color: #111;
                text-decoration: none;
                border-bottom: 1px solid #aaa;
                padding-bottom: 0.2em;
                transition: .4s all ease;
            }

            .content_title .ct_backpage a:hover{
                border-bottom-color: #800000;
                color: #800000;
            }

                .content_title .ct_backpage a::before{
                    font-family: FontAwesome;
                    content:"\f0e2";
                    margin-right: 0.5em;
                    display: inline-block;
                    transition: .4s all ease;
                }

                .content_title .ct_backpage a:hover::before{
                    transform: rotate(-45deg);
                }

/*content_body*/
.content_body{
    /*サイズ感は仮*/
    max-width: 1200px;
    margin: 0 auto;
    /*padding-bottom: 8rem;*/
    padding-bottom: 4rem;
    transition: .5s all ease;
    transition-delay: .7s;
    opacity: 0;
}

.content_body.show{
    opacity: 1;
}

/*page_title*/
.page_title{
    display: flex;
    justify-content: center;
    margin-bottom: 4em;
}

    .page_title h2{
        font-size: 1.6em;
        font-weight: 600;
    }

/* アンカーリンクナビ */
.page_nav{}

    .page_nav ul{
        display: flex;
        justify-content: flex-end;
    }

    .page_nav ul li{
        margin-right: 2.5rem;
    }

    .page_nav ul li::before{
        content: none;
    }

        .page_nav ul li a{
            color: #666;
            padding-left: 1.5em;
            font-weight: 500;
            text-decoration: none;
            transition: .4s all ease;
            position: relative;
        }
        
        .page_nav ul li:hover a{
            color: #800000;
        }

        .page_nav ul li a::before{
            content: "";
            display: inline-block;
            width: 0.9375rem;
            height: 0.875rem;
            position: absolute;
            top: clac(50% - 0.4325rem);
            left: 0;
            /*色変更は　fill="%23[16進数]"　部分で設定*/
            background: none;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23666666" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30"><path d="M15.58,3.46c-0.85-0.71-2.11-0.59-2.82,0.26s-0.59,2.11,0.26,2.82L20.78,13H4.3c-1.1,0-2,0.9-2,2s0.9,2,2,2h16.48 l-7.76,6.46c-0.85,0.71-0.96,1.97-0.26,2.82c0.4,0.47,0.96,0.72,1.54,0.72c0.45,0,0.91-0.15,1.28-0.46L29.43,15L15.58,3.46z"/></svg>');
            background-repeat: no-repeat;
            background-size: contain;
            z-index: 1;
            transition: .4s all ease;
            transform: rotate(180deg);
        }

        .page_nav ul li.anc a::before{
            transform: rotate(90deg);
        }
        
        .page_nav ul li:hover a::before{
            /*色変更は　fill="%23[16進数]"　部分で設定*/
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23800000" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30"><path d="M15.58,3.46c-0.85-0.71-2.11-0.59-2.82,0.26s-0.59,2.11,0.26,2.82L20.78,13H4.3c-1.1,0-2,0.9-2,2s0.9,2,2,2h16.48 l-7.76,6.46c-0.85,0.71-0.96,1.97-0.26,2.82c0.4,0.47,0.96,0.72,1.54,0.72c0.45,0,0.91-0.15,1.28-0.46L29.43,15L15.58,3.46z"/></svg>');
        }

/*page_body*/
.page_body{
    min-height: 400px;
    line-height: 1.8;
}
    .page_body h2{
        /*
        display: flex;
        justify-content: flex-start;
        */
        font-size: 1.6em;
        font-weight: 600;
        margin: 1em 0;
        color: #333;
    }

    .page_body h2.mt0{
        margin-top: 0;
    }

        .page_body h2 .lbl{
            display: block;
            border-bottom: 3px solid #e07893;
            padding-bottom: 0.15em;
        }

    .page_body h3{
        font-size: 1.34em;
        font-weight: 600;
        margin-bottom: 0.7em;
        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 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.375rem;
                height: 0.375rem;
                display: block;
                background: #666;
                position: absolute;
                top: 0.75em;
                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: #222;
        text-decoration: none;
        pointer-events: none;
    }

    .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;
        }

.anc_nav{
    display: flex;
    justify-content: center;
    margin-bottom: 4rem;
}

    .anc_nav ul{
        margin: 0;
        padding: 0;
        display: flex;
        font-size: 1.1em;
    }

        .anc_nav ul li{
            margin: 0 1.5em 0 0;
            padding: 0;
            border-bottom: 3px solid #78aab9;
        }

        .anc_nav ul li:last-child{
            margin-right: 0;
        }

            .anc_nav ul li:before{
                content: none;
            }

            .anc_nav ul li a{
                display: block;
                color: #333;
                font-family: 'Noto Sans JP', sans-serif;
                text-decoration: none;
                padding: 0.4em 1em;
            }

            .anc_nav ul li a:hover{
                color: #333;
            }

                .anc_nav ul li a:before{
                    font-family: FontAwesome;
                    content:"\f0d7";
                    display: inline-flex;
                    justify-content: center;
                    align-items: center;
                    font-size: 1.2em;
                    width: 1em;
                    height: 1em;
                    line-height: 1;
                    position: absolute;
                    bottom: -1em;
                    left: calc(50% - 0.5em);
                    color: #78aab9;
                    font-weight: normal;
                    transition: .3s all ease;
                    opacity: 0;
                    transform: translateY(-0.25rem);
                }

                .anc_nav ul li a:hover:before{
                    opacity: 1;
                    transform: translateY(0);
                }


/*content_footer*/
.content_footer{}

    .contents_nav{
        max-width: 1100px;
        margin: 0 auto;
        padding: 3rem 0;
    }

        .contents_nav ul{
            display: flex;
            flex-wrap: wrap;
            line-height: 1.4;
        }

            .contents_nav ul li{
                width: calc((100% - 3rem) / 3);
                margin: 0 1.5rem 0.5rem 0;
            }

            .contents_nav ul li:nth-child(3n){
                margin-right: 0;
            }

                .contents_nav ul li a{
                    display: block;
                    color: #222;
                    text-decoration: none;
                    padding: 0.8em 0.8em 0.8em 3.5rem;
                    font-weight: 500;
                    position: relative;
                    transition: .4s all ease;
                }

                .contents_nav ul li a:hover{
                    
                }

                .contents_nav ul li.active a{
                    color: #800000;
                }

                    .contents_nav ul li a::before{
                        content: "";
                        display: inline-block;
                        width: 0.9375rem;
                        height: 0.875rem;
                        position: absolute;
                        top: 1rem;
                        left: 1rem;
                        /*色変更は　fill="%23[16進数]"　部分で設定*/
                        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23555555" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30"><path d="M15.58,3.46c-0.85-0.71-2.11-0.59-2.82,0.26s-0.59,2.11,0.26,2.82L20.78,13H4.3c-1.1,0-2,0.9-2,2s0.9,2,2,2h16.48 l-7.76,6.46c-0.85,0.71-0.96,1.97-0.26,2.82c0.4,0.47,0.96,0.72,1.54,0.72c0.45,0,0.91-0.15,1.28-0.46L29.43,15L15.58,3.46z"/></svg>');
                        background-repeat: no-repeat;
                        background-size: contain;
                        z-index: 1;
                        transition: .4s all ease;
                    }

                    .contents_nav ul li.active a::before{
                        /*色変更は　fill="%23[16進数]"　部分で設定*/
                        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23800000" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30"><path d="M15.58,3.46c-0.85-0.71-2.11-0.59-2.82,0.26s-0.59,2.11,0.26,2.82L20.78,13H4.3c-1.1,0-2,0.9-2,2s0.9,2,2,2h16.48 l-7.76,6.46c-0.85,0.71-0.96,1.97-0.26,2.82c0.4,0.47,0.96,0.72,1.54,0.72c0.45,0,0.91-0.15,1.28-0.46L29.43,15L15.58,3.46z"/></svg>');
                        transform: rotate(-90deg);
                    }


                    .contents_nav ul li a::after{
                        content: "";
                        display: block;
                        width: 100%;
                        height: 0;
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        z-index: 0;
                        border-bottom: 1px solid rgba(0,0,0,0.15);
                        transition: .3s all ease;
                    }

                    .contents_nav ul li a:hover::after{
                        border-bottom-color: rgba(0,0,0,0.5);
                    }

/*カラム割*/
.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:1300px) {
    .content_body{
        /*
        padding-right: 8vw;
        padding-left: 8vw;
        */
        padding-right: 6vw;
        padding-left: 6vw;
    }
}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
    .contents{
        padding-top: 6.7rem;
    }

    .contents::before{
        background-size: 100% auto;
    }

    .topicpath_content_title{
        height: 9rem;
        padding-bottom: 0.5rem;
    }

        .topicpath_content_title::before{
            height: 74%;
            background-position: right -380% center;
            top: auto;
            bottom: 0;
        }

        .content_title{
            padding-right: 5vw;
            padding-left: 5vw;
        }

            .content_title h1{
                padding-left: 0;
            }

            .content_title .ct_backpage {
                top: 2.5rem;
                right: 5vw;
                font-size: 0.8rem;
            }

    .contents_nav{
        padding-right: 4vw;
        padding-left: 4vw;
    }

    .contents_nav ul li {
        width: calc((100% - 1.5rem) / 2);
    }

    .contents_nav ul li:nth-child(3n) {
        margin-right: 1.5rem;
    }

    .contents_nav ul li:nth-child(2n) {
        margin-right: 0;
    }

    .page_nav ul {
        flex-wrap: wrap;
    }

    .page_nav ul li{
        margin-right: 1em;
        margin-bottom: 0.4em;
    }


}
    
/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {

}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    .contents{
        /*padding-top: 20vw;*/
        padding-top: 16vw;
    }

    .topicpath_content_title{
        height: 7.5rem;
        margin-bottom: 1rem;
        padding-top: 0.5rem;
        padding-bottom: 1rem;
    }

        .topicpath_content_title::before{
            background-position: left 40vw center;
            background-size: auto 76%;
        }

    .topicpath{
        margin-right: 3vw;
        margin-left: 4vw;
        line-height: 1.5;
    }

        .topicpath ul{
            font-size: 0.6rem;
        }

    .content_title{
        padding-right: 9vw;
        padding-left: 9vw;
    }

    .content_title h1 .lbl_ja{
        font-size: 1.6rem;
    }

    .content_title h1 .lbl_en{
        font-size: 0.9rem;
    }

    .content_title .ct_backpage{
        top: -0.5rem;
        right: 1rem;
        font-size: 0.7rem;
    }

    /*contents_nav*/
    .contents_nav{
        padding-top: 1.5rem;
    }

        .contents_nav ul li {
            width: 100%;
            margin-bottom: 0;
            margin-right: 0;
        }

        .contents_nav ul li:nth-child(3n){
            margin-right: 0;
        }

        .contents_nav ul li:nth-child(2n){
            margin-right: 0;
        }

    .page_body a[href^="tel:"]{
        pointer-events: auto;
        color: #3665C9;
        text-decoration: underline;
    }

}


/* ##########印刷用########## */
@media print{

}