@charset "utf-8";
/*--京pages.css--*/
/* ##########PC########## */
.contents{
    /*overflow-x: hidden;*/
}

.content_title_topicpath{
    box-sizing: border-box;
    height: 18.75rem;
    padding-top: 6rem;
    position: relative;
    background-color: var(--base_color1);
}

.content_title_topicpath::before{
    content: "";
    position: absolute;
    width: 24%;
    height:18.75rem;
    background-color: #fff;
    top: 0;
    right: 0;
    z-index: 1;
}

.content_title_topicpath::after{
    content: "";
    position: absolute;
    top: 0;
    left: calc(74% - 1rem);
    z-index: 1;
    width: 50rem;
    aspect-ratio: 1712 / 880;
    background-image: url(../shared/anim_content_title.svg);
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
}

.content_title_bg{
    position:absolute;
    z-index:0;
    left:0;
    bottom:-1.5rem;
    width:100%;
    height:18.75rem;
    background-image: url(../shared/arch.png);
    background-size: 1920px 240px;
    background-position: center bottom;
    background-repeat: no-repeat;
}


.content_title_bg svg{
    width:100%;
    height:100%;
    display:block;
    display: none;
}
/*
.content_title_bg path{
    fill:var(--base_color1);
}*/



/*topicpath*/
.topicpath{
    box-sizing: border-box;
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

    .topicpath ul{
        font-size: 0.84em;
    }

    .topicpath ul li{
        display: inline;
    }

        .topicpath ul li::after{
            font-family: FontAwesome;
            content:"\f105";
            color: #555;
            margin: 0 0.8em 0 1em;
        }

        .topicpath ul li:last-child::after{
            content: none;
        }

        .topicpath ul li a{
            text-decoration: none;
            color: var(--text_color);
        }

        .topicpath ul li a:hover{
            text-decoration: underline;
        }

/*content_title*/
.content_title{
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    margin: 4rem auto 0;
    max-width: 1140px;
    line-height: 1;
    padding-left: 6rem;
    position: relative;
    z-index: 2;
}

    .content_title .lbl_ja{
        display: block;
        font-size: 1.2rem;
        font-weight: 500;
        margin-bottom: 1rem;
    }

    .content_title .lbl_en{
        font-family: var(--font-base_en);
        font-size: 4rem;
        font-weight: 700;
        text-transform: uppercase;
    }

/*トップレベル以外*/
.content_title.ct_sub{
    /*padding-right: 30vw;*/
}

    .content_title.ct_sub .lbl_en{
        font-size: 1.5rem;
        margin-bottom: 1em;
    }

    .content_title.ct_sub .lbl_ja{
        font-size: 2.5rem;
        font-weight: 700;
        margin-bottom: 0;
    }

    .content_title.ct_sub .top_parent{
        position: absolute;
        top: 0;
        right: calc(50% - 18vw);
        z-index: 2;
    }

        .content_title.ct_sub .top_parent a{
            font-weight: 500;
            display: inline-block;
            position: relative;
            transition: .3s all ease;
        }

        .content_title.ct_sub .top_parent a::before{
            font-family: FontAwesome;
            content:"\f111";
            color: var(--main_color3);
            margin-right: 0.5em;
            transition: .3s all ease;
        }

        .content_title.ct_sub .top_parent a:hover{
            color: var(--main_color3);
        }

        .content_title.ct_sub .top_parent a::after{
            content: "";
            width: 100%;
            position: absolute;
            left: 0;
            bottom: -0.3em;
            border-bottom: 1px solid var(--main_color3);
            opacity: 0;
            transition: .3s all ease;
        }

        .content_title.ct_sub .top_parent a:hover::after{
            opacity: 1;
        }





    /*page_title*/
    .index .page_title{
        display: none;
    }


.content_body{
    position: relative;
    z-index: 1;
    /*padding-bottom: 5rem;*/
}

/*column_wrapper*/
.column_wrapper{
    box-sizing: border-box;
    display: flex;
    flex-direction: column-reverse;
    margin: 0 auto;
    max-width: 1100px;
    /*padding: 0 2.5rem;*/
    /*padding: 0 3rem;*/
    padding: 0 1rem;
}

.contents.index .column_wrapper{
    /*padding: 0;*/
}

    .column_wrapper .column_main{
    }

    .column_wrapper .column_main .page_catch_img{
        border-radius: 1rem;
        overflow: hidden;
    }

        .column_wrapper .column_main .page_catch_img img{
            max-width: 100%;
            height: auto;
        }

    .column_wrapper .column_main .index_page_title{
        margin-bottom: 2rem;
    }

    .column_wrapper .column_main .index_page_title h1{
        font-family: var(--font_family2);
        font-size: 2.2rem;
        font-weight: 400;
        position: relative;
        z-index: 1;
    }

/*2カラム*/
.column_wrapper.two_col{
    flex-direction: row;
    padding: 0;
}

    .column_wrapper.two_col .column_main{
        flex: 1;
    }

    .column_wrapper.two_col .column_sub{
        width: 15rem;
        margin-left: 2.5rem;
        position: relative;
    }

.sub_catch_img_box{
    width: 64.75rem;
    margin: 0 auto 3rem auto;
    border-radius: 1.5rem;
    overflow: hidden;
}

.sub_catch_img_box img{
}

.page-nav {
    width: auto;
    max-width: 1068px;
    margin: 3rem auto 4rem auto;
}

.sub_catch_img_box + .page-nav{
    margin: 0 auto 3rem;
}

.page-nav__inner {
}

.page-nav ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0 5.625rem;
}

.page-nav ul li {
    position: relative;
}

.page-nav ul li::before{
    content:"";
    width: 3.75rem;
    height: 2px;
    background: #d9d9d9;
    position: absolute;
    top: calc(50% - 1px);
    right: -4.6875rem;
}

.page-nav ul li:last-child::before{
    display: none;
}

.page-nav ul li a {
    display: flex;
    align-items: center;
    color: #999;
    transition: .3s all ease;
}

.page-nav ul li a:hover {
    color:var(--main_color3);
}

.page-nav ul li a::before {
  content: "";
  display: inline-block;
  margin-right: 0.5rem;
  width: 0.75rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #999;
  transition: .3s all ease;
  flex-shrink: 0;
}

.page-nav ul li a:hover::before {
  background-color: var(--main_color3);
}

.page-nav ul li.current-menu-item a,
.page-nav ul li.active a{
    color:var(--main_color3);
}

.page-nav ul li.current-menu-item a::before,
.page-nav ul li.active a::before{
  background-color: var(--main_color3);
}


/*page_title*/
.page_title{
    /*margin-bottom: 3.5rem;*/
    display: none;
}

/*
    .page_title h2{
        display: flex;
        justify-content: center;
        line-height: 1.4;
        position: relative;
        font-size: 1.8rem;
        font-weight: 700;
        padding-top: 1.3rem;
    }

    .page_title h2::before{
        content: "";
        display: inline-block;
        background-image: url(../shared/fig_step_up.png);
        background-repeat: no-repeat;
        background-size: contain;
        width: 15rem;
        aspect-ratio: 3 / 1;
        position: absolute;
        top: 0;
        left: 0;
    }
*/

/*汎用見出し2 日本語＋英語*/
.sub_ttl{
    line-height: 1;
    margin-bottom: 1.5rem;
}

.sub_ttl h2{
    display: block;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.sub_ttl .lbl_en{
    font-family: var(--font-base_en);
    font-weight: 700;
    font-size: 3rem;
}

/*page_body*/
.page_body_wrapper{
    /*display: flex;*/
}

.page_body{
    margin: 0 1rem;
    min-height: 400px;
    line-height: 2;
    flex: 1;
}


    .page_body h3{
        font-size: 1.6em;
        font-weight: 600;
        margin: 2.5em 0 1em 0;
        line-height: 1.4;
        position: relative;
        clear: both;
        color: var(--color-heading-en);
    }


    .page_body h4{
        font-size: 1.3em;
        font-weight: 600;
        margin: 2.2em 0 1em 0;
        line-height: 1.4;
        position: relative;
        padding: 0 0 0 1.3em;
    }

        .page_body h4::before{
            font-family: FontAwesome;
            content:"\f111";
            display: inline-block;
            position: absolute;
            top: 0;
            left: 0;
            font-weight: normal;
            color: #e55b32;
        }

    .page_body h3 + h4{
        margin-top: 1.5em;
    }

    .page_body h5{
        font-size: 1.2em;
        font-weight: 600;
        margin: 1.5em 0 0.3em 0;
        line-height: 1.3;
        clear: both;
        color: var(--color-heading-en);
    }


    .page_body h6{
        font-size: 1.05em;
        font-weight: 600;
    }

    .page_body p {
        margin: 0 0 1em;
    }

    .page_body .wp-block-image figure {
        margin-bottom: 1em;
    }

    .page_body .wp-block-image figure.alignleft {
        margin-right: 2em;
    }

    .page_body .wp-block-image figure.alignright {
        margin-left: 2em;
    }

    .page_body ol,
    .page_body ul{
        line-height: 1.6;
    }

    .page_body ol{
        list-style: decimal;
        margin: 1em;
    }

        .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: 0.85em;
            position: relative;
        }

            .page_body ul li:before{
                content: "";
                width: 0.25rem;
                height: 0.25rem;
                border-radius: 50%;
                display: block;
                background: #555;
                position: absolute;
                top: 0.6em;
                left: 0;
            }

            .page_body ul.list_kome li{
                padding-left: 1.3em;
            }

            .page_body ul.list_kome li:before{
               content: "※";
               width: auto;
               height: auto; 
               border-radius: 0;
               display: inline-block;
               top: 0;
               background: none;
            }
        /*
        .page_body ul li a,
        .page_body ol li a{
            color: #222;
            transition: .3s all ease;
        }

        .page_body ul li a:hover,
        .page_body ol li a:hover{
            color: #086eb6;
        }
        */

        .page_body ul li ol,
        .page_body ul li ul,
        .page_body ol li ul,
        .page_body ol li ol{
            margin: 0;
        }

        .page_body ul li ol > li{
            padding-left: 0;
            margin-left: 0.3em;
        }

        .page_body ul li ol > li::before{
            content: none;
        }

    .page_body img{
        max-width:100%;
        height: auto;
    }

    .page_body a{
        color: #003d84;
        text-decoration: underline;
    }

    .page_body hr{
        border: none;
        border-bottom: 2px solid #ebecec;
        margin: 3em 0;
    }


    /*画像の時には表示しない*/
    .page_body a[target="_blank"]:has(> img):not(:has(> :not(img)))::after {
        content: none;
      }

    /*電話番号リンクをPCでは無効化*/
    .page_body a[href^="tel"]{
        pointer-events: none;
        color: inherit;
        text-decoration: none;
    }

    .page_body table{
        margin: 0.5em 0;
        line-height: 1.6;
        border-top: 2px solid #7f7f7f;
        /*border-collapse: separate !important;*/
        position: relative;
    }
    
        .page_body table th,
        .page_body table td{
            border: 1px solid #ccc !important;
            padding: 0.8em;
        }

        .page_body table th:first-child,
        .page_body table td:first-child{
            border-left-color: rgba(255,255,255,0) !important;
        }

        .page_body table th:last-child,
        .page_body table td:last-child{
            border-right-color: rgba(255,255,255,0) !important;
        }

        .page_body table th{
            text-align: center;
            background: rgba(0,0,0,0.03);
            font-weight: 500;
        }

        .page_body .wp-block-table thead{
            border-bottom: 2px solid #7f7f7f;
        }

        .page_body table thead tr:first-child th,
        .page_body table tbody tr:first-child th{
            border-top: none !important;
        }


        .page_body table tbody th,
        .page_body table tbody td{
        }

        .page_body table tbody th{
            text-align: left;
        }

        .page_body .centering table tbody th{
            text-align: center;
        }

        .page_body table tbody td{
            background: #fff;
        }

        .page_body strong{
            font-weight: 600;
        }

        .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{
                
            }

.page-nav-bottom{
    margin-top: 5rem;
    border-top: 1px solid rgba(0,0,0,0.1);
    padding: 1.5rem 1rem 0 1rem;
}

    .page-nav-bottom_inner ul{
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem 1rem;
    }

        .page-nav-bottom_inner ul li{
            width: calc((100% - 2rem) / 3);
        }

        .page-nav-bottom_inner ul li a{
            display: flex;
            position: relative;
            padding: 0.5em 2.5rem 0.5em 0.75em;
            border-bottom: 1px solid rgba(76,58,56,0.1);
        }

        .page-nav-bottom_inner ul li a:hover{
            background: rgba(76,58,56,0.1);
            transition: .3s all ease;
            color: var(--color-dark-btn);
        }

        .page-nav-bottom_inner ul li.current_page_item a{
            font-weight: 500;
        }

        .page-nav-bottom_inner ul li a::after{
            content: "";
            position: absolute;
            top: calc(50% - 0.75rem);
            right: 0.5rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            width: 1.5rem;
            aspect-ratio: 1 / 1;
            background-color: var(--color-btn-circle);
            background-image: url(../shared/icon_arrow_01.png);
            background-repeat: no-repeat;
            background-size: 1rem auto;
            background-position: center center;
            border-radius: 50%;
        }

        .page-nav-bottom_inner ul li.current_page_item a::after{
            background-color: var(--color-yellow);;
            background-image: url(../shared/icon_arrow_02.png);
            transform: rotate(-90deg);
        }


.nav-links{
    display: flex;
    justify-content: center;
    gap: 0.375em;
    margin: 1.5em 0;
}

    .nav-links .page-numbers{
        box-sizing: border-box;
        width: 2rem;
        height: 2rem;
        background: #eee;
        border: 1px solid rgba(255,255,255,0);
        line-height: 1;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--base_color1);
        border-radius: 0.25rem;
        color: var(--color-text);
        transition: .3s all ease;
    }

    .nav-links .page-numbers:hover{
        border-color: #e55b32;
        background: #fff;
    }

    .nav-links .page-numbers.current{
        background: #e55b32;
        color: #fff;
    }

    .nav-links .page-numbers.dots{
        background: none;
        width: auto;
        border-radius: 0;
    }

    .nav-links .page-numbers.dots:hover{
        background: none;
        border-color: rgba(255,255,255,0);
    }

    .nav-links .page-numbers.prev,
    .nav-links .page-numbers.next{
        background: none;
        width: auto;
        border-color: rgba(255,255,255,0);
        border-radius: 0;
    }

    .nav-links .page-numbers.prev:hover,
    .nav-links .page-numbers.next:hover{
        border-bottom-color: var(--base_color1);
    }

    .nav-links .page-numbers.prev{
        margin-right: 1em;
    }

    .nav-links .page-numbers.next{
        margin-left: 1em;
    }


/*カラム割*/
.column_wrapper.two_c{
    display: flex;
    flex-direction: row;
    gap: 3rem;
}

    .column_wrapper.two_c .column_main{
        width: auto;
        flex: 1;
    }

    .column_wrapper.two_c .column_sub{
        width: 10rem;
    }

        .column_sub .archives_box{
        }

        .column_sub .archives_box dl{
            line-height: 1.5;
            margin-bottom: 2em;
        }

        .column_sub .archives_box dl dt{
            font-weight: 500;
            border-bottom: 2px solid #cbcbcb;
            margin-bottom: 0.8em;
            padding: 0 0.5em 0.3em;
        }

        .column_sub .archives_box dl dd{
            padding: 0 0.5em;
        }

        .column_sub .archives_box dl dd ul{

        }

        .column_sub .archives_box dl dd ul li{
            margin-bottom: 0.3em;    
        }

        .column_sub .archives_box dl dd ul li a{
            color: #111;
            text-decoration: none;
            display: block;
            position: relative;
            padding-left: 1em;
            transition: .3s all ease;
        }

            .column_sub .archives_box dl dd ul li a::before{
                font-family: FontAwesome;
                content:"\f105";
                font-size: 0.9em;
                color: #555;
                display: inline-block;
                position: absolute;
                top: 0.2em;
                left: 0;
            }

        .column_sub .archives_box dl dd ul li a:hover,
        .column_sub .archives_box dl dd ul li a:hover::before{
            color: var(--base_color2);
        }

.yano_contents{
    display: none;
}


@media screen and (min-width:1px) and (max-width:1400px) {
}

@media screen and (min-width:1px) and (max-width:1280px) {

}

@media screen and (min-width:1px) and (max-width:1200px) {

}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
    .topicpath{
        margin-left: 3vw;
    }

    .content_title{
        margin-left: 3vw;
        padding-left: 3vw;
    }

    .page-nav{
        width: 90vw;
        margin-left: auto;
        margin-right: auto;
        margin-top: 5rem;
        margin-bottom: 2rem;
    }

    .sub_catch_img_box + .page-nav{
        margin: 0 auto 3rem;
    }

    .column_wrapper{
        /*
        padding-left: 5vw;
        padding-right: 5vw;
        */
    }

    .content_title_bg{
        background-size: auto 80%;
    }


}
/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {

}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:575px) {
    .sub_catch_img_box{
        width: 90vw;
        margin:0 auto 2rem auto;
        border-radius: 1rem;
        aspect-ratio: 2 / 1;
    }

        .sub_catch_img_box img{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .content_title_topicpath{
        height: 14rem;
        padding-top: 18vw;
    }

    .content_title_topicpath::before{
        height: 17rem;
        width: 32%;
    }

    .topicpath{
        margin-right: 18vw;
    }

    .topicpath ul{
        font-size: 0.7rem;
    }

    .content_title_bg{
        height: 14rem;
        background-size: auto 27.5vw;
        bottom: -0.5rem;
    }

        .content_title{
            margin-top: 1rem;
            margin-left: 7vw;
            padding-left: 0;
        }

        .content_title .lbl_ja,
        .content_title.ct_sub .lbl_en{
            margin-bottom: 0.5rem;
        }

        .content_title .lbl_en{
            font-size: 2.5rem;
        }

        .content_title.ct_sub .lbl_ja{
            font-size: 2.2rem;
        }

        .content_title.ct_sub .top_parent{
            right: 18vw;
        }

        .content_title.ct_sub .top_parent a{
            font-size: 0.9rem;
        }

    .content_title_topicpath::after{
        width: 65vw;
        right: -18vw;
        left: auto;
        top: 15vw;
    }

    .page-nav{
        margin-top: 1rem;
        margin-bottom: 0;
    }

        .page-nav ul{
            gap: 1rem 0.75rem;
            justify-content: flex-start;
            font-size: 1.18em;
            line-height: 1.4;
        }

        .page-nav ul li {
            width: calc((100% - 0.75rem) / 2);
        }

        .page-nav ul li::before{
            content: none;
        }

        .page-nav ul li a{
            align-items: flex-start;
        }

            .page-nav ul li a::before{
                transform: translateY(0.5em);
            }


    .page_title{
        margin-bottom: 2.5rem;
    }

        .page_title h2{
            flex-direction: column;
            align-items: center;
            padding-top: 0;
            font-size: 1.65rem;
        }

        .page_title h2::before {
            width: 10rem;
            position: relative;
            top: auto;
            left: auto;
        }



        .page_body{
            line-height: 1.8;
            margin: 0 5vw;
        }

        .index .page_body{
            /*margin: 0;*/
        }

        .page_body h2{
            font-size: 1.6em;
            background-size: auto 0.8rem;
            margin: 2em 0 1.5em 0;
        }

        .page_body .sub_ttl h2{
            font-size: 1.1rem;
            margin:0 0 0.5rem 0;
        }

        .sub_ttl .lbl_en{
            font-size: 2.3rem;
        }

        .page_body h3{
            font-size: 1.4em;
            margin: 1.5em 0 0.8em 0;
        }

        .page_body h4{
            font-size: 1.15em;
            margin: 1.5em 0 0.7em 0;
        }

        .page_body h5{
            font-size: 1.05em;
            margin: 1em 0 0.4em 0;
        }

        .page_body ul,
        .page_body ol{
            margin: 0.5em 0;
        }

        .page_body hr{
            margin: 2em 0;
        }

        .page_body .sub_page_list ul li{
            font-size: 1.1em;
        }


    .page-nav-bottom_inner ul{
        flex-direction: column;
    }

    .page-nav-bottom_inner ul li{
        width: 100%;
    }


        /*カラム割*/
        .column_wrapper.two_col{
            flex-direction: column;
            padding: 0 5vw;

        }

        .column_wrapper.two_col .column_main{
            flex: initial;
        }

        .column_wrapper.two_col .column_sub{
            width: auto;
            margin-left: 0;
            margin-top: 3em;
        }


        .column_sub .archives_box dl dd ul{
            display: flex;
            flex-wrap: wrap;
            gap: 0 1em;
        }

            .column_sub .archives_box dl dd ul li{
                width: calc((100% - 1em) / 2);
            }

            .column_sub .archives_box dl.archive_year dd ul li{
                width: calc((100% - 3em) / 4);
            }


        /*電話番号リンクをPCでは有効化*/
        .page_body a[href^="tel"]{
            pointer-events: initial;
        }


}


/* ##########印刷用########## */
@media print{
    .column_wrapper{
        width: calc(100% - 4vw);
    }
}