html,
body {
    overflow: hidden;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #acacac7e;
}

a.disabled {
    pointer-events: none;
}

.btn.bg-white:hover{
    filter: brightness(0.97);
}

/* navbar  */

/* .navbar a {
    padding-bottom: 0;
} */

#add_search_wrap {
    top: 10px;
    left: 15px;
    width: 250px;
    z-index: 1;
}

#add_search {
    width: 100%;
    padding-right: 35px;
}

#btn_add_search {
    right: 0;
    top: 4px;
}

.navbar-nav>div {
    cursor: pointer;
}

.dropdown-menu {
    margin-top: -5px;
}
.dropdown-menu a,
.navbar-brand,
#title {
    white-space: nowrap;
}
.dropdown-toggle:hover+.dropdown-menu,
.dropdown-menu:hover {
    display: block;
}

#template-nav_block a:hover:not(.dropdown-toggle),
#manual a:hover {
    text-decoration: underline !important;
}
.dropdown-toggle.deco_none:hover {
    text-decoration: none !important;
}

/* 地図 */

.info_detail {
    overflow-y: scroll;
    max-height: 300px;
}
.info_detail .col-3 {
    /* min-width: 100px; */
    width: 100px;
}
.info_detail .col-9 {
    min-width: 300px;
    /* width: 300px; */
}

.info_col{
    /* min-width: 100px; */
    width: 150px;
}
.info_val{
    /* width: 300px; */
    word-break: break-all;
}


/* 右上エリア カテゴリ別ボタン */

#rt_area {
    top: 10px;
    right: 10px;
    z-index: 1;
    width: max-content;
}

#btn_location{
    width: 24px;
    height: 26px;
}
#btn_location img{
    transform: rotate( 45deg );
    padding-bottom: 3px;
    width: 16px;
    height: 16px;
}
#btn_list_on i {
    height: 1em;
}

.visible {
    visibility: visible;
    animation-duration: 0.5s;
    animation-name: fade-in;
}

@keyframes fade-in {
    0% {
        visibility: hidden;
        opacity: 0;
    }
    50% {
        visibility: visible;
        opacity: 0.5;
    }
    100% {
        visibility: visible;
        opacity: 1;
    }
}

#lb_area {
    bottom: 10px;
    left: 10px;
    z-index: 1;
}

#lb_area button {
    height: 60px;
    width: 60px;
    font-size: 11px;
}

#search_res_count {
    right: 10px;
    bottom: 0;
    font-size: small;
    line-height: 28px;
}


/* 多言語マップ */

#btn_language img,
#btn_map_setting img {
    width: 26px;
}

#btn_language .btn-sm,
#btn_map_setting .btn_sm {
    width: 20px;
    font-size: 12px;
    font-weight: bold;
}

#btn_list_off {
    z-index: 1;
    font-size: 30px;
    line-height: 38px;
    width: 38px;
    height: 38px;
    top: 10px;    
    margin-left: -38px;
    border-radius: .25em 0 0 .25em;
}

#listArea {
    width: 280px;
    z-index: 3;
    right: 0;
    top:0;
}

#spot_wrap {
    overflow-y: scroll;
    z-index: 2;
    /* height: calc(100% - 30px); */
    height: calc(100vh - 30px);
}

#spot_wrap::after {
    display: block;
    width: 1px;
    height: 50px;
    content: '';
}

.spot {
    cursor: pointer;
}

.spot .arrow_down {
    bottom: 0;
    right: 0;
    transform: scaleX(1.2);
    margin-bottom: -5px;
}

/* .spot .title {
    text-shadow: 1px 1px 1px #777777;
} */

#btn_ch_kouku img,
#btn_ch_map img {
    width: 52px;
    height: auto;
    border-radius: 2px;
}

.btn_text {
    bottom: 1px;
    text-align: center;
    width: 100%;
    text-shadow: 0px 0px 4px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 4px white;
}

.cat_icon_l {
    border-radius: .25rem;
    font-size: 18px;
    padding: 0 5px;
}

.cat_icon_s {
    font-size: 14px;
    padding: 0 4px;
    margin-bottom: 2px;
    border-radius: .25rem;
}

.mrk {
    cursor: pointer;
    width: 32px;
    height: 32px;
}

.mrk img {
    filter: drop-shadow(1px 1px 2px rgba(160, 160, 160, 0.8));
    width: 24px !important;
    height: 24px !important;
    margin-top: 4px;
    margin-left: 4px;
}

.mrk:hover {
    z-index: 10000;
}

.mrk:hover img,
.mrk.focus img {
    width: 30px !important;
    height: 30px !important;
    margin-left: 1px;
    margin-top: 1px;
}

.label {
    display: none;
    position: absolute;
    transform: translateX(-50%);
    margin-left: 16px;
    margin-top: -26px;
    z-index: 10;
    width: max-content;
    word-break: keep-all;
    background-color: white;
}

.mrk.focus .label,
.mrk:hover .label {
    display: block;
}

.spot_focus {
    background-color: #d1ecf1;
    border: 3px solid #0c5460 !important;
    margin: .4em!important;
}

/* cluster */
.clst::before{
    background-color: rgba(0,0,0,0.1);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ' ';
    border-radius: 18px;
    opacity: 0;
}
.clst:hover::before{
    opacity:1;
}

/* 表示する情報  */
#btn_layer{
    height: 24px;
}

.btn_layer_active::after {
    content: '';
    width: 5px;
    height: 5px;
    position: absolute;
    top: 4px;
    border-radius: 5px;
    border: solid 5px var(--main-clr);
}

#accordion1 {
    width: max-content;
}

#accordion2 {
    width: max-content;
    margin-left: -200px;
    margin-top: 49px;
    z-index: 1;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before {
    background-color: var(--main-clr);
    border-color: var(--main-clr);
}
.custom-checkbox .custom-control-input:focus~.custom-control-label::before,
.custom-checkbox .custom-control-input:active~.custom-control-label::before {
    box-shadow: 0 0 0 0.2rem var(--main-clr-shadow) !important;
    border-color: var(--main-clr);
}

#list_layer input,
#list_layer label {
    cursor: pointer;
}

.navbar-toggler{
    border: none;
}

/* 吹き出し内写真 */
.msg_photo{
    overflow-x: auto;
    overflow-y: hidden;
    width:400px;
}
.photo_scrl{
    height: 80px;
    width: max-content;
}
.photo_scrl img{
    cursor: pointer;
    height: 80px;
    width: 140px;
    object-fit: cover;
    background-color: black;
}

/* 写真拡大表示 */

#photo_zoom {
    display: none !important;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: black;
    z-index: 1060;
}

.photo_close {
    top: 0;
    left: 0;
}

.bg-info3 {
    background-color: #EEF8FA;
}

#close_photo_zoom {
    z-index: 10;
    top: 0;
    left: 0;
    font-size: 50px;
    line-height: 50px;
    text-shadow: 0 0 1px black;
}

#slider {
    max-height: 100vh;
}


/* ----- ↓↓ 石川町個別対応 ----- */
.bg-main {
    color: black !important;
}
#img-menu {
    height: 40px !important;
}
/* ----- ↑↑ 石川町個別対応 ----- */

/* レスポンシブ対応 */
@media (min-width: 1600px) {
    .navbar-expand-xl .navbar-collapse{
        display: -ms-flexbox!important;
        display: flex!important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    .navbar-expand-xl .navbar-nav {
        -ms-flex-direction: row;
        flex-direction: row;
    }
}

/* @media (max-width: 1200px) { */
@media (max-width: 1599px) {
    .navbar-nav{
        margin-top:0px !important;
    }
    .navbar-collapse{
        position: absolute;
        top:45px;
        right:0px;
        z-index: 30;
        background-color: white;
        padding-left:15px !important;
        padding-bottom:10px;
        padding-right:10px;
        box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
        border-bottom-left-radius: 0.25rem !important;
        max-width: 350px;
    }
    .dropdown-menu{
        border: none;
        padding-top:0.2em;
        display: block;
    }
    .navbar-brand:hover {
        text-decoration: underline !important;
    }
    .navbar>.navbar-brand:hover {
        cursor:auto;
    }
    .navbar-brand.deco_none:hover {
        text-decoration: none !important;
    }
    .navbar-expand-xl .navbar-toggler {
        display: inline-block;
    }
    .navbar-expand-xl .navbar-collapse {
        display: block !important;
        flex-basis: 100%;
    }
    .collapse:not(.show) {
        display: none !important;
    }
    .navbar-expand-xl .navbar-nav {
        flex-direction: column;
    }
    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: static;
    }
}

@media (max-width: 1110px) {
    #img-menu{
        width:35px;
        height: 35px;
    }
    #title{
        font-size:1.3em !important;
    }
    #template-title_block{
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .h2{
        font-size: 1.3em;
    }
    .h3{
    font-size: 1.3rem;
    }

    #btn_layer{
        height: 40px;
        padding: 0;
        width: 40px;
    }
    #btn_list_on {
        width: 40px;
        height: 40px;
        padding:0;
    }
    #btn_list_on span{
        display: none;
    }
    #add_search_wrap_sp{
        top: 10px;
        left: 0;
        z-index: 10;
        /* width:100%; */
        
    }
    #add_search_wrap_sp button{
        width:40px;
        height:40px;
        
    }
    #add_search_wrap_sp #add_search_input_sp{
        height: 40px;
        padding: 0; 
        top:0;
        width: 95vw!important;
    }
    #add_search_wrap_sp #add_search_sp{
        height: 30px;
        padding:5px 5px 5px 8px;
    }
    
    #add_search_wrap_sp #btn_add_search_sp{
        top:0;
    }
    #spot_wrap {
        height: calc(100% - 60px);
    }
}

@media (max-width: 990px) {
    #title{
        display: none;
    }
    
    #btn_list_off {
        z-index: 1;
        font-size: 30px;
        line-height: 42px;
        width: 38px;
        height: 42px;
        top: 10px;
        margin-left: -38px;
    }
    
    .info_col{
        width: 100%;
        color:#0C5460; 
        font-weight: bold;
    }
}

@media (max-width: 420px) {
    #add_search_wrap{
        width: 145px;
        padding-top: 1px;
        z-index: 2;
    }
    #add_search_wrap:focus-within{
        width: calc(100% - 20px);
    }
    #add_search_wrap:focus-within #btn_search_shrink{
        display: block !important;
    }
    #add_search_wrap:focus-within #btn_add_search{
        right:20px;
    }
    input[type=text] {
        font-size: 18px !important;
    }
    #btn_add_search{
        top:7px;
    }
    #btn_search_shrink {
        right: 0;
        height: 30px;
        border-radius: 0;
    }
    #btn_layer{
        height: 38px;
    }
    #btn_list_on {
        height: 38px;
    }

}

/* 言語切り替えなし */
#btn_language {
    display: none;
}

/* IE11 */

input::-ms-clear {
    visibility: hidden
}

@media all and (-ms-high-contrast: none) {
    #add_search {
        padding-right: 0;
    }
}


/* iphone対応：16px以下だとズームされる対策 */

/* .iPhone input[type=text] {
    font-size: 16px !important;
}

.iPhone #btn_location {
    top: 10px;
    line-height: 22px;
}

.iPhone #btn_txt_clear {
    margin-top: 2px;
    height: 35px;
} */
