﻿@import url(./default_body.css);
@import url(./topFreearea_map.css);


/* body */

html, body {
}

body {
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

    /*    a:hover {
        text-decoration: underline;
        position: relative;
        top: 1px;
        left: 1px;
    }
*/

    a:link {
        color: var(--text-color,#194593);
    }

    a:visited {
        color: var(--text-color,#194593);
    }

    a:hover {
        color: var(--text-color,#C70026);
    }


.header {
    box-shadow: initial !important;
}


/* telto */
@media screen and (min-width:768px) {
    /* PCではリンクなし */
    a[href^="tel:"] {
        pointer-events: none;
        text-decoration: none;
        color: #333333 !important;
    }

    .teltoon {
        display: none !important;
    }

    .teltooff {
        margin-left: 0px !important;
    }
}

@media screen and (max-width:767px) {
    /* スマホではリンクあり */
    a[href^="tel:"] {
    }

    .teltoon {
        margin-left: 0px !important;
    }

    .teltooff {
        display: none !important;
    }
}



section {
    margin: 0px auto;
    padding: 0px 0px 0px;
}


#imgHeader {
    display: none !important;
}

.headerMenu {
    top: 10px !important;
    right: 0px !important;
}



.header {
    background-color: transparent !important;
}


/*:::::::::::::::::::::::::
 * メインスライドエリア
 *::::::::::::::::::::::::*/

.slide-area {
    padding: 0px 0px 0px;
}

.slide-area__innner {
    width: 100%;
    margin: 0px auto;
}

.bx-wrapper .bx-pager {
    left: 30px;
}

@media screen and (min-width:768px) {
    .slide-area {
        min-height: 460px;
        margin: 20px auto;
        max-width: 1000px;
        position: relative;
    }

        .slide-area .bx-wrapper .bx-viewport {
            overflow: visible !important; /* 両サイドに前後の画像を表示させる */
            max-width: 1000px; /* スライド画像の幅（表示させる幅） */
            margin-left: 50%;
        }

            .slide-area .bx-wrapper .bx-viewport li {
                margin-left: -475px !important;
                margin-right: 520px !important;
            }
}

@media screen and (min-width:801px) {
    .slide-areaimg {
        height: 360px;
        width: 950px;
    }

    .slide-area iframe {
        height: 360px;
    }

    .slide-area video {
        height: 360px;
    }
}

@media screen and (max-width:800px) {
    .slide-area img {
        aspect-ratio: 16 / 9;
    }

    .slide-area iframe {
        aspect-ratio: 16 / 9;
    }

    .slide-area video {
        aspect-ratio: 16 / 9;
    }
}

/*:::::::::::::::::::::::::
 * ボタン
 *::::::::::::::::::::::::*/

.info-button {
    display: block;
    width: 160px;
    padding: 4px 0px 8px 8px;
    text-align: center;
    margin-inline: auto;
    border-radius: 50px;
    background-color: var(--background-color,#007BA8);
    color: var(--text-color,#ffffff);
    text-decoration: none;
    fill: #ffffff;
}

    .info-button svg {
        position: relative;
        top: 6px;
    }

    .info-button:link {
        color: var(--text-color,#ffffff);
    }


    .info-button:visited {
        color: var(--text-color,#ffffff);
    }


    .info-button:hover {
        background-color: var(--background-color,#ffffff);
        color: var(--text-color,#2169AC);
        outline: 2px solid #2169AC;
        fill: #2169AC;
    }




/*:::::::::::::::::::::::::
 * 枠組 
 *::::::::::::::::::::::::*/


.Ichiran {
    text-align: center;
    margin: 20px auto 20px;
    width: 200px;
    font-size: 1em;
    border-radius: 25px;
    padding: 8px 0px;
    height: 45px;
}



@media screen and (max-width:767px) {

    #slidArea {
        /*        min-height: 250px;
*/
    }
}



/* サイト内検索 */
#mainSearch02 {
    margin: 10px auto 0px 15px;
    letter-spacing: -.4em;
    width: 100%;
    max-width: 620px;
    float: left;
}

input.searchBox02 {
    height: 28px;
    width: 85%;
    margin: 1px 1px 0px 0px;
    vertical-align: middle;
    letter-spacing: normal;
    border: solid 1px #7F7F7F;
}

input.btnSearch02 {
    margin: 0px;
    padding: 0px;
    vertical-align: middle;
    letter-spacing: normal;
}


#mainSearch02 .bootstrap-scope .btn-gray {
    color: #2169AC !important;
    background-color: unset !important;
}
/* サイト内検索ver2.0 */
.serch #input_form_search_word {
    height: 32px;
}

.serch .serchright {
    padding: 5px 0px 0px 0px;
}


/*:::::::::::::::::::::::::
 * 特集コンテンツ
 *::::::::::::::::::::::::*/
@media screen and (min-width:801px) {
    #slidArea img {
        height: 360px;
        width: 950px;
    }

    #slidArea iframe {
        height: 360px;
    }

    #slidArea video {
        height: 360px;
    }
}

@media screen and (max-width:800px) {
    #slidArea img {
        aspect-ratio: 16 / 9;
    }

    #slidArea iframe {
        aspect-ratio: 16 / 9;
    }

    #slidArea video {
        aspect-ratio: 16 / 9;
    }
}




@media screen and (max-width:768px) {

    .jouhou_search {
        width: 230px;
        border: 2px solid #2169ac;
        border-radius: 5px;
        padding: 5px 0px;
        position: unset;
        margin: 0px auto;
    }

    .serach_btn_wrap {
        flex-direction: column;
        gap: 30px;
    }

    .serach_item {
        width: 170px;
        margin: 0px auto;
    }
}

.serchright a {
    text-decoration: none;
}



.keywordtitle {
    margin: 0px;
    padding: 5px 0px 14px 0px;
    font-size: 1.2em;
    font-weight: bold;
}


    .keywordtitle h5 {
        padding: 0.8rem 0;
        margin-bottom: 0.2rem;
        background-image: linear-gradient( 90deg, #CB1187 0 20%, #2169AC 20% );
        background-repeat: no-repeat;
        background-size: 100% 4%;
        background-position: bottom;
        font-weight: bold;
    }

.keyword_item span {
    padding: 0px 20px;
}

@media screen and (max-width:768px) {

    .keywordtitle h5 {
        text-align: center;
    }

    .keyword_item {
        padding: 0px 0px 30px;
    }

        .keyword_item span {
            padding: 0px 6px;
        }
}

.keyword a {
    text-decoration: none;
}


.benri_btn_wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 60px;
    text-align: center;
    padding: 20px 0px;
    flex-wrap: wrap;
}

.benri_item {
    max-width: 155px;
    width: 100%;
}

.benri_item_dot {
    border-right: 3px dotted #ccc;
}

@media screen and (max-width:455px) {
    .benri_item_dot {
        display: none;
    }
}

@media screen and (max-width:768px) {
    .benri_btn_wrap {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 10px;
        text-align: center;
        padding: 20px 0px;
        flex-wrap: wrap;
    }
}




/*:::::::::::::::::::::::::
* 広報誌 
*::::::::::::::::::::::::*/




.kijiTtk {
    float: left;
    margin: 0px;
    padding: 10px 5px 0px 0px;
}

.naiyo img {
    float: left;
    vertical-align: middle;
    margin: 5px;
}

.naiyo {
    margin: 15px auto;
}


/* バナー広告 */

.koukokuban {
    padding: 20px 0px;
    margin: 40px auto;
}

.bosyu {
    text-align: right;
    padding: 0px 20px 0px 0px;
}

.ban {
    border: 1px solid #cccccc;
}

.r_menu {
    margin-bottom: 7px;
}

    .r_menu .banTitle {
        font-size: 0.9em;
        height: 24px;
        line-height: 24px;
        text-align: center;
    }

    .r_menu .banImg {
        height: 55px;
        padding: 8px 10px 5px 35px;
        margin: 0px auto;
        text-align: center;
    }

#textbannerArea {
    margin: 15px auto 25px;
}

    #textbannerArea ul li {
        float: left;
        padding: 15px 15px 15px 25px;
        margin: 0px 8px;
        border-radius: 5px;
    }


#oneBanArea {
    margin: 0px auto;
    padding-left: 5px;
}


#kanrenban {
    max-width: 100%;
    margin: 0px auto;
}

#kanrenbanBox {
    max-width: 100%;
    margin: 0px auto 15px;
    padding: 0px 0px 15px 0px;
}

#koukokubanBox {
    max-width: 100%;
    margin: 0px auto 15px;
    padding: 0px 0px 15px 0px;
}


#kanrenbanArea {
    margin: 0px;
    padding: 40px 0px;
}

    #kanrenbanArea h4 span {
        padding: 4px 8px;
        font-weight: bold;
    }

#bannerArea h4 span {
    border-left: 5px solid #009799;
    padding: 4px 8px;
    font-weight: bold;
    margin-right: 50px;
}

ul.bannaiyo {
    padding: 0px 0px 5px 20px;
    margin: 0px;
}

#kanrenban div#kanrenbanHeader, #kanrenban div#koukokubanHeader {
    margin: 5px 0px 5px 0px;
    padding: 15px 10px 0px;
}

#kanrenbanHeader h4 {
    border-left: 5px solid #006837;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    font-size: 1.1em;
}

#koukokubanHeader h4 {
    border-left: 5px solid #79c06e;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    font-size: 1.1em;
}


#kanrenbanHeader p {
    background: url("../images/top1/ya_green.png") no-repeat 0 center;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    float: right;
}

#koukokubanHeader span {
    margin: 0 0 0 10px;
    padding: 0px;
    font-size: 0.9em;
}

#adinfo {
    width: 100%;
    margin: 15px auto;
}

#adinfoBox {
    width: 100%;
    margin: 0px auto 15px;
    padding: 0px 0px 15px 0px;
}

#banArea {
    margin: 0px;
    padding: 0px;
}

ul.bannaiyo {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 5px auto 5px auto;
    justify-content: space-around;
}

#adinfo div#addinfoHeader {
    margin: 5px 0px 15px 0px;
    padding: 5px 10px 5px;
}

#addinfoHeader h4 {
    /*border-left: 5px solid #ff9700;*/
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    font-size: 1.1em;
}

#addinfoHeader p {
    background: url("../images/top1/ya_green.png") no-repeat 0 center;
    margin: 0 auto 10px;
    padding: 3px 30px 3px 10px;
    float: right;
}

/* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
p.imgBan,
li.imgBan {
    display: inline-block;
    vertical-align: middle;
    margin: 10px 10px 5px 5px;
    float: left;
}

    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.imgBan img,
    li.imgBan img {
        display: block;
    }

/* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
p.textBan,
li.textBan {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;
}
    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.textBan span,
    li.textBan span {
        display: table;
        border: solid 1px #CCCCCC;
        width: 188px;
        height: 52px;
        box-sizing: border-box;
        line-height: 1.1em;
        text-align: center;
        overflow: hidden;
    }
        /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
        p.textBan span a,
        li.textBan span a {
            display: table-cell;
            vertical-align: middle;
            text-align: center;
            text-decoration: none;
        }

/* banスライダーのテキストバナー内の別ウィンドウで開くアイコン画像 */
.textBan .textBan_newWinOpn {
    width: 10px;
    height: 9px;
}
/* フローティングバナー */
div#fBanArea {
    width: 100%;
    font-size: 0.9em;
    padding: 5px 0px 0px 0px;
    display: none;
    margin-bottom: 10px;
}

    div#fBanArea div#fBanBox {
        margin: 10px auto;
        position: relative;
    }

@media screen and (min-width:1201px) {
    div#fBanArea div#fBanBox {
        max-width: 1200px;
    }
}

@media screen and (max-width:1200px) {
    div#fBanArea div#fBanBox {
        max-width: 95%;
    }
}

@media screen and (max-width:767px) {
    div#fBanArea div#fBanBox {
        max-width: 98%;
    }
}

#fAdinfoLink {
    float: left;
    margin-left: 50px;
}

.fLinkInfo p {
    float: left;
    font-size: 1.2em;
    font-weight: bold;
    padding: 0px 0px 0px 10px;
    border-left: 5px solid #006837;
    margin: 0px 0px 0px 10px;
}

div#fBanArea.floating {
    position: fixed;
    left: 0;
    bottom: 0;
    /*z-index: 99999;*/
    z-index: 1199;
    margin-bottom: 0px;
}

div#floatOff {
    float: left;
    text-align: center;
    margin-right: 5px;
}

    div#floatOff img {
        cursor: pointer;
    }

#fBanItem {
    margin: 10px auto 0px;
}

@media screen and (min-width:1201px) {
    div#fBanArea div#fBanBox {
        max-width: 1000px;
    }
}

@media screen and (max-width:1200px) {
    div#fBanArea div#fBanBox {
        max-width: 95%;
    }
}

@media screen and (max-width:767px) {
    div#fBanArea div#fBanBox {
        max-width: 98%;
    }
}

/* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
p.imgBanfl,
li.imgBanfl {
    display: inline-block;
    vertical-align: middle;
    margin: 0px 7px 10px 0px;
}
    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.imgBanfl img,
    li.imgBanfl img {
        display: block;
    }

/* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
p.textBanfl,
li.textBanfl {
    display: inline-block;
    vertical-align: middle;
    margin: 0px 20px 10px 0px;
}
    /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
    p.textBanfl span,
    li.textBanfl span {
        display: table;
        border: solid 1px #CCCCCC;
        width: 188px;
        height: 52px;
        box-sizing: border-box;
        line-height: 1.1em;
        text-align: center;
        overflow: hidden;
    }
        /* 2016/09/15 アクセシビリティ対応 <div><p>→<ul><li>*/
        p.textBanfl span a,
        li.textBanfl span a {
            display: table-cell;
            vertical-align: middle;
            text-align: center;
            text-decoration: none;
        }


/*
#fBanArea p.textBan {
    border: solid 1px #CCCCCC;
    width: 188px;
    padding: 13px 0px;
    text-align: center;
    font-size: 0.9em;
    margin: 5px 10px;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}*/



/*:::::::::::::::::::::::::
 * snsボタン
 *::::::::::::::::::::::::*/
.snsbutton {
    float: left;
    margin: 25px auto 85px;
}

    .snsbutton li {
        z-index: 101;
        float: left;
    }

#snsbutton_twitter {
    margin-right: 15px;
}

#snsbutton_facebook {
    margin-right: 10px;
}

span.forSR {
    position: absolute;
    left: -1000em;
}

.snsmenu {
    max-width: 500px;
    width: 100%;
}

/*:::::::::::::::::::::::::
 * Navigation Skip
 *::::::::::::::::::::::::*/
.Navigation ul {
    margin: 0;
    padding: 0;
}

.Navigation li {
    position: absolute;
    text-align: left;
    margin: 0;
    padding: 0;
    display: block;
}

.Navigation a {
    padding: 5px;
    display: inline;
    z-index: 999;
    text-decoration: none;
    position: absolute;
    max-width: 300px;
    left: -1000em;
    top: 0;
    font-weight: bold;
    text-align: center;
    font-size: 125%;
    /zoom:1;
}

    .Navigation a:focus,
    .Navigation a:active {
        position: absolute;
        top: 30px;
        left: 250px;
        background: #fff !important;
        border: 2px solid #000;
    }

img.imgFromText {
    max-height: 126px !important;
    max-width: 90px !important;
}

* html img.imgFromText {
    height: 126px !important;
    width: 90px !important;
}

/*:::::::::::::::::::::::::
 * フリーエリア用
 *::::::::::::::::::::::::*/
.freeareaWrap {
    margin: 0px auto;
    padding: 0px;
    width: 99%;
}

.freearea {
    padding: 0px;
    margin-top: 0px;
}

    .freearea.disp_marquee_text {
        background-color: transparent !important;
        margin: 1px auto !important;
    }

/*:::::::::::::::::::::::::
 * あなたが最近チェックしたページ
 *::::::::::::::::::::::::*/
div#browsingHistoryArea {
    max-width: 1200px;
    margin: 0px auto 0px;
    padding: 10px 0px;
}

div#browsinghisotry_block ul {
    overflow: hidden;
    padding: 0px 10px;
}

    div#browsinghisotry_block ul li {
        border-top: 1px dotted #cccccc;
        margin-top: -1px;
        padding: 5px 0;
    }

div#browsinghisotry_block .upddate {
    float: left;
    font-size: 0.9em;
    min-width: 130px;
    width: auto;
    padding-left: 5px;
}

#browsingHistoryTop1 .browsinghistory_header {
    padding: 10px 0px 10px 12px;
}

div#browsinghisotry_block .title {
    float: left;
    max-width: 800px;
    text-overflow: ellipsis;
    padding: 0px 5px 0px 10px;
}

div#browsinghisotry_block .del {
}

#browsinghistory_ttl h2 {
    float: left;
    font-size: 1.1em;
    font-weight: bold;
    padding-left: 10px;
    border-left: 5px solid #cccccc;
}

#browsinghistory_rmv {
    float: right;
    padding-right: 5px;
    font-size: 0.9em;
}



/*:::::::::::::::::::::::::
 * レスポンシブル用
 *::::::::::::::::::::::::*/


@media screen and (max-width:1100px) {
    /* タブレット用のスタイル記述 */
    img {
        max-width: 100%;
        height: auto;
        width /***/: auto;
    }

    #slidArea {
        width: 100%;
        margin: 0px auto;
        float: none;
    }


    .mainBlock {
        margin: 0px auto 0px;
        padding-top: 5px;
    }


    .kinkyuBlock {
        border: 1px solid #C1272D;
        padding: 0px;
        box-sizing: border-box;
        margin: 0px auto 0px;
        max-width: none;
        float: none;
    }


    /* サイト内検索 */
    #mainSearch02 {
        margin: 10px 10px 0px;
    }

    input.btnSearch02 {
        margin: 0px;
        padding: 0px;
        vertical-align: middle;
    }



    #benri_btn ul li {
        min-width: 150px;
    }

    .boxArea ul li::before {
        padding: 5px 5px;
        line-height: 0em;
    }

    .naiyo ul li {
        margin: 15px 0px;
        float: left;
        min-width: 130px;
    }
}

@media screen and (max-width:1000px) {
}

@media screen and (max-width:980px) {
    /* タブレット用のスタイル記述 */

    ul.kinkyuTxt li p.koshin {
        float: none;
        min-width: 70px;
        margin-left: 10px;
    }

    ul.kinkyuTxt li div.k_naiyo {
        float: left;
        max-width: 100%;
        margin: 0px 0px 10px 10px;
    }
}

@media screen and (max-width:767px) {
    /* スマートフォン用のスタイル記述 */

    .menuitem02 {
        margin: 15px auto 0px;
    }

    #slidArea {
        width: 100%;
        margin: 0px auto;
    }

    #kinkyuArea {
        width: 100%;
        padding: 10px 0px;
    }

    #about_Area {
        width: 100%;
        margin: 0px auto 20px;
    }


    .serchleft {
        float: none;
        max-width: 100%;
        width: auto;
    }

    input.searchBox02 {
        height: 28px;
        width: 71%;
        margin: 1px 1px 0px 0px;
        vertical-align: middle;
        letter-spacing: normal;
        border: solid 1px #7F7F7F;
    }

    .keywordtitle {
        margin: 10px;
        padding: 5px 5px 5px 5px;
    }

        .keywordtitle span {
            margin: 0px 0px auto 5px;
            padding: 5px 5px 14px 5px;
        }

    .benribox02 {
        width: auto;
    }




    #benri_btn {
        margin: 0px 5px;
    }

    .kanrenban {
        margin: 15px auto;
    }

    div.newTtl {
        float: none;
        width: auto;
        padding: 2px 5px;
    }

    #newTtlTab .selected {
        font-weight: bold;
        padding: 11px 8px 9px;
        margin: 0px;
        cursor: default;
    }

    #newTtlTab h3 {
        float: left;
        padding: 11px 8px 9px;
        margin: 0px 4px 0px 4px;
        text-decoration: none;
        font-size: 0.9em;
        cursor: pointer;
    }

    .info {
        padding: 0px;
        margin: 10px 0px 15px 0px;
    }


    .infoIchiran {
        float: none;
    }



    .serchright {
        max-width: 320px;
        width: 100%;
        text-align: center;
        margin: 0px auto;
        float: none;
    }

    #life_event {
        margin: 0px auto 0px auto;
        display: inline-flex;
        flex-direction: row;
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    .Blockmenu {
        max-width: 1000px;
        margin: 0px auto 0px;
        padding-top: 0px;
        display: flex;
        /* flex-direction: column;*/
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .boxArea {
        margin: 10px 0px 15px 10px;
        padding: 0px;
        float: none;
        width: 96%;
    }

    #kohoArea {
        width: auto !important;
        float: none;
        margin: 10px auto;
        padding: 0px;
    }

    #ugokiArea {
        width: auto !important;
        float: none;
        margin: 0px auto;
        padding: 0px;
    }

    .naiyo {
        margin: 0px auto;
        padding: 0px;
    }


    .kohoIchiran {
        padding: 3px 2px 2px 10px;
        margin: 10px 0px 2px;
        font-size: 0.9em;
        width: 160px;
        border-radius: 15px;
    }



    .btnArea {
        float: none;
        text-align: center;
    }

        .btnArea img {
            text-align: center;
            margin: 0px auto;
        }

    #kanrenbanBox {
        margin: 0px auto;
    }

    ul.bannaiyo {
        padding: 0px 0px 5px 7px;
        margin: 0px auto;
        width: auto;
    }

    p.imgBan, li.imgBan {
        display: inline-block;
        vertical-align: middle;
        margin: 0px 2px 5px 5px;
        float: left;
    }

    #fBanItem {
        text-align: center;
    }

    .newTtl span.termTitle {
        margin: 0px 0px 0px 15px;
    }

    #ugkTxt {
        margin: 0px auto;
    }

    #mainSearch02 {
        margin: 10px 0px;
    }

        #mainSearch02 .searchBox-gcs {
            width: 100% !important;
        }

    h4 {
        padding: 0px 0px 0px 0px;
    }

    #jyuuyou_Area {
        width: calc(100% - 5px);
        margin: 0px auto;
    }
}

@media screen and (max-width:767px) {
    .jyuuyou_info {
        width: calc(100% - 15px) !important;
    }
    #jyuuyou_Area {
        padding-bottom: 10px !important;
    }
}


    @media screen and (max-width:400px) {
        /* スマートフォン用のスタイル記述 */

    }

    /* パーソナライズ */
    .personalizeBox {
        margin-bottom: 7px;
        text-align: center;
    }

        .personalizeBox .login {
            margin: 10px auto 5px auto;
            text-align: center;
        }

        .personalizeBox ul {
            width: 35%;
            margin: 5px auto;
        }

        .personalizeBox .setsumei {
            padding: 3px 3px 3px 17px;
            background: url("../images/top1/b_01.png") no-repeat 7px center;
            margin: 2px auto;
            text-align: left;
        }

    /* wysiwyg */
    #mainShosai table.__wys_table {
        width: auto;
    }

    .__wys_table td {
        border: solid 1px #000000;
        padding: 3px;
    }

    .__wys_table th {
        background-color: #eeffee;
        border: 1px solid #000000;
        font-weight: bold;
        padding: 3px;
    }


    /*:::::::::::::::::::::::::
 * 翻訳メニュー
 *::::::::::::::::::::::::*/


    #foreignSP {
        display: none;
        width: 96%;
        margin: 5px auto 5px auto;
    }

        #foreignSP .plus {
            background: url("../images/top1/btn_plus.png") 98% center no-repeat #E3F4FF;
            background-size: 25px 25px;
        }

        #foreignSP .minus {
            background: url("../images/top1/btn_minus.png") 98% center no-repeat #E3F4FF;
            background-size: 25px 25px;
        }

            #foreignSP .plus a,
            #foreignSP .minus a {
                display: block;
                height: 100%;
                padding: 15px 10px 15px 20px;
                font-weight: bold;
                text-decoration: none;
                margin: 0px;
            }

        #foreignSP .dspMode {
            display: block !important;
            border: 1px solid #2169AC !important;
            background-color: #2169AC;
        }

    #foreignTitle {
        width: 100%;
        margin: 1px auto;
    }

        #foreignTitle h4 {
            font-size: 1.2em;
        }

        #foreignTitle a {
            border: 1px solid #2169AC;
            padding: 10px 8px 10px 12px !important;
            color: #2169AC;
            display: block;
            height: 100%;
            font-weight: normal !important;
        }

    #foreignDsp {
        width: 99%;
        margin: 0px auto;
        padding: 2px 0px 6px 0px;
        display: none;
    }

        #foreignDsp ul {
            width: 100%;
            margin: 0px auto;
        }

            #foreignDsp ul li {
                padding: 0px;
                width: 97%;
                margin: 2px 0px 0px 4px !important;
                float: left;
                background: url("../images/top1/ya_b01.png") no-repeat 95% center #ffffff;
                background-size: 10px 13px;
                border: 1px solid #2169AC;
            }

                #foreignDsp ul li a {
                    width: 70%;
                    line-height: 2.4em;
                    display: block;
                    padding: 0px !important;
                    margin-left: 15px !important;
                }

    @media screen and (max-width:767px) {
        #foreignSP {
            display: none;
        }
    }

    .conttitle {
        padding: 20px 0px;
    }

    /*:::::::::::::::::::::::::
 * 記事スライダー
 *::::::::::::::::::::::::*/
    #banSlide {
        width: 100%;
        margin: 40px auto 0px auto;
    }

    #ban_slide_set {
        padding: 0px 0px 0px;
        z-index: -2;
        position: relative;
    }

    @media screen and (min-width:1025px) {
        #banSlide #ban_slide_set li img {
        }
    }
    /* タブレット用 */
    @media screen and (max-width:1024px) {
        #banSlide #ban_slide_set li img {
            width: 100%;
            margin: 0px;
        }
    }
    /* スマホ用 */
    @media screen and (max-width:767px) {
        #banSlide #ban_slide_set li img {
            width: 100%;
            margin: 0px;
        }
    }

    @media screen and (max-width:380px) {
        #banSlide #ban_slide_set li img {
            width: 100%;
            margin: 0px;
            height: auto;
        }
    }

    /* 記事スライダーの画像 */
    #ban_slide_set img {
        margin: 0px auto;
        width: 280px !important;
        height: 200px;
        object-fit: cover;
        border: 1px solid #ccc !important;
    }

    #banSlide #ban_slide_set li {
        margin: 0px 15px 20px;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
        border-radius: 5px;
        padding: 0px 10px 0px 10px;
        height: 360px;
    }

    #ban_slide_set article slick-slide slick-cloned slick-active {
        max-height: 350px;
    }

    #ban_slide_set .slick-dots li {
        box-shadow: unset !important;
        height: unset !important;
        margin: 0px auto !important;
    }

    /* スライダーの前・次ボタンの位置 */
    #ban_slide_set .slick-prev,
    #ban_slide_set .slick-next {
        top: 95px !important;
    }
    /* 更新日 */
    #ban_slide_set .kiji_koushinDay {
        padding: 10px 0px 0px 0px;
        font-size: 0.9em;
        width: 280px;
        text-align: right;
    }
    /* タイトル */
    #ban_slide_set .kiji_title {
        margin: 0px auto;
        font-size: 1em;
        width: 280px;
        padding: 10px 10px;
        overflow: hidden;
    }

    #ban_slide_set .slick-list {
        overflow: hidden;
    }

    /* 概要文 */
    #ban_slide_set .kiji_gaiyou {
        margin: 15px 0px 10px 45px;
        font-size: 0.9em;
        width: 280px;
    }

    .slick-track {
        margin-bottom: 10px !important;
    }


    /* Youtubeタグ */
    #ban_slide_set .youtubeImage {
        max-width: 280px;
    }

        #ban_slide_set .youtubeImage iframe {
            max-width: 100% !important;
            max-height: 200px !important;
        }

    /*    #ban_slide_set .slick-dotted.slick-slider {
        padding-left: 38px !important;
        padding-right: 38px !important;
        margin-bottom: 2px !important;
    }
*/
    #ban_slide_set .slick-prev {
        width: 50px;
        height: 50px;
        left: 0;
        position: absolute;
        z-index: 9;
    }

        #ban_slide_set .slick-prev:before {
            color: #000;
            content: '';
            width: 30px;
            height: 30px;
            background: #495057;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            left: 0;
            margin-top: -15px;
            opacity: 0.4;
        }

        #ban_slide_set .slick-prev:after {
            content: '';
            width: 0;
            height: 0;
            border: solid 5px transparent;
            border-right: solid 8px #ffffff;
            position: absolute;
            top: 50%;
            left: 5px;
            margin-top: -6px;
        }

    #ban_slide_set .slick-next {
        width: 50px;
        height: 50px;
        right: 0;
        position: absolute;
        z-index: 9;
    }

        #ban_slide_set .slick-next:before {
            color: #000;
            content: '';
            width: 30px;
            height: 30px;
            background: #495057;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            right: 0;
            margin-top: -15px;
            opacity: 0.4;
        }

        #ban_slide_set .slick-next:after {
            content: '';
            width: 0;
            height: 0;
            border: solid 5px transparent;
            border-left: solid 8px #ffffff;
            position: absolute;
            top: 50%;
            right: 5px;
            margin-top: -6px;
        }



    #ban_slide_set .slick-dots {
        display: block !important;
        bottom: -40px;
        position: absolute;
        height: 33px !important;
        left: 0px;
    }


        #ban_slide_set .slick-dots li button:before {
            font-family: 'slick';
            font-size: 10px;
            line-height: 20px;
            position: absolute;
            top: 0;
            left: 0;
            width: 20px;
            height: 20px;
            content: '•';
            text-align: center;
            opacity: .28;
            color: #000;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }


        #ban_slide_set .slick-dots li.slick-active button:before {
            opacity: .98;
            color: #00496D;
        }

    /* 真ん中を大きくする */
    /*
#ban_slide_set .slick-slide {
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}

    #ban_slide_set .slick-slide.slick-center {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1);
    }
*/
    /* 真ん中以外を小さくする */
    /*
#ban_slide_set .slick-slide {
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}

    #ban_slide_set .slick-slide:not(.slick-center) {
        -webkit-transform: scale(.9);
        -moz-transform: scale(.9);
        -ms-transform: scale(.9);
        -o-transform: scale(.9);
        transform: scale(.9);
    }
*/


    /*:::::::::::::::::::::::::
 * フォトギャラリー
 *::::::::::::::::::::::::*/
    #photogallery_one {
        margin: 30px auto !important;
    }

        #photogallery_one .slick-slide img {
            height: 230px !important;
            width: 230px !important;
            max-height: unset !important;
            object-fit: cover;
        }

        #photogallery_one .slick-slide {
            margin-right: 30px !important;
        }

        #photogallery_one .slick-dotted.slick-slider {
            margin-bottom: 2px !important;
        }

    /*:::::::::::::::::::::::::
 * Infoスライダー
 *::::::::::::::::::::::::*/
    #banSlide_event {
        width: 100%;
        margin: 0 auto;
        border-radius: 5px;
        padding-top: 20px;
    }

    @media screen and (min-width:1025px) {
        #banSlide_event #ban_slide_set_event li img {
        }
    }
    /* タブレット用 */
    @media screen and (max-width:1024px) {
        #banSlide_event #ban_slide_set_event li img {
            width: 100%;
            margin: 0px;
        }
    }
    /* スマホ用 */
    @media screen and (max-width:767px) {
        #banSlide_event #ban_slide_set_event li img {
            width: 100%;
            margin: 0px;
        }
    }

    @media screen and (max-width:380px) {
        #banSlide_event #ban_slide_set_event li img {
            width: 100%;
            margin: 0px;
            height: auto;
        }
    }

    /* Infoスライダーの画像 */
    #ban_slide_set_event img {
        margin: 0px auto;
        width: 320px !important;
        height: 240px;
        object-fit: cover;
        object-position: top;
    }

    #banSlide_event #ban_slide_set_event li {
        margin: 0px 15px;
        box-shadow: 0px 3px 10px rgba(15, 115, 183, 0.3);
        border-radius: 5px;
        padding: 0px 0px 10px 0px;
        height: 365px;
    }

    #ban_slide_set_event article slick-slide slick-cloned slick-active {
        max-height: 350px;
    }
    /* スライダーの前・次ボタンの位置 */
    #ban_slide_set_event .slick-prev,
    #ban_slide_set_event .slick-next {
        top: 95px !important;
    }
    /* 更新日 */
    #ban_slide_set_event .kiji_koushinDay {
        margin: 15px 0px 0px 25px;
        font-size: 0.9em;
        width: 280px;
    }
    /* タイトル */
    #ban_slide_set_event .kiji_title {
        margin: 0px auto;
        font-size: 1em;
        font-weight: bold;
        width: 280px;
        padding: 10px 0px;
        overflow: hidden;
    }

    #ban_slide_set_event .slick-list {
        overflow: hidden;
    }

    /* 概要文 */
    #ban_slide_set_event .kiji_gaiyou {
        margin: 15px 0px 10px 45px;
        font-size: 0.9em;
        width: 280px;
    }

    #ban_slide_set_event .slick-dotted.slick-slider {
        padding-left: 38px !important;
        padding-right: 38px !important;
        margin-bottom: 2px !important;
    }

    #ban_slide_set_event .slick-prev {
        width: 50px;
        height: 50px;
        left: 0;
        position: absolute;
        z-index: 9;
    }

        #ban_slide_set_event .slick-prev:before {
            color: #000;
            content: '';
            width: 30px;
            height: 30px;
            background: #495057;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            left: 0;
            margin-top: -15px;
            opacity: 0.4;
        }

        #ban_slide_set_event .slick-prev:after {
            content: '';
            width: 0;
            height: 0;
            border: solid 5px transparent;
            border-right: solid 8px #ffffff;
            position: absolute;
            top: 50%;
            left: 5px;
            margin-top: -6px;
        }

    #ban_slide_set_event .slick-next {
        width: 50px;
        height: 50px;
        right: 0;
        position: absolute;
        z-index: 9;
    }

        #ban_slide_set_event .slick-next:before {
            color: #000;
            content: '';
            width: 30px;
            height: 30px;
            background: #495057;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            right: 0;
            margin-top: -15px;
            opacity: 0.4;
        }

        #ban_slide_set_event .slick-next:after {
            content: '';
            width: 0;
            height: 0;
            border: solid 5px transparent;
            border-left: solid 8px #ffffff;
            position: absolute;
            top: 50%;
            right: 5px;
            margin-top: -6px;
        }


    /*:::::::::::::::::::::::::
 * スライダーボタン
 *::::::::::::::::::::::::*/
    .slick-prev {
        left: 10px !important;
    }

    .slick-next {
        right: 10px !important;
    }
    /*:::::::::::::::::::::::::
 * インタケージ
 *::::::::::::::::::::::::*/
    .slick-dots {
        display: none !important;
    }
    /*:::::::::::::::::::::::::
 * スライダーの再生・停止ボタン
 *::::::::::::::::::::::::*/
    .slick_toggle_wrap {
        width: 100%;
        margin: 0px auto;
        padding: 0px;
        position: relative;
        height: 20px
    }

        .slick_toggle_wrap span {
            position: absolute;
            right: 15px;
            bottom: 0px;
            border: solid 1px;
            border-radius: 2px;
            padding: 0px 1px 1px 1px;
            width: 60px;
            height: 20px
        }

    .slick_toggle {
        width: 20px;
        font-size: 12px;
        padding: 1px;
        border: none;
        text-align: center;
        vertical-align: middle;
        display: inline;
        cursor: pointer;
        cursor: hand;
    }

    .slick_toggl .stop {
        display: block;
        width: 20px;
        z-index: 10;
    }

    .slick_toggle .play {
        display: none;
        width: 0px;
        z-index: 0;
    }

    .slick_toggle.paused .stop {
        display: none !important;
        width: 0px !important;
        z-index: 0 !important;
    }

    .slick_toggle.paused .play {
        display: block !important;
        width: 60px !important;
        z-index: 10 !important;
    }


    /*:::::::::::::::::::::::::
 * スクロール&フェードイン
 *::::::::::::::::::::::::*/
    .fadein {
        opacity: 0;
        transform: translate(0, 50px);
        transition: all 1500ms;
    }

        .fadein.scrollin {
            opacity: 1;
            transform: translate(0, 0);
        }

    /* お天気情報 start */
    #wthHiduke {
        text-align: center;
        font-size: 1em;
    }

    #contentsWth {
        width: 100%;
        font-size: 0.9em;
    }

    .wrapWth {
        float: left;
        text-align: center;
        margin: 10px auto;
        height: 80px;
        border: 0px none;
        padding: 0px 5px;
        /*
    width : 44% ;
    width : -webkit-calc(50% - 10px);
    width : calc(50% - 10px);
    */
        width: 14%;
        width: -webkit-calc(14.2% - 10px);
        width: calc(14.2% - 10px);
    }

        .wrapWth .wth span {
            margin-right: 5px;
            font-size: 0.8em;
        }

    #contentsWth .title {
        font-size: 0.9em;
    }

    #contentsWth .maxtemp {
        font-size: 0.9em;
    }

    #contentsWth .mintemp {
        font-size: 0.9em;
    }
    /* お天気情報 end */

    /* 休日カレンダー枠 */
    .holiday_cal {
        max-width: 400px;
        width: 100%;
        margin: 0px auto;
    }
        /* 休日カレンダー */
        .holiday_cal .cal_disp_title {
            width: 90% !important;
            margin: 0px auto;
        }

        .holiday_cal .cal_disp {
            width: 90% !important;
            margin: 0px auto 5px auto;
        }


    * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #test {
        /*設置する親要素ページ全体ならbodyなど*/
        position: relative;
        height: 100vh;
        margin: 0;
        padding: 0;
    }

    .testcontents {
        /*サンプルはfixedの確認のためにheight指定しています。*/
        height: 1000px;
    }

    .cp_snslink06 {
        position: fixed;
        top: 50%;
        left: 0;
        display: block;
        overflow: hidden;
        margin: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

        .cp_snslink06 .cp_link_list {
            -webkit-transform: translateX(-275px);
            transform: translateX(-275px);
            list-style-type: none;
        }

        .cp_snslink06 .cp_link a {
            text-decoration: none;
            color: #009688;
        }

        .cp_snslink06 .cp_link:hover a {
            color: #ffffff;
        }

        .cp_snslink06 .cp_link {
            display: block;
            width: 300px;
            margin: 5px;
            padding: 10px;
            -webkit-transition: all 1s;
            transition: all 1s;
            text-align: right;
            -webkit-border-radius: 0 30px 30px 0;
            border-radius: 0 30px 30px 0;
            background: #80cbc4;
        }

            .cp_snslink06 .cp_link:hover {
                -webkit-transform: translate(110px, 0);
                transform: translate(110px, 0);
                background: #009688;
            }

            .cp_snslink06 .cp_link i {
                font-size: 20px;
                width: 40px;
                height: 40px;
                margin-left: 10px;
                padding: 10px;
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
                color: #ffffff;
                -webkit-border-radius: 50%;
                border-radius: 50%;
                background: #009688;
            }

            .cp_snslink06 .cp_link:hover i {
                -webkit-transition: all 1s;
                transition: all 1s;
                -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
                color: #009688;
                background: #80cbc4;
            }



    #jyuuyou_Area .titleimg {
        padding: 3px 15px 10px 0px;
    }

    .jyuuyou_info {
        padding: 8px;
        max-width: 630px;
        width: 100%;
        background-color: var(--background-color,#ffffff) !important;
        margin: 0 auto;
        height: 90px;
        padding: 0px 0px 15px;
        overflow-y: auto;
        overflow-x: hidden;
    }

        .jyuuyou_info ul li {
            padding: 5px 0px;
        }

            .jyuuyou_info ul li article {
                display: flex;
            }

                .jyuuyou_info ul li article p {
                    color: var(--text-color,#074168);
                }

    .newTtl {
        margin-left: 20px;
    }

    .jyuuyou_info.info.fadein.scrollin ul {
        margin-left: 20px;
        margin-top: 10px;
        margin: 10px 10px 10px 20px;
    }

    .koushinDay {
        margin-top: 4px;
    }



    /* ガントチャートカレンダー start*/
    .calendar_Area .fullCalendarArea {
        padding: 0px 18px;
    }

    .calendar_Area .fullCalendarArea {
        margin-top: -40px;
        /*padding:0px 12px;*/
    }

    #FullCalendar div.fc-day-grid-container {
        height: auto !important;
        /*overflow-y:scroll;*/
        /*-webkit-overflow-scrolling: touch;*/
        /*overflow-x:hidden;*/
        min-height: 400px;
    }

    #FullCalendar .fc-basic-view .fc-body .fc-row {
        min-height: 400px;
        height: auto !important;
    }

    #FullCalendar div.fc-day-grid-container::-webkit-scrollbar {
        display: block;
    }

    #FullCalendar div.fc-day-grid-container::-webkit-scrollbar {
        width: 15px;
    }

    #FullCalendar div.fc-day-grid-container::-webkit-scrollbar-track {
        background: #f1f1f1;
    }

    #FullCalendar div.fc-day-grid-container::-webkit-scrollbar-thumb {
        background: #c1c1c1;
    }

    #FullCalendar .fc-day {
        border-bottom: none;
    }

    /*#FullCalendar div.fc-widget-header{
    padding-right:15px;
    background-color: #DDD;
}*/

    #FullCalendar .fc-body {
        background-color: #FFF;
    }

    /*#FullCalendar .fc-view-container{
    padding:0px 30px;
}*/

    #FullCalendar .fc-prev-button {
        /*position: absolute;
    top: 0px;
    left: 9px;*/
        width: 34px;
        height: 34px;
        /*z-index: 100;*/
        background: rgba(45, 43, 43, 0.8);
        border: none;
        /*opacity: 0.8;*/
        border-radius: 50%;
    }

        #FullCalendar .fc-prev-button span {
            color: #FFFFFF;
        }

    #FullCalendar .fc-icon-left-single-arrow:after {
        left: -25%;
    }

    #FullCalendar .fc-next-button {
        /*position: absolute;
    top: 0px;
    right: 9px;*/
        width: 34px;
        height: 34px;
        /*z-index: 100;*/
        background: rgba(45, 43, 43, 0.8);
        border: none;
        /*opacity: 0.8;*/
        border-radius: 50%;
    }

        #FullCalendar .fc-next-button span {
            color: #FFFFFF;
            margin: 0px -0.2em;
        }

    #FullCalendar .fc-icon-right-single-arrow:after {
        right: -5%;
    }

    /*#FullCalendar .fc-state-default.fc-corner-right,
#FullCalendar .fc-state-default.fc-corner-left{
    border-radius:4px;
}*/

    #FullCalendar .fc-today-button {
        position: absolute;
        top: 1px;
        left: -70px;
        border-radius: 4px;
    }

    #FullCalendar .kiji-info-kikan {
        font-size: 0.85em;
    }

    .calendarIchiran {
        font-size: 1em;
        padding: 3px;
        margin: 40px auto 0px;
        text-align: center;
        width: 180px;
    }

    @media all and (-ms-high-contrast: none) {
        /*IE10以上*/
        #FullCalendar .fc-day-header {
            padding-top: 10px;
        }

        /*#FullCalendar div.fc-widget-header{
    padding-right:17px;
  }*/
    }


    @media screen and (max-width:767px) {
        /* スマートフォン用のスタイル記述 */

        #FullCalendar .fc-today-button {
            left: 57px;
        }

        #FullCalendar .fc-center {
            position: inherit;
        }
    }

    @media screen and (max-width: 636px) {

        /*.cont_item5 span:after {
        display: none;
    }*/
    }

    /*ガントチャートカレンダー end*/

    /* スライドビューワのnext・prevボタンを表示する場合 */
    /*
.layouttype7 .bx-wrapper .bx-controls-direction a {
    top: auto !important;
    padding: 2px 17px !important;
    bottom: 38% !important;
}
    .layouttype7 .bx-wrapper .bx-controls-direction a.bx-prev:hover {
        position: absolute !important;
        top: auto !important;
        right: auto !important;
        left: 10px !important;
    }
    .layouttype7 .bx-wrapper .bx-controls-direction a.bx-next:hover {
        position: absolute !important;
        top: auto !important;
        left: auto !important;
        right: 10px !important;
    }

.layouttype7 .bx-wrapper .bx-controls-direction .bx-prev {
    display: block !important;
    left: 10px !important;
    background: url(../images/bxslider/controls.png) no-repeat 0 -32px !important;
    z-index: 99 !important;
}
.layouttype7 .bx-wrapper .bx-controls-direction .bx-next {
    display: block !important;
    right: 10px !important;
    background: url(../images/bxslider/controls.png) no-repeat -43px -32px !important;
    z-index: 99 !important;
}
*/



    /* 分類の記事一覧（新着マークおよびポップアップ表示付き） start */

    /* 記事一覧 */
    .oshirase_list {
        max-width: 1100px;
        margin: 0px auto 0px;
        padding: 20px 0px;
    }

        .oshirase_list .ttl {
            float: left;
            padding: 0px 15px;
            width: 76%;
        }

        .oshirase_list .newdspmark {
            margin-right: 4px;
            background-color: #ff0000;
            color: #ffffff;
            font-size: 0.7em;
            padding: 4px 6px;
        }

            .oshirase_list .newdspmark img {
                margin-right: 3px;
            }

    /* ポップアップ表示 */
    .popupfloat {
        width: 270px;
        position: fixed;
        right: 15vw;
        bottom: 15vh;
        z-index: 99999;
        cursor: pointer;
        cursor: hand;
    }

        .popupfloat .wrap {
            width: 100%;
            padding: 8px 10px;
            background-color: #ffffff;
            border: solid 2px #1d92c4;
            border-radius: 5px;
            box-shadow: 1px 1px 3px #666;
            text-align: center;
            margin: 0 auto;
            display: flex;
            /* 上下左右で中央 */
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

            .popupfloat .wrap .content {
                width: 100%;
                max-height: 15vh;
                display: block;
                overflow-y: auto;
                color: #1d92c4;
                font-size: 0.9rem;
            }

    /* 分類の記事一覧（新着マークおよびポップアップ表示付き） end */


    /*** 背景動画 start ***/
    .movie_bg {
        background-color: #f8f6ee;
        background: url("../images/top1/bg_movie.png");
        background-repeat: no-repeat;
        background-size: cover;
    }

    /* mainvisualを覆うのぞき窓*/
    .wrapper_mainvisual {
        aspect-ratio: 16/9 !important;
        max-width: 1200px;
        width: 100%;
        margin: 0 auto;
        /* wrapper以上の大きさは非表示にする*/
        overflow: hidden;
        position: relative;
    }

    /* 動画の領域*/
    #mainvisual {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        z-index: 2;
        position: relative;
        overflow: hidden;
        /* 動画の領域*/
        margin-top: -24%;
    }

    /* mainvisual内で100%表示*/
    iframe#iframe_bgmv {
        width: 100% !important;
        height: 100% !important;
        margin: 0 auto !important;
    }

    #mainvisual:before {
        content: "";
        display: block;
        /* ★表示領域の微調整*/
        padding-top: 104.2% !important;
    }

    #menuBg {
        position: absolute;
        width: 100%;
        /* 背景動画のコントロールボタン位置調整 */
        bottom: 23.5%;
    }

    /* 背景動画のコントロールボタンを左へ*/
    div#controlArea {
        position: relative;
        z-index: 999;
        text-align: left;
    }

        div#controlArea a {
            /*color: #333333;*/
            color: #ffffff;
        }

            div#controlArea a.active {
                display: none;
            }

        div#controlArea svg {
            width: 30px;
            margin: 2px 15px 2px 15px;
        }

    /*youtube動画エリア*/
    #mainvisual iframe {
        border-radius: 20px;
    }

    .youtube_area {
        margin-bottom: 70px;
    }

        .youtube_area .cont_title img {
            margin-bottom: 20px;
        }

        /*iframe {
    border-radius: 20px;
}*/

        .youtube_area .Ichiran {
            width: 250px !important;
        }
    /*** 背景動画 end ***/


    figure {
        margin: 0;
        padding: 0;
        overflow: hidden;
        position: relative;
        border-radius: 5px;
    }

        figure::before {
            position: absolute;
            top: 0;
            left: -75%;
            z-index: 2;
            display: block;
            content: '';
            width: 50%;
            height: 100%;
            background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
            background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
            -webkit-transform: skewX(-25deg);
            transform: skewX(-25deg);
        }

        figure:hover::before {
            -webkit-animation: shine .75s;
            animation: shine .75s;
        }

    @-webkit-keyframes shine {
        100% {
            left: 125%;
        }
    }

    @keyframes shine {
        100% {
            left: 125%;
        }
    }

    @media screen and (min-width:768px) {

        /*L-Alert内容表示用 start */
        #pcx_detail, .pcx_detail {
            width: 100%;
            border: 1px solid #F5D6D6;
        }

            #pcx_detail th, #pcx_detail td, .pcx_detail th, .pcx_detail td {
                padding: 6px;
            }

            #pcx_detail th, .pcx_detail th {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
                width: 15%;
                text-align: center;
            }

            #pcx_detail td, .pcx_detail td {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
                width: 85%;
            }

        .evacuation_bold {
            font-weight: bold;
        }
        /*L-Alert内容表示用 end */

        /* L-Alert内容表示用 ver2.1 避難情報 start */
        #pcx_evacuation, .pcx_evacuation {
            width: 100%;
            border: 1px solid #F5D6D6;
        }

            #pcx_evacuation th, #pcx_evacuation td, .pcx_evacuation th, .pcx_evacuation td {
                padding: 6px;
            }

            #pcx_evacuation th, .pcx_evacuation th {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
                width: 20%;
                text-align: center;
            }

            #pcx_evacuation td, .pcx_evacuation td {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
                width: 40%;
            }
        /* L-Alert内容表示用 ver2.1 避難情報 end */
    }

    @media screen and (max-width:767px) {

        /* L-Alert内容表示用 start */
        #pcx_detail, .pcx_detail {
            width: 100%;
            border: 1px solid #F5D6D6;
        }

            #pcx_detail th, #pcx_detail td, .pcx_detail th, .pcx_detail td {
                padding: 6px;
            }

            #pcx_detail th, .pcx_detail th {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
            }

            #pcx_detail td, .pcx_detail td {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
            }

        .evacuation_bold {
            font-weight: bold;
        }
        /* L-Alert内容表示用 end */


        /* L-Alert内容表示用 ver2.1 避難情報 start */
        #pcx_evacuation, .pcx_evacuation {
            width: 100%;
            border: 1px solid #F5D6D6;
        }

            #pcx_evacuation th, #pcx_evacuation td, .pcx_evacuation th, .pcx_evacuation td {
                padding: 6px;
            }

            #pcx_evacuation th, .pcx_evacuation th {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
            }

            #pcx_evacuation td, .pcx_evacuation td {
                border-top: 1px solid #DA5054;
                border-bottom: 1px solid #DA5054;
                border-right: 1px solid #DA5054;
                border-left: 1px solid #DA5054;
            }

            #pcx_evacuation tr:first-child td, .pcx_evacuation tr:first-child td {
                border-top: none;
            }
        /* L-Alert内容表示用 ver2.1 避難情報 end */
    }

    /*:::::::::::::::::::::::::
 * webフォントカラー
 *::::::::::::::::::::::::*/
    .my-green {
        color: #65ab31;
    }

    .my-white {
        color: #ffffff;
    }

    .my-pink {
        color: #CB1187;
    }

    .my-red {
        color: #980C0C;
    }

    .my-blue {
        color: #075B92;
    }

    .my-skyblue {
        color: #5DB1D5;
    }

    /* swiperエリア調整ここから */

    .wrap-swiper {
        height: 90vh;
    }

    #swp23 .swiper-slide img {
        width: 100vw !important; /* 画面の横幅100%にする */
        max-width: 100vw !important;
        max-height: 100% !important;
        /* 中央に配置し直すための魔法（親が中央にある場合） */
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    #swp23 {
        --swiper-swiper-slide-width: 100%;
    }

    .swiperArea {
        margin: 0px !important;
    }

    /* swiperエリア調整ここまで */

    .header-wrapper {
        position: fixed; /* ← 画面に固定 */
        top: -10px;
        left: 0;
        width: 100%;
        z-index: 10;
    }

    .footer-wrapper {
        position: relative; /* ← 画面に固定 */
        bottom: 0px;
        left: 0;
        width: 100%;
        z-index: 10;
        background-color: var(--background-color, #ffffff);
    }

    .wrap-swiper {
        position: relative;
    }


    /* 左の丸＋ボタンをまとめるコンテナ */
    .hero-dept-menu {
        position: absolute;
        top: 370px;
        transform: translateY(-50%);
        padding-left: 0px;
        z-index: 2;
    }



        /* 大きな丸い白背景（半透明） */
        .hero-dept-menu::before {
            content: "";
            position: absolute;
            left: -190px;
            top: 142px;
            transform: translateY(-50%);
            width: 620px;
            height: 620px;
            border-radius: 50%;
            background-color: rgba(238, 252, 255, 0.5);
            z-index: -1;
        }

    /* ボタン2つの共通スタイル */
    .dept-btn {
        display: block;
        width: 350px;
        height: 126px;
        margin-bottom: 30px;
        border-radius: 0px 100px 100px 0px;
        background: linear-gradient(0deg, #004D80, #46BDD8);
        text-decoration: none;
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
        border-top: 3px solid;
        border-right: 3px solid;
        border-bottom: 3px solid;
        color: #fff !important;
        font-size: 1.4375rem;
        font-weight: 500;
        padding-top: 34px;
        text-align: center;
        padding-right: 24px;
    }

    .dept-btn2 {
        font-size: 1.55rem !important;
    }


    .dept-btn {
        background: linear-gradient(0deg, #095E96, #46BDD8);
        transition: background 0.3s ease; /* ← こっちを指定 */
    }

        .dept-btn:hover {
            background: linear-gradient(180deg, #004D80, #46BDD8);
        }


    /* 英語のサブタイトル */
    .dept-sub {
        display: block;
        margin-top: 10px;
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        opacity: 0.9;
    }


    /* スマホ用：少し小さく＆下に寄せる */
    @media (max-width: 768px) {
        .hero-dept-menu {
            top: auto;
            bottom: 30px;
            transform: none;
            padding-left: 20px;
        }

            .hero-dept-menu::before {
                width: 420px;
                height: 420px;
                left: -130px;
                top: auto;
                bottom: -40px;
                transform: none;
            }

        .dept-btn {
            width: 260px;
            padding: 14px 22px;
            font-size: 16px;
        }
    }

    /* 右メニュー */
    .wrap-right-cont {
        position: absolute;
        top: 85px;
        left: 36%;
        z-index: 2;
    }


    .ttl-top {
        text-align: center;
    }


    .txt-top {
        color: var(--txt-color,#fff);
        text-align: center;
        font-weight: 500;
    }


    .kasai-area {
        width: 658px;
        background-color: #B20E0E;
        height: 160px;
        border-radius: 5px;
        margin-top: 50px;
        padding-right: 8px;
        /*本番表示調整*/
        padding-left:8px;
    }

    .ttl-kasai {
        position: relative;
        font-size: 1.125rem;
        text-align: center;
        padding-top: 12px;
        padding-bottom: 4px;
        color: #fff;
        width: 180px;
        margin: 0 auto;
    }

        .ttl-kasai::before {
            content: '';
            position: absolute;
            bottom: 0px;
            left: -32px;
            width: 30px;
            height: 30px;
            background-color: #FB8053;
            background: url(../images/top1/icon-kasai.svg) no-repeat center;
        }

    .iframe-area {
        height: 128px;
        padding: 6px 0px 20px;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .ttl-juuyou {
        position: relative;
        font-size: 1.125rem;
        text-align: center;
        padding-top: 10px;
        padding-bottom: 4px;
        color: #fff;
        width: 140px;
        margin: 0 auto;
    }

        .ttl-juuyou::before {
            content: '';
            position: absolute;
            bottom: 0px;
            left: -32px;
            width: 30px;
            height: 30px;
            background-color: #FB8053;
            background: url(../images/top1/icon-juuyou.svg) no-repeat center;
        }

    #jyuuyou_Area {
        background-color: rgba(9, 94, 150, 0.8);
        padding-bottom: 15px;
        margin-top: 10px;
        border-radius: 5px;
    }

    #topbtn {
        display: none !important;
    }


    /* レスポンシブ調整 */

    .hero-dept-menu-sp {
        display: none;
    }

    .ttl-top-sp {
        display: none;
    }

    .txt-top-sp {
        display: none;
    }


    @media screen and (max-width: 1200px) {

        /* スライダーのセクション自体を画面いっぱいに */
        .swiperArea {
            height: 100vh;
            padding: 0;
            margin: 0;
        }

        /* Swiper 本体と中身の高さをそろえる */
        #swp23,
        #swp23 .swiper-wrapper,
        #swp23 .swiper-slide {
            width: 100%;
            height: 100%;
        }

            /* picture も含めて高さを 100% に */
            #swp23 .swiper-slide picture,
            #swp23 .swiper-slide img {
                width: 100%;
                height: 100%;
            }

            /* 画像を縦横いっぱいに敷き詰める（トリミングOK） */
            #swp23 .swiper-slide img {
                object-fit: cover;
                display: block;
                height: 100vh !important;
            }


        .wrap-swiper {
            min-height: 850px;
        }

        .footer-wrapper {
            padding-left: 20px;
            padding-right: 30px;
        }
    }

    .swiperArea .swiper .swiper-slide img {
        height: initial !important;
    }

    @media screen and (max-width: 1100px) {
        .ttl-top-sp {
            display: block;
            text-align: center;
        }

        .txt-top-sp {
            display: block;
            font-size: 0.75rem;
            text-align: center;
            color: var(--txt-color,#fff);
            letter-spacing: 0.1rem;
            line-height: 1.5rem;
        }

        .txt-top {
            display: none;
        }


        .ttl-top {
            display: none;
        }

        .hero-dept-menu {
            display: none;
        }

        .hero-dept-menu-sp {
            display: flex;
            gap: 30px;
            margin-top: 50px;
        }

        .hero-dept-menu-sp {
            display: flex;
            gap: 30px;
            margin-top: 50px;
            width: calc(100% - 30px);
            margin: 0 auto;
            margin-top: 20px;
        }

        .dept-btn-sp {
            display: block;
            width: 50%;
            height: 140px;
            border-radius: 20px;
            background: var(--background-color, linear-gradient(180deg, #004D80, #46BDD8));
            text-decoration: none;
            box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
            border: 3px solid;
            border-right: 3px solid;
            border-bottom: 3px solid;
            color: #fff !important;
            font-size: 1.4375rem;
            font-weight: 500;
            padding-top: 34px;
            text-align: center;
        }

        .dept-sub-sp {
            display: block;
            margin-top: 10px;
            font-size: 0.72rem;
            letter-spacing: 0.08em;
            opacity: 0.9;
        }

        .wrap-right-cont {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
        }

        .wrap-right-cont {
            top: 20px;
        }

        kasai-area {
            margin-top: 40px;
        }

        .jyuuyou_info {
            height: 70px;
        }

        .kasai-area {
            margin-top: 20px;
        }

        .dept-btn-sp {
            font-size: 1.1875rem;
        }

        .dept-btn-sp-left {
            text-align: center;
            display: block;
            padding-bottom: 121px;
            padding-top: 22px;
        }

        .dept-btn-sp.dept-btn2-sp {
            padding-top: 46px;
            font-size: 1.25rem;
        }

        .css-br::after {
            content: "\A"; /* 改行 */
            white-space: pre; /* \A を有効化 */
        }
    }

    /* 画面幅 1100px 以上のとき、ヒーロー画像を画面いっぱいに表示 */


    @media screen and (max-width: 1000px) {
        .footer-wrapper {
            padding-bottom: 66px;
        }
    }

    @media screen and (max-width: 700px) {
        .wrap-right-cont {
            width: calc(100% - 20px);
        }

        .kasai-area {
            width: auto;
        }

        @media screen and (max-width: 1100px) {
            img {
                max-width: 80%;
            }
        }
    }

    @media screen and (max-width: 550px) {
        .dept-btn-sp.dept-btn-sp-left {
            text-align: left;
            padding-left: 4%;
        }
    }

    @media screen and (max-width: 410px) {
        .swiperArea .swiper .swiper-slide img {
            height: 100% !important;
        }

        .hero-dept-menu-sp {
            gap: 14px;
            width: calc(100% - 10px);
        }

        .dept-btn-sp {
            height: 156px;
        }
    }


    /* 画像の再生停止ボタン　１枚だけのときは表示しない処理 */

    /* デフォルトは「非表示」にしておく */
    #swp23 .swiper-button-pause {
        display: none;
    }

    /* .swiper-wrapper 直下に 2枚目の .swiper-slide が存在する場合だけ表示 */
    #swp23:has(.swiper-wrapper > .swiper-slide:nth-child(2)) .swiper-button-pause {
        display: block;
    }
