.title_box {
  padding: 40px 0;
  background-color: #ededed;
  border-top: 1px solid #ececec;
  border-bottom: 1px solid #ececec;
}
.title_box .title{
  display: block;
  width: 1200px;
  margin: 0 auto;    
  font-size: 22px;
  font-weight: 600;
  font-family: "MB" !important;
}
#wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0 80px;
}
#map {
  width: 100%;
  height: 90vh;
  z-index: 1;
  filter: brightness(0.7);
  border-radius: 20px;
}
.custom_marker_red {
  background-image: url(../img/sub/home-icon-1.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 3.5rem !important;
  height: 4rem !important;
}

.custom_marker_blue {
  background-image: url(../img/sub/home-icon-2.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 3.5rem !important;
  height: 4rem !important;
}

.leaflet-marker-icon { border-radius: 50%; text-align: center;}
.leaflet-marker-icon div { line-height:40px;}
.leaflet-marker-icon div span { font-size: 1.6rem;}

.leaflet-popup { bottom: 4rem !important; }
.leaflet-popup-content { font-size: 1.4rem;}
.leaflet-popup-close-button span {font-size: 1.4rem;}


.marker-cluster { width: 5rem !important; height: 5rem !important; border-radius: 50% !important; }
.marker-cluster > div { width: 4rem; height: 4rem; border-radius: 50%; position: absolute; margin-left: unset !important; margin-top: unset !important; top:50%; left: 50%; transform: translate(-50%,-50%);}

.sm { background-color: unset !important; /* width: 7rem !important; height: 7rem !important; */}
.sm > div { background: url(../img/sub/green.png) no-repeat center / cover; background-color: unset !important; width: 4rem !important; height: 4rem !important;}
.sm > div span { line-height:4rem;}
.md { background-color: unset !important; /* width: 7rem !important; height: 7rem !important; */}
.md > div { background: url(../img/sub/red.png) no-repeat center / cover; background-color: unset !important; width: 4rem !important; height: 4rem !important;}
.md > div span { line-height:4rem;}
.lg { background-color: unset !important; /* width: 7rem !important; height: 7rem !important; */}
.lg > div { background: url(../img/sub/red.png) no-repeat center / cover; background-color: unset !important; width: 4rem !important; height: 4rem !important;}
.lg > div span { line-height:4rem;}


.marker_info { position: fixed; right: 1.5rem; top: 7rem; padding: 0.3rem 1rem; z-index: 9; background: #ffffffcf; border-radius: 10px;}
.marker_info p { display: flex; align-items: center; font-size: 1.5rem; margin: 0.6rem 0; }
.marker_info p img { width: 2.5rem; margin-right: .7rem;}


#map {
  position: relative;
}

.name_wrapper {
  width: 80%;
  margin: 0 auto;
  position: relative; /* 자식 요소를 절대 위치로 설정할 수 있게 함 */
}

.close_button {
  position: absolute; /* 닫기 버튼을 절대 위치로 설정 */
  right: 10px; /* 오른쪽 여백 */
  top: 10px; /* 위쪽 여백 */
  cursor: pointer; /* 커서를 포인터로 변경 */
}

#info_box {
  width: 100%;
  max-width: 1200px;
  z-index: 9;
  border-radius: 20px;
  background: #fff;
  margin: 30px auto 30px;
  padding: 1rem;
}


#info_box .close_btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 2rem;
  cursor: pointer;
  background: none;
  border: none;
  color: #333;
  font-weight: bold;
}



#info_box.lh,
#info_box.newhome {  padding: 1.5rem; border: 1px solid  #b9b5b3;}
#info_box.lh .name_link { background: #1b2639;  border-radius: .7rem;}
#info_box.newhome .name_link { background: #1b2639; border-radius: .7rem;}
#info_box .name_link { display: block; width: 100%; padding: 1.5rem 0; font-size: 1.6rem; font-weight: 600; color: #fff; text-align: center; position: relative;}
#info_box .name_link:after { content:''; background: url(../img/sub/sub-arrow.png) no-repeat center / contain; width: 1rem; height: 2rem; position: absolute; right: 1.5rem; top: 50%; transform: translateY(-50%);}
#info_box .detail_wrap { background: #fff; padding: 1.5rem 0; display: flex; flex-direction: column; gap: 1.5rem;}
#info_box .detail_wrap .cls { width: 100%; font-size: 1.6rem; text-align: center; font-weight: 500;}
#info_box .detail_wrap .cls:before { content: "유형 : "; font-size: inherit;font-weight: unset;}
#info_box .detail_wrap .state { width: 100%; font-size: 1.6rem; text-align: center; color: #ff2424;}
#info_box .detail_wrap .state:before { content: "공고상태 : "; font-size: inherit; color: #333;}
#info_box .detail_wrap .period { font-size: 1.6rem; width: 100%; text-align: center; }
#info_box .detail_wrap .period:before { content: '공고기간 : '; margin-right: 1rem;}

@media screen and (max-width: 767px) {
  .title_box {
    padding: 20px 15PX;
    background-color: #ededed;
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
}
.title_box .title {
    width: 100%;
    font-size: 20px;
}
#wrap {
  width: 90%;
  max-width: 100%;
  margin: 0 auto;
  padding: 40px 0 ;
}
}