@charset "UTF-8";

/* ------------------------------------------------------------------------- */
/* CSS Table of Contents
/* ------------------------------------------------------------------------- */
/*
0. Reset

1. Common
  1-1. input, select, checkbox, radio, textarea
  1-2. button
  1-3. table
  1-4. pagination
  1-5. tab, disclosure, accordion
  1-6. badge
  1-7. dropdown
  1-8. tooltip
  1-9. alert, alarm

2. Layout
  2-1. Navigation
  2-2. Controls
  2-3. Tools
  2-4. Search (업종, 주소검색)

3. Popup
  3-1. 상세정보 (사전진단/종합현황)
  3-2. 사전진단 영역 확인
  3-3. leaflet popup

4. Layer 
  4-1. 공간정보 
  4-2. 입지추천 
  4-4. 실거래가

5. 관리기본계획

6. 도움말


/* ------------------------------------------------------------------------- */
/* 0. Reset
/* ------------------------------------------------------------------------- */
* {box-sizing:border-box}

html {font-size: 62.5%;}
html, body, div, span, h1, h2, h3, h4, h5, h6, p,
address, em, img, strong, i, dl, dt, dd, ul, li,
fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, figure, button, input, select {
    margin: 0;
    padding: 0;
    border: 0;
    word-break: break-all;
}
:lang(ko) {word-break: keep-all;}
ul, li {list-style: none;}
a {text-decoration: none; color: inherit;}
em, address {font-style: normal;}
h1, h2, h3, h4, h5, h6, strong {font-weight: normal;}
article, aside, figcaption, figure, footer, header, nav, section, main {display: block;}
table {border-collapse: collapse; border-spacing:0;}
input, button, select {border: none; border-radius:0; background-color: transparent;}
select {appearance:none; -webkit-appearance:none;  -moz-appearance:none;}
button, select {cursor: pointer;}
input:focus, select:focus, option:focus, textarea:focus, button:focus {outline: none;}
a:focus, button:focus, input:focus, textarea:focus, select:focus {outline: 2px dashed var(--c-blue);}

img, svg, video, canvas, audio, iframe {display: block;}
img, video {max-width: 100%; height: auto;}

body {
    font: 400 16px/1.4 'Pretendard', 'Noto Sans KR', 'Malgun Gothic' ,'돋움', dotum, AppleGothic, sans-serif;
    letter-spacing: -0.2px;
    background-color: #fff;
}

@font-face {
    font-family: 'Pretendard';
    src:url('../fonts/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src:url('../fonts/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src:url('../fonts/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Pretendard';
    src:url('../fonts/Pretendard-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}





/* ------------------------------------------------------------------------- */
/* 1. Common
/* ------------------------------------------------------------------------- */
:root {
    --primary-100: #194283;
    --primary-90: #1F52A4;
    --primary-70: #4471D6;
    --primary-60: #3C73E3;
    --primary-55: #608DEB;
    --primary-50: #9CBFF9;
    --primary-30: #EAF3FE;
    --primary-20: #ECEFFF;
    --primary-10: #E2E5F2;
    --secondary-50: #4C9F68;
    --secondary-10: #F2FAF6;
    --gray-100: #000000;
    --gray-90: #1C1D1E;
    --gray-80: #222529;
    --gray-70: #3A3E45;
    --gray-65: #596067;
    --gray-60: #757D86;
    --gray-50: #99A1A7;
    --gray-40: #B1B8BE;
    --gray-35: #D0D3D7;
    --gray-30: #DBDEE1;
    --gray-25: #E8E9EC;
    --gray-20: #E8E9EC;
    --gray-15: #F1F1F4;
    --gray-10: #F5F7F9;
    --gray-0: #FFFFFF;
    --system-yellow: #FFB112;
    --system-red: #F44335;
    --shadow-toggle: 0 2px 12px rgba(0,0,0,0.08);
    --shadow-modal: 0 4px 35px rgba(0,0,0,0.1);
    --shadow-tool: 0 4px 24px rgba(0,0,0,0.08);
    --shadow-tool-2: 0 2px 6px rgba(0,0,0,0.2);
    --shadow-card: 0 2px 10px rgba(0,0,0,0.05);
    --shadow-help: 0 6px 18px rgba(0,0,0,0.18);
    --legend-1: #B15751;
    --legend-2: #D86C4A;
    --legend-3: #F0B16E;
    --legend-4: #F7D89A;
    --legend-5: #FFFFC6;
    --legend-6: #DBEDB8;
    --legend-7: #7DAEAE;
    --legend-8: #4882B5;
    --dimmed: rgba(0,0,0,0.3);
}

body.noScroll {overflow-y: hidden;}
a {font-family: 'Pretendard'; color: var(--gray-80);}
.scrollY {overflow-x: hidden; overflow-y: auto;}
.scrollY::-webkit-scrollbar {width: 1rem; height: 1rem;}
.scrollY::-webkit-scrollbar-track {background-color: transparent;}
.scrollY::-webkit-scrollbar-thumb {
    border: 2px solid var(--gray-0);
    border-radius: 1rem;
    background-color: var(--gray-35);
}
.soundOnly {
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    border: 0 !important;
    position: absolute !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    clip: rect(0, 0, 0, 0) !important;
}
.full {width: 100% !important;}
.flexible {display: flex;}
.flexCenter {display: flex; align-items: center; gap: 0.8rem;}
.flexBetween {display: flex; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 1rem;}
.flexCol {display: flex !important; flex-direction: column !important;}
.flexWrap {flex-wrap: wrap;}
.justCenter {justify-content: center !important;}
.justEnd {justify-content: flex-end !important;}
.justBetween {justify-content: space-between !important;}
.alignCenter {align-items: center !important;}
.alignEnd {align-items: flex-end !important;}
.g0 {gap: 0 !important;}
.g4 {gap: 0.4rem !important;}
.g6 {gap: 0.6rem !important;}
.g8 {gap: 0.8rem !important;}
.g10 {gap: 1rem !important;}
.g12 {gap: 1.2rem !important;}
.g16 {gap: 1.6rem !important;}
.g20 {gap: 2rem !important;}
.tal {text-align: left !important;}
.tac {text-align: center !important;}
.tar {text-align: right !important;}
.p0 {padding: 0 !important;}
.required, .error {color: var(--system-red) !important;}
.point {color: var(--primary-60) !important;}
.required {padding: 0 2px;}
.warning {color: var(--system-yellow) !important;}
.high {color: #003CCB !important;}
.mid {color: #008A1E !important;}
.low {color: #EB003B !important;}
.ellipsis {
    display: -webkit-box;
    -webkit-line-clamp: 1; -webkit-box-orient: vertical;
    text-align: left;
    overflow: hidden;
}
.pcOnly {display: block !important;}
.mobileOnly {display: none !important;}

@media (max-width: 768px) {
    .pcOnly {display: none !important;}
    .mobileOnly {display: block !important;}
}





/* ------------------------------------------------------------------------- */
/* 1-1. input, checkbox, radio, select, textarea
/* ------------------------------------------------------------------------- */
input, select, textarea {display: block; font: 400 1.5rem/1.5 'Pretendard'; color: var(--gray-80); font-variant-numeric: tabular-nums;}
input::placeholder, textarea::placeholder {font-weight: 400; color: var(--gray-50);}
input:focus, select:focus, textarea:focus {border-color: var(--primary-50);}
input:disabled, select:disabled, textarea:disabled {cursor: default !important;}

/***** input[type="text"] *****/
.it {
    width: 100%; height: 4.4rem;
    padding: 0 1.5rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    background-color: var(--gray-0);
    transition: border-color 0.2s ease;
}
.it:read-only, .it:disabled {
    color: var(--gray-60);
    background-color: var(--gray-10);
    cursor: default;
}

/* input + 단위 */
.it_box {width: 100%; position: relative;}
.it_box .it {padding-right: 3.4rem;}
.it_box .unit {
    color: var(--gray-80);
    position: absolute; right: 1.2rem; top: 50%;
    transform: translateY(-50%);
}

/* 검색창 */
.sch_wrap {
    width: 100%;
    position: relative;
}
.sch_wrap .it {padding-right: 4rem;}
.sch_wrap .sch_btn {
    width: 2rem; height: 2rem;
    background: url(../img/ico_search1.svg) no-repeat center / contain;
    position: absolute; right: 1.2rem; top: 50%;
    transform: translateY(-50%);
    transition: background-image 0.2s ease;
}
.sch_wrap .it:focus + .sch_btn {background-image: url(../img/ico_search2.svg);}


/***** checkbox *****/
.check_btn {
    display: inline-flex; align-items: center; flex-shrink: 0;
    vertical-align: middle;
    position: relative;
}
.check_btn input {
    appearance: none; -webkit-appearance: none;
    width: 100%; height: 100%;
    border-radius: 0.4rem;
    position: absolute; left: 0; top: 0;
    cursor: pointer;
}
.check_btn input:disabled {cursor: default;}
.check_btn input + span {
    padding-left: 2.6rem;
    font-size: 1.4rem; line-height: 2rem; color: var(--gray-70);
    background: url(../img/ico_checkbox.svg) no-repeat left top 1px / 2rem 2rem;
    cursor: pointer;
}
.check_btn input + span.noTxt {
    min-height: 2rem;
    padding-left: 2rem;
}
.check_btn input:checked + span {background-image: url(../img/ico_checkbox_checked.svg);}

/***** radio *****/
.check_btn input[type="radio"] + span {background-image: url(../img/ico_radio.svg);}
.check_btn input[type="radio"] + span.noTxt {background-position: left top;}
.check_btn input[type="radio"]:checked + span {background-image: url(../img/ico_radio_checked.svg);}

/* checkbox / radio group */
.check_box {display: flex; align-items: center; justify-content: center; gap: 1.2rem;}
.check_box.start {justify-content: flex-start;}


/***** select *****/
.st {
    width: 15rem; height: 4.4rem;
    padding: 1rem 3.4rem 1rem 1.6rem;;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    font-size: 1.5rem; line-height: 2.2rem; text-align: left; color: var(--gray-80);
    background: var(--gray-0) url(../img/ico_select1.svg) no-repeat right 1rem center / 1.4rem 1.4rem;
    transition: border-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
}
.st.small {width: 10rem;}
.st.large {width: 22.5rem;}
.st.full {width: 100%;}
.st:disabled {
    color: var(--gray-60);
    background-color: var(--gray-10);
    cursor: default; opacity: 1;
}
.st:focus {background-image: url(../img/ico_select2.svg);}


/***** textarea *****/
textarea.text {
    display: block;
    width: 100%; height: 10rem;
    padding: 1rem 1.6rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    background-color: var(--gray-0);
    resize: none;
}
textarea.text.h16 {height: 16rem;}
textarea.text.h20 {height: 20rem;}
textarea.text.h36 {height: 36rem;}
textarea.text:read-only, textarea.text:disabled {
    padding: 0; border: 0;
    font-weight: 400;
    background-color: var(--gray-0);
}
textarea.text:read-only:focus {outline: none; border: 0;}
textarea.text::-webkit-scrollbar {width: 1rem; height: 1rem;}
textarea.text::-webkit-scrollbar-track {margin: 0.2rem 0;}
textarea.text::-webkit-scrollbar-thumb {
    border: 2px solid var(--gray-0);
    border-radius: 1rem;
    background-color: var(--gray-35);
    cursor: default;
}





/* ------------------------------------------------------------------------- */
/* 1-2. button
/* ------------------------------------------------------------------------- */
button {display: block; font: 400 1.5rem/1.5 'Pretendard'; color: var(--gray-80);}
button:disabled {cursor: default !important;}
.btn {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 9.6rem; height: 3.8rem;
    padding: 0.8rem 1.6rem;
    border: 1px solid var(--primary-60);
    border-radius: 0.7rem;
    font-weight: 500; font-size: 1.5rem; line-height: 1.8rem; color: var(--gray-0);
    background-color: var(--primary-60);
    transition: border-color 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}
.btn.small {
    min-width: 5rem; height: 2.8rem;
    padding: 0.6rem 0.7rem;
    border-radius: 0.5rem;
    font-size: 1.3rem; line-height: 1.6rem;
}
.btn.medium {
    min-width: 5rem; height: 3.2rem;
    padding: 0.6rem 1.2rem;
    border-radius: 0.6rem;
    font-size: 1.4rem;
}
.btn.large {
    width: 100%; height: 4.4rem;
    padding: 0.8rem 2.6rem;
    border-radius: 0.9rem;
}
.btn.green {
    border-color: #36A75C;
    background-color: #36A75C;
}
.btn.gray {
    border-color: var(--gray-15);
    color: var(--gray-80);
    background-color: var(--gray-15);
}
.btn.pale {
    border-color: var(--gray-15);
    color: var(--gray-70);
    background-color: var(--gray-15);
}
.btn.lineG {
    border-color: var(--gray-25);
    color: var(--gray-70);
    background-color: #F8F8F8;
}
.btn.lineB {
    border-color: var(--primary-50);
    color: var(--primary-60);
    background-color: var(--gray-0);
}
.btn.small.reset {
    padding-left: 2.2rem;
    background-image: url(../img/ico_reset.svg); background-position: left 0.5rem center;
    background-repeat: no-repeat; background-size: 1.4rem 1.4rem;
}
.btn.download {gap: 0.4rem;}
.btn.download::after {content: "";
    width: 1.6rem; height: 1.6rem;
    margin-right: -0.3rem; margin-bottom: 0.2rem;
    background: url(../img/ico_download2.svg) no-repeat center / contain;
}

/* button : disabled */
.btn:disabled {
    border-color: var(--gray-50);
    background-color: var(--gray-50) !important;
    cursor: default !important;
}

/* button box */
.btn_box {
    display: flex; align-items: center; justify-content: center; gap: 0.8rem;
    flex-shrink: 0;
}





/* ------------------------------------------------------------------------- */
/* 1-3. table
/* ------------------------------------------------------------------------- */
.tbl {
    width: 100%;
    overflow: visible;
}
.tbl table {
    width: 100%;
    border-collapse: separate;
}
.tbl th,
.tbl td {
    height: 4rem;
    padding: 0.8rem 1.1rem;
    border-right: 1px solid var(--gray-25); border-bottom: 1px solid var(--gray-25);
    font-size: 1.4rem; line-height: 2rem; text-align: center; color: var(--gray-70);
    background-color: var(--white);
}
.tbl th {
    font-weight: 500;font-size: 1.5rem; line-height: 2rem; color: var(--gray-80);
    background-color: var(--gray-10);
}
.tbl th .sub {
    display: block;
    font-weight: 400;
}
.tbl thead th {
    height: 4.2rem;
    border-top: 2px solid var(--primary-90);
}
.tbl tr > *:last-child {border-right: 0;}
.tbl tfoot tr > * {font-weight: 500; background-color: var(--gray-10);}

/* table.type2 */
.tbl.type2 {
    border: 1px solid var(--gray-25);
    border-radius: 0.8rem;
    overflow: hidden;
}
.tbl.type2 th,
.tbl.type2 td {text-align: left;}
.tbl.type2 th {font-size: 1.4rem; color: var(--gray-70);}
.tbl.type2 thead th {
    height: 3.8rem;
    border-top: 0;
}
.tbl.type2 tr:last-child > * {border-bottom: 0;}

/* scroll Y */
.tbl.scrollY {
    max-height: 19.9rem;
    border-bottom: 1px solid var(--gray-25);
    padding: 0 !important;
    overflow: hidden auto;
}
.tbl.scrollY::-webkit-scrollbar {width: 5px;}
.tbl.scrollY::-webkit-scrollbar-track {margin: 2px !important; background: linear-gradient(to bottom, var(--gray-10) 0, var(--gray-10) 35px, var(--gray-0) 35px, var(--gray-0) 100%);}
.tbl.scrollY::-webkit-scrollbar-thumb {border: 0;}
.tbl.scrollY thead th {position: sticky; top: 0; z-index: 1;}
.tbl.scrollY tbody tr:last-child > * {border-bottom: 0;}

/* scroll X */
.tbl.scrollX {
    padding-bottom: 0.6rem;
    overflow: auto hidden;
}
.tbl.scrollX::-webkit-scrollbar {width: 5px; height: 5px;}
.tbl.scrollX::-webkit-scrollbar-thumb {border-radius: 5px; background-color: var(--gray-35);}
.tbl.scrollX table {min-width: 54rem;}


/***** table cells *****/
.tbl .br {border-right: 1px solid var(--gray-25) !important;}
.tbl .br0 {border-right: 0 !important;}
.tbl .link {display: block; color: var(--gray-70);}
.tbl .link:hover {text-decoration: underline; text-underline-offset: 4px;}
.tbl tr.active {background-color: var(--primary-30);}

/* blue link */
.tbl.type2 .link {
    font-size: 1.4rem; line-height: 2rem; text-align: center; color: var(--primary-60);
    text-decoration: underline; text-underline-offset: 4px;
}
.tbl.type2 .link:hover {text-decoration: underline;}

@media (max-width : 1024px) {
    .tbl .link {text-decoration: underline; text-underline-offset: 4px;}
}





/* ------------------------------------------------------------------------- */
/* 1-4. pagination
/* ------------------------------------------------------------------------- */
.pagination {
    display: flex; align-items: center; justify-content: center; gap: 0.8rem;
    padding-top: 0.4rem;
}
.pagination button {
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 3rem; height: 3rem;
    border: 1px solid var(--gray-20);
    border-radius: 0.7rem;
    font-weight: 500; font-size: 1.3rem; line-height: 2.8rem; text-align: center; color: var(--gray-80);
    background-color: var(--gray-0);
}
.pagination .prev,
.pagination .next {background-repeat: no-repeat; background-position: center; background-size: 1.8rem 1.8rem;}
.pagination .prev {background-image: url(../img/ico_page_prev.svg);}
.pagination .next {background-image: url(../img/ico_page_next.svg);}
.pagination .page_num {display: flex; align-items: center; justify-content: center; gap: 0.6rem;}
.pagination .page_ellipsis {
    width: 2rem; height: 2rem;
    background-image: url(../img/ico_ellipsis.svg);
    background-repeat: no-repeat; background-position: center; background-size: contain;
}
.pagination .page_btn.active {
    border-color: var(--primary-60);
    font-weight: 600; color: var(--gray-0);
    background-color: var(--primary-60);
}

/* disabled */
.pagination .prev:disabled,
.pagination .next:disabled {opacity: 0.6; background-color: var(--gray-20);}


@media (max-width : 768px) {
    .pagination.mobileOnly {display: flex !important;}
}





/* ------------------------------------------------------------------------- */
/* 1-5. tab, disclosure, accordion
/* ------------------------------------------------------------------------- */
/***** tab *****/
.tab_menu {
    display: flex;
    width: 100%;
    position: relative;
}
.tab_menu_box {
    display: flex;
    width: 100%;
    padding: 0.4rem;
    border-radius: 1rem;
    background-color: var(--gray-15);
}
.tab_menu button {
    width: 100%;
    padding: 0.8rem;
    border-radius: 0.8rem;
    font-weight: 500; font-size: 1.6rem; line-height: 2.4rem; text-align: center; color: var(--gray-65);
    background-color: var(--gray-15);
    transition: background-color 0.2s ease, font 0.2s ease, box-shadow 0.2s ease;
}
.tab_menu button.active {
    background-color: var(--gray-0);
    font-weight: 600; color: var(--primary-60);
    box-shadow: var(--shadow-toggle);
}
[class*="tabCont_"] {display: none;}
[class*="tabCont_"].active {display: block;}


/***** disclosure *****/
.disclosure {position: relative;}
.disclosure .expand_btn {position: relative;}
.disclosure .expand_wrap {
    max-height: 0;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1), padding 0.5s cubic-bezier(0, 1, 0, 1);
    overflow: hidden;
}
.disclosure.active .expand_wrap {
    max-height: 100vh;
    position: relative;
    transition: max-height 1.5s ease-in-out, padding 0.5s ease-in-out;
}


/***** accordion *****/
.accordion_box {
    border: 1px solid var(--gray-25);
    border-radius: 0.8rem;
    background-color: var(--gray-0);
}
.accordion_btn {
    width: 100%;
    padding: 1.2rem 4.6rem 1.2rem 1.6rem;
    border-radius: 0.8rem;
    font-weight: 500; font-size: 1.6rem; line-height: 2.2rem; text-align: left; color: var(--gray-70);
    position: relative;
}
.accordion_btn::after {content: "";
    width: 1.4rem; height: 1.4rem;
    background: url(../img/ico_accordion.svg) no-repeat center / contain;
    position: absolute; right: 1.6rem; top: 50%;
    transform: translateY(-50%);
    transition: background-image 0.2s ease;
}
.accordion_collapse {
    max-height: 0;
    transition: all .5s cubic-bezier(0, 1, 0, 1);
    overflow: hidden;
}

/* accordion : active */
.accordion_btn.active {
    font-weight: 600; color: var(--primary-60);
    outline: 1px solid var(--primary-50);
}
.accordion_btn.active::after {background-image: url(../img/ico_accordion_active1.svg);}
.accordion_box.active .accordion_collapse {
    height: auto; max-height: 100vh;
    transition: all 1.5s ease-in-out;
}
.accordion_box.active .depth2 .accordion_collapse {display: none;}
.accordion_box.active .depth2 .accordion_box.active .accordion_collapse {display: block;}





/* ------------------------------------------------------------------------- */
/* 1-6. badge
/* ------------------------------------------------------------------------- */
.badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 4.8rem;
    padding: 0.3rem 0.7rem;
    border: 0.1rem solid var(--primary-30);
    border-radius: 2rem;
    font-weight: 500; font-size: 1.2rem; line-height: 1.4rem; text-align: center; color: var(--primary-60);
    background-color: var(--primary-30);
}





/* ------------------------------------------------------------------------- */
/* 1-7. dropdown
/* ------------------------------------------------------------------------- */
.drop_wrap {position: relative;}
.drop_menu {
    display: none;
    padding: 0.6rem 0.4rem 0.6rem 0.6rem;
    border: 1px solid var(--gray-25);
    border-radius: 1rem;
    background-color: var(--gray-0);
    position: absolute; z-index: 15;
}
.drop_menu .drop_list {
    width: max-content; max-height: 15rem;
    padding-right: 0.2rem;
    overflow: hidden auto;
}
.drop_menu .drop_list::-webkit-scrollbar {width: 10px;}
.drop_menu .drop_list::-webkit-scrollbar-thumb {
    border: 2px solid var(--gray-0);
    border-radius: 6px;
    background-color: var(--gray-35);
}
.drop_menu .item_link {
    width: 100%;
    padding: 0.6rem 2.8rem 0.6rem 0.8rem;
    border-radius: 0.6rem;
    font-size: 1.3rem; line-height: 1.8rem; text-align: left; color: var(--gray-70);
    position: relative;
    transition: background-color 0.2s ease;
}
.drop_menu .item_link::after {content: "";
    display: none;
    width: 1.5rem; height: 1.5rem;
    background: url(../img/ico_checked.svg) no-repeat center / contain;
    position: absolute; right: 0.6rem; top: 0.7rem;
}
.drop_menu .item_link:hover {background-color: var(--gray-15);}
.drop_menu .item_link.active::after {display: block;}





/* ------------------------------------------------------------------------- */
/* 1-8. tooltip
/* ------------------------------------------------------------------------- */
.tooltip {
    width: 2rem; height: 2rem;
    position: relative;
}
.tooltip_btn {
    width: 100%; height: 100%;
    background: url(../img/ico_info.svg) no-repeat center / 1.6rem 1.6rem;
}
.tooltip_box {
    display: none; flex-direction: column; gap: 0.4rem;
    width: 28rem;
    padding: 1.6rem;
    border: 1px solid var(--primary-50);
    border-radius: 1.6rem;
    font-weight: 400; font-size: 1.4rem; line-height: 1.5; color: var(--gray-70); letter-spacing: -0.4px;
    background-color: var(--gray-0);
    position: absolute; left: 50%; top: 2.4rem; z-index: 10;
    transform: translateX(-50%);
    box-shadow: var(--shadow-toggle);
}
.tooltip_box .close {
    width: 2rem; height: 2rem;
    background: url(../img/ico_close.svg) no-repeat center / contain;
    position: absolute; right: 1.2rem; top: 1.6rem; z-index: 10;
}
.tooltip_box em {
    display: block;
    padding-right: 2rem;
    margin-bottom: 0.2rem;
    font-weight: 600; font-size: 1.5rem; line-height: 2.2rem;
}
.tooltip_box p {word-break: break-all;}
.tooltip_box p + p {margin-top: -0.2rem;}
.tooltip_box ul li {
    padding-left: 1.4rem;
    word-break: break-all;
    position: relative;
}
.tooltip_box ul li::before {content: "";
    width: 3px; height: 3px;
    border-radius: 50%;
    background-color: var(--gray-70);
    position: absolute; left: 4px; top: 9px;
}
.tooltip.active  .tooltip_box {display: flex;}

@media (max-width : 768px) {
    .tooltip_box {width: calc(100vw - 7rem); max-width: 29rem;}
}





/* ------------------------------------------------------------------------- */
/* 1-9. alert, alarm
/* ------------------------------------------------------------------------- */
.alarm {display: none;}
.alarm.active {display: flex;}
.alarm.active .alarm_box {animation: alarmPop 0.4s cubic-bezier(0.37, 0, 0.63, 1) forwards;}

.alarm {
    align-items: center; justify-content: center;
    width: 100%; height: 100%;
    background-color: var(--dimmed);
    position: fixed; left: 0; top: 0; z-index: 150;
}
.alarm_box {
    display: flex; flex-direction: column; gap: 2rem;
    width: calc(100% - 4rem); max-width: 32rem;
    padding: 2.4rem 2rem 2rem 2rem;
    border: 1px solid var(--gray-30);
    border-radius: 1.5rem;
    background-color: var(--gray-0);
    opacity: 0;
    box-shadow: var(--shadow-tool);
}
.alarm .cont_box {
    display: flex; flex-direction: column; justify-content: space-evenly;
    min-height: 8rem;
    font-weight: 500; font-size: 1.5rem; line-height: 1.5; text-align: center; color: var(--gray-80);
}
.alarm .cont_box .tit {
    display: flex; align-items: center; justify-content: center; gap: 0.6rem;
    margin-bottom: 0.8rem;
    font-weight: 600; font-size: 1.6rem; line-height: 3.2rem; color: var(--gray-90);
}
.alarm .cont_box .tit .ico {
    width: 3.2rem; height: 3.2rem;
    border-radius: 50%;
    background: #FEEDEB url(../img/ico_alert.svg) no-repeat center top 6px / 1.8rem 1.8rem;
}
.alarm .cont_box .tit .ico.type2 {
    background-color: #EEF6F0;
    background-image: url(../img/ico_alert_confirm.svg); background-position: center center;
}
.alarm .cont_box .tit .ico.type3 {
    background-color: #EAF0FF;
    background-image: url(../img/ico_alert_check.svg); background-position: center center;
}
.alarm .btn_box .btn {font-weight: 400;}

/* 알림 - 설립유형 선택 */
.alarm .check_box {
    justify-content: space-around;
    padding: 1.4rem 2rem;
    border-radius: 1.2rem;
    background-color: var(--gray-10);
}


@keyframes alarmPop {
    30% {
        opacity: 0;
        transform: scale(0.6);
    }
    70% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}





/* ------------------------------------------------------------------------- */
/* 2. Layout
/* ------------------------------------------------------------------------- */
#wrap {
    display: flex; flex-direction: column;
    width: 100%; height: 100dvh;
    font-family: 'Pretendard'; font-size: 1.5rem; line-height: 1.5; color: var(--gray-80);
    font-variant-numeric: tabular-nums;
    overflow: hidden;
}

#header {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; height: 4.8rem;
    padding: 0.8rem 2rem;
    background-color: var(--primary-90);
    position: sticky; left: 0; top: 0; z-index: 20;
    transition: transform 0.4s ease;
}

/* 로고 */
#header .logo {display: flex; align-items: center; gap: 2rem;}
#header .logo a {
    width: 9.8rem; height: 3.2rem;
    background: url(../img/logo.png) no-repeat left center / contain;
}
#header .logo em {font-weight: 500; font-size: 1.5rem; line-height: 1.4; color: var(--gray-0);}

/* 사용자 & 버튼 */
#header .utils {display: flex; align-items: center; gap: 2.4rem;}
#header .utils .user {font-weight: 500; font-size: 1.5rem; line-height: 1.4; color: var(--gray-0);}
#header .utils .btn_box {display: flex; align-items: center; gap: 1.6rem;}
#header .utils .btn_box button {
    width: 2.2rem; height: 2.2rem;
    background-repeat: no-repeat; background-position: center; background-size: contain;
}
#header .utils .sch {background-image: url(../img/ico_search3.svg);}
#header .utils .menu {background-image: url(../img/ico_menu.svg);}

#container {
    width: 100%; height: calc(100dvh - 4.8rem);
    position: relative;
}

@media (max-width : 768px) {
    #header {
        height: 4rem;
        padding-bottom: 0;
        background-color: var(--gray-0);
    }
    #header .logo {
        align-items: flex-end; gap: 0.6rem;
        width: 100%;
        position: relative;
    }
    #header .logo a {
        flex-shrink: 0;
        background-image: url(../img/logo_mo.png);
    }
    #header .logo em {
        padding-top: 0.4rem;
        font-weight: 600; font-size: 1.6rem; line-height: 2.2rem; text-align: center; color: var(--gray-80);
        position: absolute; left: 50%; top: 50%;
        transform: translate(-50%, -50%);
    }
    #header .utils {display: none;}
    #container {height: 100%;}
}





/* ------------------------------------------------------------------------- */
/* 2-1. Navigation
/* ------------------------------------------------------------------------- */
#nav {
    width: 5.6rem; height: 100%;
    border-right: 1px solid var(--gray-30);
    background-color: var(--gray-0);
    position: absolute; left: 0; top: 0; z-index: 10;
}
#nav button {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 7rem;
    position: relative;
    transition: background-color 0.2s ease;
}
#nav button::before {content: "";
    width: 3px; height: 100%;
    background-color: var(--gray-0);
    position: absolute; left: 0; top: 0;
    transition: background-color 0.2s ease;
}
#nav button span {
    display: block;
    padding-top: 2.6rem;
    font-weight: 600; font-size: 1.2rem; line-height: 1.4rem; color: var(--gray-70);
    background-repeat: no-repeat; background-position: center top; background-size: 2rem 2rem;
    transition: color 0.2s ease, background-image 0.2s ease;
}
#nav button.home span {background-image: url(../img/ico_home1.svg);}
#nav button.gis span {background-image: url(../img/ico_gis1.svg);}
#nav button.location span {background-image: url(../img/ico_location1.svg);}
#nav button.property span {background-image: url(../img/ico_property1.svg);}
#nav button.price span {background-image: url(../img/ico_price1.svg);}

/* hover & active */
#nav button:hover {background-color: var(--gray-10);}
#nav button:hover::before {background-color: var(--primary-50);}
#nav button.active {background-color: var(--gray-10);}
#nav button.active::before {background-color: var(--primary-50);}
#nav button.active span {color: var(--primary-60);}
#nav button.home.active span {background-image: url(../img/ico_home2.svg);}
#nav button.gis.active span {background-image: url(../img/ico_gis2.svg);}
#nav button.location.active span {background-image: url(../img/ico_location2.svg);}
#nav button.property.active span {background-image: url(../img/ico_property2.svg);}
#nav button.price.active span {background-image: url(../img/ico_price2.svg);}


@media (max-width : 768px) {
    #nav {
        display: flex;
        width: 100%; height: 6rem;
        border-color: var(--gray-25);
        top: auto; bottom: 0;
    }
    #nav button {height: 100%;}
    #nav button::before {
        width: 100%; height: 3px;
        top: auto; bottom: 0;
    }
    #nav button span {font-weight: 500;}
    #nav button:hover {background-color: var(--gray-0);}
    #nav button:hover::before {background-color: var(--gray-0);}
    #nav button.active:hover {background-color: var(--gray-10);}
    #nav button.active:hover::before {background-color: var(--primary-50);}
}





/* ------------------------------------------------------------------------- */
/* 2-2. Controls
/* ------------------------------------------------------------------------- */
#controls {
    display: flex; align-items: center; gap: 0.8rem;
    position: absolute; right: 1rem; top: 1rem; z-index: 10;
    transition: top 0.2s ease;
}
#controls .btn_box {overflow: visible;}
#controls .btn_box .swiper-slide {width: fit-content;}
#controls .btn_box .swiper-slide:last-child {margin-right: 0 !important;}
#controls .btn_box button {
    height: 4rem;
    padding: 0 1.3rem 0 3rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.7rem;
    font-weight: 500; font-size: 1.3rem; line-height: 1.2; color: var(--gray-80);
    background-color: var(--gray-0); background-repeat: no-repeat;
    background-position: left 1rem top 1rem; background-size: 1.6rem 1.6rem;
    box-shadow: var(--shadow-tool);
    user-select: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
#controls .btn_box .complex {background-image: url(../img/ico_complex.svg);}
#controls .btn_box .disposal {background-image: url(../img/ico_disposal.svg);}
#controls .btn_box .research {background-image: url(../img/ico_research.svg);}
#controls .btn_box .my {background-image: url(../img/ico_my.svg);}
#controls .btn_box .location {background-image: url(../img/ico_factory_location.svg);}
#controls .btn_box .factory {background-image: url(../img/ico_factory.svg);}

#controls .btn_box button:hover {background-color: var(--gray-10);}
#controls .btn_box button.active {
    border-color: var(--primary-50);
    font-weight: 600; color: var(--primary-60);
    background-color: var(--gray-0);
}

/* 위치 선택 */
#controls .location {
    display: flex; align-items: center; gap: 1rem;
    padding: 0 1.4rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.7rem;
    font-size: 1.3rem; line-height: 3.8rem;
    background-color: var(--gray-0);
    box-shadow: var(--shadow-tool);
}
#controls .location .drop_btn {
    padding-right: 1.8rem;
    font-size: 1.3rem; line-height: 3.8rem;
    background: url(../img/ico_chevron_down.svg) no-repeat right center / 1.4rem 1.4rem;
}
#controls .location .drop_menu {left: -1.5rem; top: 4.4rem;}
#controls .location .town .drop_menu {left: auto; right: -1.5rem;}

/* 현재 위치 */
#controls .current {
    width: 4rem; height: 4rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.7rem;
    background: var(--gray-0) url(../img/ico_current.svg) no-repeat center / 1.6rem 1.6rem;
    transition: background-color 0.2s ease;
    box-shadow: var(--shadow-tool);
}
#controls .current:hover {background-color: var(--gray-10);}

@media (max-width : 1600px) {
    #controls {
        flex-wrap: wrap; justify-content: flex-end;
        width: calc(100vw - 64.6rem);
    }
    #controls .btn_box {width: 100%;}
    #controls .btn_box .swiper-wrapper {justify-content: flex-end;}
}

@media (max-width : 1280px) {
    #controls .btn_box .swiper-wrapper {flex-wrap: wrap; gap: 0.4rem 0.6rem;}
    #controls .btn_box .swiper-slide {margin-right: 0 !important;}
}

@media (max-width : 1024px) {
    #controls {width: calc(100vw - 39.6rem);}
    #controls .btn_box button:hover {background-color: var(--gray-0);}
    #controls .current:hover {background-color: var(--gray-0);}
}

@media (max-width : 768px) {
    #controls {position: initial;}
    #controls .btn_box {
        max-width: 100%;
        padding: 0 0.2rem 0 1rem;
        position: absolute; left: 0; right: auto; top: 11.2rem;
    }
    #controls .btn_box .swiper-wrapper {
        flex-wrap: nowrap; justify-content: initial;
        padding: 1rem 0;
    }
    #controls .btn_box button {
        height: 3.4rem;
        padding: 0 1.2rem 0 3.4rem;
        border: 0;
        border-radius: 2rem;
        background-position: left 1.2rem top 0.8rem;
        box-shadow: var(--shadow-tool-2);
    }

    /* 위치 선택 */
    #controls > .location {display: none;}

    /* 현재 위치 */
    #controls .current {
        background-image: url(../img/ico_current_mo.svg); background-size: 1.8rem 1.8rem;
        position: absolute; right: 1rem; bottom: 7rem; z-index: 10;
        box-shadow: none;
    }
}





/* ------------------------------------------------------------------------- */
/* 2-3. Tools
/* ------------------------------------------------------------------------- */
#tools {
    display: flex; align-items: flex-end; flex-direction: column; gap: 0.8rem;
    position: absolute; right: 1rem; top: 6rem; z-index: 8;
    transition: top 0.2s ease;
}
#tools .popup {display: block;}
#tools .popup_box {
    width: auto;
    border: 0; border-radius: 0;
    background-color: transparent;
    position: initial;
    transform: translate(0,0);
    opacity: 1;
    box-shadow: none;
}
#tools .popup.active .popup_box {animation: none;}
#tools .popup_head {display: none;}
#tools .popup_cont {padding: 0;}
#tools .tools_btn {
    display: block;
    width: 4rem; height: 4rem;
    border-right: 1px solid var(--gray-30); border-left: 1px solid var(--gray-30);
    border-bottom: 1px solid var(--gray-10);
    background-color: var(--gray-0);
    background-repeat: no-repeat; background-position: center; background-size: 1.6rem 1.6rem;
    position: relative;
    transition: background-color 0.2s ease, background-image 0.2s ease;
}
#tools .tools_btn:not(.mobileOnly):first-child {border-radius: 0.7rem 0.7rem 0 0;}
#tools .tools_btn:not(.mobileOnly):last-child {border-bottom: 0; border-radius: 0 0 0.7rem 0.7rem;}
#tools .tools_btn.type {
    border-top: 1px solid var(--gray-30);
    background-image: url(../img/ico_type1.svg);
}
#tools .tools_btn.distance {background-image: url(../img/ico_distance1.svg);}
#tools .tools_btn.polygon {background-image: url(../img/ico_polygon1.svg);}
#tools .tools_btn.circle {background-image: url(../img/ico_circle1.svg);}
#tools .tools_btn.draw {background-image: url(../img/ico_draw1.svg);}
#tools .tools_btn.eraser {
    border-bottom: 1px solid var(--gray-30);
    border-radius: 0 0 0.7rem 0.7rem;
    background-image: url(../img/ico_eraser1.svg);
}
#tools .tools_btn.indexmap {
    margin-top: 0.8rem;
    border-top: 1px solid var(--gray-30);
    border-radius: 0.7rem 0.7rem 0 0;
    background-image: url(../img/ico_indexmap1.svg);
}
#tools .tools_btn.swiping {background-image: url(../img/ico_swiping1.svg);}
#tools .tools_btn.geo {background-image: url(../img/ico_geo1.svg);}
#tools .tools_btn.print {background-image: url(../img/ico_print1.svg);}
#tools .tools_btn span {
    display: none;
    min-width: 4rem; width: max-content;
    padding: 0.2rem 0.4rem;
    border-radius: 0.4rem;
    font-size: 1.2rem; line-height: 1.4rem; text-align: center; color: var(--gray-0);
    background-color: #4B506B;
    position: absolute; right: 5rem; top: 50%;
    transform: translateY(-50%); z-index: 10;
}
#tools .tools_btn span::after {content: "";
    width: 1rem; height: 1rem;
    background: url(../img/ico_tool_arr.svg) no-repeat center / contain;
    position: absolute; right: -0.3rem; top: 50%; z-index: -1;
    transform: translateY(-50%);
}

/* hover & active */
#tools .tools_btn:hover {background-color: var(--gray-10);}
#tools .tools_btn:hover span {display: block;}
#tools .tools_btn:not(.mobileOnly).active {background-color: var(--primary-30);}
#tools .tools_btn.type.active {background-image: url(../img/ico_type2.svg);}
#tools .tools_btn.distance.active {background-image: url(../img/ico_distance2.svg);}
#tools .tools_btn.polygon.active {background-image: url(../img/ico_polygon2.svg);}
#tools .tools_btn.circle.active {background-image: url(../img/ico_circle2.svg);}
#tools .tools_btn.draw.active {background-image: url(../img/ico_draw2.svg);}
#tools .tools_btn.eraser.active {background-image: url(../img/ico_eraser2.svg);}
#tools .tools_btn.indexmap.active {background-image: url(../img/ico_indexmap2.svg);}
#tools .tools_btn.swiping.active {background-image: url(../img/ico_swiping2.svg);}
#tools .tools_btn.geo.active {background-image: url(../img/ico_geo2.svg);}
#tools .tools_btn.print.active {background-image: url(../img/ico_print2.svg);}

/* 2D 지도 선택 */
#tools .type_wrap {position: relative;}
#tools .type_box {
    display: none;
    border: 1px solid var(--gray-30);
    border-radius: 0.7rem;
    background-color: var(--gray-0);
    position: absolute; right: 4.7rem; top: 0;
    box-shadow: var(--shadow-tool);
}
#tools .type_box em {
    display: block;
    border-radius: 0.7rem 0.7rem 0 0;
    font-weight: 600; font-size: 1.3rem; line-height: 3.4rem; text-align: center; color: var(--gray-90);
    background-color: var(--gray-10);
}
#tools .type_list {
    display: flex; flex-direction: column; gap: 1rem;
    padding: 1rem 1.2rem;
}
#tools .type_list .check_btn {
    min-width: 7rem;
    display: flex;
}
#tools .type_list .check_btn input + span {font-weight: 500; font-size: 1.3rem;}
#tools .tools_btn.type.active span {z-index: 0;}
#tools .tools_btn.type.active + .type_box {display: block;}

/* 로드뷰 */
#tools .tools_btn.roadview {
    border: 1px solid var(--gray-30);
    border-radius: 0.7rem;
    background-color: var(--gray-0); background-image: url(../img/ico_roadview1.svg);
    box-shadow: var(--shadow-tool);
}
#tools .tools_btn.roadview:hover {background-color: var(--gray-10);}
#tools .tools_btn.roadview.active {background-image: url(../img/ico_roadview2.svg);}
#tools .tools_btn.roadview.active:hover {background-color: var(--primary-30);}

/* 확대 & 축소 버튼 */
#tools .zoom_box {
    width: 4rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.7rem;
    background-color: var(--gray-0);
    box-shadow: var(--shadow-tool);
}
#tools .zoom_box button {
    display: block;
    width: 100%; height: 3.9rem;
    background-repeat: no-repeat; background-position: center; background-size: 2rem 2rem;
}
#tools .zoom_box .zoom_in {
    border-bottom: 1px solid var(--gray-30);
    border-radius: 0.7rem 0.7rem 0 0;
    background-image: url(../img/ico_zoomin.svg);
}
#tools .zoom_box .zoom_out {
    border-radius: 0 0 0.7rem 0.7rem;
    background-image: url(../img/ico_zoomout.svg);
}


@media (max-width : 1600px) {
    #tools {top: 10.8rem;}
}

@media (max-width : 1280px) {
    #tools {top: 15rem;}
}

@media (max-width : 768px) {
    #tools {position: initial;}
    #tools .popup {display: none;}
    #tools .popup_box {
        width: 100%;
        border-radius: 1.5rem 1.5rem 0 0;
        background-color: var(--gray-0);
        position: fixed;
    }
    #tools .popup.active {display: block;}
    #tools .popup.active .popup_box {animation: popBtm 0.4s linear forwards;}
    #tools .popup_head {display: flex;}
    #tools .popup_cont {
        display: flex; flex-wrap: wrap; gap: 2.4rem 0;
        padding: 1.6rem 2rem 3rem 2rem;
    }
    #tools .tools_btn.mobileOnly {
        width: 4rem; height: 4rem;
        border: 1px solid var(--gray-30);
        border-radius: 0.7rem;
        background: var(--gray-0) url(../img/ico_map_mo.svg) no-repeat center / 1.8rem 1.8rem;
        position: absolute; left: 1rem; bottom: 7rem; z-index: 10;
    }
    #tools .tools_btn:not(.mobileOnly) {
        display: block;
        width: 6rem; height: 8.5rem;
        width: 20%;
        padding-top: 6.8rem;
        border: 0;
        background-color: transparent; background-position: top 1.8rem center; background-size: 2.4rem 2.4rem;
    }
    #tools .tools_btn:not(.mobileOnly)::before {content: "";
        width: 6rem; height: 6rem;
        border-radius: 50%;
        background-color: var(--gray-10);
        position: absolute; left: 50%; top: 0; z-index: -1;
        transform: translateX(-50%);
        transition: background-color 0.2s ease;
    }
    #tools .tools_btn:not(.mobileOnly):first-child {border-radius: 0;}
    #tools .tools_btn:not(.mobileOnly):last-child {border-radius: 0;}
    #tools .tools_btn.type {display: none;}
    #tools .tools_btn.distance {background-image: url(../img/ico_distance_mo1.svg);}
    #tools .tools_btn.polygon {background-image: url(../img/ico_polygon_mo1.svg);}
    #tools .tools_btn.circle {background-image: url(../img/ico_circle_mo1.svg);}
    #tools .tools_btn.draw {background-image: url(../img/ico_draw_mo1.svg);}
    #tools .tools_btn.eraser {background-image: url(../img/ico_eraser_mo1.svg);}
    #tools .tools_btn.indexmap {
        margin-top: 0;
        background-image: url(../img/ico_indexmap_mo1.svg);
    }
    #tools .tools_btn.swiping {background-image: url(../img/ico_swiping_mo1.svg);}
    #tools .tools_btn.geo {background-image: url(../img/ico_geo_mo1.svg);}
    #tools .tools_btn.print {background-image: url(../img/ico_print_mo1.svg);}
    #tools .tools_btn span {
        display: block;
        width: 100%;
        padding: 0;
        border-radius: 0;
        font-size: 1.4rem; line-height: 1.7rem; text-align: center; color: var(--gray-70);
        background-color: transparent;
        position: initial;
        transform: translateY(0);
    }
    #tools .tools_btn span::after {display: none;}

    /* hover & active */
    #tools .tools_btn:not(.mobileOnly):hover {background-color: transparent;}
    #tools .tools_btn:not(.mobileOnly).active {background-color: transparent;}
    #tools .tools_btn:not(.mobileOnly).active::before {background-color: var(--primary-60);}
    #tools .tools_btn.distance.active {background-image: url(../img/ico_distance_mo2.svg);}
    #tools .tools_btn.polygon.active {background-image: url(../img/ico_polygon_mo2.svg);}
    #tools .tools_btn.circle.active {background-image: url(../img/ico_circle_mo2.svg);}
    #tools .tools_btn.draw.active {background-image: url(../img/ico_draw_mo2.svg);}
    #tools .tools_btn.eraser.active {background-image: url(../img/ico_eraser_mo2.svg);}
    #tools .tools_btn.indexmap.active {background-image: url(../img/ico_indexmap_mo2.svg);}
    #tools .tools_btn.swiping.active {background-image: url(../img/ico_swiping_mo2.svg);}
    #tools .tools_btn.geo.active {background-image: url(../img/ico_geo_mo2.svg);}
    #tools .tools_btn.print.active {background-image: url(../img/ico_print_mo2.svg);}

    /* 2D 지도 선택 */
    #tools .type_wrap {width: 100%;}
    #tools .type_box {
        display: block;
        border: 0;
        border-radius: 1.2rem;
        background-color: var(--gray-10);
        position: initial;
        box-shadow: none;
    }
    #tools .type_box em {display: none;}
    #tools .type_list {
        flex-direction: row; justify-content: space-evenly;
        padding: 1.5rem 2rem;
    }
    #tools .type_list .check_btn {min-width: auto;}
    #tools .type_list .check_btn input + span {font-size: 1.4rem;}

    /* 로드뷰 */
    #tools .tools_btn.roadview {
        width: 4rem; height: 4rem;
        border: 1px solid var(--gray-30);
        padding-top: 0;
        background: var(--gray-0) url(../img/ico_roadview_mo1.svg) no-repeat center / 1.8rem 1.8rem;
        position: absolute; left: 1rem; bottom: 11.8rem; z-index: 10;
    }
    #tools .tools_btn.roadview::before,
    #tools .tools_btn.roadview span {display: none;}
    #tools .tools_btn.roadview:hover {background-color: var(--gray-0);}
    #tools .tools_btn.roadview.active {background-color: var(--primary-30); background-image: url(../img/ico_roadview_mo2.svg);}

    /* 확대 & 축소 버튼 */
    #tools .zoom_box {
        position: absolute; right: 1rem; bottom: 11.8rem; z-index: 10;
        box-shadow: none;
    }
}

@media (max-width : 480px) {
    #tools .tools_btn:not(.mobileOnly) {width: calc(100%/3);}
    #tools .type_list {justify-content: space-between;}
    #tools .tools_btn.roadview {width: 4rem;}
}





/* ------------------------------------------------------------------------- */
/* 2-4. Search (업종, 주소검색)
/* ------------------------------------------------------------------------- */
#sch {
    display: flex; align-items: center; gap: 1rem;
    position: absolute; left: 6.6rem; top: 1rem; z-index: 10;
}
#sch .sch_box {position: relative;}
#sch .sch_btn {
    display: flex; align-items: center;
    width: 28rem; height: 4.4rem;
    padding: 0 1.4rem 0 4rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    text-align: left;
    background-color: var(--gray-0); background-repeat: no-repeat;
    background-position: left 1.3rem top 1.1rem; background-size: 2rem 2rem;
    position: relative;
    box-shadow: var(--shadow-tool);
    transition: width 0.2s ease, background-color 0.2s ease;
}
#sch .sch_btn.industry {background-image: url(../img/ico_industry.svg);}
#sch .sch_btn.addr {background-image: url(../img/ico_addr.svg);}
#sch .sch_btn .placeholder {font-size: 1.5rem; line-height: 2rem; color: var(--gray-50);}
#sch .sch_btn .selected {font-size: 0;}
#sch .sch_btn .selected em {
    display: -webkit-box; overflow: hidden;
    -webkit-line-clamp: 1; -webkit-box-orient: vertical;
    font-weight: 500; font-size: 1.4rem; line-height: 2rem; color: var(--gray-70);
}

/* hover */
#sch .sch_btn:hover {background-color: var(--gray-15);}

/* 툴팁 */
.sch_tooltip {
    padding: 1rem 1.4rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.7rem;
    font-size: 1.4rem; line-height: 2.2rem; color: var(--gray-80);
    background-color: var(--gray-0);
    position: absolute; z-index: 200;
    box-shadow: var(--shadow-tool);
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}
.sch_tooltip.active {transform: translateY(0); opacity: 1;}


/***** 업종, 주소 입력 *****/
.modal_wrap {
    display: none; justify-content: center;
    width: 100%; height: 100%;
    padding: 5.8rem;
    background-color: var(--dimmed);
    position: fixed; left: 0; top: 0; z-index: 50;
    transition: padding 0.2s ease;
}
.modal_wrap.active {display: flex;}
.modal_wrap .modal_btn_box {display: none;}
.modal_wrap .tab_menu {display: none;}
.modal_box {
    border: 1px solid var(--gray-30);
    border-radius: 1.5rem;
    background-color: var(--gray-0);
    transition: width 0.2s ease;
}
.modal.industry .modal_box {width: 110rem;}
.modal.addr .modal_box {width: 60rem;}
.modal_head {
    display: flex; align-items: center; justify-content: space-between; gap: 1.2rem;
    padding: 1rem 1.4rem 1rem 2rem;
    border-bottom: 1px solid var(--gray-25);
}
.modal_head .modal_tit {font-weight: 600; font-size: 1.6rem; line-height: 2.2rem;}
.modal_head .modalClose {
    flex-shrink: 0;
    width: 2.2rem; height: 2.2rem;
    background: url(../img/ico_close.svg) no-repeat center / contain;
}
.modal_cont {
    border-radius: 0 0 1.5rem 1.5rem;
    overflow: hidden;
}

/* 검색 필터 */
.filter {
    display: flex; flex-direction: column; gap: 0.8rem;
    padding: 1.4rem 2rem;
    border-bottom: 1px solid var(--gray-25);
    background-color: var(--gray-0);
    position: sticky; top: 0; z-index: 10;
}
.filter .drop_wrap {width: calc((100% - 2.4rem)/4);}
.filter .drop_btn {
    width: 100%; height: 4.4rem;
    padding: 1rem 3.4rem 1rem 1.6rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    font-size: 1.5rem; line-height: 2.2rem; text-align: left; color: var(--gray-80);
    background: var(--gray-0) url(../img/ico_select1.svg) no-repeat right 1rem center / 1.4rem 1.4rem;
    transition: border-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
}
.filter .drop_btn.active {
    border-color: var(--primary-50);
    background-image: url(../img/ico_select2.svg);
}
.filter .drop_btn.selected_active {
    border-color: var(--primary-50);
    font-weight: 500; color: var(--primary-60);
    background-image: url(../img/ico_select2.svg);
}
.filter .drop_btn .selected {display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.filter .drop_menu {
    min-width: 100%;
    left: 0; top: 4.8rem;
    box-shadow: var(--shadow-toggle);
}
.filter .drop_list {min-width: 100%; max-width: 30rem; max-height: 17rem;}
.filter .drop_wrap:last-child .drop_menu {left: auto; right: 0;}
.filter .drop_list .item_link {
    padding-top: 0.7rem; padding-bottom: 0.7rem;
    font-size: 1.4rem; line-height: 2rem;
}
.filter .drop_list .item_link::after {top: 50%; transform: translateY(-50%);}

/* 검색 결과 */
.modal .result {padding: 1rem 0;}
.modal .result .total {
    display: inline-flex;
    padding: 0 2rem;
    font-weight: 400; font-size: 1.3rem; line-height: 1.6rem; color: var(--gray-60);
    position: relative; top: -3px;
}
.modal .result_list {padding: 0 2rem;}
.modal .result_list li {
    display: block;
    position: relative;
}
.modal .result_list li + li::before {content: "";
    width: 100%; height: 1px;
    background-color: var(--gray-25);
    position: absolute; left: 0; top: 0;
    transition: background-color 0.2s ease;
}
.modal .result_list .list {
    width: 100%; min-height: 4.6rem;
    padding: 1.2rem 1.4rem;
    border-radius: 0.8rem;
    font-size: 1.4rem; line-height: 2.2rem; text-align: left; color: var(--gray-70);
    transition: background-color 0.2s ease;
}
.modal .result_list .list em {font-weight: 600;}

/* 검색 결과 : hover */
.modal .result_list li:hover::before {background-color: transparent;}
.modal .result_list li:hover + li::before {background-color: transparent;}
.modal .result_list li:hover .list {background-color: var(--gray-10);}

/* 업종 검색 결과 */
.modal.industry .result_list {height: calc(100dvh - 30.5rem);}
.modal.industry .result_list .list {padding-right: 10rem;}
.modal.industry .result_list .info {
    padding: 0.4rem 2.2rem 0.4rem 0.8rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    font-weight: 500; font-size: 1.2rem; line-height: 1.6rem; color: var(--primary-60);
    background: url(../img/ico_help1.svg) no-repeat right 0.5rem center / 1.4rem 1.4rem;
    position: absolute; right: 1.2rem; top: 50%;
    transform: translateY(-50%);
    transition: border-color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
    opacity: 0;
}

/* 업종 검색 결과 : hover */
.modal.industry .result_list li:hover .info {opacity: 1;}
.modal.industry .result_list .info:hover {border-color: #DFEBFE; background-color: var(--primary-30);}

/* 주소 검색 필터 */
.modal.addr .filter {flex-direction: row;}
.modal.addr .filter .drop_wrap {flex-shrink: 0; width: 10.6rem;}

/* 주소 검색 결과 */
.modal.addr .result_list {height: calc(100dvh - 45rem);}
.modal.addr .result_list .list {
    display: flex; flex-direction: column; gap: 0.8rem;
    color: var(--gray-60);
}
.modal.addr .result_list .list .flexible {align-items: flex-start;}
.modal.addr .result_list .list .badge {margin-right: 1rem;}
.modal.addr .result_list .list .badge.cmplx {min-width: 5.8rem;}
.modal.addr .result_list .list em {color: var(--gray-70);}
.modal.addr .result_list .no_list {
    display: flex; flex-direction: column; gap: 0.8rem;
    padding: 1.4rem 1.8rem;
    border-radius: 0.7rem;
    font-size: 1.4rem; line-height: 1.5; color: var(--gray-60);
    background-color: var(--gray-10);
}
.modal.addr .result_list .no_list .label {min-width: 6rem;}

/* 주소 검색 페이지네이션 */
.modal.addr .result .pagination {padding-top: 1rem;}


@media (max-width : 1280px) {
    .sch_tooltip {max-width: calc(100vw - 12.4rem);}

    /* 업종, 주소 */
    .modal.industry .modal_box {width: 100%;}
}

@media (max-width : 1024px) {
    #sch {
        flex-direction: column; gap: 0rem;
        border-radius: 0.9rem;
        box-shadow: var(--shadow-tool);
    }
    #sch .sch_btn {
        width: 32rem;
        box-shadow: none;
    }
    #sch .sch_btn.industry {
        border-bottom: 0;
        border-radius: 0.9rem 0.9rem 0 0;
    }
    #sch .sch_btn.addr {
        border-top: 0;
        border-radius: 0 0 0.9rem 0.9rem;
    }
    #sch .sch_btn.addr::before {content: "";
        width: 100%; height: 1px;
        background-color: var(--gray-30);
        position: absolute; left: 0; top: 0;
    }
    #sch .sch_btn:hover {background-color: var(--gray-0);}

    /* 업종, 주소 */
    .modal_wrap {padding: 5.8rem 2rem;}
}

@media (max-width : 768px) {
    #sch {
        width: 100%;
        padding: 1.2rem 2rem;
        border-radius: 0;
        background-color: var(--gray-0);
        left: 0; top: 0;
    }
    #sch .sch_box {width: 100%;}
    #sch .sch_btn {width: 100%;}
    #sch .sch_btn .selected em {font-size: 1.5rem;}

    /* 업종, 주소 */
    .modal_wrap {
        flex-direction: column;
        padding: 0;
        background-color: var(--gray-0);
    }
    .modal_wrap .modal_btn_box {
        display: flex; align-items: center; justify-content: space-between;
        padding: 1rem 1.4rem 0 1.4rem;
    }
    .modal_btn_box button {
        width: 2.8rem; height: 2.8rem;
        background-repeat: no-repeat; background-position: center; background-size: contain;
    }
    .modal_btn_box .back {background-image: url(../img/ico_back.svg);}
    .modal_btn_box .modalClose {background-image: url(../img/ico_close_mo.svg);}
    .modal_wrap .tab_menu {
        display: block;
        padding: 1.2rem 2rem;
        position: relative;
    }
    .modal_wrap .tab_menu::before {content: "";
        width: 100%; height: 1px;
        background-color: var(--gray-20);
        position: absolute; left: 0; bottom: 0;
    }
    .modal_wrap [class*="tabCont_"] {flex: 1;}
    .modal_wrap .modal {height: 100%;}
    .modal_box {height: 100%; border: 0; border-radius: 0;}
    .modal.addr .modal_box {width: 100%;}
    .modal_head {display: none;}
    .modal_cont {
        display: flex; flex-direction: column;
        height: 100%; border-radius: 0;
    }

    /* 검색 필터 */
    .filter {
        background-color: var(--gray-10);
        box-shadow: var(--shadow-toggle);
    }
    .filter > .flexCenter {flex-wrap: wrap;}
    .filter .drop_wrap {width: calc(50% - 0.4rem);}
    .filter .drop_wrap:nth-of-type(2n) .drop_menu {left: auto; right: 0;}

    /* 검색 결과 */
    .modal .result {padding-bottom: 0;}
    .modal .result .total {top: 0;}
    .modal .result_list .list {
        padding: 1.4rem 0;
        line-height: 2.1rem;
    }

    /* 검색 결과 : hover */
    .modal .result_list li:hover::before {background-color: var(--gray-25);}
    .modal .result_list li:hover + li::before {background-color: var(--gray-25);}
    .modal .result_list li:hover .list {background-color: transparent;}

    /* 업종 검색 결과 */
    .modal.industry .result_list {height: calc(100dvh - 29.7rem);}
    .modal.industry .result_list .list {padding-right: 3rem;}
    .modal.industry .result_list .info {
        width: 3rem; height: 3rem;
        padding: 0;
        border: 0; border-radius: 0;
        text-indent: -9999px;
        background: url(../img/ico_more.svg) no-repeat center right 0.4rem / 1.8rem 1.8rem;
        right: 0;
        opacity: 1;
    }
    .modal.industry .result_list .info:hover {background-color: transparent;}

    /* 주소 검색 결과 */
    .modal.addr .result {padding-bottom: 1rem;}
    .modal.addr .result_list {height: calc(100dvh - 26.6rem);}
    .modal.addr .result_list .list em {word-break: break-all;}
    .modal.addr .result_list .no_list {margin-top: 1.6rem;}
}

@media (max-width : 480px) {
    /* 업종, 주소 */
    .filter .drop_wrap {width: 100%;}
    .filter .drop_menu {width: 100%;}
    .filter .drop_list {max-width: 100%;}
    .modal.industry .result_list {height: calc(100dvh - 40.1rem);}
    .modal.addr .filter {flex-direction: column;}
    .modal.addr .filter .drop_wrap {width: 100%;}
    .modal.addr .result_list {height: calc(100dvh - 31.8rem);}
}





/* ------------------------------------------------------------------------- */
/* 3. Popup
/* ------------------------------------------------------------------------- */
.popup {display: none;}
.popup.active {display: block;}
.popup.active .popup_box {animation: pop 0.4s cubic-bezier(0.37, 0, 0.63, 1) forwards;}

.popup.dimmed {
    width: 100%; height: 100%;
    background-color: var(--dimmed);
    position: fixed; left: 0; bottom: 0; z-index: 100;
}
.popup.dimmed[data-name="industryInfo"] {background-color: transparent;}
.popup_box {
    width: 40rem;
    border: 1px solid var(--gray-30);
    border-radius: 1.5rem;
    background-color: var(--gray-0);
    position: fixed; left: 50%; top: 50%; z-index: 100;
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    box-shadow: var(--shadow-modal);
}
.popup_box.type2 {width: 49.2rem;}
.popup_box.type3 {width: 52rem;}
.popup_box.type4 {width: 64rem;}
.popup_box::before {content: "";
    width: 3.6rem; height: 1.6rem;
    background: url(../img/ico_popup_arr.svg) no-repeat center / contain;
    position: absolute; left: calc(50% - 1.8rem); bottom: -1.5rem; z-index: 1;
}
.popup_box.noArr::before {display: none;}
.popup_head {
    display: flex; align-items: center; justify-content: space-between; gap: 1.2rem;
    padding: 1rem 1.4rem 1rem 2rem;
    border-bottom: 1px solid var(--gray-25);
}
.popup_head .popup_tit {font-weight: 600; font-size: 1.6rem; line-height: 2.2rem;}
.popup_head .popupClose {
    flex-shrink: 0;
    width: 2.2rem; height: 2.2rem;
    background: url(../img/ico_close.svg) no-repeat center / contain;
}
.popup_cont {
    padding: 1.6rem 1.8rem;
    position: relative;
}
.popup_cont.scrollY {min-height: 20rem; max-height: calc(100dvh - 48rem);}
.popup_box.type3 .popup_cont.scrollY {max-height: calc(100dvh - 40rem);}
.popup_cont.scrollY::-webkit-scrollbar-track {margin-bottom: 0.6rem;}
.popup_cont > .btn_box {
    padding-top: 1.4rem; padding-bottom: 1.6rem;
    margin-bottom: -1.6rem;
    background-color: var(--gray-0);
    position: sticky; bottom: -1.6rem;
}
.popup_cont > .btn_box.noSticky {
    padding-top: 1.6rem; padding-bottom: 0;
    margin-bottom: 0;
    position: initial;
}

/* 컨텐츠 - 정보 */
.popup .info_wrap {font-size: 1.4rem; line-height: 1.5; color: var(--gray-70);}
.popup .info_tit {
    display: block;
    margin-bottom: 1rem;
    font-weight: 600; font-size: 1.5rem; line-height: 1.4; color: var(--gray-80);
}
.popup .info_box {
    display: block;
    margin-bottom: 2.4rem;
}
.popup .info_box:last-child {margin-bottom: 0;}
.popup .info_box .tit {
    display: block;
    margin-bottom: 0.6rem;
    font-weight: 600; font-size: 1.5rem; line-height: 1.4; color: var(--gray-80);
}
.popup .info_box .box {
    padding: 1.2rem 1.6rem;
    border-radius: 0.6rem;
    background-color: var(--gray-10);
}
.popup .info_box .list li {
    padding-left: 1.8rem;
    position: relative;
}
.popup .info_box .list li::before {content: "";
    width: 3px; height: 3px;
    border-radius: 50%;
    background-color: var(--gray-70);
    position: absolute; left: 0.6rem; top: 0.9rem;
}

/* 컨텐츠 - 섹션 */
.popup .sec {margin-top: 3rem;}
.popup .sec:first-child {margin-top: 0;}
.popup .sec_head {
    display: flex; align-items: center;
    margin-bottom: 1.2rem;
}
.popup .sec_tit {
    padding-left: 0.8rem;
    font-weight: 600; font-size: 1.6rem; line-height: 2.2rem; color: var(--gray-80);
    position: relative;
}
.popup .sec_tit::before {content: "";
    width: 2px; height: 1.4rem;
    background-color: var(--primary-60);
    position: absolute; left: 0; top: 0.4rem;
}
.popup .sec_cont {display: flex; flex-direction: column; gap: 1.2rem;}

/* 컨텐츠 - 섹션 - 아티클 */
.popup .article {margin-bottom: 2rem;}
.popup .article:last-of-type {margin-bottom: 0;}
.popup .article_head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 1.2rem;
}
.popup .article_tit {
    padding-left: 1.2rem;
    font-weight: 500; font-size: 1.5rem; line-height: 2rem; color: var(--gray-80);
    position: relative;
}
.popup .article_tit::before {content: "";
    width: 0.5rem; height: 0.5rem;
    border-radius: 50%;
    background-color: var(--primary-70);
    position: absolute; left: 0; top: 0.7rem;
}
.popup .article_tit span {font-weight: 400; font-size: 1.3rem; color: var(--gray-60);}
.popup .flexCol .article_tit {font-size: 1.4rem;}
.popup .flexCol .article_tit::before {width: 4px; height: 4px; top: 0.8rem;}
.popup .article_cont {display: flex; flex-direction: column; gap: 1.2rem;}


@keyframes pop {
    30% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.6);
    }
    70% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes popBtm {
    100% {bottom: 0;}
}


@media (max-width : 768px) {
    .popup.active .popup_box {animation: popBtm 0.4s linear forwards;}
    .popup.dimmed[data-name="industryInfo"] {background-color: var(--dimmed);}
    .popup.dimmed_mobileOnly {
        width: 100%; height: 100%;
        background-color: var(--dimmed);
        position: fixed; left: 0; bottom: 0; z-index: 100;
    }
    .popup_box {
        width: 100% !important;
        border: 0;
        border-radius: 1.5rem 1.5rem 0 0;
        left: 0; top: auto; bottom: -30rem;
        transform: translate(0,0);
        opacity: 1;
        box-shadow: var(--shadow-tool-2);
    }
    .popup_box::before {display: none;}
    .popup_head {
        gap: 0.4rem;
        padding: 1.2rem 1.4rem 1.2rem 4.2rem;
    }
    .popup_head .popup_tit {
        width: 100%;
        text-align: center;
    }
    .popup_head .popupClose {width: 2.4rem; height: 2.4rem;}
    .popup_cont {
        max-height: calc(100dvh - 19rem);
        padding: 1.6rem 2rem;
        overflow: hidden auto;
    }
    .popup_cont.scrollY {max-height: calc(100dvh - 19rem);}
    .popup_box.type3 .popup_cont.scrollY {max-height: calc(100dvh - 19rem);}
    .popup_cont.scrollY::-webkit-scrollbar-track {margin-bottom: 0;}
}





/* ------------------------------------------------------------------------- */
/* 3-1. 상세정보 (사전진단/종합현황)
/* ------------------------------------------------------------------------- */
.popup_box.full {
    max-width: 144rem;
    top: 54%;
    transition: max-width 0.2s ease, top 0.2s ease;
}
.popup .detail {padding: 0;}
.popup .detail > .tbl {
    width: calc(100% - 4rem);
    margin: 1.8rem 2rem;
    border-top: 1px solid var(--gray-25);
}
.popup .detail > .tbl th,
.popup .detail > .tbl td {padding: 0.8rem 1.1rem;}
.popup .detail > .tbl td {font-size: 1.4rem;}
.popup .detail > .tbl td p {margin-bottom: 0.4rem;}
.popup .detail > .tbl td p:last-child {margin-bottom: 0;}


/***** 탭메뉴 *****/
.detail .tab_menu {
    padding: 0 2rem;
    background-color: var(--gray-10);
}
.detail .tab_menu button {
    min-width: 13rem; width: fit-content;
    padding: 0 2rem;
    border-radius: 0;
    line-height: 4.5rem; color: var(--gray-70);
    background-color: transparent;
    position: relative;
    transition: none;
}
.detail .tab_menu button::after {content: "";
    width: 100%; height: 3px;
    background-color: var(--primary-60);
    position: absolute; left: 0; bottom: 0;
    opacity: 0;
    transition: opacity 0.2s ease;
}
.detail .tab_menu button.active {
    font-weight: 600; color: var(--primary-60);
    background-color: transparent;
    box-shadow: none;
}
.detail .tab_menu button.active::after {opacity: 1;}
.detail [class*="tabCont_"] {
    display: none;
    height: calc(100dvh - 36.6rem); max-height: 80rem;
    border-radius: 0 0 1.5rem 1.5rem;
    overflow: hidden;
}
.detail [class*="tabCont_"].active {display: flex;}
.detail [class*="tabCont_"] .scrollY {height: 100%; padding: 0 2rem;}
.detail [class*="tabCont_"] .scrollY::-webkit-scrollbar-track {margin: -1.6rem 0;}


/***** lnb *****/
.detail .lnb {
    flex-shrink: 0;
    display: flex; flex-direction: column;
    padding: 1.8rem 0;
    border-right: 1px solid var(--gray-25);
}
.detail .lnb .accordion_box {margin-bottom: 0.8rem;}
.detail .lnb .accordion_box:last-child {margin-bottom: 0;}
.detail .lnb .accordion_btn {
    width: 20rem;
    font-size: 1.5rem; line-height: 2rem;
    transition: width 0.2s ease;
}
.detail .lnb .accordion_btn.active::after {background-image: url(../img/ico_accordion_active2.svg);}
.detail .lnb_list {padding: 1.2rem 1.6rem;}
.detail .lnb_list button {
    width: 100%;
    padding: 0.4rem 0 0.4rem 1.2rem;
    font-size: 1.4rem; line-height: 2rem; text-align: left; color: var(--gray-70);
    position: relative;
}
.detail .lnb_list button::before {content: "";
    width: 0.4rem; height: 0.4rem;
    border-radius: 50%;
    background-color: var(--gray-35);
    position: absolute; left: 0; top: 1.3rem;
}

/* lnb : active */
.detail .lnb_list button.active {font-weight: 600; color: var(--primary-60);}
.detail .lnb_list button.active::before {background-color: var(--primary-60);}

/* lnb + dropDown */
.detail .lnb .drop_menu {
    display: block !important;
    border: 0; border-radius: 0;
    position: initial;
}
.detail .lnb .drop_menu .drop_list {
    width: 100%; max-height: 100%;
    padding-right: 0;
    overflow: visible;
}
.detail .lnb .drop_menu .item_link::after {display: none;}
.detail .lnb .drop_menu .item_link:hover {background-color: transparent;}


/***** contents *****/
.detail .cont {
    width: calc(100% - 24.2rem);
    padding-top: 1.8rem;
    overflow-x: auto;
}
.detail .cont .scrollY {padding-bottom: 1.8rem;}

/* section */
.detail .cont .sec {margin-bottom: 4rem;}
.detail .cont .sec:last-of-type {margin-bottom: 0;}
.detail .cont .sec_head {justify-content: space-between; gap: 0.8rem;}
.detail .cont .sec_head .btn_box {padding-top: 0;}
.detail .cont .sec_head .btn {
    min-width: 0; height: 3.2rem;
    padding: 0.6rem 1.4rem;
    border-color: var(--gray-30);
    border-radius: 2rem;
    font-weight: 400; font-size: 1.3rem; color: var(--gray-70);
    background-color: var(--gray-0);
}
.detail .cont .sec_head .btn.print,
.detail .cont .sec_head .btn.help,
.detail .cont .sec_head .btn.info {
    padding-left: 3.2rem;
    background-repeat: no-repeat; background-position: left 1.1rem center; background-size: 1.6rem 1.6rem;
}
.detail .cont .sec_head .btn.print {background-image: url(../img/ico_print1.svg);}
.detail .cont .sec_head .btn.help {background-image: url(../img/ico_help2.svg);}
.detail .cont .sec_head .btn.info {background-image: url(../img/ico_info2.svg);}

/* button hover & active */
.detail .cont .sec_head .btn.active {
    border-color: #DFEBFE;
    color: var(--primary-70);
    background-color: var(--primary-30);
}
.detail .cont .sec_head .btn.print.active {background-image: url(../img/ico_print2.svg);}
.detail .cont .sec_head .btn.help.active {background-image: url(../img/ico_help3.svg);}
.detail .cont .sec_head .btn.info.active {background-image: url(../img/ico_info3.svg);}

/* article */
.detail .cont .article_head .btn {
    min-width: 0; height: 3.2rem;
    padding: 0.6rem 1.4rem;
    border-color: var(--gray-30);
    border-radius: 2rem;
    font-weight: 400; font-size: 1.3rem; color: var(--gray-70);
    background-color: var(--gray-0);
}
.detail .cont .article_head .btn.print,
.detail .cont .article_head .btn.help,
.detail .cont .article_head .btn.info {
    padding-left: 3.2rem;
    background-repeat: no-repeat; background-position: left 1.1rem center; background-size: 1.6rem 1.6rem;
}
.detail .cont .article_head .btn.print {background-image: url(../img/ico_print1.svg);}
.detail .cont .article_head .btn.help {background-image: url(../img/ico_help2.svg);}
.detail .cont .article_head .btn.info {background-image: url(../img/ico_info2.svg);}
.detail .cont .article_cont {font-size: 1.3rem; line-height: 2rem; color: var(--gray-70);}
.detail .cont .article_cont .flexCol {margin-bottom: 0.8rem;}
.detail .cont .article_cont .flexCol:last-child {margin-bottom: 0;}
.detail .cont .article_cont .flexCol > .tit {
    font-weight: 500; font-size: 1.4rem; line-height: 2rem; color: var(--gray-70);
    padding-left: 1rem;
    position: relative;
}
.detail .cont .article_cont .flexCol > .tit::before {content: "";
    width: 5px; height: 2px;
    background-color: var(--gray-60);
    position: absolute; left: 0; top: 0.9rem;
}
.detail .cont .txt_box + .article,
.detail .cont .info_box + .article,
.detail .cont .tbl + .article {margin-top: 1.2rem;}

/* tooltip */
.detail .cont .tooltip {width: auto; height: auto;}
.detail .cont .tooltip.active .tooltip_btn {
    border-color: #DFEBFE;
    color: var(--primary-70);
    background-color: var(--primary-30);
}
.detail .cont .tooltip.active .tooltip_btn.help {background-image: url(../img/ico_help3.svg);}
.detail .cont .tooltip.active .tooltip_btn.info {background-image: url(../img/ico_info3.svg);}
.detail .cont .tooltip_box {
    gap: 1.6rem;
    width: 38rem; max-height: calc(100dvh - 50rem);
    left: auto; right: 0; top: calc(100% + 6px);
    transform: translateX(0);
    overflow: hidden auto;
}
.detail .cont .tooltip_box.wide {width: 60rem;}
.detail .cont .tooltip_box::-webkit-scrollbar {width: 3px;}
.detail .cont .tooltip_box::-webkit-scrollbar-track {margin: 1.2rem 0;}
.detail .cont .tooltip_box::-webkit-scrollbar-thumb {border-radius: 1rem; background-color: var(--gray-30);}
.detail .cont .tooltip_box em {margin-bottom: -0.4rem;}
.detail .cont .tooltip_box .close {
    flex-shrink: 0; align-self: flex-end;
    margin-bottom: -3.6rem;
    position: sticky; top: 0;
    transform: translateX(1.2rem);
}
.detail .cont .tooltip_box > em {
    padding-bottom: 0.4rem;
    margin-bottom: -0.8rem;
    background-color: var(--gray-0);
    position: sticky; top: 0; z-index: 5;
}
.detail .cont .tooltip_box > em::before {content: "";
    width: 100%; height: 1.6rem;
    background-color: var(--gray-0);
    position: absolute; left: 0; top: -1.6rem;
}
.detail .cont .tooltip_box ul li {margin-bottom: 0.6rem;}
.detail .cont .info + .tooltip_box ul li {font-weight: 500;}
.detail .cont .help + .tooltip_box ul li {margin-bottom: 1rem;}
.detail .cont .help + .tooltip_box li em {
    margin-bottom: 0.2rem;
    font-weight: 500; font-size: 1.4rem;
}
.detail .cont .help + .tooltip_box li .flexible em {
    flex-shrink: 0;
    padding-right: 0; margin-bottom: 0;
}
.detail .cont .help + .tooltip_box li .dash {
    padding-left: 0.9rem;
    margin-top: 0.4rem;
    position: relative;
}
.detail .cont .help + .tooltip_box li .dash::before {content: "";
    width: 4px; height: 1px;
    background-color: var(--gray-70);
    position: absolute; left: 0; top: 1rem;
}
.detail .cont .tooltip_box ul li:last-child {margin-bottom: 0;}
.detail .cont .tooltip_box .desc {padding-left: 1.2rem; position: relative;}
.detail .cont .tooltip_box .desc::before {content: "※"; position: absolute; left: 0; top: 0;}
.detail .cont .tooltip_box .desc + .desc {margin-top: -1rem;}

/* icon */
.detail .cont .ico {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2rem; height: 2rem;
    vertical-align: middle;
    background-repeat: no-repeat; background-position: center; background-size: contain;
}
.detail .cont .tbl td > .ico {vertical-align: -5px;}
.detail .cont .ico_tri {background-image: url(../img/ico_triangle.svg);}
.detail .cont .ico_o {background-image: url(../img/ico_o.svg);}
.detail .cont .ico_x {background-image: url(../img/ico_x.svg);}
.detail .cont .ico_signal {
    display: inline-flex; flex-shrink: 0;
    width: 5.8rem; height: 2.2rem;
    vertical-align: middle;
    background-repeat: no-repeat; background-position: center; background-size: contain;
}
.detail .cont .ico_signal.red {background-image: url(../img/ico_signal_red.svg);}
.detail .cont .ico_signal.yellow {background-image: url(../img/ico_signal_yellow.svg);}
.detail .cont .ico_signal.green {background-image: url(../img/ico_signal_green.svg);}

/* switch toggle button */
.detail .cont .switch_toggle {
    flex-shrink: 0;
    width: 4.2rem; height: 2.4rem;
    position: relative;
}
.detail .cont .switch_toggle input {
    appearance: none; -webkit-appearance: none;
    width: 100%; height: 100%;
    border-radius: 3rem;
    position: absolute; left: 0; top: 0; z-index: 1;
    cursor: pointer;
}
.detail .cont .switch_toggle .btn {
    width: 1.8rem; min-width: 0; height: 1.8rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--gray-0);
    position: absolute; left: 0.3rem; top: 0.3rem;
    cursor: pointer;
    transition: left 0.3s ease-out;
}
.detail .cont .switch_toggle .btn::before {content: "평";
    width: 1.8rem; height: 1.8rem;
    font-weight: 500; font-size: 1.1rem; text-align: center; color: var(--gray-70);
    position: absolute; left: 1.8rem; top: 0;
    transition: left 0.3s ease-out;
}
.detail .cont .switch_toggle .bg {
    display: block;
    width: 100%; height: 100%;
    border-radius: 3rem;
    background-color: var(--gray-20);
    transition: background-color 0.3s ease-out;
}
.detail .cont .switch_toggle input:checked + .btn {left: 1.9rem;}
.detail .cont .switch_toggle input:checked + .btn::before {content: "㎡"; left: -1.8rem;}
.detail .cont .switch_toggle input:checked ~ .bg {background-color: #7EEF66;}

/* description */
.popup_cont .desc {font-size: 1.3rem; color: var(--gray-70);}
.detail .cont .desc {
    display: block;
    font-weight: 400; font-size: 1.3rem; line-height: 1.8rem; color: var(--gray-60);
}
.detail .cont .sec + .desc {margin-top: 1.4rem;}
.detail .cont .sec + .desc + .desc {margin-top: 0.2rem;}

/* table */
.popup_cont .tbl:not(.type2) {border-top: 2px solid var(--primary-60);}
.popup_cont .tbl:not(.type2) th,
.popup_cont .tbl:not(.type2) td {
    padding: 0.9rem 1.2rem;
    font-size: 1.3rem; line-height: 2.1rem; word-break: break-all;
}
.popup_cont .tbl:not(.type2) th {font-size: 1.4rem; line-height: 2rem;}
.popup_cont .tbl:not(.type2) thead th {
    height: 3.7rem;
    padding: 0.7rem 0.6rem;
    border-top: 0;
}
.detail .tbl:not(.type2) td .btn.lineG {margin: -3px 0;}
.popup_cont .tbl:not(.type2) td .indent {
    padding-left: 1.7rem;
    text-indent: -1.7rem; word-break: break-all;
}
.detail .tbl:not(.type2) td .compare_box {margin: -2px 0;}
.popup_cont .tbl button.download {
    display: inline-flex; justify-content: center;
    min-height: 2.2rem;
    padding-left: 2.2rem;
    font-size: 1.3rem; line-height: 2rem; text-align: left; color: var(--gray-70);
    word-break: break-all; vertical-align: middle;
    background: url(../img/ico_download.svg) no-repeat left 0.2rem top / 1.8rem 1.8rem;
}
.popup_cont .tbl button.download span:not(.soundOnly) {
    padding-left: 0.4rem;
    word-break: break-all;
}
.detail .tbl .link {
    font-size: 1.3rem; line-height: 2.2rem; color: var(--gray-70); word-break: break-all;
    text-decoration: underline; text-underline-offset: 4px;
}
.detail .tbl button.link {display: inline-block;}

/* disclosure in table */
.detail .tbl .disclosure .expand_wrap {display: none;}
.detail .tbl .disclosure .expand_wrap td {padding: 1.4rem 0;}
.detail .tbl .disclosure.active .expand_btn:not(.link)::before {content: "닫기";
    padding: 0.4rem;
    background-color: #F8F8F8;
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.detail .tbl .disclosure.active .expand_wrap {display: table-row;}

/* text box */
.popup_cont .txt_box {
    display: flex; flex-direction: column; gap: 4px;
    padding: 1.8rem 2rem;
    border-radius: 0.8rem;
    font-size: 1.3rem; line-height: 1.5; text-align: left; color: var(--gray-70); word-break: break-all;
    background-color: var(--gray-10);
}
.popup_cont .txt_box b {font-weight: 600;}
.popup_cont .txt_box .tit {font-weight: 600; color: var(--gray-80);}
.popup_cont .txt_box > ul {display: flex; flex-direction: column; gap: 4px;}
.popup_cont .txt_box > ul > li {display: flex; flex-direction: column; gap: 2px;}
.popup_cont .txt_box > ul > li.dot {
    padding-left: 1rem;
    position: relative;
}
.popup_cont .txt_box > ul > li.dot::before {content: "";
    width: 3px; height: 3px;
    border-radius: 50%;
    background-color: var(--gray-70);
    position: absolute; left: 0; top: 0.7rem;
}
.popup_cont .txt_box ul li ul li {padding-left: 1.4rem;}
.popup_cont .txt_box li,
.popup_cont .txt_box p {word-break: break-all;}
.popup_cont .txt_box .alert {
    padding-left: 3.2rem;
    font-size: 1.35rem;
    position: relative;
}
.popup_cont .txt_box .alert::before {content: "";
    width: 2.4rem; height: 2.4rem;
    border-radius: 50%;
    background: #FEEDEB url(../img/ico_alert.svg) no-repeat center top 4px / 1.35rem 1.35rem;
    position: absolute; left: 0; top: 0;
}
.popup_cont .txt_box .alert ~ * {padding-left: 3.2rem;}

/* info box */
.popup_cont.detail .info_box {
    display: flex; justify-content: space-between; gap: 1.6rem;
    padding: 1.8rem 2rem;
    margin-bottom: 0;
    border-radius: 0.8rem;
    font-size: 1.3rem; line-height: 1.5; color: var(--gray-80);
    background-color: var(--gray-10);
}
.popup_cont.detail .info_box .info_box {background-color: var(--gray-0);}
.popup_cont.detail .info_box .tit {font-weight: 500;}
.popup_cont.detail .info_box dl {
    display: flex; flex-direction: column; justify-content: space-between; gap: 0.8rem;
    width: 100%;
    padding-left: 1.6rem;
    border-left: 1px solid var(--gray-25);
}
.popup_cont.detail .info_box dl:first-child {padding-left: 0; border-left: 0;}
.popup_cont.detail .info_box dt {color: var(--gray-70);}
.popup_cont.detail .info_box dd {font-weight: 500;}
.popup_cont.detail .info_box .check_box {justify-content: flex-start; flex-wrap: wrap; gap: 1rem 2rem;}

/* info box (type2) */
.popup_cont.detail .info_box.type2 {flex-direction: column;}
.popup_cont.detail .info_box.type2 dl {
    flex-direction: row; align-items: flex-start; justify-content: flex-start; gap: 1.6rem;
    padding-left: 0;
    border-left: 0;
}
.popup_cont.detail .info_box.type2 dt {
    min-width: 13.6rem;
    padding-right: 1.6rem;
    position: relative;
}
.popup_cont.detail .info_box.type2 dt .point,
.popup_cont.detail .info_box.type2 dt .low,
.popup_cont.detail .info_box.type2 dt .mid,
.popup_cont.detail .info_box.type2 dt .high {font-weight: 500;}
.popup_cont.detail .info_box.type2 dt::after {content: "";
    width: 1px; height: 1.6rem;
    background-color: var(--gray-30);
    position: absolute; right: 0; top: 1px;
}
.popup_cont.detail .info_box.type2 dd {flex: 1;}
.popup_cont.detail .info_box .guage {
    display: flex; flex-direction: column; gap: 3px;
    width: 22.2rem;
    padding-top: 2px;
}
.popup_cont.detail .info_box .guage .bg {
    width: 100%; height: 1.4rem;
    border-radius: 1rem;
    background-color: var(--gray-25);
    position: relative;
    overflow: hidden;
}
.popup_cont.detail .info_box .guage .bar {
    width: 33%; height: 100%;
    border-radius: 1rem;
    background: linear-gradient(to right, #FF638A, #EB003B);
    position: absolute; left: 0; top: 0;
}
.popup_cont.detail .info_box .guage .txt {font-weight: 500;}
.popup_cont.detail .info_box .guage.mid .bar {width: 52%;background: linear-gradient(to right, #59DB75, #008A1E);}
.popup_cont.detail .info_box .guage.high .bar {width: 100%;background: linear-gradient(to right, #5182F8, #003CCB);}
.popup_cont.detail .info_box .guage.mid .txt {text-align: center;}
.popup_cont.detail .info_box .guage.high .txt {text-align: right;}
.popup_cont.detail .info_box .select_region {display: flex; align-items: center; gap: 1.6rem 2rem;}
.popup_cont.detail .info_box .select_region .list {
    display: flex; align-items: center; gap: 2.4rem;
    font-weight: 500; font-size: 1.4rem; line-height: 2rem; color: var(--gray-70);
}
.popup_cont.detail .info_box .select_region .list span {position: relative;}
.popup_cont.detail .info_box .select_region .list span + span::before {content: "";
    width: 1px; height: 60%;
    background-color: var(--gray-35);
    position: absolute; left: -1.2rem; top: 20%;
}

/* sorting */
.popup_cont .sorting {display: flex; gap: 1rem 4rem;}
.popup_cont .sorting.sticky {
    padding: 1.6rem 0;
    margin-bottom: -1.2rem;
    background-color: var(--gray-0);
    position: sticky; top: 0; z-index: 10;
    transform: translateY(-1.6rem);
}
.popup_cont .sorting.sticky::before {content: "";
    width: calc(100% + 3.6rem); height: 1px;
    background-color: var(--gray-25);
    position: absolute; left: -1.8rem; bottom: 0;
}
.popup_cont .sorting .btn {
    min-width: 0;
    padding: 0.8rem 2rem;
}
.popup_cont .sorting_box {display: flex; align-items: center;}
.popup_cont .sorting_box .label {
    min-width: 8rem;
    font-weight: 600; font-size: 1.5rem; color: var(--gray-70);
}
.popup_cont .sorting_box .label.type2 {min-width: 4rem;}
.popup_cont .sorting_box .it,
.popup_cont .sorting_box .st {height: 3.8rem;}
.popup_cont .sorting_box .drop_btn {
    width: 16rem; height: 3.8rem;
    padding: 0.8rem 3.4rem 0.8rem 1.5rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    font-size: 1.4rem; line-height: 2rem; text-align: left; color: var(--gray-80);
    background: var(--gray-0) url(../img/ico_select1.svg) no-repeat right 1rem center / 1.4rem 1.4rem;
    transition: border-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
}
.popup_cont .sorting_box .drop_btn.active {
    border-color: var(--primary-50);
    background-image: url(../img/ico_select2.svg);
}
.popup_cont .sorting_box .drop_menu {
    width: 100%;
    left: 0; top: 4.2rem;
}
.popup_cont .sorting_box .drop_menu .drop_list {width: 100%;}
.popup_cont .sorting_box .drop_menu .item_link {
    padding-top: 0.7rem; padding-bottom: 0.7rem;
    font-size: 1.4rem; line-height: 2rem;
}
.popup_cont .sorting + .tbl.scrollY {max-height: calc(100dvh - 51.2rem);}

/* compare (주변지역비교) */
.popup_cont .compare_box {
    display: inline-flex; align-items: center; justify-content: center;
    width: 100%; max-width: 22.4rem;
    border: 1px solid var(--gray-20);
    border-radius: 0.9rem;
    vertical-align: middle;
    background-color: var(--gray-0);
}
.popup_cont .compare_box p {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 2.4rem;
    border-radius: 0.9rem;
    font-weight: 500; font-size: 1.3rem; line-height: 2.4rem; color: var(--gray-50) !important;
}
.popup_cont .compare_box p span {display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;}
.popup_cont .compare_box p span::before {content: "";
    display: inline-flex;
    width: 2rem; height: 2rem;
    background-repeat: no-repeat; background-position: center; background-size: contain;
}
.popup_cont .compare_box p.low span::before {background-image: url(../img/ico_compare_low.svg);}
.popup_cont .compare_box p.mid span::before {background-image: url(../img/ico_compare_mid.svg);}
.popup_cont .compare_box p.high span::before {background-image: url(../img/ico_compare_high.svg);}

.popup_cont .compare_box p.active {color: var(--gray-0) !important;}
.popup_cont .compare_box p.low.active {background-color: #EB003B; outline: 1px solid #EB003B;}
.popup_cont .compare_box p.mid.active {background-color: #008A1E; outline: 1px solid #008A1E;}
.popup_cont .compare_box p.high.active {background-color: #003CCB; outline: 1px solid #003CCB;}
.popup_cont .compare_box p.low.active span::before {background-image: url(../img/ico_compare_low_active.svg);}
.popup_cont .compare_box p.mid.active span::before {background-image: url(../img/ico_compare_mid_active.svg);}
.popup_cont .compare_box p.high.active span::before {background-image: url(../img/ico_compare_high_active.svg);}

/* chart_box */
.popup_cont .chart_box {
    display: flex; align-items: center; justify-content: center;
    width: 100%;
    font-size: 1.3rem; color: var(--gray-70);
    overflow: hidden;
}
.popup_cont .map_box {
    display: flex; align-items: center; justify-content: center;
    width: 100%;
    border: 1px solid var(--gray-25);
    border-radius: 0.8rem;
    font-size: 1.3rem; color: var(--gray-70);
    overflow: hidden;
}

/* 무역정보 팝업 */
.popup_cont .trade_box {
    display: flex; align-items: flex-start; gap: 2rem;
    height: calc(100dvh - 43.2rem); min-height: 17.2rem;
}
.popup_cont .trade_box .tbl.scrollY {max-height: 100%;}
.popup_cont .trade_box .tbl.w40 {flex-shrink: 0; width: 40%;}


@media (max-width : 1572px) {
    .popup_box.full {max-width: calc(100% - 13.2rem);}
}

@media (max-width : 1024px) {
    .popup_box.full {
        max-width: calc(100% - 2rem);
        top: 52%;
    }
    .detail [class*="tabCont_"] {height: calc(100dvh - 31rem);}

    /* tooltip */
    .detail .cont .tooltip_box.wide {max-width: calc(100vw - 30.5rem); max-height: calc(100dvh - 44rem);}

    /* info box */
    .popup_cont.detail .info_box {flex-direction: column; gap: 1.2rem;}
    .popup_cont.detail .info_box dl {
        flex-direction: row; justify-content: flex-start; gap: 1.2rem;
        width: 100%;
        padding-left: 0;
        border-left: 0;
    }
    .popup_cont.detail .info_box dt {
        min-width: 6rem;
        padding-right: 1.2rem;
        position: relative;
    }
    .popup_cont.detail .info_box dt::after {content: "";
        width: 1px; height: 14px;
        background-color: var(--gray-30);
        position: absolute; right: 0; top: 2px;
    }

    /* info box (type2) */
    .popup_cont.detail .info_box.type2 dl {padding-bottom: 0; border-bottom: 0;}

    /* sorting */
    .popup_cont .sorting {flex-direction: column;}
}

@media (max-width : 768px) {
    .detail .cont {width: 100%;}
    .popup.active .popup_box.full {display: block; animation: none;}
    .popup_box.full {
        display: none;
        max-width: 100%; height: 100%;
        border-radius: 0;
        top: 0; bottom: auto;
    }
    .popup_cont.detail {
        display: flex; flex-direction: column;
        height: calc(100% - 4.9rem); max-height: calc(100% - 4.9rem);
        overflow: hidden;
    }
    .detail .tab_menu button {width: 100%;}
    .detail [class*="tabCont_"] {
        flex: 1; flex-direction: column;
        height: auto; max-height: 100%;
        border-radius: 0;
        overflow: hidden auto;
    }
    .detail [class*="tabCont_"] .cont {flex: 1;}
    .detail [class*="tabCont_"] .scrollY:not(.tbl) {height: auto; overflow: visible;}
    .popup .detail .tbl col:first-child {width: 6rem !important;}
    .detail .lnb {align-items: center;}
    .detail .lnb .accordion_btn {width: 100%;}

    /* lnb + dropDown */
    .detail .lnb .drop_btn {
        width: calc(100% - 4rem);
        padding: 1.4rem 4.4rem 1.4rem 1.6rem;
        border-radius: 0.8rem;
        font-weight: 500; font-size: 1.5rem; line-height: 2rem; text-align: left; color: var(--gray-0);
        background-color: var(--primary-90);
        position: relative; z-index: 20;
    }
    .detail .lnb .drop_btn::before {content: "";
        width: calc(100% + 4rem); height: 1.8rem;
        background-color: var(--gray-0);
        position: absolute; left: -2rem; top: -1.8rem;
    }
    .detail .lnb .drop_btn::after {content: "";
        width: 2rem; height: 2rem;
        background: url(../img/ico_chevron_down3.svg) no-repeat center / 1.8rem 1.8rem;
        position: absolute; right: 1.4rem; top: calc(50% - 1rem);
        transition: transform 0.2s ease-out;
    }
    .detail .lnb .drop_btn.active::after {transform: rotate(180deg);}
    .detail .lnb .drop_menu {
        display: none !important;
        width: 100%; max-height: 35.6rem;
        padding-top: 7.4rem; padding-bottom: 1.8rem;
        border-radius: 0 0 1.5rem 1.5rem;
        position: absolute; left: 0; top: calc(100% - 8.4rem);
        filter: drop-shadow(var(--shadow-help));
    }
    .detail .lnb .drop_menu.scrollY {
        height: auto;
        overflow-x: hidden; overflow-y: auto;
    }
    .detail .lnb .drop_menu::-webkit-scrollbar {display: none;}
    .detail .lnb .drop_btn.active + .drop_menu {display: block !important;}

    /* section */
    .detail .cont .sec_head .btn_box {gap: 0.5rem;}
    .detail .cont .sec_head .btn.print {display: none;}

    /* table */
    .popup_cont .tbl:not(.type2) th,
    .popup_cont .tbl:not(.type2) td {padding: 0.9rem 0.6rem;}

    /* tooltip */
    .detail .cont .tooltip_box {
        width: calc(100vw - 4rem); max-width: 32rem; max-height: 38rem;
        right: 0;
    }
    .detail .cont .tooltip_box.wide {max-width: calc(100vw - 4rem);}
    .detail .cont .tooltip_box .tbl col:first-child {width: auto !important;}

    /* text box */
    .popup_cont .txt_box {padding: 1.4rem 1.6rem;}
    .popup_cont .txt_box ul li ul li {padding-left: 1rem;}

    /* info box (type2) */
    .popup_cont.detail .info_box.type2 {flex-direction: column; gap: 1.2rem;}
    .popup_cont.detail .info_box.type2 dt {min-width: 9rem;}
    .popup_cont.detail .info_box.type2 dl.alignCenter {
        flex-direction: column; align-items: flex-start !important; gap: 0.6rem;
        width: 100%;
        padding-bottom: 1.2rem;
        border-bottom: 1px solid var(--gray-25);
    }
    .popup_cont.detail .info_box.type2 dl.alignCenter:last-child {padding-bottom: 0; border-bottom: 0;}
    .popup_cont.detail .info_box.type2 dl.alignCenter dt::after {display: none;}
    .popup_cont.detail .info_box.type2 dl.alignCenter dd {width: 100%;}
    .popup_cont.detail .info_box .guage {width: 100%; max-width: 22.2rem;}
    .popup_cont.detail .info_box.type2 .compare_box {margin-top: 0.2rem;}

    /* sorting */
    .popup_cont .sorting {gap: 1.6rem 4rem;}
    .popup_cont .sorting_box {
        flex-direction: column; align-items: flex-start; gap: 0.8rem;
        width: 100%;
    }
    .popup_cont .sorting_box .it,
    .popup_cont .sorting_box .st {width: 100%;}
    .popup_cont .sorting_box .drop_wrap {width: 100%;}
    .popup_cont .sorting_box .drop_btn {width: 100%; min-width: max-content;}
    .popup_cont .sorting_box .flexCenter {width: 100%;}
    .popup_cont .sorting + .tbl.scrollY {max-height: calc(100dvh - 26rem);}

    /* 무역정보 팝업 */
    .popup_cont .trade_box {
        flex-direction: column;
        height: 100%; min-height: calc(100dvh - 17.7rem);
    }
    .popup_cont .trade_box .tbl.w40 {width: 100%; max-height: calc((100dvh - 26rem)/2); min-height: 19.9rem;}

    /* responsive table */
    .popup_cont .tbl.resp tbody tr {
        display: flex; flex-wrap: wrap;
        width: calc(100vw - 4rem);
    }
    .popup_cont .tbl.resp tbody th,
    .popup_cont .tbl.resp tbody td {
        display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
        height: auto;
    }
    .popup_cont .tbl.resp tbody th {width: 32%;}
    .popup_cont .tbl.resp tbody td {
        width: 68%;
        padding-left: 0.9rem; padding-right: 0.9rem;
        border-right: 0;
    }
    .popup_cont .tbl.resp tbody td.tal {justify-content: flex-start;}
}

@media (max-width : 480px) {
    /* tooltip */
    .detail .cont .help + .tooltip_box.wide {
        width: calc(100vw - 4rem); max-width: calc(100vw - 4rem); max-height: calc(100dvh - 28.6rem);
        position: fixed; right: auto; left: 50%; top: auto; bottom: 2rem; z-index: 20;
        transform: translate(-50%, 0);
    }

    /* info box */
    .popup_cont.detail .info_box .select_region {flex-direction: column; align-items: flex-start;}
    .popup_cont.detail .info_box .select_region .list {order: -1;}
    .popup_cont.detail .info_box .select_region .btn {width: 100%;}

    /* info box (type2) */
    .popup_cont.detail .info_box.type2 .compare_box {
        flex-direction: row;
        width: 100%; max-width: 100%;
    }

    /* compare (주변지역비교) */
    .popup_cont .compare_box {
        flex-direction: column;
        width: 100%; max-width: 20rem; min-width: 6.4rem;
    }

    /* responsive table */
    .popup_cont .tbl.resp tbody th {width: 10rem;}
    .popup_cont .tbl.resp tbody td {width: calc(100% - 10rem);}
}


/***** 상세 모달 팝업 *****/
.popup_box.type5 {
    width: 100rem;
    top: 54%;
}
.popup_box.type5 .sec {margin-top: 2.4rem;}
.popup_box.type5 .sec:first-child {margin-top: 0;}
.popup_box.type5 .popup_cont.scrollY {
    max-height: calc(100dvh - 30rem);
    padding-bottom: 7.8rem;
}
.popup_box.type5 .popup_cont.scrollY::-webkit-scrollbar-track {margin-bottom: 6.2rem;}
.popup_box.type5 .popup_cont.scrollY > .btn_box {
    width: 100%;
    padding: 1.2rem;
    margin-bottom: 0;
    border-radius: 0 0 1.5rem 1.5rem;
    position: fixed; left: 0; bottom: 0;
}
.popup_box.type5 .popup_cont.scrollY > .btn_box::before {content: "";
    width: 100%; height: 1px;
    background-color: var(--gray-25);
    position: absolute; left: 0; top: 0;
}
.popup_box.type5 .txt_box {gap: 1.4rem;}
.popup_box.type5 .txt_box .desc {color: #555;}


@media (max-width : 1280px) {
    .popup_box.type5 {width: calc(100% - 25.2rem);}
}

@media (max-width : 1024px) {
    .popup_box.type5 {
        width: calc(100% - 11rem);
        top: 50%;
    }
    .popup_box.type5 .popup_cont.scrollY {max-height: calc(100dvh - 28.6rem);}
}

@media (max-width : 768px) {
    .popup_box.type5 {
        height: 100%;
        border-radius: 0;
        top: 0; bottom: auto;
    }
    .popup_box.type5 .popup_cont.scrollY {height: calc(100% - 4.9rem); max-height: calc(100% - 4.9rem);}
    .popup_box.type5 .popup_cont.scrollY > .btn_box {border-radius: 0;}
}





/* ------------------------------------------------------------------------- */
/* 3-2. 사전진단 영역 확인
/* ------------------------------------------------------------------------- */
/* 버튼 */
.dx_btn {
    height: fit-content;
    padding: 1.8rem 4rem;
    border-color: var(--primary-50);
    border-radius: 1.2rem;
    color: var(--primary-60);
    background-color: var(--gray-0);
    position: absolute; left: 50%; bottom: 1rem; z-index: 10;
    transform: translateX(-50%);
}

/* 팝업 */
.popup .dx {
    display: flex; flex-direction: column; gap: 1.6rem;
    max-height: calc(100dvh - 30rem);
}
.popup .dx_area {display: flex; flex-direction: column; gap: 1.6rem;}
.popup .dx_area .img {
    width: 100%; height: 27rem;
    border-radius: 0.8rem;
    overflow: hidden;
}
.popup .dx_area .img img {width: 100%; height: 100%; object-fit: cover;}
.popup .dx_area .txt {
    padding: 1.5rem;
    border-radius: 0.8rem;
    font-weight: 500; font-size: 1.5rem; line-height: 2rem; text-align: center; color: var(--gray-80); letter-spacing: 0;
    background-color: var(--gray-10);
}
.popup .dx_area .txt em {font-weight: 600; color: var(--primary-60);}
.popup .dx_settings li {
    display: flex; align-items: center; justify-content: space-between; gap: 4rem;
    height: 4rem;
}
.popup .dx_settings li + li {margin-top: 1rem;}
.popup .dx_settings .check_btn {padding: 0 0.8rem;}
.popup .dx_settings .label {font-weight: 600; font-size: 1.5rem; line-height: 2.4rem; color: var(--gray-70);}
.popup .dx_settings .it_box {width: 28rem;}
.popup .dx_settings .it_box .it {height: 4rem;}
.popup .dx + .btn_box {
    padding-bottom: 0;
    margin-top: 0.8rem; margin-bottom: 0;
    position: initial;
}
.popup .dx + .btn_box .btn.large {width: auto;}


@media (max-width : 768px) {
    .dx_btn {
        width: calc(100% - 13rem); max-width: 19.4rem;
        padding: 1.4rem 2rem;
        bottom: 7rem;
    }
    .popup .dx {
        max-height: 100%;
        padding-bottom: 7rem;
        overflow: initial;
    }
    .popup .dx_area .img {
        height: auto; min-height: 12rem; max-height: 34rem;
        aspect-ratio: 2 / 1;
        border-radius: 0.4rem;
    }
    .popup .dx_settings li {
        flex-direction: column; gap: 0.8rem;
        height: auto;
    }
    .popup .dx_settings li + li {margin-top: 2rem;}
    .popup .dx_settings .label {width: 100%;}
    .popup .dx_settings .label + .flexCenter {width: 100%;}
    .popup .dx_settings .it_box {width: 100%;}
    .popup .dx + .btn_box {
        width: 100%;
        padding: 1.2rem 2rem;
        margin-top: 0;
        border-top: 1px solid var(--gray-25);
        background-color: var(--gray-0);
        position: fixed; left: 0; bottom: 0;
    }
    .popup .dx + .btn_box .btn.large {width: 100%;}
}





/* ------------------------------------------------------------------------- */
/* 3-3. leaflet popup
/* ------------------------------------------------------------------------- */
#wrap .leaflet-popup-content-wrapper {
    padding: 0;
    border-radius: 1.5rem;
}
#wrap .leaflet-popup-content {
    width: fit-content !important;
    margin: 0;
    font-size: 1.4rem; line-height: 2.1rem; color: var(--gray-80);
}
#wrap .leaflet-popup-tip {width: 18px; height: 18px; border-radius: 4px;}

#wrap .leaflet-popup-pane .leaflet-popup .leaflet-popup-close-button {
    width: 22px; height: 22px;
    text-indent: -9999px;
    background: url(../img/ico_close.svg) no-repeat center / contain;
    right: 14px; top: 10px;
}

.leaflet-popup-content .popup {width: max-content;}
.leaflet-popup-content .popup.active .popup_box {animation: none;}
.leaflet-popup-content .popup_box {
    position: initial;
    transform: translate(0,0);
    opacity: 1;
    box-shadow: none;
}
.leaflet-popup-content .popup_box::before {display: none;}
.leaflet-popup-content .popup_head {padding-right: 44px;}

/* leaflet zoom */
.leaflet-control.leaflet-control-zoom {
    border: 1px solid var(--gray-30) !important;
    border-radius: 5px;
    overflow: hidden;
}
.leaflet-control.leaflet-control-zoom a {
    border-color: var(--gray-30);
    text-indent: -9999px;
    background-repeat: no-repeat; background-position: center; background-size: 1.8rem 1.8rem;
}
.leaflet-control.leaflet-control-zoom .leaflet-control-zoom-in {background-image: url(../img/ico_zoomin.svg);}
.leaflet-control.leaflet-control-zoom .leaflet-control-zoom-out {background-image: url(../img/ico_zoomout.svg);}

.leaflet-control.leaflet-control-attribution {font-size: 11px;}


@media (max-width : 768px) {
    .leaflet-popup-content .popup_box {
        width: calc(100vw - 24px) !important; max-width: 420px;
        border-radius: 1.5rem;
    }
    .leaflet-popup-content .popup_head {padding: 1rem 4.4rem 1rem 2rem;}
    .leaflet-popup-content .popup_head .popup_tit {text-align: left;}
    .leaflet-popup-content .popup .popup_cont {max-height: calc(100dvh - 40rem); min-height: 30rem;}
    .leaflet-popup-content .popup .popup_cont.scrollY {max-height: calc(100dvh - 40rem);}
    .leaflet-popup-content .popup .popup_cont::-webkit-scrollbar {display: none;}
}





/* ------------------------------------------------------------------------- */
/* 4. Layer
/* ------------------------------------------------------------------------- */
.layer {display: none;}
.layer.active {display: block;}
.layer_box {display: none;}
.layer_box.active {display: block;}

.layer {
    height: calc(100% - 7.4rem);
    position: absolute; left: 6.6rem; bottom: 1rem; z-index: 30;
    transition: height 0.2s ease;
}
.layer_box {
    width: 32rem; height: 100%;
    border: 1px solid var(--gray-25);
    border-radius: 1.5rem;
    background-color: var(--gray-0);
    box-shadow: var(--shadow-tool);
}
.layer_head {
    display: flex; align-items: center; justify-content: space-between; gap: 1.2rem;
    padding: 1rem 1.4rem 1rem 2rem;
    border-bottom: 1px solid var(--gray-25);
    position: relative;
}
.layer_head .layer_tit {font-weight: 600; font-size: 1.6rem; line-height: 2.2rem;}
.layer_head .layerClose {
    flex-shrink: 0;
    width: 2.4rem; height: 2.4rem;
    background: url(../img/ico_close.svg) no-repeat center / contain;
}
.layer_head .back {background-image: url(../img/ico_back.svg);}
.layer_head .desc {
    font-size: 1.3rem; line-height: 1.5; color: var(--gray-70);
    position: absolute; right: 4.8rem; top: 50%;
    transform: translateY(-50%);
}
.layer_cont {
    height: calc(100% - 4.5rem);
    border-radius: 0 0 1.5rem 1.5rem;
    overflow: hidden;
}
.layer_cont .scroll_box {
    display: flex; flex-direction: column;
    height: 100%;
    padding: 1.6rem 2rem;
}
.layer_cont .sticky {
    display: flex; flex-direction: column; gap: 1.2rem;
    padding-bottom: 1.2rem;
    background-color: var(--gray-0);
    position: sticky; top: 0; z-index: 10;
}
.layer_cont .sticky.bottom {
    width: calc(100% + 4rem);
    padding: 1.2rem 2rem;
    margin-left: -2rem; margin-bottom: -1.6rem;
    background-color: var(--gray-0);
    top: auto; bottom: 0;
}
.layer_cont .sticky.bottom::before {content: "";
    width: 100%; height: 1px;
    background-color: var(--gray-25);
    position: absolute; left: 0; top: 0;
}
.layer_cont .scrollY {
    flex: 1;
    width: calc(100% + 1.3rem);
    padding-right: 1.3rem;
}
.layer_cont .it {
    height: 4rem;
    border-radius: 0.8rem;
    font-size: 1.4rem;
}
.layer_cont .sch_wrap .it {font-size: 1.5rem;}
.layer_cont .tit {font-weight: 600; font-size: 1.7rem; line-height: 2.8rem; color: var(--gray-80);}
.layer_cont .utils {
    display: flex; align-items: center; justify-content: space-between; gap: 1.6rem;
    font-size: 1.3rem; line-height: 1.6rem; color: var(--gray-60); letter-spacing: -0.4px;
}
.layer_cont .utils .total {padding: 0 0.4rem;}
.layer_cont .utils .sortable {
    padding-left: 1.8rem;
    background: url(../img/ico_arrUpDown.svg) no-repeat left top 1px / 1.4rem 1.4rem;
}
.layer_cont .utils .btn_box {gap: 0.6rem;}

/* depth2 */
.layer_box.depth2 {position: absolute; left: 33rem; top: 0; z-index: 10;}
.layer_box.depth2 .layer_head {padding-left: 1.4rem;}
.layer_box.depth2 .layer_head .layerClose:not(.back) {visibility: hidden;}


@media (max-width : 1024px) {
    .layer {height: calc(100% - 11.8rem);}
}

@media (max-width : 768px) {
    .layer {
        width: 100%; height: 100%;
        position: fixed; left: 0; bottom: 0;
    }
    .layer_box {
        width: 100%;
        border: 0; border-radius: 0;
    }
    .layer_head {padding: 1.2rem 1.4rem;}
    .layer_head .layer_tit .tooltip {position: initial;}
    .layer_head .layer_tit .tooltip_box {top: 3.8rem;}
    .layer_cont {
        height: calc(100% - 4.9rem);
        border-radius: 0;
    }
    .layer_cont .scrollY {margin-bottom: 1.2rem;}

    /* depth2 */
    .layer_box.depth2 {left: 0;}
    .layer_box.depth2 .layer_head .layerClose:not(.back) {visibility: visible;}

    .floating_btn {
        position: absolute; left: 50%; bottom: 7rem;
        transform: translateX(-50%);
    }
    .floating_btn button {
        padding: 1.2rem 2rem;
        border-radius: 5rem;
        font-weight: 500; font-size: 1.5rem; line-height: 2rem; color: var(--gray-0);
        background-color: var(--primary-60);
        box-shadow: var(--shadow-tool-2);
    }
}





/* ------------------------------------------------------------------------- */
/* 4-1. 공간정보
/* ------------------------------------------------------------------------- */
.gis_list .accordion_box {border: 0; border-radius: 0;}
.gis_list .accordion_btn {
    padding: 1.6rem 4rem 1.6rem 1.2rem;
    border-bottom: 1px solid var(--gray-25);
    border-radius: 0;
    font-weight: 600; line-height: 1.5; color: var(--gray-80)
}
.gis_list .accordion_btn::after {
    width: 1.6rem; height: 1.6rem;
    right: 1.2rem
}
.gis_list .accordion_btn .selected {margin-left: 0.4rem; font-size: 1.3rem; color: var(--primary-60);}
.gis_list .accordion_btn.active {outline: 0;}
.gis_list .accordion_collapse {
    border-radius: 0 0 5px 5px;
    background-color: var(--gray-10);
}
.gis_list .accordion.depth2 {padding: 0.8rem 1.6rem;}
.gis_list .accordion.depth2 .accordion_btn {
    padding: 0.7rem 2.4rem 0.7rem 0;
    border-bottom: 0;
    font-size: 1.4rem; line-height: 2rem; color: var(--gray-70);
    background-color: var(--gray-10);
}
.gis_list .accordion.depth2 .accordion_btn::after {
    width: 1.4rem; height: 1.4rem;
    right: 0;
    transition: none;
}
.gis_list .accordion.depth2 .accordion_collapse {padding: 0.6rem 1.2rem;}
.gis_list .accordion.depth2 .accordion_collapse .flexCol {gap: 1rem;}


/***** 선택된 공간정보 *****/
.gis .selected_list {display: flex; flex-direction: column; gap: 1rem;}
.gis .selected_box {
    border: 1px solid var(--gray-15);
    border-radius: 1rem;
    background-color: var(--gray-10);
}
.gis .selected_name {
    display: flex; align-items: flex-start;
    padding: 1.2rem 3rem 0.8rem 0.6rem;
    position: relative;
}
.gis .selected_name .handler {
    flex-shrink: 0;
    width: 2.4rem; height: 2.4rem;
    background: url(../img/ico_sortable.svg) no-repeat center / 1.6rem 1.6rem;
    position: relative; top: -3px;
}
.gis .selected_name .ico {
    flex-shrink: 0;
    width: 1.4rem; height: 1.4rem;
    margin-right: 0.4rem;
    background-repeat: no-repeat; background-position: center; background-size: contain;
    position: relative; top: 2px;
}
.gis .selected_name .ico.circle {background-image: url(../img/ico_layer_c1.svg);}
.gis .selected_name .ico.distance {background-image: url(../img/ico_layer_d.svg);}
.gis .selected_name .ico.industry {background-image: url(../img/ico_layer_s.svg);}
.gis .selected_name .tit {font-weight: 500; font-size: 1.4rem; line-height: 1.8rem; color: var(--gray-70);}
.gis .selected_name .delete {
    width: 2.4rem; height: 2.4rem;
    background: url(../img/ico_close.svg) no-repeat center / 1.6rem 1.6rem;
    position: absolute; right: 0.4rem; top: 1rem;
}
.gis .selected_utils {position: relative;}

/* 범례 */
.gis .selected_utils .legend_btn {
    display: block;
    padding: 0 2rem 0 1.2rem;
    margin-bottom: 0.8rem;
    font-weight: 500; font-size: 1.3rem; line-height: 2.6rem; color: var(--gray-70);
    position: relative;
}
.gis .selected_utils .legend_btn::after {content: "";
    width: 1.6rem; height: 1.6rem;
    background: url(../img/ico_chevron_down.svg) no-repeat center / contain;
    position: absolute; right: 0; top: .5rem;
    transition: transform 0.3s ease;
}
.gis .selected_utils .legend.active .legend_btn::after {transform: rotate(180deg);}
.gis .selected_utils .legend_box {position: relative;}
.gis .selected_utils .legend_box::before {content: "";
    width: 100%; height: 1px;
    background-color: var(--gray-15);
    position: absolute; left: 0; top: 0;
}
.gis .selected_utils .legend_box ul {padding: 1.2rem 1.6rem;}
.gis .selected_utils .legend_box li {
    padding: 0.2rem 0 0.2rem 2.4rem;
    font-size: 1.3rem; line-height: 1.8rem; color: var(--gray-70);
    position: relative;
}
.gis .selected_utils .legend_box li::before {content: "";
    width: 1.8rem; height: 1rem;
    border: 1px solid var(--gray-60); border-radius: 0.4rem;
    position: absolute; left: 0; top: 0.5rem;
    box-sizing: border-box;
}
.gis .selected_utils .legend_box li.c1::before {background-color: var(--legend-1);}
.gis .selected_utils .legend_box li.c2::before {background-color: var(--legend-2);}
.gis .selected_utils .legend_box li.c3::before {background-color: var(--legend-3);}
.gis .selected_utils .legend_box li.c4::before {background-color: var(--legend-4);}
.gis .selected_utils .legend_box li.c5::before {background-color: var(--legend-5);}
.gis .selected_utils .legend_box li.c6::before {background-color: var(--legend-6);}
.gis .selected_utils .legend_box li.c7::before {background-color: var(--legend-7);}
.gis .selected_utils .legend_box li.c8::before {background-color: var(--legend-8);}

/* guage bar, button */
.gis .selected_utils .btn_box {
    display: flex; align-items: center; gap: 0.8rem;
    position: absolute; right: 1rem; top: 0;
}
.gis .selected_utils input[type="range"] {
    appearance: none; -webkit-appearance: none;
    width: 7rem; height: 6px;
    border-radius: 3px;
    background: linear-gradient(to right, #3C73E3 0%, #3C73E3 50%, #D0D3D7 50%, #D0D3D7 100%);
    cursor: pointer;
}
.gis .selected_utils input[type="range"]::-webkit-slider-thumb {
    appearance: none; -webkit-appearance: none;
    width: 1.4rem; height: 1.4rem;
    border: 2px solid var(--gray-0);
    border-radius: 50%;
    background-color: var(--primary-60);
}
.gis .selected_utils .show {
    width: 2.6rem; height: 2.6rem;
    background: url(../img/ico_eye_opend.svg) no-repeat center / 1.4rem 1.4rem;
}

/* guage bar, button 비활성화 */
.gis .selected_utils .btn_box.hide input[type="range"]::-webkit-slider-thumb {background-color: var(--gray-35);}
.gis .selected_utils .btn_box.hide .show {background-image: url(../img/ico_eye_closed.svg);}

/* folding button */
.gis .folding_target + .folding_btn {
    display: none;
    width: 2.4rem; height: 2.4rem;
    background: url(../img/ico_back.svg) no-repeat center / contain;
    position: absolute; left: 34.5rem; top: 1.1rem; z-index: 20;
}
.folding_target.hide + .folding_btn {
    height: 5rem;
    border: 1px solid var(--gray-25); border-left: 0;
    border-radius: 0 0.8rem 0.8rem 0;
    background-color: var(--gray-0);
    background-image: url(../img/ico_folding.svg); background-size: 1.8rem 1.8rem;
    left: 32rem; top: 50%;
    transform: translateY(-50%);
}
.folding_target.hide {display: none !important;}
.folding_target.hide + .folding_btn {display: block;}
.folding_target.active + .folding_btn {display: block;}

@media (max-width : 768px) {
    .folding_target.active + .folding_btn {display: none;}
}





/* ------------------------------------------------------------------------- */
/* 4-2. 입지추천
/* ------------------------------------------------------------------------- */
.location .location_box {
    padding: 1.4rem 0;
    border-bottom: 1px solid var(--gray-20);
}
.location .location_box:first-child {padding-top: 0;}
.location .location_box:last-of-type {border-bottom: 0;}
.location_box .tit {
    padding: 0.8rem 0 1rem 0;
    font-weight: 600; font-size: 1.6rem; line-height: 2rem; color: var(--gray-70);
}
.location_box .tit button {
    display: block;
    width: 100%;
    font-weight: 600; font-size: 1.6rem; line-height: 2rem; text-align: left; color: var(--gray-70);
    background: url(../img/ico_chevron_right.svg) no-repeat right center / 2rem 2rem;
}
.location_box .cont {
    padding-bottom: 0.8rem;
    font-size: 1.4rem; line-height: 1.8rem; color: var(--gray-60);
}

/***** 입지추천 조건 추가 (260225) *****/
.location .depth1 .scroll_box > .scrollY:first-child::-webkit-scrollbar-track {margin-bottom: 1.6rem;}
.location .range_box {display: flex; flex-direction: column; gap: 1rem;}
.location .range_box .amount {
    height: auto;
    font-weight: 500; font-size: 1.4rem; line-height: 1.6; color: var(--gray-70);
}
.location .range_box .slider {position: relative;}
.location .range_box .slider::before {content: "";
    width: 100%; height: 0.6rem;
    border-radius: 0.6rem;
    background-color: #E8E9EC;
    position: absolute; left: 0; top: 0;
}
.location .range_box .slider_range {
    height: 0.6rem;
    margin: 0 0.9rem;
    border-radius: 0.6rem;
    background-color: #E8E9EC;
    position: relative;
}
.location .range_box .slider_range::before,
.location .range_box .slider_range::after,
.location .range_box .slider::after {content: "";
    width: 1px; height: 0.6rem;
    background-color: var(--gray-0);
    position: absolute; left: 20%; top: 0; z-index: 5;
}
.location .range_box .slider_range::after {left: 40%;}
.location .range_box .slider::after {left: 60%;}
.location .range_box .slider_range .ui-slider-range {
    height: 100%;
    border: 0;
    border-radius: 0.6rem;
    background: var(--primary-60);
    background-position: 0 0;
    position: absolute; top: 0; z-index: 1;
}
.location .range_box .slider_range .ui-slider-handle {
    width: 1.8rem; height: 1.8rem;
    margin-left: -0.9rem;
    border: 1px solid var(--gray-35);
    border-radius: 50%;
    background-color: var(--gray-0);
    position: absolute; top: -0.6rem; z-index: 10;
    cursor: pointer;
    touch-action: none;
    box-shadow: var(--shadow-tool);
}
.location .range_box .slider_range .ui-slider-handle.ui-state-active {background-color: var(--gray-10);}

.location .range_box .slider_range .ui-slider-handle:focus {outline: none;}
.ui-slider-horizontal .ui-slider-range-min {left: 0;}
.ui-slider-horizontal .ui-slider-range-max {right: 0;}
.location .range_box .slider_markers {
    display: flex; align-items: center; justify-content: space-between;
    padding-top: 0.7rem;
}
.location .range_box .slider_markers span {font-size: 1.2rem; column-rule: var(--gray-60);}
.location .range_box .slider_markers::after {content: "";
    width: 1px; height: 0.6rem;
    background-color: var(--gray-0);
    position: absolute; left: 80%; top: 0; z-index: 5;
}


/***** 공장설립 지역 *****/
.location .depth2 .tab_menu button.active {box-shadow: none;}
.location .depth2 .tab_menu + .tooltip {position: absolute; left: calc(((100% - 8px)/4) + 33px); top: 1.4rem;}
.location .depth2 .tab_menu + .tooltip .tooltip_btn {background-color: transparent;}
.location .depth2 .tab_menu + .tooltip .tooltip_box {left: -11rem; transform: translateX(0);}
.location [class*="tabCont_"].active {
    display: flex; flex-direction: column; flex: 1;
    height: calc(100% - 6rem);
}
.location [class*="tabCont_"] .settings,
.location [class*="tabCont_"] .result {
    display: flex; flex-direction: column; flex: 1;
    height: 100%;
}
.location [class*="tabCont_"] .settings {margin-top: -1.2rem;}
.location [class*="tabCont_"] .scrollY {padding-bottom: 1.2rem;}
.location [class*="tabCont_"] .scrollY::-webkit-scrollbar-track {margin-bottom: 1.2rem;}

/* 지역추천 설정 */
.location .settings_box {
    border: 0; border-bottom: 1px solid var(--gray-20);
    border-radius: 0;
    position: relative;
}
.location .settings_box:last-child {border-bottom: 0;}
.location .settings_box > .it_box {
    width: fit-content;
    position: absolute; right: 4rem; top: 1.8rem;
}
.location .settings_box > .it_box .it {
    width: 6.2rem; height: 3.2rem;
    padding: 0 2.4rem 0 0.9rem;
    border-radius: 0.6rem;
    font-weight: 500;
}
.location .settings_box > .it_box .it::-webkit-outer-spin-button,
.location .settings_box > .it_box .it::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0;}
.location .settings_box > .it_box .unit {
    font-weight: 500; font-size: 1.3rem; color: var(--gray-50);
    right: 0.9rem;
}
.location .settings .accordion_btn {
    padding: 1.8rem 4.6rem 1.8rem 1.2rem;
    border-radius: 0;
    font-weight: 600; line-height: 3.2rem; color: var(--gray-80);
}
.location .settings .accordion_btn::after {
    width: 1.8rem; height: 1.8rem;
    background-image: url(../img/ico_chevron_down2.svg);
    right: 1.2rem; top: 2.5rem;
    transform: translateY(0);
    transition: transform 0.3s ease;
}
.location .settings .accordion_collapse {
    display: flex; flex-direction: column;
    max-height: 0;
    border-radius: 1rem;
    background-color: var(--gray-10);
    overflow: hidden;
    transition: margin 0.5s ease-in-out;
}

/* 지역추천 설정 active */
.location .settings .accordion_btn.active {padding-bottom: 1rem; outline: none;}
.location .settings .accordion_btn.active::after {transform: rotate(-180deg);}
.location .settings_box.active .accordion_collapse {
    max-height: 100dvh; height: auto;
    margin-bottom: 1.8rem;
    overflow: visible;
}

/* 지역추천 설정 하위 리스트 */
.location .settings_box.active .settings_list {
    max-height: 100dvh; height: auto;
    overflow: visible;
}
.location .settings_list li {
    display: flex; align-items: center; justify-content: space-between; gap: 1.6rem;
    padding: 1rem 2rem;
    position: relative;
}
.location .settings_list li:first-child {padding-top: 1.4rem;}
.location .settings_list li:last-child {padding-bottom: 1.4rem;}
.location .settings_list li::after {content: "";
    width: calc(100% - 4rem); height: 1px;
    background: url(../img/line.svg) repeat-x center;
    position: absolute; left: 2rem; bottom: 0;
}
.location .settings_list .label {
    display: flex; align-items: center; gap: 0.4rem;
    position: relative;
}
.location .settings_list .label .tooltip {position: initial;}
.location .settings_list .label .tooltip_box {left: -2rem; transform: translateX(0);}
.location .settings_list .it_box {width: fit-content;}
.location .settings_list .it_box .it {
    width: 6.2rem; height: 3.2rem;
    padding: 0 2.4rem 0 0.9rem;
    border-radius: 0.6rem;
    font-weight: 500;
}
.location .settings_list .it_box .it[type="number"]::-webkit-inner-spin-button,
.location .settings_list .it_box .it[type="number"]::-webkit-outer-spin-button {-webkit-appearance: none; margin: 0;}
.location .settings_list .it_box .unit {
    font-weight: 500; font-size: 1.3rem; color: var(--gray-50);
    right: 0.9rem;
}
.location .settings_list + .reset {
    align-self: flex-end;
    margin: 1rem 2rem 1.4rem 2rem;
    background-color: var(--gray-25);
}

/* 지역추천 bottom buttons */
.location .settings .sticky.bottom {flex-direction: row; gap: 1rem;}
.location .settings .sticky.bottom .btn {padding-left: 1.6rem; padding-right: 1.6rem;}
.location .settings .sticky.bottom .btn:not(.pale) {
    flex-shrink: 1;
    border-color: var(--gray-20);
}
.location .settings .sticky.bottom .btn.pale {flex: 1;}
.location .settings .sticky.bottom .btn.reset {
    padding-left: 4.2rem;
    background-image: url(../img/ico_reset.svg); background-repeat: no-repeat;
    background-position: left 1.5rem center; background-size: 2rem 2rem;
}


/***** 지역추천 결과 *****/
.location .result .sticky {z-index: 1;}
.location .result_list {counter-reset: item;}
.location .result_list li {
    display: flex; align-items: center;
    border-bottom: 1px solid var(--gray-25);
}
.location .result_list li:last-child {border-bottom: 0;}
.location .result_list .check_btn {
    display: flex;
    width: 100%; min-height: 6rem;
    padding: 1rem 0 1rem 2.8rem;
    font-size: 1.5rem; line-height: 2.2rem; text-align: center; color: var(--gray-70);
    cursor: pointer;
}
.location .result_list .check_btn::before {content: counter(item);
    counter-increment: item;
    flex-shrink: 0;
    min-width: 3rem;
    padding: 0 0.6rem;
    font-weight: 500; color: var(--primary-70);
    box-sizing: border-box;
}
.location .result_list .check_btn input {
    flex-shrink: 0;
    width: 2rem; height: 2rem;
    background-repeat: no-repeat; background-position: center; background-size: contain;
    left: 0.4rem; top: 50%;
    transform: translateY(-50%);
}
.location .result_list .check_btn input {background-image: url(../img/ico_radio.svg);}
.location .result_list .check_btn input:checked {background-image: url(../img/ico_radio_checked.svg);}
.location .result_list .city {
    display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap;
    width: 100%;
    padding: 0 0.6rem;
    font-weight: 500;
}
.location .result_list .city span {
    display: inline-flex; align-items: center; gap: 1px;
    font-weight: 400; font-size: 1.3rem; line-height: 1.6rem; color: var(--gray-60);
}
.location .result_list .city span::after {content: "";
    width: 1.4rem; height: 1.4rem;
    background: url(../img/ico_chevron_right.svg) no-repeat center / contain;
}
.location .result_list .level {
    flex-shrink: 0;
    width: 4.5rem;
    font-size: 1.4rem;
}
.location .result_list .level1 {color: #4F67EB;}
.location .result_list .level2 {color: #2FB61E;}
.location .result_list .level3 {color: #E99111;}
.location .result_list .percent {
    flex-shrink: 0;
    width: 4rem;
    font-size: 1.4rem;
}


/***** 직접입력 *****/
.location .sec {margin-bottom: 2.8rem;}
.location .sec:last-child {margin-bottom: 0;}
.location .sec_head {margin-bottom: 0.8rem;}
.location .check_list {display: flex; flex-wrap: wrap; gap: 0.8rem;}
.location .check_list li {width: calc((100% - 1.6rem)/3);}
.location .check_list .check_btn {width: 100%;}
.location .check_list .check_btn input + span {
    display: flex; align-items: center; justify-content: center;
    width: 100%;
    padding: 0.8rem 1.2rem;
    border: 1px solid var(--gray-25);
    border-radius: 0.7rem;
    font-weight: 500; font-size: 1.5rem; text-align: center; color: var(--gray-70);
    background-color: #F8F8F8; background-image: none;
}
.location .check_list .check_btn input:checked + span {
    border-color: var(--primary-50);
    font-weight: 600; color: var(--primary-60);
    background-color: var(--gray-0);
}


/***** 지목 *****/
.location .depth2.category {height: auto;}
.location .depth2.category .layer_cont {height: auto;}
.location .depth2.category .layer_cont .scroll_box {height: auto;}
.location .depth2.category .layer_cont .scrollY {max-height: calc(100dvh - 45.2rem);}
.location .depth2.category .check_list {margin-bottom: 1.6rem;}
.layer_box.depth2.category .layer_head .layerClose.back {display: none;}
.layer_box.depth2.category .layer_head .layerClose:not(.back) {visibility: visible;}


/***** 입지추천 결과 *****/
.location .depth2.result {
    width: calc(100vw - 40.6rem); height: 35rem;
    top: auto; bottom: 0;
    transition: height 0.5s ease-in-out, bottom 0.3s ease;
}
.location .depth2.result .layer_head .btn_box button {
    width: 2.4rem; height: 2.4rem;
    background-repeat: no-repeat; background-position: center; background-size: contain;
    visibility: visible;
}
.location .depth2.result .layer_head .btn_box .resize {background-image: url(../img/ico_resize_maxi.svg);}
.location .depth2.result .layer_head .btn_box .mini {background-image: url(../img/ico_mini.svg);}
.location .depth2.result .scroll_box {padding: 1.6rem 2rem 0.8rem 2rem;}
.location .depth2.result .scroll_box .scrollY {
    height: calc(100% + 0.8rem);
    padding-bottom: 0.8rem;
    overflow-x: auto;
}
.location .depth2.result .utils {
    margin-bottom: 1.2rem;
    transition: margin 0.2s ease;
}
.location .depth2.result .utils .total {
    flex-shrink: 0;
    padding-left: 1rem;
    font-weight: 500; font-size: 1.4rem; color: var(--primary-60);
    position: relative;
}
.location .depth2.result .utils .total::before {content: "";
    width: 0.4rem; height: 0.4rem;
    border-radius: 50%;
    background-color: var(--primary-60);
    position: absolute; left: 0; top: 0.6rem;
}
.location .depth2.result .utils .desc {text-align: right;}
.location .depth2.result .sort-wrap {display: flex; align-items: center; gap: 0.6rem;}
.location .depth2.result .sort-box {
    display: flex; align-items: center;
    height: 3.2rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.6rem;
    background-color: var(--gray-0);
    overflow: hidden;
}
.location .depth2.result .sort-box select {
    min-width: 11rem; height: 100%;
    padding: 0.6rem 1rem;
    border: 0;
    font-size: 1.2rem; line-height: 1.6;
    background-image: none;
    cursor: pointer;
}
.location .depth2.result .sort-box button {
    width: 27px; height: 100%;
    border: 0; border-left: 1px solid var(--gray-30);
    border-radius: 0 0.6rem 0.6rem 0;
    font-size: 1.2rem; line-height: 1.6; text-indent: -9999px;
    background-repeat: no-repeat; background-size: 1.4rem 1.4rem; background-position: center;
    transition: background-color 0.2s ease;
}
.location .depth2.result .sort-box button[data-sort-type="desc"] {background-image: url(../img/ico_arrDown.svg);}
.location .depth2.result .sort-box button[data-sort-type="asc"] {background-image: url(../img/ico_arrUp.svg);}
.location .depth2.result .sort-box button:hover {background-color: var(--gray-10);}
.location .depth2.result .sort-wrap .sort-btn {
    height: 3.2rem;
    padding: 0.6rem 1.2rem;
    border-radius: 0.6rem;
    font-size: 1.2rem; line-height: 2rem; color: var(--gray-0);
    background-color: var(--gray-90);
    transition: background-color 0.2s ease;
}
.location .depth2.result .tbl {min-width: 75rem; }
.location .depth2.result .tbl table thead th {position: sticky; top: 0;}

/* 입지추천 결과 모바일 리스트 */
.location .depth2.result .result_list li {flex-direction: column; align-items: flex-start;}
.location .depth2.result .result_list li .flexCenter {
    gap: 0;
    width: 100%;
    position: relative;
}
.location .depth2.result .result_list .check_btn {
    width: calc(100% - 4rem); min-height: 6rem;
    padding: 1.4rem 0 1.4rem 2.8rem;
    text-align: left;
}
.location .depth2.result .result_list .check_btn::before {min-width: 2.8rem; text-align: center;}
.location .depth2.result .result_list .check_btn .addr {
    padding: 0 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
}
.location .depth2.result .result_list .expand_btn {
    flex-shrink: 0;
    width: 4rem; height: 6rem;
    position: relative;
}
.location .depth2.result .result_list .expand_btn::after {content: "";
    width: 1.8rem; height: 1.8rem;
    background: url(../img/ico_chevron_down2.svg) no-repeat center / contain;
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease;
}
.location .depth2.result .result_list .expand_wrap {width: 100%;}
.location .depth2.result .result_list .disclosure.active .expand_btn::after {transform: translate(-50%, -50%) rotate(-180deg);}
.location .depth2.result .result_list .disclosure.active .expand_wrap {padding-bottom: 1.2rem;}

/* 입지추천 결과 resize, minimize */
.location .depth2.result.resize {height: 100%;}
.location .depth2.result.resize .layer_head .btn_box .resize {background-image: url(../img/ico_resize_mini.svg);}
.location .depth2.result.minimize {
    width: max-content; height: auto;
    border-color: var(--primary-90);
    background-color: var(--primary-90);
    position: fixed; left: auto; right: 1rem; bottom: 1rem;
}
.location .depth2.result.minimize .layer_head {
    gap: 2rem;
    border-bottom-color: transparent;
}
.location .depth2.result.minimize .layer_head .layer_tit {font-weight: 500; font-size: 1.5rem; color: var(--gray-0);}
.location .depth2.result.minimize .layer_head .btn_box {gap: 0.4rem;}
.location .depth2.result.minimize .layer_head .btn_box .resize {display: none;}
.location .depth2.result.minimize .layer_head .btn_box .mini {background-image: url(../img/ico_maxi.svg); background-size: 2rem 2rem;}
.location .depth2.result.minimize .layer_head .btn_box .layerClose {background-image: url(../img/ico_close2.svg);}
.location .depth2.result.minimize .layer_cont {display: none;}


@media (max-width : 768px) {
    .location .depth1 .scroll_box > .scrollY:first-child::-webkit-scrollbar-track {margin-bottom: 0;}

    /* 지역추천 결과 */
    .location .result_list .check_btn::before {width: 15%;}
    .location .result_list .level {width: 20%;}
    .location .result_list .percent {width: 15%;}

    /*  지목 */
    .location .depth2.category {
        width: calc(100% - 4rem);
        border: 1px solid var(--gray-30);
        border-radius: 1.5rem;
        background-color: var(--gray-0);
        left: 2rem; top: 50% !important;
        transform: translateY(-50%);
    }
    .location .depth2.category::before {content: "";
        width: 100vw; height: 100vh;
        background-color: transparent;
        background-color: rgba(0,0,0,0.4);
        position: absolute; left: -2rem; top: 50%; z-index: -1;
        transform: translateY(-50%);
    }
    .location .depth2.category .layer_head {
        border-radius: 1.5rem 1.5rem 0 0;
        background-color: var(--gray-0);
        position: relative; z-index: 1;
    }
    .location .depth2.category .layer_head .layerClose.back {display: none;}
    .location .depth2.category .layer_cont {
        border-radius: 0 0 1.5rem 1.5rem;
        background-color: var(--gray-0);
        position: relative; z-index: 1;
    }
    .location .depth2.category .layer_cont .scrollY {max-height: calc(100dvh - 20rem);}

    /* 입지추천 결과 */
    .location .depth2.result {
        width: 100%; height: 100%;
        transition: none;
    }
    .location .depth2.result .layer_head .btn_box .resize,
    .location .depth2.result .layer_head .btn_box .mini {display: none;}
    .location .depth2.result .scroll_box {padding: 1.6rem 2rem;}
    .location .depth2.result .scroll_box .scrollY {
        height: 100%;
        padding-bottom: 0;
        overflow-x: hidden;
    }
    .location .depth2.result .utils {
        flex-direction: column; align-items: flex-start; gap: 0.8rem;
        margin-bottom: 1.6rem;
    }
    .location .depth2.result .utils .desc {text-align: left;}
    .location .depth2.result .sort-wrap {display: none;}
    .location .depth2.result .tbl {min-width: 0;}

    /* 입지추천 결과 resize, minimize */
    .location .depth2.result.resize {height: 100%;}
    .location .depth2.result.minimize {
        width: 100%; height: 100%;
        background-color: var(--gray-0);
        position: absolute; left: 0; right: auto; top: 0; bottom: auto;
    }
    .location .depth2.result.minimize .layer_head {
        gap: 1.2rem;
        border-bottom-color: var(--gray-25);
    }
    .location .depth2.result.minimize .layer_head .layer_tit {font-weight: 600; font-size: 1.6rem; color: var(--gray-80);}
    .location .depth2.result.minimize .layer_head .btn_box .layerClose {background-image: url(../img/ico_close.svg);}
    .location .depth2.result.minimize .layer_cont {display: block;}
}

@media (max-width : 480px) {
    .location .depth2 .tab_menu + .tooltip .tooltip_box {left: -10rem;}

    /* 지역추천 설정 하위 리스트 */
    .location .settings_list .label .tooltip_box {left: -0.5rem;}

    /* 입지추천 결과 모바일 리스트 */
    .location .depth2.result .result_list .expand_wrap .tbl tbody th {width: 10rem;}
}





/* ------------------------------------------------------------------------- */
/* 4-4. 실거래가
/* ------------------------------------------------------------------------- */
.price .sorting_box {margin-bottom: 1.4rem;}
.price .sorting_box .tit {
    padding: 0.6rem 0 0.8rem 0;
    font-weight: 600; font-size: 1.5rem; line-height: 2rem; color: var(--gray-70);
}
.price .sorting_box .drop_btn {
    width: 100%; height: 4rem;
    padding: 0.8rem 3.4rem 0.8rem 1.5rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    font-size: 1.4rem; line-height: 2.2rem; text-align: left; color: var(--gray-80);
    background: var(--gray-0) url(../img/ico_select1.svg) no-repeat right 1.2rem center / 1.4rem 1.4rem;
    transition: border-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
}
.price .sorting_box .drop_btn.active {
    border-color: var(--primary-50);
    background-image: url(../img/ico_select2.svg);
}
.price .sorting_box .drop_menu {
    width: 100%;
    left: 0; top: 4.4rem;
}
.price .sorting_box .drop_menu .drop_list {width: 100%;}
.price .sorting_box .drop_menu .item_link {
    padding-top: 0.7rem; padding-bottom: 0.7rem;
    font-size: 1.4rem; line-height: 2rem;
}
.price .sorting_box .drop_menu .item_link::after {top: 50%; transform: translateY(-50%);}


/***** 실거래가 조회 결과 *****/
.price .depth2.result {
    width: calc(100vw - 40.6rem); height: 35rem;
    top: auto; bottom: 0;
    transition: height 0.5s ease-in-out, bottom 0.3s ease;
}
.price .depth2.result .layer_head .btn_box button {
    width: 2.4rem; height: 2.4rem;
    background-repeat: no-repeat; background-position: center; background-size: contain;
    visibility: visible;
}
.price .depth2.result .layer_head .btn_box .resize {background-image: url(../img/ico_resize_maxi.svg);}
.price .depth2.result .layer_head .btn_box .mini {background-image: url(../img/ico_mini.svg);}
.price .depth2.result .scroll_box {padding: 1.6rem 2rem 0.8rem 2rem;}
.price .depth2.result .scroll_box .scrollY {
    height: calc(100% + 0.8rem);
    padding-bottom: 0.8rem;
    overflow-x: auto;
}
.price .depth2.result .utils {
    margin-bottom: 1.2rem;
    transition: margin 0.2s ease;
}
.price .depth2.result .utils .total {
    flex-shrink: 0;
    padding-left: 1rem;
    font-weight: 500; font-size: 1.4rem; color: var(--primary-60);
    position: relative;
}
.price .depth2.result .utils .total::before {content: "";
    width: 0.4rem; height: 0.4rem;
    border-radius: 50%;
    background-color: var(--primary-60);
    position: absolute; left: 0; top: 0.6rem;
}
.price .depth2.result .utils .desc {text-align: right;}
.price .depth2.result .tbl {min-width: 75rem; }
.price .depth2.result .tbl table thead th {position: sticky; top: 0;}

/* 실거래가 조회 결과 resize, minimize */
.price .depth2.result.resize {height: 100%;}
.price .depth2.result.resize .layer_head .btn_box .resize {background-image: url(../img/ico_resize_mini.svg);}
.price .depth2.result.minimize {
    width: max-content; height: auto;
    border-color: var(--primary-90);
    background-color: var(--primary-90);
    position: fixed; left: auto; right: 1rem; bottom: 1rem;
}
.price .depth2.result.minimize .layer_head {
    gap: 2rem;
    border-bottom-color: transparent;
}
.price .depth2.result.minimize .layer_head .layer_tit {font-weight: 500; font-size: 1.5rem; color: var(--gray-0);}
.price .depth2.result.minimize .layer_head .btn_box {gap: 0.4rem;}
.price .depth2.result.minimize .layer_head .btn_box .resize {display: none;}
.price .depth2.result.minimize .layer_head .btn_box .mini {background-image: url(../img/ico_maxi.svg); background-size: 2rem 2rem;}
.price .depth2.result.minimize .layer_head .btn_box .layerClose {background-image: url(../img/ico_close2.svg);}
.price .depth2.result.minimize .layer_cont {display: none;}


@media (max-width : 768px) {
    .price .sorting_box .tit {font-size: 1.4rem; line-height: 1.8rem;}
    .price .result .tbl thead {display: none;}
    .price .result .tbl tr {
        display: flex; flex-direction: column;
        border-top: 2px solid var(--primary-90);
        margin-bottom: 2rem;
    }
    .price .result .tbl td {
        display: flex; align-items: center; justify-content: center;
        width: 100%; height: auto; min-height: 4rem;
        padding-left: calc(30% + 11px);
        border-right: 0;
        position: relative;
    }
    .price .result .tbl td::before {content: attr(data-thead);
        flex-shrink: 0;
        display: inline-flex; align-items: center; justify-content: center;
        width: 30%; height: 100%;
        font-weight: 500; color: var(--gray-80);
        background-color: var(--gray-10);
        position: absolute; left: 0; top: 0;
    }

    /* 실거래가 조회 결과 */
    .price .depth2.result {
        width: 100%; height: 100%;
        transition: none;
    }
    .price .depth2.result .layer_head .btn_box .resize,
    .price .depth2.result .layer_head .btn_box .mini {display: none;}
    .price .depth2.result .scroll_box {padding: 1.6rem 2rem 0 2rem;}
    .price .depth2.result .scroll_box .scrollY {
        height: 100%;
        padding-bottom: 1.6rem;
        margin-bottom: 0;
        overflow-x: hidden;
    }
    .price .depth2.result .scroll_box .scrollY::-webkit-scrollbar-track {margin-bottom: 0.6rem;}
    .price .depth2.result .utils {
        flex-direction: column; align-items: flex-start; gap: 0.8rem;
        margin-bottom: 1.6rem;
    }
    .price .depth2.result .utils .desc {text-align: left;}
    .price .depth2.result .tbl {min-width: 0;}

    /* 실거래가 조회 결과 resize, minimize */
    .price .depth2.result.resize {height: 100%;}
    .price .depth2.result.minimize {
        width: 100%; height: 100%;
        background-color: var(--gray-0);
        position: absolute; left: 0; right: auto; top: 0; bottom: auto;
    }
    .price .depth2.result.minimize .layer_head {
        gap: 1.2rem;
        border-bottom-color: var(--gray-25);
    }
    .price .depth2.result.minimize .layer_head .layer_tit {font-weight: 600; font-size: 1.6rem; color: var(--gray-80);}
    .price .depth2.result.minimize .layer_head .btn_box .layerClose {background-image: url(../img/ico_close.svg);}
    .price .depth2.result.minimize .layer_cont {display: block;}
}

@media (max-height : 1020px) {
    .price .sorting_box:last-child .drop_menu {top: auto; bottom: 4.4rem;}
}

@media (max-height : 940px) {
    .price .sorting_box:nth-last-child(2) .drop_menu {top: auto; bottom: 4.4rem;}
}

@media (max-width : 768px) and (max-height : 1020px) {
    .price .sorting_box:last-child .drop_menu {top: 4.4rem; bottom: auto;}
}

@media (max-width : 768px) and (max-height : 940px) {
    .price .sorting_box:nth-last-child(2) .drop_menu {top: 4.4rem; bottom: auto;}
}

@media (max-width : 768px) and (max-height : 900px) {
    .price .sorting_box:last-child .drop_menu {top: auto; bottom: 4.4rem;}
}

@media (max-width : 768px) and (max-height : 816px) {
    .price .sorting_box:nth-last-child(2) .drop_menu {top: auto; bottom: 4.4rem;}
}





/* ------------------------------------------------------------------------- */
/* 5. 관리기본계획
/* ------------------------------------------------------------------------- */
.mgmt #sch {left: 1rem;}
.mgmt .layer {left: 1rem;}

/***** 관리기본계획 패널 *****/
.mgmt .layer {
    display: block;
    height: auto;
    top: 6.4rem; bottom: auto;
}
.mgmt .layer_box.depth1 {
    display: block;
    width: 16rem; height: auto;
    background-color: var(--primary-90);
}
.mgmt .layer_box.depth1 .layer_tit {font-size: 1.5rem; color: var(--gray-0);}
.mgmt .layer_box.depth1 .layer_cont {display: none;}

.mgmt .layer_box.depth1 .layer_head .layerClose {display: none;}
.mgmt .layer_box.depth1 .layer_head .maxi {
    width: 2.4rem; height: 2.4rem;
    background: url(../img/ico_maxi.svg) no-repeat center / 1.8rem 1.8rem;
}
.mgmt .folding_btn {visibility: hidden;}

/* layer : active */
.mgmt .layer.active {
    height: calc(100% - 7.4rem);
    top: auto; bottom: 1rem;
}
.mgmt .layer.active .folding_btn {visibility: visible;}
.mgmt .layer_box.depth1.active {
    width: 32rem; height: 100%;
    background-color: var(--gray-0);
}
.mgmt .layer_box.depth1.active .layer_tit {font-size: 1.6rem; color: var(--gray-80);}
.mgmt .layer_box.depth1.active .layer_head .layerClose {display: block;}
.mgmt .layer_box.depth1.active .layer_head .maxi {display: none;}
.mgmt .layer_box.depth1.active .layer_cont {display: block;}

/* 관리기본계획 */
.mgmt .mgmt_box {margin-bottom: 2rem;}
.mgmt .mgmt_box:last-child {margin-bottom: 0;}
.mgmt .mgmt_tit {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1.2rem 0rem 1.2rem 0.4rem;
    border-bottom: 1px solid var(--gray-15);
}
.mgmt .mgmt_tit .tit {font-size: 1.6rem;}
.mgmt .mgmt_list {
    display: flex; flex-direction: column; gap: 0.2rem;
    padding: 0.8rem;
    border-radius: 0 0 5px 5px;
    background-color: var(--gray-10);
}
.mgmt .mgmt_list.scrollY {
    width: 100%;
    padding-bottom: 0.8rem !important;
}
.mgmt .mgmt_list.scrollY::-webkit-scrollbar {width: 0.6rem; height: 0.6rem;}
.mgmt .mgmt_list.scrollY::-webkit-scrollbar-track {margin: 0.2rem 0;}
.mgmt .mgmt_list.scrollY::-webkit-scrollbar-thumb {border: 0;}

.mgmt .mgmt_list li {
    display: flex; align-items: center; justify-content: space-between; gap: 4px;
    padding: 0.4rem 0.8rem;
    border: 1px solid transparent;
    border-radius: 0.6rem;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
.mgmt .mgmt_list li.active {
    border-color: #9CBFF9;
    background-color: #DFEBFE;
}
.mgmt .mgmt_list .check_btn {flex-shrink: 1;}
.mgmt .mgmt_list .check_btn input + span {
    line-height: 1.8rem; word-break: break-all;
    background-image: none;
}
.mgmt .mgmt_list .check_btn input + span::before {content: "";
    width: 2rem; height: 2rem;
    background: url(../img/ico_checkbox.svg) no-repeat center / contain;
    position: absolute; left: 0; top: 50%;
    transform: translateY(-50%);
}
.mgmt .mgmt_list .check_btn input:checked + span::before {background-image: url(../img/ico_checkbox_checked.svg);}
.mgmt .mgmt_list .btn_box {flex-shrink: 0; gap: 0;}
.mgmt .mgmt_list .btn_box button {
    width: 2rem; height: 2rem;
    background-repeat: no-repeat; background-position: center; background-size: 1.6rem 1.6rem;
}
.mgmt .mgmt_list .btn_box .edit {background-image: url(../img/ico_edit.svg);}
.mgmt .mgmt_list .btn_box .delete {background-image: url(../img/ico_delete.svg);}


/***** 레이어 업로드, 신규생성, 편집 *****/
.mgmt .layer_box.depth2 .layer_cont {overflow: visible;}
.mgmt .layer_box.depth2.upload,
.mgmt .layer_box.depth2.plan {height: auto;}
.mgmt .layer_box.depth2.upload .layer_head .layerClose:not(.back),
.mgmt .layer_box.depth2.plan .layer_head .layerClose:not(.back) {visibility: visible;}
.mgmt .layer_box.depth2.upload .layer_cont .scrollY {max-height: calc(100dvh - 28.8rem);}
.mgmt .layer_box.depth2.plan .layer_cont .scrollY {max-height: calc(100dvh - 24rem);}

/* 업로드 input */
.mgmt .upload_box {margin: 2rem 0 2.4rem 0;}
.mgmt .upload_box .info {
    display: block;
    margin-bottom: 0.8rem;
    font-size: 1.3rem; line-height: 1.2; text-align: right; color: var(--primary-60);
}
.mgmt .upload_file {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 12rem;
    padding: 2rem;
    border: 1px solid var(--gray-25);
    border-radius: 0.8rem;
    font-size: 1.4rem; line-height: 1.4; text-align: center; color: var(--gray-80);
    background-color: var(--gray-0);
    position: relative;
    overflow: hidden;
}
.mgmt .upload_file input[type="file"] {
    width: calc(100% + 8rem); height: 100%;
    position: absolute; right: 0; top: 0; z-index: 1;
    opacity: 0;
    cursor: pointer;
}
.mgmt .upload_file .desc {
    padding: 0.8rem 0 3.2rem 0;
    position: relative;
}
.mgmt .upload_file .desc::after {content: "";
    width: 2.4rem; height: 2.4rem;
    background: url(../img/ico_circlePlus.svg) no-repeat center / contain;
    position: absolute; left: calc(50% - 1.2rem); bottom: 0;
}

/* 정보 설정 */
.mgmt .info_box {margin-bottom: 2.4rem;}
.mgmt .info_box .tit {
    padding-left: 0.8rem;
    margin-bottom: 1.4rem;
    font-size: 1.6rem; line-height: 2rem;
    position: relative;
}
.mgmt .info_box .tit::before {content: "";
    width: 2px; height: 1.4rem;
    background-color: var(--primary-60);
    position: absolute; left: 0; top: 0.3rem;
}
.mgmt .info_list {display: flex; flex-direction: column; gap: 1rem;}
.mgmt .info_list > li {display: flex; align-items: center; justify-content: space-between;}
.mgmt .info_list .label {
    flex-shrink: 0;
    width: 9.2rem;
    font-weight: 600; font-size: 1.5rem; line-height: 1.5; color: var(--gray-70); letter-spacing: -0.3px;
}
.mgmt .info_list > li > *:not(.label, .switch_toggle) {width: calc(100% - 9.2rem);}
.mgmt .info_list .st {
    height: 4rem;
    padding-left: 1.5rem;
    font-size: 1.4rem; line-height: 1.8rem; text-overflow: ellipsis;
}
.mgmt .info_list .drop_btn {
    width: 100%; height: 4rem;
    padding: 1rem 3.4rem 1rem 1.5rem;
    border: 1px solid var(--gray-30);
    border-radius: 0.9rem;
    font-size: 1.4rem; line-height: 1.8rem; text-align: left; color: var(--gray-80);
    background: var(--gray-0) url(../img/ico_select1.svg) no-repeat right 1rem center / 1.4rem 1.4rem;
    transition: border-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
}
.mgmt .info_list .drop_btn:disabled {
    color: var(--gray-60);
    background-color: var(--gray-10); background-image: none;
}
.mgmt .info_list .drop_btn.active {
    border-color: var(--primary-50);
    background-image: url(../img/ico_select2.svg);
}
.mgmt .info_list .drop_btn .selected {display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.mgmt .info_list .drop_menu {
    right: 0; top: 4.4rem;
    box-shadow: var(--shadow-toggle);
}
.mgmt .info_list .drop_menu .drop_list {max-width: 27rem; max-height: 17rem;}
.mgmt .info_list .drop_menu .item_link {
    padding-top: 0.7rem; padding-bottom: 0.7rem;
    font-size: 1.4rem; line-height: 2rem;
}
.mgmt .info_list .flexCenter .it + .btn.sch {
    min-width: 4rem; height: 4rem;
    padding: 0;
    background-image: url(../img/ico_search1.svg); background-repeat: no-repeat;
    background-position: center; background-size: 1.8rem 1.8rem;
}
.mgmt .info_list .flexCenter .btn.small.rlmTools {flex-shrink: 1; width: 100%;}

/* 토글 */
.mgmt .info_list .switch_toggle {
    width: 4rem; height: 2.4rem;
    position: relative;
}
.mgmt .info_list .switch_toggle input {
    appearance: none; -webkit-appearance: none;
    width: 100%; height: 100%;
    border-radius: 3rem;
    position: absolute; left: 0; top: 0; z-index: 1;
    cursor: pointer;
}
.mgmt .info_list .switch_toggle .btn {
    width: 1.8rem; min-width: 0; height: 1.8rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--gray-0);
    position: absolute; left: 0.3rem; top: 0.3rem;
    cursor: pointer;
    transition: left 0.3s ease-out;
}
.mgmt .info_list .switch_toggle .bg {
    display: block;
    width: 100%; height: 100%;
    border-radius: 3rem;
    background-color: var(--gray-20);
    transition: background-color 0.3s ease-out;
}
.mgmt .info_list .switch_toggle input:checked + .btn {left: 1.9rem;}
.mgmt .info_list .switch_toggle input:checked ~ .bg {background-color: var(--primary-60);}

/* 관리기본계획 신규생성, 편집 */
.mgmt .layer_box.depth2.plan .info_box {margin-bottom: 1.6rem;}
.mgmt .layer_box.depth2.plan .drop_menu {width: 100%;}
.mgmt .layer_box.depth2.plan .drop_list {width: 100%;}

@media (max-width: 1600px) {
    .mgmt #controls {width: auto;}
    .mgmt #tools {top: 6rem;}
}

@media (max-width: 1280px) {
    .mgmt #controls {top: 1rem;}
    .mgmt #tools {top: 6rem;}
}

@media (max-width : 1024px) {
    .mgmt #sch .sch_btn.addr {border-top: 1px solid var(--gray-30); border-radius: 0.9rem;}
    .mgmt #sch .sch_btn.addr::before {display: none;}
}

@media (max-width : 768px) {
    /* layout */
    .mgmt #controls .current {bottom: 1rem;}
    .mgmt #tools .tools_btn.mobileOnly {bottom: 1rem;}
    .mgmt #tools .tools_btn.roadview {bottom: 5.8rem;}
    .mgmt #tools .zoom_box {bottom: 5.8rem;}
    .mgmt #sch {left: 0;}
    .mgmt .modal_wrap .tab_menu {padding: 1.2rem 0 0 0;}
    .mgmt .modal_wrap .tab_menu_box {display: none;}
    .mgmt .modal.addr .result_list {height: calc(100dvh - 20.6rem);}

    /* 패널 */
    .mgmt .layer {
        width: fit-content;
        top: 11.8rem;
    }
    .mgmt .layer_box.depth1 {border-radius: 1.5rem;}
    .mgmt .layer.active {
        width: 100%; height: 100%;
        left: 0; bottom: 0;
    }
    .mgmt .layer_box.depth1.active {
        width: 100%;
        border-radius: 0;
    }
}

@media (max-width : 480px) {
    .mgmt .modal.addr .result_list {height: calc(100dvh - 25.8rem);}
}





/* ------------------------------------------------------------------------- */
/* 6. 도움말
/* ------------------------------------------------------------------------- */
#help {
    width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.8);
    position: fixed; left: 0; top: 0; z-index: 1000;
}

#help [class*="help_"] {
    font-weight: 500; font-size: 1.5rem; line-height: 1.3; color: var(--gray-0);
    background-repeat: no-repeat; background-position: center; background-size: contain;
    position: absolute;
}

#help .txt_box {
    display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
    width: max-content;
    position: absolute;
}
#help .txt_box::before {content: "";
    background-repeat: no-repeat; background-position: center; background-size: contain;
    position: absolute;
}
#help .txt_box .tit {
    padding: 0.4rem 1rem;
    border-radius: 10rem;
    font-weight: 500; font-size: 1.4rem; line-height: 1.5; letter-spacing: 0;
    background-color: var(--primary-60);
}
#help .txt_box p {font-weight: 500; font-size: 1.5rem; line-height: 1.3; color: var(--gray-0);}
#help .txt_box p span {color: #79BEFF;}


/***** navigation *****/
.help_nav {
    width: 6.8rem; height: 29.2rem;
    background-image: url(../img/help_nav.png);
    position: absolute; left: 0.5rem; top: 5rem;
}
.help_nav .gis {
    flex-direction: row !important;
    left: 8.6rem; top: 11.5rem;
}
.help_nav .gis::before {
    width: 6.2rem; height: 5.5rem;
    background-image: url(../img/help_nav_line1.svg);
    left: -3.2rem; top: -5.8rem;
}
.help_nav .location {
    flex-direction: row !important;
    left: 8.6rem; top: 19.2rem;
}
.help_nav .location::before {
    width: 6.2rem; height: 5.5rem;
    background-image: url(../img/help_nav_line2.svg);
    left: -3.2rem; top: -5.8rem;
}
.help_nav .property {
    flex-direction: row !important;
    left: 8.6rem; top: 27rem;
}
.help_nav .property::before {
    width: 6.9rem; height: 6.9rem;
    background-image: url(../img/help_nav_line3.svg);
    left: -4.2rem; top: -7.2rem;
}
.help_nav .price {left: 8.6rem; top: 35rem;}
.help_nav .price::before {
    width: 5rem; height: 6.5rem;
    background-image: url(../img/help_nav_line4.svg);
    left: -5.6rem; top: -5.8rem;
}


/***** search *****/
.help_sch {
    width: 58.2rem; height: 5.6rem;
    background-image: url(../img/help_sch.png);
    position: absolute; left: 7.1rem; top: 5rem;
}
.help_sch .industry {left: 30.8rem; top: 8.8rem;}
.help_sch .industry::before {
    width: 6.4rem; height: 4.8rem;
    background-image: url(../img/help_sch_line1.svg);
    left: -7.2rem; top: -3rem;
}
.help_sch .addr {left: 46rem; top: 8.8rem;}
.help_sch .addr::before {
    width: 4rem; height: 3.2rem;
    background-image: url(../img/help_sch_line2.svg);
    left: -3rem; top: -3.4rem;
}


/***** controls *****/
.help_controls {
    width: 5.2rem; height: 5.2rem;
    right: 0.6rem; top: 5rem;
}
.help_btns {
    width: 78.2rem; height: 5.2rem;
    background-image: url(../img/help_btns_login.png);
    right: 27rem; top: 0;
}
.help_btns .complex {left: -6rem; top: 21rem;}
.help_btns .complex::before {
    width: 17rem; height: 16.2rem;
    background-image: url(../img/help_btns_line4.svg);
    right: -6.2rem; top: -16rem;
}
.help_btns .complex .tit {background-color: #2999DA !important;}
.help_btns .complex p span {color: #2999DA !important;}
.help_btns .disposal {left: 10rem; top: 9.4rem;}
.help_btns .disposal::before {
    width: 3.8rem; height: 3.4rem;
    background-image: url(../img/help_btns_line1.svg);
    left: 1.6rem; top: -4.3rem;
}
.help_btns .disposal .tit {background-color: #E26256 !important;}
.help_btns .disposal p span {color: #F87366 !important;}
.help_btns .research {left: 16rem; top: 21rem;}
.help_btns .research::before {
    width: 17rem; height: 16rem;
    background-image: url(../img/help_btns_line2.svg);
    right: -9.2rem; top: -16rem;
}
.help_btns .research .tit {background-color: #E2A220 !important;}
.help_btns .research p span {color: #FFC95C !important;}
.help_btns .my {left: 35rem; top: 9.4rem;}
.help_btns .my::before {
    width: 3.8rem; height: 3.4rem;
    background-image: url(../img/help_btns_line3.svg);
    left: 3.2rem; top: -4rem;
}
.help_btns .my .tit {background-color: #38A169 !important;}
.help_btns .my p span {color: #54CC8C !important;}
.help_btns .location {left: 40rem; top: 21rem;}
.help_btns .location::before {
    width: 17rem; height: 16.2rem;
    background-image: url(../img/help_btns_line4.svg);
    right: -6.6rem; top: -15.8rem;
}
.help_btns .location .tit {background-color: #E58B1D !important;}
.help_btns .location p span {color: #FFAD48 !important;}
.help_btns .factory {left: 59rem; top: 9.4rem;}
.help_btns .factory::before {
    width: 3.8rem; height: 3.4rem;
    background-image: url(../img/help_btns_line3.svg);
    right: 4rem; top: -4rem;
}
.help_btns .factory .tit {background-color: #4471D6 !important;}
.help_btns .factory p span {color: #7AA3FF !important;}

/* logout 일 경우 */
.help_controls.type2 .help_btns {
    width: 65.5rem;
    background-image: url(../img/help_btns_logout.png);
}
.help_controls.type2 .help_btns .complex {left: -1rem; top: 9.4rem;}
.help_controls.type2 .help_btns .complex::before {
    width: 3.8rem; height: 3.4rem;
    background-image: url(../img/help_btns_line3.svg);
    right: 6rem; top: -4rem;
}
.help_controls.type2 .help_btns .disposal {left: 2rem; top: 21rem;}
.help_controls.type2 .help_btns .disposal::before {
    width: 17rem; height: 16.2rem;
    background-image: url(../img/help_btns_line4.svg);
    left: auto; right: -11rem; top: -15.8rem;
}
.help_controls.type2 .help_btns .research {left: 22rem; top: 9.4rem;}
.help_controls.type2 .help_btns .research::before {
    width: 3.8rem; height: 3.4rem;
    background-image: url(../img/help_btns_line3.svg);
    right: 4rem; top: -4rem;
}
.help_controls.type2 .help_btns .location {left: 26rem;}
.help_controls.type2 .help_btns .factory {left: 45rem;}

/* location */
.help_location {
    width: 27.2rem; height: 5.2rem;
    background-image: url(../img/help_location.png);
    right: 0; top: 0;
}
.help_location .txt_box {
    align-items: flex-end !important;
    text-align: right;
    right: 18.8rem; top: 9.4rem;
}
.help_location .txt_box::before {
    width: 3.2rem; height: 4.3rem;
    background-image: url(../img/help_location_line.svg);
    right: -3rem; top: -4.4rem;
}


/***** tools *****/
.help_tools {
    width: 5.2rem; height: 56.2rem;
    background-image: url(../img/help_tools.png);
    right: 0.6rem; top: 10rem;
}
.help_tools .txt_box {
    align-items: flex-end !important;
    text-align: right;
}
.help_tools .type {right: 8.2rem; top: 15rem;}
.help_tools .type::before {
    width: 5.7rem; height: 11.4rem;
    background-image: url(../img/help_tools_line1.svg);
    right: -3rem; top: -12.1rem;
}
.help_tools .tools {right: 8.2rem; top: 26rem;}
.help_tools .tools::before {
    width: 5.5rem; height: 6.8rem;
    background-image: url(../img/help_tools_line2.svg);
    right: -4rem; top: -7.2rem;
}
.help_tools .addon {right: 8.2rem; top: 40rem;}
.help_tools .addon::before {
    width: 7.2rem; height: 6.4rem;
    background-image: url(../img/help_tools_line3.svg);
    right: -4.5rem; top: -6.8rem;
}
.help_tools .roadview {right: 8.2rem; top: 52.6rem;}
.help_tools .roadview::before {
    width: 7.2rem; height: 7.6rem;
    background-image: url(../img/help_roadview_line.svg);
    right: -4.5rem; top: -8rem;
    transform: rotate(6deg);
}
.help_tools .zoom {right: 8.2rem; top: 64rem;}
.help_tools .zoom::before {
    width: 8rem; height: 11.5rem;
    background-image: url(../img/help_zoom_line.svg);
    right: -7.3rem; top: -11.2rem;
}


/***** help *****/
.help_help {
    width: 6.8rem; height: 8.2rem;
    background-image: url(../img/help_help.png);
    position: absolute; left: 0.5rem; bottom: 0.6rem;
}
.help_help .txt_box {left: 8.6rem; bottom: 8rem;}
.help_help .txt_box::before {
    width: 6rem; height: 6.4rem;
    background-image: url(../img/help_help_line.svg);
    left: -6rem; bottom: -1.2rem;
}


/***** close *****/
.help_close {
    position: absolute; left: 50%; bottom: 4rem;
    transform: translateX(-50%);
}
.help_close span {
    display: flex; flex-direction: column; align-items: center; gap: 14px;
    font-weight: 400; font-size: 1.8rem; line-height: 1.5; color: var(--gray-0);
    position: relative;
}
.help_close span::before {content: "";
    width: 6.4rem; height: 6.4rem;
    border-radius: 1rem;
    border: 1px solid #9E9E9E;
    background-image: url(../img/ico_close2.svg); background-repeat: no-repeat;
    background-size: 3.6rem 3.6rem; background-position: center;
    transition: background-color 0.2s ease;
    box-sizing: border-box;
}

/* hover */
.help_close:hover span {text-decoration: underline; text-underline-offset: 4px;}
.help_close:hover span::before {background-color: rgba(255,255,255,0.15);}


/***** open *****/
#nav button.help {position: absolute; left: 0; bottom: 0;}
#nav button.help::before {display: none;}
#nav button.help span {background-image: url(../img/ico_help4.svg);}
#nav button.help.active span {background-image: url(../img/ico_help5.svg);}


@media (max-width : 1600px) {
    /* controls */
    .help_btns {right: 0;}
    .help_btns::before {content: "";
        width: 8rem; height: 11.5rem;
        background: url(../img/help_zoom_line.svg) no-repeat center / contain;
        position: absolute; left: 19rem; top: 2.2rem;
        transform: scaleX(-1) rotate(-85deg);
    }
    .help_btns .complex {left: 5rem; top: 12.4rem;}
    .help_btns .disposal {left: 23rem; top: 12.4rem;}
    .help_btns .research {left: 5rem; top: 24.4rem;}
    .help_btns .my {left: 23rem; top: 24.4rem;;}
    .help_btns .location {left: 5rem; top: 38.2rem;}
    .help_btns .factory {left: 23rem; top: 38.2rem;}
    .help_btns .txt_box::before {display: none;}

    /* logout 일 경우 */
    .help_controls.type2 .help_btns::before {left: 6rem;}
    .help_controls.type2 .help_btns .complex {left: -4rem; top: 12.4rem;}
    .help_controls.type2 .help_btns .disposal {left: 14rem; top: 12.4rem;}
    .help_controls.type2 .help_btns .research {left: -4rem; top: 24.4rem;}
    .help_controls.type2 .help_btns .location {left: 14rem; top: 24.4rem;}
    .help_controls.type2 .help_btns .factory {left: -4rem; top: 38.2rem;}

    /* location */
    .help_location {top: 5rem;}
    .help_location .txt_box {left: 4rem; right: auto; top: 7.4rem;}
    .help_location .txt_box::before {
        right: auto; left: 1rem; top: -3rem;
        transform: scaleX(-1);
    }

    /* tools */
    .help_tools {top: 15rem;}
    .help_tools .type {top: 16rem;}
    .help_tools .type::before {
        width: 4rem; height: 12.8rem;
        background-image: url(../img/help_tools_line4.svg);
        right: -3.2rem; top: -13.4rem;
    }
    .help_tools .tools {top: 27.4rem;}
    .help_tools .addon {top: 40rem;}
    .help_tools .roadview {top: 52.6rem;}
    .help_tools .zoom {top: 64rem;}

}

@media (max-width : 1400px) {
    #help,
    #nav button.help {display: none;}
}