body{
    position: relative;
}
.map-list h1 + div >dl:first-of-type,
.map-list h2 + div >dl:first-of-type{
    border-top: 1px solid #bfbfbf;
}

.map-list dd .facilities-list {
    display: flex;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.map-list dd .facilities-list li{
    display: inline-block;
    border: #00aca9 2px solid;
    padding: .6em .6em;
    color: #00aca9;
    line-height: 1;
    border-radius: 8px;
}
.map-list dd .facilities-list li:not(:last-child){
    margin-right: 1.5em;
}
.map-list dd .facilities-list:last-of-type{
    margin-bottom: 1.5em;
}
.facilities-imgs{
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    margin: 1em auto;
}
.facilities-imgs li{
    width: 24%;/* 4つ*/
    /*width: 19%;５つ*/
}
.facilities-imgs li:not(:last-child) {
    margin-right: 1%;
}
#overlay{
    width: 100%;
    height: 100vh;
    display: block;
    background: #000000c9;
    position: fixed;
    top:0;
    left: 0;
    z-index: 9999999999999;
}
.modalBox{
    width: 55%;
    max-width: 80%;
    max-height: 84vh;
    position: fixed;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 99999999999999;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.modalBox:has(img){
    height: auto;
    max-height: none;
    width: auto;
}
#overlay::after{
    position: fixed;
    top: 2vw;
    right: 4vw;
    display: block;
    content: '';
    width: 5px;
    height: 50px;
    background: #ffffff;
    z-index: 999999999999999;
    transform: rotate(-45deg);
    cursor: pointer;
}
#overlay::before{
    position: fixed;
    top: 2vw;
    right: 4vw;
    display: block;
    content: '';
    width: 5px;
    height: 50px;
    background: #ffffff;
    z-index: 999999999999999;
    transform: rotate(45deg);
    cursor: pointer;
}
.map_area{
    /* display: flex;
    justify-content: space-between; */
    position: relative;
    margin-bottom: 10em;
}
.map_area .mapbox{
    display: block;
    width: 72%;
    margin: auto;
}
.districtbox{
    width: 22%;
    flex-shrink: 0;
}
/* .districtbox > dl{
    background: #f4f4f4;
    border: 1px solid #a8a8a8;
    padding: 1em;
} */
.districtbox > dl:not(:last-of-type){
    margin-bottom: .5em;
}
/* .districtbox dl > dt{
    text-align: center;
    background: #00aca9;
    color: #fff;
    padding: .2em;
    border-radius: 12px;
    cursor: pointer;
} */
 .districtbox dl{
    color: #474747;
    transition: .2s;
    position: absolute;
    max-width: 25%;
    min-width: 23%;
    background: #ffffff;
    border-bottom: 1px solid #00aca9;
    padding-bottom: .5em;
 }  
 .districtbox dl:hover{
    background: #ffffffa2;
    backdrop-filter: blur(3px);
 }
 .districtbox dl.hokkaidou{
        top: 7%;
    left: 41%;
}
.districtbox dl.kitakanntou{
    top: 50%;
    left: 30%;
    z-index: 99999999;
}
.districtbox dl.touhoku{
       top: 44%;
    right: 3%;
    z-index: 999999999;
}
.districtbox dl.higashikantou{
    top: 62%;
    right: 6%;
    z-index: 9999999;
}
.districtbox dl.toukyou{
    top: 70%;
    right: 8%;
    z-index: 999999;
}
.districtbox dl.minamikantou{
    top: 77%;
    right: 16%;
    z-index: 99999;
}
.districtbox dl.hokuriku{
top: 57%;
    left: 23%;
    z-index: 9999999;
}
.districtbox dl.toukai{
top: 83%;
    right: 28%;
    z-index: 9999;
}
.districtbox dl.kansai{
top: 90%;
    right: 36%;
    z-index: 999;
}
.districtbox dl.sikoku{
top: 96%;
    right: 47%;
}
.districtbox dl.chuugoku{
top: 62%;
    left: 11%;
    z-index: 999;
}
.districtbox dl.kyuushuu{
        top: 71%;
    left: -1%;
}
 .districtbox dl:hover{
    color: #00aca9;
 }
  .districtbox dl > dt{
    cursor: pointer;
    position: relative;
    font-size: 20px;
    display: flex;
    align-items: center;
    line-height: 1;
}
.districtbox dl > dt::before{
    content: "▶";
    font-size: .6em;
    color: #7ac7c6;
    transition: .2s;
    display: inline-block;
}
.districtbox dl > dt.active::before{
transform: rotate(90deg);
}
/* .districtbox dl.hokkaidou > dt{
    background: #d03000;
}
.districtbox dl.touhoku > dt{
    background: #0070cd;
}
.districtbox dl.kitakanntou > dt{
    background: #f8abd8;
}
.districtbox dl.higashikantou > dt{
    background: #dfba4c;
}
.districtbox dl.toukyou > dt{
    background: #009f78;
}
.districtbox dl.minamikantou > dt{
    background: #7d6533;
}
.districtbox dl.hokuriku > dt{
    background: #00a9cd;
}
.districtbox dl.toukai > dt{
    background: #a9ce00;
}
.districtbox dl.kansai > dt{
    background:#e98930;
}
.districtbox dl.sikoku > dt{
    background: #a386cd;
}
.districtbox dl.chuugoku > dt{
    background: #00aeff;
}
.districtbox dl.kyuushuu > dt{
    background: #b49aa8;
} */
.districtbox dl > dd{
    padding-top: 1em;
    display: none;
    font-size: 18px;
    padding-left: 1em;
}
.districtbox dl > dd >ul >li{
    /* padding-left: 1.8em;
    text-indent: -1.8em; */
}
.districtbox dl > dd >ul >li > a{
    display: flex;
    align-items: center;
}
.districtbox dl > dd >ul >li > a::before{
    content:"▶";
    padding-right: .3em;
    transition: .1s;
    font-size: .6em;
}
.districtbox dl > dd >ul >li > a:hover{
    padding-left: .3em;
    color: #00aca9;
}
#sikoku .st0,#kyuushuu .st1,#chuugoku .st2,#kansai .st3,#hokuriku .st4,#toukai .st5,#kitakanntou .st6,#minamikantou .st7,#toukyou .st8,#higashikantou .st9,#touhoku .st10,
#hokkaidou .st11{fill:#b3b3b3; transition: .2s;}

/* #sikoku.active .st0{fill:#A386CD;}
	#kyuushuu.active .st1{fill:#B49AA8;}
	#chuugoku.active .st2{fill:#00AEFF;}
	#kansai.active .st3{fill:#E98930;}
	#hokuriku.active .st4{fill:#00A9CD;}
	#toukai.active .st5{fill:#A9CE00;}
	#kitakanntou.active .st6{fill:#F8ABD8;}
	#minamikantou.active .st7{fill:#7D6533;}
	#toukyou.active .st8{fill:#009F78;}
	#higashikantou.active .st9{fill:#DFBA4C;}
	#touhoku.active .st10{fill:#0070CD;}
	#hokkaidou.active .st11{fill:#D03000;} */
    #sikoku.active .st0,
	#kyuushuu.active .st1,
	#chuugoku.active .st2,
    #kansai.active .st3,
	#hokuriku.active .st4,
	#toukai.active .st5,
	#kitakanntou.active .st6,
	#minamikantou.active .st7,
	#toukyou.active .st8,
	#higashikantou.active .st9,
	#touhoku.active .st10,
	#hokkaidou.active .st11{fill:#00aca9;}
    .map_content{
        background: #ffffff;
        padding: 1.5em;
    }
    .map_content h3{
    padding: .5em 1em;
    font-size: 1em;
    letter-spacing: 5px;
    font-weight: 600;
    color: #3f3f3f;
    margin: 20px 0;
    background: #f1f1f1;
    border-bottom: solid 3px #00aca9;
    }
    .map_content iframe{
        height: 380px;
    }
    @media only screen and (max-width: 1024px){
        .map_area{
            margin-bottom: 8vw;
        }
        .map_area .mapbox{
    display: none;
}
.districtbox{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-shrink: 0;
    flex-wrap: wrap;
}
.districtbox dl{
    width: 45%;
    position: static;
    max-width: none;
    min-width: none;
}
.districtbox > dl:not(:last-of-type){
    margin-bottom: auto;
}
.districtbox dl:not(:nth-last-of-type(-n+2)){
    margin-bottom: .5em;
}
.modalBox{
        width: 83vw;
        height: 84vh;
        max-height: none;
        overflow-y: auto;
        max-width: none;
}
.map_content{
    padding: .5em;
}
.map_content iframe{
        height: 48vw;
    }
    }
@media only screen and (max-width: 847px) {
    .sub-menu ul {
   display: flex;
   flex-wrap: wrap;
}
    .sub-menu.sub-page li {
    width: 32.3vw;
    flex-shrink: 0;
    text-align: center;
}
    .map-list dd .facilities-list{
        justify-content: space-evenly;
    }
.map-list dd .facilities-list li{
    margin-right: 0;
    margin-top: 1.3em;
    width: 45%;
    text-align: center;
    font-size: min(2vw,15px);
}
.map-list dd .facilities-list li:not(:last-child) {
        margin-right: 0;

}
.map-list dd .facilities-list:last-of-type{
    margin-bottom: 1.5em;
}
.facilities-imgs{
    justify-content: space-evenly;
}
.facilities-imgs li{
    width: 45%;
    margin-right: 0;
     margin-top: 2%;
}
.facilities-imgs li:not(:last-child) {
    margin-right: 0;
}
.modalBox{
    width: 95% !important;
    height: 79vh;
    overflow: auto;
    max-width: none;
    max-height: none;
}
}