@charset "UTF-8";
@import url("/font/pretendard_gov.css");
@import url("/font/nanumsquare_neo.css");
@import url("/font/jalnan_gothic.css");
@import url("/font/montserrat.css");
@import url("/font/remixicon_v4.6.0.css");
@import url("/font/xeicon.css");
/*-------------------------------------------------

Title       : 공통 (폼/게시판/버튼)
Author      : EASESOFT
Create Date : 2025-11

-------------------------------------------------*/
.findeep-widget-container {
  display: none !important;
}

#quick {
  display: none !important;
}

#footer .go_top {
  display: none !important;
}

#contents_body {
  padding: 0;
}

.contentWrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: 80rem;
  position: relative;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  box-sizing: border-box;
}

.sidebar_wrap {
  width: 34rem;
  height: 100%;
  flex: none;
  background: #FFFFFF;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  border-right: 1px solid #dddddd;
  padding-left: 0.5rem;
}
.sidebar_wrap .search_wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.8rem;
}
.sidebar_wrap .search_wrap .input_box {
  border: 1px solid #dddddd;
  background: #FFFFFF;
  border-radius: 1.2rem;
  height: 4.8rem;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
}
.sidebar_wrap .search_wrap .input_box input {
  border: none;
  outline: none;
  flex: 1;
  width: 100%;
}
.sidebar_wrap .search_wrap .input_box .search {
  flex: none;
  width: 3rem;
  height: 100%;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.74712 0.5C15.1275 0.5 19.4942 4.86671 19.4942 10.2471C19.4942 15.6275 15.1275 19.9942 9.74712 19.9942C4.36671 19.9942 0 15.6275 0 10.2471C0 4.86671 4.36671 0.5 9.74712 0.5ZM9.74712 17.8282C13.9357 17.8282 17.3282 14.4357 17.3282 10.2471C17.3282 6.05856 13.9357 2.66603 9.74712 2.66603C5.55856 2.66603 2.16603 6.05856 2.16603 10.2471C2.16603 14.4357 5.55856 17.8282 9.74712 17.8282ZM18.9368 17.9052L22 20.9684L20.4684 22.5L17.4052 19.4368L18.9368 17.9052Z' fill='%23000'/%3E%3C/svg%3E%0A") no-repeat center center;
  background-size: 1.8rem;
}
.sidebar_wrap .search_wrap .input_box .reset {
  flex: none;
  width: 2rem;
  height: 2rem;
  border: 1px solid #dddddd;
  border-radius: 100%;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' width='7.2mm' height='7.2mm' version='1.1' viewBox='0 0 20.5 20.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23000; stroke-linecap: square; stroke-linejoin: round; stroke-width: 2.5px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M1.8,1.8l17,17'/%3E%3Cpath class='cls-1' d='M1.8,18.7L18.7,1.8'/%3E%3C/svg%3E") no-repeat center center;
  background-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .sidebar_wrap .search_wrap .input_box .reset:hover {
    background: #1B2539 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' width='7.2mm' height='7.2mm' version='1.1' viewBox='0 0 20.5 20.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23fff; stroke-linecap: square; stroke-linejoin: round; stroke-width: 2.5px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M1.8,1.8l17,17'/%3E%3Cpath class='cls-1' d='M1.8,18.7L18.7,1.8'/%3E%3C/svg%3E") no-repeat center center;
    background-size: 1rem;
  }
}
.sidebar_wrap .search_wrap .result {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 0.5rem;
}
.sidebar_wrap .search_wrap .result strong {
  color: #4579EB;
}
.sidebar_wrap .course_tab {
  flex: none;
  padding: 2.4rem;
  background: #fbfbfb;
  border-bottom: 1px solid #dddddd;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1.6rem;
}
.sidebar_wrap .course_tab .txt {
  font-size: 2rem;
  font-weight: 700;
}
.sidebar_wrap .course_tab .box {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  border-radius: 1.6rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.sidebar_wrap .course_tab .tab {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex: 1;
  background: #1B2539;
  font-size: 1.4rem;
  font-weight: 600;
  color: #FFFFFF;
  height: 4.2rem;
  transition: 0.2s;
}
.sidebar_wrap .course_tab .tab:not(.active):hover {
  background: #5182CC;
}
.sidebar_wrap .course_tab .tab.active {
  background: #5182CC;
}
.sidebar_wrap .course_tab .btn_box {
  gap: 0.5rem;
}
.sidebar_wrap .list_inner {
  overflow: hidden;
}
.sidebar_wrap .list_inner .scroll_inner {
  overflow-y: auto;
  height: 100%;
}
.sidebar_wrap .list_inner .scroll_inner::-webkit-scrollbar-track {
  background-color: rgba(69, 121, 235, 0.05);
  border-radius: 0;
}
.sidebar_wrap .list_inner .scroll_inner::-webkit-scrollbar {
  width: 1rem;
}
.sidebar_wrap .list_inner .scroll_inner::-webkit-scrollbar-thumb {
  background-color: #4579EB;
  border-radius: 0;
}
.sidebar_wrap .list_inner .place_row {
  padding: 1.6rem 2.4rem;
  border-bottom: 1px solid #dddddd;
  cursor: pointer;
  transition: 0.3s;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}
.sidebar_wrap .list_inner .place_row .top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem 1.6rem;
  flex-wrap: wrap;
}
.sidebar_wrap .list_inner .place_row .top .label_sm {
  flex: none;
  width: 100%;
}
.sidebar_wrap .list_inner .place_row .info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.8rem;
  flex: 1;
}
.sidebar_wrap .list_inner .place_row .info p {
  word-break: break-all;
}
.sidebar_wrap .list_inner .place_row .es_badge {
  font-size: 1.3rem;
  border: 1px solid transparent;
  transition: 0.3s;
}
.sidebar_wrap .list_inner .place_row .es_badge.heat {
  background: #E4732A;
  color: #FFFFFF;
}
.sidebar_wrap .list_inner .place_row .es_badge.earthquake {
  background: #12A675;
  color: #FFFFFF;
}
.sidebar_wrap .list_inner .place_row .es_badge.cold {
  background: #2D97E7;
  color: #FFFFFF;
}
.sidebar_wrap .list_inner .place_row .thumb {
  width: 8rem;
  height: 6rem;
  flex: none;
  border: 1px solid #dddddd;
  border-radius: 0.8rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.sidebar_wrap .list_inner .place_row .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sidebar_wrap .list_inner .place_row .btn_box {
  margin-top: 1rem;
  gap: 0.5rem;
}
.sidebar_wrap .list_inner .place_row .btn_box .btn {
  flex: 1;
  min-height: auto;
  height: 3.2rem;
  min-width: auto;
  font-size: 1.4rem;
  justify-content: center;
}
.sidebar_wrap .list_inner .place_row.active {
  background: #F2F6FC;
}
.sidebar_wrap .list_inner .place_row.active::before {
  content: "";
  width: 4px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #4579EB;
}
.sidebar_wrap .list_inner .place_row.active .es_badge {
  border-color: #8e8e8e;
}
@media screen and (min-width: 1024px) {
  .sidebar_wrap .list_inner .place_row:hover {
    background: #F2F6FC;
  }
  .sidebar_wrap .list_inner .place_row:hover .es_badge {
    border-color: #8e8e8e;
  }
}
.sidebar_wrap .list_inner .place_row.region:hover .es_badge, .sidebar_wrap .list_inner .place_row.region.active .es_badge {
  border-color: transparent;
}
.sidebar_wrap .list_inner .place_row.region .btn_box {
  margin-top: 0;
  width: 100%;
}
.sidebar_wrap .list_inner .place_row.region .btn_box .btn {
  width: 100%;
}
.sidebar_wrap .list_inner .course {
  border-bottom: 1px solid #dddddd;
  transition: 0.3s;
}
.sidebar_wrap .list_inner .course .label {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.6rem;
  cursor: pointer;
}
.sidebar_wrap .list_inner .course .label::after {
  content: "\eb7b";
  position: absolute;
  right: 1.6rem;
  top: 1.6rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-family: "remixicon";
  margin-left: 0.5rem;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #dddddd;
  border-radius: 0.4rem;
  color: #717171;
}
.sidebar_wrap .list_inner .course .label:has(input:checked)::after {
  background: #4579EB;
  border-color: transparent;
  color: #FFFFFF;
}
@media screen and (min-width: 1024px) {
  .sidebar_wrap .list_inner .course .label:hover {
    background: #F2F6FC;
  }
  .sidebar_wrap .list_inner .course .label:hover .es_badge {
    border-color: #8e8e8e;
  }
}
.sidebar_wrap .list_inner .course input {
  display: none;
}
.sidebar_wrap .list_inner .course .es_badge {
  font-size: 1.3rem;
  border: 1px solid transparent;
  transition: 0.3s;
}
.sidebar_wrap .list_inner .course .line_color {
  position: absolute;
  right: 2.4rem;
  bottom: 1.6rem;
  width: 2.6rem;
  height: 4px;
  display: block;
  gap: 5px;
  border-radius: 2px;
  background: var(--line-color);
}
.sidebar_wrap .list_inner .course .line_color::before, .sidebar_wrap .list_inner .course .line_color::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: var(--line-color);
  position: absolute;
  left: -8px;
  top: 0;
  border-radius: 2px;
}
.sidebar_wrap .list_inner .course .line_color::after {
  left: auto;
  right: -8px;
}
.sidebar_wrap .swiper-wrapper {
  display: block;
}

.map_wrap {
  position: relative;
  flex: 1;
  height: 100%;
}
.map_wrap #map {
  width: 100%;
  height: 100%;
}
.map_wrap .info_window {
  background: #fff;
  padding: 2rem;
  border: 1px solid #dddddd;
  border-radius: 1.6rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  font-size: 1.4rem;
  position: relative;
  transform: translateY(-1.8rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  min-width: 22rem;
  max-width: 32rem;
}
.map_wrap .info_window::after {
  content: "";
  width: 2.1rem;
  height: 1.7rem;
  background: url("/upload/maps/main/info_anchor.png") no-repeat center center;
  position: absolute;
  left: calc(50% - 1rem);
  bottom: -1.7rem;
}
.map_wrap .info_window .close_btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 2.2rem;
  height: 2.2rem;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' width='7.2mm' height='7.2mm' version='1.1' viewBox='0 0 20.5 20.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23000; stroke-linecap: square; stroke-linejoin: round; stroke-width: 2.5px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M1.8,1.8l17,17'/%3E%3Cpath class='cls-1' d='M1.8,18.7L18.7,1.8'/%3E%3C/svg%3E") no-repeat center center;
  background-size: 0.8rem;
  background-color: #F6F6F6;
  border-radius: 0 1.6rem 0 1.2rem;
  border: 1px solid #dddddd;
}
.map_wrap .info_window .top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.6rem;
}
.map_wrap .info_window .info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.8rem;
  flex: 1;
}
.map_wrap .info_window .info p {
  word-break: keep-all;
  line-height: 1.2;
}
.map_wrap .info_window .es_badge {
  font-size: 1.3rem;
  border: 1px solid transparent;
  transition: 0.3s;
}
.map_wrap .info_window .thumb {
  width: 8rem;
  height: 6rem;
  flex: none;
  border: 1px solid #dddddd;
  border-radius: 0.8rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.map_wrap .info_window .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.map_wrap .info_window .btn_box {
  margin-top: 1.6rem;
  gap: 0.5rem;
}
.map_wrap .info_window .btn_box .btn {
  flex: 1;
  min-height: auto;
  height: 3.2rem;
  min-width: auto;
  font-size: 1.4rem;
  justify-content: center;
}
.map_wrap .btn_current_map a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: #fff;
  width: 5rem;
  height: 5rem;
  border-radius: 0.8rem;
  margin-right: 20px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
}
.map_wrap .btn_current_map a .my_tooltip {
  position: absolute;
  transform: translate(0, -50%);
  right: calc(100% + 1rem);
  top: 50%;
  z-index: 0;
  padding: 0.4rem 1.2rem;
  background: #1B2539;
  color: #FFFFFF;
  font-size: 1.2rem;
  border-radius: 0.4rem;
  transition: 0.3s;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
}
.map_wrap .btn_current_map a .my_tooltip::after {
  content: "";
  position: absolute;
  right: -0.4rem;
  top: 0.8rem;
  width: 0.8rem;
  height: 0.8rem;
  background: #1B2539;
  transform: rotate(45deg);
}
.map_wrap .btn_current_map a:hover .my_tooltip {
  opacity: 1;
  visibility: visible;
}

#courseGuideModal .inner {
  width: 50rem;
}
#courseGuideModal .top_tit {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}
#courseGuideModal .top_tit .btn_close {
  margin-left: auto;
}

.courseModal .inner {
  width: 70rem;
  max-width: 95%;
  max-height: 90%;
  border-radius: 1.6rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2.4rem;
  background-color: #FFFFFF;
}
.courseModal .top_area {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex: none;
}
.courseModal .top_area h2 {
  font-size: 2.4rem;
  line-height: 1;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}
.courseModal .top_area .btn_close {
  margin-left: auto;
  background-size: 1.8rem;
}
.courseModal .scroll {
  overflow-y: auto;
}
.courseModal .load_marker .load_inner {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}
.courseModal .load_marker .load_inner.count_6 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_7 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_8 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_9 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_10 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_11 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_12 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_13 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_14 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_15 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_16 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_17 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_18 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_19 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_20 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_6 .marker_item {
  flex: none;
  width: 33.33%;
}
.courseModal .load_marker .load_inner.count_7 .marker_item, .courseModal .load_marker .load_inner.count_8 .marker_item, .courseModal .load_marker .load_inner.count_11 .marker_item, .courseModal .load_marker .load_inner.count_12 .marker_item, .courseModal .load_marker .load_inner.count_14 .marker_item, .courseModal .load_marker .load_inner.count_15 .marker_item, .courseModal .load_marker .load_inner.count_16 .marker_item {
  flex: none;
  width: 25%;
}
.courseModal .load_marker .load_inner.count_9 .marker_item, .courseModal .load_marker .load_inner.count_10 .marker_item, .courseModal .load_marker .load_inner.count_13 .marker_item, .courseModal .load_marker .load_inner.count_17 .marker_item, .courseModal .load_marker .load_inner.count_18 .marker_item, .courseModal .load_marker .load_inner.count_19 .marker_item, .courseModal .load_marker .load_inner.count_20 .marker_item {
  flex: none;
  width: 20%;
}
.courseModal .load_marker .load_inner.count_21 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_21 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_22 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_22 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_23 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_23 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_24 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_24 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_25 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_25 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_26 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_26 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_27 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_27 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_28 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_28 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_29 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_29 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_30 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_30 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_31 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_31 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_32 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_32 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_33 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_33 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_34 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_34 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_35 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_35 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_36 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_36 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_37 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_37 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_38 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_38 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_39 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_39 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_40 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_40 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_41 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_41 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_42 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_42 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .load_inner.count_43 {
  flex-wrap: wrap;
  gap: 2rem 0;
}
.courseModal .load_marker .load_inner.count_43 .marker_item {
  flex: none;
  width: 16.66%;
}
.courseModal .load_marker .marker_item {
  position: relative;
  flex: 1;
  gap: 2rem 0;
}
.courseModal .load_marker .marker_item em {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0 1rem;
  text-align: center;
  line-height: 1.1;
  position: relative;
  z-index: 2;
}
.courseModal .load_marker .marker_item em::before {
  content: "\ef14";
  font-family: "remixicon";
  font-size: 3rem;
  color: var(--marker_color);
  background: #ffffff;
}
.courseModal .load_marker .marker_item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2rem;
  width: 100%;
  height: 0;
  border-bottom: 2px dotted #AAAAAA;
}
.courseModal .load_marker .marker_item:first-child::after {
  content: "";
  position: absolute;
  left: 0;
  top: 1.6rem;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  background: var(--marker_color);
  border-radius: 100%;
}
.courseModal .load_marker .marker_item:last-child::after {
  content: "";
  position: absolute;
  right: 0;
  top: 1.6rem;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  background: var(--marker_color);
  border-radius: 100%;
}

.region_filter {
  position: absolute;
  right: 2rem;
  top: 2rem;
  z-index: 100;
  background: #FFFFFF;
  padding: 0.5rem 1rem;
  border-radius: 0.8rem;
  box-shadow: 0 3px 6px 0px rgba(0, 0, 0, 0.16);
}
.region_filter .btn_group {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.4rem;
}
.region_filter .btn {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  height: 3.2rem;
  padding: 0 1.6rem;
  border-radius: 1.2rem;
  transition: 0.2s;
  font-size: 1.4rem;
  font-weight: 600;
  position: relative;
}
.region_filter .btn.dong::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #18ACB3;
}
.region_filter .btn.seo::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #E25744;
  border-radius: 100%;
}
.region_filter .btn.nam::before {
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 8px solid #12A66B;
}
.region_filter .btn.buk::before {
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 8px solid #2563EB;
}
.region_filter .btn.buk::after {
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid #2563EB;
  position: absolute;
  left: 1.6rem;
  top: calc(50% - 2px);
}
.region_filter .btn.gwangsan::before {
  content: "";
  width: 10px;
  height: 10px;
  border: 2px solid #1D3557;
  box-sizing: border-box;
  border-radius: 100%;
}
.region_filter .btn.active {
  background: #475569;
  color: #FFFFFF;
  font-weight: 700;
}
.region_filter .btn.dong.active {
  background: #18ACB3;
}
.region_filter .btn.dong.active::before {
  background: #fff;
}
.region_filter .btn.seo.active {
  background: #E25744;
}
.region_filter .btn.seo.active::before {
  background: #fff;
}
.region_filter .btn.nam.active {
  background: #12A66B;
}
.region_filter .btn.nam.active::before {
  border-bottom-color: #fff;
}
.region_filter .btn.buk.active {
  background: #2563EB;
}
.region_filter .btn.buk.active::before {
  border-bottom-color: #fff;
}
.region_filter .btn.buk.active::after {
  border-top-color: #fff;
}
.region_filter .btn.gwangsan.active {
  background: #1D3557;
}
.region_filter .btn.gwangsan.active::before {
  border-color: #fff;
}
.region_filter .btn.heat.active {
  background: #E4732A;
}
.region_filter .btn.heat.active::before {
  display: none;
}
.region_filter .btn.earthquake.active {
  background: #12A675;
}
.region_filter .btn.earthquake.active::before {
  display: none;
}
.region_filter .btn.cold.active {
  background: #2D97E7;
}
.region_filter .btn.cold.active::before {
  display: none;
}
@media screen and (min-width: 1024px) {
  .region_filter .btn:not(.active):hover {
    background: #f5f5f5;
  }
}

.my_now_area {
  position: relative;
  width: 20px;
  height: 20px;
  background: #ef4444;
  border: 3px solid #fff;
  border-radius: 100%;
}
.my_now_area::before {
  content: "";
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  z-index: -1;
  width: 30px;
  height: 30px;
  background: #ef4444;
  border-radius: 100%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.my_now_area::after {
  content: "";
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  z-index: -1;
  width: 30px;
  height: 30px;
  background: #ef4444;
  border-radius: 100%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  opacity: 0.8;
  animation: pulse 1.5s forwards infinite;
}
@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
    filter: blur(2px);
  }
}

.mo_btn_box {
  display: none;
}

.list_open_btn {
  display: none;
}

.list_close_btn {
  display: none;
}

.loading-overlay {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4rem;
}
.loading-overlay .loading-spinner {
  width: 5rem;
  height: 5rem;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.loading-overlay .loading-text {
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 600;
}

.cluster-pin {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 100%;
}
.cluster-pin.cold {
  background: #2D97E7;
}
.cluster-pin.heat {
  background: #E4732A;
}
.cluster-pin.earthquake {
  background: #12A675;
}

.cluster-count {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  font-weight: 600;
  color: #FFFFFF;
}

/*-------------------------------------------------

Responsive

-------------------------------------------------*/
/* Media Query */
@media (max-width: 1440px) {
  .sidebar_wrap {
    padding: 0;
  }
}
@media (max-width: 1280px) {
  .sidebar_wrap {
    padding-left: 0;
    width: 25rem;
  }
}
@media (max-width: 1024px) {
  .contentWrap {
    flex-direction: column-reverse;
    align-items: stretch;
    height: auto;
    position: relative;
  }
  .sidebar_wrap {
    background: transparent;
    flex: auto;
    width: auto;
    position: relative;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.12);
    border-radius: 1.6rem 1.6rem 0 0;
    border: none;
    z-index: 100;
  }
  .sidebar_wrap .course_tab {
    background: none;
    padding: 0;
    width: 100%;
  }
  .sidebar_wrap .course_tab .txt {
    display: none;
  }
  .sidebar_wrap .course_tab .box {
    display: none;
  }
  .sidebar_wrap .course_tab .search_wrap {
    padding: 1.6rem;
    background: #F2F6FC;
    border-top: 1px solid #dddddd;
  }
  .sidebar_wrap .swiper {
    width: 100%;
  }
  .sidebar_wrap .swiper-wrapper {
    display: flex;
  }
  .list_inner {
    background: #fff;
    width: 100%;
    overflow: hidden;
    padding: 1.6rem 0;
  }
  .list_inner #placesList {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  .list_inner .place_row {
    border: 1px solid #dddddd;
    border-radius: 1.6rem;
    height: 20rem;
  }
  .list_inner .place_row.active::before {
    display: none;
  }
  .list_inner .course {
    border: 1px solid #dddddd;
    border-radius: 1.6rem;
    height: 10rem;
  }
  .map_wrap {
    height: 60rem;
    width: 100%;
    flex: auto;
  }
  .btn_current_map {
    transform: translateY(-4.5rem);
  }
  .list_close_btn {
    position: absolute;
    left: calc(50% - 2.2rem);
    top: -2.8rem;
    z-index: 100;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 4.4rem;
    height: 2.8rem;
    border-radius: 4.4rem 4.4rem 0 0;
    background: #FFFFFF url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' data-name='Layer 1' width='7.2mm' height='7.2mm' version='1.1' viewBox='0 0 20.5 20.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23000; stroke-linecap: square; stroke-linejoin: round; stroke-width: 2.5px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M1.8,1.8l17,17'/%3E%3Cpath class='cls-1' d='M1.8,18.7L18.7,1.8'/%3E%3C/svg%3E") no-repeat center center;
    background-size: 1.2rem;
    box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.12);
    border: 1px solid #dddddd;
    border-bottom: none;
  }
  .list_open_btn {
    position: absolute;
    left: calc(50% - 2.2rem);
    top: 51rem;
    z-index: 100;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 100%;
    background: #1B2539 url("data:image/svg+xml;charset=utf-8,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.74712 0.5C15.1275 0.5 19.4942 4.86671 19.4942 10.2471C19.4942 15.6275 15.1275 19.9942 9.74712 19.9942C4.36671 19.9942 0 15.6275 0 10.2471C0 4.86671 4.36671 0.5 9.74712 0.5ZM9.74712 17.8282C13.9357 17.8282 17.3282 14.4357 17.3282 10.2471C17.3282 6.05856 13.9357 2.66603 9.74712 2.66603C5.55856 2.66603 2.16603 6.05856 2.16603 10.2471C2.16603 14.4357 5.55856 17.8282 9.74712 17.8282ZM18.9368 17.9052L22 20.9684L20.4684 22.5L17.4052 19.4368L18.9368 17.9052Z' fill='%23fff'/%3E%3C/svg%3E%0A") no-repeat center center;
  }
  .mo_btn_box {
    position: absolute;
    left: 1.6rem;
    top: 51rem;
    z-index: 100;
    width: 19rem;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    border-radius: 1.6rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  }
  .mo_btn_box .tab {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex: 1;
    background: #1B2539;
    font-size: 1.4rem;
    font-weight: 600;
    color: #FFFFFF;
    height: 4.2rem;
    transition: 0.2s;
  }
  .mo_btn_box .tab.active {
    background: #5182CC;
  }
}
@media (max-width: 768px) {
  .courseModal .top_area h2 {
    font-size: 2rem;
  }
  .courseModal .load_marker .load_inner.count_5 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_5 .marker_item {
    flex: none;
    width: 33.33%;
  }
  .courseModal .load_marker .load_inner.count_6 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_6 .marker_item {
    flex: none;
    width: 33.33%;
  }
  .courseModal .load_marker .load_inner.count_7 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_7 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_8 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_8 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_9 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_9 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_10 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_10 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_11 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_11 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_12 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_12 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_13 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_13 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_14 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_14 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_15 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_15 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_16 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_16 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_17 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_17 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_18 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_18 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_19 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_19 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .load_inner.count_20 {
    flex-wrap: wrap;
    gap: 2rem 0;
  }
  .courseModal .load_marker .load_inner.count_20 .marker_item {
    flex: none;
    width: 25%;
  }
  .courseModal .load_marker .marker_item em {
    font-size: 1.4rem;
    padding: 0 0.5rem;
  }
  .courseModal .load_marker .marker_item em::before {
    font-size: 2.5rem;
    color: var(--marker_color);
    background: #ffffff;
  }
}
@media (max-width: 640px) {
  #courseGuideModal .inner {
    width: 96%;
  }
  .region_filter {
    padding: 0.5rem;
    right: 1rem;
  }
  .region_filter .btn {
    gap: 0.2rem;
    padding: 0 0.5rem;
  }
  .region_filter .btn.buk::after {
    left: 0.5rem;
  }
}
@media (max-width: 480px) {
  .sidebar_wrap .list_inner .place_row {
    flex-direction: column;
  }
  .mo_btn_box {
    left: 1rem;
    flex-direction: column;
    width: auto;
    top: 50rem;
  }
  .mo_btn_box .tab {
    height: 3rem;
    width: 8rem;
    flex: auto;
  }
}