body {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;/*Chrome,Safari*/
    -ms-text-size-adjust: 100%;/*EgdeMobile*/
    -moz-text-size-adjust: 100%;/*firefox*/
}

 /*========= ナビゲーションCSS =========*/
header
{
    position: sticky;
    z-index: 9999;
    background-color    :   #0D47A0 !important;
    color               :   white !important;
    width: 100%;
    display: grid;
    grid-template-rows: 35px 40px;
    grid-template-columns: 1fr 1fr 1fr;
}

header .title
{
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    display: inline-block;
    font-size: 28px;
    margin-left: 10px;
    margin-right: 20px;
    width: 290px;
    height: 67px;
    background-size: contain;
    background-image: url("../images/flood_logo.png");
}

header #sensor-list
{
    margin-left: 50px;
}

header .row1
{
    grid-row: 1;
    grid-column: 2 / 4;
}

header .row1 button
{
    width: 120px;
    font-size: 16px;
    border: 1px white solid;
    border-radius: 10px 10px 10px 10px;
    background-color    :   #2F5597;
    color               :   white;
}

header #sensor-list:focus
{
    background: #8FAADC;
}

header .row1 .button-top
{
    display: inline-block;
    white-space: normal;
    vertical-align: text-bottom;
    margin-top: 5px;
}

header .row2
{
    grid-row: 2;
    grid-column: 2 / 4;
    margin-top: 5px;
    white-space: nowrap;
}

header #search-exec
{
    border-style: solid;
    border-color: black;
    background-color: #F0F0F0;
}

#addres-search
{
    width: 50%;
}

#addres-list
{
    position: absolute;
    z-index: 9999;
    background-color: white;
    color: black;
    margin-left: 69px;
    width: calc(50% - 69px);
    max-height: 250px;
    overflow: auto;
}

#addres-list p
{
    cursor: pointer;
    text-align: left;
    margin-bottom: 1px;
    margin-left: 5px;
}

#addres-list p:hover
{
    background-color: #CCCCCC;
}

/*========= ナビゲーションのためのCSS ===============*/
#g-nav li a{
    display: inline-block;
    text-decoration: none;
    padding:10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
}

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top:0;
    right:-120%;
    width:300px;
    height: 100%;/*ナビの高さ*/
    background:white;
    /*動き*/
    transition: all 0.3s;
    border: 2px black solid;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive
{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list
{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 300px;
    height: 100%;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 30px;
}

/*ナビゲーション*/
#g-nav ul
{
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:80px;
    left:150px;
    transform: translate(-50%,-50%);
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    width: 100%;
}

/*リストのレイアウト設定*/

#g-nav li
{
    list-style: none;
    text-align: left;
    margin-bottom: 10px;
    margin-left: 5px;
}

#g-nav-list
{
    color: black;
    font-weight: bold;
}

#g-nav-list a
{
    color: black;
}

#g-nav-list li:hover
{
    background-color: #CCCCCC;
}

#g-nav img
{
    width: 30px;
    height: 30px;
    margin-right: 10px;
}

/*========= ボタンのためのCSS ===============*/
.openbtn
{
    grid-row: 1;
    grid-column: 3;
    display: inline-block;
    position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
    right: 5px;
    cursor: pointer;
    width: 50px;
    height:30px;
}

.openbtn-span
{
    display: inline-block;
    vertical-align: middle;
}

/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: white;
    width: 45%;
}

.openbtn span:nth-of-type(1) {
    top:2px;
}

.openbtn span:nth-of-type(2) {
    top:12px;
}

.openbtn span:nth-of-type(3) {
    top:22px;
}

.openbtn.active span:nth-of-type(1) {
    top: 6px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
    background-color: black;
}

.openbtn.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 18px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
    background-color: black;
}

#logout {
    background-color: #CCCCCC;
    border: 2px solid black;
    border-radius: 4px;
    position: fixed;
    right: 10px;
    margin-top: -5px;
    width: 40px;
    height: 35px;
}

#logout img {
    width: 100%;
}

#map {
    width: 100%;
    height: calc(100vh - 75px);
    position: fixed;
}

.notices-index {
    width: 100%;
}

@media all and (max-width: 910px)
{
    header
    {
        grid-template-columns: 0px 1fr;
    }

    header .title
    {
        display: none !important;
    }

    #addres-search
    {
        width: 60%;
    }

    #addres-list
    {
        width: calc(70% - 69px);
    }
}

@media all and (max-width: 500px)
{
    header
    {
        grid-template-rows: 68px 40px;
    }

    header .button-right
    {
        display: block;
        height: 30px;
        margin-top: 5px;
    }

    header .button-left
    {
        margin-top: 10px;
        margin-left: 0px;
    }

    header .row1 button
    {
        width: 170px;
    }

    header #sensor-list
    {
        position: sticky;
        margin-left: 0;
    }

    .openbtn{
        right: 10px;
        top: 20px;
    }

    #map
    {
        height: calc(100% - 138px);
    }
}
