@media screen and (max-width: 1520px) {
	.dashboard_layout1 {
		width: calc(60% - 15px);
	}

	.dashboard_layout2 {
		width: calc(40% - 15px);
	}

	.table_wrapper.pc {
		display: block;
	}
	.table_wrapper.mobile {
		display: none;
	}
}

@media screen and (max-width: 1305px) {
	.footer_top {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.dashboard_layout1 {
		width: calc(55% - 15px);
	}

	.dashboard_layout2 {
		width: calc(45% - 15px);
	}


	.header_logo a,
	.lnb {
		width: 220px;
	}

	.weather_list {
		flex-wrap: wrap;
	}

	.weather_list > li {
		flex: 0 0 calc(100% / 3 - (2 * 4px) / 3);
	}

	.dashboard_nav {
		padding: 24px 12px 24px 12px;
	}

	.popDiv {
		max-width: 500px;
		width: 96%;
		height: auto;
	}
}

@media screen and (max-width: 1180px), screen and (max-height: 820px) {
	#popup_wrap {
		position: absolute;
		width: 100%;
		top: 50px;
		left: -5%;
	}

	.popup_box {
		width: 100%;
		position: absolute;
	}
}

@media screen and (max-width: 1150px) {
	.dashboard_layout1 {
		width: 100%;
	}

	.dashboard_layout2 {
		width: 100%;
	}

	.footer_top ul {
		flex-direction: column;
		align-items: flex-start;
		gap: unset;
	}

	.dashboard_item {
		flex-direction: column;
	}

	.gnb {
		display: none;
	}

	.lnb {
		display: flex;
	}

	.map_info_box > .top {
		padding: 14px 14px;
	}

	.map_info_box {
		height: auto;
		width: 100%;
		justify-content: space-between;
	}

	.map_info_box > .content_group {
		flex: unset;
		height: 200px;
		transition: 0.3s ease;
	}

	.map_info_box .content {
		padding-top: 0;
		padding-bottom: 16px;
	}

	.map_info_box .content .subtitle {
		padding: 6px 10px 6px 10px;
		background-color: #fff;
		z-index: 2;
	}

	.map_bus_route {
		top: unset; /* 기존 top: 0 제거 */
		bottom: 0;  /* 화면 하단에 고정 */
		left: 0;
		width: 100%;
		height: 200px; /* 초기 높이를 다른 패널과 동일하게 설정 */
		border-radius: 12px 12px 0 0; /* 상단 모서리를 둥글게 */
		transition: height 0.3s ease; /* 높이 변경 시 애니메이션 효과 */
	}

	.map_bus_route .sticky_group {
		display: block; /* 모바일에서 핸들 보이기 */
	}

	.map_bus_route .top {
		border-radius: 12px 12px 0 0;
	}

	.map_location_search_group {
		position: sticky;
		top: 0;
		left: 0;
		background: #fff;
		z-index: 2;
		padding: 30px 20px;
	}

	.map_info_box.pc_only_map {
		display: none;
	}

	.map_info_box.mo_only_map {
		display: flex;
	}

	/* .map_info_box .content .subtitle::after{
		content: '';
		position: absolute;
		top: 10px;
		left: 50%;
		transform: translateX(-50%);
		width: 40px;
		height: 5px;
		border-radius: 1000px;
		background-color: #000;
	} */
	.map_location_search_group {
		padding: 0;
		background: var(--Blue-45, #007BE9);
		border-bottom: 0;
	}
	.map_location_search_group .input_group {
		background: var(--Blue-45, #007BE9);
	}

	.align_top {
		top: 0;
	}

	.align_bottom {
		top: unset;
		bottom: 0;
	}

	.map_info_box > .top {
		gap: 10px;
	}

	.map_info_box.mo_only_map .search_input.sm {
		padding: 4px 8px;
	}

	.map_info_box.mo_only_map .search_input > input::placeholder {
		font-size: 0.9rem;
	}

	.map_info_box.mo_only_map .search_input > input {
		line-height: 1;
	}

	.map_info_box .tab1.content > ul > li,
	.map_info_box .tab2.content > ul > li {
		padding: 6px 10px;
	}

	.map_top_search_mo {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 3;
	}

	.map_top_search_mo .top {
		display: flex; /* 가로로 배치 */
		flex-direction: row;
		align-items: center; /* 세로 중앙 정렬 */
		gap: 8px;
		padding: 10px 14px;
	}

	.search_type_select {
		font-family: 'Pretendard';
		font-size: 14px; /* 폰트 크기 명시 */
		font-weight: 500;
		padding: 4px 28px 4px 12px;
		color: var(--Blue-70, #074D9E); /* 텍스트 색상을 더 진한 파랑으로 */
		background-color: #fff;
		border: 1px solid #E3E6E9;
		border-radius: 6px;
		-webkit-appearance: none;
		appearance: none;
		background-image: url('../images/icon/arrow/arrow_down_black.svg');
		background-position: center right 8px;
		background-repeat: no-repeat;
		background-size: 16px;
		flex-shrink: 0;
	}

	/* 검색창이 남은 공간을 모두 차지하도록 설정 */
	.map_top_search_mo .search_input {
		flex: 1;
		padding: 3px 12px;
	}

	.map_info_box {
		height: auto;
		width: 100%;
		justify-content: space-between;
	}

	.popDiv {
		max-width: 500px;
		width: 96%;
		height: auto;
	}

	#map_stop_info .top {
		padding: 0px 24px 10px 24px;
	}
}

@media screen and (max-width: 1024px), screen and (max-height: 768px) {
	#popup_wrap {
		position: absolute;
		top: 50px;
		left: -5%;
	}
	.popDiv {
		max-width: 450px;
		width: 96%;
		height: auto;
	}
}

@media screen and (max-width: 992px) {
	.dashboard_box {
		padding: 26px 28px;
	}

	.footer_wrapper {
		gap: 12px;
	}

	.footer_bar {
		flex-direction: column;
		align-items: flex-start;
	}

	.dashboard_item {
		flex-direction: column;
	}

	.user_count_box {
		gap: 14px;
	}

	.user_count_box > li {
		display: flex;
		justify-content: space-between;
		gap: 12px;
	}

	.user_count_box > li:not(:last-child)::after {
		right: -19px;
	}

	.dashboard_survey .form {
		flex-direction: column;
	}

	.dashboard_survey .title {
		text-align: center;
	}

	.popDiv {
		max-width: 450px;
		width: 96%;
		height: auto;
	}
}

@media screen and (max-width: 768px) {
	.dashboard_box.main {
		padding: 32px;
	}

	.dashboard_inner {
		flex-direction: column;
	}

	.user_count_box {
		padding: 0px 28px;
		flex-direction: column;
	}

	.user_count_box > li:not(:last-child)::after {
		display: none;
	}

	.title_section,
	.title_section.lg {
		padding-top: 60px;
		padding-bottom: 40px;
	}

	.content_section {
		padding-top: 25px;
		padding-bottom: 60px;
	}

	.huge {
		font-size: 2rem;
	}

	h2,
	.h2 {
		font-size: 1.4rem;
	}

	h4,
	.h4 {
		font-size: 1.25rem;
	}

	h5,
	.h5 {
		font-size: 1rem;
	}

	h6,
	.h6 {
		font-size: 0.92rem;
	}

	p,
	.p {
		font-size: 0.9rem;
	}

	.text_14 {
		font-size: 0.8rem;
	}

	.text_20 {
		font-size: 0.95rem;
	}

	.badge {
		font-size: 0.9rem;
	}

	.content_section .content_list {
		gap: 24px;
	}

	.bg_item {
		padding: 26px 12px;
	}

	.bg_item.xl {
		padding: 30px 20px;
	}

	.bg_item.sm {
		padding: 18px 12px;
	}

	.bg_item.xs {
		padding: 18px 12px;
	}

	.page_tab {
		margin-top: 12px;
		font-size: 0.75rem;
		line-height: 1.3;
	}

	.page_tab > li {
		padding: 8px;
	}

	.border_item {
		padding: 16px;
	}

	.title_section .breadcrumb {
		margin-bottom: 6px;
	}

	.content_section .content_list .content_title {
		margin-bottom: 12px;
	}

	.info_list > li > dl {
		flex-direction: column;
		gap: 12px;
	}

	.flex_column.gap100 {
		gap: 40px;
	}

	.flex_wrap_list.item3 > li {
		flex: 0 0 calc(100% / 2 - (1 * 40px) / 2);
	}

	.map_overlay {
		/* 너비를 화면 크기에 맞게 조정 (좌우 20px 여백) */
		width: calc(100vw - 40px);
		max-width: 480px; /* 최대 너비는 유지 */
	}

	.map_overlay > .top {
		padding: 12px 16px; /* 내부 상단 여백 축소 */
		align-items: flex-start;
	}

	.map_overlay > .top h6 {
		font-size: 1rem; /* 제목 폰트 크기 조정 */
	}

	.map_overlay > .top small {
		font-size: 0.8rem; /* ID 폰트 크기 조정 */
	}

	.map_overlay > ul {
		padding: 8px; /* 목록 전체 여백 축소 */
	}

	.map_overlay > ul > li {
		padding: 8px 12px; /* 목록 아이템 여백 축소 */
		gap: 4px;
	}

	.map_overlay .real_bus_info {
		width: 100%;
	}

	#popup_wrap {
		position: relative;
		top: 0; left: 0;
		margin: 0;
		box-sizing: border-box;
	}
	.popup_box {
		position: relative;
		width: 100%;
		box-sizing: border-box;
	}
	.popDiv {
		max-width: 430px;
		width: 96%;
		height: auto;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 576px) {

	.survey {
		padding: 26px 12px;
		gap: 40px;
	}

	.survey > ul > li {
		padding: 28px 0;
	}

	.survey .lb_radio_btn > input[type="radio"]+span {
		width: 32px;
		height: 32px;
	}

	.survey .radio_group {
		gap: 20px;
	}

	.float_menu {
		bottom: 10px;
		right: 10px;
	}

	.map_link_list {
		padding: 20px 0;
	}

	.map_link_list li {
		/* flex-direction: column; */
		gap: 16px;
		/* align-items: flex-start; */
		padding: 16px 0;
	}

	.map_link_list li h5 {
		flex: 110px;
		max-width: 110px;
		min-width: 110px;
	}

	.map_link_area .btn_close {
		top: 20px;
		right: 20px;
	}

	header {
		height: 60px;
	}

	main {
		margin-top: 60px;
	}

	.common_section {
		padding: 24px 0;
	}

	.dashboard_nav {
		gap: 10px;
		/*flex-wrap: nowrap;*/
		/*overflow: auto;*/
		/*margin-bottom: 12px;*/
		/*white-space: nowrap;*/
	}
	.dashboard_nav > li {
		flex: 0 0 calc(100% / 4 - (3 * 10px) / 4);
	}
	.dashboard_nav > li small {
		font-size: 0.82rem;
	}

	.footer_phone .item {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
	}

	.footer_bar li+li::before {
		display: none;
	}

	.footer_bar li+li {
		padding-left: unset;
	}

	.main_title {
		font-size: 1.4rem;
		line-height: 2.3rem;
	}

	.dashboard_box.main h6 {
		margin-bottom: 8px;
	}

	.dashboard_box.main .button_area {
		margin-top: 20px;
	}

	footer {
		padding: 12px 0;
	}

	.select_form.columnable {
		flex-direction: column;
	}

	.select_form > input[type=text] {
		width: 100%;
	}

	.content_section .content_list .content_title {
		flex-direction: column;
		align-items: unset;
	}

	.common_map {
		aspect-ratio: 1/1;
	}

	.breadcrumb {
		/*font-size: 0.875rem;*/
		font-size: 0.82rem;
	}

	.flex_wrap_list.item3 > li {
		flex: 100%;
	}

	.flex_wrap_list.item3 {
		gap: 20px;
	}

	.popDiv {
		max-width: 450px;
		width: 96%;
		height: auto;
	}

	.dashboard_box.main {
		padding: 26px 28px;
		min-height: 340px;
	}

	.ellipsis {
		max-width: 370px;
	}

	.map_overlay > ul > li {
		padding: 8px 12px; /* 목록 아이템 여백 축소 */
		flex-direction: row;
		align-items: flex-start;
		gap: 4px;
	}

	.map_overlay .real_bus_info {
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-end;
		gap: 0;
	}

	.map_overlay .real_bus_info span {
		display: block;
	}

	/*.overlay-body p.text_13.gray_70 {
		display: none;
	}*/
}

@media screen and (max-width: 550px) {
	.ellipsis {
		max-width: 350px;
	}
}

@media screen and (max-width: 500px) {
	.ellipsis {
		max-width: 300px;
	}

	.popDiv {
		max-width: 420px;
		width: 96%;
		height: auto;
	}
}

@media screen and (max-width: 430px) {
	.popDiv {
		max-width: 420px;
		width: 96%;
		height: auto;
	}
	.ellipsis {
		max-width: 200px;
	}
}

@media screen and (max-width: 400px) {
	.popDiv {
		width: 96%;
		max-width: 380px;
		height: auto;
		top: 80px;
	}

	#pop img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop1 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop2 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop3 img {
		max-width: 100%;
		max-height: 100%;
	}

	.ellipsis {
		max-width: 190px;
	}
}

@media screen and (max-width: 395px) {
	.dashboard_nav {
		gap: 30px;
	}
	.dashboard_nav > li {
		flex: 0 0 calc(100% / 3 - (3 * 20px) / 3);
	}
}

@media screen and (max-width: 376px) {
	.popDiv {
		width: 96%;
		max-width: 370px;
		height: auto;
		top: 50px;
	}
	#pop img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop1 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop2 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop3 img {
		max-width: 100%;
		max-height: 100%;
	}

	.ellipsis {
		max-width: 180px;
	}

	.dashboard_nav {
		gap: 30px;
	}
	.dashboard_nav > li {
		flex: 0 0 calc(100% / 3 - (3 * 20px) / 3);
	}
}

@media screen and (max-width: 360px) {
	.popDiv {
		width: 96%;
		max-width: 340px;
		height: auto;
		top: 80px;
	}

	#pop img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop1 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop2 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop3 img {
		max-width: 100%;
		max-height: 100%;
	}

	.overlay-body p.text_13.gray_70 {
		visibility: hidden;
		width: 0;
	}

	.dashboard_nav {
		gap: 15px;
	}
	.dashboard_nav > li {
		flex: 0 0 calc(100% / 3 - (3 * 10px) / 3);
	}
}

@media screen and (max-width: 344px) {
	.popDiv {
		width: 96%;
		max-width: 340px;
		height: auto;
		top: 80px;
	}

	#pop img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop1 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop2 img {
		max-width: 100%;
		max-height: 100%;
	}

	#pop3 img {
		max-width: 100%;
		max-height: 100%;
	}

	.ellipsis {
		max-width: 160px;
	}

	.map_overlay > ul > li {
		padding: 8px 12px; /* 목록 아이템 여백 축소 */
		flex-direction: row;
		align-items: flex-start;
		gap: 4px;
	}

	.map_overlay .real_bus_info {
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-end;
		gap: 0;
	}

	.map_overlay .real_bus_info span {
		display: block;
	}
}

@media screen and (min-width: 1151px) {
	.map_bus_route .sticky_group {
		display: none;
	}
}