html, body {
    height: 100%;
    overflow: hidden; /* 画面全体がズルっと滑る現象の対応 */
    /*min-width:1200px;*/
    /*min-height:900px;*/
}

body::-webkit-scrollbar {
    display: none;
}

html::-webkit-scrollbar {
    display: none;
}

/*body {*/
/*    min-width: 1200px;!important;*/
/*}*/

html {
    /*overflow-y: scroll;*/
}

#map {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: white;
}

.vw-sm {
    font-size: 1.1vw;
}

.vw-lg {
    font-size: 1.6vw;
}

.w-10 {
    width: 10% !important;
}

.w-20 {
    width: 20% !important;
}

.w-30 {
    width: 30% !important;
}

.w-40 {
    width: 40% !important;
}

.w-60 {
    width: 60% !important;
}

.w-70 {
    width: 70% !important;
}

.w-80 {
    width: 80% !important;
}

.w-90 {
    width: 90% !important;
}

.btn-top {
    position: relative;
    z-index: 99999;
    height: 7.5vh;
    line-height: 7.5vh;
    padding: 0;
    background-color: #254060;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 2px 2px 2px 2px rgba(100, 100, 100, 0.3);
}

.btn-aiueo {
    position: relative;
    z-index: 99999;
    height: 18vh;
    width: 18vh;
    line-height: 18vh;
    padding: 0;
    background-color: #254060;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 2px 2px 2px 2px rgba(100, 100, 100, 0.3);
}

.btn-start {
    position: relative;
    z-index: 99999;
    height: 12vh;
    line-height: 12vh;
    /*width: 60rem;*/
    padding: 0;
    font-size: 2.5vw;
}

.btn-zoom {
    width: 16.4rem;
}

.bg-gray {
    background-color: #eeeeee;
}

.top-title {
    padding: 1px 10px;
    text-align: left;
    border-left: 6px double #000;
    background: #e5ece7;
    line-height: 3rem;
    height: 3rem;
}

.top-scroller {
    height: 60vh;
    padding: 1em;
    overflow-y: scroll;
    overflow-x: hidden;
    border: solid 1px #888888;
}

.notice {
    height: 60vh;
    padding: 1em;
    border: solid 1px #888888;
}

.notice-area {
    padding: 1em;
}

.btn-adr {
    width: 17.5vw;
    margin-right: 1vw;
    margin-bottom: 1vw;
}

.box-top-key {
    padding: 2vw;
    /*width: 32vw;*/
    width: 100%;
    height: 55vh;
}

.btn-key {
    width: 6vw;
    height: 6vw;
    line-height: 6vw;
    margin-right: 1vw;
}

.btn-key-lg {
    width: 8vw;
    height: 5vw;
    line-height: 5vw;
    margin-right: 1vw;
}

.box-attr-hidden {
    touch-action: pan-y;
    height: 41vh;
    overflow-y: scroll;
    overflow-x: hidden;
}

table.table-attr {
    width: 100%;
}

table.table-attr td, th {
    font-size: 1.1vw;
    text-align: left;
    padding: 0.5vh 0 0.5vh 1vh;
    border-collapse: collapse;
    border: 0.5vh solid #ffffff;
}

table.table-attr span {
    font-size: 1.1vw;
}

table.table-attr td.h {
    background-color: #eeeeee;
    /*width: 13vw;*/
    width: 14vw;
}

table.table-attr td.hb {
    background-color: #4f4e4e;
    color: #ffffff;
    border-top: 1vh solid #ffffff;
}

table.table-emp {
    width: 100%;
}

table.table-emp th {
    text-align: center;
    background-color: #e7eef5;
    font-weight: normal;
    padding: 0.5vh 0 0.5vh 1vh;
    border-collapse: collapse;
    border: 0.5px solid #454545;
}

table.table-emp td, th {
    font-size: 1.0vw;
    /*text-align: left;*/
    padding: 0.5vh 0 0.5vh 1vh;
    border-collapse: collapse;
    border: 0.5px solid #454545;
}

table.table-admin {
    width: 100%;
}

table.table-admin th {
    text-align: center;
    background-color: #e7eef5;
    font-weight: normal;
}

table.table-admin td, th {
    font-size: 1.0vw;
    padding: 0.5vh 0 0.5vh 1vh;
    border-collapse: collapse;
    border: 0.5px solid #d2d0d0;
}

.modal {
    z-index: 1100 !important; /* map=400, blockUI=1000 */
}

.btn {
    z-index: 410 !important;
}

.modal-group {
    min-width: 60vw;
    max-height: 70vh;
}

.modal-emp {
    min-width: 40vw;
    max-height: 70vh;
}

.modal-zoom {
    max-width: 10vw;
}

.modal-print {
    max-width: 10vw;
}

.modal-han {
    /*max-height: 70vh;*/
}

.card-group {
    cursor: grab;
}

.top-img {
    cursor: pointer;
}

.group-text {
    /*min-height: 5rem;*/
    min-height: 7rem;
}

.news {
    height: 28vh;
    padding: 1em;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: rgba(255, 255, 255, 0.3);
    border: solid 1px #888888;
    font-size: 1.5vw;
}

.agreement {
    height: 70vh;
    padding: 1em;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: rgba(255, 255, 255, 0.3);
    border: solid 1px #888888;
    font-size: 1.5vw;
}

.search {
    /*height: 28vh;*/
    padding: 1em 0 0 1em;
    /*overflow-y: scroll;*/
    /*overflow-x: hidden;*/
    /*background-color: rgba(255, 255, 255, 0.3);*/
    border: solid 1px #888888;
    font-size: 1.5vw;
}

.index-body {
    background-image: url('/img/top-city.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

.print-select {
    width: 300px;
}

.sponsor {
    /* bodyの直下 */
    position: absolute;
    z-index: 500;
    bottom: 0.6vh;
    left: 6vw;
    font-size: 5px;
    color: black;
    background-color: rgba(255, 255, 255, 0.7);

}

.pin {
    position: absolute;
    z-index: 500;
    top: -100px; /* JSで動的に指定される */
    left: -100px; /* JSで動的に指定される */
}

.han {
    position: absolute;
    z-index: 500;
    left: 15px;
    /*bottom: 25px;*/
    bottom: 55px;
    display: none;
}

.north {
    position: absolute;
    z-index: 500;
    left: 1vw;
    top: 11vh;
}

.system {
    position: absolute;
    z-index: 99999;
    background-color: white;
    bottom: 5%;
    left: 75%;
    font-size: 0.8vw;
    color: #999999
}

.no-chiban {
    font-size: 0.8vw;
    color: #999999;
}