* {
    font-size: 16px;
    color: #696969;
    font-family: "Lucida Grande", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
  }


.container {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    display: flex;
}

.mainFlex {
    width: 70%;
}

.subFlex {
    width: 30%;
    padding-top: 10px;
    text-align: center;
}

a {
    text-decoration: none;
}

a {
    color: #008000;
}

a:before {
  color: #008000;
}

a:visited {
  color: #008000;
}

a:hover {
  color: #008000;
}

a::after {
  color: #008000;
}

a:active {
  color: #008000;
}

li {
  list-style: none;
}

.headerBox {
    background: #fff;
    position: relative;
}

header {
    display: flex;
}

.sitelogo {
    width: 200px;
    margin-left: 10px;
}

.sitelogo img {
    width: 100%;
}

.catch {
    padding-left: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-weight: normal;
}

.catch h1.sitetitle {
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 0;
}

.sitedesc {
    font-size: 16px;
    font-weight: normal;
}

.sitedesc br {
    display: none;
}

.titleBarBG {
    background-color: #008000;
    width: 100%;
    margin-bottom: 20px;       
}

.titleBox {
    color: #ffffff;
    max-width: 1200px;
    width: 100%;
    margin: auto;
    padding: 20px 0;
    font-weight: normal;
}
  
.pageTitle {
    font-size: 28px;
    font-weight: normal;
    padding: 0;
    margin: 5px 0;
    color: #fff;
 }

.catchImgBox {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    aspect-ratio: 1 / .6;
    margin-bottom: 20px;
}

.catchImgBox img {
    width: 100%;
}

.sel_items {
    display: flex;
    flex-flow: row wrap;
    margin: auto;
    max-width: 1000px;
    width: 100%;
    margin-bottom: 50px;
}

.sel_items dt {
    flex-basis: 20%;
    padding: 20px;
    background-color: #22AADD;
    border-bottom: 1px solid #ccc;
}

.sel_items dd {
    flex-basis: 80%;
    padding: 20px;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
}

.sel_items dd ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.sel_items dd ul li {
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: 25%;
    box-sizing: border-box;
    padding: 10px;
}

.sel_category {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    max-width: 1000px;
    width: 100%;
    margin-bottom: 50px;
}

.sel_category li {
    flex: 1 1 50%;
    border-left: 3px solid #008000;
    padding: 10px;
    margin-bottom: 10px;
}

.info_title {
    border-left: 3px solid #008000;
    border-bottom: 1px solid #008000;
    padding: 20px;
    font-weight: normal;
    margin: auto;
    margin-bottom: 10px;
    max-width: 1000px;
    width: 100%;
}

.info {
    display: flex;
    flex-flow: row wrap;
    margin: auto;
    margin-bottom: 50px;
    max-width: 1000px;
    width: 100%;
}

.info dt {
    flex-basis: 20%;
    padding: 20px;
    /* background-color: #77bbee; */
    border-bottom: 1px solid #ccc;
    margin-bottom: 2px;
}

.info dd {
    flex-basis: 80%;
    padding: 20px;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    margin-bottom: 2px;
}

h2.listName {
    border-left: 3px solid #008000;
    border-bottom: 1px solid #008000;
    padding: 10px 20px;;
    margin-bottom: 10px;
    font-weight: normal;
    font-size: 22px;
    /* margin: 5px; */
}

h3.listName {
    border-bottom: 1px solid #008000;
    padding: 10px 20px;;
    margin-bottom: 10px;
    font-weight: normal;
    font-size: 22px;
    /* margin: 5px; */
}

.tblList {
    margin: 10px;
    width: 100%;
    max-width: 800px;
    table-layout: fixed;
}

.tblList thead td {
    color: #fff;
    background-color: #22AADD;
}

.tblList tbody td {
    border-bottom: 1px solid #ccc;
}


.tblList td {
    padding: 20px 10px;
}

.commentDetail {
    border: 1px solid #008000;
    padding: 10px;
    margin-bottom: 10px;
}

article.list {
    margin-bottom: 50px;
}

.description {
    width: 80%;
    margin: auto;
    padding: 20px;
    border: 1px solid #008000;
}

.footerBox {
    margin-top: 20px;
    padding: 10px;
    background-color: #008000;
}

footer {
    font-size: 16px;
    color: #696969;
    font-family: "Lucida Grande", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    margin-top: 20px;
    background-color: #008000;
    display: block; 
}

.footerlink_box {
    max-width: 1200px;
    width: 100%;
    display: flex;
    margin: auto;
    padding: 20px 0;
}

.footerlink_box ul {
    /* flex: 1; */
    margin-right: 20px;
}

.footerlink_box a, 
.footerlink_box a:hover,
.footerlink_box a:visited {
    color: #fff;
}

.copyright {
    padding-left: 20px;
    color: #fff;
}


#map-river {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    height: 50vw;
    /* min-height: 700px; */
    border-width: 1px;
    border-color: #ccc;
    border-style: solid;
}

#map {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    height: 50vw;
    /* min-height: 700px; */
    border-width: 1px;
    border-color: #ccc;
    border-style: solid;
}

.map_source {
    max-width: 1200px;
    width: 100%;
    margin-right: 10px;
    margin: auto;
    text-align: right;
}

.map_source br {
    display: none; 
}

@media screen and ((min-width:521px) and (max-width:1200px)){
    .titleBox {
        padding: 20px;
    }

    .footerlink_box {
        max-width: none;
        padding: 20px;
    }

}

@media screen and (max-width: 520px) {

    header {
        width: 100%;
        margin: auto;
        display: flex;
    }

    .sitelogo {
        width: 100px;
        margin-left: 0;
    }

    .catch h1.sitedesc {
        font-size: 12px;
    }

    .sitedesc br {
        display: inline;
    }

    .headerBox {
        display: flex;
        /* justify-content: center; */
        align-items: center;
        padding: 0 5px;
        background: #fff;
        position: relative;
    }

    .titleBox {
        color: #ffffff;
        width: 100%;
        padding: 20px;
        font-weight: normal;
    }

    .container {
        display: block;
    }

    .mainFlex {
        box-sizing: border-box;
        padding: 5px;
        width: 100%;
    }

    .subFlex {
        width: 100%;
    }

    .titleBox {
        padding: 20px;
    }

    .pageTitle {
        font-size: 20px;
    }

    .sel_items {
        display: block;
        flex-flow: nowrap;
        width: 100%;
    }
    
    .sel_items dt {
        width: 100%;
    }
    
    .sel_items dd {
        width: 100%;
    }

    .tblList {
        width: auto;
    }

    .info {
        display: block;
        flex-flow: nowrap;
        width: 100%;
        margin-bottom: 20px;
    }
    
    .info dt {
        width: 100%;
        border-bottom: none;
        padding: 10px 20px 5px;
        background-color: #fff;
    }
    
    .info dd {
        width: 100%;
        padding: 5px 10px 10px 40px;
    }

    /* 川詳細ページ地図 */
    #map-river {
        width: 100%;
        height: 100vw;
        /* min-height: 700px; */
        border-width: 1px;
        border-color: #ccc;
        border-style: solid;
    }

    /* 施設詳細ページ地図 */
    #map {
        width: 100%;
        height: 100vw;
        /* min-height: 700px; */
        border-width: 1px;
        border-color: #ccc;
        border-style: solid;
    }

    .map_source br {
        display: inline;
    }

    .footerlink_box {
        display: block;
        margin: auto;
        padding: 20px;
    }
}