﻿/*@import url(../GlobalNavigationForSP.css);*/


/* ヘッダーをスライドの上に浮かせる調整*/

.header-wrapper {
    position: fixed;
    top: -10px;
    left: 0;
    width: 100%;
    z-index: 10;
}

#headerAreaDef {
    max-width: 1150px;
    box-shadow: 0px 3px 6px rgb(0 0 0 / 16%);
    z-index: 999999 !important;
    position: relative;
    margin: 0 auto;
    background-color: var(--background-color,#fff);
    border-radius: 100px;
    top: 40px;
    height: 110px;
    border: 3px solid #2D7036;
}

.header {
    display: flex;
    justify-content: space-between;
}

.swiperArea {
    margin: 0px !important;
}

.wrap-menu-nav {
    display: flex;
    flex-direction: column;
    width: 700px;
}

.hd_header {
    margin-top: 9px;
}

/* ヘッダーをスライドの上に浮かせるここまで*/



.header {
    max-width: 1100px;
    margin: 0px auto;
    height: 90px;
}

#imgHeader {
    width: 326px;
}

/* ヘッダメニュー表示調整 */
@media screen and (min-width:1001px) {

    #headerAreaDef::before {
        content: '';
        width: 100%;
        height: 90px;
        display: block;
        position: absolute;
        top: 0px; /* ヘッダ上部のボーダー分の調整 */
        z-index: 10001 !important;
    }

    .header {
        position: relative;
        z-index: 10001;
    }
}

@media screen and (max-width:1150px) {
    #imgHeader {
        width: 260px;
        padding-left: 10px;
        margin-left: 0px;
        margin-top: 8px;
    }

    .header {
        justify-content: space-around;
    }
}



@media screen and (max-width:1000px) {

    #headerAreaDef_margin {
        margin-top: 80px !important;
    }

    #imgHeader {
        width: 200px;
        padding-left: 1px;
        margin-left: 0px;
        margin-top: 0px;
    }
}

/* ヘッダーボタンエリア */

@media screen and (max-width:975px) {
    h1 .hd_header {
        font-weight: normal;
        display: inline-block;
        margin-top: 10px;
        margin-left: 20px;
        float: left;
        margin: 0px auto;
        text-align: center;
        position: relative;
        top: 8px;
        left: 0px;
    }

    .head_search {
        top: 80px;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        max-width: 450px;
        width: 100%;
        background: #e8ecef;
        padding: 5px 0px;
        display: none;
    }
}


/* Foreign Language メニュー表示 */
/*
.select-box01 {
    float: left;
    width: 190px;
    max-width: 100%;
    margin: 0px 5px 0px 0px;
    font-size: 1.1em;
}

    .select-box01 .dropmenu {
        *zoom: 1;
        list-style-type: none;
        width: 100%;
        padding: 0;
    }

        .select-box01 .dropmenu img {
            padding-top: 5px;
        }

        .select-box01 .dropmenu:before, .dropmenu:after {
            content: "";
            display: table;
        }

        .select-box01 .dropmenu:after {
            clear: both;
        }

        .select-box01 .dropmenu ul {
            border: 1px solid #575757;
        }

        .select-box01 .dropmenu li {
            position: relative;
            width: 100%;
            float: left;
            margin: 0;
            padding: 0px;
            text-align: center;
        }

            .select-box01 .dropmenu li a {
                display: block;
                margin: 0px;
                padding: 3px 10px;
                text-decoration: none;
                min-height: 20px;
            }

            .select-box01 .dropmenu li ul {
                list-style: none;
                position: absolute;
                z-index: 9999;
                top: 100%;
                left: 0;
                margin: 0;
                padding: 0;
            }

                .select-box01 .dropmenu li ul li {
                    width: 100%;
                }

                    .select-box01 .dropmenu li ul li a {
                        padding: 5px 2px;
                        border-top: 1px solid #575757;
                    }

                        .select-box01 .dropmenu li ul li a.topsub {
                            border-top: none !important;
                        }

            .select-box01 .dropmenu li:hover > a.topmenu {
                border-radius: 3px;
                -webkit-border-radius: 3px;
                -moz-border-radius: 3px;
            }

            .select-box01 .dropmenu li a.topmenu:hover {
                border-radius: 3px;
                -webkit-border-radius: 3px;
                -moz-border-radius: 3px;
            }

        .select-box01 .dropmenu ul img {
            margin-left: 3px;
        }

    .select-box01 #normal li ul {
        left: -1000em;
    }

    .select-box01 #normal li:hover ul,
    .select-box01 #normal ul.focused {
        left: 0em;
    }
*/

.head_btn {
    float: left;
    padding: 3px 20px;
    border-radius: 10px;
    margin: 0px 10px 0px 0px;
}

.Flang {
    float: left;
}

/* サイト内検索 */
#mainSearch {
    margin: 0px 15px 0px 15px;
    float: right;
}

input.searchBox {
    width: 250px;
    margin: 0px auto;
    vertical-align: middle;
}

input.btnSearch {
    margin: 0px;
    padding: 0px;
    vertical-align: middle;
}

/* サイト内検索ver2.0 */
.searchver2-input {
    width: 275px !important;
}

.IZ-select__item {
    text-align: left;
}



/* グローバルナビゲーション */

#GlobalNavigationBlock {
    border-top: 1px solid #649d6a;
    position: relative;
    top: -2px;
}



div#naviContainer {
    width: 100%;
    padding: 0px 0px 0px;
    margin: 0px 0px 0px 0px;
}

div#naviArea {
    max-width: 1100px;
    margin: 0px auto;
    overflow: hidden;
    padding: 0px 0px 0px 0px;
    width: 100%;
}

    div#naviArea a {
        text-decoration: none;
        font-size: 1.1em;
    }

    div#naviArea ul#navi_list {
        display: flex;
        justify-content:space-between;
        width: 100%;
        text-align: center;
        border-collapse: collapse;
        box-sizing: border-box;
        height: 30px;
        margin-top: 13px;
    }

        div#naviArea ul#navi_list li {
            display: table-cell;
            vertical-align: middle;
            text-align: center;
            border-radius: 20px;
            font-size: 1em;
        }

            div#naviArea ul#navi_list li div {
                vertical-align: middle;
                padding: 0px;
            }

            div#naviArea ul#navi_list li a {
                display: block;
                color: var(--text-color,#2d7036);
                padding-right: 12px;
                padding-left: 12px;
            }



            div #naviArea ul#navi_list li img {
                position: relative;
                z-index: 99;
                padding: 0px 0px 0px 0px;
                top: 5px;
                left: -20px;
            }

            div#naviArea ul#navi_list li p {
                display: inline-block;
                line-height: 30px;
                font-weight: 500;
                font-size: 0.95rem;
                position: relative;
            }

            div#naviArea ul#navi_list li{
            }

            div#naviArea ul#navi_list li:hover {
                background-color: var(--background-color,#D9E9DB);
                border: 1px solid #2D7055;
            }

            div#naviArea ul#navi_list li.selected {
            }

                div#naviArea ul#navi_list li.selected a {
                    color: var(--text-color,#2d7036);
                }



            /* ホームのボタン */
            div#naviArea ul#navi_list li#navi_tab_0 div {
                vertical-align: middle;
            }

div#popNaviArea {
    display: block;
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: -1px auto;
    z-index: 99999;
    padding: 0px;
}

    div#popNaviArea ul.g_navi {
        position: absolute;
        max-width: 1100px;
        width: 110%;
        padding: 0px 0px 20px 20px;
        margin: 0px auto 0px auto;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
        background-color: var(--background-color,#FAFBE0);
        border: 3px solid var(--background-color,#2d7036);
        border-radius: 10px;
        top: 21px;
        right: 4px;
    }



div#naviArea ul#navi_list li.now {
    background-color: var(--background-color,#FAFBE0);
}

    div#naviArea ul#navi_list li.now a {
        color: var(--text-color,#2D7055);
    }


div#popNaviArea ul#g_navi_0 {
    border: none;
    padding: 0px;
}

div#popNaviArea li.navi_child {
    width: 30%;
    display: inline-block;
    vertical-align: top;
    padding: 0px 0px 18px 15px;
}

div#popNaviArea h3.navi_child_name {
    margin: 0px 5px;
    padding: 30px 2px 5px 0px;
    font-size: 1em;
    font-weight: bold;
}

    div#popNaviArea h3.navi_child_name a {
        color: var(--text-color,#2d7036) !important;
    }

div#popNaviArea li.navi_child ul {
    padding: 0px 13px;
    margin-top: 0px;
}

div#popNaviArea li.navi_child li {
    font-size: 0.9em;
    line-height: 1.3em;
    padding: 4px 2px 4px 12px;
    margin-top: 8px;
    background-image: url("../../images/ya_red.png");
    background-repeat: no-repeat;
    background-position: 1px 0.6em;
}

    div#popNaviArea li.navi_child li.exsistpic {
        background-image: none;
    }

div#popNaviArea li.navi_child img {
    margin-right: 3px;
}

div#popNaviArea li.navi_child a {
    display: table-cell;
    vertical-align: middle;
    color: var(--text-color,#2d7036) !important;
    position: relative;
    padding-left: 14px;
    display: block;
}

    div#popNaviArea li.navi_child a::before {
        content: '';
        position: absolute;
        top: 5px;
        left: -16px;
        width: 18px;
        height: 18px;
        background: url(../../images/top1/arrow-orange.svg) no-repeat;
    }


div#popNaviArea li.navi_type_2 {
    width: auto;
    display: block;
}

    div#popNaviArea li.navi_type_2 li {
        display: inline-block;
        width: 23%;
        vertical-align: middle;
    }
/* 親メニュー（大分類） */
div#popNaviArea .parentMenu {
    width: 100%;
    float: left;
    margin: 8px auto;
}

    div#popNaviArea .parentMenu .parentlink {
        margin: 0px 0px 0px 20px;
        float: left;
        font-weight: bold;
    }

    div#popNaviArea .parentMenu .closelink {
        margin: 0px 20px 0px 0px;
        float: right;
    }
/* 親メニュー（中分類） */
div#popNaviArea .navi_child .close {
    display: none;
}

div#popNaviArea .navi_child .childlink {
    background: none;
    padding: 0px 2px 0px 0px;
}

.noChild {
    background: none !important;
}


.SP_search {
    display: none;
}

/*:::::::::::::::::::::::::
 * レスポンシブル用
 *::::::::::::::::::::::::*/
@media screen and (max-width:1190px) {
    h1 .hd_header {
        line-height: 1em;
        float: left;
    }

    #headerMenu {
    }

    .header_bottom img {
        display: none;
        height: 0px;
    }
}

@media screen and (max-width:975px) {
    h1.hd_header {
        float: none;
        top: 7px;
        left: 0px;
    }
}

@media screen and (min-width:975px) {
    #headMenu, #naviContainerSP {
        display: none !important;
    }
}

@media screen and (max-width:1080px) {
    #hd_header img {
        margin-left: 10px;
        max-width: 400px;
    }
}

@media screen and (max-width:1000px) {
    .headerMenu {
        display: none;
    }
}

/* スマホ用 */
@media screen and (max-width:1000px) {

    #GlobalNavigationBlock {
        display: none;
    }

    #headerAreaDef {
        position: absolute;
        top: 20px;
        width: 240px; 
        height: 74px;
        left: 0;
        right: 0;
        margin: 0 auto; 
        text-align: left;
    }



    #headMenu img {
        width: 50px;
    }

    #navimenu {
        display: none !important;
    }

    .Navigation, #naviContainer, .headerMenu, .headerMenu02 {
        display: none;
    }

    .btn_bar {
        display: none !important;
    }

    #keepSavePage-container {
        display: none !important;
    }

    /* グローバルナビゲーション */
    #headMenu {
        display: block;
        position: absolute;
        right: 2px;
        top: 0px;
        width: 55px;
    }

    .header_bottom {
        margin: 0px auto;
        height: 0px;
        padding: 0px;
        position: unset;
        z-index: 99;
        text-align: center;
    }

    .SP_search {
        display: block;
        position: absolute;
        right: 58px;
        top: 15px;
        width: 35px;
        font-size: 1.7em;
    }


    #naviAreaSP {
        padding: 6px;
        background-color: #0f7ead !important;
    }

    #navi_listSP {
        background: #0f7ead;
    }




    div#naviAreaSP a {
        display: block;
        color: #ffffff;
        padding: 10px;
        background: url("../../images/top1/ya_sp.png") no-repeat 98% center;
        background-size: 15px 15px;
        text-decoration: none;
        border-bottom: 1px dotted #ffffff;
    }

    div#naviAreaSP ul#navi_listSP li a {
        color: #ffffff;
    }

    #header_img {
        top: 0px;
    }



    #imgHeader {
        margin-left: 13px;
    }
}

@media screen and (max-width:767px) {
    #header {
        text-align: left;
        padding: 0px 0px 0px 0px;
    }
}

@media screen and (max-width:767px) {

    #imgHeader {
        width: 170px;
        margin-left: 12px;
    }

    .hd_header {
        margin-top: 7px;
    }

    .header {
        height: 60px;
    }


    #headerAreaDef {
        max-width: 210px;
        height: 60px;
    }

}

    @media screen and (max-width:599px) {
        #header img {
            margin-left: 5px;
            max-width: 100%;
        }

        .search_item img {
            max-width: 150px;
            width: 100%;
        }
    }

    .siteSearchArea .searchver2-input {
        height: 35px;
        max-width: 315px;
    }

    /* サブサイトハンバーガーメニュー内行政トップボタン*/
    .topLink {
        display: none;
    }



    /* コムヘッダー色変更部分をこのあたりに書く*/

    .overlay_acc, #accessibility, #areabtm_acc {
        background-color: var(--background-color, transparent);
    }


    .btn_kinkyu, .btn_rtntop, .btn_accessibility, .btn_sagasu, .btn_Languages {
        color: var(--text-color,#2d7036);
        fill: #2d7036;
    }

        .btn_accessibility:hover {
            color: var(--text-color,#2d7036) !important;
            background-color: initial !important;
            fill: var(--text-color,#2d7036);
            position: relative;
            top: -3px;
            right: 1px;
        }

        .btn_Languages:hover {
            color: var(--text-color,#2d7036) !important;
            background-color: initial !important;
            fill: var(--text-color,#2d7036);
            position: relative;
            top: -2px;
            right: 1px;
        }

        .btn_sagasu:hover {
            color: var(--text-color,#2d7036);
            fill: var(--text-color,#2d7036);
            background-color: var(--background-color,#E5D3C1);
        }

    .bootstrap-scope .IZ-select .IZ-select__input {
        border: 1px solid #2d7036 !important;
    }



    .btn_accessibility {
        display: flex;
        width: 106px;
        height: 36px;
        font-weight: 500;
        color: var(--text-color,#2d7036);
        margin-right: 16px;
        position: relative;
        top: -4px;
    }

        .btn_accessibility svg {
            width: 36px;
            position: relative;
            top: -7px;
            left: -1px;
        }

    .btn_Languages {
        display: flex;
        width: 106px;
        height: 36px;
        font-weight: 500;
        color: var(--text-color,#2d7036);
        position: relative;
        top: -3px;
    }

        .btn_Languages svg {
            width: 30px;
            position: relative;
            top: -8px;
            left: -4px;
        }


    .link_maintop_area {
        float: left;
        display: block;
        min-width: 120px;
        z-index: 10001;
        padding-right: 30px;
    }

    a.link_maintop {
        display: block;
        width: 140px;
        height: 34px;
        transition-duration: 0.3s;
        text-decoration: none;
        box-sizing: border-box;
        border-radius: 50px;
        padding-top: 5px;
        padding-left: 16px;
        position: relative;
    }


        a.link_maintop::before {
            content: '';
            position: absolute;
            bottom: 8px;
            left: 11px;
            width: 18px;
            height: 18px;
            /* ここがアイコンの色（通常） */
            background-color: #e1758b;
            /* SVGを“型”として使う */
            -webkit-mask: url(../../images/kouiki/icon-top.svg) no-repeat center / contain;
            mask: url(../../images/kouiki/icon-top.svg) no-repeat center / contain;
            transition: background-color .3s;
        }

        a.link_maintop:hover::before {
            background-color: #FB8053;
        }


    a.link_maintop {
        background-color: var(--background-color,#fff);
        color: #2d7036;
    }


    .link_maintop img {
        width: 18px;
    }

    .link_maintop img {
        margin-right: 7px !important;
    }


    .btn_bar {
        width: 45px;
        height: 166px;
        position: fixed;
        top: 260px;
        right: 0px;
        border: 2px solid #e1758b;
        border-radius: 10px 0px 0px 0px;
        z-index: 100;
        height: 180px;
        background-color: #fff;
    }

        .btn_bar a {
            writing-mode: vertical-rl;
            font-weight: bold;
            color: #2d7036 !important;
            text-decoration: none;
            display: block;
            letter-spacing: 0.3em;
            padding-left: 7px;
            padding-top: 13px;
            padding-bottom: 5px;
        }

        .btn_bar img {
            width: 27px;
            padding-bottom: 8px;
        }


    /* コムヘッダー色変更部分*/

    #accessibility .acc_wp, .language_wrap {
        border-radius: 5px !important;
    }


    #area_languages {
        width: 100%;
        margin: 0px auto;
        display: none;
        background-color: var(--background-color, transparent) !important;
        box-shadow: initial !important;
    }

    .overlay {
        background-color: var(--background-color, rgba(232, 225, 187,0.95));
    }

    .mokuteli_btn {
        width: 180px;
        padding: 15px 5px;
        border-radius: 10px;
        background-color: var(--background-color,#ffffff);
        border: 3px solid #E1758B;
    }

    #navimenu_close span, #searchMenu_close span {
        color: #0058af;
        color: #ffffff;
        fill: var(--text-color,#2d7036);
    }

    .mokuteki_wrap .mokuteki_title {
        font-size: 1.8em;
        text-align: center;
        color: var(--text-color,#2d7036);
    }

    .siteSearchArea .svg-inline--fa.fa-w-16 {
        color: #2d7036;
        padding: 0px;
        font-size: 1.8rem;
    }

    .mokuteli_btn svg {
        fill: #E1758B !important;
    }

    .bootstrap-scope .input {
        min-width: 210px !important;
        margin-right: 10px !important;
    }




    .bootstrap-scope .IZ-select[data-v-7eb55c] {
        height: 30px !important;
    }

    .headerMenu {
        position: relative !important;
        right: -73px;
        width: 462px;
        top: 3px !important;
    }


    /* コムヘッダー色変更部分*/

    /*
.sagasulist > li::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 1em;
    background-image: url("../../images/arrow_left-pink.svg") !important;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: relative;
    color: #E1758B !important;
    left: -60px;
    top: 25px;
}*/

    #acc_title {
        background-color: var(--background-color,#FBFBFB);
        color: var(--text-color,#2d7036);
    }

    .change_title {
        color: var(--text-color,#2d7036);
    }

    #accmenu_close {
        color: var(--text-color,#2d7036) !important;
        fill: var(--text-color,#2d7036) !important;
    }

    .lang_title {
        background-color: var(--background-color,#FBFBFB);
        color: var(--text-color,#2d7036);
    }

    ul.sub-menu li {
        background-image: url("../../images/arrow_circle_right-pink.svg") !important;
    }

    .languages_close a {
        color: var(--text-color,#2d7036) !important;
        fill: var(--text-color,#2d7036) !important;
    }



    .btn_bar {
        width: 45px;
        height: 166px;
        position: fixed;
        top: 260px;
        right: 0px;
        border: 2px solid #3B8D45;
        border-radius: 10px 0px 0px 0px;
        z-index: 100;
        height: 268px;
        background-color: var(--background-color,#fff);
    }

        .btn_bar a {
            writing-mode: vertical-rl;
            font-weight: bold;
            color: var(--text-color,#2D7036) !important;
            text-decoration: none;
            display: block;
            letter-spacing: 0.3em;
            padding-left: 10px;
            padding-top: 20px;
            padding-bottom: 5px;
        }

        .btn_bar img {
            width: 27px;
            padding-bottom: 8px;
        }

    #keepSavePage-container {
        display: none;
    }

#g_navi_2 {
    box-shadow: none !important;
    border: none !important;
}


    /* パネルを後ろからじわっと表示*/
    .active_panel {
        display: block !important;
        height: auto !important;
        opacity: 0; /* 最初は透明 */
        padding: 30px 0px;
        position: absolute !important;
        z-index: 9999;
        animation: comm_toggle-fade-in 0.5s ease forwards;
    }


    @keyframes comm_toggle-fade-in {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }
#navi_tab_3::after, #navi_tab_4::after, #navi_tab_36::after, #navi_tab_42::after {
    content: "";
    position: absolute;
    bottom: -20px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 12px solid #2d7036;
    border-bottom: none;
    opacity: 0;
    transition: opacity 0s !important;
    pointer-events: none;
    z-index: 10;

}

/* ホバー時に表示させるためのセレクタ */
/* navi_tab_3, 4, 36, 42 共通の設定にクラスを追加 */
#navi_tab_3:hover::after, #navi_tab_3.selected::after,
#navi_tab_4:hover::after, #navi_tab_4.selected::after,
#navi_tab_36:hover::after, #navi_tab_36.selected::after,
#navi_tab_42:hover::after, #navi_tab_42.selected::after {
    opacity: 1;
    transition: opacity 0.3s ease !important;
}

/* 1. 透明な「橋」を作る（判定用エリア） */
#navi_tab_3::before, #navi_tab_4::before, #navi_tab_36::before, #navi_tab_42::before {
    content: "";
    position: absolute;
    top: 100%; /* タブのすぐ下から開始 */
    left: 50%;
    transform: translateX(-50%);
    width: 100%; /* タブの幅いっぱいの判定 */
    height: 30px; /* メニューまでの隙間を埋める高さ（適宜調整） */
    background: transparent; /* 透明なので見えません */
    z-index: 5;
    display: none; /* 初期状態はオフ */
}

/* ホバー中だけ判定エリアを有効にする */
#navi_tab_3:hover::before, #navi_tab_4:hover::before,
#navi_tab_36:hover::before, #navi_tab_42:hover::before {
    display: block;
}

div#popNaviArea li.navi_child a:hover {
    text-decoration: underline !important;
}