@charset "utf-8";

/* CSS Document */
* {
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto !important;
}

body {
    height: 100%;
}

.goog-te-menu-value>span {
    font-size: 100% !important;
}

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}

#to_page_top>a {
    background: rgba(0, 0, 0, 0) url("/img/fukkou/to_page_top.png") no-repeat scroll 0 0;
}

.wmplayer_img span.external_link_text,
.pdf_img span.external_link_text {
    display: none;
}

.okuma1024 {
    width: 1024px;
    margin: 0 auto;
    clear: both;
}

@keyframes my-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

body#siteIndex2-fukkou div#fukkouLayout.gl.gl-vertical div.gl-cell.gl-fill div.gl.gl-vertical.gl-highlight div.gl-cell div.gl.gl-fill div.gl-cell.gl-lg-9 div.gl-inner {
    /*「my-fade-in」で状態変化するように指定 */
    animation-name: my-fade-in;
    animation-duration: 3s;
}

.fukkouLower {
    max-width: 820px;
    margin: 20px auto 0;
    clear: both;
    background-color: #FFF;
    padding: 30px;
}

#siteIndex2-fukkou .fukkouLower {
    box-shadow: 4px 3px 0px rgb(0, 0, 0, 0.1);
}

#siteIndex2-fukkou .fukkouLower #main_body {
    background-color: #FFF;
    clear: both;
    margin-top: 2rem;
}

#fukkouLayout {
    /*background-image: url(/img/fukkou/bg_ph.jpg);*/
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*height: 100%;*/
    background-attachment: fixed;
}

#header {
    background-color: #FFF;
    text-align: center;
    overflow: hidden;
    padding: 5px 0 8px;
}

#main_header {
    background-image: url(/img/fukkou/bg_h2_top.png) !important;
    background-repeat: repeat-x !important;
    background-position: 0 0;
}

#main_header h1 {
    padding: 1rem 0 !important;
    /* line-height: 2.5rem; */
    /* font-size: 1.5rem !important; */
    border: none !important;
    /* margin: 0 0 1.5rem; */
    /* text-align: center; */
    /* box-shadow: none !important; */
    background-color: transparent !important;
    background-image: url(/img/fukkou/bg_h2.png) !important;
    background-repeat: repeat-x !important;
    background-position: 0 bottom !important;
}

#main_body h2 {
    padding: 20px;
    border-color: #245866;
}

#main_body h3 {
    border-color: #245866;
}

/* 左 */
#fukkouSidebar {
    background-color: #177D60;
    padding: 0 12px;
    /*width: auto;*/
}

.logoImg {
    text-align: center;
    margin: 0;
    padding: 10px 0;
    display: block;
}

#siteMenuFukkou {
    margin-top: 12px;
}

#siteMenuFukkou .sidebar1_b {
    width: auto;
    margin: 0;
    padding: 12px 8px;
    background-color: transparent;
    border-radius: 0;
    /*font-size: 102%;*/
    color: #FFF;
    border-bottom: solid 1px #81C7B5;
    font-weight: normal;
    cursor: pointer !important;
}

#siteMenuFukkou .sidebar1_b.active {
    background-color: #FFFFF2;
    color: #177D60;
}


#siteMenuFukkou .menu_list_cb ul {
    margin: 0;
    padding: 0;
    background-color: #FFFFF2;
}

.sidebar_border {
    margin: 0;
}

.menu_list_cb li {
    clear: both;
    margin: 0 !important;
    padding: 0;
    list-style-type: none;
    list-style-position: outside;
    border-bottom: solid 1px #81C7B5;
    line-height: 1.4;
    background-image: url(/img/fukkou/menu_bg01.png);
    background-repeat: no-repeat;
    background-position: 10px center;
    font-size: 108%;
}

.menu_list_cb li:hover {
    background-color: #EDFDFA;
}

.menu_list_cb li a {
    background-image: url(/img/fukkou/menu_bg02.png);
    background-repeat: no-repeat;
    background-position: right;
    display: block;
    padding: 5px 5px 6px 25px;
    color: #177D60;
    text-decoration: none;
}

.menu_list_cb .text_d {
    background: url(/img/icon_list.png) no-repeat left 40%;
    margin: 0;
    padding: 0;
}

.menu_list_cb .text_d a {
    padding: 5px 5px 6px 25px;
    display: block;
    background: gray;
}

.menu_list_cb ul li span.line_a strong {
    padding: 5px 5px 6px 25px;
    display: block;
}

/* トグル */
h3.open_h3 {
    border-bottom: 1px dotted #a9a9a9;
    cursor: pointer !important;
    margin: 0;
}

.open_h3::after,
.open_h3.active::after {
    margin-left: 10px;
    float: right;
}

.open_h3.active::after {
    content: "▲";
}

.open_h3::after {
    content: "▼";
}

.open_h3.btn-1 {
    color: #FFF;
    cursor: pointer !important;
    margin: 0;
}

/* 検索 */
#searchOkuma {
    width: 220px;
    margin: 0 auto;
}

#search_btn {
    border: solid 1px #005730;
    width: 40px;
    height: 38px;
    position: relative;
    background-image: url(/img/subsite/icon-search.png);
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -9999px;
    background-color: #005730;
    float: right;
}

#tmp_query {
    height: 38px !important;
    width: 180px !important;
    border-color: #FFF !important;
}

/* アクセシビリティ */
#acc2 {
    padding: 1px 0 0;
    margin: 0;
}

#acc2 li {
    /* float: left; */
    list-style: none;
    margin-right: 12px;
    display: inline-block;
    vertical-align: bottom;
}

#onsei,
.gaikokugo {
    margin-right: 12px;
    border: solid 1px #4E4E4E;
    border-radius: 15px;
    padding: 0 10px;
    font-size: 90%;
}

.gaikokugo span {
    font-size: 90%;
}

#onsei a {
    text-decoration: none;
    color: #222;
}

#moji_default,
#moji_large,
#haikei_white {
    border: solid 1px #4E4E4E;
    box-sizing: border-box;
    padding: 0px 5px;
    background-color: #FFFFFF;
    margin-right: 2px;
    text-decoration: none;
    color: #000000;
}

#haikei_black {
    border: solid 1px gray;
    box-sizing: border-box;
    padding: 0px 5px;
    background-color: #000000;
    margin-right: 2px;
    text-decoration: none;
    color: #FFFFFF;
}

#haikei_blue {
    border: solid 1px gray;
    box-sizing: border-box;
    padding: 0px 5px;
    background-color: #0000aa;
    margin-right: 2px;
    text-decoration: none;
    color: #FFFF00;
}

/* リスト */
#listMenu1 {
    padding: 0;
    margin: 0;
}

#listMenu1 li {
    list-style: none;
    font-size: 108%;
}

#listMenu1 li a {
    background-image: url(/img/fukkou/menu_bg03.png);
    background-repeat: no-repeat;
    background-position: right;
    display: block;
    padding: 5px 5px 6px;
    color: #FFF;
    text-decoration: none;
}

#listMenu1 li a:hover {
    background-color: #EDFDFA;
    color: #177D60;
}

#oru {
    border: solid 1px #81C7B5;
    padding: 10px;
    margin-top: 15px;
}

#oru::before {
    content: url("/img/fukkou/bg_oru.png");
    float: right;
    margin: -11px -11px 0 0;
}

#sitePolicy {
    text-align: center;
    padding: 15px 0;
    margin: 0;
}

#sitePolicy li {
    display: inline-block;
    padding: 0 5px 0 0;
}

#sitePolicy li a {
    color: #FFF;
    text-decoration: none;
    padding: 3px;
}

#sitePolicy li a:hover {
    background-color: #EDFDFA;
    color: #177D60;
}

/* 便箋風 */
.lined-paper {
    position: relative;
    background-image: linear-gradient(rgba(200, 197, 196, 0.5) 1px, transparent 1px);
    background-size: 100% 2rem;
    line-height: 2rem;
    margin: 0 20px;
    /* padding-top: 1.5rem; */
}

.lined-paper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.lined-paper h2 {
    padding: 1rem 0 !important;
    line-height: 2.5rem;
    font-size: 1.5rem !important;
    border: none !important;
    /* background: none !important; */
    margin: 0 0 1.5rem;
    text-align: center;
    box-shadow: none !important;
    background-color: #FFF !important;
    background-image: url(/img/fukkou/bg_h2.png) !important;
    background-repeat: repeat-x !important;
    background-position: 0 94% !important;
}

#main_body h2::after {
    display: none;
}

.lined-paper p {
    line-height: 2rem;
    margin: 0 0 2rem;
    font-size: 1rem;
}

/* 新着情報とトピックス */
#topicsNewsArea {
    width: 700px;
    margin: 20px auto 1rem;
    overflow: hidden;
}

.topicsNews {
    width: 49%;
    float: left;
    background-color: #FFF;
    border-radius: 8px 8px 0 0;
    margin: 0 0.5%;
}

/*.topicsNews:nth-child(2) {
	margin-left: 20px;
}*/
.topicsNews .btn-2 {
    border: solid 1px #229979;
    border-radius: 6px 6px 0 0;
    cursor: pointer !important;
    background-color: #EDFDFA;
    color: #1F5844;
}

.topicsNews .btn-2 h2.open_h3 {
    padding: 11px 15px 11px 38px;
    margin: 0;
    font-weight: normal;
    background-image: url(/img/fukkou/bg_kamihikouki.png);
    background-repeat: no-repeat;
    background-position: 10px 48%;
}

.topicsNews .open-2 {
    border: solid 1px #229979;
    border-top-style: none;
}

.list_ccc_topics ul {
    margin: 0;
    padding: 0;
}

.list_pack_topics {
    padding: 10px;
    /* border-bottom: solid 1px gray; */
    line-height: 1.5;
}

.open-2 .link_box {
    text-align: left;
    padding: 10px 0;
    border-top: solid 1px #229979;
}

.topicPh {
    padding: 10px;
}

.topicTxt {
    padding: 0 10px;
}

.topicTxt h3 {
    margin: 0;
}

.topicTxt p {
    margin: 0 0 7px;
}

/* はみ出した文字を省略 */
.ellipsis {
    position: relative;
    height: 80px;
    overflow: hidden;
    line-height: 20px;
    margin: 0.5rem 0 0.6rem 0;
}

.ellipsis:before,
.ellipsis:after {
    position: absolute;
    background: #fff;
}

.ellipsis:before {
    content: "･･･";
    bottom: 0;
    right: 0;
}

.ellipsis:after {
    content: "";
    width: 100%;
    height: 100%;
}

/* もっと見る */
.js-load {
    display: none;
}

.js-load.active {
    display: block;
}

.btn-wrap {
    clear: both;
    /* padding: 16px; */
    /* text-align: unset; */
    width: 100%;
    margin-bottom: 50px;
}

.btn-wrap .btn {
    background-color: white;
    border: 1px solid #4E4E4E;
    border-radius: 4px;
    display: inline-block;
    line-height: 16px;
    padding: 14px 0px;
    text-align: center;
    width: 100%;
}

/* 下層 */
/*
body#siteList1-fukkou div#fukkouLayout,
body#siteList2-fukkou div#fukkouLayout,
body#subsiteDetail-fukkou div#fukkouLayout {
	background: none;
	background-color: #FFF;
}
*/
/* Mobile style's */
@media only screen and (max-width: 768px) {
    body {
        top: 0 !important;
    }

    .goog-te-banner-frame {
        display: none !important;
    }

    .pdf_download,
    .wmplayer_download {
        display: block;
    }

    .gaikokugoSp {
        text-align: center;
        padding: 5px 0 10px;
    }

    .gaikokugoSp a {
        background-color: #FFF;
        /* border: solid 1px #4E4E4E; */
        border-radius: 15px;
        padding: 2px 10px;
        margin: 4px 0 0;
        display: inline-block;
        color: #222 !important;
        text-decoration: none !important;
    }

    .tenpu_txt {
        margin: 0;
    }

    #print_mode_link {
        display: none;
    }

    div.fukkouLower .logoImg {
        background-color: #177D60;
        margin: 0 -2%;
    }

    .fukkouLower #main_body {
        margin-top: 0;
    }

    #fukkouLayout {
        background-image: none;
        background-color: #177D60;
        padding: 0 2%;
    }

    .fukkouLower,
    #topicsNewsArea {
        width: auto;
        margin: 0;
    }

    #siteIndex2-fukkou .fukkouLower {
        margin-bottom: 20px;
    }

    .topicsNews {
        width: 100%;
        float: none;
    }

    .topicsNews:nth-child(2) {
        margin-left: 0;
        margin-top: 20px;
        margin-bottom: 2rem;
    }

    .open_h3.btn-1 {
        display: none;
    }

    #google_translate_element {
        text-align: center;
        padding: 10px;
    }

    #sitePolicy li {
        display: list-item;
        padding: 0;
        border-right: none;
        text-align: left;
        margin-left: 1.5rem;
    }

    #sitePolicy>li:nth-child(2) {
        padding-left: 0;
    }

    #search_btn {
        border: solid 1px #023527;
        background-color: #023527;
    }

    .lined-paper {
        margin: 0;
    }

    .lined-paper h2 {
        line-height: 2rem;
        text-align: left;
        margin: 0 0 0.1rem;
    }

    .sticky {
        position: unset;
        top: unset;
    }

    /*縦スクロールのため高さ調整*/
    #fukkouSidebar .gl-inner {
        padding-bottom: 7.5rem;
    }

    .list_ccc .span_b {
        width: 100%;
        display: inline-block;
        padding-left: 0;
        padding-right: 0;
        font-size: 103%;
        padding: 0.3rem 0;
    }
}

/* 検索結果 */
table.gsc-search-box table,
table.gsc-search-box {
    border: none !important;
}

.gsc-control-wrapper-cse td {
    border: medium none !important;
    padding: 0 !important;
}

.gsc-above-wrapper-area-container {
    border: medium none !important;
    margin: 0;
}

.gsc-resultsHeader {
    border: medium none !important;
}

.gsc-search-button .gsc-search-button {
    height: auto !important;
    width: auto !important;
}

#main #main_a #cse_search_result table {
    border: none;
    margin: 0px;
}

#main #main_a #cse_search_result td {
    border: none;
}

.gsc-cursor-page {
    font-size: 140%;
    border: solid 1px gray;
    padding: 10px;
}

.gsc-table-result {
    border-width: 0 !important;
    margin: 10px !important;
}

.gs-title {
    font-weight: bold !important;
    font-size: 120% !important;
    margin-bottom: 10px !important;
    height: auto !important;
    overflow: hidden !important;
}


/* 追記2025年10月10日 */
#header {
    background-color: #FFF;
    text-align: center;
    overflow: hidden;
    padding: 5px 0 8px;
    /* --- ここから追加 --- */
    position: -webkit-sticky;
    /* Safari対応 */
    position: sticky;
    top: 0;
    z-index: 200;
    /* 他の要素より手前に表示 */
    /* --- ここまで追加 --- */
}

#fukkouSidebar {
    background-color: #177D60;
    padding: 0 0 0 12px;
    /* 右のpaddingを0にする */
    /*width: auto;*/
}

/* デスクトップ表示（幅769px以上）の場合のみ適用 */
@media only screen and (min-width: 769px) {
    #fukkouSidebar .gl-inner.sticky {
        max-height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        /* ← この行を追加：横スクロールを無効にする */
        /* スクロールバーの幅を考慮して右のpaddingを計算 */
        padding-right: calc(12px - (100vw - 100%));
        padding-bottom: 7.5rem;
    }
}


/* 追記2025年11月12日 */
#section_footer {
    clear: both;
    border: 1px solid #C3E3D0;
    border-radius: 6px;
}

#section_footer_ttl h2 {
    margin: 0;
    border: none;
    background: #C3E3D0;
    border-radius: 3px 3px 0 0;
    padding: 13px 20px 15px;
    color: #222222;
}

#section_footer_ttl h2::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -9px;
    width: 18px;
    height: 18px;
    border: 4px solid #60AC5D;
    border-radius: 100%;
    box-sizing: border-box;
}

#section_footer_detail {
	padding: 0 12px;
}

#section_footer_detail p {
	margin: 7px 0 0;
}